1778692650
441d63ebbc39eba359c9061ece8482bd-phpdoc%3A4cde7edfa53d3453cd0f66326767423c-6d27758c875098867d80072a882a61bf
s:75988:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjEzOiJYbWxEdW1wZXIucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MTp7czo0NToiXFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRHVtcGVyIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDU6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlciI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjY6IkR1bXBlciI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToxOntzOjU1OiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxEdW1wZXJcWG1sRHVtcGVyIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTU6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YToxOntzOjY2OiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxEdW1wZXJcWG1sRHVtcGVyOjokZG9jdW1lbnQiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjE0OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NjoiXFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRHVtcGVyXFhtbER1bXBlcjo6JGRvY3VtZW50IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiZG9jdW1lbnQiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxMjoiXERPTURvY3VtZW50IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6IkRPTURvY3VtZW50Ijt9fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAaG9va3MiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpcnR1YWwiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBtZXRhZGF0YSI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0aG9kcyI7YToxMDp7czo2MzoiXFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRHVtcGVyXFhtbER1bXBlcjo6ZHVtcCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Nzoib3B0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6MjoiW10iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MDp7fX1zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTM2Mzt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMTYwO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MzoiXFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRHVtcGVyXFhtbER1bXBlcjo6ZHVtcCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoiZHVtcCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQ1OiJEdW1wcyB0aGUgc2VydmljZSBjb250YWluZXIgYXMgYW4gWE1MIHN0cmluZy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6NDQ6IlN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRHVtcGVyIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YToxMjp7czo1OiJBbGlhcyI7czo0MzoiU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxBbGlhcyI7czoxNjoiQWJzdHJhY3RBcmd1bWVudCI7czo2MzoiU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxBcmd1bWVudFxBYnN0cmFjdEFyZ3VtZW50IjtzOjE2OiJJdGVyYXRvckFyZ3VtZW50IjtzOjYzOiJTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XEl0ZXJhdG9yQXJndW1lbnQiO3M6MjI6IlNlcnZpY2VDbG9zdXJlQXJndW1lbnQiO3M6Njk6IlN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cQXJndW1lbnRcU2VydmljZUNsb3N1cmVBcmd1bWVudCI7czoyMjoiU2VydmljZUxvY2F0b3JBcmd1bWVudCI7czo2OToiU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxBcmd1bWVudFxTZXJ2aWNlTG9jYXRvckFyZ3VtZW50IjtzOjIyOiJUYWdnZWRJdGVyYXRvckFyZ3VtZW50IjtzOjY5OiJTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XFRhZ2dlZEl0ZXJhdG9yQXJndW1lbnQiO3M6MTg6IkNvbnRhaW5lckludGVyZmFjZSI7czo1NjoiU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxDb250YWluZXJJbnRlcmZhY2UiO3M6MTA6IkRlZmluaXRpb24iO3M6NDg6IlN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRGVmaW5pdGlvbiI7czoxNjoiUnVudGltZUV4Y2VwdGlvbiI7czo2NDoiU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbiI7czo5OiJQYXJhbWV0ZXIiO3M6NDc6IlN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cUGFyYW1ldGVyIjtzOjk6IlJlZmVyZW5jZSI7czo0NzoiU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxSZWZlcmVuY2UiO3M6MTA6IkV4cHJlc3Npb24iO3M6NDc6IlN5bWZvbnlcQ29tcG9uZW50XEV4cHJlc3Npb25MYW5ndWFnZVxFeHByZXNzaW9uIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjcyOiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxEdW1wZXJcWG1sRHVtcGVyOjphZGRQYXJhbWV0ZXJzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjExOiJcRE9NRWxlbWVudCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJET01FbGVtZW50Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoicGFyZW50IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMTY3O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjczO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI2MjU7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo3MjoiXFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRHVtcGVyXFhtbER1bXBlcjo6YWRkUGFyYW1ldGVycygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTM6ImFkZFBhcmFtZXRlcnMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NzM6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxYbWxEdW1wZXI6OmFkZE1ldGhvZENhbGxzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToibWV0aG9kY2FsbHMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTE6IlxET01FbGVtZW50IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTA6IkRPTUVsZW1lbnQiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJwYXJlbnQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI2MzI7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzE5MTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjczOiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxEdW1wZXJcWG1sRHVtcGVyOjphZGRNZXRob2RDYWxscygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTQ6ImFkZE1ldGhvZENhbGxzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjY5OiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxEdW1wZXJcWG1sRHVtcGVyOjphZGRTZXJ2aWNlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ5OiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxEZWZpbml0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTA6IkRlZmluaXRpb24iO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMDoiZGVmaW5pdGlvbiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZSI6MTp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZQByZWFsVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoyOiJpZCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxMToiXERPTUVsZW1lbnQiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMDoiRE9NRWxlbWVudCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InBhcmVudCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzE5ODt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMzE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6OTQxNjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY5OiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxEdW1wZXJcWG1sRHVtcGVyOjphZGRTZXJ2aWNlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMDoiYWRkU2VydmljZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo3NDoiXFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRHVtcGVyXFhtbER1bXBlcjo6YWRkU2VydmljZUFsaWFzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjU6ImFsaWFzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ0OiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxBbGlhcyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjU6IkFsaWFzIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MjoiaWQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTE6IlxET01FbGVtZW50IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTA6IkRPTUVsZW1lbnQiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJwYXJlbnQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo5NDIzO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI1MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxMDI4NDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjc0OiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxEdW1wZXJcWG1sRHVtcGVyOjphZGRTZXJ2aWNlQWxpYXMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJhZGRTZXJ2aWNlQWxpYXMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NzA6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxYbWxEdW1wZXI6OmFkZFNlcnZpY2VzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjExOiJcRE9NRWxlbWVudCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJET01FbGVtZW50Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoicGFyZW50IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTAyOTE7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mjc1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjEwOTg2O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NzA6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxYbWxEdW1wZXI6OmFkZFNlcnZpY2VzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiYWRkU2VydmljZXMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6ODQ6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxYbWxEdW1wZXI6OmFkZFRhZ1JlY3Vyc2l2ZUF0dHJpYnV0ZXMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTE6IlxET01FbGVtZW50IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTA6IkRPTUVsZW1lbnQiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJwYXJlbnQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEwOiJhdHRyaWJ1dGVzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNzc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTA5OTM7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjkxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjExNTQ4O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6ODQ6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxYbWxEdW1wZXI6OmFkZFRhZ1JlY3Vyc2l2ZUF0dHJpYnV0ZXMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI1OiJhZGRUYWdSZWN1cnNpdmVBdHRyaWJ1dGVzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjc2OiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxEdW1wZXJcWG1sRHVtcGVyOjpjb252ZXJ0UGFyYW1ldGVycygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6NDp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTA6InBhcmFtZXRlcnMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoidHlwZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxMToiXERPTUVsZW1lbnQiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMDoiRE9NRWxlbWVudCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InBhcmVudCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTozO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMjoia2V5QXR0cmlidXRlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czo1OiIna2V5JyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YTowOnt9fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyOTM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTE1NTU7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mzg3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE3MDg0O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NzY6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxYbWxEdW1wZXI6OmNvbnZlcnRQYXJhbWV0ZXJzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiY29udmVydFBhcmFtZXRlcnMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NjU6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxYbWxEdW1wZXI6OmVzY2FwZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6OToiYXJndW1lbnRzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozOTI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTcxMzM7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDA2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE3NTMxO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjU6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxYbWxEdW1wZXI6OmVzY2FwZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NjoiZXNjYXBlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjE4OiJFc2NhcGVzIGFyZ3VtZW50cy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo3NjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo2NzoiXFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRHVtcGVyXFhtbER1bXBlcjo6cGhwVG9YbWwoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo1OiJ2YWx1ZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDEzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE3NjcyO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQzMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxODQ2MTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njc6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxYbWxEdW1wZXI6OnBocFRvWG1sKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJwaHBUb1htbCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjMyOiJDb252ZXJ0cyBwaHAgdHlwZXMgdG8geG1sIHR5cGVzLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVGhyb3dzIjozOntzOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozODoiV2hlbiB0cnlpbmcgdG8gZHVtcCBvYmplY3Qgb3IgcmVzb3VyY2UiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY1OiJcU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxFeGNlcHRpb25cUnVudGltZUV4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE2OiJSdW50aW1lRXhjZXB0aW9uIjt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjc2O3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0MzI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTU6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxYbWxEdW1wZXIiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo5OiJYbWxEdW1wZXIiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjUzOiJYbWxEdW1wZXIgZHVtcHMgYSBzZXJ2aWNlIGNvbnRhaW5lciBhcyBhbiBYTUwgc3RyaW5nLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToyOntpOjA7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yIjo0OntzOjc6IgAqAG5hbWUiO3M6NjoiYXV0aG9yIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7TjtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvck5hbWUiO3M6MTY6IkZhYmllbiBQb3RlbmNpZXIiO3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xBdXRob3IAYXV0aG9yRW1haWwiO3M6MTg6ImZhYmllbkBzeW1mb255LmNvbSI7fWk6MTtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xBdXRob3IiOjQ6e3M6NzoiACoAbmFtZSI7czo2OiJhdXRob3IiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xBdXRob3IAYXV0aG9yTmFtZSI7czoxMzoiTWFydGluIEhhc2/FiCI7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvcgBhdXRob3JFbWFpbCI7czoyMjoibWFydGluLmhhc29uQGdtYWlsLmNvbSI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6NzY7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcGFyZW50IjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXER1bXBlclxEdW1wZXIiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo2OiJEdW1wZXIiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcmVhZE9ubHkiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhdHRyaWJ1dGVzIjthOjA6e319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaGFzaCI7czozMjoiNmQyNzc1OGM4NzUwOTg4NjdkODAwNzJhODgyYTYxYmYiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo1NjoidmVuZG9yL3N5bWZvbnkvZGVwZW5kZW5jeS1pbmplY3Rpb24vRHVtcGVyL1htbER1bXBlci5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjE4NDY1OiI8P3BocAoKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFN5bWZvbnkgcGFja2FnZS4KICoKICogKGMpIEZhYmllbiBQb3RlbmNpZXIgPGZhYmllbkBzeW1mb255LmNvbT4KICoKICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0UKICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuCiAqLwoKbmFtZXNwYWNlIFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRHVtcGVyOwoKdXNlIFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cQWxpYXM7CnVzZSBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XEFic3RyYWN0QXJndW1lbnQ7CnVzZSBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XEl0ZXJhdG9yQXJndW1lbnQ7CnVzZSBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XFNlcnZpY2VDbG9zdXJlQXJndW1lbnQ7CnVzZSBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XFNlcnZpY2VMb2NhdG9yQXJndW1lbnQ7CnVzZSBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XFRhZ2dlZEl0ZXJhdG9yQXJndW1lbnQ7CnVzZSBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXENvbnRhaW5lckludGVyZmFjZTsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRGVmaW5pdGlvbjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cRXhjZXB0aW9uXFJ1bnRpbWVFeGNlcHRpb247CnVzZSBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXFBhcmFtZXRlcjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cUmVmZXJlbmNlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcRXhwcmVzc2lvbkxhbmd1YWdlXEV4cHJlc3Npb247CgovKioKICogWG1sRHVtcGVyIGR1bXBzIGEgc2VydmljZSBjb250YWluZXIgYXMgYW4gWE1MIHN0cmluZy4KICoKICogQGF1dGhvciBGYWJpZW4gUG90ZW5jaWVyIDxmYWJpZW5Ac3ltZm9ueS5jb20+CiAqIEBhdXRob3IgTWFydGluIEhhc2/FiCA8bWFydGluLmhhc29uQGdtYWlsLmNvbT4KICovCmNsYXNzIFhtbER1bXBlciBleHRlbmRzIER1bXBlcgp7CiAgICBwcml2YXRlIFxET01Eb2N1bWVudCAkZG9jdW1lbnQ7CgogICAgLyoqCiAgICAgKiBEdW1wcyB0aGUgc2VydmljZSBjb250YWluZXIgYXMgYW4gWE1MIHN0cmluZy4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGR1bXAoYXJyYXkgJG9wdGlvbnMgPSBbXSk6IHN0cmluZwogICAgewogICAgICAgICR0aGlzLT5kb2N1bWVudCA9IG5ldyBcRE9NRG9jdW1lbnQoJzEuMCcsICd1dGYtOCcpOwogICAgICAgICR0aGlzLT5kb2N1bWVudC0+Zm9ybWF0T3V0cHV0ID0gdHJ1ZTsKCiAgICAgICAgJGNvbnRhaW5lciA9ICR0aGlzLT5kb2N1bWVudC0+Y3JlYXRlRWxlbWVudE5TKCdodHRwOi8vc3ltZm9ueS5jb20vc2NoZW1hL2RpYy9zZXJ2aWNlcycsICdjb250YWluZXInKTsKICAgICAgICAkY29udGFpbmVyLT5zZXRBdHRyaWJ1dGUoJ3htbG5zOnhzaScsICdodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZScpOwogICAgICAgICRjb250YWluZXItPnNldEF0dHJpYnV0ZSgneHNpOnNjaGVtYUxvY2F0aW9uJywgJ2h0dHA6Ly9zeW1mb255LmNvbS9zY2hlbWEvZGljL3NlcnZpY2VzIGh0dHBzOi8vc3ltZm9ueS5jb20vc2NoZW1hL2RpYy9zZXJ2aWNlcy9zZXJ2aWNlcy0xLjAueHNkJyk7CgogICAgICAgICR0aGlzLT5hZGRQYXJhbWV0ZXJzKCRjb250YWluZXIpOwogICAgICAgICR0aGlzLT5hZGRTZXJ2aWNlcygkY29udGFpbmVyKTsKCiAgICAgICAgJHRoaXMtPmRvY3VtZW50LT5hcHBlbmRDaGlsZCgkY29udGFpbmVyKTsKICAgICAgICAkeG1sID0gJHRoaXMtPmRvY3VtZW50LT5zYXZlWE1MKCk7CiAgICAgICAgdW5zZXQoJHRoaXMtPmRvY3VtZW50KTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5jb250YWluZXItPnJlc29sdmVFbnZQbGFjZWhvbGRlcnMoJHhtbCk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBhZGRQYXJhbWV0ZXJzKFxET01FbGVtZW50ICRwYXJlbnQpOiB2b2lkCiAgICB7CiAgICAgICAgJGRhdGEgPSAkdGhpcy0+Y29udGFpbmVyLT5nZXRQYXJhbWV0ZXJCYWcoKS0+YWxsKCk7CiAgICAgICAgaWYgKCEkZGF0YSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmNvbnRhaW5lci0+aXNDb21waWxlZCgpKSB7CiAgICAgICAgICAgICRkYXRhID0gJHRoaXMtPmVzY2FwZSgkZGF0YSk7CiAgICAgICAgfQoKICAgICAgICAkcGFyYW1ldGVycyA9ICR0aGlzLT5kb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgncGFyYW1ldGVycycpOwogICAgICAgICRwYXJlbnQtPmFwcGVuZENoaWxkKCRwYXJhbWV0ZXJzKTsKICAgICAgICAkdGhpcy0+Y29udmVydFBhcmFtZXRlcnMoJGRhdGEsICdwYXJhbWV0ZXInLCAkcGFyYW1ldGVycyk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBhZGRNZXRob2RDYWxscyhhcnJheSAkbWV0aG9kY2FsbHMsIFxET01FbGVtZW50ICRwYXJlbnQpOiB2b2lkCiAgICB7CiAgICAgICAgZm9yZWFjaCAoJG1ldGhvZGNhbGxzIGFzICRtZXRob2RjYWxsKSB7CiAgICAgICAgICAgICRjYWxsID0gJHRoaXMtPmRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCdjYWxsJyk7CiAgICAgICAgICAgICRjYWxsLT5zZXRBdHRyaWJ1dGUoJ21ldGhvZCcsICRtZXRob2RjYWxsWzBdKTsKICAgICAgICAgICAgaWYgKFxjb3VudCgkbWV0aG9kY2FsbFsxXSkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5jb252ZXJ0UGFyYW1ldGVycygkbWV0aG9kY2FsbFsxXSwgJ2FyZ3VtZW50JywgJGNhbGwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkbWV0aG9kY2FsbFsyXSA/PyBmYWxzZSkgewogICAgICAgICAgICAgICAgJGNhbGwtPnNldEF0dHJpYnV0ZSgncmV0dXJucy1jbG9uZScsICd0cnVlJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHBhcmVudC0+YXBwZW5kQ2hpbGQoJGNhbGwpOwogICAgICAgIH0KICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGFkZFNlcnZpY2UoRGVmaW5pdGlvbiAkZGVmaW5pdGlvbiwgP3N0cmluZyAkaWQsIFxET01FbGVtZW50ICRwYXJlbnQpOiB2b2lkCiAgICB7CiAgICAgICAgJHNlcnZpY2UgPSAkdGhpcy0+ZG9jdW1lbnQtPmNyZWF0ZUVsZW1lbnQoJ3NlcnZpY2UnKTsKICAgICAgICBpZiAobnVsbCAhPT0gJGlkKSB7CiAgICAgICAgICAgICRzZXJ2aWNlLT5zZXRBdHRyaWJ1dGUoJ2lkJywgJGlkKTsKICAgICAgICB9CiAgICAgICAgaWYgKCRjbGFzcyA9ICRkZWZpbml0aW9uLT5nZXRDbGFzcygpKSB7CiAgICAgICAgICAgIGlmIChzdHJfc3RhcnRzX3dpdGgoJGNsYXNzLCAnXFwnKSkgewogICAgICAgICAgICAgICAgJGNsYXNzID0gc3Vic3RyKCRjbGFzcywgMSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRzZXJ2aWNlLT5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJGNsYXNzKTsKICAgICAgICB9CiAgICAgICAgaWYgKCEkZGVmaW5pdGlvbi0+aXNTaGFyZWQoKSkgewogICAgICAgICAgICAkc2VydmljZS0+c2V0QXR0cmlidXRlKCdzaGFyZWQnLCAnZmFsc2UnKTsKICAgICAgICB9CiAgICAgICAgaWYgKCRkZWZpbml0aW9uLT5pc1B1YmxpYygpKSB7CiAgICAgICAgICAgICRzZXJ2aWNlLT5zZXRBdHRyaWJ1dGUoJ3B1YmxpYycsICd0cnVlJyk7CiAgICAgICAgfQogICAgICAgIGlmICgkZGVmaW5pdGlvbi0+aXNTeW50aGV0aWMoKSkgewogICAgICAgICAgICAkc2VydmljZS0+c2V0QXR0cmlidXRlKCdzeW50aGV0aWMnLCAndHJ1ZScpOwogICAgICAgIH0KICAgICAgICBpZiAoJGRlZmluaXRpb24tPmlzTGF6eSgpKSB7CiAgICAgICAgICAgICRzZXJ2aWNlLT5zZXRBdHRyaWJ1dGUoJ2xhenknLCAndHJ1ZScpOwogICAgICAgIH0KICAgICAgICBpZiAobnVsbCAhPT0gJGRlY29yYXRlZFNlcnZpY2UgPSAkZGVmaW5pdGlvbi0+Z2V0RGVjb3JhdGVkU2VydmljZSgpKSB7CiAgICAgICAgICAgIFskZGVjb3JhdGVkLCAkcmVuYW1lZElkLCAkcHJpb3JpdHldID0gJGRlY29yYXRlZFNlcnZpY2U7CiAgICAgICAgICAgICRzZXJ2aWNlLT5zZXRBdHRyaWJ1dGUoJ2RlY29yYXRlcycsICRkZWNvcmF0ZWQpOwoKICAgICAgICAgICAgJGRlY29yYXRpb25PbkludmFsaWQgPSAkZGVjb3JhdGVkU2VydmljZVszXSA/PyBDb250YWluZXJJbnRlcmZhY2U6OkVYQ0VQVElPTl9PTl9JTlZBTElEX1JFRkVSRU5DRTsKICAgICAgICAgICAgaWYgKFxpbl9hcnJheSgkZGVjb3JhdGlvbk9uSW52YWxpZCwgW0NvbnRhaW5lckludGVyZmFjZTo6SUdOT1JFX09OX0lOVkFMSURfUkVGRVJFTkNFLCBDb250YWluZXJJbnRlcmZhY2U6Ok5VTExfT05fSU5WQUxJRF9SRUZFUkVOQ0VdLCB0cnVlKSkgewogICAgICAgICAgICAgICAgJGludmFsaWRCZWhhdmlvciA9IENvbnRhaW5lckludGVyZmFjZTo6TlVMTF9PTl9JTlZBTElEX1JFRkVSRU5DRSA9PT0gJGRlY29yYXRpb25PbkludmFsaWQgPyAnbnVsbCcgOiAnaWdub3JlJzsKICAgICAgICAgICAgICAgICRzZXJ2aWNlLT5zZXRBdHRyaWJ1dGUoJ2RlY29yYXRpb24tb24taW52YWxpZCcsICRpbnZhbGlkQmVoYXZpb3IpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChudWxsICE9PSAkcmVuYW1lZElkKSB7CiAgICAgICAgICAgICAgICAkc2VydmljZS0+c2V0QXR0cmlidXRlKCdkZWNvcmF0aW9uLWlubmVyLW5hbWUnLCAkcmVuYW1lZElkKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoMCAhPT0gJHByaW9yaXR5KSB7CiAgICAgICAgICAgICAgICAkc2VydmljZS0+c2V0QXR0cmlidXRlKCdkZWNvcmF0aW9uLXByaW9yaXR5JywgJHByaW9yaXR5KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRhZ3MgPSAkZGVmaW5pdGlvbi0+Z2V0VGFncygpOwogICAgICAgICR0YWdzWydjb250YWluZXIuZXJyb3InXSA9IGFycmF5X21hcChmbiAoJGUpID0+IFsnbWVzc2FnZScgPT4gJGVdLCAkZGVmaW5pdGlvbi0+Z2V0RXJyb3JzKCkpOwogICAgICAgIGZvcmVhY2ggKCR0YWdzIGFzICRuYW1lID0+ICR0YWdzKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCR0YWdzIGFzICRhdHRyaWJ1dGVzKSB7CiAgICAgICAgICAgICAgICAkdGFnID0gJHRoaXMtPmRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCd0YWcnKTsKCiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIHJlY3Vyc2l2ZSBhdHRyaWJ1dGVzCiAgICAgICAgICAgICAgICBpZiAoYXJyYXlfZmlsdGVyKCRhdHRyaWJ1dGVzLCBcaXNfYXJyYXkoLi4uKSkpIHsKICAgICAgICAgICAgICAgICAgICAkdGFnLT5zZXRBdHRyaWJ1dGUoJ25hbWUnLCAkbmFtZSk7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmFkZFRhZ1JlY3Vyc2l2ZUF0dHJpYnV0ZXMoJHRhZywgJGF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIVxhcnJheV9rZXlfZXhpc3RzKCduYW1lJywgJGF0dHJpYnV0ZXMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR0YWctPnNldEF0dHJpYnV0ZSgnbmFtZScsICRuYW1lKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkdGFnLT5hcHBlbmRDaGlsZCgkdGhpcy0+ZG9jdW1lbnQtPmNyZWF0ZVRleHROb2RlKCRuYW1lKSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRhdHRyaWJ1dGVzIGFzICRrZXkgPT4gJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR0YWctPnNldEF0dHJpYnV0ZSgka2V5LCAkdmFsdWUgPz8gJycpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRzZXJ2aWNlLT5hcHBlbmRDaGlsZCgkdGFnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCRkZWZpbml0aW9uLT5nZXRGaWxlKCkpIHsKICAgICAgICAgICAgJGZpbGUgPSAkdGhpcy0+ZG9jdW1lbnQtPmNyZWF0ZUVsZW1lbnQoJ2ZpbGUnKTsKICAgICAgICAgICAgJGZpbGUtPmFwcGVuZENoaWxkKCR0aGlzLT5kb2N1bWVudC0+Y3JlYXRlVGV4dE5vZGUoJGRlZmluaXRpb24tPmdldEZpbGUoKSkpOwogICAgICAgICAgICAkc2VydmljZS0+YXBwZW5kQ2hpbGQoJGZpbGUpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRwYXJhbWV0ZXJzID0gJGRlZmluaXRpb24tPmdldEFyZ3VtZW50cygpKSB7CiAgICAgICAgICAgICR0aGlzLT5jb252ZXJ0UGFyYW1ldGVycygkcGFyYW1ldGVycywgJ2FyZ3VtZW50JywgJHNlcnZpY2UpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRwYXJhbWV0ZXJzID0gJGRlZmluaXRpb24tPmdldFByb3BlcnRpZXMoKSkgewogICAgICAgICAgICAkdGhpcy0+Y29udmVydFBhcmFtZXRlcnMoJHBhcmFtZXRlcnMsICdwcm9wZXJ0eScsICRzZXJ2aWNlLCAnbmFtZScpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmFkZE1ldGhvZENhbGxzKCRkZWZpbml0aW9uLT5nZXRNZXRob2RDYWxscygpLCAkc2VydmljZSk7CgogICAgICAgIGlmICgkY2FsbGFibGUgPSAkZGVmaW5pdGlvbi0+Z2V0RmFjdG9yeSgpKSB7CiAgICAgICAgICAgIGlmIChcaXNfYXJyYXkoJGNhbGxhYmxlKSAmJiBbJ0Nsb3N1cmUnLCAnZnJvbUNhbGxhYmxlJ10gIT09ICRjYWxsYWJsZSAmJiAkZGVmaW5pdGlvbi0+Z2V0Q2xhc3MoKSA9PT0gJGNhbGxhYmxlWzBdKSB7CiAgICAgICAgICAgICAgICAkc2VydmljZS0+c2V0QXR0cmlidXRlKCdjb25zdHJ1Y3RvcicsICRjYWxsYWJsZVsxXSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZmFjdG9yeSA9ICR0aGlzLT5kb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnZmFjdG9yeScpOwoKICAgICAgICAgICAgICAgIGlmIChcaXNfYXJyYXkoJGNhbGxhYmxlKSAmJiAkY2FsbGFibGVbMF0gaW5zdGFuY2VvZiBEZWZpbml0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmFkZFNlcnZpY2UoJGNhbGxhYmxlWzBdLCBudWxsLCAkZmFjdG9yeSk7CiAgICAgICAgICAgICAgICAgICAgJGZhY3RvcnktPnNldEF0dHJpYnV0ZSgnbWV0aG9kJywgJGNhbGxhYmxlWzFdKTsKICAgICAgICAgICAgICAgIH0gZWxzZWlmIChcaXNfYXJyYXkoJGNhbGxhYmxlKSkgewogICAgICAgICAgICAgICAgICAgIGlmIChudWxsICE9PSAkY2FsbGFibGVbMF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGZhY3RvcnktPnNldEF0dHJpYnV0ZSgkY2FsbGFibGVbMF0gaW5zdGFuY2VvZiBSZWZlcmVuY2UgPyAnc2VydmljZScgOiAnY2xhc3MnLCAkY2FsbGFibGVbMF0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkZmFjdG9yeS0+c2V0QXR0cmlidXRlKCdtZXRob2QnLCAkY2FsbGFibGVbMV0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkZmFjdG9yeS0+c2V0QXR0cmlidXRlKCdmdW5jdGlvbicsICRjYWxsYWJsZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkc2VydmljZS0+YXBwZW5kQ2hpbGQoJGZhY3RvcnkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoJGRlZmluaXRpb24tPmlzRGVwcmVjYXRlZCgpKSB7CiAgICAgICAgICAgICRkZXByZWNhdGlvbiA9ICRkZWZpbml0aW9uLT5nZXREZXByZWNhdGlvbignJXNlcnZpY2VfaWQlJyk7CiAgICAgICAgICAgICRkZXByZWNhdGVkID0gJHRoaXMtPmRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCdkZXByZWNhdGVkJyk7CiAgICAgICAgICAgICRkZXByZWNhdGVkLT5hcHBlbmRDaGlsZCgkdGhpcy0+ZG9jdW1lbnQtPmNyZWF0ZVRleHROb2RlKCRkZWZpbml0aW9uLT5nZXREZXByZWNhdGlvbignJXNlcnZpY2VfaWQlJylbJ21lc3NhZ2UnXSkpOwogICAgICAgICAgICAkZGVwcmVjYXRlZC0+c2V0QXR0cmlidXRlKCdwYWNrYWdlJywgJGRlcHJlY2F0aW9uWydwYWNrYWdlJ10pOwogICAgICAgICAgICAkZGVwcmVjYXRlZC0+c2V0QXR0cmlidXRlKCd2ZXJzaW9uJywgJGRlcHJlY2F0aW9uWyd2ZXJzaW9uJ10pOwoKICAgICAgICAgICAgJHNlcnZpY2UtPmFwcGVuZENoaWxkKCRkZXByZWNhdGVkKTsKICAgICAgICB9CgogICAgICAgIGlmICgkZGVmaW5pdGlvbi0+aXNBdXRvd2lyZWQoKSkgewogICAgICAgICAgICAkc2VydmljZS0+c2V0QXR0cmlidXRlKCdhdXRvd2lyZScsICd0cnVlJyk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJGRlZmluaXRpb24tPmlzQXV0b2NvbmZpZ3VyZWQoKSkgewogICAgICAgICAgICAkc2VydmljZS0+c2V0QXR0cmlidXRlKCdhdXRvY29uZmlndXJlJywgJ3RydWUnKTsKICAgICAgICB9CgogICAgICAgIGlmICgkZGVmaW5pdGlvbi0+aXNBYnN0cmFjdCgpKSB7CiAgICAgICAgICAgICRzZXJ2aWNlLT5zZXRBdHRyaWJ1dGUoJ2Fic3RyYWN0JywgJ3RydWUnKTsKICAgICAgICB9CgogICAgICAgIGlmICgkY2FsbGFibGUgPSAkZGVmaW5pdGlvbi0+Z2V0Q29uZmlndXJhdG9yKCkpIHsKICAgICAgICAgICAgJGNvbmZpZ3VyYXRvciA9ICR0aGlzLT5kb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnY29uZmlndXJhdG9yJyk7CgogICAgICAgICAgICBpZiAoXGlzX2FycmF5KCRjYWxsYWJsZSkgJiYgJGNhbGxhYmxlWzBdIGluc3RhbmNlb2YgRGVmaW5pdGlvbikgewogICAgICAgICAgICAgICAgJHRoaXMtPmFkZFNlcnZpY2UoJGNhbGxhYmxlWzBdLCBudWxsLCAkY29uZmlndXJhdG9yKTsKICAgICAgICAgICAgICAgICRjb25maWd1cmF0b3ItPnNldEF0dHJpYnV0ZSgnbWV0aG9kJywgJGNhbGxhYmxlWzFdKTsKICAgICAgICAgICAgfSBlbHNlaWYgKFxpc19hcnJheSgkY2FsbGFibGUpKSB7CiAgICAgICAgICAgICAgICAkY29uZmlndXJhdG9yLT5zZXRBdHRyaWJ1dGUoJGNhbGxhYmxlWzBdIGluc3RhbmNlb2YgUmVmZXJlbmNlID8gJ3NlcnZpY2UnIDogJ2NsYXNzJywgJGNhbGxhYmxlWzBdKTsKICAgICAgICAgICAgICAgICRjb25maWd1cmF0b3ItPnNldEF0dHJpYnV0ZSgnbWV0aG9kJywgJGNhbGxhYmxlWzFdKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRjb25maWd1cmF0b3ItPnNldEF0dHJpYnV0ZSgnZnVuY3Rpb24nLCAkY2FsbGFibGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRzZXJ2aWNlLT5hcHBlbmRDaGlsZCgkY29uZmlndXJhdG9yKTsKICAgICAgICB9CgogICAgICAgICRwYXJlbnQtPmFwcGVuZENoaWxkKCRzZXJ2aWNlKTsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGFkZFNlcnZpY2VBbGlhcyhzdHJpbmcgJGFsaWFzLCBBbGlhcyAkaWQsIFxET01FbGVtZW50ICRwYXJlbnQpOiB2b2lkCiAgICB7CiAgICAgICAgJHNlcnZpY2UgPSAkdGhpcy0+ZG9jdW1lbnQtPmNyZWF0ZUVsZW1lbnQoJ3NlcnZpY2UnKTsKICAgICAgICAkc2VydmljZS0+c2V0QXR0cmlidXRlKCdpZCcsICRhbGlhcyk7CiAgICAgICAgJHNlcnZpY2UtPnNldEF0dHJpYnV0ZSgnYWxpYXMnLCAkaWQpOwogICAgICAgIGlmICgkaWQtPmlzUHVibGljKCkpIHsKICAgICAgICAgICAgJHNlcnZpY2UtPnNldEF0dHJpYnV0ZSgncHVibGljJywgJ3RydWUnKTsKICAgICAgICB9CgogICAgICAgIGlmICgkaWQtPmlzRGVwcmVjYXRlZCgpKSB7CiAgICAgICAgICAgICRkZXByZWNhdGlvbiA9ICRpZC0+Z2V0RGVwcmVjYXRpb24oJyVhbGlhc19pZCUnKTsKICAgICAgICAgICAgJGRlcHJlY2F0ZWQgPSAkdGhpcy0+ZG9jdW1lbnQtPmNyZWF0ZUVsZW1lbnQoJ2RlcHJlY2F0ZWQnKTsKICAgICAgICAgICAgJGRlcHJlY2F0ZWQtPmFwcGVuZENoaWxkKCR0aGlzLT5kb2N1bWVudC0+Y3JlYXRlVGV4dE5vZGUoJGRlcHJlY2F0aW9uWydtZXNzYWdlJ10pKTsKICAgICAgICAgICAgJGRlcHJlY2F0ZWQtPnNldEF0dHJpYnV0ZSgncGFja2FnZScsICRkZXByZWNhdGlvblsncGFja2FnZSddKTsKICAgICAgICAgICAgJGRlcHJlY2F0ZWQtPnNldEF0dHJpYnV0ZSgndmVyc2lvbicsICRkZXByZWNhdGlvblsndmVyc2lvbiddKTsKCiAgICAgICAgICAgICRzZXJ2aWNlLT5hcHBlbmRDaGlsZCgkZGVwcmVjYXRlZCk7CiAgICAgICAgfQoKICAgICAgICAkcGFyZW50LT5hcHBlbmRDaGlsZCgkc2VydmljZSk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBhZGRTZXJ2aWNlcyhcRE9NRWxlbWVudCAkcGFyZW50KTogdm9pZAogICAgewogICAgICAgICRkZWZpbml0aW9ucyA9ICR0aGlzLT5jb250YWluZXItPmdldERlZmluaXRpb25zKCk7CiAgICAgICAgaWYgKCEkZGVmaW5pdGlvbnMpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgJHNlcnZpY2VzID0gJHRoaXMtPmRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCdzZXJ2aWNlcycpOwogICAgICAgIGZvcmVhY2ggKCRkZWZpbml0aW9ucyBhcyAkaWQgPT4gJGRlZmluaXRpb24pIHsKICAgICAgICAgICAgJHRoaXMtPmFkZFNlcnZpY2UoJGRlZmluaXRpb24sICRpZCwgJHNlcnZpY2VzKTsKICAgICAgICB9CgogICAgICAgICRhbGlhc2VzID0gJHRoaXMtPmNvbnRhaW5lci0+Z2V0QWxpYXNlcygpOwogICAgICAgIGZvcmVhY2ggKCRhbGlhc2VzIGFzICRhbGlhcyA9PiAkaWQpIHsKICAgICAgICAgICAgd2hpbGUgKGlzc2V0KCRhbGlhc2VzWyhzdHJpbmcpICRpZF0pKSB7CiAgICAgICAgICAgICAgICAkaWQgPSAkYWxpYXNlc1soc3RyaW5nKSAkaWRdOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR0aGlzLT5hZGRTZXJ2aWNlQWxpYXMoJGFsaWFzLCAkaWQsICRzZXJ2aWNlcyk7CiAgICAgICAgfQogICAgICAgICRwYXJlbnQtPmFwcGVuZENoaWxkKCRzZXJ2aWNlcyk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBhZGRUYWdSZWN1cnNpdmVBdHRyaWJ1dGVzKFxET01FbGVtZW50ICRwYXJlbnQsIGFycmF5ICRhdHRyaWJ1dGVzKTogdm9pZAogICAgewogICAgICAgIGZvcmVhY2ggKCRhdHRyaWJ1dGVzIGFzICRuYW1lID0+ICR2YWx1ZSkgewogICAgICAgICAgICAkYXR0cmlidXRlID0gJHRoaXMtPmRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCdhdHRyaWJ1dGUnKTsKICAgICAgICAgICAgJGF0dHJpYnV0ZS0+c2V0QXR0cmlidXRlKCduYW1lJywgJG5hbWUpOwoKICAgICAgICAgICAgaWYgKFxpc19hcnJheSgkdmFsdWUpKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+YWRkVGFnUmVjdXJzaXZlQXR0cmlidXRlcygkYXR0cmlidXRlLCAkdmFsdWUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGF0dHJpYnV0ZS0+YXBwZW5kQ2hpbGQoJHRoaXMtPmRvY3VtZW50LT5jcmVhdGVUZXh0Tm9kZSgkdmFsdWUpKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHBhcmVudC0+YXBwZW5kQ2hpbGQoJGF0dHJpYnV0ZSk7CiAgICAgICAgfQogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gY29udmVydFBhcmFtZXRlcnMoYXJyYXkgJHBhcmFtZXRlcnMsIHN0cmluZyAkdHlwZSwgXERPTUVsZW1lbnQgJHBhcmVudCwgc3RyaW5nICRrZXlBdHRyaWJ1dGUgPSAna2V5Jyk6IHZvaWQKICAgIHsKICAgICAgICAkd2l0aEtleXMgPSAhYXJyYXlfaXNfbGlzdCgkcGFyYW1ldGVycyk7CiAgICAgICAgZm9yZWFjaCAoJHBhcmFtZXRlcnMgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgJGVsZW1lbnQgPSAkdGhpcy0+ZG9jdW1lbnQtPmNyZWF0ZUVsZW1lbnQoJHR5cGUpOwogICAgICAgICAgICBpZiAoJHdpdGhLZXlzKSB7CiAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCRrZXlBdHRyaWJ1dGUsICRrZXkpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoXGlzX2FycmF5KCR0YWcgPSAkdmFsdWUpKSB7CiAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCd0eXBlJywgJ2NvbGxlY3Rpb24nKTsKICAgICAgICAgICAgICAgICR0aGlzLT5jb252ZXJ0UGFyYW1ldGVycygkdmFsdWUsICR0eXBlLCAkZWxlbWVudCwgJ2tleScpOwogICAgICAgICAgICB9IGVsc2VpZiAoJHZhbHVlIGluc3RhbmNlb2YgVGFnZ2VkSXRlcmF0b3JBcmd1bWVudCB8fCAoJHZhbHVlIGluc3RhbmNlb2YgU2VydmljZUxvY2F0b3JBcmd1bWVudCAmJiAkdGFnID0gJHZhbHVlLT5nZXRUYWdnZWRJdGVyYXRvckFyZ3VtZW50KCkpKSB7CiAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCd0eXBlJywgJHZhbHVlIGluc3RhbmNlb2YgVGFnZ2VkSXRlcmF0b3JBcmd1bWVudCA/ICd0YWdnZWRfaXRlcmF0b3InIDogJ3RhZ2dlZF9sb2NhdG9yJyk7CiAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCd0YWcnLCAkdGFnLT5nZXRUYWcoKSk7CgogICAgICAgICAgICAgICAgaWYgKG51bGwgIT09ICR0YWctPmdldEluZGV4QXR0cmlidXRlKCkpIHsKICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCdpbmRleC1ieScsICR0YWctPmdldEluZGV4QXR0cmlidXRlKCkpOwoKICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCAhPT0gJHRhZy0+Z2V0RGVmYXVsdEluZGV4TWV0aG9kKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnZGVmYXVsdC1pbmRleC1tZXRob2QnLCAkdGFnLT5nZXREZWZhdWx0SW5kZXhNZXRob2QoKSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmIChudWxsICE9PSAkdGFnLT5nZXREZWZhdWx0UHJpb3JpdHlNZXRob2QoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCdkZWZhdWx0LXByaW9yaXR5LW1ldGhvZCcsICR0YWctPmdldERlZmF1bHRQcmlvcml0eU1ldGhvZCgpKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoJGV4Y2x1ZGVzID0gJHRhZy0+Z2V0RXhjbHVkZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKDEgPT09IFxjb3VudCgkZXhjbHVkZXMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ2V4Y2x1ZGUnLCAkZXhjbHVkZXNbMF0pOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRleGNsdWRlcyBhcyAkZXhjbHVkZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQtPmFwcGVuZENoaWxkKCR0aGlzLT5kb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnZXhjbHVkZScsICRleGNsdWRlKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoISR0YWctPmV4Y2x1ZGVTZWxmKCkpIHsKICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCdleGNsdWRlLXNlbGYnLCAnZmFsc2UnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlaWYgKCR2YWx1ZSBpbnN0YW5jZW9mIEl0ZXJhdG9yQXJndW1lbnQpIHsKICAgICAgICAgICAgICAgICRlbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaXRlcmF0b3InKTsKICAgICAgICAgICAgICAgICR0aGlzLT5jb252ZXJ0UGFyYW1ldGVycygkdmFsdWUtPmdldFZhbHVlcygpLCAkdHlwZSwgJGVsZW1lbnQsICdrZXknKTsKICAgICAgICAgICAgfSBlbHNlaWYgKCR2YWx1ZSBpbnN0YW5jZW9mIFNlcnZpY2VMb2NhdG9yQXJndW1lbnQpIHsKICAgICAgICAgICAgICAgICRlbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnc2VydmljZV9sb2NhdG9yJyk7CiAgICAgICAgICAgICAgICAkdGhpcy0+Y29udmVydFBhcmFtZXRlcnMoJHZhbHVlLT5nZXRWYWx1ZXMoKSwgJHR5cGUsICRlbGVtZW50LCAna2V5Jyk7CiAgICAgICAgICAgIH0gZWxzZWlmICgkdmFsdWUgaW5zdGFuY2VvZiBTZXJ2aWNlQ2xvc3VyZUFyZ3VtZW50ICYmICEkdmFsdWUtPmdldFZhbHVlcygpWzBdIGluc3RhbmNlb2YgUmVmZXJlbmNlKSB7CiAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCd0eXBlJywgJ3NlcnZpY2VfY2xvc3VyZScpOwogICAgICAgICAgICAgICAgJHRoaXMtPmNvbnZlcnRQYXJhbWV0ZXJzKCR2YWx1ZS0+Z2V0VmFsdWVzKCksICR0eXBlLCAkZWxlbWVudCwgJ2tleScpOwogICAgICAgICAgICB9IGVsc2VpZiAoJHZhbHVlIGluc3RhbmNlb2YgUmVmZXJlbmNlIHx8ICR2YWx1ZSBpbnN0YW5jZW9mIFNlcnZpY2VDbG9zdXJlQXJndW1lbnQpIHsKICAgICAgICAgICAgICAgICRlbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnc2VydmljZScpOwogICAgICAgICAgICAgICAgaWYgKCR2YWx1ZSBpbnN0YW5jZW9mIFNlcnZpY2VDbG9zdXJlQXJndW1lbnQpIHsKICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCd0eXBlJywgJ3NlcnZpY2VfY2xvc3VyZScpOwogICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9ICR2YWx1ZS0+Z2V0VmFsdWVzKClbMF07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCdpZCcsIChzdHJpbmcpICR2YWx1ZSk7CiAgICAgICAgICAgICAgICAkYmVoYXZpb3IgPSAkdmFsdWUtPmdldEludmFsaWRCZWhhdmlvcigpOwogICAgICAgICAgICAgICAgaWYgKENvbnRhaW5lckludGVyZmFjZTo6TlVMTF9PTl9JTlZBTElEX1JFRkVSRU5DRSA9PSAkYmVoYXZpb3IpIHsKICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCdvbi1pbnZhbGlkJywgJ251bGwnKTsKICAgICAgICAgICAgICAgIH0gZWxzZWlmIChDb250YWluZXJJbnRlcmZhY2U6OklHTk9SRV9PTl9JTlZBTElEX1JFRkVSRU5DRSA9PSAkYmVoYXZpb3IpIHsKICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCdvbi1pbnZhbGlkJywgJ2lnbm9yZScpOwogICAgICAgICAgICAgICAgfSBlbHNlaWYgKENvbnRhaW5lckludGVyZmFjZTo6SUdOT1JFX09OX1VOSU5JVElBTElaRURfUkVGRVJFTkNFID09ICRiZWhhdmlvcikgewogICAgICAgICAgICAgICAgICAgICRlbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ29uLWludmFsaWQnLCAnaWdub3JlX3VuaW5pdGlhbGl6ZWQnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlaWYgKCR2YWx1ZSBpbnN0YW5jZW9mIERlZmluaXRpb24pIHsKICAgICAgICAgICAgICAgICRlbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnc2VydmljZScpOwogICAgICAgICAgICAgICAgJHRoaXMtPmFkZFNlcnZpY2UoJHZhbHVlLCBudWxsLCAkZWxlbWVudCk7CiAgICAgICAgICAgIH0gZWxzZWlmICgkdmFsdWUgaW5zdGFuY2VvZiBFeHByZXNzaW9uKSB7CiAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCd0eXBlJywgJ2V4cHJlc3Npb24nKTsKICAgICAgICAgICAgICAgICR0ZXh0ID0gJHRoaXMtPmRvY3VtZW50LT5jcmVhdGVUZXh0Tm9kZShzZWxmOjpwaHBUb1htbCgoc3RyaW5nKSAkdmFsdWUpKTsKICAgICAgICAgICAgICAgICRlbGVtZW50LT5hcHBlbmRDaGlsZCgkdGV4dCk7CiAgICAgICAgICAgIH0gZWxzZWlmIChcaXNfc3RyaW5nKCR2YWx1ZSkgJiYgIXByZWdfbWF0Y2goJy9eW15ceDAwLVx4MDhceDBCXHgwQ1x4MEUtXHgxRlx4N0ZdKiskL3UnLCAkdmFsdWUpKSB7CiAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCd0eXBlJywgJ2JpbmFyeScpOwogICAgICAgICAgICAgICAgJHRleHQgPSAkdGhpcy0+ZG9jdW1lbnQtPmNyZWF0ZVRleHROb2RlKHNlbGY6OnBocFRvWG1sKGJhc2U2NF9lbmNvZGUoJHZhbHVlKSkpOwogICAgICAgICAgICAgICAgJGVsZW1lbnQtPmFwcGVuZENoaWxkKCR0ZXh0KTsKICAgICAgICAgICAgfSBlbHNlaWYgKCR2YWx1ZSBpbnN0YW5jZW9mIFxVbml0RW51bSkgewogICAgICAgICAgICAgICAgJGVsZW1lbnQtPnNldEF0dHJpYnV0ZSgndHlwZScsICdjb25zdGFudCcpOwogICAgICAgICAgICAgICAgJGVsZW1lbnQtPmFwcGVuZENoaWxkKCR0aGlzLT5kb2N1bWVudC0+Y3JlYXRlVGV4dE5vZGUoc2VsZjo6cGhwVG9YbWwoJHZhbHVlKSkpOwogICAgICAgICAgICB9IGVsc2VpZiAoJHZhbHVlIGluc3RhbmNlb2YgQWJzdHJhY3RBcmd1bWVudCkgewogICAgICAgICAgICAgICAgJGVsZW1lbnQtPnNldEF0dHJpYnV0ZSgndHlwZScsICdhYnN0cmFjdCcpOwogICAgICAgICAgICAgICAgJHRleHQgPSAkdGhpcy0+ZG9jdW1lbnQtPmNyZWF0ZVRleHROb2RlKHNlbGY6OnBocFRvWG1sKCR2YWx1ZS0+Z2V0VGV4dCgpKSk7CiAgICAgICAgICAgICAgICAkZWxlbWVudC0+YXBwZW5kQ2hpbGQoJHRleHQpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKFxpbl9hcnJheSgkdmFsdWUsIFsnbnVsbCcsICd0cnVlJywgJ2ZhbHNlJ10sIHRydWUpKSB7CiAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQtPnNldEF0dHJpYnV0ZSgndHlwZScsICdzdHJpbmcnKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoXGlzX3N0cmluZygkdmFsdWUpICYmIChpc19udW1lcmljKCR2YWx1ZSkgfHwgcHJlZ19tYXRjaCgnL14wYlswMV0qJC8nLCAkdmFsdWUpIHx8IHByZWdfbWF0Y2goJy9eMHhbMC05YS1mXSsrJC9pJywgJHZhbHVlKSkpIHsKICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC0+c2V0QXR0cmlidXRlKCd0eXBlJywgJ3N0cmluZycpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICR0ZXh0ID0gJHRoaXMtPmRvY3VtZW50LT5jcmVhdGVUZXh0Tm9kZShzZWxmOjpwaHBUb1htbCgkdmFsdWUpKTsKICAgICAgICAgICAgICAgICRlbGVtZW50LT5hcHBlbmRDaGlsZCgkdGV4dCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHBhcmVudC0+YXBwZW5kQ2hpbGQoJGVsZW1lbnQpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEVzY2FwZXMgYXJndW1lbnRzLgogICAgICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIGVzY2FwZShhcnJheSAkYXJndW1lbnRzKTogYXJyYXkKICAgIHsKICAgICAgICAkYXJncyA9IFtdOwogICAgICAgIGZvcmVhY2ggKCRhcmd1bWVudHMgYXMgJGsgPT4gJHYpIHsKICAgICAgICAgICAgaWYgKFxpc19hcnJheSgkdikpIHsKICAgICAgICAgICAgICAgICRhcmdzWyRrXSA9ICR0aGlzLT5lc2NhcGUoJHYpOwogICAgICAgICAgICB9IGVsc2VpZiAoXGlzX3N0cmluZygkdikpIHsKICAgICAgICAgICAgICAgICRhcmdzWyRrXSA9IHN0cl9yZXBsYWNlKCclJywgJyUlJywgJHYpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGFyZ3NbJGtdID0gJHY7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkYXJnczsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnRzIHBocCB0eXBlcyB0byB4bWwgdHlwZXMuCiAgICAgKgogICAgICogQHRocm93cyBSdW50aW1lRXhjZXB0aW9uIFdoZW4gdHJ5aW5nIHRvIGR1bXAgb2JqZWN0IG9yIHJlc291cmNlCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcGhwVG9YbWwobWl4ZWQgJHZhbHVlKTogc3RyaW5nCiAgICB7CiAgICAgICAgc3dpdGNoICh0cnVlKSB7CiAgICAgICAgICAgIGNhc2UgbnVsbCA9PT0gJHZhbHVlOgogICAgICAgICAgICAgICAgcmV0dXJuICdudWxsJzsKICAgICAgICAgICAgY2FzZSB0cnVlID09PSAkdmFsdWU6CiAgICAgICAgICAgICAgICByZXR1cm4gJ3RydWUnOwogICAgICAgICAgICBjYXNlIGZhbHNlID09PSAkdmFsdWU6CiAgICAgICAgICAgICAgICByZXR1cm4gJ2ZhbHNlJzsKICAgICAgICAgICAgY2FzZSAkdmFsdWUgaW5zdGFuY2VvZiBQYXJhbWV0ZXI6CiAgICAgICAgICAgICAgICByZXR1cm4gJyUnLiR2YWx1ZS4nJSc7CiAgICAgICAgICAgIGNhc2UgJHZhbHVlIGluc3RhbmNlb2YgXFVuaXRFbnVtOgogICAgICAgICAgICAgICAgcmV0dXJuIFxzcHJpbnRmKCclczo6JXMnLCAkdmFsdWU6OmNsYXNzLCAkdmFsdWUtPm5hbWUpOwogICAgICAgICAgICBjYXNlIFxpc19vYmplY3QoJHZhbHVlKSB8fCBcaXNfcmVzb3VyY2UoJHZhbHVlKToKICAgICAgICAgICAgICAgIHRocm93IG5ldyBSdW50aW1lRXhjZXB0aW9uKFxzcHJpbnRmKCdVbmFibGUgdG8gZHVtcCBhIHNlcnZpY2UgY29udGFpbmVyIGlmIGEgcGFyYW1ldGVyIGlzIGFuIG9iamVjdCBvciBhIHJlc291cmNlLCBnb3QgIiVzIi4nLCBnZXRfZGVidWdfdHlwZSgkdmFsdWUpKSk7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICByZXR1cm4gKHN0cmluZykgJHZhbHVlOwogICAgICAgIH0KICAgIH0KfQoiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZG9jQmxvY2siO047czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBtZXRhZGF0YSI7YTowOnt9fQ==";