1789595938
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3Acf4a026ba512a399536773e9e7b8ae44-78712ac6cb5db2d062151cd1e6098f6e
s:105988:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE1OiJEQU9EZXBvc2l0by5waHAiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YTowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNsYXNzZXMiO2E6MTp7czoxMjoiXERBT0RlcG9zaXRvIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTU6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YToxOntzOjIzOiJcREFPRGVwb3NpdG86OiRjb25leGlvbiI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6MTQ6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyMzoiXERBT0RlcG9zaXRvOjokY29uZXhpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJjb25leGlvbiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtOO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7TjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQByZWFkT25seSI7YjowO3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGhvb2tzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXJ0dWFsIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbWV0YWRhdGEiO2E6MDp7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6MTY6e3M6Mjc6IlxEQU9EZXBvc2l0bzo6X19jb25zdHJ1Y3QoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJjb25leGlvbiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTcxO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI2MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNzoiXERBT0RlcG9zaXRvOjpfX2NvbnN0cnVjdCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6Il9fY29uc3RydWN0Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6Mjc6IlxEQU9EZXBvc2l0bzo6Z2V0RGVwb3NpdG8oKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTA6ImlkRGVwb3NpdG8iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI2OTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxOTA3O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlIjoxOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlAHJlYWxUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OToiXERlcG9zaXRvIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiRGVwb3NpdG8iO319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcREFPRGVwb3NpdG86OmdldERlcG9zaXRvKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiZ2V0RGVwb3NpdG8iO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czozNjoiXERBT0RlcG9zaXRvOjp1cGRhdGVEZXBvc2l0b0FjaWRleigpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo5OiJcRGVwb3NpdG8iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJEZXBvc2l0byI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6ImRlcG9zaXRvIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEZsb2F0XyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoiYWNpZGV6IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxOTE2O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE0MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo0NzYyO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozNjoiXERBT0RlcG9zaXRvOjp1cGRhdGVEZXBvc2l0b0FjaWRleigpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjA6InVwZGF0ZURlcG9zaXRvQWNpZGV6Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6Mzk6IlxEQU9EZXBvc2l0bzo6YWN0dWFsaXphRXN0YWRvRGVwb3NpdG8oKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OToiXERlcG9zaXRvIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiRGVwb3NpdG8iO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJkZXBvc2l0byI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjQ3NzE7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTYzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjU4NzI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzk6IlxEQU9EZXBvc2l0bzo6YWN0dWFsaXphRXN0YWRvRGVwb3NpdG8oKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIzOiJhY3R1YWxpemFFc3RhZG9EZXBvc2l0byI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjM0OiJcREFPRGVwb3NpdG86OmNhbGN1bGFQb25kZXJhY2lvbigpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo5OiJcRGVwb3NpdG8iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJEZXBvc2l0byI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6ImRlcG9zaXRvIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEZsb2F0XyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NToia2lsb3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcRmxvYXRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJwcmVjaW8iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2NTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo1ODgxO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE4MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo2NDg4O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEZsb2F0XyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM0OiJcREFPRGVwb3NpdG86OmNhbGN1bGFQb25kZXJhY2lvbigpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6ImNhbGN1bGFQb25kZXJhY2lvbiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjI3OiJcREFPRGVwb3NpdG86OmFkZERlcG9zaXRvKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjk6IlxEZXBvc2l0byI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjg6IkRlcG9zaXRvIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoiZGVwb3NpdG8iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE4NTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo2NDk3O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI3MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo5MjMwO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNzoiXERBT0RlcG9zaXRvOjphZGREZXBvc2l0bygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6ImFkZERlcG9zaXRvIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6MzA6IlxEQU9EZXBvc2l0bzo6dXBkYXRlRGVwb3NpdG8oKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OToiXERlcG9zaXRvIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiRGVwb3NpdG8iO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJkZXBvc2l0byI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjczO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjkyMzk7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzYzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjEyODgzO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMDoiXERBT0RlcG9zaXRvOjp1cGRhdGVEZXBvc2l0bygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTQ6InVwZGF0ZURlcG9zaXRvIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6MzY6IlxEQU9EZXBvc2l0bzo6dXBkYXRlRGVwb3NpdG9QcmVjaW8oKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OToiXERlcG9zaXRvIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiRGVwb3NpdG8iO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJkZXBvc2l0byI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xGbG9hdF8iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InByZWNpbyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzY1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjEyODkyO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQzNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNTUxODt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzY6IlxEQU9EZXBvc2l0bzo6dXBkYXRlRGVwb3NpdG9QcmVjaW8oKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIwOiJ1cGRhdGVEZXBvc2l0b1ByZWNpbyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjQwOiJcREFPRGVwb3NpdG86OnVwZGF0ZURlcG9zaXRvTG90ZUFjdHVhbCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMDoiaWREZXBvc2l0byI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJsb3RlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0Mzc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTU1Mjc7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDUyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE2MDc2O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQwOiJcREFPRGVwb3NpdG86OnVwZGF0ZURlcG9zaXRvTG90ZUFjdHVhbCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6InVwZGF0ZURlcG9zaXRvTG90ZUFjdHVhbCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjM3OiJcREFPRGVwb3NpdG86Om9idGVuZXJCb2RlZ2FBY29yZGVvbigpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6ImNvbmV4aW9uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0NjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTYxNjY7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTM5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE5NTkxO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM3OiJcREFPRGVwb3NpdG86Om9idGVuZXJCb2RlZ2FBY29yZGVvbigpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjE6Im9idGVuZXJCb2RlZ2FBY29yZGVvbiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjA6IiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToyOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjg6ImNvbmV4aW9uIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjE7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6MzU6IlxEQU9EZXBvc2l0bzo6Z2V0RGV0YWxsZXNEZXBvc2l0bygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJjb25leGlvbiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNToic3VidGlwb3ByaW1hcmlvIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1NDk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTk4MDY7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjAwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjIyMzMxO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM1OiJcREFPRGVwb3NpdG86OmdldERldGFsbGVzRGVwb3NpdG8oKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJnZXREZXRhbGxlc0RlcG9zaXRvIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NzE6IkZ1bmNpw7NuIHF1ZSBkZXZ1ZWx2ZSBsYSBpbmZvcm1hY2nDs24gZGUgbG9zIG1vdmltaWVudG9zIGRlIHVuIGRlcG9zaXRvIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjg6ImNvbmV4aW9uIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNToic3VidGlwb3ByaW1hcmlvIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjI7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319aToxO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjozNzg7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6MzM6IlxEQU9EZXBvc2l0bzo6Z2V0Q2FtcGFuaWFNYXhpbWEoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoyOiJkYiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjA4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjIyNDEzO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjYxNjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMjc0ODt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMzoiXERBT0RlcG9zaXRvOjpnZXRDYW1wYW5pYU1heGltYSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6ImdldENhbXBhbmlhTWF4aW1hIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MDoiIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MjoiZGIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjozNzg7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NDU6IlxEQU9EZXBvc2l0bzo6b2J0ZW5lclNhbGlkYXNNdWVzdHJhRGVwb3NpdG8oKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoiY29uZXhpb24iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6InN1YnRpcG9wcmltYXJpbyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjI1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjIyODc4O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjY1MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMzkwMjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ1OiJcREFPRGVwb3NpdG86Om9idGVuZXJTYWxpZGFzTXVlc3RyYURlcG9zaXRvKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyOToib2J0ZW5lclNhbGlkYXNNdWVzdHJhRGVwb3NpdG8iO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czowOiIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6ODoiY29uZXhpb24iO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE1OiJzdWJ0aXBvcHJpbWFyaW8iO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7fWk6MjtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6Mzc4O3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjMxOiJcREFPRGVwb3NpdG86OmFqdXN0YXJEZXBvc2l0bygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6NDp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJjb25leGlvbiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNToic3VidGlwb3ByaW1hcmlvIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InRpcG8iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NToidmFsb3IiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjY1NjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMzkyNTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3MDA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjUyMzM7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjMxOiJcREFPRGVwb3NpdG86OmFqdXN0YXJEZXBvc2l0bygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6ImFqdXN0YXJEZXBvc2l0byI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjI3OiJcREFPRGVwb3NpdG86OnZlckFuYWxpc2lzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6ImNvbmV4aW9uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjI6ImlkIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3MDM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjUyNTY7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzI5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI1OTkwO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcREFPRGVwb3NpdG86OnZlckFuYWxpc2lzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToidmVyQW5hbGlzaXMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MTtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czozMDoiXERBT0RlcG9zaXRvOjphbmFkaXJBbmFsaXNpcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJjb25leGlvbiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMDoiaWREZXBvc2l0byI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoidXNlcmZpbGUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjczMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyNTk5OTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3NzY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6Mjc2NjM7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzA6IlxEQU9EZXBvc2l0bzo6YW5hZGlyQW5hbGlzaXMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE0OiJhbmFkaXJBbmFsaXNpcyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc3NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxMjoiXERBT0RlcG9zaXRvIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6IkRBT0RlcG9zaXRvIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZpbmFsIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHJlYWRPbmx5IjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6Ijc4NzEyYWM2Y2I1ZGIyZDA2MjE1MWNkMWU2MDk4ZjZlIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6Mjc6ImJhY2tlbmQvZGFvL0RBT0RlcG9zaXRvLnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6Mjc2Njk6Ijw/cGhwDQppbmNsdWRlX29uY2UgX19ESVJfXyAuICcvLi4vdmFyaWFibGUvdmFyaWFibGUucGhwJzsNCnJlcXVpcmVfb25jZSBfX0RJUl9fIC4gJy8uLi9mdW5jaW9uZXMvZnVuY2lvbmVzLnBocCc7DQoNCg0KY2xhc3MgREFPRGVwb3NpdG8NCnsNCiAgICBwcml2YXRlICRjb25leGlvbjsNCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY29uZXhpb24pDQogICAgew0KICAgICAgICAkdGhpcy0+Y29uZXhpb24gPSAkY29uZXhpb247DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldERlcG9zaXRvKGludCAkaWREZXBvc2l0byk6ID9EZXBvc2l0bw0KICAgIHsNCiAgICAgICAgZ2xvYmFsICRjZW50cm8sICRjaWY7ICAvLyBBcXXDrSBhY2NlZGVzIGEgbGFzIHZhcmlhYmxlcyBnbG9iYWxlcw0KDQogICAgICAgICRzcWwgPSAiU0VMRUNUICogRlJPTSBkZXBvc2l0byBXSEVSRSBzdWJ0aXBvcHJpbWFyaW8gPSA/IEFORCBoYWJpbGl0YWRvID0gVFJVRSBBTkQgY2VudHJvID0gPyBBTkQgY2lmID0gPyBPUkRFUiBCWSBpZCBBU0MiOw0KDQogICAgICAgIGlmICgkc3RtdCA9ICR0aGlzLT5jb25leGlvbi0+cHJlcGFyZSgkc3FsKSkgew0KICAgICAgICAgICAgJHN0bXQtPmJpbmRfcGFyYW0oImlpcyIsICRpZERlcG9zaXRvLCAkY2VudHJvLCAkY2lmKTsNCiAgICAgICAgICAgICRzdG10LT5leGVjdXRlKCk7DQoNCiAgICAgICAgICAgICRyZXN1bHQgPSAkc3RtdC0+Z2V0X3Jlc3VsdCgpOw0KDQogICAgICAgICAgICAkZGVwb3NpdG8gPSBudWxsOw0KDQogICAgICAgICAgICB3aGlsZSAoJHJvdyA9ICRyZXN1bHQtPmZldGNoX2Fzc29jKCkpIHsNCiAgICAgICAgICAgICAgICAkc3VidGlwbyA9IChpbnQpJHJvd1snc3VidGlwb3ByaW1hcmlvJ107DQoNCg0KICAgICAgICAgICAgICAgICRkZXBvc2l0byA9IG5ldyBEZXBvc2l0bygNCiAgICAgICAgICAgICAgICAgICAgKGludCkkcm93WydpZCddLA0KICAgICAgICAgICAgICAgICAgICAkc3VidGlwbywNCiAgICAgICAgICAgICAgICAgICAgKGZsb2F0KSRyb3dbJ2tpbG9zJ10sDQogICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlVGltZSgkcm93WydmZWNoYSddKSwNCiAgICAgICAgICAgICAgICAgICAgKGZsb2F0KSRyb3dbJ2tpbG9zYWp1c3RlJ10sDQogICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlVGltZSgkcm93WydmZWNoYWFqdXN0ZSddKSwNCiAgICAgICAgICAgICAgICAgICAgJGNlbnRybywNCiAgICAgICAgICAgICAgICAgICAgKGZsb2F0KSRyb3dbJ3ByZWNpbyddLA0KICAgICAgICAgICAgICAgICAgICAoZmxvYXQpJHJvd1snYWNpZGV6J10sDQogICAgICAgICAgICAgICAgICAgIChmbG9hdCkkcm93WydwZXJveGlkbyddLA0KICAgICAgICAgICAgICAgICAgICAoYm9vbCkkcm93WydzdW1hJ10sDQogICAgICAgICAgICAgICAgICAgICRyb3dbJ2xvdGVfYWN0dWFsJ10sDQogICAgICAgICAgICAgICAgICAgICRyb3dbJ29ic2VydmFjaW9uZXMnXSwNCiAgICAgICAgICAgICAgICAgICAgJHJvd1snSzI2OF9LMjcwJ10sDQogICAgICAgICAgICAgICAgICAgICRyb3dbJ2luZGljZSddLA0KICAgICAgICAgICAgICAgICAgICAkcm93WydwdW50dWFjaW9uJ10sDQogICAgICAgICAgICAgICAgICAgIChpbnQpJHJvd1sndmFsb3JhY2lvbiddLA0KDQogICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJHN0bXQtPmNsb3NlKCk7DQoNCiAgICAgICAgICAgIHJldHVybiAkZGVwb3NpdG87DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBlcnJvcl9sb2coIltFUlJPUl0gT2J0ZW5lciBkZXBvc2l0byBjb24gdW4gaWQ6ICIgLiAkdGhpcy0+Y29uZXhpb24tPmVycm9yKTsNCiAgICAgICAgICAgIHJldHVybiBudWxsOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZURlcG9zaXRvQWNpZGV6KERlcG9zaXRvICRkZXBvc2l0bywgZmxvYXQgJGFjaWRleik6IGJvb2wNCiAgICB7DQogICAgICAgIGdsb2JhbCAkY2VudHJvLCAkY2lmOyAvLyBWYXJpYWJsZXMgZ2xvYmFsZXMgbmVjZXNhcmlhcw0KDQogICAgICAgICRmZWNoYUFqdXN0ZSA9IGRhdGUoJ1ktbS1kIEg6aTowMCcpOw0KICAgICAgICAkc3VidGlwbyA9ICRkZXBvc2l0by0+Z2V0U3VidGlwbygpOw0KDQogICAgICAgIC8vIFByaW1lcm8gYWN0dWFsaXphbW9zIGVsIGRlcG9zaXRvDQogICAgICAgICRzcWxVcGRhdGUgPSAiVVBEQVRFIGRlcG9zaXRvIFNFVCBhY2lkZXogPSA/LCBwZXJveGlkbyA9ID8sIGZlY2hhYWp1c3RlID0gPyBXSEVSRSBzdWJ0aXBvcHJpbWFyaW8gPSA/IjsNCg0KICAgICAgICBpZiAoISRzdG10ID0gJHRoaXMtPmNvbmV4aW9uLT5wcmVwYXJlKCRzcWxVcGRhdGUpKSB7DQogICAgICAgICAgICBlcnJvcl9sb2coIltFUlJPUl0gUHJlcGFyYXIgdXBkYXRlIGRlcG9zaXRvOiAiIC4gJHRoaXMtPmNvbmV4aW9uLT5lcnJvcik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICAkYWNpZGV6X2Zvcm1hdGVhZGEgPSBudW1iZXJfZm9ybWF0KCRhY2lkZXosIDIsICcuJywgJycpOw0KICAgICAgICAkcGVyb3hpZG9fZm9ybWF0ZWFkbyA9IG51bWJlcl9mb3JtYXQoJGRlcG9zaXRvLT5nZXRQZXJveGlkbygpLCAyLCAnLicsICcnKTsNCg0KICAgICAgICAkc3RtdC0+YmluZF9wYXJhbSgiZGRzaSIsICRhY2lkZXpfZm9ybWF0ZWFkYSwgJHBlcm94aWRvX2Zvcm1hdGVhZG8sICRmZWNoYUFqdXN0ZSwgJHN1YnRpcG8pOw0KDQogICAgICAgIGlmICghJHN0bXQtPmV4ZWN1dGUoKSkgew0KICAgICAgICAgICAgZXJyb3JfbG9nKCJbRVJST1JdIEVqZWN1dGFyIHVwZGF0ZSBkZXBvc2l0bzogIiAuICRzdG10LT5lcnJvcik7DQogICAgICAgICAgICAkc3RtdC0+Y2xvc2UoKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgICRzdG10LT5jbG9zZSgpOw0KDQogICAgICAgIC8qDQogICAgICAgIC8vIEx1ZWdvIGluc2VydGFtb3MgZW4gZGVwb3NpdG9oaXN0DQogICAgICAgICRpZEhpc3QgPSBGdW5jaW9uZXM6OnVsdGltb0lkKCJkZXBvc2l0b2hpc3QiKSArIDE7DQoNCiAgICAgICAgJHNxbEluc2VydCA9ICJJTlNFUlQgSU5UTyBkZXBvc2l0b2hpc3QgDQogICAgICAgICAgICAgICAgICAgICAgKGlkLCBzdWJ0aXBvcHJpbWFyaW8sIGtpbG9zLCBraWxvc2FqdXN0ZSwgZmVjaGEsIGZlY2hhYWp1c3RlLCBjZW50cm8sIGNpZiwgcHJlY2lvLCBhY2lkZXosIGNhdGVnb3JpYSkNCiAgICAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8pIjsNCg0KICAgICAgICBpZiAoISRzdG10ID0gJHRoaXMtPmNvbmV4aW9uLT5wcmVwYXJlKCRzcWxJbnNlcnQpKSB7DQogICAgICAgICAgICBlcnJvcl9sb2coIltFUlJPUl0gUHJlcGFyYXIgaW5zZXJ0IGRlcG9zaXRvaGlzdDogIiAuICR0aGlzLT5jb25leGlvbi0+ZXJyb3IpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgJGtpbG9zID0gbnVtYmVyX2Zvcm1hdCgkZGVwb3NpdG8tPmdldEtpbG9zKCksIDIsICcuJywgJycpOw0KICAgICAgICAka2lsb3NBanVzdGUgPSBudW1iZXJfZm9ybWF0KCRkZXBvc2l0by0+Z2V0S2lsb3NBanVzdGUoKSwgMiwgJy4nLCAnJyk7DQogICAgICAgICRmZWNoYSA9ICRkZXBvc2l0by0+Z2V0RmVjaGFVbHRpbW9Nb3ZpbWllbnRvKCktPmZvcm1hdCgnWS1tLWQgSDppJyk7DQogICAgICAgICRmZWNoYUFqdXN0ZURlcCA9ICRkZXBvc2l0by0+Z2V0RmVjaGFBanVzdGUoKS0+Zm9ybWF0KCdZLW0tZCBIOmknKTsNCiAgICAgICAgJHByZWNpbyA9IG51bWJlcl9mb3JtYXQoJGRlcG9zaXRvLT5nZXRQcmVjaW8oKSwgMiwgJy4nLCAnJyk7DQogICAgICAgICRjYXRlZ29yaWEgPSBEQU9EZXBvc2l0b0NhdGVnb3JpYTo6Z2V0RGVwb3NpdG9DYXRlZ29yaWFEZXBvc2l0bygkc3VidGlwbyktPmdldENhdGVnb3JpYSgpLT5nZXROb21icmUoKTsNCg0KICAgICAgICAkc3RtdC0+YmluZF9wYXJhbSgNCiAgICAgICAgICAgICJpaWRkc3Npc3NkcyIsDQogICAgICAgICAgICAkaWRIaXN0LA0KICAgICAgICAgICAgJHN1YnRpcG8sDQogICAgICAgICAgICAka2lsb3MsDQogICAgICAgICAgICAka2lsb3NBanVzdGUsDQogICAgICAgICAgICAkZmVjaGEsDQogICAgICAgICAgICAkZmVjaGFBanVzdGVEZXAsDQogICAgICAgICAgICAkY2VudHJvLA0KICAgICAgICAgICAgJGNpZiwNCiAgICAgICAgICAgICRwcmVjaW8sDQogICAgICAgICAgICAkYWNpZGV6X2Zvcm1hdGVhZGEsDQogICAgICAgICAgICAkY2F0ZWdvcmlhDQogICAgICAgICk7DQoNCiAgICAgICAgaWYgKCEkc3RtdC0+ZXhlY3V0ZSgpKSB7DQogICAgICAgICAgICBlcnJvcl9sb2coIltFUlJPUl0gRWplY3V0YXIgaW5zZXJ0IGRlcG9zaXRvaGlzdDogIiAuICRzdG10LT5lcnJvcik7DQogICAgICAgICAgICAkc3RtdC0+Y2xvc2UoKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgICRzdG10LT5jbG9zZSgpOw0KDQogICAgICAgIEZ1bmNpb25lczo6c3lzTG9nKCJbSU5GT10gQWp1c3RlIGFjaWRleiBkZXBvc2l0byIpOw0KICAgICAgICBGdW5jaW9uZXM6Omd1YXJkYUxvZygiSU5GTyIsICJBanVzdGUgYWNpZGV6IGRlcMOzc2l0byIpOw0KICAgICAgICBGcm1JbmljaWFsOjokY29udEJhY2t1cCsrOw0KICAgICAgICAqLw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0dWFsaXphRXN0YWRvRGVwb3NpdG8oRGVwb3NpdG8gJGRlcG9zaXRvKQ0KICAgIHsNCiAgICAgICAgLy8gU2kgbm8gZXhpc3RlIGRlcMOzc2l0byAoYXN1bW8gSUQgPSAwIG8gbnVsbCkNCiAgICAgICAgaWYgKCRkZXBvc2l0byA9PT0gbnVsbCB8fCAkZGVwb3NpdG8tPmdldElkKCkgPT09IDApIHsNCiAgICAgICAgICAgICRkZXBvc2l0by0+c2V0RmVjaGFVbHRpbW9Nb3ZpbWllbnRvKG5ldyBEYXRlVGltZSgpKTsNCg0KICAgICAgICAgICAgLy8gQWdyZWdhciBkZXDDs3NpdG8gKGFzdW1pZW5kbyBxdWUgdGllbmVzIHVuIG3DqXRvZG8gYWRkRGVwb3NpdG8pDQogICAgICAgICAgICAkdGhpcy0+YWRkRGVwb3NpdG8oJGRlcG9zaXRvKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIC8vIEFxdcOtIGRlYmVzIGRlZmluaXIgY8OzbW8gY2FsY3VsYXIgbGEgcG9uZGVyYWNpw7NuDQogICAgICAgICAgICAvLyBBc3VtaWVuZG8gcXVlIHRpZW5lcyB1biBtw6l0b2RvIGNhbGN1bGFQb25kZXJhY2lvbigkZGVwb3NpdG8sICRraWxvcywgJHByZWNpb09yaWdlbikNCiAgICAgICAgICAgICRraWxvcyA9ICRkZXBvc2l0by0+Z2V0S2lsb3MoKTsvKiBBcXXDrSBuZWNlc2l0YXMgZWwgdmFsb3Iga2lsb3MsIMK/bG8gdGllbmVzIGRpc3BvbmlibGU/ICovOw0KICAgICAgICAgICAgJHByZWNpb09yaWdlbiA9ICRkZXBvc2l0by0+Z2V0UHJlY2lvKCk7LyogUHJlY2lvIG9yaWdlbiwgcG9zaWJsZW1lbnRlIGRlICRkZXBvc2l0b09yaWdlbiAqLzsNCiAgICAgICAgICAgICRwcmVjaW8gPSAkdGhpcy0+Y2FsY3VsYVBvbmRlcmFjaW9uKCRkZXBvc2l0bywgJGtpbG9zLCAkcHJlY2lvT3JpZ2VuKTsNCg0KICAgICAgICAgICAgJGRlcG9zaXRvLT5zZXRQcmVjaW8oJHByZWNpbyk7DQogICAgICAgICAgICAkZGVwb3NpdG8tPnNldEZlY2hhVWx0aW1vTW92aW1pZW50byhuZXcgRGF0ZVRpbWUoKSk7DQoNCiAgICAgICAgICAgICR0aGlzLT51cGRhdGVEZXBvc2l0bygkZGVwb3NpdG8pOw0KICAgICAgICAgICAgJHRoaXMtPnVwZGF0ZURlcG9zaXRvUHJlY2lvKCRkZXBvc2l0bywgJHByZWNpbyk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FsY3VsYVBvbmRlcmFjaW9uKERlcG9zaXRvICRkZXBvc2l0bywgZmxvYXQgJGtpbG9zLCBmbG9hdCAkcHJlY2lvKTogZmxvYXQNCiAgICB7DQogICAgICAgICRwQ2FsY3VsYWRvID0gMC4wOw0KICAgICAgICAkcG9yMSA9IDAuMDsNCiAgICAgICAgJHBvcjIgPSAwLjA7DQoNCiAgICAgICAgJHN1bWFLaWxvcyA9ICRkZXBvc2l0by0+Z2V0S2lsb3NBanVzdGUoKSArICRraWxvczsNCg0KICAgICAgICBpZiAoJHN1bWFLaWxvcyA9PSAwKSB7DQogICAgICAgICAgICByZXR1cm4gMC4wOyAvLyBFdml0YXIgZGl2aXNpw7NuIHBvciBjZXJvDQogICAgICAgIH0NCg0KICAgICAgICAkcG9yMSA9IHJvdW5kKCgkZGVwb3NpdG8tPmdldEtpbG9zQWp1c3RlKCkgKiAxMDApIC8gJHN1bWFLaWxvcywgMik7DQogICAgICAgICRwb3IyID0gcm91bmQoKCRraWxvcyAqIDEwMCkgLyAkc3VtYUtpbG9zLCAyKTsNCg0KICAgICAgICAkcENhbGN1bGFkbyA9IHJvdW5kKCgoJHBvcjEgLyAxMDApICogJGRlcG9zaXRvLT5nZXRQcmVjaW8oKSkgKyAoKCRwb3IyIC8gMTAwKSAqICRwcmVjaW8pLCAyKTsNCg0KICAgICAgICByZXR1cm4gJHBDYWxjdWxhZG87DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGFkZERlcG9zaXRvKERlcG9zaXRvICRkZXBvc2l0byk6IGJvb2wNCiAgICB7DQogICAgICAgIGdsb2JhbCAkY2VudHJvLCAkY2lmOw0KDQogICAgICAgICRpZCA9IHVsdGltb0lkKCJkZXBvc2l0byIpICsgMTsNCg0KICAgICAgICAkc3FsID0gIklOU0VSVCBJTlRPIGRlcG9zaXRvIA0KICAgICAgICAgICAgKGlkLCBzdWJ0aXBvcHJpbWFyaW8sIGtpbG9zLCBraWxvc2FqdXN0ZSwgZmVjaGEsIGZlY2hhYWp1c3RlLCBjZW50cm8sIGNpZiwgcHJlY2lvLCBhY2lkZXosIHBlcm94aWRvKSANCiAgICAgICAgICAgIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPykiOw0KDQogICAgICAgIGlmICghJHN0bXQgPSAkdGhpcy0+Y29uZXhpb24tPnByZXBhcmUoJHNxbCkpIHsNCiAgICAgICAgICAgIGVycm9yX2xvZygiW0VSUk9SXSBQcmVwYXJhciBpbnNlcnQgZGVwb3NpdG86ICIgLiAkdGhpcy0+Y29uZXhpb24tPmVycm9yKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgICRpZFN1YnRpcG8gPSAkZGVwb3NpdG8tPmdldFN1YnRpcG8oKTsgLy8gQXNlZ8O6cmF0ZSBkZSBxdWUgc2VhIHVuIGVudGVybw0KICAgICAgICAka2lsb3MgPSBudW1iZXJfZm9ybWF0KCRkZXBvc2l0by0+Z2V0S2lsb3MoKSwgMiwgJy4nLCAnJyk7DQogICAgICAgICRraWxvc0FqdXN0ZSA9IG51bWJlcl9mb3JtYXQoJGRlcG9zaXRvLT5nZXRLaWxvc0FqdXN0ZSgpLCAyLCAnLicsICcnKTsNCiAgICAgICAgJGZlY2hhID0gJGRlcG9zaXRvLT5nZXRGZWNoYVVsdGltb01vdmltaWVudG8oKS0+Zm9ybWF0KCdZLW0tZCBIOmknKTsNCiAgICAgICAgJGZlY2hhQWp1c3RlID0gJGRlcG9zaXRvLT5nZXRGZWNoYUFqdXN0ZSgpLT5mb3JtYXQoJ1ktbS1kIEg6aScpOw0KICAgICAgICAkcHJlY2lvID0gbnVtYmVyX2Zvcm1hdCgkZGVwb3NpdG8tPmdldFByZWNpbygpLCAyLCAnLicsICcnKTsNCiAgICAgICAgJGFjaWRleiA9IG51bWJlcl9mb3JtYXQoJGRlcG9zaXRvLT5nZXRBY2lkZXooKSwgMiwgJy4nLCAnJyk7DQogICAgICAgICRwZXJveGlkbyA9IG51bWJlcl9mb3JtYXQoJGRlcG9zaXRvLT5nZXRQZXJveGlkbygpLCAyLCAnLicsICcnKTsNCg0KICAgICAgICAkc3RtdC0+YmluZF9wYXJhbSgNCiAgICAgICAgICAgICJpaWRkc3Npc2RkZCIsDQogICAgICAgICAgICAkaWQsDQogICAgICAgICAgICAkaWRTdWJ0aXBvLA0KICAgICAgICAgICAgJGtpbG9zLA0KICAgICAgICAgICAgJGtpbG9zQWp1c3RlLA0KICAgICAgICAgICAgJGZlY2hhLA0KICAgICAgICAgICAgJGZlY2hhQWp1c3RlLA0KICAgICAgICAgICAgJGNlbnRybywNCiAgICAgICAgICAgICRjaWYsDQogICAgICAgICAgICAkcHJlY2lvLA0KICAgICAgICAgICAgJGFjaWRleiwNCiAgICAgICAgICAgICRwZXJveGlkbw0KICAgICAgICApOw0KDQogICAgICAgIGlmICghJHN0bXQtPmV4ZWN1dGUoKSkgew0KICAgICAgICAgICAgZXJyb3JfbG9nKCJbRVJST1JdIEVqZWN1dGFyIGluc2VydCBkZXBvc2l0bzogIiAuICRzdG10LT5lcnJvcik7DQogICAgICAgICAgICAkc3RtdC0+Y2xvc2UoKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgICRzdG10LT5jbG9zZSgpOw0KDQogICAgICAgIC8qDQogICAgICAgIC8vIEhpc3RvcmlhbA0KICAgICAgICAkaWRIaXN0ID0gRnVuY2lvbmVzOjp1bHRpbW9JZCgiZGVwb3NpdG9oaXN0IikgKyAxOw0KDQogICAgICAgICRzcWxIaXN0ID0gIklOU0VSVCBJTlRPIGRlcG9zaXRvaGlzdCANCiAgICAgICAgICAgIChpZCwgc3VidGlwb3ByaW1hcmlvLCBraWxvcywga2lsb3NhanVzdGUsIGZlY2hhLCBmZWNoYWFqdXN0ZSwgY2VudHJvLCBjaWYsIHByZWNpbywgYWNpZGV6LCBwZXJveGlkbykgDQogICAgICAgICAgICBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8pIjsNCg0KICAgICAgICBpZiAoISRzdG10ID0gJHRoaXMtPmNvbmV4aW9uLT5wcmVwYXJlKCRzcWxIaXN0KSkgew0KICAgICAgICAgICAgZXJyb3JfbG9nKCJbRVJST1JdIFByZXBhcmFyIGluc2VydCBkZXBvc2l0b2hpc3Q6ICIgLiAkdGhpcy0+Y29uZXhpb24tPmVycm9yKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgICRzdG10LT5iaW5kX3BhcmFtKA0KICAgICAgICAgICAgImlpZGRzc2lzc2QiLA0KICAgICAgICAgICAgJGlkSGlzdCwNCiAgICAgICAgICAgICRpZFN1YnRpcG8sDQogICAgICAgICAgICAka2lsb3MsDQogICAgICAgICAgICAka2lsb3NBanVzdGUsDQogICAgICAgICAgICAkZmVjaGEsDQogICAgICAgICAgICAkZmVjaGFBanVzdGUsDQogICAgICAgICAgICAkY2VudHJvLA0KICAgICAgICAgICAgJGNpZiwNCiAgICAgICAgICAgICRwcmVjaW8sDQogICAgICAgICAgICAkYWNpZGV6LA0KICAgICAgICAgICAgJHBlcm94aWRvDQogICAgICAgICk7DQoNCiAgICAgICAgaWYgKCEkc3RtdC0+ZXhlY3V0ZSgpKSB7DQogICAgICAgICAgICBlcnJvcl9sb2coIltFUlJPUl0gRWplY3V0YXIgaW5zZXJ0IGRlcG9zaXRvaGlzdDogIiAuICRzdG10LT5lcnJvcik7DQogICAgICAgICAgICAkc3RtdC0+Y2xvc2UoKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgICRzdG10LT5jbG9zZSgpOw0KICAgICAgICAqLw0KDQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZURlcG9zaXRvKERlcG9zaXRvICRkZXBvc2l0byk6IGJvb2wNCiAgICB7DQogICAgICAgIGdsb2JhbCAkY29uZXhpb24sICRjZW50cm8sICRjaWY7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIC8vIE9idGVuZXIgZXN0YWRvIHByZXZpbyBkZWwgZGVww7NzaXRvIChwYXJhIGVsIGhpc3QpDQogICAgICAgICAgICAvLyRkZXBvc2l0b0hpc3QgPSAkdGhpcy0+Z2V0RGVwb3NpdG8oJGRlcG9zaXRvLT5nZXRTdWJ0aXBvKCkpOw0KDQogICAgICAgICAgICAvLyBVUERBVEUgYSB0YWJsYSBkZXBvc2l0bw0KICAgICAgICAgICAgJHNxbFVwZGF0ZSA9ICJVUERBVEUgZGVwb3NpdG8gU0VUIGFjaWRleiA9ID8sIHBlcm94aWRvID0gPywga2lsb3MgPSA/LCBmZWNoYSA9ID8sIGtpbG9zYWp1c3RlID0gPyANCiAgICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIHN1YnRpcG9wcmltYXJpbyA9ID8gQU5EIGNpZiA9ID8iOw0KDQogICAgICAgICAgICBpZiAoISRzdG10ID0gJHRoaXMtPmNvbmV4aW9uLT5wcmVwYXJlKCRzcWxVcGRhdGUpKSB7DQogICAgICAgICAgICAgICAgZXJyb3JfbG9nKCJbRVJST1JdIFByZXBhcmFyIHVwZGF0ZSBkZXBvc2l0bzogIiAuICR0aGlzLT5jb25leGlvbi0+ZXJyb3IpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJGFjaWRleiA9IG51bWJlcl9mb3JtYXQoJGRlcG9zaXRvLT5nZXRBY2lkZXooKSwgMiwgJy4nLCAnJyk7DQogICAgICAgICAgICAkcGVyb3hpZG8gPSBudW1iZXJfZm9ybWF0KCRkZXBvc2l0by0+Z2V0UGVyb3hpZG8oKSwgMiwgJy4nLCAnJyk7DQogICAgICAgICAgICAka2lsb3MgPSBudW1iZXJfZm9ybWF0KCRkZXBvc2l0by0+Z2V0S2lsb3MoKSwgMiwgJy4nLCAnJyk7DQogICAgICAgICAgICAkZmVjaGEgPSAkZGVwb3NpdG8tPmdldEZlY2hhVWx0aW1vTW92aW1pZW50bygpLT5mb3JtYXQoIlktbS1kIEg6aSIpOw0KICAgICAgICAgICAgJGtpbG9zQWp1c3RlID0gbnVtYmVyX2Zvcm1hdCgkZGVwb3NpdG8tPmdldEtpbG9zQWp1c3RlKCksIDIsICcuJywgJycpOw0KICAgICAgICAgICAgJHN1YnRpcG8gPSAkZGVwb3NpdG8tPmdldFN1YnRpcG8oKTsNCg0KICAgICAgICAgICAgJHN0bXQtPmJpbmRfcGFyYW0oImRkZHNkaXMiLCAkYWNpZGV6LCAkcGVyb3hpZG8sICRraWxvcywgJGZlY2hhLCAka2lsb3NBanVzdGUsICRzdWJ0aXBvLCAkY2lmKTsNCg0KICAgICAgICAgICAgaWYgKCEkc3RtdC0+ZXhlY3V0ZSgpKSB7DQogICAgICAgICAgICAgICAgZXJyb3JfbG9nKCJbRVJST1JdIEVqZWN1dGFyIHVwZGF0ZSBkZXBvc2l0bzogIiAuICRzdG10LT5lcnJvcik7DQogICAgICAgICAgICAgICAgJHN0bXQtPmNsb3NlKCk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJHN0bXQtPmNsb3NlKCk7DQoNCiAgICAgICAgICAgIC8qDQogICAgICAgICAgICAvLyBJTlNFUlQgZW4gZGVwb3NpdG9oaXN0DQogICAgICAgICAgICBpbmNsdWRlX29uY2UgX19ESVJfXyAuICcvLi4vZnVuY2lvbmVzL2Z1bmNpb25lcy5waHAnOw0KICAgICAgICAgICAgJGlkSGlzdCA9IHVsdGltb0lkKCJkZXBvc2l0b2hpc3QiKSArIDE7DQoNCiAgICAgICAgICAgICRzcWxJbnNlcnQgPSAiSU5TRVJUIElOVE8gZGVwb3NpdG9oaXN0IA0KICAgICAgICAgICAgICAgIChpZCwgc3VidGlwb3ByaW1hcmlvLCBraWxvcywga2lsb3NhanVzdGUsIGZlY2hhLCBjZW50cm8sIGNpZiwgY2F0ZWdvcmlhKSANCiAgICAgICAgICAgICAgICBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8pIjsNCg0KICAgICAgICAgICAgaWYgKCEkc3RtdCA9ICR0aGlzLT5jb25leGlvbi0+cHJlcGFyZSgkc3FsSW5zZXJ0KSkgew0KICAgICAgICAgICAgICAgIGVycm9yX2xvZygiW0VSUk9SXSBQcmVwYXJhciBpbnNlcnQgZGVwb3NpdG9oaXN0OiAiIC4gJHRoaXMtPmNvbmV4aW9uLT5lcnJvcik7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAka2lsb3NIaXN0ID0gbnVtYmVyX2Zvcm1hdCgkZGVwb3NpdG9IaXN0LT5nZXRLaWxvcygpLCAyLCAnLicsICcnKTsNCiAgICAgICAgICAgICRraWxvc0FqdXN0ZUhpc3QgPSBudW1iZXJfZm9ybWF0KCRkZXBvc2l0b0hpc3QtPmdldEtpbG9zQWp1c3RlKCksIDIsICcuJywgJycpOw0KICAgICAgICAgICAgJGZlY2hhSGlzdCA9ICRkZXBvc2l0b0hpc3QtPmdldEZlY2hhVWx0aW1vTW92aW1pZW50bygpLT5mb3JtYXQoIlktbS1kIEg6aSIpOw0KDQogICAgICAgICAgICAvLyBPYnRlbmVtb3MgbGEgY2F0ZWdvcsOtYSBzaSBleGlzdGUNCiAgICAgICAgICAgICRjYXRlZ29yaWEgPSAiIjsNCiAgICAgICAgICAgICRjYXRlZ29yaWFPYmogPSBEQU9EZXBvc2l0b0NhdGVnb3JpYTo6Z2V0RGVwb3NpdG9DYXRlZ29yaWFEZXBvc2l0bygkc3VidGlwbyk7DQogICAgICAgICAgICBpZiAoJGNhdGVnb3JpYU9iaiAmJiAkY2F0ZWdvcmlhT2JqLT5nZXRDYXRlZ29yaWEoKSkgew0KICAgICAgICAgICAgICAgICRjYXRlZ29yaWEgPSAkY2F0ZWdvcmlhT2JqLT5nZXRDYXRlZ29yaWEoKS0+Z2V0Tm9tYnJlKCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICRzdG10LT5iaW5kX3BhcmFtKA0KICAgICAgICAgICAgICAgICJpaWRkc2lzcyIsDQogICAgICAgICAgICAgICAgJGlkSGlzdCwNCiAgICAgICAgICAgICAgICAkc3VidGlwbywNCiAgICAgICAgICAgICAgICAka2lsb3NIaXN0LA0KICAgICAgICAgICAgICAgICRraWxvc0FqdXN0ZUhpc3QsDQogICAgICAgICAgICAgICAgJGZlY2hhSGlzdCwNCiAgICAgICAgICAgICAgICAkY2VudHJvLA0KICAgICAgICAgICAgICAgICRjaWYsDQogICAgICAgICAgICAgICAgJGNhdGVnb3JpYQ0KICAgICAgICAgICAgKTsNCg0KICAgICAgICAgICAgaWYgKCEkc3RtdC0+ZXhlY3V0ZSgpKSB7DQogICAgICAgICAgICAgICAgZXJyb3JfbG9nKCJbRVJST1JdIEVqZWN1dGFyIGluc2VydCBkZXBvc2l0b2hpc3Q6ICIgLiAkc3RtdC0+ZXJyb3IpOw0KICAgICAgICAgICAgICAgICRzdG10LT5jbG9zZSgpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJHN0bXQtPmNsb3NlKCk7DQoNCiAgICAgICAgICAgIEZ1bmNpb25lczo6c3lzTG9nKCJbSU5GT10gQWN0dWFsaXphciBlc3RhZG8gZGVwb3NpdG8iKTsNCiAgICAgICAgICAgIEZ1bmNpb25lczo6Z3VhcmRhTG9nKCJJTkZPIiwgIkFjdHVhbGl6YXIgZXN0YWRvIGRlcMOzc2l0byIpOw0KDQogICAgICAgICAgICAvLyBTdXBvbmllbmRvIHF1ZSB0aWVuZXMgdW4gY29udGFkb3IgZGUgYmFja3VwIGdsb2JhbA0KICAgICAgICAgICAgRnJtSW5pY2lhbDo6JGNvbnRCYWNrdXArKzsNCiAgICAgICAgICAgICovDQoNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsNCiAgICAgICAgICAgIGVycm9yX2xvZygiW0VSUk9SXSBFeGNlcGNpw7NuIGVuIHVwZGF0ZURlcG9zaXRvOiAiIC4gJGUtPmdldE1lc3NhZ2UoKSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gdXBkYXRlRGVwb3NpdG9QcmVjaW8oRGVwb3NpdG8gJGRlcG9zaXRvLCBmbG9hdCAkcHJlY2lvKTogYm9vbA0KICAgIHsNCiAgICAgICAgZ2xvYmFsICRjb25leGlvbiwgJGNpZiwgJGNlbnRybzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgJHN1YnRpcG9JZCA9ICRkZXBvc2l0by0+Z2V0U3VidGlwbygpOw0KICAgICAgICAgICAgJHByZWNpb1NRTCA9IG51bWJlcl9mb3JtYXQoJHByZWNpbywgMiwgJy4nLCAnJyk7DQogICAgICAgICAgICAkZmVjaGFBanVzdGUgPSBkYXRlKCJZLW0tZCBIOmk6MDAiKTsNCg0KICAgICAgICAgICAgLy8gQWN0dWFsaXphciBlbCBwcmVjaW8geSBmZWNoYSBkZSBhanVzdGUNCiAgICAgICAgICAgICRzcWxVcGRhdGUgPSAiVVBEQVRFIGRlcG9zaXRvIFNFVCBwcmVjaW8gPSA/LCBmZWNoYWFqdXN0ZSA9ID8gV0hFUkUgc3VidGlwb3ByaW1hcmlvID0gPyI7DQoNCiAgICAgICAgICAgIGlmICghJHN0bXQgPSAkY29uZXhpb24tPnByZXBhcmUoJHNxbFVwZGF0ZSkpIHsNCiAgICAgICAgICAgICAgICBlcnJvcl9sb2coIltFUlJPUl0gUHJlcGFyYXIgdXBkYXRlRGVwb3NpdG9QcmVjaW86ICIgLiAkY29uZXhpb24tPmVycm9yKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICRzdG10LT5iaW5kX3BhcmFtKCJkc2kiLCAkcHJlY2lvU1FMLCAkZmVjaGFBanVzdGUsICRzdWJ0aXBvSWQpOw0KICAgICAgICAgICAgaWYgKCEkc3RtdC0+ZXhlY3V0ZSgpKSB7DQogICAgICAgICAgICAgICAgZXJyb3JfbG9nKCJbRVJST1JdIEVqZWN1dGFyIHVwZGF0ZURlcG9zaXRvUHJlY2lvOiAiIC4gJHN0bXQtPmVycm9yKTsNCiAgICAgICAgICAgICAgICAkc3RtdC0+Y2xvc2UoKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkc3RtdC0+Y2xvc2UoKTsNCg0KICAgICAgICAgICAgLyoNCiAgICAgICAgICAgIC8vIEluc2VydGFyIGVuIGRlcG9zaXRvaGlzdA0KICAgICAgICAgICAgaW5jbHVkZV9vbmNlIF9fRElSX18gLiAnLy4uL2Z1bmNpb25lcy9mdW5jaW9uZXMucGhwJzsNCiAgICAgICAgICAgICRpZEhpc3QgPSB1bHRpbW9JZCgiZGVwb3NpdG9oaXN0IikgKyAxOw0KDQogICAgICAgICAgICAkc3FsSW5zZXJ0ID0gIklOU0VSVCBJTlRPIGRlcG9zaXRvaGlzdCANCiAgICAgICAgICAgICAgICAoYGlkYCwgYHN1YnRpcG9wcmltYXJpb2AsIGBraWxvc2AsIGBraWxvc2FqdXN0ZWAsIGBmZWNoYWAsIGBmZWNoYWFqdXN0ZWAsIGBjZW50cm9gLCBgY2lmYCwgYHByZWNpb2ApIA0KICAgICAgICAgICAgICAgIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPywgPykiOw0KDQogICAgICAgICAgICBpZiAoISRzdG10ID0gJGNvbmV4aW9uLT5wcmVwYXJlKCRzcWxJbnNlcnQpKSB7DQogICAgICAgICAgICAgICAgZXJyb3JfbG9nKCJbRVJST1JdIFByZXBhcmFyIGluc2VydCBkZXBvc2l0b2hpc3QgY29uIHByZWNpbzogIiAuICRjb25leGlvbi0+ZXJyb3IpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJGtpbG9zID0gbnVtYmVyX2Zvcm1hdCgkZGVwb3NpdG8tPmdldEtpbG9zKCksIDIsICcuJywgJycpOw0KICAgICAgICAgICAgJGtpbG9zQWp1c3RlID0gbnVtYmVyX2Zvcm1hdCgkZGVwb3NpdG8tPmdldEtpbG9zQWp1c3RlKCksIDIsICcuJywgJycpOw0KICAgICAgICAgICAgJGZlY2hhTW92aW1pZW50byA9ICRkZXBvc2l0by0+Z2V0RmVjaGFVbHRpbW9Nb3ZpbWllbnRvKCktPmZvcm1hdCgiWS1tLWQgSDppIik7DQogICAgICAgICAgICAkZmVjaGFBanVzdGVPYmogPSAkZGVwb3NpdG8tPmdldEZlY2hhQWp1c3RlKCktPmZvcm1hdCgiWS1tLWQgSDppIik7DQoNCiAgICAgICAgICAgICRzdG10LT5iaW5kX3BhcmFtKA0KICAgICAgICAgICAgICAgICJpaWRkc3Npc2QiLA0KICAgICAgICAgICAgICAgICRpZEhpc3QsDQogICAgICAgICAgICAgICAgJHN1YnRpcG9JZCwNCiAgICAgICAgICAgICAgICAka2lsb3MsDQogICAgICAgICAgICAgICAgJGtpbG9zQWp1c3RlLA0KICAgICAgICAgICAgICAgICRmZWNoYU1vdmltaWVudG8sDQogICAgICAgICAgICAgICAgJGZlY2hhQWp1c3RlT2JqLA0KICAgICAgICAgICAgICAgICRjZW50cm8sDQogICAgICAgICAgICAgICAgJGNpZiwNCiAgICAgICAgICAgICAgICAkcHJlY2lvU1FMDQogICAgICAgICAgICApOw0KDQogICAgICAgICAgICBpZiAoISRzdG10LT5leGVjdXRlKCkpIHsNCiAgICAgICAgICAgICAgICBlcnJvcl9sb2coIltFUlJPUl0gRWplY3V0YXIgaW5zZXJ0IGRlcG9zaXRvaGlzdCBjb24gcHJlY2lvOiAiIC4gJHN0bXQtPmVycm9yKTsNCiAgICAgICAgICAgICAgICAkc3RtdC0+Y2xvc2UoKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICRzdG10LT5jbG9zZSgpOw0KICAgICAgICAgICAgKi8NCg0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZURlcG9zaXRvTG90ZUFjdHVhbChpbnQgJGlkRGVwb3NpdG8sIHN0cmluZyAkbG90ZSkNCiAgICB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICAkc3FsID0gIlVQREFURSBkZXBvc2l0byBTRVQgbG90ZV9hY3R1YWwgPSA/IFdIRVJFIHN1YnRpcG9wcmltYXJpbyA9ID8iOw0KDQoNCiAgICAgICAgICAgICRzdG10ID0gJHRoaXMtPmNvbmV4aW9uLT5wcmVwYXJlKCRzcWwpOw0KICAgICAgICAgICAgJHN0bXQtPmJpbmRfcGFyYW0oInNpIiwgJGxvdGUsICRpZERlcG9zaXRvKTsNCiAgICAgICAgICAgIGlmICghJHN0bXQtPmV4ZWN1dGUoKSkgew0KICAgICAgICAgICAgICAgIGVycm9yX2xvZygiW0VSUk9SXSBFamVjdXRhciB1cGRhdGVEZXBvc2l0b0xvdGVBY3R1YWw6ICIgLiAkc3RtdC0+ZXJyb3IpOw0KICAgICAgICAgICAgICAgICRzdG10LT5jbG9zZSgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJHN0bXQtPmNsb3NlKCk7DQogICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgew0KICAgICAgICB9DQogICAgfQ0KDQogICAgLy8gSGVjaG8NCg0KICAgIC8qKg0KICAgICAqIEBwYXJhbSAkY29uZXhpb24NCiAgICAgKiBAcmV0dXJuIGFycmF5DQogICAgICovDQogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBvYnRlbmVyQm9kZWdhQWNvcmRlb24oJGNvbmV4aW9uKQ0KICAgIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICRkYiA9IENvbmV4aW9uOjpnZXREYkZvcigkY29uZXhpb24pOw0KICAgICAgICAgICAgJGRhdGEgPSBhcnJheSgpOw0KDQogICAgICAgICAgICAkbXlzcWxpID0gIlNFTEVDVCANCiAgICAgICAgICAgICAgICAgICAgYi5pZCwgDQogICAgICAgICAgICAgICAgICAgIGIubm9tYnJlLCANCiAgICAgICAgICAgICAgICAgICAgU1VNKENBU0UgV0hFTiBraWxvcyA+PSAwIFRIRU4ga2lsb3MgRUxTRSAwIEVORCkgQVMga2lsb3MsDQogICAgICAgICAgICAgICAgICAgIFNVTShDQVNFIFdIRU4ga2lsb3NhanVzdGUgPj0gMCBUSEVOIGtpbG9zYWp1c3RlIEVMU0UgMCBFTkQpIEFTIGtpbG9zYWp1c3RlDQogICAgICAgICAgICAgICAgICAgIEZST00gYm9kZWdhIGIgDQogICAgICAgICAgICAgICAgICAgIExFRlQgSk9JTiBib2RlZ2Fhc2lnbmFjaW9uIGJhIE9OIGIuaWQgPSBiYS5ib2RlZ2ENCiAgICAgICAgICAgICAgICAgICAgSk9JTiBkZXBvc2l0byBkIE9OIGQuc3VidGlwb3ByaW1hcmlvID0gYmEuZGVwb3NpdG8gQU5EIGQuaGFiaWxpdGFkbyA9IDENCiAgICAgICAgICAgICAgICAgICAgV0hFUkUgYi5oYWJpbGl0YWRvID0gMSANCiAgICAgICAgICAgICAgICAgICAgR1JPVVAgQlkgYi5pZCI7DQoNCiAgICAgICAgICAgICRyZXN1bHQgPSAkZGItPnF1ZXJ5KCRteXNxbGkpOw0KDQogICAgICAgICAgICBpZiAoJHJlc3VsdCkgew0KICAgICAgICAgICAgICAgICRzdG10ID0gJGRiLT5wcmVwYXJlKCJTRUxFQ1QgDQogICAgICAgICAgICAgICAgZC5pZCwgZC5zdWJ0aXBvcHJpbWFyaW8sIHMubm9tYnJlIEFTIG5vbVN1YlRQcmltYXJpbywgSUZOVUxMKGMubm9tYnJlLCdTaW4gQ2F0ZWdvcmlhJykgQVMgY2F0ZWdvcmlhLCBkLmtpbG9zLCANCiAgICAgICAgICAgICAgICBkLmtpbG9zYWp1c3RlLCBkLmZlY2hhLCBkLmZlY2hhYWp1c3RlLCBkLmFjaWRleiwgZC5wZXJveGlkbywgSUZOVUxMKHR2LnVsdFZhY2lvLCcwMDAxLTAxLTAxIDAwOjAwOjAwJykgQVMgdWx0VmFjaW8sDQogICAgICAgICAgICAgICAgSUZOVUxMKHR2LnVsdExvdGUsJycpIEFTIHVsdExvdGUsIElGTlVMTCh0di5sb3RDZWwsJycpIEFTIGxvdGNlbCwgZC5sb3RlX2FjdHVhbCwgZC5vYnNlcnZhY2lvbmVzLCBkLksyNjhfSzI3MCwgDQogICAgICAgICAgICAgICAgZC5pbmRpY2UsIGQucHVudHVhY2lvbiwgSUZOVUxMKHZvLm5vbWJyZSwnJykgQVMgdk9yZ2FubywgZC5wcmVjaW8NCiAgICAgICAgICAgICAgICBGUk9NIGRlcG9zaXRvIGQNCiAgICAgICAgICAgICAgICBKT0lOIHN1YnRpcG9wcmltYXJpbyBzIE9OIGQuc3VidGlwb3ByaW1hcmlvID0gcy5pZCANCiAgICAgICAgICAgICAgICBMRUZUIEpPSU4gKA0KICAgICAgICAgICAgICAgICAgICBTRUxFQ1QgZGMuZGVwb3NpdG8sIGNhdC5ub21icmUgDQogICAgICAgICAgICAgICAgICAgIEZST00gZGVwb3NpdG9jYXRlZ29yaWEgZGMNCiAgICAgICAgICAgICAgICAgICAgSk9JTiBjYXRlZ29yaWEgY2F0IE9OIGRjLmNhdGVnb3JpYSA9IGNhdC5pZCANCiAgICAgICAgICAgICAgICAgICAgR1JPVVAgQlkgZGMuZGVwb3NpdG8NCiAgICAgICAgICAgICAgICApIGMgT04gYy5kZXBvc2l0byA9IGQuc3VidGlwb3ByaW1hcmlvDQogICAgICAgICAgICAgICAgTEVGVCBKT0lOICgNCiAgICAgICAgICAgICAgICAgICAgU0VMRUNUIHQxLm9yaWdlbiwgdDEuZmVjaGEgQVMgdWx0VmFjaW8sIHQxLm5fbG90ZSBBUyB1bHRMb3RlLCB0MS5sb3RlX2ZpbHRybyBBUyBsb3RDZWwNCiAgICAgICAgICAgICAgICAgICAgRlJPTSB0cmFzaWVnbyB0MSANCiAgICAgICAgICAgICAgICAgICAgSk9JTiAoDQogICAgICAgICAgICAgICAgICAgICAgICBTRUxFQ1Qgb3JpZ2VuLCBNQVgoZmVjaGEpIEFTIG1heF9mZWNoYQ0KICAgICAgICAgICAgICAgICAgICAgICAgRlJPTSB0cmFzaWVnbw0KICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgdmFjaW8gPSAxDQogICAgICAgICAgICAgICAgICAgICAgICBHUk9VUCBCWSBvcmlnZW4NCiAgICAgICAgICAgICAgICAgICAgKSB0MiBPTiB0MS5vcmlnZW4gPSB0Mi5vcmlnZW4gQU5EIHQxLmZlY2hhID0gdDIubWF4X2ZlY2hhDQogICAgICAgICAgICAgICAgICAgIFdIRVJFIHQxLnZhY2lvID0gMQ0KICAgICAgICAgICAgICAgICkgdHYgT04gdHYub3JpZ2VuID0gZC5zdWJ0aXBvcHJpbWFyaW8NCiAgICAgICAgICAgICAgICBKT0lOIHZhbG9yYWNpb25vcmdhbm9sZXB0aWNhIHZvIE9OIGQudmFsb3JhY2lvbiA9IHZvLmlkIA0KICAgICAgICAgICAgICAgIFdIRVJFIGQuaGFiaWxpdGFkbyA9IDEgQU5EIHMudGlwbyBJTiAoNiw3KSBBTkQNCiAgICAgICAgICAgICAgICBkLnN1YnRpcG9wcmltYXJpbyBJTiAoDQogICAgICAgICAgICAgICAgICAgIFNFTEVDVCBkZXBvc2l0byANCiAgICAgICAgICAgICAgICAgICAgRlJPTSBib2RlZ2Fhc2lnbmFjaW9uIA0KICAgICAgICAgICAgICAgICAgICBXSEVSRSBib2RlZ2EgPSA/IEFORCBoYWJpbGl0YWRvID0gMQ0KICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICBPUkRFUiBCWSBzLm9yZGluYWwgQVNDIik7DQoNCiAgICAgICAgICAgICAgICB3aGlsZSAoJHJvdyA9ICRyZXN1bHQtPmZldGNoX2Fzc29jKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgJGJvZGVnYV9pZCA9ICRyb3dbJ2lkJ107DQoNCiAgICAgICAgICAgICAgICAgICAgJHN0bXQtPmJpbmRfcGFyYW0oImkiLCAkYm9kZWdhX2lkKTsNCiAgICAgICAgICAgICAgICAgICAgJHN0bXQtPmV4ZWN1dGUoKTsNCiAgICAgICAgICAgICAgICAgICAgJGRlcG9zaXRvX3Jlc3VsdCA9ICRzdG10LT5nZXRfcmVzdWx0KCk7DQoNCiAgICAgICAgICAgICAgICAgICAgJGRlcG9zaXRvcyA9IFtdOw0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoJGRlcCA9ICRkZXBvc2l0b19yZXN1bHQtPmZldGNoX2Fzc29jKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRkZXBvc2l0b3NbXSA9ICRkZXA7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAkcm93WydkZXBvc2l0byddID0gJGRlcG9zaXRvczsNCiAgICAgICAgICAgICAgICAgICAgJGRhdGFbXSA9ICRyb3c7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgJHN0bXQtPmNsb3NlKCk7DQogICAgICAgICAgICAgICAgJHJlc3VsdC0+ZnJlZSgpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gJGRhdGE7DQoNCiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7DQogICAgICAgICAgICBlcnJvcl9sb2coJGUtPmdldE1lc3NhZ2UoKSk7DQogICAgICAgICAgICByZXR1cm4gW107DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvLyBIZWNobw0KDQogICAgLyoqDQogICAgICogRnVuY2nDs24gcXVlIGRldnVlbHZlIGxhIGluZm9ybWFjacOzbiBkZSBsb3MgbW92aW1pZW50b3MgZGUgdW4gZGVwb3NpdG8NCiAgICAgKiBAcGFyYW0gaW50ICRjb25leGlvbg0KICAgICAqIEBwYXJhbSBpbnQgJHN1YnRpcG9wcmltYXJpbw0KICAgICAqIEByZXR1cm4gYXJyYXl8dm9pZA0KICAgICAqLw0KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0RGV0YWxsZXNEZXBvc2l0byhpbnQgJGNvbmV4aW9uLCBpbnQgJHN1YnRpcG9wcmltYXJpbykNCiAgICB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICAkZGIgPSBDb25leGlvbjo6Z2V0RGJGb3IoJGNvbmV4aW9uKTsNCg0KICAgICAgICAgICAgJGNhbXBhbmlhID0gc2VsZjo6Z2V0Q2FtcGFuaWFNYXhpbWEoJGRiKTsNCg0KICAgICAgICAgICAgJG15c3FsaSA9ICJTRUxFQ1QgdC5pZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Lm9yaWdlbiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0LmRlc3Rpbm8sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdC5mZWNoYSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0LmZlY2hhb3JpZ2VuLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPQUxFU0NFKHQua2lsb3MsIDApICAgICAgICAgICAgICAgQVMga2lsb3MsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09BTEVTQ0UodC52YWNpbywgMCkgICAgICAgICAgICAgICBBUyB2YWNpbywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT0FMRVNDRSh0LnBhcnRpZGEsIDApICAgICAgICAgICAgIEFTIHBhcnRpZGEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09BTEVTQ0UodC5mZWNoYWxpbXBpZXphLCAnJykgICAgICBBUyBmZWNoYWxpbXBpZXphLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPQUxFU0NFKHQuZXh0ZXJuYSwgMCkgICAgICAgICAgICAgQVMgZXh0ZXJuYSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT0FMRVNDRSh0LmxvdGUsIDApICAgICAgICAgICAgICAgIEFTIGxvdGUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09BTEVTQ0UodC5zYWxpZGEsIDApICAgICAgICAgICAgICBBUyBzYWxpZGEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09BTEVTQ0Uobm9yLm5vbWJyZSwgJycpICAgICAgICAgICBBUyBub21icmVvcmlnZW4sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09BTEVTQ0UoZGVzLm5vbWJyZSwgJycpICAgICAgICAgICBBUyBub21icmVkZXN0aW5vLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPQUxFU0NFKHAucmVuZGltaWVudG9lc3RpbWFkbywgMCkgQVMgcmVuZGltaWVudG9lc3RpbWFkbywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT0FMRVNDRShwLnRvbHZhLCAwKSAgICAgICAgICAgICAgIEFTIHRvbHZhLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPQUxFU0NFKHRvbC5ub21icmUsICcnKSAgICAgICAgICAgQVMgbm9tYnJldG9sdmEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09BTEVTQ0UocC5raWxvcywgMCkgICAgICAgICAgICAgICBBUyBraWxvc3BhcnRpZGENCiAgICAgICAgICAgICAgICAgICAgICAgIEZST00gdHJhc2llZ28gdA0KICAgICAgICAgICAgICAgICAgICAgICAgTEVGVCBKT0lOIHN1YnRpcG9wcmltYXJpbyBub3IgT04gdC5vcmlnZW4gPSBub3IuaWQNCiAgICAgICAgICAgICAgICAgICAgICAgIExFRlQgSk9JTiBzdWJ0aXBvcHJpbWFyaW8gZGVzIE9OIHQuZGVzdGlubyA9IGRlcy5pZA0KICAgICAgICAgICAgICAgICAgICAgICAgTEVGVCBKT0lOIHBhcnRpZGEgcCBPTiB0LnBhcnRpZGEgPSBwLmlkDQogICAgICAgICAgICAgICAgICAgICAgICBMRUZUIEpPSU4gc3VidGlwb3ByaW1hcmlvIHRvbCBPTiBwLnRvbHZhID0gdG9sLmlkDQogICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0LmhhYmlsaXRhZG8gPSAxIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFORCB0LmNhbXBhbmlhID0gPw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFORCAodC5vcmlnZW4gPSA/IE9SIHQuZGVzdGlubyA9ID8pIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFORCAodC5wYXJ0aWRhID0gMCBPUiAodC5wYXJ0aWRhICE9IDAgQU5EIHAuaGFiaWxpdGFkbyA9IDEpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgT1JERVIgQlkgdC5mZWNoYSI7DQoNCiAgICAgICAgICAgICRzdG10ID0gJGRiLT5wcmVwYXJlKCRteXNxbGkpOw0KICAgICAgICAgICAgJHN0bXQtPmJpbmRfcGFyYW0oJ2lpaScsICRjYW1wYW5pYSwgJHN1YnRpcG9wcmltYXJpbywgJHN1YnRpcG9wcmltYXJpbyk7DQogICAgICAgICAgICAkc3RtdC0+ZXhlY3V0ZSgpOw0KDQogICAgICAgICAgICAkcmVzdWx0ID0gJHN0bXQtPmdldF9yZXN1bHQoKTsNCiAgICAgICAgICAgICRkYXRhID0gJHJlc3VsdC0+ZmV0Y2hfYWxsKE1ZU1FMSV9BU1NPQyk7DQogICAgICAgICAgICAkc3RtdC0+Y2xvc2UoKTsNCg0KICAgICAgICAgICAgcmV0dXJuICRkYXRhOw0KDQogICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgew0KICAgICAgICAgICAgZXJyb3JfbG9nKCRlLT5nZXRNZXNzYWdlKCkpOw0KICAgICAgICAgICAgcmV0dXJuIFtdOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgLy8gSGVjaG8NCg0KICAgIC8qKg0KICAgICAqIEBwYXJhbSAkZGINCiAgICAgKiBAcmV0dXJuIGludA0KICAgICAqLw0KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0Q2FtcGFuaWFNYXhpbWEoJGRiKQ0KICAgIHsNCiAgICAgICAgJHN0bXQgPSAkZGItPnByZXBhcmUoJ1NlbGVjdCBtYXgoaWQpIGFzIGlkTWF4LCBtYXgoZmVjaGEpIEFTIGluaWNpb0NhbXBhbmlhIGZyb20gY2FtcGFuaWEnKTsNCiAgICAgICAgJHN0bXQtPmV4ZWN1dGUoKTsNCiAgICAgICAgJHJlc3VsdCA9ICRzdG10LT5nZXRfcmVzdWx0KCk7DQogICAgICAgICRyb3cgPSAkcmVzdWx0LT5mZXRjaF9hc3NvYygpOw0KICAgICAgICAkc3RtdC0+Y2xvc2UoKTsNCiAgICAgICAgcmV0dXJuIChpbnQpKCRyb3dbJ2lkTWF4J10gPz8gMCk7DQogICAgfQ0KDQogICAgLy8gSGVjaG8NCg0KICAgIC8qKg0KICAgICAqIEBwYXJhbSBpbnQgJGNvbmV4aW9uDQogICAgICogQHBhcmFtIGludCAkc3VidGlwb3ByaW1hcmlvDQogICAgICogQHJldHVybiBhcnJheQ0KICAgICAqLw0KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gb2J0ZW5lclNhbGlkYXNNdWVzdHJhRGVwb3NpdG8oaW50ICRjb25leGlvbiwgaW50ICRzdWJ0aXBvcHJpbWFyaW8pOiBhcnJheQ0KICAgIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICRkYiA9IENvbmV4aW9uOjpnZXREYkZvcigkY29uZXhpb24pOw0KDQogICAgICAgICAgICAkY2FtcGFuaWEgPSBzZWxmOjpnZXRDYW1wYW5pYU1heGltYSgkZGIpOw0KDQogICAgICAgICAgICAkbXlzcWxpID0gIlNFTEVDVCBtYS5pZCwgbWEuaWRzdWJ0aXBvLCBjLm5vbWJyZSwgbWEuY2FudGlkYWQsIG1hLmZlY2hhLCBtYS5tdWVzdHJhLCBtYS5vYnNlcnZhY2lvbmVzLCBtYS5jYW1wYW5pYSwgDQogICAgICAgICAgICAgICAgbWEubWF0cmljdWxhLCBtYS5jYiwgbWEubG90ZWRlcG9zaXRvLCBtYS5jYXRlZ29yaWEgIA0KICAgICAgICAgICAgICAgIEZST00gbXVlc3RyYWFjZWl0ZSBtYQ0KICAgICAgICAgICAgICAgIExFRlQgSk9JTiBjbGllbnRlIGMgT04gYy5pZCA9IG1hLmNsaWVudGUNCiAgICAgICAgICAgICAgICBXSEVSRSBtYS5jYW1wYW5pYSA9ID8NCiAgICAgICAgICAgICAgICBBTkQgbWEuaWRzdWJ0aXBvID0gPyI7DQoNCiAgICAgICAgICAgICRzdG10ID0gJGRiLT5wcmVwYXJlKCRteXNxbGkpOw0KICAgICAgICAgICAgJHN0bXQtPmJpbmRfcGFyYW0oJ2lpJywgJGNhbXBhbmlhLCAkc3VidGlwb3ByaW1hcmlvKTsNCiAgICAgICAgICAgICRzdG10LT5leGVjdXRlKCk7DQoNCiAgICAgICAgICAgICRyZXN1bHQgPSAkc3RtdC0+Z2V0X3Jlc3VsdCgpOw0KICAgICAgICAgICAgJGRhdGEgPSAkcmVzdWx0LT5mZXRjaF9hbGwoTVlTUUxJX0FTU09DKTsNCiAgICAgICAgICAgICRzdG10LT5jbG9zZSgpOw0KDQogICAgICAgICAgICByZXR1cm4gJGRhdGE7DQoNCiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7DQogICAgICAgICAgICBlcnJvcl9sb2coJGUtPmdldE1lc3NhZ2UoKSk7DQogICAgICAgICAgICByZXR1cm4gW107DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvLyBIZWNobw0KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYWp1c3RhckRlcG9zaXRvKGludCAkY29uZXhpb24sIGludCAkc3VidGlwb3ByaW1hcmlvLCBzdHJpbmcgJHRpcG8sIHN0cmluZyAkdmFsb3IpOiBpbnR8c3RyaW5nDQogICAgew0KICAgICAgICAkY2FtcG8gPSAnJzsNCiAgICAgICAgc3dpdGNoICgkdGlwbykgew0KICAgICAgICAgICAgY2FzZSAnQWp1c3RhciBLaWxvcyc6DQogICAgICAgICAgICAgICAgJGNhbXBvID0gJ2tpbG9zYWp1c3RlJzsNCiAgICAgICAgICAgICAgICBicmVhazsNCg0KICAgICAgICAgICAgY2FzZSAnQWp1c3RhciBBY2lkZXonOg0KICAgICAgICAgICAgICAgICRjYW1wbyA9ICdhY2lkZXonOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KDQogICAgICAgICAgICBjYXNlICdBanVzdGFyIFBlcsOzeGlkbyc6DQogICAgICAgICAgICAgICAgJGNhbXBvID0gJ3Blcm94aWRvJzsNCiAgICAgICAgICAgICAgICBicmVhazsNCg0KICAgICAgICAgICAgY2FzZSAnQWp1c3RhciBLMjY4JzoNCiAgICAgICAgICAgICAgICAkY2FtcG8gPSAnSzI2OF9LMjcwJzsNCiAgICAgICAgICAgICAgICBicmVhazsNCg0KICAgICAgICAgICAgY2FzZSAnQWp1c3RhciBJbmRpY2UgR2xvYmFsJzoNCiAgICAgICAgICAgICAgICAkY2FtcG8gPSAnaW5kaWNlJzsNCiAgICAgICAgICAgICAgICBicmVhazsNCg0KICAgICAgICAgICAgY2FzZSAnQWp1c3RhciBQdW50dWFjw7NuIE9yZ2Fub2zDqXB0aWNhJzoNCiAgICAgICAgICAgICAgICAkY2FtcG8gPSAncHVudHVhY2lvbic7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICAgICAgJGZlY2hhID0gZGF0ZSgnWS1tLWQgSDppOnMnKTsNCg0KICAgICAgICAkZGIgPSBDb25leGlvbjo6Z2V0RGJGb3IoJGNvbmV4aW9uKTsNCg0KICAgICAgICAkbXlzcWxpID0gIlVQREFURSBkZXBvc2l0byBTRVQgJGNhbXBvID0gPywgZmVjaGFhanVzdGUgPSA/IFdIRVJFIHN1YnRpcG9wcmltYXJpbyA9ID8iOw0KDQogICAgICAgICRzdG10ID0gJGRiLT5wcmVwYXJlKCRteXNxbGkpOw0KICAgICAgICAkc3RtdC0+YmluZF9wYXJhbSgnaXNpJywgJHZhbG9yLCAkZmVjaGEsICRzdWJ0aXBvcHJpbWFyaW8pOw0KDQogICAgICAgIGlmICgkc3RtdC0+ZXhlY3V0ZSgpKSB7DQogICAgICAgICAgICAkc3RtdC0+Y2xvc2UoKTsNCiAgICAgICAgICAgIHJldHVybiAnQWp1c3RlIGd1YXJkYWRvIGNvcnJlY3RhbWVudGUnOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJHN0bXQtPmNsb3NlKCk7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8vIEhlY2hvDQogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB2ZXJBbmFsaXNpcyhpbnQgJGNvbmV4aW9uLCBpbnQgJGlkKQ0KICAgIHsNCiAgICAgICAgJGNhcnBldGEgPSBfX0RJUl9fIC4gIi8uLi9hbmFsaXNpcy97JGNvbmV4aW9ufS9pZGRlcHskaWR9LyI7DQoNCiAgICAgICAgaWYgKCFpc19kaXIoJGNhcnBldGEpKSB7DQogICAgICAgICAgICByZXR1cm4gW107DQogICAgICAgIH0NCg0KICAgICAgICAkYXJjaGl2b3MgPSBhcnJheV9kaWZmKHNjYW5kaXIoJGNhcnBldGEpLCBbJy4nLCAnLi4nXSk7DQogICAgICAgICRkZXRhbGxlcyA9IFtdOw0KDQogICAgICAgIGZvcmVhY2ggKCRhcmNoaXZvcyBhcyAkYXJjaGl2bykgew0KICAgICAgICAgICAgJHJ1dGEgPSAkY2FycGV0YSAuICRhcmNoaXZvOw0KICAgICAgICAgICAgaWYgKGlzX2ZpbGUoJHJ1dGEpKSB7DQogICAgICAgICAgICAgICAgJGRldGFsbGVzW10gPSBbDQogICAgICAgICAgICAgICAgICAgICdub21icmUnID0+ICRhcmNoaXZvLA0KICAgICAgICAgICAgICAgICAgICAnZmVjaGEnID0+IGZpbGVtdGltZSgkcnV0YSkNCiAgICAgICAgICAgICAgICBdOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdXNvcnQoJGRldGFsbGVzLCBmdW5jdGlvbiAoJGEsICRiKSB7DQogICAgICAgICAgICByZXR1cm4gJGJbJ2ZlY2hhJ10gLSAkYVsnZmVjaGEnXTsNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICRkZXRhbGxlczsNCiAgICB9DQoNCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGFuYWRpckFuYWxpc2lzKGludCAkY29uZXhpb24sIGludCAkaWREZXBvc2l0bywgYXJyYXkgJHVzZXJmaWxlKXsNCiAgICAgICAgLy8gMS4gQ29tcHJvYmFyIHF1ZSB2aWVuZSBlbCBhcmNoaXZvDQogICAgICAgIGlmICghJHVzZXJmaWxlKSB7DQogICAgICAgICAgICByZXR1cm4ganNvbl9lbmNvZGUoWw0KICAgICAgICAgICAgICAgICdzdGF0dXMnICA9PiAnZXJyb3InLA0KICAgICAgICAgICAgICAgICdtZW5zYWplJyA9PiAnTm8gc2UgaGEgc2VsZWNjaW9uYWRvIG5pbmfDum4gYXJjaGl2byBvIGh1Ym8gdW4gZXJyb3InDQogICAgICAgICAgICBdKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIDIuIENvbXByb2JhciBxdWUgdmllbmUgZWwgaWQgKG9wY2lvbmFsIHNpIG5vIGxvIHVzYXMpDQogICAgICAgIGlmICgkaWREZXBvc2l0byA9PT0gMCkgew0KICAgICAgICAgICAgcmV0dXJuIGpzb25fZW5jb2RlKFsNCiAgICAgICAgICAgICAgICAnc3RhdHVzJyAgPT4gJ2Vycm9yJywNCiAgICAgICAgICAgICAgICAnbWVuc2FqZScgPT4gJ0ZhbHRhIGVsIHBhcsOhbWV0cm8gaWQnDQogICAgICAgICAgICBdKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIDMuIENhcnBldGEgZGVzdGlubw0KICAgICAgICAkY2FycGV0YSA9IF9fRElSX18gLiAiLy4uL2FuYWxpc2lzL3skY29uZXhpb259L2lkZGVweyRpZERlcG9zaXRvfSI7DQoNCiAgICAgICAgaWYgKCFpc19kaXIoJGNhcnBldGEpICYmICFta2RpcigkY2FycGV0YSwgMDc3NywgdHJ1ZSkpIHsNCiAgICAgICAgICAgIHJldHVybiBqc29uX2VuY29kZShbDQogICAgICAgICAgICAgICAgJ3N0YXR1cycgID0+ICdlcnJvcicsDQogICAgICAgICAgICAgICAgJ21lbnNhamUnID0+ICdObyBzZSBwdWRvIGNyZWFyIGxhIGNhcnBldGEgZGVzdGlubycNCiAgICAgICAgICAgIF0pOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gNC4gQ29uc3RydWlyIG5vbWJyZSBzZWd1cm8NCiAgICAgICAgJG5vbWJyZVNlZ3VybyA9IGJhc2VuYW1lKCR1c2VyZmlsZVsnbmFtZSddKTsNCiAgICAgICAgJG5vbWJyZVNlZ3VybyA9IHN0cl9yZXBsYWNlKFsnLi4nLCAnLycsJ1xcJ10sICcnLCAkbm9tYnJlU2VndXJvKTsNCiAgICAgICAgJHJ1dGFEZXN0aW5vICA9ICRjYXJwZXRhIC4gJy8nIC4gJG5vbWJyZVNlZ3VybzsNCg0KICAgICAgICAvLyA1LiBNb3ZlciBlbCBhcmNoaXZvDQogICAgICAgIGlmIChtb3ZlX3VwbG9hZGVkX2ZpbGUoJHVzZXJmaWxlWyd0bXBfbmFtZSddLCAkcnV0YURlc3Rpbm8pKSB7DQogICAgICAgICAgICByZXR1cm4ganNvbl9lbmNvZGUoWw0KICAgICAgICAgICAgICAgICdzdGF0dXMnICA9PiAnb2snLA0KICAgICAgICAgICAgICAgICdtZW5zYWplJyA9PiAnQXJjaGl2byBzdWJpZG8gY29ycmVjdGFtZW50ZScsDQogICAgICAgIC8vICAgICAgICAncnV0YScgICAgPT4gJHJ1dGFEZXN0aW5vDQogICAgICAgICAgICBdKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHJldHVybiBqc29uX2VuY29kZShbDQogICAgICAgICAgICAgICAgJ3N0YXR1cycgID0+ICdlcnJvcicsDQogICAgICAgICAgICAgICAgJ21lbnNhamUnID0+ICdObyBzZSBwdWRvIG1vdmVyIGVsIGFyY2hpdm8nDQogICAgICAgICAgICBdKTsNCiAgICAgICAgfQ0KICAgIH0NCn0NCiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";