1789595935
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3Acfe35152ad6c4d8d172d0908a623a9c4-638f1028a8297954b8f5cb448ba5be22
s:5344:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE0OiJuYXZlZ2FjaW9uLnBocCI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbnRlcmZhY2VzIjthOjA6e31zOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHRyYWl0cyI7YTowOnt9czo0MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBlbnVtcyI7YTowOnt9czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBoYXNoIjtzOjMyOiI2MzhmMTAyOGE4Mjk3OTU0YjhmNWNiNDQ4YmE1YmUyMiI7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBwYXRoIjtzOjM1OiJiYWNrZW5kL2FwaS92Mi9ydXRhcy9uYXZlZ2FjaW9uLnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6MTc3NjoiPD9waHAKZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7CgovKioKICogUnV0YXMgZGUgTkFWRUdBQ0nDk04g4oCUIHNpZGViYXIgeSBww6FnaW5hIGRlIGluaWNpbyBkZWwgdXN1YXJpby4KICoKICogw4FtYml0byB0cmFja2luZ3dlYjogc29sbyBsZWVuIGxhIHRhYmxhIGBwZXJtaXNvc2AgeSBgcGFnaW5hc2AsIG51bmNhCiAqIHRvY2FuIGJhc2VzIGRlIGV4cGxvdGFjacOzbi4KICoKICogQHBhY2thZ2UgdHJhY2tpbmdcYmFja2VuZFxhcGlcdjJccnV0YXMKICovCgpyZXR1cm4gWwogICAgJ2xpc3RfbXlfcGFnZXMnID0+IG5ldyBSdXRhKAogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6QVVURU5USUNBRE8sCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lOR1dFQiwKICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7CiAgICAgICAgICAgICRwYWdpbmFzID0gQ29udHJvbGFkb3JQZXJtaXNvczo6Z2V0TWlzUGFnaW5hc1BhcmFTaWRlYmFyKCRjdHgtPnVzZXJJZCwgJGN0eC0+cm9sKTsKICAgICAgICAgICAgUmVzcHVlc3RhOjpqc29uKFsnb2snID0+IHRydWUsICdkYXRhJyA9PiAkcGFnaW5hc10pOwogICAgICAgIH0KICAgICksCgogICAgJ2xvYWRfcGVybWlzb3NfcHJpbmNpcGFsJyA9PiBuZXcgUnV0YSgKICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLAogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkdXRUIsCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgewogICAgICAgICAgICAkcHJpbmNpcGFsID0gcGFnaW5hUHJpbmNpcGFsKCk7CiAgICAgICAgICAgIGlmICgkcHJpbmNpcGFsID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6OmVycm9yKCdObyB0aWVuZXMgbmluZ3VuYSBww6FnaW5hIGFzaWduYWRhLicsIDQwMyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgUmVzcHVlc3RhOjpvaygncGFnZXMvJyAuICRwcmluY2lwYWwpOwogICAgICAgIH0KICAgICksCgogICAgLy8gQ29uZXhpb25lcyBkaXNwb25pYmxlcyBwYXJhIHVuYSBww6FnaW5hIGNvbmNyZXRhOiBhbGltZW50YSBlbAogICAgLy8gc2VsZWN0b3IgZGUgY29uZXhpw7NuIGRlIGNhZGEgbcOzZHVsby4gU29sbyBkZXZ1ZWx2ZSBhcXVlbGxhcyBzb2JyZQogICAgLy8gbGFzIHF1ZSBlbCB1c3VhcmlvIHRpZW5lIHBlcm1pc28sIHBvciBsbyBxdWUgYmFzdGEgY29uIEFVVEVOVElDQURPLgogICAgJ2xvYWRfY29uZXhpb25lc19kaXNwb25pYmxlcycgPT4gbmV3IFJ1dGEoCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywKICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HV0VCLCAgIC8vIG9qbzogVFJBQ0tJTkdXRUIsIG8gc2Vyw61hIHVuIGPDrXJjdWxvOgogICAgICAgIC8vIHBlZGlyIGNvbmV4aW9uZXMgZXhpZ2lyw61hIGNvbmV4aW9uZXMKICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7CiAgICAgICAgICAgICRwYWdpbmEgPSAkY3R4LT5wb3N0KCdwYWdpbmEnKTsKICAgICAgICAgICAgaWYgKCRwYWdpbmEgPT09ICcnKSB7CiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6OmVycm9yKCdGYWx0YSBlbCBwYXLDoW1ldHJvIMKrcGFnaW5hwrsuJywgNDAwKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBSZXNwdWVzdGE6Om9rKGNvbmV4aW9uZXNEaXNwb25pYmxlcygkcGFnaW5hKSk7CiAgICAgICAgfQogICAgKSwKXTsKIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo2NToiUnV0YXMgZGUgTkFWRUdBQ0nDk04g4oCUIHNpZGViYXIgeSBww6FnaW5hIGRlIGluaWNpbyBkZWwgdXN1YXJpby4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6OTg6IsOBbWJpdG8gdHJhY2tpbmd3ZWI6IHNvbG8gbGVlbiBsYSB0YWJsYSBgcGVybWlzb3NgIHkgYHBhZ2luYXNgLCBudW5jYQp0b2NhbiBiYXNlcyBkZSBleHBsb3RhY2nDs24uIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo3OiJwYWNrYWdlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyOToidHJhY2tpbmdcYmFja2VuZFxhcGlcdjJccnV0YXMiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";