1778692624
441d63ebbc39eba359c9061ece8482bd-phpdoc%3Aee4d2b6957320d119e8efdd84f68ae98-89fc6966c913f95041066c2ef682feaf
s:61728:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjEyOiJWZXJzaW9uMy5waHAiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YToxOntzOjM5OiJccGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXERlZmluaXRpb24iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozOToiXHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxEZWZpbml0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTA6IkRlZmluaXRpb24iO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MTp7czo0ODoiXHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxEZWZpbml0aW9uXFZlcnNpb24zIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTU6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjI6e3M6NTk6IlxTeW1mb255XENvbXBvbmVudFxDb25maWdcRGVmaW5pdGlvblxDb25maWd1cmF0aW9uSW50ZXJmYWNlIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTk6IlxTeW1mb255XENvbXBvbmVudFxDb25maWdcRGVmaW5pdGlvblxDb25maWd1cmF0aW9uSW50ZXJmYWNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjI6IkNvbmZpZ3VyYXRpb25JbnRlcmZhY2UiO31zOjUyOiJccGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXERlZmluaXRpb25cTm9ybWFsaXphYmxlIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cRGVmaW5pdGlvblxOb3JtYWxpemFibGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMjoiTm9ybWFsaXphYmxlIjt9fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBjb25zdGFudHMiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwcm9wZXJ0aWVzIjthOjE6e3M6NzA6IlxwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cRGVmaW5pdGlvblxWZXJzaW9uMzo6JGRlZmF1bHRUZW1wbGF0ZU5hbWUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjE0OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4NTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo3MDoiXHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxEZWZpbml0aW9uXFZlcnNpb24zOjokZGVmYXVsdFRlbXBsYXRlTmFtZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJkZWZhdWx0VGVtcGxhdGVOYW1lIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjA6IiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6OTI6IlRoaXMgaXMgaW5qZWN0ZWQgc28gdGhhdCB0aGUgbmFtZSBvZiB0aGUgZGVmYXVsdCB0ZW1wbGF0ZSBjYW4gYmUgZGVmaW5lZCBnbG9iYWxseSBpbiB0aGUgYXBwIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjM4OiJwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cRGVmaW5pdGlvbiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6Njp7czoyMDoiU3ltZm9ueUNvbmZpZ0ZhY3RvcnkiO3M6NDg6InBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxTeW1mb255Q29uZmlnRmFjdG9yeSI7czozOiJEc24iO3M6MTc6InBocERvY3VtZW50b3JcRHNuIjtzOjQ6IlBhdGgiO3M6MTg6InBocERvY3VtZW50b3JcUGF0aCI7czoxOToiQXJyYXlOb2RlRGVmaW5pdGlvbiI7czo2MzoiU3ltZm9ueVxDb21wb25lbnRcQ29uZmlnXERlZmluaXRpb25cQnVpbGRlclxBcnJheU5vZGVEZWZpbml0aW9uIjtzOjExOiJUcmVlQnVpbGRlciI7czo1NToiU3ltZm9ueVxDb21wb25lbnRcQ29uZmlnXERlZmluaXRpb25cQnVpbGRlclxUcmVlQnVpbGRlciI7czoyMjoiQ29uZmlndXJhdGlvbkludGVyZmFjZSI7czo1ODoiU3ltZm9ueVxDb21wb25lbnRcQ29uZmlnXERlZmluaXRpb25cQ29uZmlndXJhdGlvbkludGVyZmFjZSI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQByZWFkT25seSI7YjoxO3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGhvb2tzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXJ0dWFsIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbWV0YWRhdGEiO2E6MDp7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6Nzp7czo2MzoiXHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxEZWZpbml0aW9uXFZlcnNpb24zOjpfX2NvbnN0cnVjdCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxOToiZGVmYXVsdFRlbXBsYXRlTmFtZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjM0NDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyNTU5O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjYzOiJccGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXERlZmluaXRpb25cVmVyc2lvbjM6Ol9fY29uc3RydWN0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiX19jb25zdHJ1Y3QiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo3MjoiXHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxEZWZpbml0aW9uXFZlcnNpb24zOjpnZXRDb25maWdUcmVlQnVpbGRlcigpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjU2Njt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NjI1MTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NjoiXFN5bWZvbnlcQ29tcG9uZW50XENvbmZpZ1xEZWZpbml0aW9uXEJ1aWxkZXJcVHJlZUJ1aWxkZXIiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiVHJlZUJ1aWxkZXIiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NzI6IlxwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cRGVmaW5pdGlvblxWZXJzaW9uMzo6Z2V0Q29uZmlnVHJlZUJ1aWxkZXIoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIwOiJnZXRDb25maWdUcmVlQnVpbGRlciI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjYxOiJccGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXERlZmluaXRpb25cVmVyc2lvbjM6Om5vcm1hbGl6ZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6ImNvbmZpZ3VyYXRpb24iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE3MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo2Mjk1O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo5MTEyO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjE6IlxwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cRGVmaW5pdGlvblxWZXJzaW9uMzo6bm9ybWFsaXplKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo5OiJub3JtYWxpemUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxMzoie0Bpbmhlcml0RG9jfSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjQ3O3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjYyOiJccGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXERlZmluaXRpb25cVmVyc2lvbjM6OmFwaVNlY3Rpb24oKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo5MTE5O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMzMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNDA3OTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXFN5bWZvbnlcQ29tcG9uZW50XENvbmZpZ1xEZWZpbml0aW9uXEJ1aWxkZXJcQXJyYXlOb2RlRGVmaW5pdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJBcnJheU5vZGVEZWZpbml0aW9uIjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjYyOiJccGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXERlZmluaXRpb25cVmVyc2lvbjM6OmFwaVNlY3Rpb24oKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJhcGlTZWN0aW9uIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjY0OiJccGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXERlZmluaXRpb25cVmVyc2lvbjM6Omd1aWRlU2VjdGlvbigpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzM1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE0MDg2O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM1MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNDYzMTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXFN5bWZvbnlcQ29tcG9uZW50XENvbmZpZ1xEZWZpbml0aW9uXEJ1aWxkZXJcQXJyYXlOb2RlRGVmaW5pdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJBcnJheU5vZGVEZWZpbml0aW9uIjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY0OiJccGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXERlZmluaXRpb25cVmVyc2lvbjM6Omd1aWRlU2VjdGlvbigpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTI6Imd1aWRlU2VjdGlvbiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo1ODoiXHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxEZWZpbml0aW9uXFZlcnNpb24zOjpzb3VyY2UoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEyOiJkZWZhdWx0UGF0aHMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbiI6Mjp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBleHByZXNzaW9uIjtzOjI6IltdIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjA6e319czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM1MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNDY4NDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNjQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTUwOTI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjQ6IlxTeW1mb255XENvbXBvbmVudFxDb25maWdcRGVmaW5pdGlvblxCdWlsZGVyXEFycmF5Tm9kZURlZmluaXRpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiQXJyYXlOb2RlRGVmaW5pdGlvbiI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1ODoiXHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxEZWZpbml0aW9uXFZlcnNpb24zOjpzb3VyY2UoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjY6InNvdXJjZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czowOiIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMjoiZGVmYXVsdFBhdGhzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjQ3O3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjU3OiJccGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXERlZmluaXRpb25cVmVyc2lvbjM6OnBhdGhzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMjoiZGVmYXVsdFZhbHVlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czoyOiJbXSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YTowOnt9fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNjc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTUxNDU7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mzc1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE1NDYwO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY0OiJcU3ltZm9ueVxDb21wb25lbnRcQ29uZmlnXERlZmluaXRpb25cQnVpbGRlclxBcnJheU5vZGVEZWZpbml0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6IkFycmF5Tm9kZURlZmluaXRpb24iO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTc6IlxwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cRGVmaW5pdGlvblxWZXJzaW9uMzo6cGF0aHMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjU6InBhdGhzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjA6IiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEyOiJkZWZhdWx0VmFsdWUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6NDc7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM3NjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0ODoiXHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxEZWZpbml0aW9uXFZlcnNpb24zIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiVmVyc2lvbjMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjA6IiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTozOntpOjA7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcR2VuZXJpYyI6Mjp7czo3OiIAKgBuYW1lIjtzOjEwOiJwc2FsbS10eXBlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiQmFzZUNvbmZpZ3VyYXRpb24gPSBhcnJheTxtaXhlZD4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcR2VuZXJpYyI6Mjp7czo3OiIAKgBuYW1lIjtzOjEwOiJwc2FsbS10eXBlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2Mzg6IkNvbmZpZ3VyYXRpb25BcGlNYXAgPSBhcnJheXsKICAgIGlnbm9yZS10YWdzOiBsaXN0PHN0cmluZz4sCiAgICBleHRlbnNpb25zOiBub24tZW1wdHktYXJyYXk8c3RyaW5nPiwKICAgIG1hcmtlcnM6IGxpc3Q8c3RyaW5nPiwKICAgIHZpc2liaWxpdHk6IG5vbi1lbXB0eS1hcnJheTxzdHJpbmc+LAogICAgc291cmNlOiBhcnJheXtkc246IERzbiwgcGF0aHM6IGFycmF5PGFycmF5LWtleSwgUGF0aD59LAogICAgaWdub3JlOiBhcnJheXsKICAgICAgICBoaWRkZW46IGJvb2wsCiAgICAgICAgc3ltbGlua3M6IGJvb2wsCiAgICAgICAgcGF0aHM6IGxpc3Q8c3RyaW5nPgogICAgfSwKICAgIGlnbm9yZS10YWdzOiBsaXN0PHN0cmluZz4sCiAgICBlbmNvZGluZzogc3RyaW5nLAogICAgb3V0cHV0OiBzdHJpbmcsCiAgICBmb3JtYXQ6IHN0cmluZywKICAgIGRlZmF1bHQtcGFja2FnZS1uYW1lOiBzdHJpbmcsCiAgICBleGFtcGxlcz86IGFycmF5e2Rzbjogc3RyaW5nLCBwYXRoczogYXJyYXk8c3RyaW5nPn0sCiAgICBpbmNsdWRlLXNvdXJjZTogYm9vbCwKICAgIHZhbGlkYXRlOiBib29sLAogICAgdmlzaWJpbGl0eTogbm9uLWVtcHR5LWFycmF5PGFycmF5LWtleSwgc3RyaW5nPiwKICAgIGlnbm9yZS1wYWNrYWdlczogYm9vbAp9IjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czoxMDoicHNhbG0tdHlwZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzM2OiJDb25maWd1cmF0aW9uTWFwID0gYXJyYXl7CiAgICBjb25maWdWZXJzaW9uOiBzdHJpbmcsCiAgICB0aXRsZT86IHN0cmluZywKICAgIHBhdGhzOiBhcnJheXtvdXRwdXQ6IERzbiwgY2FjaGU6IFBhdGh9LAogICAgdmVyc2lvbnM6IGFycmF5PAogICAgICAgIHN0cmluZywKICAgICAgICBhcnJheXsKICAgICAgICAgICAgbnVtYmVyOiBzdHJpbmcsCiAgICAgICAgICAgIGZvbGRlcjogc3RyaW5nLAogICAgICAgICAgICBhcGk6IGxpc3Q8Q29uZmlndXJhdGlvbkFwaU1hcD4sCiAgICAgICAgICAgIGd1aWRlczogbGlzdDwKICAgICAgICAgICAgICAgIGFycmF5ewogICAgICAgICAgICAgICAgICAgIHNvdXJjZTogYXJyYXl7ZHNuOiBEc24sIHBhdGhzOiBhcnJheTxhcnJheS1rZXksIFBhdGg+fSwKICAgICAgICAgICAgICAgICAgICBvdXRwdXQ6IHN0cmluZywKICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IHN0cmluZywKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgPgogICAgICAgIH0KICAgID4sCiAgICB1c2VfY2FjaGU6IGJvb2wsCiAgICBzZXR0aW5nczogYXJyYXk8c3RyaW5nLCBtaXhlZD4sCiAgICB0ZW1wbGF0ZXM6IG5vbi1lbXB0eS1hcnJheTwKICAgICAgICBhcnJheXsKICAgICAgICAgICAgbmFtZTogc3RyaW5nLAogICAgICAgICAgICBsb2NhdGlvbjogP1BhdGgsCiAgICAgICAgICAgIHBhcmFtZXRlcnM6IGFycmF5PHN0cmluZywgbWl4ZWQ+CiAgICAgICAgfQogICAgPgp9IjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo0NztzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZpbmFsIjtiOjE7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHJlYWRPbmx5IjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6Ijg5ZmM2OTY2YzkxM2Y5NTA0MTA2NmMyZWY2ODJmZWFmIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6OTA6InZlbmRvci9waHBkb2N1bWVudG9yL3BocGRvY3VtZW50b3Ivc3JjL3BocERvY3VtZW50b3IvQ29uZmlndXJhdGlvbi9EZWZpbml0aW9uL1ZlcnNpb24zLnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6MTU0NjQ6Ijw/cGhwCgpkZWNsYXJlKHN0cmljdF90eXBlcz0xKTsKCi8qKgogKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBwaHBEb2N1bWVudG9yLgogKgogKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRQogKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS4KICoKICogQGxpbmsgaHR0cHM6Ly9waHBkb2Mub3JnCiAqLwoKbmFtZXNwYWNlIHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxEZWZpbml0aW9uOwoKdXNlIHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxTeW1mb255Q29uZmlnRmFjdG9yeTsKdXNlIHBocERvY3VtZW50b3JcRHNuOwp1c2UgcGhwRG9jdW1lbnRvclxQYXRoOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcQ29uZmlnXERlZmluaXRpb25cQnVpbGRlclxBcnJheU5vZGVEZWZpbml0aW9uOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcQ29uZmlnXERlZmluaXRpb25cQnVpbGRlclxUcmVlQnVpbGRlcjsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XENvbmZpZ1xEZWZpbml0aW9uXENvbmZpZ3VyYXRpb25JbnRlcmZhY2U7Cgp1c2UgZnVuY3Rpb24gaXNfaW50Owp1c2UgZnVuY3Rpb24gaXNfc3RyaW5nOwp1c2UgZnVuY3Rpb24gdmFyX2V4cG9ydDsKCi8qKgogKiBAcHNhbG0tdHlwZSBCYXNlQ29uZmlndXJhdGlvbiA9IGFycmF5PG1peGVkPgogKiBAcHNhbG0tdHlwZSBDb25maWd1cmF0aW9uQXBpTWFwID0gYXJyYXl7CiAqICAgICBpZ25vcmUtdGFnczogbGlzdDxzdHJpbmc+LAogKiAgICAgZXh0ZW5zaW9uczogbm9uLWVtcHR5LWFycmF5PHN0cmluZz4sCiAqICAgICBtYXJrZXJzOiBsaXN0PHN0cmluZz4sCiAqICAgICB2aXNpYmlsaXR5OiBub24tZW1wdHktYXJyYXk8c3RyaW5nPiwKICogICAgIHNvdXJjZTogYXJyYXl7ZHNuOiBEc24sIHBhdGhzOiBhcnJheTxhcnJheS1rZXksIFBhdGg+fSwKICogICAgIGlnbm9yZTogYXJyYXl7CiAqICAgICAgICAgaGlkZGVuOiBib29sLAogKiAgICAgICAgIHN5bWxpbmtzOiBib29sLAogKiAgICAgICAgIHBhdGhzOiBsaXN0PHN0cmluZz4KICogICAgIH0sCiAqICAgICBpZ25vcmUtdGFnczogbGlzdDxzdHJpbmc+LAogKiAgICAgZW5jb2Rpbmc6IHN0cmluZywKICogICAgIG91dHB1dDogc3RyaW5nLAogKiAgICAgZm9ybWF0OiBzdHJpbmcsCiAqICAgICBkZWZhdWx0LXBhY2thZ2UtbmFtZTogc3RyaW5nLAogKiAgICAgZXhhbXBsZXM/OiBhcnJheXtkc246IHN0cmluZywgcGF0aHM6IGFycmF5PHN0cmluZz59LAogKiAgICAgaW5jbHVkZS1zb3VyY2U6IGJvb2wsCiAqICAgICB2YWxpZGF0ZTogYm9vbCwKICogICAgIHZpc2liaWxpdHk6IG5vbi1lbXB0eS1hcnJheTxhcnJheS1rZXksIHN0cmluZz4sCiAqICAgICBpZ25vcmUtcGFja2FnZXM6IGJvb2wKICogfQogKiBAcHNhbG0tdHlwZSBDb25maWd1cmF0aW9uTWFwID0gYXJyYXl7CiAqICAgICBjb25maWdWZXJzaW9uOiBzdHJpbmcsCiAqICAgICB0aXRsZT86IHN0cmluZywKICogICAgIHBhdGhzOiBhcnJheXtvdXRwdXQ6IERzbiwgY2FjaGU6IFBhdGh9LAogKiAgICAgdmVyc2lvbnM6IGFycmF5PAogKiAgICAgICAgIHN0cmluZywKICogICAgICAgICBhcnJheXsKICogICAgICAgICAgICAgbnVtYmVyOiBzdHJpbmcsCiAqICAgICAgICAgICAgIGZvbGRlcjogc3RyaW5nLAogKiAgICAgICAgICAgICBhcGk6IGxpc3Q8Q29uZmlndXJhdGlvbkFwaU1hcD4sCiAqICAgICAgICAgICAgIGd1aWRlczogbGlzdDwKICogICAgICAgICAgICAgICAgIGFycmF5ewogKiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZTogYXJyYXl7ZHNuOiBEc24sIHBhdGhzOiBhcnJheTxhcnJheS1rZXksIFBhdGg+fSwKICogICAgICAgICAgICAgICAgICAgICBvdXRwdXQ6IHN0cmluZywKICogICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IHN0cmluZywKICogICAgICAgICAgICAgICAgIH0KICogICAgICAgICAgICAgPgogKiAgICAgICAgIH0KICogICAgID4sCiAqICAgICB1c2VfY2FjaGU6IGJvb2wsCiAqICAgICBzZXR0aW5nczogYXJyYXk8c3RyaW5nLCBtaXhlZD4sCiAqICAgICB0ZW1wbGF0ZXM6IG5vbi1lbXB0eS1hcnJheTwKICogICAgICAgICBhcnJheXsKICogICAgICAgICAgICAgbmFtZTogc3RyaW5nLAogKiAgICAgICAgICAgICBsb2NhdGlvbjogP1BhdGgsCiAqICAgICAgICAgICAgIHBhcmFtZXRlcnM6IGFycmF5PHN0cmluZywgbWl4ZWQ+CiAqICAgICAgICAgfQogKiAgICAgPgogKiB9CiAqLwpmaW5hbCBjbGFzcyBWZXJzaW9uMyBpbXBsZW1lbnRzIENvbmZpZ3VyYXRpb25JbnRlcmZhY2UsIE5vcm1hbGl6YWJsZQp7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoCiAgICAgICAgLyoqIEB2YXIgc3RyaW5nIFRoaXMgaXMgaW5qZWN0ZWQgc28gdGhhdCB0aGUgbmFtZSBvZiB0aGUgZGVmYXVsdCB0ZW1wbGF0ZSBjYW4gYmUgZGVmaW5lZCBnbG9iYWxseSBpbiB0aGUgYXBwICovCiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzdHJpbmcgJGRlZmF1bHRUZW1wbGF0ZU5hbWUsCiAgICApIHsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29uZmlnVHJlZUJ1aWxkZXIoKTogVHJlZUJ1aWxkZXIKICAgIHsKICAgICAgICAkdHJlZWJ1aWxkZXIgPSBuZXcgVHJlZUJ1aWxkZXIoJ3BocGRvY3VtZW50b3InKTsKCiAgICAgICAgJHRyZWVidWlsZGVyLT5nZXRSb290Tm9kZSgpCiAgICAgICAgICAgIC0+Zml4WG1sQ29uZmlnKCd2ZXJzaW9uJykKICAgICAgICAgICAgLT5maXhYbWxDb25maWcoJ3NldHRpbmcnKQogICAgICAgICAgICAtPmZpeFhtbENvbmZpZygndGVtcGxhdGUnKQogICAgICAgICAgICAtPmFkZERlZmF1bHRzSWZOb3RTZXQoKQogICAgICAgICAgICAtPmNoaWxkcmVuKCkKICAgICAgICAgICAgICAgIC0+c2NhbGFyTm9kZShTeW1mb255Q29uZmlnRmFjdG9yeTo6RklFTERfQ09ORklHX1ZFUlNJT04pLT5kZWZhdWx0VmFsdWUoJzMnKS0+ZW5kKCkKICAgICAgICAgICAgICAgIC0+c2NhbGFyTm9kZSgndGl0bGUnKS0+ZGVmYXVsdFZhbHVlKCdEb2N1bWVudGF0aW9uJyktPmVuZCgpCiAgICAgICAgICAgICAgICAtPmJvb2xlYW5Ob2RlKCd1c2VfY2FjaGUnKS0+ZGVmYXVsdFRydWUoKS0+ZW5kKCkKICAgICAgICAgICAgICAgIC0+YXJyYXlOb2RlKCdwYXRocycpCiAgICAgICAgICAgICAgICAgICAgLT5hZGREZWZhdWx0c0lmTm90U2V0KCkKICAgICAgICAgICAgICAgICAgICAtPmNoaWxkcmVuKCkKICAgICAgICAgICAgICAgICAgICAgICAgLT5zY2FsYXJOb2RlKCdvdXRwdXQnKS0+ZGVmYXVsdFZhbHVlKCcucGhwZG9jL2J1aWxkJyktPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+c2NhbGFyTm9kZSgnY2FjaGUnKS0+ZGVmYXVsdFZhbHVlKCcucGhwZG9jL2NhY2hlJyktPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgLT5hcnJheU5vZGUoJ3ZlcnNpb25zJykKICAgICAgICAgICAgICAgICAgICAtPnVzZUF0dHJpYnV0ZUFzS2V5KCdudW1iZXInLCBmYWxzZSkKICAgICAgICAgICAgICAgICAgICAtPmFkZERlZmF1bHRDaGlsZHJlbklmTm9uZVNldCgnMS4wLjAnKQogICAgICAgICAgICAgICAgICAgIC0+cHJvdG90eXBlKCdhcnJheScpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+Zml4WG1sQ29uZmlnKCdhcGknLCAnYXBpcycpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+Zml4WG1sQ29uZmlnKCdndWlkZScpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+Y2hpbGRyZW4oKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5zY2FsYXJOb2RlKCdudW1iZXInKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ZGVmYXVsdFZhbHVlKCcxLjAuMCcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5iZWZvcmVOb3JtYWxpemF0aW9uKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPmFsd2F5cygKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9XZSBuZWVkIHRvIHJldmVydCB0aGUgcGhwaXplIGNhbGwgaW4gWG1sVXRpbHMuIFZlcnNpb24gbnVtYmVyIGlzIGFsd2F5cyBhIHN0cmluZyEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljIGZ1bmN0aW9uICgkdmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIGlzX2ludCgkdmFsdWUpICYmICEgaXNfc3RyaW5nKCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFyX2V4cG9ydCgkdmFsdWUsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+c2NhbGFyTm9kZSgnZm9sZGVyJyktPmRlZmF1bHRWYWx1ZSgnJyktPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPmFwcGVuZCgkdGhpcy0+YXBpU2VjdGlvbigpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5hcHBlbmQoJHRoaXMtPmd1aWRlU2VjdGlvbigpKQogICAgICAgICAgICAgICAgICAgICAgICAtPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgLT5hcnJheU5vZGUoJ3NldHRpbmdzJykKICAgICAgICAgICAgICAgICAgICAtPnVzZUF0dHJpYnV0ZUFzS2V5KCduYW1lJywgdHJ1ZSkKICAgICAgICAgICAgICAgICAgICAtPnByb3RvdHlwZSgnYXJyYXknKQogICAgICAgICAgICAgICAgICAgICAgICAtPmNoaWxkcmVuKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+c2NhbGFyTm9kZSgnbmFtZScpLT5lbmQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5zY2FsYXJOb2RlKCd2YWx1ZScpLT5lbmQoKQogICAgICAgICAgICAgICAgICAgICAgICAtPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgLT5hcnJheU5vZGUoJ3RlbXBsYXRlcycpCiAgICAgICAgICAgICAgICAgICAgLT5hZGREZWZhdWx0Q2hpbGRyZW5JZk5vbmVTZXQoMSkKICAgICAgICAgICAgICAgICAgICAtPnByb3RvdHlwZSgnYXJyYXknKQogICAgICAgICAgICAgICAgICAgICAgICAtPmZpeFhtbENvbmZpZygncGFyYW1ldGVyJykKICAgICAgICAgICAgICAgICAgICAgICAgLT5jaGlsZHJlbigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPnNjYWxhck5vZGUoJ25hbWUnKS0+ZGVmYXVsdFZhbHVlKCR0aGlzLT5kZWZhdWx0VGVtcGxhdGVOYW1lKS0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+c2NhbGFyTm9kZSgnbG9jYXRpb24nKS0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+YXJyYXlOb2RlKCdwYXJhbWV0ZXJzJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPnVzZUF0dHJpYnV0ZUFzS2V5KCduYW1lJywgdHJ1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPnByb3RvdHlwZSgnYXJyYXknKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPmNoaWxkcmVuKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+c2NhbGFyTm9kZSgnbmFtZScpLT5lbmQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5zY2FsYXJOb2RlKCd2YWx1ZScpLT5lbmQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgICAgICAgICAtPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAtPmVuZCgpOwoKICAgICAgICByZXR1cm4gJHRyZWVidWlsZGVyOwogICAgfQoKICAgIC8qKgogICAgICoge0Bpbmhlcml0RG9jfQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbm9ybWFsaXplKGFycmF5ICRjb25maWd1cmF0aW9uKTogYXJyYXkKICAgIHsKICAgICAgICAkY29uZmlndXJhdGlvblsnY29uZmlnVmVyc2lvbiddID0gKHN0cmluZykgJGNvbmZpZ3VyYXRpb25bJ2NvbmZpZ1ZlcnNpb24nXTsKICAgICAgICAkY29uZmlndXJhdGlvblsncGF0aHMnXVsnb3V0cHV0J10gPSBEc246OmNyZWF0ZUZyb21TdHJpbmcoJGNvbmZpZ3VyYXRpb25bJ3BhdGhzJ11bJ291dHB1dCddKTsKICAgICAgICAkY29uZmlndXJhdGlvblsncGF0aHMnXVsnY2FjaGUnXSA9IG5ldyBQYXRoKCRjb25maWd1cmF0aW9uWydwYXRocyddWydjYWNoZSddKTsKCiAgICAgICAgZm9yZWFjaCAoJGNvbmZpZ3VyYXRpb25bJ3ZlcnNpb25zJ10gYXMgJHZlcnNpb25OdW1iZXIgPT4gJHZlcnNpb24pIHsKICAgICAgICAgICAgLy8gZm9yIGFycmF5IG5vcm1hbGl6YXRpb24gdG8gd29yaywgSSBuZWVkIHRvIHVzZSBmaXhYbWxDb25maWc7IGJ1dCB0aGF0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrCiAgICAgICAgICAgIC8vIHdoZW4geW91IHdhbnQgdG8ga2VlcCB0aGUga2V5IHRoZSBzYW1lIChhcGkgPT4gYXBpKSBidXQgcmVxdWlyZXMgdGhlIHBsdXJhbCB0byBiZSBkaWZmZXJlbnRseSBuYW1lZC4KICAgICAgICAgICAgLy8gdGhlIHJlc3Qgb2YgdGhlIGFwcCBkb2Vzbid0IHVzZSBhIHBsdXJhbDsgc28gSSB1bmRvIHRoYXQgcGx1cmFsaXNhdGlvbiBoZXJlLgogICAgICAgICAgICAkY29uZmlndXJhdGlvblsndmVyc2lvbnMnXVskdmVyc2lvbk51bWJlcl1bJ2FwaSddID0gJGNvbmZpZ3VyYXRpb25bJ3ZlcnNpb25zJ11bJHZlcnNpb25OdW1iZXJdWydhcGlzJ107CiAgICAgICAgICAgIHVuc2V0KCRjb25maWd1cmF0aW9uWyd2ZXJzaW9ucyddWyR2ZXJzaW9uTnVtYmVyXVsnYXBpcyddKTsKCiAgICAgICAgICAgIGZvcmVhY2ggKCR2ZXJzaW9uWydhcGlzJ10gYXMgJGtleSA9PiAkYXBpKSB7CiAgICAgICAgICAgICAgICAkYXBpS2V5ID0gJGNvbmZpZ3VyYXRpb25bJ3ZlcnNpb25zJ11bJHZlcnNpb25OdW1iZXJdWydhcGknXVska2V5XTsKCiAgICAgICAgICAgICAgICAkYXBpS2V5Wydzb3VyY2UnXVsnZHNuJ10gPSBEc246OmNyZWF0ZUZyb21TdHJpbmcoJGFwaVsnc291cmNlJ11bJ2RzbiddKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRhcGlbJ3NvdXJjZSddWydwYXRocyddIGFzICRzdWJrZXkgPT4gJHBhdGgpIHsKICAgICAgICAgICAgICAgICAgICAkYXBpS2V5Wydzb3VyY2UnXVsncGF0aHMnXVskc3Via2V5XSA9IG5ldyBQYXRoKCRwYXRoKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkYXBpS2V5WydpZ25vcmUtdGFncyddID0gJGFwaUtleVsnaWdub3JlLXRhZ3MnXVsnaWdub3JlX3RhZ3MnXTsKICAgICAgICAgICAgICAgICRhcGlLZXlbJ2V4dGVuc2lvbnMnXSA9ICRhcGlLZXlbJ2V4dGVuc2lvbnMnXVsnZXh0ZW5zaW9ucyddOwogICAgICAgICAgICAgICAgJGFwaUtleVsnbWFya2VycyddID0gJGFwaUtleVsnbWFya2VycyddWydtYXJrZXJzJ107CiAgICAgICAgICAgICAgICAkYXBpS2V5Wyd2aXNpYmlsaXR5J10gPSAkYXBpS2V5Wyd2aXNpYmlsaXRpZXMnXTsKICAgICAgICAgICAgICAgIHVuc2V0KCRhcGlLZXlbJ3Zpc2liaWxpdGllcyddKTsKCiAgICAgICAgICAgICAgICAkY29uZmlndXJhdGlvblsndmVyc2lvbnMnXVskdmVyc2lvbk51bWJlcl1bJ2FwaSddWyRrZXldID0gJGFwaUtleTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZm9yZWFjaCAoJHZlcnNpb25bJ2d1aWRlcyddIGFzICRrZXkgPT4gJGd1aWRlKSB7CiAgICAgICAgICAgICAgICAkZ3VpZGVzS2V5ID0gJGNvbmZpZ3VyYXRpb25bJ3ZlcnNpb25zJ11bJHZlcnNpb25OdW1iZXJdWydndWlkZXMnXVska2V5XTsKCiAgICAgICAgICAgICAgICAkZ3VpZGVzS2V5Wydzb3VyY2UnXVsnZHNuJ10gPSBEc246OmNyZWF0ZUZyb21TdHJpbmcoJGd1aWRlWydzb3VyY2UnXVsnZHNuJ10pOwogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGd1aWRlWydzb3VyY2UnXVsncGF0aHMnXSBhcyAkc3Via2V5ID0+ICRwYXRoKSB7CiAgICAgICAgICAgICAgICAgICAgJGd1aWRlc0tleVsnc291cmNlJ11bJ3BhdGhzJ11bJHN1YmtleV0gPSBuZXcgUGF0aCgkcGF0aCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGNvbmZpZ3VyYXRpb25bJ3ZlcnNpb25zJ11bJHZlcnNpb25OdW1iZXJdWydndWlkZXMnXVska2V5XSA9ICRndWlkZXNLZXk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKCRjb25maWd1cmF0aW9uWyd0ZW1wbGF0ZXMnXSBhcyAka2V5ID0+ICR0ZW1wbGF0ZSkgewogICAgICAgICAgICBpZiAoaXNfc3RyaW5nKCR0ZW1wbGF0ZSkpIHsKICAgICAgICAgICAgICAgICR0ZW1wbGF0ZSA9IFsKICAgICAgICAgICAgICAgICAgICAnbmFtZScgPT4gJHRlbXBsYXRlLAogICAgICAgICAgICAgICAgICAgICdsb2NhdGlvbicgPT4gbnVsbCwKICAgICAgICAgICAgICAgICAgICAncGFyYW1ldGVycycgPT4gW10sCiAgICAgICAgICAgICAgICBdOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkbG9jYXRpb24gPSAkdGVtcGxhdGVbJ2xvY2F0aW9uJ10gPz8gbnVsbDsKICAgICAgICAgICAgJHRlbXBsYXRlWydsb2NhdGlvbiddID0gJGxvY2F0aW9uID8gbmV3IFBhdGgoKHN0cmluZykgJGxvY2F0aW9uKSA6IG51bGw7CgogICAgICAgICAgICAkY29uZmlndXJhdGlvblsndGVtcGxhdGVzJ11bJGtleV0gPSAkdGVtcGxhdGU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGNvbmZpZ3VyYXRpb247CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBhcGlTZWN0aW9uKCk6IEFycmF5Tm9kZURlZmluaXRpb24KICAgIHsKICAgICAgICAkdHJlZWJ1aWxkZXIgPSBuZXcgVHJlZUJ1aWxkZXIoJ2FwaXMnKTsKCiAgICAgICAgcmV0dXJuICR0cmVlYnVpbGRlci0+Z2V0Um9vdE5vZGUoKQogICAgICAgICAgICAtPmFkZERlZmF1bHRDaGlsZHJlbklmTm9uZVNldCgxKQogICAgICAgICAgICAtPnByb3RvdHlwZSgnYXJyYXknKQogICAgICAgICAgICAgICAgLT5hZGREZWZhdWx0c0lmTm90U2V0KCkKICAgICAgICAgICAgICAgIC0+bm9ybWFsaXplS2V5cyhmYWxzZSkKICAgICAgICAgICAgICAgIC0+Zml4WG1sQ29uZmlnKCd2aXNpYmlsaXR5JywgJ3Zpc2liaWxpdGllcycpCiAgICAgICAgICAgICAgICAtPmNoaWxkcmVuKCkKICAgICAgICAgICAgICAgICAgICAtPmVudW1Ob2RlKCdmb3JtYXQnKQogICAgICAgICAgICAgICAgICAgICAgICAtPmluZm8oJ0luIHdoaWNoIGxhbmd1YWdlIGlzIHlvdXIgY29kZSB3cml0dGVuPycpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+dmFsdWVzKFsncGhwJ10pCiAgICAgICAgICAgICAgICAgICAgICAgIC0+ZGVmYXVsdFZhbHVlKCdwaHAnKQogICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAtPmJvb2xlYW5Ob2RlKCdpZ25vcmUtcGFja2FnZXMnKQogICAgICAgICAgICAgICAgICAgICAgICAtPmluZm8oJ1doZXRoZXIgdG8gaWdub3JlIHBhY2thZ2VzIGluIHRoZSBkb2N1bWVudGF0aW9uJykKICAgICAgICAgICAgICAgICAgICAgICAgLT5kZWZhdWx0RmFsc2UoKQogICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAtPmFycmF5Tm9kZSgndmlzaWJpbGl0aWVzJykKICAgICAgICAgICAgICAgICAgICAgICAgLT5wcm90b3R5cGUoJ2VudW0nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5pbmZvKCdXaGF0IGlzIHRoZSBkZWVwZXN0IGxldmVsIG9mIHZpc2liaWxpdHkgdG8gaW5jbHVkZSBpbiB0aGUgZG9jdW1lbnRhdGlvbj8nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT52YWx1ZXMoWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcGknLCAvLyBvbmx5IGluY2x1ZGUgZWxlbWVudHMgdGFnZ2VkIHdpdGggdGhlIGBAYXBpYCB0YWcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHVibGljJywgLy8gaW5jbHVkZSBhbGwgbWV0aG9kcywgcHJvcGVydGllcyBhbmQgY29uc3RhbnRzIHRoYXQgYXJlIHB1YmxpYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm90ZWN0ZWQnLCAvLyBpbmNsdWRlICBhbGwgbWV0aG9kcywgcHJvcGVydGllcyBhbmQgY29uc3RhbnRzIHRoYXQgYXJlIHByb3RlY3RlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcml2YXRlJywgLy8gaW5jbHVkZSBhbGwgbWV0aG9kcywgcHJvcGVydGllcyBhbmQgY29uc3RhbnRzIHRoYXQgYXJlIHByaXZhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW50ZXJuYWwnLCAvLyBpbmNsdWRlIGFsbCBlbGVtZW50cyB0YWdnZWQgd2l0aCBgQGludGVybmFsYAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkKICAgICAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgICAgICAgICAtPmRlZmF1bHRWYWx1ZShbJ3B1YmxpYycsICdwcm90ZWN0ZWQnLCAncHJpdmF0ZSddKQogICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAtPnNjYWxhck5vZGUoJ2RlZmF1bHQtcGFja2FnZS1uYW1lJykKICAgICAgICAgICAgICAgICAgICAgICAgLT5pbmZvKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1doZW4geW91ciBzb3VyY2UgY29kZSBpcyBncm91cGVkIHVzaW5nIHRoZSBAcGFja2FnZSB0YWc7IHdoYXQgaXMgdGhlIG5hbWUgb2YgdGhlICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ2RlZmF1bHQgcGFja2FnZSB3aGVuIG5vbmUgaXMgcHJvdmlkZWQ/JywKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAtPmRlZmF1bHRWYWx1ZSgnQXBwbGljYXRpb24nKQogICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAtPnNjYWxhck5vZGUoJ2VuY29kaW5nJyktPmRlZmF1bHRWYWx1ZSgndXRmLTgnKS0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAtPmFwcGVuZCgkdGhpcy0+c291cmNlKFsnLyoqLyonXSkpCiAgICAgICAgICAgICAgICAgICAgLT5zY2FsYXJOb2RlKCdvdXRwdXQnKS0+ZGVmYXVsdFZhbHVlKCcuJyktPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgLT5hcnJheU5vZGUoJ2lnbm9yZScpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+YWRkRGVmYXVsdHNJZk5vdFNldCgpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+Zml4WG1sQ29uZmlnKCdwYXRoJykKICAgICAgICAgICAgICAgICAgICAgICAgLT5jaGlsZHJlbigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPmJvb2xlYW5Ob2RlKCdoaWRkZW4nKS0+ZGVmYXVsdFRydWUoKS0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ym9vbGVhbk5vZGUoJ3N5bWxpbmtzJyktPmRlZmF1bHRUcnVlKCktPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPmFwcGVuZCgkdGhpcy0+cGF0aHMoKSkKICAgICAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAtPmFycmF5Tm9kZSgnaWdub3JlLXRhZ3MnKQogICAgICAgICAgICAgICAgICAgICAgICAtPmFkZERlZmF1bHRzSWZOb3RTZXQoKQogICAgICAgICAgICAgICAgICAgICAgICAtPmZpeFhtbENvbmZpZygnaWdub3JlX3RhZycpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+Y2hpbGRyZW4oKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5hcnJheU5vZGUoJ2lnbm9yZV90YWdzJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPmRlZmF1bHRWYWx1ZShbXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPmJlZm9yZU5vcm1hbGl6YXRpb24oKS0+Y2FzdFRvQXJyYXkoKS0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPnByb3RvdHlwZSgnc2NhbGFyJyktPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAtPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgLT5hcnJheU5vZGUoJ2V4dGVuc2lvbnMnKQogICAgICAgICAgICAgICAgICAgICAgICAtPmFkZERlZmF1bHRzSWZOb3RTZXQoKQogICAgICAgICAgICAgICAgICAgICAgICAtPmZpeFhtbENvbmZpZygnZXh0ZW5zaW9uJykKICAgICAgICAgICAgICAgICAgICAgICAgLT5jaGlsZHJlbigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPmFycmF5Tm9kZSgnZXh0ZW5zaW9ucycpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5kZWZhdWx0VmFsdWUoWydwaHAnLCAncGhwMycsICdwaHRtbCddKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+YmVmb3JlTm9ybWFsaXphdGlvbigpLT5jYXN0VG9BcnJheSgpLT5lbmQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+cHJvdG90eXBlKCdzY2FsYXInKS0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAtPmJvb2xlYW5Ob2RlKCdpbmNsdWRlLXNvdXJjZScpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+ZGVmYXVsdE51bGwoKQogICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAtPmFycmF5Tm9kZSgnZXhhbXBsZXMnKQogICAgICAgICAgICAgICAgICAgICAgICAtPmZpeFhtbENvbmZpZygncGF0aCcpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+Y2hpbGRyZW4oKQogICAgICAgICAgICAgICAgICAgICAgICAtPnNjYWxhck5vZGUoJ2RzbicpLT5kZWZhdWx0VmFsdWUoJy4nKS0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgLT5hcHBlbmQoJHRoaXMtPnBhdGhzKCkpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAtPmVuZCgpCiAgICAgICAgICAgICAgICAgICAgLT5ib29sZWFuTm9kZSgndmFsaWRhdGUnKQogICAgICAgICAgICAgICAgICAgICAgICAtPmRlZmF1bHRGYWxzZSgpCiAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgICAgIC0+YXJyYXlOb2RlKCdtYXJrZXJzJykKICAgICAgICAgICAgICAgICAgICAgICAgLT5hZGREZWZhdWx0c0lmTm90U2V0KCkKICAgICAgICAgICAgICAgICAgICAgICAgLT5maXhYbWxDb25maWcoJ21hcmtlcicpCiAgICAgICAgICAgICAgICAgICAgICAgIC0+Y2hpbGRyZW4oKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5hcnJheU5vZGUoJ21hcmtlcnMnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ZGVmYXVsdFZhbHVlKFsnVE9ETycsICdGSVhNRSddKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+YmVmb3JlTm9ybWFsaXphdGlvbigpLT5jYXN0VG9BcnJheSgpLT5lbmQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+cHJvdG90eXBlKCdzY2FsYXInKS0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgLT5lbmQoKTsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGd1aWRlU2VjdGlvbigpOiBBcnJheU5vZGVEZWZpbml0aW9uCiAgICB7CiAgICAgICAgJHRyZWVidWlsZGVyID0gbmV3IFRyZWVCdWlsZGVyKCdndWlkZXMnKTsKCiAgICAgICAgcmV0dXJuICR0cmVlYnVpbGRlci0+Z2V0Um9vdE5vZGUoKQogICAgICAgICAgICAtPnByb3RvdHlwZSgnYXJyYXknKQogICAgICAgICAgICAgICAgLT5jaGlsZHJlbigpCiAgICAgICAgICAgICAgICAgICAgLT5lbnVtTm9kZSgnZm9ybWF0JykKICAgICAgICAgICAgICAgICAgICAgICAgLT52YWx1ZXMoWydyc3QnLCAnbWQnXSkKICAgICAgICAgICAgICAgICAgICAgICAgLT5kZWZhdWx0VmFsdWUoJ3JzdCcpCiAgICAgICAgICAgICAgICAgICAgLT5lbmQoKQogICAgICAgICAgICAgICAgICAgIC0+YXBwZW5kKCR0aGlzLT5zb3VyY2UoKSkKICAgICAgICAgICAgICAgICAgICAtPnNjYWxhck5vZGUoJ291dHB1dCcpLT5kZWZhdWx0VmFsdWUoJ2RvY3MnKS0+ZW5kKCkKICAgICAgICAgICAgICAgIC0+ZW5kKCkKICAgICAgICAgICAgLT5lbmQoKTsKICAgIH0KCiAgICAvKiogQHBhcmFtIGFycmF5PHN0cmluZz4gJGRlZmF1bHRQYXRocyAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiBzb3VyY2UoYXJyYXkgJGRlZmF1bHRQYXRocyA9IFtdKTogQXJyYXlOb2RlRGVmaW5pdGlvbgogICAgewogICAgICAgICR0cmVlYnVpbGRlciA9IG5ldyBUcmVlQnVpbGRlcignc291cmNlJyk7CgogICAgICAgIHJldHVybiAkdHJlZWJ1aWxkZXItPmdldFJvb3ROb2RlKCkKICAgICAgICAgICAgLT5hZGREZWZhdWx0c0lmTm90U2V0KCkKICAgICAgICAgICAgLT5maXhYbWxDb25maWcoJ3BhdGgnKQogICAgICAgICAgICAtPmNoaWxkcmVuKCkKICAgICAgICAgICAgICAgIC0+c2NhbGFyTm9kZSgnZHNuJyktPmRlZmF1bHRWYWx1ZSgnLicpLT5lbmQoKQogICAgICAgICAgICAgICAgLT5hcHBlbmQoJHRoaXMtPnBhdGhzKCRkZWZhdWx0UGF0aHMpKQogICAgICAgICAgICAtPmVuZCgpOwogICAgfQoKICAgIC8qKiBAcGFyYW0gYXJyYXk8c3RyaW5nPiAkZGVmYXVsdFZhbHVlICovCiAgICBwcml2YXRlIGZ1bmN0aW9uIHBhdGhzKGFycmF5ICRkZWZhdWx0VmFsdWUgPSBbXSk6IEFycmF5Tm9kZURlZmluaXRpb24KICAgIHsKICAgICAgICAkdHJlZWJ1aWxkZXIgPSBuZXcgVHJlZUJ1aWxkZXIoJ3BhdGhzJyk7CgogICAgICAgIHJldHVybiAkdHJlZWJ1aWxkZXItPmdldFJvb3ROb2RlKCkKICAgICAgICAgICAgLT5iZWZvcmVOb3JtYWxpemF0aW9uKCktPmNhc3RUb0FycmF5KCktPmVuZCgpCiAgICAgICAgICAgIC0+ZGVmYXVsdFZhbHVlKCRkZWZhdWx0VmFsdWUpCiAgICAgICAgICAgIC0+cHJvdG90eXBlKCdzY2FsYXInKS0+ZW5kKCk7CiAgICB9Cn0KIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNToiVGhpcyBmaWxlIGlzIHBhcnQgb2YgcGhwRG9jdW1lbnRvci4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTIwOiJGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRQpmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcTGluayI6Mzp7czo3OiIAKgBuYW1lIjtzOjQ6ImxpbmsiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xMaW5rAGxpbmsiO3M6MTg6Imh0dHBzOi8vcGhwZG9jLm9yZyI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";