1789595936
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3A71c13b78a499ce0fd44c221fb5703b01-58902a3cf1e28f31b5637bbd3a656eba
s:5180:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE0OiJuYXZlZ2FjaW9uLnBocCI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbnRlcmZhY2VzIjthOjA6e31zOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHRyYWl0cyI7YTowOnt9czo0MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBlbnVtcyI7YTowOnt9czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBoYXNoIjtzOjMyOiI1ODkwMmEzY2YxZTI4ZjMxYjU2MzdiYmQzYTY1NmViYSI7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBwYXRoIjtzOjM5OiJiYWNrZW5kL2FwaS92MnBnZ3AvcnV0YXMvbmF2ZWdhY2lvbi5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjE2NDc6Ijw/cGhwCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKLyoqCiAqIFJ1dGFzIGRlIE5BVkVHQUNJw5NOIOKAlCBzaWRlYmFyIHkgcMOhZ2luYSBkZSBpbmljaW8gZGVsIHVzdWFyaW8uCiAqCiAqIMOBbWJpdG8gdHJhY2tpbmd3ZWI6IHNvbG8gbGVlbiBsYSB0YWJsYSBgcGVybWlzb3NgIHkgYHBhZ2luYXNgLCBudW5jYQogKiB0b2NhbiBiYXNlcyBkZSBleHBsb3RhY2nDs24uCiAqCiAqIEBwYWNrYWdlIHRyYWNraW5nXGJhY2tlbmRcYXBpXHYyXHJ1dGFzCiAqLwoKcmV0dXJuIFsKICAgICdsaXN0X215X3BhZ2VzJyA9PiBuZXcgUnV0YSgKICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLAogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkdXRUIsCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgewogICAgICAgICAgICAkcGFnaW5hcyA9IENvbnRyb2xhZG9yUGVybWlzb3M6OmdldE1pc1BhZ2luYXNQYXJhU2lkZWJhcigkY3R4LT51c2VySWQsICRjdHgtPnJvbCk7CiAgICAgICAgICAgIFJlc3B1ZXN0YTo6anNvbihbJ29rJyA9PiB0cnVlLCAnZGF0YScgPT4gJHBhZ2luYXNdKTsKICAgICAgICB9CiAgICApLAoKICAgICdsb2FkX3Blcm1pc29zX3ByaW5jaXBhbCcgPT4gbmV3IFJ1dGEoCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpBVVRFTlRJQ0FETywKICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HV0VCLAogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsKICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcigKICAgICAgICAgICAgICAgIENvbnRyb2xhZG9yUGVybWlzb3M6OmdldFBhZ2luYVByaW5jaXBhbCgkY3R4LT51c2VySWQpCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgKSwKCiAgICAvLyBDb25leGlvbmVzIGRpc3BvbmlibGVzIHBhcmEgdW5hIHDDoWdpbmEgY29uY3JldGE6IGFsaW1lbnRhIGVsCiAgICAvLyBzZWxlY3RvciBkZSBjb25leGnDs24gZGUgY2FkYSBtw7NkdWxvLiBTb2xvIGRldnVlbHZlIGFxdWVsbGFzIHNvYnJlCiAgICAvLyBsYXMgcXVlIGVsIHVzdWFyaW8gdGllbmUgcGVybWlzbywgcG9yIGxvIHF1ZSBiYXN0YSBjb24gQVVURU5USUNBRE8uCiAgICAnbG9hZF9jb25leGlvbmVzX2Rpc3BvbmlibGVzJyA9PiBuZXcgUnV0YSgKICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLAogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkdXRUIsCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgewogICAgICAgICAgICAkcGFnaW5hID0gKHN0cmluZykoJF9QT1NUWydwYWdpbmEnXSA/PyAnJyk7CiAgICAgICAgICAgIGlmICgkcGFnaW5hID09PSAnJykgewogICAgICAgICAgICAgICAgUmVzcHVlc3RhOjplcnJvcignRmFsdGEgbGEgcMOhZ2luYS4nLCA0MDApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoCiAgICAgICAgICAgICAgICBDb250cm9sYWRvckNvbmV4aW9uZXM6OmdldE9uZVBhZ2UoJGN0eC0+dXNlcklkLCAkcGFnaW5hKQogICAgICAgICAgICApOwogICAgICAgIH0KICAgICksCl07CiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NjU6IlJ1dGFzIGRlIE5BVkVHQUNJw5NOIOKAlCBzaWRlYmFyIHkgcMOhZ2luYSBkZSBpbmljaW8gZGVsIHVzdWFyaW8uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjk4OiLDgW1iaXRvIHRyYWNraW5nd2ViOiBzb2xvIGxlZW4gbGEgdGFibGEgYHBlcm1pc29zYCB5IGBwYWdpbmFzYCwgbnVuY2EKdG9jYW4gYmFzZXMgZGUgZXhwbG90YWNpw7NuLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6NzoicGFja2FnZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjk6InRyYWNraW5nXGJhY2tlbmRcYXBpXHYyXHJ1dGFzIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBtZXRhZGF0YSI7YTowOnt9fQ==";