1789595935
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3A3118a6944a3c573c4c279257a299f0d6-ee78c828bf9e8ae8fb1dc75e5a84e39c
s:7080:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE2OiJwYW5lbENlbnRyb3MucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImVlNzhjODI4YmY5ZThhZThmYjFkYzc1ZTVhODRlMzljIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6Mzc6ImJhY2tlbmQvYXBpL3YyL3J1dGFzL3BhbmVsQ2VudHJvcy5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjI1NTM6Ijw/cGhwCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKLyoqCiAqIFJ1dGFzIGRlbCBQQU5FTCBDRU5UUk9TIOKAlCBnZXN0acOzbiBkZSBsYXMgY29uZXhpb25lcyBhIGJhc2VzIHRyYWNraW5nLgogKgogKiBTZWNjacOzbiBtw6FzIHNlbnNpYmxlIGRlbCBzaXN0ZW1hOiBsYSB0YWJsYSBgY29uZXhpb25gIGd1YXJkYSBsYXMKICogY3JlZGVuY2lhbGVzIGNpZnJhZGFzIGRlIHRvZGFzIGxhcyBiYXNlcyBkZSBleHBsb3RhY2nDs24uIEV4Y2x1c2l2YSBkZWwKICogU1VQRVIgdXN1YXJpbywgc2luIGV4Y2VwY2lvbmVzLgogKgogKiBFbiBsYSB2MSBgbG9hZF9jb25leGlvbmVzYCBxdWVkYWJhIGFjY2VzaWJsZSBhIGN1YWxxdWllciBhdXRlbnRpY2FkbwogKiBwb3JxdWUgbGEgbGxhbWFkYSBhIHJlcXVpcmVTdXBlcigpIGVzdGFiYSBjb21lbnRhZGEgZW4gZWwgY29udHJvbGFkb3IuCiAqIENvbiBlbCBuaXZlbCBkZWNsYXJhZG8gYXF1w60sIGVzZSBkZXNjdWlkbyB5YSBubyBwdWVkZSByZWFicmlyc2UuCiAqCiAqIE5vdGE6IGxvcyBtw6l0b2RvcyBkZSBDb250cm9sYWRvckNvbmV4aW9uZXMgc2lndWVuIGxsYW1hbmRvIGEKICogcmVxdWlyZVN1cGVyKCkgaW50ZXJuYW1lbnRlLiBMYSBjb21wcm9iYWNpw7NuIHF1ZWRhIGR1cGxpY2FkYSwgbG8gY3VhbAogKiBlcyBpbm9mZW5zaXZvIHkgYWN0w7phIGRlIHJlZCBwb3Igc2kgYWxndWllbiByZXV0aWxpemEgZWwgY29udHJvbGFkb3IKICogZGVzZGUgb3RybyBwdW50byBkZSBlbnRyYWRhLgogKgogKiBAcGFja2FnZSB0cmFja2luZ1xiYWNrZW5kXGFwaVx2MlxydXRhcwogKi8KCnJldHVybiBbCgogICAgJ2xvYWRfY29uZXhpb25lcycgPT4gbmV3IFJ1dGEoCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpTVVBFUiwKICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HV0VCLAogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsKICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcihDb250cm9sYWRvckNvbmV4aW9uZXM6OmdldEFsbCgpKTsKICAgICAgICB9CiAgICApLAoKICAgICdjcmVhdGVfY29uZXhpb24nID0+IG5ldyBSdXRhKAogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6U1VQRVIsCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lOR1dFQiwKICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7CiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoQ29udHJvbGFkb3JDb25leGlvbmVzOjpjcmVhdGUoJGN0eC0+anNvbigpKSk7CiAgICAgICAgfQogICAgKSwKCiAgICAndXBkYXRlX2NvbmV4aW9uJyA9PiBuZXcgUnV0YSgKICAgICAgICBhY2Nlc286ICBBY2Nlc286OlNVUEVSLAogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkdXRUIsCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgewogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKENvbnRyb2xhZG9yQ29uZXhpb25lczo6dXBkYXRlKCRjdHgtPmpzb24oKSkpOwogICAgICAgIH0KICAgICksCgogICAgJ2RlbGV0ZV9jb25leGlvbicgPT4gbmV3IFJ1dGEoCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpTVVBFUiwKICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HV0VCLAogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsKICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcihDb250cm9sYWRvckNvbmV4aW9uZXM6OmRlbGV0ZSgkY3R4LT5qc29uKCkpKTsKICAgICAgICB9CiAgICApLAoKICAgICdzZXRfY29uZXhpb25faGFiaWxpdGFkYScgPT4gbmV3IFJ1dGEoCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpTVVBFUiwKICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HV0VCLAogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsKICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcihDb250cm9sYWRvckNvbmV4aW9uZXM6OnNldEhhYmlsaXRhZGEoJGN0eC0+anNvbigpKSk7CiAgICAgICAgfQogICAgKSwKCiAgICAvLyBQcnVlYmEgZGUgY3JlZGVuY2lhbGVzIHNpbiBndWFyZGFyLiBQZXJtaXRlIGNvbmVjdGFyIGEgaG9zdCB5IHB1ZXJ0bwogICAgLy8gYXJiaXRyYXJpb3MsIGRlIGFow60gcXVlIGVzdMOpIHJlc2VydmFkYSBhbCBzdXBlciB1c3VhcmlvLgogICAgJ3Rlc3RfY29uZXhpb24nID0+IG5ldyBSdXRhKAogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6U1VQRVIsCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lOR1dFQiwKICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7CiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoQ29udHJvbGFkb3JDb25leGlvbmVzOjp0ZXN0KCRjdHgtPmpzb24oKSkpOwogICAgICAgIH0KICAgICksCl07CiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NzI6IlJ1dGFzIGRlbCBQQU5FTCBDRU5UUk9TIOKAlCBnZXN0acOzbiBkZSBsYXMgY29uZXhpb25lcyBhIGJhc2VzIHRyYWNraW5nLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2MTA6IlNlY2Npw7NuIG3DoXMgc2Vuc2libGUgZGVsIHNpc3RlbWE6IGxhIHRhYmxhIGBjb25leGlvbmAgZ3VhcmRhIGxhcwpjcmVkZW5jaWFsZXMgY2lmcmFkYXMgZGUgdG9kYXMgbGFzIGJhc2VzIGRlIGV4cGxvdGFjacOzbi4gRXhjbHVzaXZhIGRlbApTVVBFUiB1c3VhcmlvLCBzaW4gZXhjZXBjaW9uZXMuCgpFbiBsYSB2MSBgbG9hZF9jb25leGlvbmVzYCBxdWVkYWJhIGFjY2VzaWJsZSBhIGN1YWxxdWllciBhdXRlbnRpY2Fkbwpwb3JxdWUgbGEgbGxhbWFkYSBhIHJlcXVpcmVTdXBlcigpIGVzdGFiYSBjb21lbnRhZGEgZW4gZWwgY29udHJvbGFkb3IuCkNvbiBlbCBuaXZlbCBkZWNsYXJhZG8gYXF1w60sIGVzZSBkZXNjdWlkbyB5YSBubyBwdWVkZSByZWFicmlyc2UuCgpOb3RhOiBsb3MgbcOpdG9kb3MgZGUgQ29udHJvbGFkb3JDb25leGlvbmVzIHNpZ3VlbiBsbGFtYW5kbyBhCnJlcXVpcmVTdXBlcigpIGludGVybmFtZW50ZS4gTGEgY29tcHJvYmFjacOzbiBxdWVkYSBkdXBsaWNhZGEsIGxvIGN1YWwKZXMgaW5vZmVuc2l2byB5IGFjdMO6YSBkZSByZWQgcG9yIHNpIGFsZ3VpZW4gcmV1dGlsaXphIGVsIGNvbnRyb2xhZG9yCmRlc2RlIG90cm8gcHVudG8gZGUgZW50cmFkYS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcR2VuZXJpYyI6Mjp7czo3OiIAKgBuYW1lIjtzOjc6InBhY2thZ2UiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI5OiJ0cmFja2luZ1xiYWNrZW5kXGFwaVx2MlxydXRhcyI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";