1778692646
441d63ebbc39eba359c9061ece8482bd-phpdoc%3A58767676a7cd0c8b58f403ba14b2f191-fbee4bebbc6d094c4883ea61d09986f0
s:17548:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjMwOiJTZXJ2aWNlU3Vic2NyaWJlckludGVyZmFjZS5waHAiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YToxOntzOjI2OiJcU3ltZm9ueVxDb250cmFjdHNcU2VydmljZSI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI2OiJcU3ltZm9ueVxDb250cmFjdHNcU2VydmljZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6IlNlcnZpY2UiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YToxOntzOjUzOiJcU3ltZm9ueVxDb250cmFjdHNcU2VydmljZVxTZXJ2aWNlU3Vic2NyaWJlckludGVyZmFjZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxJbnRlcmZhY2VfIjo5OntzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxJbnRlcmZhY2VfAGNvbnN0YW50cyI7YTowOnt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcSW50ZXJmYWNlXwBtZXRob2RzIjthOjE6e3M6Nzg6IlxTeW1mb255XENvbnRyYWN0c1xTZXJ2aWNlXFNlcnZpY2VTdWJzY3JpYmVySW50ZXJmYWNlOjpnZXRTdWJzY3JpYmVkU2VydmljZXMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjYxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI2OTM7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6Mjc0Njt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjc4OiJcU3ltZm9ueVxDb250cmFjdHNcU2VydmljZVxTZXJ2aWNlU3Vic2NyaWJlckludGVyZmFjZTo6Z2V0U3Vic2NyaWJlZFNlcnZpY2VzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMToiZ2V0U3Vic2NyaWJlZFNlcnZpY2VzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTU0OiJSZXR1cm5zIGFuIGFycmF5IG9mIHNlcnZpY2UgdHlwZXMgKG9yIHtAc2VlIFN1YnNjcmliZWRTZXJ2aWNlfSBvYmplY3RzKSByZXF1aXJlZApieSBzdWNoIGluc3RhbmNlcywgb3B0aW9uYWxseSBrZXllZCBieSB0aGUgc2VydmljZSBuYW1lcyB1c2VkIGludGVybmFsbHkuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEwNTQ6IkZvciBtYW5kYXRvcnkgZGVwZW5kZW5jaWVzOgoKICogWydsb2dnZXInID0+ICdQc3JcTG9nXExvZ2dlckludGVyZmFjZSddIG1lYW5zIHRoZSBvYmplY3RzIHVzZSB0aGUgImxvZ2dlciIgbmFtZQogICBpbnRlcm5hbGx5IHRvIGZldGNoIGEgc2VydmljZSB3aGljaCBtdXN0IGltcGxlbWVudCBQc3JcTG9nXExvZ2dlckludGVyZmFjZS4KICogWydsb2dnZXJzJyA9PiAnUHNyXExvZ1xMb2dnZXJJbnRlcmZhY2VbXSddIG1lYW5zIHRoZSBvYmplY3RzIHVzZSB0aGUgImxvZ2dlcnMiIG5hbWUKICAgaW50ZXJuYWxseSB0byBmZXRjaCBhbiBpdGVyYWJsZSBvZiBQc3JcTG9nXExvZ2dlckludGVyZmFjZSBpbnN0YW5jZXMuCiAqIFsnUHNyXExvZ1xMb2dnZXJJbnRlcmZhY2UnXSBpcyBhIHNob3J0Y3V0IGZvcgogKiBbJ1BzclxMb2dcTG9nZ2VySW50ZXJmYWNlJyA9PiAnUHNyXExvZ1xMb2dnZXJJbnRlcmZhY2UnXQoKb3RoZXJ3aXNlOgoKICogWydsb2dnZXInID0+ICc/UHNyXExvZ1xMb2dnZXJJbnRlcmZhY2UnXSBkZW5vdGVzIGFuIG9wdGlvbmFsIGRlcGVuZGVuY3kKICogWydsb2dnZXJzJyA9PiAnP1BzclxMb2dcTG9nZ2VySW50ZXJmYWNlW10nXSBkZW5vdGVzIGFuIG9wdGlvbmFsIGl0ZXJhYmxlIGRlcGVuZGVuY3kKICogWyc/UHNyXExvZ1xMb2dnZXJJbnRlcmZhY2UnXSBpcyBhIHNob3J0Y3V0IGZvcgogKiBbJ1BzclxMb2dcTG9nZ2VySW50ZXJmYWNlJyA9PiAnP1BzclxMb2dcTG9nZ2VySW50ZXJmYWNlJ10KCmFkZGl0aW9uYWxseSwgYW4gYXJyYXkgb2YgJTEkcydzIGNhbiBiZSByZXR1cm5lZDoKCiAqIFtuZXcgU3Vic2NyaWJlZFNlcnZpY2UoJ2xvZ2dlcicsIFBzclxMb2dcTG9nZ2VySW50ZXJmYWNlOjpjbGFzcyldCiAqIFtuZXcgU3Vic2NyaWJlZFNlcnZpY2UodHlwZTogUHNyXExvZ1xMb2dnZXJJbnRlcmZhY2U6OmNsYXNzLCBudWxsYWJsZTogdHJ1ZSldCiAqIFtuZXcgU3Vic2NyaWJlZFNlcnZpY2UoJ2h0dHBfY2xpZW50JywgSHR0cENsaWVudEludGVyZmFjZTo6Y2xhc3MsIGF0dHJpYnV0ZXM6IG5ldyBUYXJnZXQoJ2dpdGh1YkFwaScpKV0iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YToxOntpOjA7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlIjozOntzOjc6IgAqAG5hbWUiO3M6Mzoic2VlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7TjtzOjk6IgAqAHJlZmVycyI7Tzo1NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuIjoxOntzOjYxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTQ6IlxTeW1mb255XENvbnRyYWN0c1xTZXJ2aWNlXEF0dHJpYnV0ZVxTdWJzY3JpYmVkU2VydmljZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE3OiJTdWJzY3JpYmVkU2VydmljZSI7fX19fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjYxOiJUaGUgcmVxdWlyZWQgc2VydmljZSB0eXBlcywgb3B0aW9uYWxseSBrZXllZCBieSBzZXJ2aWNlIG5hbWVzIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NDoiXFN5bWZvbnlcQ29udHJhY3RzXFNlcnZpY2VcQXR0cmlidXRlXFN1YnNjcmliZWRTZXJ2aWNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6IlN1YnNjcmliZWRTZXJ2aWNlIjt9fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MjU6IlN5bWZvbnlcQ29udHJhY3RzXFNlcnZpY2UiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjE6e3M6MTc6IlN1YnNjcmliZWRTZXJ2aWNlIjtzOjUzOiJTeW1mb255XENvbnRyYWN0c1xTZXJ2aWNlXEF0dHJpYnV0ZVxTdWJzY3JpYmVkU2VydmljZSI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MTtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEludGVyZmFjZV8AbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEludGVyZmFjZV8AZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjYyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEludGVyZmFjZV8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXFN5bWZvbnlcQ29udHJhY3RzXFNlcnZpY2VcU2VydmljZVN1YnNjcmliZXJJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNjoiU2VydmljZVN1YnNjcmliZXJJbnRlcmZhY2UiO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxJbnRlcmZhY2VfAHBhcmVudHMiO2E6MDp7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEludGVyZmFjZV8AZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjk3OiJBIFNlcnZpY2VTdWJzY3JpYmVyIGV4cG9zZXMgaXRzIGRlcGVuZGVuY2llcyB2aWEgdGhlIHN0YXRpYyB7QGxpbmsgZ2V0U3Vic2NyaWJlZFNlcnZpY2VzfSBtZXRob2QuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjYwOToiVGhlIGdldFN1YnNjcmliZWRTZXJ2aWNlcyBtZXRob2QgcmV0dXJucyBhbiBhcnJheSBvZiBzZXJ2aWNlIHR5cGVzIHJlcXVpcmVkIGJ5IHN1Y2ggaW5zdGFuY2VzLApvcHRpb25hbGx5IGtleWVkIGJ5IHRoZSBzZXJ2aWNlIG5hbWVzIHVzZWQgaW50ZXJuYWxseS4gU2VydmljZSB0eXBlcyB0aGF0IHN0YXJ0IHdpdGggYW4gaW50ZXJyb2dhdGlvbgptYXJrICI/IiBhcmUgb3B0aW9uYWwsIHdoaWxlIHRoZSBvdGhlciBvbmVzIGFyZSBtYW5kYXRvcnkgc2VydmljZSBkZXBlbmRlbmNpZXMuCgpUaGUgaW5qZWN0ZWQgc2VydmljZSBsb2NhdG9ycyBTSE9VTEQgTk9UIGFsbG93IGFjY2VzcyB0byBhbnkgb3RoZXIgc2VydmljZXMgbm90IHNwZWNpZmllZCBieSB0aGUgbWV0aG9kLgoKSXQgaXMgZXhwZWN0ZWQgdGhhdCBTZXJ2aWNlU3Vic2NyaWJlciBpbnN0YW5jZXMgY29uc3VtZSBQU1ItMTEtYmFzZWQgc2VydmljZSBsb2NhdG9ycyBpbnRlcm5hbGx5LgpUaGlzIGludGVyZmFjZSBkb2VzIG5vdCBkaWN0YXRlIGFueSBpbmplY3Rpb24gbWV0aG9kIGZvciB0aGVzZSBzZXJ2aWNlIGxvY2F0b3JzLCBhbHRob3VnaCBjb25zdHJ1Y3RvcgppbmplY3Rpb24gaXMgcmVjb21tZW5kZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvciI6NDp7czo3OiIAKgBuYW1lIjtzOjY6ImF1dGhvciI7czoxNDoiACoAZGVzY3JpcHRpb24iO047czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvcgBhdXRob3JOYW1lIjtzOjE0OiJOaWNvbGFzIEdyZWthcyI7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvcgBhdXRob3JFbWFpbCI7czoxMzoicEB0Y2h3b3JrLmNvbSI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6NzY7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxJbnRlcmZhY2VfAG1ldGFkYXRhIjthOjA6e31zOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxJbnRlcmZhY2VfAGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaGFzaCI7czozMjoiZmJlZTRiZWJiYzZkMDk0YzQ4ODNlYTYxZDA5OTg2ZjAiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo2MzoidmVuZG9yL3N5bWZvbnkvY29udHJhY3RzL1NlcnZpY2UvU2VydmljZVN1YnNjcmliZXJJbnRlcmZhY2UucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoyNzUwOiI8P3BocAoKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFN5bWZvbnkgcGFja2FnZS4KICoKICogKGMpIEZhYmllbiBQb3RlbmNpZXIgPGZhYmllbkBzeW1mb255LmNvbT4KICoKICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0UKICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuCiAqLwoKbmFtZXNwYWNlIFN5bWZvbnlcQ29udHJhY3RzXFNlcnZpY2U7Cgp1c2UgU3ltZm9ueVxDb250cmFjdHNcU2VydmljZVxBdHRyaWJ1dGVcU3Vic2NyaWJlZFNlcnZpY2U7CgovKioKICogQSBTZXJ2aWNlU3Vic2NyaWJlciBleHBvc2VzIGl0cyBkZXBlbmRlbmNpZXMgdmlhIHRoZSBzdGF0aWMge0BsaW5rIGdldFN1YnNjcmliZWRTZXJ2aWNlc30gbWV0aG9kLgogKgogKiBUaGUgZ2V0U3Vic2NyaWJlZFNlcnZpY2VzIG1ldGhvZCByZXR1cm5zIGFuIGFycmF5IG9mIHNlcnZpY2UgdHlwZXMgcmVxdWlyZWQgYnkgc3VjaCBpbnN0YW5jZXMsCiAqIG9wdGlvbmFsbHkga2V5ZWQgYnkgdGhlIHNlcnZpY2UgbmFtZXMgdXNlZCBpbnRlcm5hbGx5LiBTZXJ2aWNlIHR5cGVzIHRoYXQgc3RhcnQgd2l0aCBhbiBpbnRlcnJvZ2F0aW9uCiAqIG1hcmsgIj8iIGFyZSBvcHRpb25hbCwgd2hpbGUgdGhlIG90aGVyIG9uZXMgYXJlIG1hbmRhdG9yeSBzZXJ2aWNlIGRlcGVuZGVuY2llcy4KICoKICogVGhlIGluamVjdGVkIHNlcnZpY2UgbG9jYXRvcnMgU0hPVUxEIE5PVCBhbGxvdyBhY2Nlc3MgdG8gYW55IG90aGVyIHNlcnZpY2VzIG5vdCBzcGVjaWZpZWQgYnkgdGhlIG1ldGhvZC4KICoKICogSXQgaXMgZXhwZWN0ZWQgdGhhdCBTZXJ2aWNlU3Vic2NyaWJlciBpbnN0YW5jZXMgY29uc3VtZSBQU1ItMTEtYmFzZWQgc2VydmljZSBsb2NhdG9ycyBpbnRlcm5hbGx5LgogKiBUaGlzIGludGVyZmFjZSBkb2VzIG5vdCBkaWN0YXRlIGFueSBpbmplY3Rpb24gbWV0aG9kIGZvciB0aGVzZSBzZXJ2aWNlIGxvY2F0b3JzLCBhbHRob3VnaCBjb25zdHJ1Y3RvcgogKiBpbmplY3Rpb24gaXMgcmVjb21tZW5kZWQuCiAqCiAqIEBhdXRob3IgTmljb2xhcyBHcmVrYXMgPHBAdGNod29yay5jb20+CiAqLwppbnRlcmZhY2UgU2VydmljZVN1YnNjcmliZXJJbnRlcmZhY2UKewogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIGFycmF5IG9mIHNlcnZpY2UgdHlwZXMgKG9yIHtAc2VlIFN1YnNjcmliZWRTZXJ2aWNlfSBvYmplY3RzKSByZXF1aXJlZAogICAgICogYnkgc3VjaCBpbnN0YW5jZXMsIG9wdGlvbmFsbHkga2V5ZWQgYnkgdGhlIHNlcnZpY2UgbmFtZXMgdXNlZCBpbnRlcm5hbGx5LgogICAgICoKICAgICAqIEZvciBtYW5kYXRvcnkgZGVwZW5kZW5jaWVzOgogICAgICoKICAgICAqICAqIFsnbG9nZ2VyJyA9PiAnUHNyXExvZ1xMb2dnZXJJbnRlcmZhY2UnXSBtZWFucyB0aGUgb2JqZWN0cyB1c2UgdGhlICJsb2dnZXIiIG5hbWUKICAgICAqICAgIGludGVybmFsbHkgdG8gZmV0Y2ggYSBzZXJ2aWNlIHdoaWNoIG11c3QgaW1wbGVtZW50IFBzclxMb2dcTG9nZ2VySW50ZXJmYWNlLgogICAgICogICogWydsb2dnZXJzJyA9PiAnUHNyXExvZ1xMb2dnZXJJbnRlcmZhY2VbXSddIG1lYW5zIHRoZSBvYmplY3RzIHVzZSB0aGUgImxvZ2dlcnMiIG5hbWUKICAgICAqICAgIGludGVybmFsbHkgdG8gZmV0Y2ggYW4gaXRlcmFibGUgb2YgUHNyXExvZ1xMb2dnZXJJbnRlcmZhY2UgaW5zdGFuY2VzLgogICAgICogICogWydQc3JcTG9nXExvZ2dlckludGVyZmFjZSddIGlzIGEgc2hvcnRjdXQgZm9yCiAgICAgKiAgKiBbJ1BzclxMb2dcTG9nZ2VySW50ZXJmYWNlJyA9PiAnUHNyXExvZ1xMb2dnZXJJbnRlcmZhY2UnXQogICAgICoKICAgICAqIG90aGVyd2lzZToKICAgICAqCiAgICAgKiAgKiBbJ2xvZ2dlcicgPT4gJz9Qc3JcTG9nXExvZ2dlckludGVyZmFjZSddIGRlbm90ZXMgYW4gb3B0aW9uYWwgZGVwZW5kZW5jeQogICAgICogICogWydsb2dnZXJzJyA9PiAnP1BzclxMb2dcTG9nZ2VySW50ZXJmYWNlW10nXSBkZW5vdGVzIGFuIG9wdGlvbmFsIGl0ZXJhYmxlIGRlcGVuZGVuY3kKICAgICAqICAqIFsnP1BzclxMb2dcTG9nZ2VySW50ZXJmYWNlJ10gaXMgYSBzaG9ydGN1dCBmb3IKICAgICAqICAqIFsnUHNyXExvZ1xMb2dnZXJJbnRlcmZhY2UnID0+ICc/UHNyXExvZ1xMb2dnZXJJbnRlcmZhY2UnXQogICAgICoKICAgICAqIGFkZGl0aW9uYWxseSwgYW4gYXJyYXkgb2Yge0BzZWUgU3Vic2NyaWJlZFNlcnZpY2V9J3MgY2FuIGJlIHJldHVybmVkOgogICAgICoKICAgICAqICAqIFtuZXcgU3Vic2NyaWJlZFNlcnZpY2UoJ2xvZ2dlcicsIFBzclxMb2dcTG9nZ2VySW50ZXJmYWNlOjpjbGFzcyldCiAgICAgKiAgKiBbbmV3IFN1YnNjcmliZWRTZXJ2aWNlKHR5cGU6IFBzclxMb2dcTG9nZ2VySW50ZXJmYWNlOjpjbGFzcywgbnVsbGFibGU6IHRydWUpXQogICAgICogICogW25ldyBTdWJzY3JpYmVkU2VydmljZSgnaHR0cF9jbGllbnQnLCBIdHRwQ2xpZW50SW50ZXJmYWNlOjpjbGFzcywgYXR0cmlidXRlczogbmV3IFRhcmdldCgnZ2l0aHViQXBpJykpXQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nW118U3Vic2NyaWJlZFNlcnZpY2VbXSBUaGUgcmVxdWlyZWQgc2VydmljZSB0eXBlcywgb3B0aW9uYWxseSBrZXllZCBieSBzZXJ2aWNlIG5hbWVzCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0U3Vic2NyaWJlZFNlcnZpY2VzKCk6IGFycmF5Owp9CiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";