test262/website/resources/scripts/testcases/15.4.4.17.json

1 line
211 KiB
JSON

{"testsCollection":{"name":"Chapter - 15.4.4.17","numTests":"213","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctMC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLnNvbWU7CiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgewogICAgcmV0dXJuIHRydWU7CiAgfQogfQp9KTsK","id":"15.4.4.17-0-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctMC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUubGVuZ3RoIG11c3QgYmUgMSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBpZiAoQXJyYXkucHJvdG90eXBlLnNvbWUubGVuZ3RoID09PSAxKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-0-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKHVuZGVmaW5lZCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-1-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMS0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBNYXRoXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOwogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOwogICAgICAgICAgICBNYXRoWzBdID0gMTsKICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoTWF0aCwgY2FsbGJhY2tmbik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE1hdGhbMF07CiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-1-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIERhdGUgb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsKICAgICAgICBvYmoubGVuZ3RoID0gMjsKICAgICAgICBvYmpbMF0gPSAxMTsKICAgICAgICBvYmpbMV0gPSA5OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-1-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMS0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUmVnRXhwOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsKICAgICAgICBvYmoubGVuZ3RoID0gMjsKICAgICAgICBvYmpbMF0gPSAxMTsKICAgICAgICBvYmpbMV0gPSA5OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-1-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMS0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBKU09OXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOwogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOwogICAgICAgICAgICBKU09OWzBdID0gMTsKICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoSlNPTiwgY2FsbGJhY2tmbik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEpTT04ubGVuZ3RoOwogICAgICAgICAgICBkZWxldGUgSlNPTlswXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-1-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtMTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMS0xNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIEVycm9yIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBFcnJvcjsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsKICAgICAgICBvYmoubGVuZ3RoID0gMTsKICAgICAgICBvYmpbMF0gPSAxOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-1-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMS0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOwogICAgICAgIH0oImEiLCAiYiIpKTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-1-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChudWxsKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-1-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOwogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGVbMF0gPSAxOwogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOwogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChmYWxzZSwgY2FsbGJhY2tmbik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOwogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoOwogICAgICAgIH0KICAgIH0sCiAgICAgCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-1-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOwogICAgICAgIG9iai5sZW5ndGggPSAyOwogICAgICAgIG9ialswXSA9IDExOwogICAgICAgIG9ialsxXSA9IDk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-1-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMV0gPSB0cnVlOwogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDI7CgogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbCg1LCBjYWxsYmFja2ZuKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-1-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0xMjgpOwogICAgICAgIG9iai5sZW5ndGggPSAyOwogICAgICAgIG9ialswXSA9IDExOwogICAgICAgIG9ialsxXSA9IDk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-1-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoImhlbGxvXG53X29ybGRcXCEiLCBjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-1-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJoZWxsb1xud19vcmxkXFwhIik7CiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-1-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTEtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRnVuY3Rpb247CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgcmV0dXJuIGEgKyBiOwogICAgICAgIH07CiAgICAgICAgb2JqWzBdID0gMTE7CiAgICAgICAgb2JqWzFdID0gOTsKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-1-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAwOiA5LAogICAgICAgICAgICAxOiAxMSwKICAgICAgICAgICAgMjogMTIsCiAgICAgICAgICAgIGxlbmd0aDogMgogICAgICAgIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-2-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMi0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkWzBdID0gOTsKICAgICAgICBjaGlsZFsxXSA9IDExOwogICAgICAgIGNoaWxkWzJdID0gMTI7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYKICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-2-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMi0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIDA6IDExLAogICAgICAgICAgICAxOiAxMgogICAgICAgIH07CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7CiAgICB9LAoKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-2-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMi0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7CiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7CiAgICAgICAgfQoKICAgIH0sCgoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-2-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMi0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHt9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkWzBdID0gMTE7CiAgICAgICAgY2hpbGRbMV0gPSAxMjsKCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-2-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMi0xNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3Qgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07CgogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-2-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMi0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOwogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gOTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gMTI7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsKICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuMik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07CiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOwogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-2-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMi0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOwogICAgICAgIH0KCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICBhcmd1bWVudHNbMl0gPSAxMjsKICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuMSkgJiYKICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbjIpOwogICAgICAgIH07CgogICAgICAgIHJldHVybiBmdW5jKDksIDExKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-2-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMi0xOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTApID4gMTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTApID4gMjsKICAgICAgICB9CgogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIxMiIpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbMl0gPSAiMyI7CiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKHN0ciwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChzdHIsIGNhbGxiYWNrZm4yKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZVsyXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-2-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMi0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICByZXR1cm4gYSArIGI7CiAgICAgICAgfTsKICAgICAgICBmdW5bMF0gPSA5OwogICAgICAgIGZ1blsxXSA9IDExOwogICAgICAgIGZ1blsyXSA9IDEyOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChmdW4sIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChmdW4sIGNhbGxiYWNrZm4yKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-2-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDEyOwoKICAgICAgICAgICAgcmV0dXJuIFs5LCAxMV0uc29tZShjYWxsYmFja2ZuMSkgJiYKICAgICAgICAgICAgICAgICFbOSwgMTFdLnNvbWUoY2FsbGJhY2tmbjIpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-2-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsKICAgICAgICBjaGlsZFswXSA9IDk7CiAgICAgICAgY2hpbGRbMV0gPSAxMTsKICAgICAgICBjaGlsZFsyXSA9IDEyOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-2-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBhcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIGFyclByb3RvTGVuID0gMDsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOwogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgYXJyUHJvdG9MZW4gPSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOwogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMTI7CgogICAgICAgICAgICByZXR1cm4gWzksIDExXS5zb21lKGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAgICAgIVs5LCAxMV0uc29tZShjYWxsYmFja2ZuMik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOwogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-2-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7CiAgICAgICAgfQoKICAgICAgICB2YXIgcHJvdG8gPSB7fTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAzOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7CiAgICAgICAgICAgIHZhbHVlOiAyLAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgY2hpbGRbMF0gPSA5OwogICAgICAgIGNoaWxkWzFdID0gMTE7CiAgICAgICAgY2hpbGRbMl0gPSAxMjsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-2-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAyIH07CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGRbMF0gPSA5OwogICAgICAgIGNoaWxkWzFdID0gMTE7CiAgICAgICAgY2hpbGRbMl0gPSAxMjsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-2-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBvYmpbMF0gPSA5OwogICAgICAgIG9ialsxXSA9IDExOwogICAgICAgIG9ialsyXSA9IDEyOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-2-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7CiAgICAgICAgfQoKICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9OwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBjaGlsZFswXSA9IDk7CiAgICAgICAgY2hpbGRbMV0gPSAxMTsKICAgICAgICBjaGlsZFsyXSA9IDEyOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-2-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTItOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOwogICAgICAgIH0KCiAgICAgICAgdmFyIHByb3RvID0ge307CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMzsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIGNoaWxkWzBdID0gOTsKICAgICAgICBjaGlsZFsxXSA9IDExOwogICAgICAgIGNoaWxkWzJdID0gMTI7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYKICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-2-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogdW5kZWZpbmVkIH07CgogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-3-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IE5hTiB9OwoKICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-3-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogIjIiIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-3-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogIi00Mjk0OTY3Mjk0IiB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-3-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMi41IiB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsKICAgIH0sCgoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-3-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0xNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iak9uZSA9IHsgMDogMTEsIGxlbmd0aDogIkluZmluaXR5IiB9OwogICAgICAgIHZhciBvYmpUd28gPSB7IDA6IDExLCBsZW5ndGg6ICIrSW5maW5pdHkiIH07CiAgICAgICAgdmFyIG9ialRocmVlID0geyAwOiAxMSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9OwoKICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqT25lLCBjYWxsYmFja2ZuKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmpUd28sIGNhbGxiYWNrZm4pICYmCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9ialRocmVlLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-3-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICIyRTAiIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-3-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0xNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICIweDAwMDIiIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-3-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICIwMDAyLjAwIiB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-3-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0xOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMjEsIGxlbmd0aDogInR3byIgfTsKCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-3-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIG9iaiA9IHsKICAgICAgICAgICAgMDogOSwKICAgICAgICAgICAgMTogMTEsCiAgICAgICAgICAgIDI6IDEyLAoKICAgICAgICAgICAgbGVuZ3RoOiB7CiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKSAmJiB0b1N0cmluZ0FjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-3-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgb24gYW4gQXJyYXktbGlrZSBvYmplY3QgaWYgJ2xlbmd0aCcgaXMgMSAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gdHJ1ZSh0eXBlIGNvbnZlcnNpb24pKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IHRydWUgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYKICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-3-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMjAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0yMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOwogICAgICAgIH0KCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAwOiA5LAogICAgICAgICAgICAxOiAxMSwKICAgICAgICAgICAgMjogMTIsCiAgICAgICAgICAgIGxlbmd0aDogewogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKSAmJiB2YWx1ZU9mQWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-3-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMjEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0yMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAwOiA5LAogICAgICAgICAgICAxOiAxMSwKICAgICAgICAgICAgMjogMTIsCiAgICAgICAgICAgIGxlbmd0aDogewogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9OwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpICYmCiAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-3-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMjIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0yMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb26SdCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBjYWxsYmFja2ZuQWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGNhbGxiYWNrZm5BY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIDA6IDExLAogICAgICAgICAgICAxOiAxMiwKCiAgICAgICAgICAgIGxlbmd0aDogewogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9OwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIWNhbGxiYWNrZm5BY2Nlc3NlZDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-3-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMjMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0yMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICB2YXIgcHJvdG8gPSB7CiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CgogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuICcxJzsKICAgICAgICB9OwoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAwOiA5LAogICAgICAgICAgICAxOiAxMSwKICAgICAgICAgICAgMjogMTIsCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKSAmJgogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-3-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMjQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0yNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbiIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIDA6IDksCiAgICAgICAgICAgIDEwOiAxMSwKICAgICAgICAgICAgMTE6IDEyLAogICAgICAgICAgICBsZW5ndGg6IDExLjUKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJgogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-3-24"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMjUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0yNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbiIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIDA6IDksCiAgICAgICAgICAgIDE6IDExLAogICAgICAgICAgICAyOiAxMiwKICAgICAgICAgICAgbGVuZ3RoOiAtNDI5NDk2NzI5NC41CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYKICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-3-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMjgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0yOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAwOiAxMiwKICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk2CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-3-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMjkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctMy0yOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAwOiAxMSwKICAgICAgICAgICAgMTogMTIsCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5NwogICAgICAgIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-3-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMCB9OwoKICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-3-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6ICswIH07CgogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-3-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IC0wIH07CgogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-3-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6IDIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYKICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7CiAgICB9LAogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-3-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-3-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IEluZmluaXR5IH07CgogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-3-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTMtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAtSW5maW5pdHkgfTsKCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-3-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CiAgdHJ5IHsKICAgIGFyci5zb21lKCk7ICAgIAogIH0KICBjYXRjaChlKSB7CiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQogICAgICByZXR1cm4gdHJ1ZTsgIAogIH0KCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-4-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTQtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCB1bmRlZmluZWQpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-4-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTQtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgdW5kZWZpbmVkKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-4-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTQtMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbOSwgMTFdLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-4-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTQtMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgb2JqID0geyB9OwogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBsZW5ndGhBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMjA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGxvb3BBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMTA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaik7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-4-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5yZWZlcmVuY2VkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKICB0cnkgewogICAgYXJyLnNvbWUoZm9vKTsgICAgCiAgfQogIGNhdGNoKGUpIHsKICAgIGlmKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikKICAgICAgcmV0dXJuIHRydWU7ICAKICB9CgogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-4-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNC0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOwogIHRyeSB7CiAgICBhcnIuc29tZShudWxsKTsgICAgCiAgfQogIGNhdGNoKGUpIHsKICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCiAgICAgIHJldHVybiB0cnVlOyAgCiAgfQoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-4-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNC00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOwogIHRyeSB7CiAgICBhcnIuc29tZSh0cnVlKTsgICAgCiAgfQogIGNhdGNoKGUpIHsKICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCiAgICAgIHJldHVybiB0cnVlOyAgCiAgfQoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-4-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNC01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlciIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CiAgdHJ5IHsKICAgIGFyci5zb21lKDUpOyAgICAKICB9CiAgY2F0Y2goZSkgewogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKICAgICAgcmV0dXJuIHRydWU7ICAKICB9CgogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-4-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNC02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CiAgdHJ5IHsKICAgIGFyci5zb21lKCJhYmMiKTsgICAgCiAgfQogIGNhdGNoKGUpIHsKICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCiAgICAgIHJldHVybiB0cnVlOyAgCiAgfQoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-4-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNC03IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNC03LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IGEgQ2FsbCBpbnRlcm5hbCBtZXRob2QiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOwogIHRyeSB7CiAgICBhcnIuc29tZShuZXcgT2JqZWN0KCkpOyAgICAKICB9CiAgY2F0Y2goZSkgewogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKICAgICAgcmV0dXJuIHRydWU7ICAKICB9CgogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-4-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTQtOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9OwoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBudWxsKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-4-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTQtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9OwoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIG51bGwpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-4-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewogICAgaWQ6ICIxNS40LjQuMTctNS0xIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgcGFzc2VkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB0aGlzLl8xNV80XzRfMTdfNV8xID0gZmFsc2U7CiAgICAgICAgdmFyIF8xNV80XzRfMTdfNV8xID0gdHJ1ZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl8xNV80XzRfMTdfNV8xOwogICAgICAgIH0KICAgICAgICB2YXIgYXJyID0gWzFdOwogICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cn0pOwo=","id":"15.4.4.17-5-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIEFycmF5IE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iakFycmF5ID0gW107CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQXJyYXk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIG9iakFycmF5KTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-5-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIFN0cmluZyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmpTdHJpbmcgPSBuZXcgU3RyaW5nKCk7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqU3RyaW5nOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpTdHJpbmcpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-5-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIEJvb2xlYW4gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmciLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqQm9vbGVhbiA9IG5ldyBCb29sZWFuKCk7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQm9vbGVhbjsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqQm9vbGVhbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-5-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIE51bWJlciBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmpOdW1iZXIgPSBuZXcgTnVtYmVyKCk7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqTnVtYmVyOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpOdW1iZXIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-5-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0xNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBNYXRoIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBNYXRoOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBNYXRoKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-5-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIERhdGUgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmciLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqRGF0ZSA9IG5ldyBEYXRlKCk7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRGF0ZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqRGF0ZSk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-5-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0xNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIFJlZ0V4cCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmpSZWdFeHAgPSBuZXcgUmVnRXhwKCk7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqUmVnRXhwOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpSZWdFeHApOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-5-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBKU09OIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBKU09OOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBKU09OKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-5-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0xOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIEVycm9yIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iakVycm9yID0gbmV3IFJhbmdlRXJyb3IoKTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpFcnJvcjsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqRXJyb3IpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-5-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmciLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJnOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGFyZzsKICAgICAgICB9CgogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7CiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsKICAgICAgICB9KDEsIDIsIDMpKTsKCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBhcmcpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-5-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNS0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIGlzIE9iamVjdCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgcmVzID0gZmFsc2U7CiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7CiAgby5yZXMgPSB0cnVlOwogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikKICB7CiAgICByZXR1cm4gdGhpcy5yZXM7CiAgfQoKICB2YXIgYXJyID0gWzFdOwogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4sIG8pID09PSB0cnVlKQogICAgcmV0dXJuIHRydWU7ICAgIAoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-5-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMjEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0yMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmciLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBmbkdsb2JhbE9iamVjdCgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBmbkdsb2JhbE9iamVjdCgpKTsKICAgIH0sCgoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-5-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMjIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0yMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmciLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgZmFsc2UpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-5-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMjMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0yMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IDEwMTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgMTAxKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-5-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtMjQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0yNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCAiYWJjIik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-5-24"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewogICAgaWQ6ICIxNS40LjQuMTctNS0yNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTI1LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gdGhpc0FyZyBub3QgcGFzc2VkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBpbm5lck9iaigpIHsKICAgICAgICAgICAgdGhpcy5fMTVfNF80XzE3XzVfMjUgPSB0cnVlOwogICAgICAgICAgICB2YXIgXzE1XzRfNF8xN181XzI1ID0gZmFsc2U7CiAgICAgICAgICAgIAogICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl8xNV80XzRfMTdfNV8yNTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgYXJyID0gWzFdOwogICAgICAgICAgICB0aGlzLnJldFZhbCA9ICFhcnIuc29tZShjYWxsYmFja2ZuKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBpbm5lck9iaigpLnJldFZhbDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KfSk7Cg==","id":"15.4.4.17-5-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNS0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIGlzIEFycmF5IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciByZXMgPSBmYWxzZTsKICB2YXIgYSA9IG5ldyBBcnJheSgpOwogIGEucmVzID0gdHJ1ZTsKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgcmV0dXJuIHRoaXMucmVzOwogIH0KCiAgdmFyIGFyciA9IFsxXTsKCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbiwgYSkgPT09IHRydWUpCiAgICByZXR1cm4gdHJ1ZTsgICAgCgogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-5-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNS00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShwcm90b3R5cGUpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciByZXMgPSBmYWxzZTsKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgcmV0dXJuIHRoaXMucmVzOwogIH0KICAKICBmdW5jdGlvbiBmb28oKXt9CiAgZm9vLnByb3RvdHlwZS5yZXMgPSB0cnVlOwogIHZhciBmID0gbmV3IGZvbygpOwogIHZhciBhcnIgPSBbMV07CgogICAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmKSA9PT0gdHJ1ZSkKICAgICAgcmV0dXJuIHRydWU7ICAgIAoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-5-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNS01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgcmVzID0gZmFsc2U7CiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQogIHsKICAgIHJldHVybiB0aGlzLnJlczsKICB9CgogIGZ1bmN0aW9uIGZvbygpe30KICB2YXIgZiA9IG5ldyBmb28oKTsKICBmLnJlcyA9IHRydWU7CiAgdmFyIGFyciA9IFsxXTsKCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmKSA9PT0gdHJ1ZSkKICAgIHJldHVybiB0cnVlOyAgICAKCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-5-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNS02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNS02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIGlzIGZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciByZXMgPSBmYWxzZTsKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgcmV0dXJuIHRoaXMucmVzOwogIH0KCiAgZnVuY3Rpb24gZm9vKCl7fQogIGZvby5yZXMgPSB0cnVlOwogIHZhciBhcnIgPSBbMV07CgogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4sZm9vKSA9PT0gdHJ1ZSkKICAgIHJldHVybiB0cnVlOyAgICAKCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-5-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBidWlsdC1pbiBmdW5jdGlvbnMgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZXZhbDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgZXZhbCk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-5-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTUtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBGdW5jdGlvbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpGdW5jdGlvbjsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-5-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNy0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgY29uc2lkZXJzIG5ldyBlbGVtZW50cyBhZGRlZCB0byBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAogIHZhciBjYWxsZWRGb3JUaHJlZSA9IGZhbHNlOwogCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQogIHsKICAgIGFyclsyXSA9IDM7CiAgICBpZih2YWwgIT09IDMpCiAgICAgIGNhbGxlZEZvclRocmVlID0gdHJ1ZTsKCiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICB2YXIgYXJyID0gWzEsMiwsNCw1XTsKICAKICB2YXIgdmFsID0gYXJyLnNvbWUoY2FsbGJhY2tmbik7CiAgcmV0dXJuIGNhbGxlZEZvclRocmVlOwogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-7-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNy0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAogCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQogIHsKICAgIGFycls0XSA9IDY7CiAgICBpZih2YWwgPCA2KQogICAgICByZXR1cm4gZmFsc2U7CiAgICBlbHNlIAogICAgICByZXR1cm4gdHJ1ZTsKICB9CgogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsKICAKICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSkgICAgCiAgICByZXR1cm4gdHJ1ZTsgIAogIAogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-7-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNy0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCiAKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgZGVsZXRlIGFyclsyXTsKICAgIGlmKHZhbCAhPT0gMykKICAgICAgcmV0dXJuIGZhbHNlOwogICAgZWxzZSAKICAgICAgcmV0dXJuIHRydWU7CiAgfQoKICB2YXIgYXJyID0gWzEsMiwzLDQsNV07CiAgCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IGZhbHNlKSAgICAKICAgIHJldHVybiB0cnVlOyAgCiAgCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-7-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNy00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCiAKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgYXJyLmxlbmd0aCA9IDM7CiAgICBpZih2YWwgPCA0KQogICAgICByZXR1cm4gZmFsc2U7CiAgICBlbHNlIAogICAgICByZXR1cm4gdHJ1ZTsKICB9CiAgCiAgdmFyIGFyciA9IFsxLDIsMyw0LDZdOwogIAogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkgICAgCiAgICByZXR1cm4gdHJ1ZTsgICAgCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-7-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNy01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCBjb25zaWRlciBuZXdseSBhZGRlZCBlbGVtZW50cyBpbiBzcGFyc2UgYXJyYXkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAogCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQogIHsKICAgIGFyclsxMDAwXSA9IDU7CiAgICBpZih2YWwgPCA1KQogICAgICByZXR1cm4gZmFsc2U7CiAgICBlbHNlIAogICAgICByZXR1cm4gdHJ1ZTsKICB9CgogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOwogIGFyclsxXSA9IDE7CiAgYXJyWzJdID0gMjsKICAKICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpICAgIAogICAgcmV0dXJuIHRydWU7ICAKIAogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-7-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNy02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCiAKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgZGVsZXRlIGFycls0XTsKICAgIGlmKHZhbCA8IDUpCiAgICAgIHJldHVybiBmYWxzZTsKICAgIGVsc2UgCiAgICAgIHJldHVybiB0cnVlOwogIH0KCgogIEFycmF5LnByb3RvdHlwZVs0XSA9IDU7CiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOwogIAogIHZhciByZXMgPSBhcnIuc29tZShjYWxsYmFja2ZuKSA7CiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVs0XTsKICBpZihyZXMgPT09IHRydWUpICAgIAogICAgcmV0dXJuIHRydWU7ICAKICAKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-7-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgbGVuZ3RoIGlzIDAiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDAgfTsKCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgY2FsbGVkID0gMDsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGNhbGxlZCsrOwogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAyOiAxMiwgbGVuZ3RoOiAzIH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIG9iai5sZW5ndGggPSAyOwogICAgICAgICAgICAgICAgcmV0dXJuIDg7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGNhbGxlZCA9PT0gMzsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNy1iLTEiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMS5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKCiAgdmFyIGNhbGxDbnQgPSAwOyAKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgY2FsbENudCsrOwogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CiAgYXJyWzFdID0gdW5kZWZpbmVkOwogIGFyci5zb21lKGNhbGxiYWNrZm4pOwogIGlmKGNhbGxDbnQgPT09IDEpICAgIAogICAgICByZXR1cm4gdHJ1ZTsgIAogIAogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-7-b-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi0xMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsKICAgICAgICB9CiAgICAgICAgdmFyIGFyciA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7CiAgICAgICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-b-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi0xMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsKICAgICAgICB9CiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOwogICAgICAgICAgICByZXR1cm4gIWFyci5zb21lKGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-b-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi0xMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZhciBhcnIgPSB7IDA6IDAsIDE6IDExMSwgMjogMiwgbGVuZ3RoOiAxMCB9OwogICAgICAgIAogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOwogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-b-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi0xMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExLCAyXTsgCiAgICAgICAgCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsKICAgICAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-b-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi0xNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDM7CiAgICAgICAgfQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-b-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi0xNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInByb3RvdHlwZSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-b-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi0xNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOwogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-b-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi0yIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAibGVuZ3RoIikgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgdmFyIGFyciA9IHsgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBhcnJbMl0gPSAibGVuZ3RoIjsKICAgICAgICAgICAgICAgIHJldHVybiAzOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-b-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi0zIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAyOwogICAgICAgIH0KICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5LCA4OiAxOX07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsyXTsKICAgICAgICAgICAgICAgIHJldHVybiAxMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-b-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi00IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyciwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-b-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi01IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-b-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi02IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-b-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiAhWywgMV0uaGFzT3duUHJvcGVydHkoMCkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-b-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi04IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsKICAgICAgICB9CiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5OwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyciwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-b-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYi05IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi05LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsKICAgICAgICB9CiAgICAgICAgdmFyIGFyciA9IFsxLCAyXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-b-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWktMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9OwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDU6IGtWYWx1ZSwgbGVuZ3RoOiAxMDAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTEwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTEwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMTApIHsKICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB2YXIgYXJyID0gW107CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTExIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTExLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgMTogNiB9OwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTEyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTEyLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHZhciBhcnIgPSBbXTsKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxMDA7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-i-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTEzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTEzLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB2YXIgcHJvdG8gPSB7fTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gNTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTE0IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE0LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFtdOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-i-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTE1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE1LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkLmxlbmd0aCA9IDIwOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTE2IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE2LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gWywgLCBdLnNvbWUoY2FsbGJhY2tmbik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiAhWywgMV0uaGFzT3duUHJvcGVydHkoMCkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTE3IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE3LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgewogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTE4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE4LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTE5IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE5LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxMDsKICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWktMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9OwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZSA9PT0gdmFsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBba1ZhbHVlXS5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-i-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTIwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTIwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsKICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB2YXIgYXJyID0gW107CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDEwMDsKICAgICAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTIxIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTIxLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHt9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7CiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZC5sZW5ndGggPSAyOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KfSk7Cg==","id":"15.4.4.17-7-c-i-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTIyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTIyLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gWywgXS5zb21lKGNhbGxiYWNrZm4pOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CiAgICAgICAgfQoKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmICFbLCAxXS5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-i-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTIzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTIzLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgYW4gZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAxMTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAxOwogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQp9KTsK","id":"15.4.4.17-7-c-i-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTI1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTI1LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIGZ1bmMoMTEpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-i-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTI2IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTI2LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBmaXJzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBzZWNvbmRSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsKICAgICAgICAgICAgICAgIGZpcnN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgc2Vjb25kUmVzdWx0ID0gKHZhbCA9PT0gOSk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOwogICAgICAgIH07CgogICAgICAgIHJldHVybiAhZnVuYygxMSwgOSkgJiYgZmlyc3RSZXN1bHQgJiYgc2Vjb25kUmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-i-26"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTI3IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTI3LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBmaXJzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBzZWNvbmRSZXN1bHQgPSBmYWxzZTsKICAgICAgICB2YXIgdGhpcmRSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsKICAgICAgICAgICAgICAgIGZpcnN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgc2Vjb25kUmVzdWx0ID0gKHZhbCA9PT0gMTIpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMikgewogICAgICAgICAgICAgICAgdGhpcmRSZXN1bHQgPSAodmFsID09PSA5KTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuICFmdW5jKDExLCAxMiwgOSkgJiYgZmlyc3RSZXN1bHQgJiYgc2Vjb25kUmVzdWx0ICYmIHRoaXJkUmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-i-27"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTI4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTI4LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbXTsKICAgICAgICB2YXIgaGVscFZlcmlmeVZhciA9IDExOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaGVscFZlcmlmeVZhcjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoYXJncykgewogICAgICAgICAgICAgICAgaGVscFZlcmlmeVZhciA9IGFyZ3M7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBhcnJbMV0gPSAxMjsKICAgICAgICAgICAgICAgIHJldHVybiA5OwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTI5IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTI5LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9OwogICAgICAgIHZhciBoZWxwVmVyaWZ5VmFyID0gMTE7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiBoZWxwVmVyaWZ5VmFyOwogICAgICAgICAgICB9LAogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIChhcmdzKSB7CiAgICAgICAgICAgICAgICBoZWxwVmVyaWZ5VmFyID0gYXJnczsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIG9ialsxXSA9IDEyOwogICAgICAgICAgICAgICAgcmV0dXJuIDExOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-i-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWktMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgNTogMTAwIH07CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGRbNV0gPSBrVmFsdWU7CiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTMwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTMwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsKICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMjAgfTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiAhYWNjZXNzZWQ7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-i-30"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTMxIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTMxLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsKICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbXTsKICAgICAgICBhcnJbMTBdID0gMTAwOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBhcnIuc29tZShjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgIWFjY2Vzc2VkOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-i-31"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWktNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOwoKICAgICAgICAgICAgcmV0dXJuIFtrVmFsdWVdLnNvbWUoY2FsbGJhY2tmbik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-i-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWktNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBrVmFsdWUgPSAxMDAwOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiA1OwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZC5sZW5ndGggPSAyOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7CiAgICAgICAgICAgIHZhbHVlOiBrVmFsdWUsCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWktNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBrVmFsdWUgPSAxMDAwOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm4gW2tWYWx1ZV0uc29tZShjYWxsYmFja2ZuKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-i-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWktNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtWYWx1ZSA9ICdhYmMnOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKDUgPT09IGlkeCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZSA9PT0gdmFsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgNToga1ZhbHVlIH07CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWktOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9OwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKDAgPT09IGlkeCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZSA9PT0gdmFsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IGtWYWx1ZTsKCiAgICAgICAgICAgIHJldHVybiBbLCBdLnNvbWUoY2FsbGJhY2tmbik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-i-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1pLTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWktOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyMCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMTAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-i-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNy1jLWlpLTEiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMS5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAogCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQogIHsKICAgIGlmKG9ialtpZHhdID09PSB2YWwpCiAgICAgIHJldHVybiBmYWxzZTsKICAgIGVsc2UKICAgICAgcmV0dXJuIHRydWU7CiAgfQoKICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOwogIAogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkKICAgIHJldHVybiB0cnVlOwoKCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-7-c-ii-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0xMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDEgZm9ybWFsIHBhcmFtZXRlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7CiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTEsIDEyXS5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-ii-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0xMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDIgZm9ybWFsIHBhcmFtZXRlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTAgJiYgYXJndW1lbnRzWzJdW2lkeF0gPT09IHZhbDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbOSwgMTJdLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-ii-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0xMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDMgZm9ybWFsIHBhcmFtZXRlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdmFsID4gMTAgJiYgb2JqW2lkeF0gPT09IHZhbDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbOSwgMTJdLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-ii-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0xMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIHRoYXQgdXNlcyBhcmd1bWVudHMgb2JqZWN0IHRvIGdldCBwYXJhbWV0ZXIgdmFsdWUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgewogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzWzJdW2FyZ3VtZW50c1sxXV0gPT09IGFyZ3VtZW50c1swXTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbOSwgMTJdLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-ii-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0xNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAndGhpcycgb2YgJ2NhbGxiYWNrJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdoZW4gJ1QnIGlzIG5vdCBhbiBvYmplY3QgKCdUJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-ii-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0xNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGEgTnVtYmVyIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIG51bWJlciBwcmltaXRpdmUpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gNTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCA1KTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-ii-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0xOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSAndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGFuIFN0cmluZyBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBzdHJpbmcgcHJpbWl0aXZlKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09ICJoZWxsbyEiOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4sICJoZWxsbyEiKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-ii-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0xOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBub24taW5kZXhlZCBwcm9wZXJ0aWVzIGFyZSBub3QgY2FsbGVkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBjYWxsZWQrKzsKICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxMDogOCwgbm9uX2luZGV4X3Byb3BlcnR5OiAxMSwgbGVuZ3RoOiAyMCB9OwoKICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAoMiA9PT0gY2FsbGVkKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-ii-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNy1jLWlpLTIiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMi5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiB0YWtlcyAzIGFyZ3VtZW50cyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCiAKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgaWYoYXJndW1lbnRzLmxlbmd0aCA9PT0gMykgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMKICAgICAgcmV0dXJuIGZhbHNlOwogICAgZWxzZQogICAgICByZXR1cm4gdHJ1ZTsKICB9CgogIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsKICBhcnJbOTk5OTk5XSA9IC02LjY7CiAgCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IGZhbHNlKQogICAgcmV0dXJuIHRydWU7CgoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-7-c-ii-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0yMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpc0FyZyBpcyBjb3JyZWN0KSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0aGlzQXJnID0geyB0aHJlc2hvbGQ6IDEwIH07CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZzsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-ii-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0yMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoa1ZhbHVlIGlzIGNvcnJlY3QpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGZpcnN0SW5kZXggPSBmYWxzZTsKICAgICAgICB2YXIgc2Vjb25kSW5kZXggPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsKICAgICAgICAgICAgICAgIGZpcnN0SW5kZXggPSAodmFsID09PSAxMSk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgc2Vjb25kSW5kZXggPSAodmFsID09PSAxMik7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07CgogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGZpcnN0SW5kZXggJiYgc2Vjb25kSW5kZXg7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-ii-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0yMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhlIGluZGV4IGsgaXMgY29ycmVjdCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgZmlyc3RJbmRleCA9IGZhbHNlOwogICAgICAgIHZhciBzZWNvbmRJbmRleCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTEpIHsKICAgICAgICAgICAgICAgIGZpcnN0SW5kZXggPSAoaWR4ID09PSAwKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgewogICAgICAgICAgICAgICAgc2Vjb25kSW5kZXggPSAoaWR4ID09PSAxKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsKCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgZmlyc3RJbmRleCAmJiBzZWNvbmRJbmRleDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-ii-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS0yMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpcyBvYmplY3QgTyBpcyBjb3JyZWN0KSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsKICAgICAgICAgICAgcmV0dXJuIG9iaiA9PT0gbzsKICAgICAgICB9CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-ii-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctNy1jLWlpLTMiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMy5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIGltbWVkaWF0ZWx5IHJldHVybnMgdHJ1ZSBpZiBjYWxsYmFja2ZuIHJldHVybnMgdHJ1ZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCiAKICB2YXIgY2FsbENudCA9IDA7CiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQogIHsKICAgIGNhbGxDbnQrKzsKICAgIGlmKGlkeCA+IDUpICAgCiAgICAgIHJldHVybiB0cnVlOwogICAgZWxzZQogICAgICByZXR1cm4gZmFsc2U7CiAgfQoKICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOwogIAogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSB0cnVlICYmIGNhbGxDbnQgPT09IDcpIAogICAgcmV0dXJuIHRydWU7CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-7-c-ii-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS00IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gayB2YWx1ZXMgYXJlIHBhc3NlZCBpbiBhc2NlbmRpbmcgbnVtZXJpYyBvcmRlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNCwgNV07CiAgICAgICAgdmFyIGxhc3RJZHggPSAwOwogICAgICAgIHZhciBjYWxsZWQgPSAwOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7CiAgICAgICAgICAgIGNhbGxlZCsrOwogICAgICAgICAgICBpZiAobGFzdElkeCAhPT0gaWR4KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGxhc3RJZHgrKzsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICFhcnIuc29tZShjYWxsYmFja2ZuKSAmJiBhcnIubGVuZ3RoID09PSBjYWxsZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-ii-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS01IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gayB2YWx1ZXMgYXJlIGFjY2Vzc2VkIGR1cmluZyBlYWNoIGl0ZXJhdGlvbiBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGtJbmRleCA9IFtdOwoKICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgayB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgLy9FYWNoIHBvc2l0aW9uIHNob3VsZCBiZSB2aXNpdGVkIG9uZSB0aW1lLCB3aGljaCBtZWFucyBrIGlzIGFjY2Vzc2VkIG9uZSB0aW1lIGR1cmluZyBpdGVyYXRpb25zLgogICAgICAgICAgICBpZiAodHlwZW9mIGtJbmRleFtpZHhdID09PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIHByZXZpb3VzIGluZGV4IHNob3VsZCBoYXMgYmVlbiB2aXNpdGVkLgogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAhWzExLCAxMiwgMTMsIDE0XS5zb21lKGNhbGxiYWNrZm4sIHVuZGVmaW5lZCk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-ii-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS02IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gYXJndW1lbnRzIHRvIGNhbGxiYWNrZm4gYXJlIHNlbGYgY29uc2lzdGVudCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsKICAgICAgICB2YXIgdGhpc0FyZyA9IHt9OwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZyAmJiBhcmd1bWVudHNbMF0gPT09IDExICYmIGFyZ3VtZW50c1sxXSA9PT0gMCAmJiBhcmd1bWVudHNbMl0gPT09IG9iajsKICAgICAgICB9CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-ii-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gY2FsbGJhY2tmbiB0ZXJtaW5hdGUgaXRlcmF0aW9uIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID4gMCkgewogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMDAsIDEwOiAxMSwgbGVuZ3RoOiAyMCB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBFcnJvciAmJiAhYWNjZXNzZWQ7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-ii-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS04IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGNhbGxiYWNrZm4gb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7CiAgICAgICAgICAgICAgICBvYmpbaWR4ICsgMV0gPSAxMTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiA4LCBsZW5ndGg6IDIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-ii-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paS05IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS05LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAwIGZvcm1hbCBwYXJhbWV0ZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTEsIDEyXS5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-ii-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsKCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-iii-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAtSW5maW5pdHk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-iii-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiBOYU47CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gIVsxMV0uc29tZShjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIGVtcHR5IHN0cmluZyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gIiI7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gIVsxMV0uc29tZShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0xNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbm9uLWVtcHR5IHN0cmluZyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gIm5vbi1lbXB0eSBzdHJpbmciOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIEZ1bmN0aW9uIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0xNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIEFycmF5IG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gbmV3IEFycmF5KDEwKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-iii-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgU3RyaW5nIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gbmV3IFN0cmluZygpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0xOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgQm9vbGVhbiBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-iii-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgTnVtYmVyIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlcigpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBudWxsIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9OwoKICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMjAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0yMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBNYXRoIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gTWF0aDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-iii-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMjEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0yMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgRGF0ZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-iii-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMjIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0yMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgUmVnRXhwIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMjMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0yMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBKU09OIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gSlNPTjsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-iii-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMjQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0yNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIEVycm9yIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gbmV3IEV2YWxFcnJvcigpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-24"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMjUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0yNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-iii-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMjYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0yNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBnbG9iYWwgb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiBmbkdsb2JhbE9iamVjdCgpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-26"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMjgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0yOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHRydWUgcHJldmVudHMgZnVydGhlciBzaWRlIGVmZmVjdHMiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsKICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyMCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gODsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAxMTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMTE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFyZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMjkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctNy1jLWlpaS0yOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSAobmV3IEJvb2xlYW4oZmFsc2UpKSBvZiBjYWxsYmFja2ZuIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihmYWxzZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-iii-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIGZhbHNlKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07CgogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-iii-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-iii-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gIVsxMV0uc29tZShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKICAgIH0KCn0pOwo=","id":"15.4.4.17-7-c-iii-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiArMDsKICAgICAgICB9CgogICAgICAgIHJldHVybiAhWzExXS5zb21lKGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-iii-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiAtMDsKICAgICAgICB9CgogICAgICAgIHJldHVybiAhWzExXS5zb21lKGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-iii-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gNTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.17-7-c-iii-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE3LTctYy1paWktOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gLTU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogICAgfQoKfSk7Cg==","id":"15.4.4.17-7-c-iii-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctOC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgZnVuY3Rpb24gY2IoKXt9CiAgdmFyIGkgPSBbXS5zb21lKGNiKTsKICBpZiAoaSA9PT0gZmFsc2UpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-8-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC0xMCIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTAuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBsZW5ndGggaXMgcmVkdWNlZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgZi5sZW5ndGggPSAyOwogIAogIGZ1bmN0aW9uIGNiKHZhbCkKICB7CiAgICBpZih2YWwgPiAyKQogICAgICByZXR1cm4gdHJ1ZTsKICAgIGVsc2UKICAgICAgcmV0dXJuIGZhbHNlOwogIH0KICB2YXIgaSA9IGYuc29tZShjYik7CiAgCiAgaWYgKGkgPT09IGZhbHNlKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-8-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC0xMSIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTEuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIHdoZW4gYWxsIGNhbGxzIHRvIGNhbGxiYWNrZm4gcmV0dXJuIGZhbHNlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKIAogIHZhciBjYWxsQ250ID0gMDsKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgY2FsbENudCsrOwogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsKICAKICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UgJiYgY2FsbENudCA9PT0gMTApIAogICAgcmV0dXJuIHRydWU7CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-8-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC0xMiIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTIuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IG11dGF0ZSB0aGUgYXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsKICBhcnIuc29tZShjYWxsYmFja2ZuKTsKICBpZihhcnJbMF0gPT09IDEgJiYKICAgICBhcnJbMV0gPT09IDIgJiYKICAgICBhcnJbMl0gPT09IDMgJiYKICAgICBhcnJbM10gPT09IDQgJiYKICAgICBhcnJbNF0gPT09IDUpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-8-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC0xMyIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTMuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKIAogIHZhciBjYWxsQ250ID0gMDsKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopCiAgewogICAgY2FsbENudCsrOwogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsKICBhcnJbImkiXSA9IDEwOwogIGFyclt0cnVlXSA9IDExOwogIAogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSAmJiBjYWxsQ250ID09PSAxMCkgCiAgICByZXR1cm4gdHJ1ZTsKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-8-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctOC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgZi5sZW5ndGggPSBudWxsOwogIAogIGZ1bmN0aW9uIGNiKCl7fQogIHZhciBpID0gZi5zb21lKGNiKTsKICAKICBpZiAoaSA9PT0gZmFsc2UpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-8-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctOC0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKICBmdW5jdGlvbiBmb28oKSB7fQogIHZhciBmID0gbmV3IGZvbygpOwogIGYubGVuZ3RoID0gZmFsc2U7CiAgCiAgZnVuY3Rpb24gY2IoKXt9CiAgdmFyIGkgPSBmLnNvbWUoY2IpOwogIAogIGlmIChpID09PSBmYWxzZSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-8-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctOC00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgZi5sZW5ndGggPSAwOwogIAogIGZ1bmN0aW9uIGNiKCl7fQogIHZhciBpID0gZi5zb21lKGNiKTsKICAKICBpZiAoaSA9PT0gZmFsc2UpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnNvbWUpOwogfQp9KTsK","id":"15.4.4.17-8-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctOC01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CiAgZnVuY3Rpb24gZm9vKCkge30KICB2YXIgZiA9IG5ldyBmb28oKTsKICBmLmxlbmd0aCA9ICcwJzsKICAKICBmdW5jdGlvbiBjYigpe30KICB2YXIgaSA9IGYuc29tZShjYik7CiAgCiAgaWYgKGkgPT09IGZhbHNlKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5zb21lKTsKIH0KfSk7Cg==","id":"15.4.4.17-8-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctOC02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CiAgZnVuY3Rpb24gZm9vKCkge30KICB2YXIgZiA9IG5ldyBmb28oKTsKICAKICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsKICBmLmxlbmd0aCA9IG87CiAgCiAgZnVuY3Rpb24gY2IoKXt9CiAgdmFyIGkgPSBmLnNvbWUoY2IpOwogIAogIGlmIChpID09PSBmYWxzZSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-8-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC03IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctOC03LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07CiAgZi5sZW5ndGggPSBvOwogIAogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4KCiAgZnVuY3Rpb24gY2IoKXt9CiAgdmFyIGkgPSBmLnNvbWUoY2IpOwogIAogIGlmIChpID09PSBmYWxzZSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-8-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTctOC04IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNy8xNS40LjQuMTctOC04LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CiAgZnVuY3Rpb24gZm9vKCkge30KICB2YXIgZiA9IG5ldyBmb28oKTsKICAKICBmLmxlbmd0aCA9IFtdOwogIAogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4KICAvLwogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbgogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gKICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMKICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4KCiAgZnVuY3Rpb24gY2IoKXt9CiAgdmFyIGkgPSBmLnNvbWUoY2IpOwogIAogIGlmIChpID09PSBmYWxzZSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuc29tZSk7CiB9Cn0pOwo=","id":"15.4.4.17-8-8"}]}}