1778692587
441d63ebbc39eba359c9061ece8482bd-phpdoc%3A5d1076409f6f46e55a7d0306c3a0ffe5-eee1f6c35d3bf9b5c314b889ca610a90
s:46512:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjIyOiJDbG9zZUJyYWNrZXRQYXJzZXIucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MTp7czo1MzoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXFBhcnNlclxJbmxpbmUiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXFBhcnNlclxJbmxpbmUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo2OiJJbmxpbmUiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MTp7czo3MjoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXFBhcnNlclxJbmxpbmVcQ2xvc2VCcmFja2V0UGFyc2VyIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTU6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjI6e3M6NTQ6IlxMZWFndWVcQ29tbW9uTWFya1xQYXJzZXJcSW5saW5lXElubGluZVBhcnNlckludGVyZmFjZSI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU0OiJcTGVhZ3VlXENvbW1vbk1hcmtcUGFyc2VyXElubGluZVxJbmxpbmVQYXJzZXJJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMToiSW5saW5lUGFyc2VySW50ZXJmYWNlIjt9czo1NjoiXExlYWd1ZVxDb21tb25NYXJrXEVudmlyb25tZW50XEVudmlyb25tZW50QXdhcmVJbnRlcmZhY2UiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NjoiXExlYWd1ZVxDb21tb25NYXJrXEVudmlyb25tZW50XEVudmlyb25tZW50QXdhcmVJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNToiRW52aXJvbm1lbnRBd2FyZUludGVyZmFjZSI7fX1zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YToxOntzOjg2OiJcTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXENvbW1vbk1hcmtcUGFyc2VyXElubGluZVxDbG9zZUJyYWNrZXRQYXJzZXI6OiRlbnZpcm9ubWVudCI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6MTQ6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjg2OiJcTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXENvbW1vbk1hcmtcUGFyc2VyXElubGluZVxDbG9zZUJyYWNrZXRQYXJzZXI6OiRlbnZpcm9ubWVudCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjExOiJlbnZpcm9ubWVudCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czowOiIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czozNzoicHNhbG0tcmVhZG9ubHktYWxsb3ctcHJpdmF0ZS1tdXRhdGlvbiI7czoxNDoiACoAZGVzY3JpcHRpb24iO047fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjUyOiJMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29tbW9uTWFya1xQYXJzZXJcSW5saW5lIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YToxNzp7czo3OiJCcmFja2V0IjtzOjM1OiJMZWFndWVcQ29tbW9uTWFya1xEZWxpbWl0ZXJcQnJhY2tldCI7czoyNToiRW52aXJvbm1lbnRBd2FyZUludGVyZmFjZSI7czo1NToiTGVhZ3VlXENvbW1vbk1hcmtcRW52aXJvbm1lbnRcRW52aXJvbm1lbnRBd2FyZUludGVyZmFjZSI7czoyMDoiRW52aXJvbm1lbnRJbnRlcmZhY2UiO3M6NTA6IkxlYWd1ZVxDb21tb25NYXJrXEVudmlyb25tZW50XEVudmlyb25tZW50SW50ZXJmYWNlIjtzOjE5OiJBYnN0cmFjdFdlYlJlc291cmNlIjtzOjcwOiJMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29tbW9uTWFya1xOb2RlXElubGluZVxBYnN0cmFjdFdlYlJlc291cmNlIjtzOjU6IkltYWdlIjtzOjU2OiJMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29tbW9uTWFya1xOb2RlXElubGluZVxJbWFnZSI7czo0OiJMaW5rIjtzOjU1OiJMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29tbW9uTWFya1xOb2RlXElubGluZVxMaW5rIjtzOjc6Ik1lbnRpb24iO3M6NDM6IkxlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxNZW50aW9uXE1lbnRpb24iO3M6MTg6IkFkamFjZW50VGV4dE1lcmdlciI7czo0ODoiTGVhZ3VlXENvbW1vbk1hcmtcTm9kZVxJbmxpbmVcQWRqYWNlbnRUZXh0TWVyZ2VyIjtzOjQ6IlRleHQiO3M6MzQ6IkxlYWd1ZVxDb21tb25NYXJrXE5vZGVcSW5saW5lXFRleHQiO3M6NjoiQ3Vyc29yIjtzOjMxOiJMZWFndWVcQ29tbW9uTWFya1xQYXJzZXJcQ3Vyc29yIjtzOjIxOiJJbmxpbmVQYXJzZXJJbnRlcmZhY2UiO3M6NTM6IkxlYWd1ZVxDb21tb25NYXJrXFBhcnNlclxJbmxpbmVcSW5saW5lUGFyc2VySW50ZXJmYWNlIjtzOjE3OiJJbmxpbmVQYXJzZXJNYXRjaCI7czo0OToiTGVhZ3VlXENvbW1vbk1hcmtcUGFyc2VyXElubGluZVxJbmxpbmVQYXJzZXJNYXRjaCI7czoxOToiSW5saW5lUGFyc2VyQ29udGV4dCI7czo0NDoiTGVhZ3VlXENvbW1vbk1hcmtcUGFyc2VyXElubGluZVBhcnNlckNvbnRleHQiO3M6MTg6IlJlZmVyZW5jZUludGVyZmFjZSI7czo0NjoiTGVhZ3VlXENvbW1vbk1hcmtcUmVmZXJlbmNlXFJlZmVyZW5jZUludGVyZmFjZSI7czoyMToiUmVmZXJlbmNlTWFwSW50ZXJmYWNlIjtzOjQ5OiJMZWFndWVcQ29tbW9uTWFya1xSZWZlcmVuY2VcUmVmZXJlbmNlTWFwSW50ZXJmYWNlIjtzOjE2OiJMaW5rUGFyc2VySGVscGVyIjtzOjM5OiJMZWFndWVcQ29tbW9uTWFya1xVdGlsXExpbmtQYXJzZXJIZWxwZXIiO3M6MTE6IlJlZ2V4SGVscGVyIjtzOjM0OiJMZWFndWVcQ29tbW9uTWFya1xVdGlsXFJlZ2V4SGVscGVyIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTE6IlxMZWFndWVcQ29tbW9uTWFya1xFbnZpcm9ubWVudFxFbnZpcm9ubWVudEludGVyZmFjZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIwOiJFbnZpcm9ubWVudEludGVyZmFjZSI7fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQByZWFkT25seSI7YjowO3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGhvb2tzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXJ0dWFsIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbWV0YWRhdGEiO2E6MDp7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6Njp7czo5NDoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXFBhcnNlclxJbmxpbmVcQ2xvc2VCcmFja2V0UGFyc2VyOjpnZXRNYXRjaERlZmluaXRpb24oKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE1NTA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTY2Mzt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MDoiXExlYWd1ZVxDb21tb25NYXJrXFBhcnNlclxJbmxpbmVcSW5saW5lUGFyc2VyTWF0Y2giO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiSW5saW5lUGFyc2VyTWF0Y2giO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OTQ6IlxMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29tbW9uTWFya1xQYXJzZXJcSW5saW5lXENsb3NlQnJhY2tldFBhcnNlcjo6Z2V0TWF0Y2hEZWZpbml0aW9uKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiZ2V0TWF0Y2hEZWZpbml0aW9uIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6ODE6IlxMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29tbW9uTWFya1xQYXJzZXJcSW5saW5lXENsb3NlQnJhY2tldFBhcnNlcjo6cGFyc2UoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDU6IlxMZWFndWVcQ29tbW9uTWFya1xQYXJzZXJcSW5saW5lUGFyc2VyQ29udGV4dCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJJbmxpbmVQYXJzZXJDb250ZXh0Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6ImlubGluZUNvbnRleHQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE2NzA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTIxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjQ2Mjc7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjgxOiJcTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXENvbW1vbk1hcmtcUGFyc2VyXElubGluZVxDbG9zZUJyYWNrZXRQYXJzZXI6OnBhcnNlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJwYXJzZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjkwOiJcTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXENvbW1vbk1hcmtcUGFyc2VyXElubGluZVxDbG9zZUJyYWNrZXRQYXJzZXI6OnNldEVudmlyb25tZW50KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUxOiJcTGVhZ3VlXENvbW1vbk1hcmtcRW52aXJvbm1lbnRcRW52aXJvbm1lbnRJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMDoiRW52aXJvbm1lbnRJbnRlcmZhY2UiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZW52aXJvbm1lbnQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo0NjM0O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyNjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo0NzU5O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OTA6IlxMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29tbW9uTWFya1xQYXJzZXJcSW5saW5lXENsb3NlQnJhY2tldFBhcnNlcjo6c2V0RW52aXJvbm1lbnQoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE0OiJzZXRFbnZpcm9ubWVudCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjEwMjoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXFBhcnNlclxJbmxpbmVcQ2xvc2VCcmFja2V0UGFyc2VyOjp0cnlQYXJzZUlubGluZUxpbmtBbmRUaXRsZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMjoiXExlYWd1ZVxDb21tb25NYXJrXFBhcnNlclxDdXJzb3IiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo2OiJDdXJzb3IiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJjdXJzb3IiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEzMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo0ODI0O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo2MDg0O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlIjoxOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlAHJlYWxUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTAyOiJcTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXENvbW1vbk1hcmtcUGFyc2VyXElubGluZVxDbG9zZUJyYWNrZXRQYXJzZXI6OnRyeVBhcnNlSW5saW5lTGlua0FuZFRpdGxlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNjoidHJ5UGFyc2VJbmxpbmVMaW5rQW5kVGl0bGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MDoiIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319aToxO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsXyI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo0MztzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo5MzoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXFBhcnNlclxJbmxpbmVcQ2xvc2VCcmFja2V0UGFyc2VyOjp0cnlQYXJzZVJlZmVyZW5jZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6NDp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMjoiXExlYWd1ZVxDb21tb25NYXJrXFBhcnNlclxDdXJzb3IiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo2OiJDdXJzb3IiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJjdXJzb3IiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTA6IlxMZWFndWVcQ29tbW9uTWFya1xSZWZlcmVuY2VcUmVmZXJlbmNlTWFwSW50ZXJmYWNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjE6IlJlZmVyZW5jZU1hcEludGVyZmFjZSI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEyOiJyZWZlcmVuY2VNYXAiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzY6IlxMZWFndWVcQ29tbW9uTWFya1xEZWxpbWl0ZXJcQnJhY2tldCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6IkJyYWNrZXQiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJvcGVuZXIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoic3RhcnRQb3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE3MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo2MDkxO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE5ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo3MjA4O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlIjoxOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlAHJlYWxUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDc6IlxMZWFndWVcQ29tbW9uTWFya1xSZWZlcmVuY2VcUmVmZXJlbmNlSW50ZXJmYWNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6IlJlZmVyZW5jZUludGVyZmFjZSI7fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OTM6IlxMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29tbW9uTWFya1xQYXJzZXJcSW5saW5lXENsb3NlQnJhY2tldFBhcnNlcjo6dHJ5UGFyc2VSZWZlcmVuY2UoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE3OiJ0cnlQYXJzZVJlZmVyZW5jZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo4ODoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXFBhcnNlclxJbmxpbmVcQ2xvc2VCcmFja2V0UGFyc2VyOjpjcmVhdGVJbmxpbmUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjQ6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MzoidXJsIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjU6InRpdGxlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6ImlzSW1hZ2UiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUiOjE6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUAcmVhbFR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NzoiXExlYWd1ZVxDb21tb25NYXJrXFJlZmVyZW5jZVxSZWZlcmVuY2VJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiUmVmZXJlbmNlSW50ZXJmYWNlIjt9fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6InJlZmVyZW5jZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6NDQ6Int7IFBIUERPQzM3YTYyNTljYzBjMWRhZTI5OWE3ODY2NDg5ZGZmMGJkIH19IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjE6e3M6NDQ6Int7IFBIUERPQzM3YTYyNTljYzBjMWRhZTI5OWE3ODY2NDg5ZGZmMGJkIH19IjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbF8iOjA6e319fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMDA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NzIxNTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NzYzMzt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo3MToiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXE5vZGVcSW5saW5lXEFic3RyYWN0V2ViUmVzb3VyY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiQWJzdHJhY3RXZWJSZXNvdXJjZSI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo4ODoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXFBhcnNlclxJbmxpbmVcQ2xvc2VCcmFja2V0UGFyc2VyOjpjcmVhdGVJbmxpbmUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEyOiJjcmVhdGVJbmxpbmUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo3MjoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXFBhcnNlclxJbmxpbmVcQ2xvc2VCcmFja2V0UGFyc2VyIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6IkNsb3NlQnJhY2tldFBhcnNlciI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcGFyZW50IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmaW5hbCI7YjoxO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwByZWFkT25seSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbnRlcmZhY2VzIjthOjA6e31zOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHRyYWl0cyI7YTowOnt9czo0MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBlbnVtcyI7YTowOnt9czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBoYXNoIjtzOjMyOiJlZWUxZjZjMzVkM2JmOWI1YzMxNGI4ODljYTYxMGE5MCI7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBwYXRoIjtzOjg2OiJ2ZW5kb3IvbGVhZ3VlL2NvbW1vbm1hcmsvc3JjL0V4dGVuc2lvbi9Db21tb25NYXJrL1BhcnNlci9JbmxpbmUvQ2xvc2VCcmFja2V0UGFyc2VyLnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6NzYzNzoiPD9waHAKCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGxlYWd1ZS9jb21tb25tYXJrIHBhY2thZ2UuCiAqCiAqIChjKSBDb2xpbiBPJ0RlbGwgPGNvbGlub2RlbGxAZ21haWwuY29tPgogKgogKiBPcmlnaW5hbCBjb2RlIGJhc2VkIG9uIHRoZSBDb21tb25NYXJrIEpTIHJlZmVyZW5jZSBwYXJzZXIgKGh0dHBzOi8vYml0bHkuY29tL2NvbW1vbm1hcmstanMpCiAqICAtIChjKSBKb2huIE1hY0ZhcmxhbmUKICoKICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0UKICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuCiAqLwoKbmFtZXNwYWNlIExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxDb21tb25NYXJrXFBhcnNlclxJbmxpbmU7Cgp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRGVsaW1pdGVyXEJyYWNrZXQ7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xFbnZpcm9ubWVudFxFbnZpcm9ubWVudEF3YXJlSW50ZXJmYWNlOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRW52aXJvbm1lbnRcRW52aXJvbm1lbnRJbnRlcmZhY2U7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29tbW9uTWFya1xOb2RlXElubGluZVxBYnN0cmFjdFdlYlJlc291cmNlOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXENvbW1vbk1hcmtcTm9kZVxJbmxpbmVcSW1hZ2U7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29tbW9uTWFya1xOb2RlXElubGluZVxMaW5rOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXE1lbnRpb25cTWVudGlvbjsKdXNlIExlYWd1ZVxDb21tb25NYXJrXE5vZGVcSW5saW5lXEFkamFjZW50VGV4dE1lcmdlcjsKdXNlIExlYWd1ZVxDb21tb25NYXJrXE5vZGVcSW5saW5lXFRleHQ7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xQYXJzZXJcQ3Vyc29yOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcUGFyc2VyXElubGluZVxJbmxpbmVQYXJzZXJJbnRlcmZhY2U7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xQYXJzZXJcSW5saW5lXElubGluZVBhcnNlck1hdGNoOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcUGFyc2VyXElubGluZVBhcnNlckNvbnRleHQ7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xSZWZlcmVuY2VcUmVmZXJlbmNlSW50ZXJmYWNlOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcUmVmZXJlbmNlXFJlZmVyZW5jZU1hcEludGVyZmFjZTsKdXNlIExlYWd1ZVxDb21tb25NYXJrXFV0aWxcTGlua1BhcnNlckhlbHBlcjsKdXNlIExlYWd1ZVxDb21tb25NYXJrXFV0aWxcUmVnZXhIZWxwZXI7CgpmaW5hbCBjbGFzcyBDbG9zZUJyYWNrZXRQYXJzZXIgaW1wbGVtZW50cyBJbmxpbmVQYXJzZXJJbnRlcmZhY2UsIEVudmlyb25tZW50QXdhcmVJbnRlcmZhY2UKewogICAgLyoqIEBwc2FsbS1yZWFkb25seS1hbGxvdy1wcml2YXRlLW11dGF0aW9uICovCiAgICBwcml2YXRlIEVudmlyb25tZW50SW50ZXJmYWNlICRlbnZpcm9ubWVudDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TWF0Y2hEZWZpbml0aW9uKCk6IElubGluZVBhcnNlck1hdGNoCiAgICB7CiAgICAgICAgcmV0dXJuIElubGluZVBhcnNlck1hdGNoOjpzdHJpbmcoJ10nKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcGFyc2UoSW5saW5lUGFyc2VyQ29udGV4dCAkaW5saW5lQ29udGV4dCk6IGJvb2wKICAgIHsKICAgICAgICAvLyBMb29rIHRocm91Z2ggc3RhY2sgb2YgZGVsaW1pdGVycyBmb3IgYSBbIG9yICEKICAgICAgICAkb3BlbmVyID0gJGlubGluZUNvbnRleHQtPmdldERlbGltaXRlclN0YWNrKCktPmdldExhc3RCcmFja2V0KCk7CiAgICAgICAgaWYgKCRvcGVuZXIgPT09IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgaWYgKCEgJG9wZW5lci0+aXNJbWFnZSgpICYmICEgJG9wZW5lci0+aXNBY3RpdmUoKSkgewogICAgICAgICAgICAvLyBubyBtYXRjaGVkIG9wZW5lcjsgcmVtb3ZlIGZyb20gc3RhY2sKICAgICAgICAgICAgJGlubGluZUNvbnRleHQtPmdldERlbGltaXRlclN0YWNrKCktPnJlbW92ZUJyYWNrZXQoKTsKCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgICRjdXJzb3IgPSAkaW5saW5lQ29udGV4dC0+Z2V0Q3Vyc29yKCk7CgogICAgICAgICRzdGFydFBvcyAgICAgID0gJGN1cnNvci0+Z2V0UG9zaXRpb24oKTsKICAgICAgICAkcHJldmlvdXNTdGF0ZSA9ICRjdXJzb3ItPnNhdmVTdGF0ZSgpOwoKICAgICAgICAkY3Vyc29yLT5hZHZhbmNlQnkoMSk7CgogICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB3ZSBoYXZlIGEgbGluay9pbWFnZQoKICAgICAgICAvLyBJbmxpbmUgbGluaz8KICAgICAgICBpZiAoJHJlc3VsdCA9ICR0aGlzLT50cnlQYXJzZUlubGluZUxpbmtBbmRUaXRsZSgkY3Vyc29yKSkgewogICAgICAgICAgICAkbGluayA9ICRyZXN1bHQ7CiAgICAgICAgfSBlbHNlaWYgKCRsaW5rID0gJHRoaXMtPnRyeVBhcnNlUmVmZXJlbmNlKCRjdXJzb3IsICRpbmxpbmVDb250ZXh0LT5nZXRSZWZlcmVuY2VNYXAoKSwgJG9wZW5lciwgJHN0YXJ0UG9zKSkgewogICAgICAgICAgICAkcmVmZXJlbmNlID0gJGxpbms7CiAgICAgICAgICAgICRsaW5rICAgICAgPSBbJ3VybCcgPT4gJGxpbmstPmdldERlc3RpbmF0aW9uKCksICd0aXRsZScgPT4gJGxpbmstPmdldFRpdGxlKCldOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIE5vIG1hdGNoOyByZW1vdmUgdGhpcyBvcGVuZXIgZnJvbSBzdGFjawogICAgICAgICAgICAkaW5saW5lQ29udGV4dC0+Z2V0RGVsaW1pdGVyU3RhY2soKS0+cmVtb3ZlQnJhY2tldCgpOwogICAgICAgICAgICAkY3Vyc29yLT5yZXN0b3JlU3RhdGUoJHByZXZpb3VzU3RhdGUpOwoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgJGlubGluZSA9ICR0aGlzLT5jcmVhdGVJbmxpbmUoJGxpbmtbJ3VybCddLCAkbGlua1sndGl0bGUnXSwgJG9wZW5lci0+aXNJbWFnZSgpLCAkcmVmZXJlbmNlID8/IG51bGwpOwogICAgICAgICRvcGVuZXItPmdldE5vZGUoKS0+cmVwbGFjZVdpdGgoJGlubGluZSk7CiAgICAgICAgd2hpbGUgKCgkbGFiZWwgPSAkaW5saW5lLT5uZXh0KCkpICE9PSBudWxsKSB7CiAgICAgICAgICAgIC8vIElzIHRoZXJlIGEgTWVudGlvbiBvciBMaW5rIGNvbnRhaW5lZCB3aXRoaW4gdGhpcyBsaW5rPwogICAgICAgICAgICAvLyBDb21tb25NYXJrIGRvZXMgbm90IGFsbG93IG5lc3RlZCBsaW5rcywgc28gd2UnbGwgcmVzdG9yZSB0aGUgb3JpZ2luYWwgdGV4dC4KICAgICAgICAgICAgaWYgKCRsYWJlbCBpbnN0YW5jZW9mIE1lbnRpb24pIHsKICAgICAgICAgICAgICAgICRsYWJlbC0+cmVwbGFjZVdpdGgoJHJlcGxhY2VtZW50ID0gbmV3IFRleHQoJGxhYmVsLT5nZXRQcmVmaXgoKSAuICRsYWJlbC0+Z2V0SWRlbnRpZmllcigpKSk7CiAgICAgICAgICAgICAgICAkaW5saW5lLT5hcHBlbmRDaGlsZCgkcmVwbGFjZW1lbnQpOwogICAgICAgICAgICB9IGVsc2VpZiAoJGxhYmVsIGluc3RhbmNlb2YgTGluaykgewogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGxhYmVsLT5jaGlsZHJlbigpIGFzICRjaGlsZCkgewogICAgICAgICAgICAgICAgICAgICRsYWJlbC0+aW5zZXJ0QmVmb3JlKCRjaGlsZCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGxhYmVsLT5kZXRhY2goKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRpbmxpbmUtPmFwcGVuZENoaWxkKCRsYWJlbCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFByb2Nlc3MgZGVsaW1pdGVycyBzdWNoIGFzIGVtcGhhc2lzIGluc2lkZSBsaW5rL2ltYWdlCiAgICAgICAgJGRlbGltaXRlclN0YWNrID0gJGlubGluZUNvbnRleHQtPmdldERlbGltaXRlclN0YWNrKCk7CiAgICAgICAgJHN0YWNrQm90dG9tICAgID0gJG9wZW5lci0+Z2V0UG9zaXRpb24oKTsKICAgICAgICAkZGVsaW1pdGVyU3RhY2stPnByb2Nlc3NEZWxpbWl0ZXJzKCRzdGFja0JvdHRvbSwgJHRoaXMtPmVudmlyb25tZW50LT5nZXREZWxpbWl0ZXJQcm9jZXNzb3JzKCkpOwogICAgICAgICRkZWxpbWl0ZXJTdGFjay0+cmVtb3ZlQnJhY2tldCgpOwogICAgICAgICRkZWxpbWl0ZXJTdGFjay0+cmVtb3ZlQWxsKCRzdGFja0JvdHRvbSk7CgogICAgICAgIC8vIE1lcmdlIGFueSBhZGphY2VudCBUZXh0IG5vZGVzIHRvZ2V0aGVyCiAgICAgICAgQWRqYWNlbnRUZXh0TWVyZ2VyOjptZXJnZUNoaWxkTm9kZXMoJGlubGluZSk7CgogICAgICAgIC8vIHByb2Nlc3NFbXBoYXNpcyB3aWxsIHJlbW92ZSB0aGlzIGFuZCBsYXRlciBkZWxpbWl0ZXJzLgogICAgICAgIC8vIE5vdywgZm9yIGEgbGluaywgd2UgYWxzbyByZW1vdmUgZWFybGllciBsaW5rIG9wZW5lcnMgKG5vIGxpbmtzIGluIGxpbmtzKQogICAgICAgIGlmICghICRvcGVuZXItPmlzSW1hZ2UoKSkgewogICAgICAgICAgICAkaW5saW5lQ29udGV4dC0+Z2V0RGVsaW1pdGVyU3RhY2soKS0+ZGVhY3RpdmF0ZUxpbmtPcGVuZXJzKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0RW52aXJvbm1lbnQoRW52aXJvbm1lbnRJbnRlcmZhY2UgJGVudmlyb25tZW50KTogdm9pZAogICAgewogICAgICAgICR0aGlzLT5lbnZpcm9ubWVudCA9ICRlbnZpcm9ubWVudDsKICAgIH0KCiAgICAvKioKICAgICAqIEByZXR1cm4gYXJyYXk8c3RyaW5nLCBzdHJpbmc+fG51bGwKICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiB0cnlQYXJzZUlubGluZUxpbmtBbmRUaXRsZShDdXJzb3IgJGN1cnNvcik6ID9hcnJheQogICAgewogICAgICAgIGlmICgkY3Vyc29yLT5nZXRDdXJyZW50Q2hhcmFjdGVyKCkgIT09ICcoJykgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgICRwcmV2aW91c1N0YXRlID0gJGN1cnNvci0+c2F2ZVN0YXRlKCk7CgogICAgICAgICRjdXJzb3ItPmFkdmFuY2VCeSgxKTsKICAgICAgICAkY3Vyc29yLT5hZHZhbmNlVG9OZXh0Tm9uU3BhY2VPck5ld2xpbmUoKTsKICAgICAgICBpZiAoKCRkZXN0ID0gTGlua1BhcnNlckhlbHBlcjo6cGFyc2VMaW5rRGVzdGluYXRpb24oJGN1cnNvcikpID09PSBudWxsKSB7CiAgICAgICAgICAgICRjdXJzb3ItPnJlc3RvcmVTdGF0ZSgkcHJldmlvdXNTdGF0ZSk7CgogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgICRjdXJzb3ItPmFkdmFuY2VUb05leHROb25TcGFjZU9yTmV3bGluZSgpOwogICAgICAgICRwcmV2aW91c0NoYXJhY3RlciA9ICRjdXJzb3ItPnBlZWsoLTEpOwogICAgICAgIC8vIFdlIGtub3cgZnJvbSBwcmV2aW91cyBsaW5lcyB0aGF0IHdlJ3ZlIGFkdmFuY2VkIGF0IGxlYXN0IG9uZSBzcGFjZSBzbyBmYXIsIHNvIHRoaXMgbmV4dCBjYWxsIHNob3VsZCBuZXZlciBiZSBudWxsCiAgICAgICAgXGFzc2VydChcaXNfc3RyaW5nKCRwcmV2aW91c0NoYXJhY3RlcikpOwoKICAgICAgICAkdGl0bGUgPSAnJzsKICAgICAgICAvLyBtYWtlIHN1cmUgdGhlcmUncyBhIHNwYWNlIGJlZm9yZSB0aGUgdGl0bGU6CiAgICAgICAgaWYgKFxwcmVnX21hdGNoKFJlZ2V4SGVscGVyOjpSRUdFWF9XSElURVNQQUNFX0NIQVIsICRwcmV2aW91c0NoYXJhY3RlcikpIHsKICAgICAgICAgICAgJHRpdGxlID0gTGlua1BhcnNlckhlbHBlcjo6cGFyc2VMaW5rVGl0bGUoJGN1cnNvcikgPz8gJyc7CiAgICAgICAgfQoKICAgICAgICAkY3Vyc29yLT5hZHZhbmNlVG9OZXh0Tm9uU3BhY2VPck5ld2xpbmUoKTsKCiAgICAgICAgaWYgKCRjdXJzb3ItPmdldEN1cnJlbnRDaGFyYWN0ZXIoKSAhPT0gJyknKSB7CiAgICAgICAgICAgICRjdXJzb3ItPnJlc3RvcmVTdGF0ZSgkcHJldmlvdXNTdGF0ZSk7CgogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgICRjdXJzb3ItPmFkdmFuY2VCeSgxKTsKCiAgICAgICAgcmV0dXJuIFsndXJsJyA9PiAkZGVzdCwgJ3RpdGxlJyA9PiAkdGl0bGVdOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gdHJ5UGFyc2VSZWZlcmVuY2UoQ3Vyc29yICRjdXJzb3IsIFJlZmVyZW5jZU1hcEludGVyZmFjZSAkcmVmZXJlbmNlTWFwLCBCcmFja2V0ICRvcGVuZXIsIGludCAkc3RhcnRQb3MpOiA/UmVmZXJlbmNlSW50ZXJmYWNlCiAgICB7CiAgICAgICAgJHNhdmVQb3MgICAgID0gJGN1cnNvci0+c2F2ZVN0YXRlKCk7CiAgICAgICAgJGJlZm9yZUxhYmVsID0gJGN1cnNvci0+Z2V0UG9zaXRpb24oKTsKICAgICAgICAkbiAgICAgICAgICAgPSBMaW5rUGFyc2VySGVscGVyOjpwYXJzZUxpbmtMYWJlbCgkY3Vyc29yKTsKICAgICAgICBpZiAoJG4gPiAyKSB7CiAgICAgICAgICAgICRzdGFydCAgPSAkYmVmb3JlTGFiZWwgKyAxOwogICAgICAgICAgICAkbGVuZ3RoID0gJG4gLSAyOwogICAgICAgIH0gZWxzZWlmICghICRvcGVuZXItPmhhc05leHQoKSkgewogICAgICAgICAgICAvLyBFbXB0eSBvciBtaXNzaW5nIHNlY29uZCBsYWJlbCBtZWFucyB0byB1c2UgdGhlIGZpcnN0IGxhYmVsIGFzIHRoZSByZWZlcmVuY2UuCiAgICAgICAgICAgIC8vIFRoZSByZWZlcmVuY2UgbXVzdCBub3QgY29udGFpbiBhIGJyYWNrZXQuIElmIHdlIGtub3cgdGhlcmUncyBhIGJyYWNrZXQsIHdlIGRvbid0IGV2ZW4gYm90aGVyIGNoZWNraW5nIGl0LgogICAgICAgICAgICAkc3RhcnQgID0gJG9wZW5lci0+Z2V0UG9zaXRpb24oKTsKICAgICAgICAgICAgJGxlbmd0aCA9ICRzdGFydFBvcyAtICRzdGFydDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkY3Vyc29yLT5yZXN0b3JlU3RhdGUoJHNhdmVQb3MpOwoKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQoKICAgICAgICAkcmVmZXJlbmNlTGFiZWwgPSAkY3Vyc29yLT5nZXRTdWJzdHJpbmcoJHN0YXJ0LCAkbGVuZ3RoKTsKCiAgICAgICAgaWYgKCRuID09PSAwKSB7CiAgICAgICAgICAgIC8vIElmIHNob3J0Y3V0IHJlZmVyZW5jZSBsaW5rLCByZXdpbmQgYmVmb3JlIHNwYWNlcyB3ZSBza2lwcGVkCiAgICAgICAgICAgICRjdXJzb3ItPnJlc3RvcmVTdGF0ZSgkc2F2ZVBvcyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJlZmVyZW5jZU1hcC0+Z2V0KCRyZWZlcmVuY2VMYWJlbCk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBjcmVhdGVJbmxpbmUoc3RyaW5nICR1cmwsIHN0cmluZyAkdGl0bGUsIGJvb2wgJGlzSW1hZ2UsID9SZWZlcmVuY2VJbnRlcmZhY2UgJHJlZmVyZW5jZSA9IG51bGwpOiBBYnN0cmFjdFdlYlJlc291cmNlCiAgICB7CiAgICAgICAgaWYgKCRpc0ltYWdlKSB7CiAgICAgICAgICAgICRpbmxpbmUgPSBuZXcgSW1hZ2UoJHVybCwgbnVsbCwgJHRpdGxlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkaW5saW5lID0gbmV3IExpbmsoJHVybCwgbnVsbCwgJHRpdGxlKTsKICAgICAgICB9CgogICAgICAgIGlmICgkcmVmZXJlbmNlKSB7CiAgICAgICAgICAgICRpbmxpbmUtPmRhdGEtPnNldCgncmVmZXJlbmNlJywgJHJlZmVyZW5jZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGlubGluZTsKICAgIH0KfQoiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZG9jQmxvY2siO047czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBtZXRhZGF0YSI7YTowOnt9fQ==";