1778692632
441d63ebbc39eba359c9061ece8482bd-phpdoc%3Afc09216096c9d9fb164e1d20ed3a0329-7288d8f3a8c2b3da502019a5867b8cd2
s:10244:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjIzOiJQcm9wZXJ0eUJ1aWxkZXJUZXN0LnBocCI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjE6e3M6Mzc6IlxwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnkiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozNzoiXHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6IkZhY3RvcnkiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MTp7czo1NzoiXHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxQcm9wZXJ0eUJ1aWxkZXJUZXN0IjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTU6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6MTp7czoxMDc6IlxwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcUHJvcGVydHlCdWlsZGVyVGVzdDo6dGVzdEJ1aWxkc1Byb3BlcnR5RWxlbWVudFdpdGhDb3JyZWN0QXR0cmlidXRlcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NTk3O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjYxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI0NDM7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxMDc6IlxwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcUHJvcGVydHlCdWlsZGVyVGVzdDo6dGVzdEJ1aWxkc1Byb3BlcnR5RWxlbWVudFdpdGhDb3JyZWN0QXR0cmlidXRlcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDY6InRlc3RCdWlsZHNQcm9wZXJ0eUVsZW1lbnRXaXRoQ29ycmVjdEF0dHJpYnV0ZXMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwB1c2VkVHJhaXRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTc6IlxwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcUHJvcGVydHlCdWlsZGVyVGVzdCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJQcm9wZXJ0eUJ1aWxkZXJUZXN0Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNzoiXFBIUFVuaXRcRnJhbWV3b3JrXFRlc3RDYXNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiVGVzdENhc2UiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcmVhZE9ubHkiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhdHRyaWJ1dGVzIjthOjE6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEF0dHJpYnV0ZSI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXR0cmlidXRlAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDE6IlxQSFBVbml0XEZyYW1ld29ya1xBdHRyaWJ1dGVzXENvdmVyc0NsYXNzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6IkNvdmVyc0NsYXNzIjt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXR0cmlidXRlAGFyZ3VtZW50cyI7YToxOntpOjA7Tzo0MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDYWxsQXJndW1lbnQiOjI6e3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENhbGxBcmd1bWVudAB2YWx1ZSI7czo2MDoiXHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxQcm9wZXJ0eUJ1aWxkZXI6OmNsYXNzIjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDYWxsQXJndW1lbnQAbmFtZSI7Tjt9fX19fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6IjcyODhkOGYzYThjMmIzZGE1MDIwMTlhNTg2N2I4Y2QyIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6MTAzOiJ2ZW5kb3IvcGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uL3Rlc3RzL3VuaXQvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL1BocC9GYWN0b3J5L1Byb3BlcnR5QnVpbGRlclRlc3QucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoyNDQ3OiI8P3BocAoKZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7CgpuYW1lc3BhY2UgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5OwoKdXNlIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja0ZhY3RvcnlJbnRlcmZhY2U7CnVzZSBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW47CnVzZSBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb247CnVzZSBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFN0cmF0ZWd5Q29udGFpbmVyOwp1c2UgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5Owp1c2UgUGhwUGFyc2VyXE5vZGVcU3RtdFxQcm9wZXJ0eSBhcyBQcm9wZXJ0eU5vZGU7CnVzZSBQaHBQYXJzZXJcTm9kZVxTdG10XFByb3BlcnR5UHJvcGVydHk7CnVzZSBQaHBQYXJzZXJcUHJldHR5UHJpbnRlcjsKdXNlIFBIUFVuaXRcRnJhbWV3b3JrXEF0dHJpYnV0ZXNcQ292ZXJzQ2xhc3M7CnVzZSBQSFBVbml0XEZyYW1ld29ya1xUZXN0Q2FzZTsKCiNbQ292ZXJzQ2xhc3MoUHJvcGVydHlCdWlsZGVyOjpjbGFzcyldCmNsYXNzIFByb3BlcnR5QnVpbGRlclRlc3QgZXh0ZW5kcyBUZXN0Q2FzZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEJ1aWxkc1Byb3BlcnR5RWxlbWVudFdpdGhDb3JyZWN0QXR0cmlidXRlcygpOiB2b2lkCiAgICB7CiAgICAgICAgJGZxc2VuID0gbmV3IEZxc2VuKCdcTXlDbGFzczo6JHByb3BlcnR5Jyk7CiAgICAgICAgJHZpc2liaWxpdHkgPSBuZXcgVmlzaWJpbGl0eShWaXNpYmlsaXR5OjpQVUJMSUNfKTsKICAgICAgICAkc3RhcnRMb2NhdGlvbiA9IG5ldyBMb2NhdGlvbigxMCk7CiAgICAgICAgJGVuZExvY2F0aW9uID0gbmV3IExvY2F0aW9uKDIwKTsKCiAgICAgICAgJGRvY0Jsb2NrRmFjdG9yeSA9ICR0aGlzLT5jcmVhdGVNb2NrKERvY0Jsb2NrRmFjdG9yeUludGVyZmFjZTo6Y2xhc3MpOwogICAgICAgICR2YWx1ZUNvbnZlcnRlciA9ICR0aGlzLT5jcmVhdGVNb2NrKFByZXR0eVByaW50ZXJcU3RhbmRhcmQ6OmNsYXNzKTsKICAgICAgICAkc3RyYXRlZ2llcyA9ICR0aGlzLT5jcmVhdGVNb2NrKFN0cmF0ZWd5Q29udGFpbmVyOjpjbGFzcyk7CiAgICAgICAgJHJlZHVjZXJzID0gW107CgogICAgICAgICRwcm9wMSA9IG5ldyBQcm9wZXJ0eVByb3BlcnR5KCdwcm9wMScpOwogICAgICAgICRwcm9wZXJ0eU5vZGUgPSBuZXcgUHJvcGVydHlOb2RlKDEsIFskcHJvcDFdKTsKICAgICAgICAkcHJvcGVydGllcyA9IG5ldyBQcm9wZXJ0eUl0ZXJhdG9yKCRwcm9wZXJ0eU5vZGUpOwoKICAgICAgICAkYnVpbGRlciA9IFByb3BlcnR5QnVpbGRlcjo6Y3JlYXRlKCR2YWx1ZUNvbnZlcnRlciwgJGRvY0Jsb2NrRmFjdG9yeSwgJHN0cmF0ZWdpZXMsICRyZWR1Y2Vycyk7CiAgICAgICAgJGJ1aWxkZXItPmZxc2VuKCRmcXNlbikKICAgICAgICAgICAgLT52aXNpYmlsaXR5KCRwcm9wZXJ0aWVzKQogICAgICAgICAgICAtPmRvY2Jsb2NrKCRwcm9wZXJ0aWVzLT5nZXREb2NDb21tZW50KCkpCiAgICAgICAgICAgIC0+ZGVmYXVsdCgkcHJvcGVydGllcy0+Z2V0RGVmYXVsdCgpKQogICAgICAgICAgICAtPnN0YXRpYyh0cnVlKQogICAgICAgICAgICAtPnN0YXJ0TG9jYXRpb24oJHN0YXJ0TG9jYXRpb24pCiAgICAgICAgICAgIC0+ZW5kTG9jYXRpb24oJGVuZExvY2F0aW9uKQogICAgICAgICAgICAtPnR5cGUoJHByb3BlcnRpZXMtPmdldFR5cGUoKSkKICAgICAgICAgICAgLT5yZWFkT25seSh0cnVlKQogICAgICAgICAgICAtPmhvb2tzKCRwcm9wZXJ0aWVzLT5nZXRIb29rcygpKTsKCiAgICAgICAgJGNvbnRleHQgPSBccGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XFRlc3RDYXNlOjpjcmVhdGVDb250ZXh0KCk7CiAgICAgICAgJHByb3BlcnR5ID0gJGJ1aWxkZXItPmJ1aWxkKCRjb250ZXh0KTsKCiAgICAgICAgJHRoaXMtPmFzc2VydFNhbWUoJGZxc2VuLCAkcHJvcGVydHktPmdldEZxc2VuKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRFcXVhbHMoJHZpc2liaWxpdHksICRwcm9wZXJ0eS0+Z2V0VmlzaWJpbGl0eSgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcHJvcGVydHktPmdldERvY0Jsb2NrKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnROdWxsKCRwcm9wZXJ0eS0+Z2V0RGVmYXVsdCgpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0VHJ1ZSgkcHJvcGVydHktPmlzU3RhdGljKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRzdGFydExvY2F0aW9uLCAkcHJvcGVydHktPmdldExvY2F0aW9uKCkpOwogICAgICAgICR0aGlzLT5hc3NlcnRTYW1lKCRlbmRMb2NhdGlvbiwgJHByb3BlcnR5LT5nZXRFbmRMb2NhdGlvbigpKTsKICAgICAgICAkdGhpcy0+YXNzZXJ0TnVsbCgkcHJvcGVydHktPmdldFR5cGUoKSk7CiAgICAgICAgJHRoaXMtPmFzc2VydFRydWUoJHByb3BlcnR5LT5pc1JlYWRPbmx5KCkpOwogICAgfQp9CiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";