1778692638
441d63ebbc39eba359c9061ece8482bd-phpdoc%3A74c8b8707b38f39ba67ab65379b3a1d2-4a1864b6fefba5391dc6f3436b51dd2a
s:61884:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjI0OiJSZWRpc1RhZ0F3YXJlQWRhcHRlci5waHAiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YToxOntzOjMyOiJcU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlciI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjMyOiJcU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlciI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6IkFkYXB0ZXIiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MTp7czo1MzoiXFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcUmVkaXNUYWdBd2FyZUFkYXB0ZXIiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxNTp7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGltcGxlbWVudHMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBjb25zdGFudHMiO2E6MTp7czo3MjoiXFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcUmVkaXNUYWdBd2FyZUFkYXB0ZXI6OkRFRkFVTFRfQ0FDSEVfVFRMIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50Ijo5OntzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjU2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjcyOiJcU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxSZWRpc1RhZ0F3YXJlQWRhcHRlcjo6REVGQVVMVF9DQUNIRV9UVEwiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiREVGQVVMVF9DQUNIRV9UVEwiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTk3OiJPbiBjYWNoZSBpdGVtcyB3aXRob3V0IGEgbGlmZXRpbWUgc2V0LCB3ZSBzZXQgaXQgdG8gMTAwIGRheXMuIFRoaXMgaXMgdG8gbWFrZSBzdXJlIGNhY2hlIGl0ZW1zIGFyZQpwcmVmZXJyZWQgdG8gYmUgZXZpY3RlZCBvdmVyIHRhZyBTZXRzLCBpZiBldmljdGlvbiBwb2xpY3kgaXMgY29uZmlndXJlZCBhY2NvcmRpbmcgdG8gcmVxdWlyZW1lbnRzLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czozMToiU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MTQ6e3M6MTY6IkNsdXN0ZXJJbnRlcmZhY2UiO3M6NDQ6IlByZWRpc1xDb25uZWN0aW9uXEFnZ3JlZ2F0ZVxDbHVzdGVySW50ZXJmYWNlIjtzOjEzOiJQcmVkaXNDbHVzdGVyIjtzOjQxOiJQcmVkaXNcQ29ubmVjdGlvblxBZ2dyZWdhdGVcUHJlZGlzQ2x1c3RlciI7czoyMDoiUmVwbGljYXRpb25JbnRlcmZhY2UiO3M6NDg6IlByZWRpc1xDb25uZWN0aW9uXEFnZ3JlZ2F0ZVxSZXBsaWNhdGlvbkludGVyZmFjZSI7czoyNzoiUHJlZGlzMlJlcGxpY2F0aW9uSW50ZXJmYWNlIjtzOjUwOiJQcmVkaXNcQ29ubmVjdGlvblxSZXBsaWNhdGlvblxSZXBsaWNhdGlvbkludGVyZmFjZSI7czoxNDoiRXJyb3JJbnRlcmZhY2UiO3M6MzA6IlByZWRpc1xSZXNwb25zZVxFcnJvckludGVyZmFjZSI7czo2OiJTdGF0dXMiO3M6MjI6IlByZWRpc1xSZXNwb25zZVxTdGF0dXMiO3M6NToiUmVsYXkiO3M6MTE6IlJlbGF5XFJlbGF5IjtzOjk6IkNhY2hlSXRlbSI7czozMzoiU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQ2FjaGVJdGVtIjtzOjI0OiJJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iO3M6NTg6IlN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iO3M6MTQ6IkxvZ2ljRXhjZXB0aW9uIjtzOjQ4OiJTeW1mb255XENvbXBvbmVudFxDYWNoZVxFeGNlcHRpb25cTG9naWNFeGNlcHRpb24iO3M6MTc6IkRlZmxhdGVNYXJzaGFsbGVyIjtzOjUyOiJTeW1mb255XENvbXBvbmVudFxDYWNoZVxNYXJzaGFsbGVyXERlZmxhdGVNYXJzaGFsbGVyIjtzOjE5OiJNYXJzaGFsbGVySW50ZXJmYWNlIjtzOjU0OiJTeW1mb255XENvbXBvbmVudFxDYWNoZVxNYXJzaGFsbGVyXE1hcnNoYWxsZXJJbnRlcmZhY2UiO3M6MTg6IlRhZ0F3YXJlTWFyc2hhbGxlciI7czo1MzoiU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxUYWdBd2FyZU1hcnNoYWxsZXIiO3M6MTA6IlJlZGlzVHJhaXQiO3M6NDE6IlN5bWZvbnlcQ29tcG9uZW50XENhY2hlXFRyYWl0c1xSZWRpc1RyYWl0Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAdmFsdWUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbiI6Mjp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBleHByZXNzaW9uIjtzOjc6Ijg2NDAwMDAiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MDp7fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABmaW5hbCI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50AG1ldGFkYXRhIjthOjA6e31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABhdHRyaWJ1dGVzIjthOjA6e319fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwcm9wZXJ0aWVzIjthOjI6e3M6NzU6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXFJlZGlzVGFnQXdhcmVBZGFwdGVyOjokcmVkaXNFdmljdGlvblBvbGljeSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6MTQ6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjYxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjc1OiJcU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxSZWRpc1RhZ0F3YXJlQWRhcHRlcjo6JHJlZGlzRXZpY3Rpb25Qb2xpY3kiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToicmVkaXNFdmljdGlvblBvbGljeSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0NjoiZGV0ZWN0ZWQgZXZpY3Rpb24gcG9saWN5IHVzZWQgb24gUmVkaXMgc2VydmVyLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjMyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAaG9va3MiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpcnR1YWwiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBtZXRhZGF0YSI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAYXR0cmlidXRlcyI7YTowOnt9fXM6NjU6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXFJlZGlzVGFnQXdhcmVBZGFwdGVyOjokbmFtZXNwYWNlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5IjoxNDp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjYyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjU6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXFJlZGlzVGFnQXdhcmVBZGFwdGVyOjokbmFtZXNwYWNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6OToibmFtZXNwYWNlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO047czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAaG9va3MiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpcnR1YWwiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBtZXRhZGF0YSI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0aG9kcyI7YTo2OntzOjY4OiJcU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxSZWRpc1RhZ0F3YXJlQWRhcHRlcjo6X19jb25zdHJ1Y3QoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjQ6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6NTp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2OiJcUmVkaXMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJSZWRpcyI7fX1pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjEyOiJcUmVsYXlcUmVsYXkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJSZWxheSI7fX1pOjI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjExOiJcUmVkaXNBcnJheSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJSZWRpc0FycmF5Ijt9fWk6MztPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTM6IlxSZWRpc0NsdXN0ZXIiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMjoiUmVkaXNDbHVzdGVyIjt9fWk6NDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MjM6IlxQcmVkaXNcQ2xpZW50SW50ZXJmYWNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6IkNsaWVudEludGVyZmFjZSI7fX19czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo1OiJyZWRpcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo5OiJuYW1lc3BhY2UiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbiI6Mjp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBleHByZXNzaW9uIjtzOjI6IicnIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjA6e319czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6ImRlZmF1bHRMaWZldGltZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6MToiMCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YTowOnt9fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjM7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlIjoxOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlAHJlYWxUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTU6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxNYXJzaGFsbGVyXE1hcnNoYWxsZXJJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiTWFyc2hhbGxlckludGVyZmFjZSI7fX19czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMDoibWFyc2hhbGxlciI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6NDQ6Int7IFBIUERPQzM3YTYyNTljYzBjMWRhZTI5OWE3ODY2NDg5ZGZmMGJkIH19IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjE6e3M6NDQ6Int7IFBIUERPQzM3YTYyNTljYzBjMWRhZTI5OWE3ODY2NDg5ZGZmMGJkIH19IjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbF8iOjA6e319fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyNTEzO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjgzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjM5MjE7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njg6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXFJlZGlzVGFnQXdhcmVBZGFwdGVyOjpfX2NvbnN0cnVjdCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6Il9fY29uc3RydWN0Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NjM6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXFJlZGlzVGFnQXdhcmVBZGFwdGVyOjpkb1NhdmUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjQ6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InZhbHVlcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJsaWZldGltZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTA6ImFkZFRhZ0RhdGEiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbiI6Mjp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBleHByZXNzaW9uIjtzOjI6IltdIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjA6e319czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEwOiJkZWxUYWdEYXRhIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czoyOiJbXSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YTowOnt9fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4NTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTozOTI4O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEzNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo2MDc4O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjM6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXFJlZGlzVGFnQXdhcmVBZGFwdGVyOjpkb1NhdmUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjY6ImRvU2F2ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo5OiJwcm90ZWN0ZWQiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjc0OiJcU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxSZWRpc1RhZ0F3YXJlQWRhcHRlcjo6ZG9EZWxldGVZaWVsZFRhZ3MoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjM6ImlkcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTM2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjYwODU7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTcyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjc0OTI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjQwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSXRlcmFibGVfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo3NDoiXFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcUmVkaXNUYWdBd2FyZUFkYXB0ZXI6OmRvRGVsZXRlWWllbGRUYWdzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiZG9EZWxldGVZaWVsZFRhZ3MiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6OToicHJvdGVjdGVkIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo3NzoiXFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcUmVkaXNUYWdBd2FyZUFkYXB0ZXI6OmRvRGVsZXRlVGFnUmVsYXRpb25zKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJ0YWdEYXRhIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNzQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NzQ5OTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxODc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NzkwNDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Nzc6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXFJlZGlzVGFnQXdhcmVBZGFwdGVyOjpkb0RlbGV0ZVRhZ1JlbGF0aW9ucygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjA6ImRvRGVsZXRlVGFnUmVsYXRpb25zIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjk6InByb3RlY3RlZCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6Njk6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXFJlZGlzVGFnQXdhcmVBZGFwdGVyOjpkb0ludmFsaWRhdGUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InRhZ0lkcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTg5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjc5MTE7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjgwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjExMzY0O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2OToiXFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcUmVkaXNUYWdBd2FyZUFkYXB0ZXI6OmRvSW52YWxpZGF0ZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTI6ImRvSW52YWxpZGF0ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo5OiJwcm90ZWN0ZWQiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjc5OiJcU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxSZWRpc1RhZ0F3YXJlQWRhcHRlcjo6Z2V0UmVkaXNFdmljdGlvblBvbGljeSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjgyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjExMzcxO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMxNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxMjQ5Mzt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Nzk6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXFJlZGlzVGFnQXdhcmVBZGFwdGVyOjpnZXRSZWRpc0V2aWN0aW9uUG9saWN5KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMjoiZ2V0UmVkaXNFdmljdGlvblBvbGljeSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwB1c2VkVHJhaXRzIjthOjE6e3M6NDI6IlxTeW1mb255XENvbXBvbmVudFxDYWNoZVxUcmFpdHNcUmVkaXNUcmFpdCI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQyOiJcU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcVHJhaXRzXFJlZGlzVHJhaXQiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMDoiUmVkaXNUcmFpdCI7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzE2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxSZWRpc1RhZ0F3YXJlQWRhcHRlciI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIwOiJSZWRpc1RhZ0F3YXJlQWRhcHRlciI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTQ6IlN0b3JlcyB0YWcgaWQgPD4gY2FjaGUgaWQgcmVsYXRpb25zaGlwIGFzIGEgUmVkaXMgU2V0LiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2MzQ6IlNldCAodGFnIHJlbGF0aW9uIGluZm8pIGlzIHN0b3JlZCB3aXRob3V0IGV4cGlyeSAobm9uLXZvbGF0aWxlKSwgd2hpbGUgY2FjaGUgYWx3YXlzIGdldHMgYW4gZXhwaXJ5ICh2b2xhdGlsZSkgZXZlbgppZiBub3Qgc2V0IGJ5IGNhbGxlci4gVGh1cyBpZiB5b3UgY29uZmlndXJlIHJlZGlzIHdpdGggdGhlIHJpZ2h0IGV2aWN0aW9uIHBvbGljeSB5b3UgY2FuIGJlIHNhZmUgdGhpcyB0YWcgPD4gY2FjaGUKcmVsYXRpb25zaGlwIHN1cnZpdmVzIGV2aWN0aW9uIChjYWNoZSBjbGVhbnVwIHdoZW4gUmVkaXMgcnVucyBvdXQgb2YgbWVtb3J5KS4KClJlZGlzIHNlcnZlciAyLjgrIHdpdGggYW55IGB2b2xhdGlsZS0qYCBldmljdGlvbiBwb2xpY3ksIE9SIGBub2V2aWN0aW9uYCBpZiB5b3UncmUgc3VyZSBtZW1vcnkgd2lsbCBORVZFUiBmaWxsIHVwCgpEZXNpZ24gbGltaXRhdGlvbnM6CiAtIE1heCA0IGJpbGxpb24gY2FjaGUga2V5cyBwZXIgY2FjaGUgdGFnIGFzIGxpbWl0ZWQgYnkgUmVkaXMgU2V0IGRhdGF0eXBlLgogICBFLmcuIElmIHlvdSB1c2UgYSAiYWxsIiBpdGVtcyB0YWcgZm9yIGV4cGlyeSBpbnN0ZWFkIG9mIGNsZWFyKCksIHRoYXQgbGltaXRzIHlvdSB0byA0IGJpbGxpb24gY2FjaGUgaXRlbXMgYWxzby4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo0OntpOjA7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlIjozOntzOjc6IgAqAG5hbWUiO3M6Mzoic2VlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0MjoiRG9jdW1lbnRhdGlvbiBmb3IgUmVkaXMgZXZpY3Rpb24gcG9saWNpZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjk6IgAqAHJlZmVycyI7Tzo1MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXFVybCI6MTp7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxVcmwAdXJpIjtzOjUxOiJodHRwczovL3JlZGlzLmlvL3RvcGljcy9scnUtY2FjaGUjZXZpY3Rpb24tcG9saWNpZXMiO319aToxO086NDI6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFNlZSI6Mzp7czo3OiIAKgBuYW1lIjtzOjM6InNlZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mzc6IkRvY3VtZW50YXRpb24gZm9yIFJlZGlzIFNldCBkYXRhdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6OToiACoAcmVmZXJzIjtPOjUyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcVXJsIjoxOntzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXFVybAB1cmkiO3M6Mzk6Imh0dHBzOi8vcmVkaXMuaW8vdG9waWNzL2RhdGEtdHlwZXMjc2V0cyI7fX1pOjI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yIjo0OntzOjc6IgAqAG5hbWUiO3M6NjoiYXV0aG9yIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7TjtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvck5hbWUiO3M6MTQ6Ik5pY29sYXMgR3Jla2FzIjtzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvckVtYWlsIjtzOjEzOiJwQHRjaHdvcmsuY29tIjt9aTozO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvciI6NDp7czo3OiIAKgBuYW1lIjtzOjY6ImF1dGhvciI7czoxNDoiACoAZGVzY3JpcHRpb24iO047czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvcgBhdXRob3JOYW1lIjtzOjE0OiJBbmRyw6kgUsO4bWNrZSI7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvcgBhdXRob3JFbWFpbCI7czozMDoiYW5kcmUucm9tY2tlK3N5bWZvbnlAZ21haWwuY29tIjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjozMjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NjoiXFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RUYWdBd2FyZUFkYXB0ZXIiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMzoiQWJzdHJhY3RUYWdBd2FyZUFkYXB0ZXIiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcmVhZE9ubHkiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhdHRyaWJ1dGVzIjthOjA6e319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaGFzaCI7czozMjoiNGExODY0YjZmZWZiYTUzOTFkYzZmMzQzNmI1MWRkMmEiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo1MzoidmVuZG9yL3N5bWZvbnkvY2FjaGUvQWRhcHRlci9SZWRpc1RhZ0F3YXJlQWRhcHRlci5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjEyNDk3OiI8P3BocAoKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFN5bWZvbnkgcGFja2FnZS4KICoKICogKGMpIEZhYmllbiBQb3RlbmNpZXIgPGZhYmllbkBzeW1mb255LmNvbT4KICoKICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0UKICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuCiAqLwoKbmFtZXNwYWNlIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXI7Cgp1c2UgUHJlZGlzXENvbm5lY3Rpb25cQWdncmVnYXRlXENsdXN0ZXJJbnRlcmZhY2U7CnVzZSBQcmVkaXNcQ29ubmVjdGlvblxBZ2dyZWdhdGVcUHJlZGlzQ2x1c3RlcjsKdXNlIFByZWRpc1xDb25uZWN0aW9uXEFnZ3JlZ2F0ZVxSZXBsaWNhdGlvbkludGVyZmFjZTsKdXNlIFByZWRpc1xDb25uZWN0aW9uXFJlcGxpY2F0aW9uXFJlcGxpY2F0aW9uSW50ZXJmYWNlIGFzIFByZWRpczJSZXBsaWNhdGlvbkludGVyZmFjZTsKdXNlIFByZWRpc1xSZXNwb25zZVxFcnJvckludGVyZmFjZTsKdXNlIFByZWRpc1xSZXNwb25zZVxTdGF0dXM7CnVzZSBSZWxheVxSZWxheTsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXENhY2hlSXRlbTsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBTeW1mb255XENvbXBvbmVudFxDYWNoZVxFeGNlcHRpb25cTG9naWNFeGNlcHRpb247CnVzZSBTeW1mb255XENvbXBvbmVudFxDYWNoZVxNYXJzaGFsbGVyXERlZmxhdGVNYXJzaGFsbGVyOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxNYXJzaGFsbGVySW50ZXJmYWNlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxUYWdBd2FyZU1hcnNoYWxsZXI7CnVzZSBTeW1mb255XENvbXBvbmVudFxDYWNoZVxUcmFpdHNcUmVkaXNUcmFpdDsKCi8qKgogKiBTdG9yZXMgdGFnIGlkIDw+IGNhY2hlIGlkIHJlbGF0aW9uc2hpcCBhcyBhIFJlZGlzIFNldC4KICoKICogU2V0ICh0YWcgcmVsYXRpb24gaW5mbykgaXMgc3RvcmVkIHdpdGhvdXQgZXhwaXJ5IChub24tdm9sYXRpbGUpLCB3aGlsZSBjYWNoZSBhbHdheXMgZ2V0cyBhbiBleHBpcnkgKHZvbGF0aWxlKSBldmVuCiAqIGlmIG5vdCBzZXQgYnkgY2FsbGVyLiBUaHVzIGlmIHlvdSBjb25maWd1cmUgcmVkaXMgd2l0aCB0aGUgcmlnaHQgZXZpY3Rpb24gcG9saWN5IHlvdSBjYW4gYmUgc2FmZSB0aGlzIHRhZyA8PiBjYWNoZQogKiByZWxhdGlvbnNoaXAgc3Vydml2ZXMgZXZpY3Rpb24gKGNhY2hlIGNsZWFudXAgd2hlbiBSZWRpcyBydW5zIG91dCBvZiBtZW1vcnkpLgogKgogKiBSZWRpcyBzZXJ2ZXIgMi44KyB3aXRoIGFueSBgdm9sYXRpbGUtKmAgZXZpY3Rpb24gcG9saWN5LCBPUiBgbm9ldmljdGlvbmAgaWYgeW91J3JlIHN1cmUgbWVtb3J5IHdpbGwgTkVWRVIgZmlsbCB1cAogKgogKiBEZXNpZ24gbGltaXRhdGlvbnM6CiAqICAtIE1heCA0IGJpbGxpb24gY2FjaGUga2V5cyBwZXIgY2FjaGUgdGFnIGFzIGxpbWl0ZWQgYnkgUmVkaXMgU2V0IGRhdGF0eXBlLgogKiAgICBFLmcuIElmIHlvdSB1c2UgYSAiYWxsIiBpdGVtcyB0YWcgZm9yIGV4cGlyeSBpbnN0ZWFkIG9mIGNsZWFyKCksIHRoYXQgbGltaXRzIHlvdSB0byA0IGJpbGxpb24gY2FjaGUgaXRlbXMgYWxzby4KICoKICogQHNlZSBodHRwczovL3JlZGlzLmlvL3RvcGljcy9scnUtY2FjaGUjZXZpY3Rpb24tcG9saWNpZXMgRG9jdW1lbnRhdGlvbiBmb3IgUmVkaXMgZXZpY3Rpb24gcG9saWNpZXMuCiAqIEBzZWUgaHR0cHM6Ly9yZWRpcy5pby90b3BpY3MvZGF0YS10eXBlcyNzZXRzIERvY3VtZW50YXRpb24gZm9yIFJlZGlzIFNldCBkYXRhdHlwZS4KICoKICogQGF1dGhvciBOaWNvbGFzIEdyZWthcyA8cEB0Y2h3b3JrLmNvbT4KICogQGF1dGhvciBBbmRyw6kgUsO4bWNrZSA8YW5kcmUucm9tY2tlK3N5bWZvbnlAZ21haWwuY29tPgogKi8KY2xhc3MgUmVkaXNUYWdBd2FyZUFkYXB0ZXIgZXh0ZW5kcyBBYnN0cmFjdFRhZ0F3YXJlQWRhcHRlcgp7CiAgICB1c2UgUmVkaXNUcmFpdDsKCiAgICAvKioKICAgICAqIE9uIGNhY2hlIGl0ZW1zIHdpdGhvdXQgYSBsaWZldGltZSBzZXQsIHdlIHNldCBpdCB0byAxMDAgZGF5cy4gVGhpcyBpcyB0byBtYWtlIHN1cmUgY2FjaGUgaXRlbXMgYXJlCiAgICAgKiBwcmVmZXJyZWQgdG8gYmUgZXZpY3RlZCBvdmVyIHRhZyBTZXRzLCBpZiBldmljdGlvbiBwb2xpY3kgaXMgY29uZmlndXJlZCBhY2NvcmRpbmcgdG8gcmVxdWlyZW1lbnRzLgogICAgICovCiAgICBwcml2YXRlIGNvbnN0IERFRkFVTFRfQ0FDSEVfVFRMID0gODY0MDAwMDsKCiAgICAvKioKICAgICAqIGRldGVjdGVkIGV2aWN0aW9uIHBvbGljeSB1c2VkIG9uIFJlZGlzIHNlcnZlci4KICAgICAqLwogICAgcHJpdmF0ZSBzdHJpbmcgJHJlZGlzRXZpY3Rpb25Qb2xpY3k7CiAgICBwcml2YXRlIHN0cmluZyAkbmFtZXNwYWNlOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChcUmVkaXN8UmVsYXl8XFJlZGlzQXJyYXl8XFJlZGlzQ2x1c3RlcnxcUHJlZGlzXENsaWVudEludGVyZmFjZSAkcmVkaXMsIHN0cmluZyAkbmFtZXNwYWNlID0gJycsIGludCAkZGVmYXVsdExpZmV0aW1lID0gMCwgP01hcnNoYWxsZXJJbnRlcmZhY2UgJG1hcnNoYWxsZXIgPSBudWxsKQogICAgewogICAgICAgIGlmICgkcmVkaXMgaW5zdGFuY2VvZiBcUHJlZGlzXENsaWVudEludGVyZmFjZSAmJiAkcmVkaXMtPmdldENvbm5lY3Rpb24oKSBpbnN0YW5jZW9mIENsdXN0ZXJJbnRlcmZhY2UgJiYgISRyZWRpcy0+Z2V0Q29ubmVjdGlvbigpIGluc3RhbmNlb2YgUHJlZGlzQ2x1c3RlcikgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdVbnN1cHBvcnRlZCBQcmVkaXMgY2x1c3RlciBjb25uZWN0aW9uOiBvbmx5ICIlcyIgaXMsICIlcyIgZ2l2ZW4uJywgUHJlZGlzQ2x1c3Rlcjo6Y2xhc3MsIGdldF9kZWJ1Z190eXBlKCRyZWRpcy0+Z2V0Q29ubmVjdGlvbigpKSkpOwogICAgICAgIH0KCiAgICAgICAgJGlzUmVsYXkgPSAkcmVkaXMgaW5zdGFuY2VvZiBSZWxheTsKICAgICAgICBpZiAoJGlzUmVsYXkgfHwgXGRlZmluZWQoJ1JlZGlzOjpPUFRfQ09NUFJFU1NJT04nKSAmJiBcaW5fYXJyYXkoJHJlZGlzOjpjbGFzcywgW1xSZWRpczo6Y2xhc3MsIFxSZWRpc0FycmF5OjpjbGFzcywgXFJlZGlzQ2x1c3Rlcjo6Y2xhc3NdLCB0cnVlKSkgewogICAgICAgICAgICAkY29tcHJlc3Npb24gPSAkcmVkaXMtPmdldE9wdGlvbigkaXNSZWxheSA/IFJlbGF5OjpPUFRfQ09NUFJFU1NJT04gOiBcUmVkaXM6Ok9QVF9DT01QUkVTU0lPTik7CgogICAgICAgICAgICBmb3JlYWNoIChcaXNfYXJyYXkoJGNvbXByZXNzaW9uKSA/ICRjb21wcmVzc2lvbiA6IFskY29tcHJlc3Npb25dIGFzICRjKSB7CiAgICAgICAgICAgICAgICBpZiAoJGlzUmVsYXkgPyBSZWxheTo6Q09NUFJFU1NJT05fTk9ORSA6IFxSZWRpczo6Q09NUFJFU1NJT05fTk9ORSAhPT0gJGMpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdyZWRpcyBjb21wcmVzc2lvbiBtdXN0IGJlIGRpc2FibGVkIHdoZW4gdXNpbmcgIiVzIiwgdXNlICIlcyIgaW5zdGVhZC4nLCBzdGF0aWM6OmNsYXNzLCBEZWZsYXRlTWFyc2hhbGxlcjo6Y2xhc3MpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmluaXQoJHJlZGlzLCAkbmFtZXNwYWNlLCAkZGVmYXVsdExpZmV0aW1lLCBuZXcgVGFnQXdhcmVNYXJzaGFsbGVyKCRtYXJzaGFsbGVyKSk7CiAgICAgICAgJHRoaXMtPm5hbWVzcGFjZSA9ICRuYW1lc3BhY2U7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGRvU2F2ZShhcnJheSAkdmFsdWVzLCBpbnQgJGxpZmV0aW1lLCBhcnJheSAkYWRkVGFnRGF0YSA9IFtdLCBhcnJheSAkZGVsVGFnRGF0YSA9IFtdKTogYXJyYXkKICAgIHsKICAgICAgICAkZXZpY3Rpb24gPSAkdGhpcy0+Z2V0UmVkaXNFdmljdGlvblBvbGljeSgpOwogICAgICAgIGlmICgnbm9ldmljdGlvbicgIT09ICRldmljdGlvbiAmJiAhc3RyX3N0YXJ0c193aXRoKCRldmljdGlvbiwgJ3ZvbGF0aWxlLScpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBMb2dpY0V4Y2VwdGlvbihcc3ByaW50ZignUmVkaXMgbWF4bWVtb3J5LXBvbGljeSBzZXR0aW5nICIlcyIgaXMgKm5vdCogc3VwcG9ydGVkIGJ5IFJlZGlzVGFnQXdhcmVBZGFwdGVyLCB1c2UgIm5vZXZpY3Rpb24iIG9yICJ2b2xhdGlsZS0qIiBldmljdGlvbiBwb2xpY2llcy4nLCAkZXZpY3Rpb24pKTsKICAgICAgICB9CgogICAgICAgIC8vIHNlcmlhbGl6ZSB2YWx1ZXMKICAgICAgICBpZiAoISRzZXJpYWxpemVkID0gJHRoaXMtPm1hcnNoYWxsZXItPm1hcnNoYWxsKCR2YWx1ZXMsICRmYWlsZWQpKSB7CiAgICAgICAgICAgIHJldHVybiAkZmFpbGVkOwogICAgICAgIH0KCiAgICAgICAgLy8gV2hpbGUgcGlwZWxpbmUgaXNuJ3Qgc3VwcG9ydGVkIG9uIFJlZGlzQ2x1c3Rlciwgb3RoZXIgc2V0dXBzIHdpbGwgYXQgbGVhc3QgYmVuZWZpdCBmcm9tIGRvaW5nIHRoaXMgaW4gb25lIG9wCiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+cGlwZWxpbmUoc3RhdGljIGZ1bmN0aW9uICgpIHVzZSAoJHNlcmlhbGl6ZWQsICRsaWZldGltZSwgJGFkZFRhZ0RhdGEsICRkZWxUYWdEYXRhLCAkZmFpbGVkKSB7CiAgICAgICAgICAgIC8vIFN0b3JlIGNhY2hlIGl0ZW1zLCBmb3JjZSBhIHR0bCBpZiBub25lIGlzIHNldCwgYXMgdGhlcmUgaXMgbm8gTVNFVEVYIHdlIG5lZWQgdG8gc2V0IGVhY2ggb25lCiAgICAgICAgICAgIGZvcmVhY2ggKCRzZXJpYWxpemVkIGFzICRpZCA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgICAgIHlpZWxkICdzZXRFeCcgPT4gWwogICAgICAgICAgICAgICAgICAgICRpZCwKICAgICAgICAgICAgICAgICAgICAwID49ICRsaWZldGltZSA/IHNlbGY6OkRFRkFVTFRfQ0FDSEVfVFRMIDogJGxpZmV0aW1lLAogICAgICAgICAgICAgICAgICAgICR2YWx1ZSwKICAgICAgICAgICAgICAgIF07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIEFkZCBhbmQgUmVtb3ZlIFRhZ3MKICAgICAgICAgICAgZm9yZWFjaCAoJGFkZFRhZ0RhdGEgYXMgJHRhZ0lkID0+ICRpZHMpIHsKICAgICAgICAgICAgICAgIGlmICghJGZhaWxlZCB8fCAkaWRzID0gYXJyYXlfZGlmZigkaWRzLCAkZmFpbGVkKSkgewogICAgICAgICAgICAgICAgICAgIHlpZWxkICdzQWRkJyA9PiBhcnJheV9tZXJnZShbJHRhZ0lkXSwgJGlkcyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZvcmVhY2ggKCRkZWxUYWdEYXRhIGFzICR0YWdJZCA9PiAkaWRzKSB7CiAgICAgICAgICAgICAgICBpZiAoISRmYWlsZWQgfHwgJGlkcyA9IGFycmF5X2RpZmYoJGlkcywgJGZhaWxlZCkpIHsKICAgICAgICAgICAgICAgICAgICB5aWVsZCAnc1JlbScgPT4gYXJyYXlfbWVyZ2UoWyR0YWdJZF0sICRpZHMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIGZvcmVhY2ggKCRyZXN1bHRzIGFzICRpZCA9PiAkcmVzdWx0KSB7CiAgICAgICAgICAgIC8vIFNraXAgcmVzdWx0cyBvZiBTQUREL1NSRU0gb3BlcmF0aW9ucywgdGhleSdsbCBiZSAxIG9yIDAgZGVwZW5kaW5nIG9uIGlmIHNldCB2YWx1ZSBhbHJlYWR5IGV4aXN0ZWQgb3Igbm90CiAgICAgICAgICAgIGlmIChpc19udW1lcmljKCRyZXN1bHQpKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBzZXRFeCByZXN1bHRzCiAgICAgICAgICAgIGlmICh0cnVlICE9PSAkcmVzdWx0ICYmICghJHJlc3VsdCBpbnN0YW5jZW9mIFN0YXR1cyB8fCBTdGF0dXM6OmdldCgnT0snKSAhPT0gJHJlc3VsdCkpIHsKICAgICAgICAgICAgICAgICRmYWlsZWRbXSA9ICRpZDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRmYWlsZWQ7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGRvRGVsZXRlWWllbGRUYWdzKGFycmF5ICRpZHMpOiBpdGVyYWJsZQogICAgewogICAgICAgICRsdWEgPSA8PDwnRU9MVUEnCiAgICAgICAgICAgIGxvY2FsIHYgPSByZWRpcy5jYWxsKCdHRVQnLCBLRVlTWzFdKQogICAgICAgICAgICBsb2NhbCBlID0gcmVkaXMucGNhbGwoJ1VOTElOSycsIEtFWVNbMV0pCgogICAgICAgICAgICBpZiB0eXBlKGUpIH49ICdudW1iZXInIHRoZW4KICAgICAgICAgICAgICAgIHJlZGlzLmNhbGwoJ0RFTCcsIEtFWVNbMV0pCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgaWYgbm90IHYgb3IgdjpsZW4oKSA8PSAxMyBvciB2OmJ5dGUoMSkgfj0gMHg5RCBvciB2OmJ5dGUoNikgfj0gMCBvciB2OmJ5dGUoMTApIH49IDB4NUYgdGhlbgogICAgICAgICAgICAgICAgcmV0dXJuICcnCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgcmV0dXJuIHY6c3ViKDE0LCAxMyArIHY6Ynl0ZSgxMykgKyB2OmJ5dGUoMTIpICogMjU2ICsgdjpieXRlKDExKSAqIDY1NTM2KQpFT0xVQTsKCiAgICAgICAgJHJlc3VsdHMgPSAkdGhpcy0+cGlwZWxpbmUoZnVuY3Rpb24gKCkgdXNlICgkaWRzLCAkbHVhKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCRpZHMgYXMgJGlkKSB7CiAgICAgICAgICAgICAgICB5aWVsZCAnZXZhbCcgPT4gJHRoaXMtPnJlZGlzIGluc3RhbmNlb2YgXFByZWRpc1xDbGllbnRJbnRlcmZhY2UgPyBbJGx1YSwgMSwgJGlkXSA6IFskbHVhLCBbJGlkXSwgMV07CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgZm9yZWFjaCAoJHJlc3VsdHMgYXMgJGlkID0+ICRyZXN1bHQpIHsKICAgICAgICAgICAgaWYgKCRyZXN1bHQgaW5zdGFuY2VvZiBcUmVkaXNFeGNlcHRpb24gfHwgJHJlc3VsdCBpbnN0YW5jZW9mIFxSZWxheVxFeGNlcHRpb24gfHwgJHJlc3VsdCBpbnN0YW5jZW9mIEVycm9ySW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICBDYWNoZUl0ZW06OmxvZygkdGhpcy0+bG9nZ2VyLCAnRmFpbGVkIHRvIGRlbGV0ZSBrZXkgIntrZXl9IjogJy4kcmVzdWx0LT5nZXRNZXNzYWdlKCksIFsna2V5JyA9PiBzdWJzdHIoJGlkLCBcc3RybGVuKCR0aGlzLT5uYW1lc3BhY2UpKSwgJ2V4Y2VwdGlvbicgPT4gJHJlc3VsdF0pOwoKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgeWllbGQgJGlkID0+ICFcaXNfc3RyaW5nKCRyZXN1bHQpIHx8ICcnID09PSAkcmVzdWx0ID8gW10gOiAkdGhpcy0+bWFyc2hhbGxlci0+dW5tYXJzaGFsbCgkcmVzdWx0KTsKICAgICAgICAgICAgfSBjYXRjaCAoXEV4Y2VwdGlvbikgewogICAgICAgICAgICAgICAgeWllbGQgJGlkID0+IFtdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBkb0RlbGV0ZVRhZ1JlbGF0aW9ucyhhcnJheSAkdGFnRGF0YSk6IGJvb2wKICAgIHsKICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5waXBlbGluZShzdGF0aWMgZnVuY3Rpb24gKCkgdXNlICgkdGFnRGF0YSkgewogICAgICAgICAgICBmb3JlYWNoICgkdGFnRGF0YSBhcyAkdGFnSWQgPT4gJGlkTGlzdCkgewogICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkaWRMaXN0LCAkdGFnSWQpOwogICAgICAgICAgICAgICAgeWllbGQgJ3NSZW0nID0+ICRpZExpc3Q7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICBmb3JlYWNoICgkcmVzdWx0cyBhcyAkcmVzdWx0KSB7CiAgICAgICAgICAgIC8vIG5vLW9wCiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gZG9JbnZhbGlkYXRlKGFycmF5ICR0YWdJZHMpOiBib29sCiAgICB7CiAgICAgICAgLy8gVGhpcyBzY3JpcHQgc2NhbnMgdGhlIHNldCBvZiBpdGVtcyBsaW5rZWQgdG8gdGFnOiBpdCBlbXB0aWVzIHRoZSBzZXQKICAgICAgICAvLyBhbmQgcmVtb3ZlcyB0aGUgbGlua2VkIGl0ZW1zLiBXaGVuIHRoZSBzZXQgaXMgc3RpbGwgbm90IGVtcHR5IGFmdGVyCiAgICAgICAgLy8gdGhlIHNjYW4sIGl0IG1lYW5zIHdlJ3JlIGluIGNsdXN0ZXIgbW9kZSBhbmQgdGhhdCB0aGUgbGlua2VkIGl0ZW1zCiAgICAgICAgLy8gYXJlIG9uIG90aGVyIG5vZGVzOiB3ZSBtb3ZlIHRoZSBsaW5rcyB0byBhIHRlbXBvcmFyeSBzZXQgYW5kIHdlCiAgICAgICAgLy8gZ2FyYmFnZSBjb2xsZWN0IHRoYXQgc2V0IGZyb20gdGhlIGNsaWVudCBzaWRlLgoKICAgICAgICAkbHVhID0gPDw8J0VPTFVBJwogICAgICAgICAgICByZWRpcy5yZXBsaWNhdGVfY29tbWFuZHMoKQoKICAgICAgICAgICAgbG9jYWwgY3Vyc29yID0gJzAnCiAgICAgICAgICAgIGxvY2FsIGlkID0gS0VZU1sxXQogICAgICAgICAgICByZXBlYXQKICAgICAgICAgICAgICAgIGxvY2FsIHJlc3VsdCA9IHJlZGlzLmNhbGwoJ1NTQ0FOJywgaWQsIGN1cnNvciwgJ0NPVU5UJywgNTAwMCk7CiAgICAgICAgICAgICAgICBjdXJzb3IgPSByZXN1bHRbMV07CiAgICAgICAgICAgICAgICBsb2NhbCByZW1zID0ge30KCiAgICAgICAgICAgICAgICBmb3IgXywgdiBpbiBpcGFpcnMocmVzdWx0WzJdKSBkbwogICAgICAgICAgICAgICAgICAgIGxvY2FsIG9rLCBfID0gcGNhbGwocmVkaXMuY2FsbCwgJ0RFTCcsIEFSR1ZbMV0uLnYpCiAgICAgICAgICAgICAgICAgICAgaWYgb2sgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICB0YWJsZS5pbnNlcnQocmVtcywgdikKICAgICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgaWYgMCA8ICNyZW1zIHRoZW4KICAgICAgICAgICAgICAgICAgICByZWRpcy5jYWxsKCdTUkVNJywgaWQsIHVucGFjayhyZW1zKSkKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICB1bnRpbCAnMCcgPT0gY3Vyc29yOwoKICAgICAgICAgICAgcmVkaXMuY2FsbCgnU1VOSU9OU1RPUkUnLCAneycuLmlkLi4nfScuLmlkLCBpZCkKICAgICAgICAgICAgcmVkaXMuY2FsbCgnREVMJywgaWQpCgogICAgICAgICAgICByZXR1cm4gcmVkaXMuY2FsbCgnU1NDQU4nLCAneycuLmlkLi4nfScuLmlkLCAnMCcsICdDT1VOVCcsIDUwMDApCkVPTFVBOwoKICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5waXBlbGluZShmdW5jdGlvbiAoKSB1c2UgKCR0YWdJZHMsICRsdWEpIHsKICAgICAgICAgICAgaWYgKCR0aGlzLT5yZWRpcyBpbnN0YW5jZW9mIFxQcmVkaXNcQ2xpZW50SW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICAkcHJlZml4ID0gJHRoaXMtPnJlZGlzLT5nZXRPcHRpb25zKCktPnByZWZpeCA/ICR0aGlzLT5yZWRpcy0+Z2V0T3B0aW9ucygpLT5wcmVmaXgtPmdldFByZWZpeCgpIDogJyc7CiAgICAgICAgICAgIH0gZWxzZWlmIChcaXNfYXJyYXkoJHByZWZpeCA9ICR0aGlzLT5yZWRpcy0+Z2V0T3B0aW9uKCR0aGlzLT5yZWRpcyBpbnN0YW5jZW9mIFJlbGF5ID8gUmVsYXk6Ok9QVF9QUkVGSVggOiBcUmVkaXM6Ok9QVF9QUkVGSVgpID8/ICcnKSkgewogICAgICAgICAgICAgICAgJHByZWZpeCA9IGN1cnJlbnQoJHByZWZpeCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZvcmVhY2ggKCR0YWdJZHMgYXMgJGlkKSB7CiAgICAgICAgICAgICAgICB5aWVsZCAnZXZhbCcgPT4gJHRoaXMtPnJlZGlzIGluc3RhbmNlb2YgXFByZWRpc1xDbGllbnRJbnRlcmZhY2UgPyBbJGx1YSwgMSwgJGlkLCAkcHJlZml4XSA6IFskbHVhLCBbJGlkLCAkcHJlZml4XSwgMV07CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgJGx1YSA9IDw8PCdFT0xVQScKICAgICAgICAgICAgcmVkaXMucmVwbGljYXRlX2NvbW1hbmRzKCkKCiAgICAgICAgICAgIGxvY2FsIGlkID0gS0VZU1sxXQogICAgICAgICAgICBsb2NhbCBjdXJzb3IgPSB0YWJsZS5yZW1vdmUoQVJHVikKICAgICAgICAgICAgcmVkaXMuY2FsbCgnU1JFTScsICd7Jy4uaWQuLid9Jy4uaWQsIHVucGFjayhBUkdWKSkKCiAgICAgICAgICAgIHJldHVybiByZWRpcy5jYWxsKCdTU0NBTicsICd7Jy4uaWQuLid9Jy4uaWQsIGN1cnNvciwgJ0NPVU5UJywgNTAwMCkKRU9MVUE7CgogICAgICAgICRzdWNjZXNzID0gdHJ1ZTsKICAgICAgICBmb3JlYWNoICgkcmVzdWx0cyBhcyAkaWQgPT4gJHZhbHVlcykgewogICAgICAgICAgICBpZiAoJHZhbHVlcyBpbnN0YW5jZW9mIFxSZWRpc0V4Y2VwdGlvbiB8fCAkdmFsdWVzIGluc3RhbmNlb2YgXFJlbGF5XEV4Y2VwdGlvbiB8fCAkdmFsdWVzIGluc3RhbmNlb2YgRXJyb3JJbnRlcmZhY2UpIHsKICAgICAgICAgICAgICAgIENhY2hlSXRlbTo6bG9nKCR0aGlzLT5sb2dnZXIsICdGYWlsZWQgdG8gaW52YWxpZGF0ZSBrZXkgIntrZXl9IjogJy4kdmFsdWVzLT5nZXRNZXNzYWdlKCksIFsna2V5JyA9PiBzdWJzdHIoJGlkLCBcc3RybGVuKCR0aGlzLT5uYW1lc3BhY2UpKSwgJ2V4Y2VwdGlvbicgPT4gJHZhbHVlc10pOwogICAgICAgICAgICAgICAgJHN1Y2Nlc3MgPSBmYWxzZTsKCiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgWyRjdXJzb3IsICRpZHNdID0gJHZhbHVlczsKCiAgICAgICAgICAgIHdoaWxlICgkaWRzIHx8ICcwJyAhPT0gJGN1cnNvcikgewogICAgICAgICAgICAgICAgJHRoaXMtPmRvRGVsZXRlKCRpZHMpOwoKICAgICAgICAgICAgICAgICRldmFsQXJncyA9IFskaWQsICRjdXJzb3JdOwogICAgICAgICAgICAgICAgYXJyYXlfc3BsaWNlKCRldmFsQXJncywgMSwgMCwgJGlkcyk7CgogICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5yZWRpcyBpbnN0YW5jZW9mIFxQcmVkaXNcQ2xpZW50SW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkZXZhbEFyZ3MsICRsdWEsIDEpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkZXZhbEFyZ3MgPSBbJGx1YSwgJGV2YWxBcmdzLCAxXTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkcmVzdWx0cyA9ICR0aGlzLT5waXBlbGluZShmdW5jdGlvbiAoKSB1c2UgKCRldmFsQXJncykgewogICAgICAgICAgICAgICAgICAgIHlpZWxkICdldmFsJyA9PiAkZXZhbEFyZ3M7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcmVzdWx0cyBhcyBbJGN1cnNvciwgJGlkc10pIHsKICAgICAgICAgICAgICAgICAgICAvLyBuby1vcAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHN1Y2Nlc3M7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRSZWRpc0V2aWN0aW9uUG9saWN5KCk6IHN0cmluZwogICAgewogICAgICAgIGlmIChpc3NldCgkdGhpcy0+cmVkaXNFdmljdGlvblBvbGljeSkpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZWRpc0V2aWN0aW9uUG9saWN5OwogICAgICAgIH0KCiAgICAgICAgJGhvc3RzID0gJHRoaXMtPmdldEhvc3RzKCk7CiAgICAgICAgJGhvc3QgPSByZXNldCgkaG9zdHMpOwogICAgICAgIGlmICgkaG9zdCBpbnN0YW5jZW9mIFxQcmVkaXNcQ2xpZW50KSB7CiAgICAgICAgICAgICRjb25uZWN0aW9uID0gJGhvc3QtPmdldENvbm5lY3Rpb24oKTsKCiAgICAgICAgICAgIC8vIFByZWRpcyBzdXBwb3J0cyBpbmZvIGNvbW1hbmQgb25seSBvbiB0aGUgbWFzdGVyIGluIHJlcGxpY2F0aW9uIGVudmlyb25tZW50cwogICAgICAgICAgICBpZiAoJGNvbm5lY3Rpb24gaW5zdGFuY2VvZiBSZXBsaWNhdGlvbkludGVyZmFjZSkgewogICAgICAgICAgICAgICAgJGhvc3RzID0gWyRob3N0LT5nZXRDbGllbnRGb3IoJ21hc3RlcicpXTsKICAgICAgICAgICAgfSBlbHNlaWYgKCRjb25uZWN0aW9uIGluc3RhbmNlb2YgUHJlZGlzMlJlcGxpY2F0aW9uSW50ZXJmYWNlKSB7CiAgICAgICAgICAgICAgICAkY29ubmVjdGlvbi0+c3dpdGNoVG9NYXN0ZXIoKTsKICAgICAgICAgICAgICAgICRob3N0cyA9IFskaG9zdF07CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKCRob3N0cyBhcyAkaG9zdCkgewogICAgICAgICAgICAkaW5mbyA9ICRob3N0LT5pbmZvKCdNZW1vcnknKTsKCiAgICAgICAgICAgIGlmIChmYWxzZSA9PT0gJGluZm8gfHwgbnVsbCA9PT0gJGluZm8gfHwgJGluZm8gaW5zdGFuY2VvZiBFcnJvckludGVyZmFjZSkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRpbmZvID0gJGluZm9bJ01lbW9yeSddID8/ICRpbmZvOwoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZWRpc0V2aWN0aW9uUG9saWN5ID0gJGluZm9bJ21heG1lbW9yeV9wb2xpY3knXSA/PyAnJzsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+cmVkaXNFdmljdGlvblBvbGljeSA9ICcnOwogICAgfQp9CiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";