1778692654
441d63ebbc39eba359c9061ece8482bd-phpdoc%3A40660a6357f451026724f5bf4ec2ca88-975fe23326252e5d5a556996b8ce9ff6
s:14100:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjIyOiJIdHRwRXhjZXB0aW9uVHJhaXQucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MTp7czozOToiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcRXhjZXB0aW9uIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzk6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEV4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjk6IkV4Y2VwdGlvbiI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbnRlcmZhY2VzIjthOjA6e31zOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHRyYWl0cyI7YToxOntzOjU4OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxFeGNlcHRpb25cSHR0cEV4Y2VwdGlvblRyYWl0IjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFRyYWl0XyI6MTA6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFRyYWl0XwBwcm9wZXJ0aWVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AbWV0aG9kcyI7YToyOntzOjczOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxFeGNlcHRpb25cSHR0cEV4Y2VwdGlvblRyYWl0OjpfX2NvbnN0cnVjdCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NzoiXFN5bWZvbnlcQ29udHJhY3RzXEh0dHBDbGllbnRcUmVzcG9uc2VJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiUmVzcG9uc2VJbnRlcmZhY2UiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJyZXNwb25zZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NDM5O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjcwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI1ODg7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NzM6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uVHJhaXQ6Ol9fY29uc3RydWN0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiX19jb25zdHJ1Y3QiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo3MzoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcRXhjZXB0aW9uXEh0dHBFeGNlcHRpb25UcmFpdDo6Z2V0UmVzcG9uc2UoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjcyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI1OTU7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjY4Njt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NzoiXFN5bWZvbnlcQ29udHJhY3RzXEh0dHBDbGllbnRcUmVzcG9uc2VJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiUmVzcG9uc2VJbnRlcmZhY2UiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NzM6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uVHJhaXQ6OmdldFJlc3BvbnNlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiZ2V0UmVzcG9uc2UiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFRyYWl0XwB1c2VkVHJhaXRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFRyYWl0XwBlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVHJhaXRfAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVHJhaXRfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTg6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEV4Y2VwdGlvblxIdHRwRXhjZXB0aW9uVHJhaXQiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiSHR0cEV4Y2VwdGlvblRyYWl0Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVHJhaXRfAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czowOiIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvciI6NDp7czo3OiIAKgBuYW1lIjtzOjY6ImF1dGhvciI7czoxNDoiACoAZGVzY3JpcHRpb24iO047czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvcgBhdXRob3JOYW1lIjtzOjE0OiJOaWNvbGFzIEdyZWthcyI7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEF1dGhvcgBhdXRob3JFbWFpbCI7czoxMzoicEB0Y2h3b3JrLmNvbSI7fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6ODoiaW50ZXJuYWwiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czozODoiU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxFeGNlcHRpb24iO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjE6e3M6MTc6IlJlc3BvbnNlSW50ZXJmYWNlIjtzOjQ2OiJTeW1mb255XENvbnRyYWN0c1xIdHRwQ2xpZW50XFJlc3BvbnNlSW50ZXJmYWNlIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVHJhaXRfAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AYXR0cmlidXRlcyI7YTowOnt9fX1zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6Ijk3NWZlMjMzMjYyNTJlNWQ1YTU1Njk5NmI4Y2U5ZmY2IjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6NTk6InZlbmRvci9zeW1mb255L2h0dHAtY2xpZW50L0V4Y2VwdGlvbi9IdHRwRXhjZXB0aW9uVHJhaXQucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoyNjkwOiI8P3BocAoKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFN5bWZvbnkgcGFja2FnZS4KICoKICogKGMpIEZhYmllbiBQb3RlbmNpZXIgPGZhYmllbkBzeW1mb255LmNvbT4KICoKICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0UKICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuCiAqLwoKbmFtZXNwYWNlIFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcRXhjZXB0aW9uOwoKdXNlIFN5bWZvbnlcQ29udHJhY3RzXEh0dHBDbGllbnRcUmVzcG9uc2VJbnRlcmZhY2U7CgovKioKICogQGF1dGhvciBOaWNvbGFzIEdyZWthcyA8cEB0Y2h3b3JrLmNvbT4KICoKICogQGludGVybmFsCiAqLwp0cmFpdCBIdHRwRXhjZXB0aW9uVHJhaXQKewogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KAogICAgICAgIHByaXZhdGUgUmVzcG9uc2VJbnRlcmZhY2UgJHJlc3BvbnNlLAogICAgKSB7CiAgICAgICAgJGNvZGUgPSAkcmVzcG9uc2UtPmdldEluZm8oJ2h0dHBfY29kZScpOwogICAgICAgICR1cmwgPSAkcmVzcG9uc2UtPmdldEluZm8oJ3VybCcpOwogICAgICAgICRtZXNzYWdlID0gXHNwcmludGYoJ0hUVFAgJWQgcmV0dXJuZWQgZm9yICIlcyIuJywgJGNvZGUsICR1cmwpOwoKICAgICAgICAkaHR0cENvZGVGb3VuZCA9IGZhbHNlOwogICAgICAgICRpc0pzb24gPSBmYWxzZTsKICAgICAgICBmb3JlYWNoIChhcnJheV9yZXZlcnNlKCRyZXNwb25zZS0+Z2V0SW5mbygncmVzcG9uc2VfaGVhZGVycycpKSBhcyAkaCkgewogICAgICAgICAgICBpZiAoc3RyX3N0YXJ0c193aXRoKCRoLCAnSFRUUC8nKSkgewogICAgICAgICAgICAgICAgaWYgKCRodHRwQ29kZUZvdW5kKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSBcc3ByaW50ZignJXMgcmV0dXJuZWQgZm9yICIlcyIuJywgJGgsICR1cmwpOwogICAgICAgICAgICAgICAgJGh0dHBDb2RlRm91bmQgPSB0cnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoMCA9PT0gc3RyaXBvcygkaCwgJ2NvbnRlbnQtdHlwZTonKSkgewogICAgICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJy9cYmpzb25cYi9pJywgJGgpKSB7CiAgICAgICAgICAgICAgICAgICAgJGlzSnNvbiA9IHRydWU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCRodHRwQ29kZUZvdW5kKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFRyeSB0byBndWVzcyBhIGJldHRlciBlcnJvciBtZXNzYWdlIHVzaW5nIGNvbW1vbiBBUEkgZXJyb3IgZm9ybWF0cwogICAgICAgIC8vIFRoZSBNSU1FIHR5cGUgaXNuJ3QgZXhwbGljaXRseSBjaGVja2VkIGJlY2F1c2Ugc29tZSBmb3JtYXRzIGluaGVyaXQgZnJvbSBvdGhlcnMKICAgICAgICAvLyBFeDogSlNPTjpBUEkgZm9sbG93cyBSRkMgNzgwNyBzZW1hbnRpY3MsIEh5ZHJhIGNhbiBiZSB1c2VkIGluIGFueSBKU09OLUxELWNvbXBhdGlibGUgZm9ybWF0CiAgICAgICAgaWYgKCRpc0pzb24gJiYgJGJvZHkgPSBqc29uX2RlY29kZSgkcmVzcG9uc2UtPmdldENvbnRlbnQoZmFsc2UpLCB0cnVlKSkgewogICAgICAgICAgICBpZiAoaXNzZXQoJGJvZHlbJ2h5ZHJhOnRpdGxlJ10pIHx8IGlzc2V0KCRib2R5WydoeWRyYTpkZXNjcmlwdGlvbiddKSkgewogICAgICAgICAgICAgICAgLy8gc2VlIGh0dHA6Ly93d3cuaHlkcmEtY2cuY29tL3NwZWMvbGF0ZXN0L2NvcmUvI2Rlc2NyaXB0aW9uLW9mLWh0dHAtc3RhdHVzLWNvZGVzLWFuZC1lcnJvcnMKICAgICAgICAgICAgICAgICRzZXBhcmF0b3IgPSBpc3NldCgkYm9keVsnaHlkcmE6dGl0bGUnXSwgJGJvZHlbJ2h5ZHJhOmRlc2NyaXB0aW9uJ10pID8gIlxuXG4iIDogJyc7CiAgICAgICAgICAgICAgICAkbWVzc2FnZSA9ICgkYm9keVsnaHlkcmE6dGl0bGUnXSA/PyAnJykuJHNlcGFyYXRvci4oJGJvZHlbJ2h5ZHJhOmRlc2NyaXB0aW9uJ10gPz8gJycpOwogICAgICAgICAgICB9IGVsc2VpZiAoKGlzc2V0KCRib2R5Wyd0aXRsZSddKSB8fCBpc3NldCgkYm9keVsnZGV0YWlsJ10pKQogICAgICAgICAgICAgICAgJiYgKFxpc19zY2FsYXIoJGJvZHlbJ3RpdGxlJ10gPz8gJycpICYmIFxpc19zY2FsYXIoJGJvZHlbJ2RldGFpbCddID8/ICcnKSkpIHsKICAgICAgICAgICAgICAgIC8vIHNlZSBSRkMgNzgwNyBhbmQgaHR0cHM6Ly9qc29uYXBpLm9yZy9mb3JtYXQvI2Vycm9yLW9iamVjdHMKICAgICAgICAgICAgICAgICRzZXBhcmF0b3IgPSBpc3NldCgkYm9keVsndGl0bGUnXSwgJGJvZHlbJ2RldGFpbCddKSA/ICJcblxuIiA6ICcnOwogICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSAoJGJvZHlbJ3RpdGxlJ10gPz8gJycpLiRzZXBhcmF0b3IuKCRib2R5WydkZXRhaWwnXSA/PyAnJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJG1lc3NhZ2UsICRjb2RlKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UmVzcG9uc2UoKTogUmVzcG9uc2VJbnRlcmZhY2UKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlc3BvbnNlOwogICAgfQp9CiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";