{ "name": "C2C", "structs": {}, "methods": [ { "name": "testCallToIndex", "args": [ { "type": "address", "name": "account" }, { "type": "uint64", "name": "appId" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "testCallToValue", "args": [ { "type": "address", "name": "account" }, { "type": "uint64", "name": "appId" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "testCallToEchoResource", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} } ], "arcs": [ 22, 28 ], "networks": {}, "state": { "schema": { "global": { "ints": 0, "bytes": 0 }, "local": { "ints": 0, "bytes": 0 } }, "keys": { "global": {}, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 234, 295, 790, 897 ], "errorMessage": "Bytes has valid prefix" }, { "pc": [ 245, 306 ], "errorMessage": "account funded" }, { "pc": [ 839, 943 ], "errorMessage": "assert target is match for conditions" }, { "pc": [ 136, 162 ], "errorMessage": "invalid number of bytes for arc4.static_array" }, { "pc": [ 796, 903 ], "errorMessage": "invalid number of bytes for arc4.tuple" }, { "pc": [ 144, 170 ], "errorMessage": "invalid number of bytes for arc4.uint64" }, { "pc": [ 239, 300 ], "errorMessage": "invalid number of bytes for uint64" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMCA4IDEgNgogICAgYnl0ZWNibG9jayAweCAweDE1MWY3Yzc1IDB4MDEKICAgIGIgbWFpbl9ibG9ja0AwCgptYWluX2Jsb2NrQDA6CiAgICBiIG1haW5fYmxvY2tAMQoKbWFpbl9ibG9ja0AxOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NjIKICAgIC8vIGNsYXNzIEMyQyBleHRlbmRzIENvbnRyYWN0IHsKICAgIHR4biBOdW1BcHBBcmdzCiAgICBpbnRjXzAgLy8gMAogICAgIT0KICAgIGJ6IG1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDEwCiAgICBiIG1haW5fYWJpX3JvdXRpbmdAMgoKbWFpbl9hYmlfcm91dGluZ0AyOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NjIKICAgIC8vIGNsYXNzIEMyQyBleHRlbmRzIENvbnRyYWN0IHsKICAgIHR4biBPbkNvbXBsZXRpb24KICAgIGludGNfMCAvLyBOb09wCiAgICA9PQogICAgYXNzZXJ0CiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgaW50Y18wIC8vIDAKICAgICE9CiAgICBieiBtYWluX2NyZWF0ZV9Ob09wQDgKICAgIGIgbWFpbl9jYWxsX05vT3BAMwoKbWFpbl9jYWxsX05vT3BAMzoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjYyCiAgICAvLyBjbGFzcyBDMkMgZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBwdXNoYnl0ZXMgMHgxMzRjNzZhOCAvLyBtZXRob2QgInRlc3RDYWxsVG9JbmRleChhZGRyZXNzLHVpbnQ2NCl2b2lkIgogICAgcHVzaGJ5dGVzIDB4MGZlZmQ2ZjcgLy8gbWV0aG9kICJ0ZXN0Q2FsbFRvVmFsdWUoYWRkcmVzcyx1aW50NjQpdm9pZCIKICAgIHB1c2hieXRlcyAweGU3YmMwZjUyIC8vIG1ldGhvZCAidGVzdENhbGxUb0VjaG9SZXNvdXJjZSgpdm9pZCIKICAgIHVuY292ZXIgMwogICAgbWF0Y2ggbWFpbl90ZXN0Q2FsbFRvSW5kZXhfcm91dGVANCBtYWluX3Rlc3RDYWxsVG9WYWx1ZV9yb3V0ZUA1IG1haW5fdGVzdENhbGxUb0VjaG9SZXNvdXJjZV9yb3V0ZUA2CiAgICBiIG1haW5fc3dpdGNoX2Nhc2VfbmV4dEA3CgptYWluX3N3aXRjaF9jYXNlX25leHRANzoKICAgIGIgbWFpbl9hZnRlcl9pZl9lbHNlQDkKCm1haW5fYWZ0ZXJfaWZfZWxzZUA5OgogICAgYiBtYWluX2FmdGVyX2lmX2Vsc2VAMTEKCm1haW5fYWZ0ZXJfaWZfZWxzZUAxMToKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjYyCiAgICAvLyBjbGFzcyBDMkMgZXh0ZW5kcyBDb250cmFjdCB7CiAgICBlcnIKCm1haW5fdGVzdENhbGxUb0VjaG9SZXNvdXJjZV9yb3V0ZUA2OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6ODEKICAgIC8vIHRlc3RDYWxsVG9FY2hvUmVzb3VyY2UoKSB7CiAgICBjYWxsc3ViIHRlc3RDYWxsVG9FY2hvUmVzb3VyY2UKICAgIGIgbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDcKCm1haW5fdGVzdENhbGxUb1ZhbHVlX3JvdXRlQDU6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo3MgogICAgLy8gdGVzdENhbGxUb1ZhbHVlKGFjY291bnQ6IEFjY291bnQsIGFwcElkOiBBcHBsaWNhdGlvbikgewogICAgY2FsbHN1YiB0ZXN0Q2FsbFRvVmFsdWUKICAgIGIgbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDcKCm1haW5fdGVzdENhbGxUb0luZGV4X3JvdXRlQDQ6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo2MwogICAgLy8gdGVzdENhbGxUb0luZGV4KGFjY291bnQ6IEFjY291bnQsIGFwcElkOiBBcHBsaWNhdGlvbikgewogICAgY2FsbHN1YiB0ZXN0Q2FsbFRvSW5kZXgKICAgIGIgbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDcKCm1haW5fY3JlYXRlX05vT3BAODoKICAgIGIgbWFpbl9hZnRlcl9pZl9lbHNlQDkKCm1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDEwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NjIKICAgIC8vIGNsYXNzIEMyQyBleHRlbmRzIENvbnRyYWN0IHsKICAgIHR4biBPbkNvbXBsZXRpb24KICAgIGludGNfMCAvLyBOb09wCiAgICA9PQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGludGNfMCAvLyAwCiAgICA9PQogICAgJiYKICAgIGFzc2VydAogICAgY2FsbHN1YiBfX2FsZ290c19fLmRlZmF1bHRDcmVhdGUKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9JbmRleFtyb3V0aW5nXSgpIC0+IHZvaWQ6CnRlc3RDYWxsVG9JbmRleDoKICAgIGIgdGVzdENhbGxUb0luZGV4X2Jsb2NrQDAKCnRlc3RDYWxsVG9JbmRleF9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NjMKICAgIC8vIHRlc3RDYWxsVG9JbmRleChhY2NvdW50OiBBY2NvdW50LCBhcHBJZDogQXBwbGljYXRpb24pIHsKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDMyCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnN0YXRpY19hcnJheTxhcmM0LnVpbnQ4LCAzMj4KICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzEgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIGNhbGxzdWIgdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6OkMyQy50ZXN0Q2FsbFRvSW5kZXgKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9WYWx1ZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnRlc3RDYWxsVG9WYWx1ZToKICAgIGIgdGVzdENhbGxUb1ZhbHVlX2Jsb2NrQDAKCnRlc3RDYWxsVG9WYWx1ZV9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NzIKICAgIC8vIHRlc3RDYWxsVG9WYWx1ZShhY2NvdW50OiBBY2NvdW50LCBhcHBJZDogQXBwbGljYXRpb24pIHsKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDMyCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnN0YXRpY19hcnJheTxhcmM0LnVpbnQ4LCAzMj4KICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzEgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIGNhbGxzdWIgdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6OkMyQy50ZXN0Q2FsbFRvVmFsdWUKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9FY2hvUmVzb3VyY2Vbcm91dGluZ10oKSAtPiB2b2lkOgp0ZXN0Q2FsbFRvRWNob1Jlc291cmNlOgogICAgYiB0ZXN0Q2FsbFRvRWNob1Jlc291cmNlX2Jsb2NrQDAKCnRlc3RDYWxsVG9FY2hvUmVzb3VyY2VfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjgxCiAgICAvLyB0ZXN0Q2FsbFRvRWNob1Jlc291cmNlKCkgewogICAgY2FsbHN1YiB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9FY2hvUmVzb3VyY2UKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9JbmRleChhY2NvdW50OiBieXRlcywgYXBwSWQ6IHVpbnQ2NCkgLT4gdm9pZDoKdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6OkMyQy50ZXN0Q2FsbFRvSW5kZXg6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo2MwogICAgLy8gdGVzdENhbGxUb0luZGV4KGFjY291bnQ6IEFjY291bnQsIGFwcElkOiBBcHBsaWNhdGlvbikgewogICAgcHJvdG8gMiAwCiAgICBiIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjpDMkMudGVzdENhbGxUb0luZGV4X2Jsb2NrQDAKCnRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjpDMkMudGVzdENhbGxUb0luZGV4X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo2NC02OAogICAgLy8gY29uc3QgeyByZXR1cm5WYWx1ZTogcmVzMSB9ID0gYWJpQ2FsbCh7CiAgICAvLyAgIG1ldGhvZDogQnlJbmRleC5wcm90b3R5cGUudGVzdEV4cGxpY2l0SW5kZXgsCiAgICAvLyAgIGFwcElkLAogICAgLy8gICBhcmdzOiBbYWNjb3VudF0sCiAgICAvLyB9KQogICAgaXR4bl9iZWdpbgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NjcKICAgIC8vIGFyZ3M6IFthY2NvdW50XSwKICAgIGZyYW1lX2RpZyAtMgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NjYKICAgIC8vIGFwcElkLAogICAgZnJhbWVfZGlnIC0xCiAgICBpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKICAgIGl0eG5fZmllbGQgQWNjb3VudHMKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjY0LTY4CiAgICAvLyBjb25zdCB7IHJldHVyblZhbHVlOiByZXMxIH0gPSBhYmlDYWxsKHsKICAgIC8vICAgbWV0aG9kOiBCeUluZGV4LnByb3RvdHlwZS50ZXN0RXhwbGljaXRJbmRleCwKICAgIC8vICAgYXBwSWQsCiAgICAvLyAgIGFyZ3M6IFthY2NvdW50XSwKICAgIC8vIH0pCiAgICBwdXNoYnl0ZXMgMHgzNDM1OWZiNiAvLyBtZXRob2QgInRlc3RFeHBsaWNpdEluZGV4KGFjY291bnQpdWludDY0IgogICAgaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjY3CiAgICAvLyBhcmdzOiBbYWNjb3VudF0sCiAgICBieXRlY18yIC8vIDB4MDEKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo2NC02OAogICAgLy8gY29uc3QgeyByZXR1cm5WYWx1ZTogcmVzMSB9ID0gYWJpQ2FsbCh7CiAgICAvLyAgIG1ldGhvZDogQnlJbmRleC5wcm90b3R5cGUudGVzdEV4cGxpY2l0SW5kZXgsCiAgICAvLyAgIGFwcElkLAogICAgLy8gICBhcmdzOiBbYWNjb3VudF0sCiAgICAvLyB9KQogICAgaW50Y18zIC8vIGFwcGwKICAgIGl0eG5fZmllbGQgVHlwZUVudW0KICAgIGludGNfMCAvLyAwCiAgICBpdHhuX2ZpZWxkIEZlZQogICAgYiB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9JbmRleF9uZXh0X3R4bkAxCgp0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9JbmRleF9uZXh0X3R4bkAxOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NjQtNjgKICAgIC8vIGNvbnN0IHsgcmV0dXJuVmFsdWU6IHJlczEgfSA9IGFiaUNhbGwoewogICAgLy8gICBtZXRob2Q6IEJ5SW5kZXgucHJvdG90eXBlLnRlc3RFeHBsaWNpdEluZGV4LAogICAgLy8gICBhcHBJZCwKICAgIC8vICAgYXJnczogW2FjY291bnRdLAogICAgLy8gfSkKICAgIGl0eG5fc3VibWl0CiAgICBpdHhuIExhc3RMb2cKICAgIGR1cAogICAgZXh0cmFjdCA0IDAKICAgIGNvdmVyIDEKICAgIGV4dHJhY3QgMCA0CiAgICBieXRlY18xIC8vIDB4MTUxZjdjNzUKICAgID09CiAgICBhc3NlcnQgLy8gQnl0ZXMgaGFzIHZhbGlkIHByZWZpeAogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciB1aW50NjQKICAgIGJ0b2kKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjcwCiAgICAvLyBhc3NlcnQocmVzMSA9PT0gYWNjb3VudC5iYWxhbmNlKQogICAgZnJhbWVfZGlnIC0yCiAgICBhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKICAgIGFzc2VydCAvLyBhY2NvdW50IGZ1bmRlZAogICAgPT0KICAgIGFzc2VydAogICAgcmV0c3ViCgoKLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6OkMyQy50ZXN0Q2FsbFRvVmFsdWUoYWNjb3VudDogYnl0ZXMsIGFwcElkOiB1aW50NjQpIC0+IHZvaWQ6CnRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjpDMkMudGVzdENhbGxUb1ZhbHVlOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NzIKICAgIC8vIHRlc3RDYWxsVG9WYWx1ZShhY2NvdW50OiBBY2NvdW50LCBhcHBJZDogQXBwbGljYXRpb24pIHsKICAgIHByb3RvIDIgMAogICAgYiB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9WYWx1ZV9ibG9ja0AwCgp0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9WYWx1ZV9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NzMtNzYKICAgIC8vIGNvbnN0IHsgcmV0dXJuVmFsdWU6IHJlczEgfSA9IGFiaUNhbGw8dHlwZW9mIEJ5VmFsdWUucHJvdG90eXBlLnRlc3RFeHBsaWNpdFZhbHVlPih7CiAgICAvLyAgIGFwcElkLAogICAgLy8gICBhcmdzOiBbYWNjb3VudF0sCiAgICAvLyB9KQogICAgaXR4bl9iZWdpbgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NzUKICAgIC8vIGFyZ3M6IFthY2NvdW50XSwKICAgIGZyYW1lX2RpZyAtMgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6NzQKICAgIC8vIGFwcElkLAogICAgZnJhbWVfZGlnIC0xCiAgICBpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjczLTc2CiAgICAvLyBjb25zdCB7IHJldHVyblZhbHVlOiByZXMxIH0gPSBhYmlDYWxsPHR5cGVvZiBCeVZhbHVlLnByb3RvdHlwZS50ZXN0RXhwbGljaXRWYWx1ZT4oewogICAgLy8gICBhcHBJZCwKICAgIC8vICAgYXJnczogW2FjY291bnRdLAogICAgLy8gfSkKICAgIHB1c2hieXRlcyAweGQ3MzA4YTEzIC8vIG1ldGhvZCAidGVzdEV4cGxpY2l0VmFsdWUoYWRkcmVzcyl1aW50NjQiCiAgICBpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwogICAgaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKICAgIGludGNfMyAvLyBhcHBsCiAgICBpdHhuX2ZpZWxkIFR5cGVFbnVtCiAgICBpbnRjXzAgLy8gMAogICAgaXR4bl9maWVsZCBGZWUKICAgIGIgdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6OkMyQy50ZXN0Q2FsbFRvVmFsdWVfbmV4dF90eG5AMQoKdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6OkMyQy50ZXN0Q2FsbFRvVmFsdWVfbmV4dF90eG5AMToKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjczLTc2CiAgICAvLyBjb25zdCB7IHJldHVyblZhbHVlOiByZXMxIH0gPSBhYmlDYWxsPHR5cGVvZiBCeVZhbHVlLnByb3RvdHlwZS50ZXN0RXhwbGljaXRWYWx1ZT4oewogICAgLy8gICBhcHBJZCwKICAgIC8vICAgYXJnczogW2FjY291bnRdLAogICAgLy8gfSkKICAgIGl0eG5fc3VibWl0CiAgICBpdHhuIExhc3RMb2cKICAgIGR1cAogICAgZXh0cmFjdCA0IDAKICAgIGNvdmVyIDEKICAgIGV4dHJhY3QgMCA0CiAgICBieXRlY18xIC8vIDB4MTUxZjdjNzUKICAgID09CiAgICBhc3NlcnQgLy8gQnl0ZXMgaGFzIHZhbGlkIHByZWZpeAogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciB1aW50NjQKICAgIGJ0b2kKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjc4CiAgICAvLyBhc3NlcnQocmVzMSA9PT0gYWNjb3VudC5iYWxhbmNlKQogICAgZnJhbWVfZGlnIC0yCiAgICBhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKICAgIGFzc2VydCAvLyBhY2NvdW50IGZ1bmRlZAogICAgPT0KICAgIGFzc2VydAogICAgcmV0c3ViCgoKLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6OkMyQy50ZXN0Q2FsbFRvRWNob1Jlc291cmNlKCkgLT4gdm9pZDoKdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6OkMyQy50ZXN0Q2FsbFRvRWNob1Jlc291cmNlOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6ODEKICAgIC8vIHRlc3RDYWxsVG9FY2hvUmVzb3VyY2UoKSB7CiAgICBwcm90byAwIDAKICAgIGJ5dGVjXzAgLy8gIiIKICAgIGJ5dGVjXzAgLy8gIiIKICAgIGIgdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6OkMyQy50ZXN0Q2FsbFRvRWNob1Jlc291cmNlX2Jsb2NrQDAKCnRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjpDMkMudGVzdENhbGxUb0VjaG9SZXNvdXJjZV9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6ODQKICAgIC8vIGNvbnN0IGFwcElkID0gY29tcGlsZWQuYmFyZUNyZWF0ZSgpLmNyZWF0ZWRBcHAKICAgIGl0eG5fYmVnaW4KICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjgyCiAgICAvLyBjb25zdCBjb21waWxlZCA9IGNvbXBpbGVBcmM0KEVjaG9SZXNvdXJjZSkKICAgIGludGNfMCAvLyAwCiAgICBpdHhuX2ZpZWxkIEV4dHJhUHJvZ3JhbVBhZ2VzCiAgICBpbnRjXzAgLy8gMAogICAgaXR4bl9maWVsZCBMb2NhbE51bVVpbnQKICAgIGludGNfMCAvLyAwCiAgICBpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCiAgICBpbnRjXzAgLy8gMAogICAgaXR4bl9maWVsZCBHbG9iYWxOdW1CeXRlU2xpY2UKICAgIGludGNfMCAvLyAwCiAgICBpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKICAgIHB1c2hieXRlcyBiYXNlNjQoQzBJQUFJRUJRdz09KQogICAgaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbVBhZ2VzCiAgICBieXRlY18wIC8vIDB4CiAgICBpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtUGFnZXMKICAgIGJ5dGVjXzAgLy8gMHgKICAgIGl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW1QYWdlcwogICAgYnl0ZWNfMCAvLyAweAogICAgaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbVBhZ2VzCiAgICBwdXNoYnl0ZXMgYmFzZTY0KEN5QUVBUUFJQWlZQ0JCVWZmSFVBUWdBQVFnQUFNUnNqRTBFQVFrSUFBREVaSXhKRU1SZ2pFMEVBTUVJQUFEWWFBSUFFZCtLTmRJQUVUVGNDZGs4Q2pnSUFFQUFLUWdBQVFnQUFRZ0FBQUlnQVQwTC84NGdBRlVMLzdVTC83VEVaSXhJeEdDTVNFRVNJQU1VaVEwSUFBRFlhQVVrVkloSkVGOEF3TmhvQ1NSVWlFa1FYd0RJMkdnTkpGU0lTUkJmQUhFOENUd0pQQW9nQU5TaFBBVkN3SWtOQ0FBQTJHZ0ZKRlNRU1JCYzJHZ0pKRlNRU1JCYzJHZ05KRllFZ0VrUlBBazhDVHdLSUFEc29Ud0ZRc0NKRGlnTUJRZ0FBSXNBYUY4QXdpLzBTUkNYQUdoZkFNb3YrRWtTQkE4QWFGOEFjaS84U1JJdjlGaWxQQVZDTC9oWlFpLzlRaVlvREFVSUFBQ0xBR2hlTC9SSkVKY0FhRjR2K0VrU0JBOEFhaS84U1JJdjlGaWxQQVZDTC9oWlFpLzlRaVVJQUFJaz0pCiAgICBpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCiAgICBieXRlY18wIC8vIDB4CiAgICBpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCiAgICBieXRlY18wIC8vIDB4CiAgICBpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCiAgICBieXRlY18wIC8vIDB4CiAgICBpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo4NAogICAgLy8gY29uc3QgYXBwSWQgPSBjb21waWxlZC5iYXJlQ3JlYXRlKCkuY3JlYXRlZEFwcAogICAgaW50Y18wIC8vIDAKICAgIGl0eG5fZmllbGQgT25Db21wbGV0aW9uCiAgICBpbnRjXzMgLy8gYXBwbAogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18wIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICBiIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjpDMkMudGVzdENhbGxUb0VjaG9SZXNvdXJjZV9uZXh0X3R4bkAxCgp0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9FY2hvUmVzb3VyY2VfbmV4dF90eG5AMToKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjg0CiAgICAvLyBjb25zdCBhcHBJZCA9IGNvbXBpbGVkLmJhcmVDcmVhdGUoKS5jcmVhdGVkQXBwCiAgICBpdHhuX3N1Ym1pdAogICAgaXR4biBDcmVhdGVkQXBwbGljYXRpb25JRAogICAgZnJhbWVfYnVyeSAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo4NS05MQogICAgLy8gY29uc3QgYXNzZXQgPSBpdHhuCiAgICAvLyAgIC5hc3NldENvbmZpZyh7CiAgICAvLyAgICAgdG90YWw6IDEsCiAgICAvLyAgICAgdW5pdE5hbWU6ICdUJywKICAgIC8vICAgICBhc3NldE5hbWU6ICdURVNUJywKICAgIC8vICAgfSkKICAgIC8vICAgLnN1Ym1pdCgpLmNyZWF0ZWRBc3NldAogICAgaXR4bl9iZWdpbgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6ODkKICAgIC8vIGFzc2V0TmFtZTogJ1RFU1QnLAogICAgcHVzaGJ5dGVzICJURVNUIgogICAgaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjg4CiAgICAvLyB1bml0TmFtZTogJ1QnLAogICAgcHVzaGJ5dGVzICJUIgogICAgaXR4bl9maWVsZCBDb25maWdBc3NldFVuaXROYW1lCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo4NwogICAgLy8gdG90YWw6IDEsCiAgICBpbnRjXzIgLy8gMQogICAgaXR4bl9maWVsZCBDb25maWdBc3NldFRvdGFsCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo4NS05MAogICAgLy8gY29uc3QgYXNzZXQgPSBpdHhuCiAgICAvLyAgIC5hc3NldENvbmZpZyh7CiAgICAvLyAgICAgdG90YWw6IDEsCiAgICAvLyAgICAgdW5pdE5hbWU6ICdUJywKICAgIC8vICAgICBhc3NldE5hbWU6ICdURVNUJywKICAgIC8vICAgfSkKICAgIHB1c2hpbnQgMwogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18wIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICBiIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjpDMkMudGVzdENhbGxUb0VjaG9SZXNvdXJjZV9uZXh0X3R4bkAyCgp0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9FY2hvUmVzb3VyY2VfbmV4dF90eG5AMjoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjg1LTkxCiAgICAvLyBjb25zdCBhc3NldCA9IGl0eG4KICAgIC8vICAgLmFzc2V0Q29uZmlnKHsKICAgIC8vICAgICB0b3RhbDogMSwKICAgIC8vICAgICB1bml0TmFtZTogJ1QnLAogICAgLy8gICAgIGFzc2V0TmFtZTogJ1RFU1QnLAogICAgLy8gICB9KQogICAgLy8gICAuc3VibWl0KCkuY3JlYXRlZEFzc2V0CiAgICBpdHhuX3N1Ym1pdAogICAgaXR4biBDcmVhdGVkQXNzZXRJRAogICAgZHVwCiAgICBmcmFtZV9idXJ5IDEKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjkzLTk2CiAgICAvLyBjb25zdCB7IHJldHVyblZhbHVlOiBpbmRleGVzIH0gPSBjb21waWxlZC5jYWxsLmVjaG9SZXNvdXJjZUJ5SW5kZXgoewogICAgLy8gICBhcmdzOiBbYXNzZXQsIEdsb2JhbC5jdXJyZW50QXBwbGljYXRpb25JZCwgVHhuLnNlbmRlcl0sCiAgICAvLyAgIGFwcElkLAogICAgLy8gfSkKICAgIGl0eG5fYmVnaW4KICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjk0CiAgICAvLyBhcmdzOiBbYXNzZXQsIEdsb2JhbC5jdXJyZW50QXBwbGljYXRpb25JZCwgVHhuLnNlbmRlcl0sCiAgICB0eG4gU2VuZGVyCiAgICBjb3ZlciAxCiAgICBnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uSUQKICAgIGNvdmVyIDEKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjk1CiAgICAvLyBhcHBJZCwKICAgIGZyYW1lX2RpZyAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo5My05NgogICAgLy8gY29uc3QgeyByZXR1cm5WYWx1ZTogaW5kZXhlcyB9ID0gY29tcGlsZWQuY2FsbC5lY2hvUmVzb3VyY2VCeUluZGV4KHsKICAgIC8vICAgYXJnczogW2Fzc2V0LCBHbG9iYWwuY3VycmVudEFwcGxpY2F0aW9uSWQsIFR4bi5zZW5kZXJdLAogICAgLy8gICBhcHBJZCwKICAgIC8vIH0pCiAgICBpbnRjXzAgLy8gMAogICAgaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25JRAogICAgaXR4bl9maWVsZCBBc3NldHMKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25zCiAgICBpdHhuX2ZpZWxkIEFjY291bnRzCiAgICBwdXNoYnl0ZXMgMHg3N2UyOGQ3NCAvLyBtZXRob2QgImVjaG9SZXNvdXJjZUJ5SW5kZXgoYXNzZXQsYXBwbGljYXRpb24sYWNjb3VudCkodWludDY0LHVpbnQ2NCxhZGRyZXNzKSIKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo5NAogICAgLy8gYXJnczogW2Fzc2V0LCBHbG9iYWwuY3VycmVudEFwcGxpY2F0aW9uSWQsIFR4bi5zZW5kZXJdLAogICAgcHVzaGJ5dGVzIDB4MDAKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCiAgICBieXRlY18yIC8vIDB4MDEKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCiAgICBieXRlY18yIC8vIDB4MDEKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo5My05NgogICAgLy8gY29uc3QgeyByZXR1cm5WYWx1ZTogaW5kZXhlcyB9ID0gY29tcGlsZWQuY2FsbC5lY2hvUmVzb3VyY2VCeUluZGV4KHsKICAgIC8vICAgYXJnczogW2Fzc2V0LCBHbG9iYWwuY3VycmVudEFwcGxpY2F0aW9uSWQsIFR4bi5zZW5kZXJdLAogICAgLy8gICBhcHBJZCwKICAgIC8vIH0pCiAgICBpbnRjXzMgLy8gYXBwbAogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18wIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICBiIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjpDMkMudGVzdENhbGxUb0VjaG9SZXNvdXJjZV9uZXh0X3R4bkAzCgp0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9FY2hvUmVzb3VyY2VfbmV4dF90eG5AMzoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjkzLTk2CiAgICAvLyBjb25zdCB7IHJldHVyblZhbHVlOiBpbmRleGVzIH0gPSBjb21waWxlZC5jYWxsLmVjaG9SZXNvdXJjZUJ5SW5kZXgoewogICAgLy8gICBhcmdzOiBbYXNzZXQsIEdsb2JhbC5jdXJyZW50QXBwbGljYXRpb25JZCwgVHhuLnNlbmRlcl0sCiAgICAvLyAgIGFwcElkLAogICAgLy8gfSkKICAgIGl0eG5fc3VibWl0CiAgICBpdHhuIExhc3RMb2cKICAgIGR1cAogICAgZXh0cmFjdCA0IDAKICAgIGNvdmVyIDEKICAgIGV4dHJhY3QgMCA0CiAgICBieXRlY18xIC8vIDB4MTUxZjdjNzUKICAgID09CiAgICBhc3NlcnQgLy8gQnl0ZXMgaGFzIHZhbGlkIHByZWZpeAogICAgZHVwCiAgICBsZW4KICAgIHB1c2hpbnQgNDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudHVwbGU8YXNzZXQsYXBwbGljYXRpb24sYWNjb3VudD4KICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjk3CiAgICAvLyBhc3NlcnRNYXRjaChpbmRleGVzLCBbYXNzZXQsIEdsb2JhbC5jdXJyZW50QXBwbGljYXRpb25JZCwgVHhuLnNlbmRlcl0pCiAgICBwdXNoaW50IDMKICAgIHB1c2hpbnQgMwogICAgPT0KICAgIGNvdmVyIDEKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGludGNfMSAvLyA4CiAgICBleHRyYWN0MwogICAgYnRvaQogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgNAogICAgPT0KICAgIHVuY292ZXIgMgogICAgJiYKICAgIGRpZyAxCiAgICBpbnRjXzEgLy8gOAogICAgaW50Y18xIC8vIDgKICAgIGV4dHJhY3QzCiAgICBidG9pCiAgICBnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uSUQKICAgID09CiAgICAmJgogICAgdW5jb3ZlciAxCiAgICBwdXNoaW50IDE2CiAgICBwdXNoaW50IDMyCiAgICBleHRyYWN0MwogICAgdHhuIFNlbmRlcgogICAgPT0KICAgICYmCiAgICBhc3NlcnQgLy8gYXNzZXJ0IHRhcmdldCBpcyBtYXRjaCBmb3IgY29uZGl0aW9ucwogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6OTktMTAyCiAgICAvLyBjb25zdCB7IHJldHVyblZhbHVlOiByZXNvdXJjZXMgfSA9IGNvbXBpbGVkLmNhbGwuZWNob1Jlc291cmNlQnlWYWx1ZSh7CiAgICAvLyAgIGFyZ3M6IFthc3NldCwgR2xvYmFsLmN1cnJlbnRBcHBsaWNhdGlvbklkLCBUeG4uc2VuZGVyXSwKICAgIC8vICAgYXBwSWQsCiAgICAvLyB9KQogICAgaXR4bl9iZWdpbgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6MTAwCiAgICAvLyBhcmdzOiBbYXNzZXQsIEdsb2JhbC5jdXJyZW50QXBwbGljYXRpb25JZCwgVHhuLnNlbmRlcl0sCiAgICBpdG9iCiAgICBnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uSUQKICAgIGl0b2IKICAgIHR4biBTZW5kZXIKICAgIHVuY292ZXIgMQogICAgY292ZXIgMgogICAgY292ZXIgMgogICAgLy8gdGVzdHMvYXBwcm92YWxzL3Jlc291cmNlLWVuY29kaW5nLmFsZ28udHM6MTAxCiAgICAvLyBhcHBJZCwKICAgIGZyYW1lX2RpZyAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo5OS0xMDIKICAgIC8vIGNvbnN0IHsgcmV0dXJuVmFsdWU6IHJlc291cmNlcyB9ID0gY29tcGlsZWQuY2FsbC5lY2hvUmVzb3VyY2VCeVZhbHVlKHsKICAgIC8vICAgYXJnczogW2Fzc2V0LCBHbG9iYWwuY3VycmVudEFwcGxpY2F0aW9uSWQsIFR4bi5zZW5kZXJdLAogICAgLy8gICBhcHBJZCwKICAgIC8vIH0pCiAgICBpbnRjXzAgLy8gMAogICAgaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25JRAogICAgcHVzaGJ5dGVzIDB4NGQzNzAyNzYgLy8gbWV0aG9kICJlY2hvUmVzb3VyY2VCeVZhbHVlKHVpbnQ2NCx1aW50NjQsYWRkcmVzcykodWludDY0LHVpbnQ2NCxhZGRyZXNzKSIKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCiAgICBpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwogICAgaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCiAgICBpbnRjXzMgLy8gYXBwbAogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18wIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICBiIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjpDMkMudGVzdENhbGxUb0VjaG9SZXNvdXJjZV9uZXh0X3R4bkA0Cgp0ZXN0cy9hcHByb3ZhbHMvcmVzb3VyY2UtZW5jb2RpbmcuYWxnby50czo6QzJDLnRlc3RDYWxsVG9FY2hvUmVzb3VyY2VfbmV4dF90eG5ANDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjk5LTEwMgogICAgLy8gY29uc3QgeyByZXR1cm5WYWx1ZTogcmVzb3VyY2VzIH0gPSBjb21waWxlZC5jYWxsLmVjaG9SZXNvdXJjZUJ5VmFsdWUoewogICAgLy8gICBhcmdzOiBbYXNzZXQsIEdsb2JhbC5jdXJyZW50QXBwbGljYXRpb25JZCwgVHhuLnNlbmRlcl0sCiAgICAvLyAgIGFwcElkLAogICAgLy8gfSkKICAgIGl0eG5fc3VibWl0CiAgICBpdHhuIExhc3RMb2cKICAgIGR1cAogICAgZXh0cmFjdCA0IDAKICAgIGNvdmVyIDEKICAgIGV4dHJhY3QgMCA0CiAgICBieXRlY18xIC8vIDB4MTUxZjdjNzUKICAgID09CiAgICBhc3NlcnQgLy8gQnl0ZXMgaGFzIHZhbGlkIHByZWZpeAogICAgZHVwCiAgICBsZW4KICAgIHB1c2hpbnQgNDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudHVwbGU8YXNzZXQsYXBwbGljYXRpb24sYWNjb3VudD4KICAgIC8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjEwNAogICAgLy8gYXNzZXJ0TWF0Y2gocmVzb3VyY2VzLCBbYXNzZXQsIEdsb2JhbC5jdXJyZW50QXBwbGljYXRpb25JZCwgVHhuLnNlbmRlcl0pCiAgICBwdXNoaW50IDMKICAgIHB1c2hpbnQgMwogICAgPT0KICAgIGNvdmVyIDEKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGludGNfMSAvLyA4CiAgICBleHRyYWN0MwogICAgYnRvaQogICAgZnJhbWVfZGlnIDEKICAgID09CiAgICB1bmNvdmVyIDIKICAgICYmCiAgICBkaWcgMQogICAgaW50Y18xIC8vIDgKICAgIGludGNfMSAvLyA4CiAgICBleHRyYWN0MwogICAgYnRvaQogICAgZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbklECiAgICA9PQogICAgJiYKICAgIHVuY292ZXIgMQogICAgcHVzaGludCAxNgogICAgcHVzaGludCAzMgogICAgZXh0cmFjdDMKICAgIHR4biBTZW5kZXIKICAgID09CiAgICAmJgogICAgYXNzZXJ0IC8vIGFzc2VydCB0YXJnZXQgaXMgbWF0Y2ggZm9yIGNvbmRpdGlvbnMKICAgIHJldHN1YgoKCi8vIHRlc3RzL2FwcHJvdmFscy9yZXNvdXJjZS1lbmNvZGluZy5hbGdvLnRzOjpDMkMuX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlKCkgLT4gdm9pZDoKX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlOgogICAgYiBfX2FsZ290c19fLmRlZmF1bHRDcmVhdGVfYmxvY2tAMAoKX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlX2Jsb2NrQDA6CiAgICByZXRzdWIK", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBiIG1haW5fYmxvY2tAMAoKbWFpbl9ibG9ja0AwOgogICAgcHVzaGludCAxCiAgICByZXR1cm4K" }, "byteCode": { "approval": "CyAEAAgBBiYDAAQVH3x1AQFCAABCAAAxGyITQQBQQgAAMRkiEkQxGCITQQA+QgAANhoAgAQTTHaogAQP79b3gATnvA9STwOOAwAWABAACkIAAEIAAEIAAACIAFVC//OIADVC/+2IABVC/+dC/+cxGSISMRgiEhBEiAM2JENCAAA2GgFJFYEgEkQ2GgJJFSMSRBeIACQkQ0IAADYaAUkVgSASRDYaAkkVIxJEF4gASiRDQgAAiAB/JEOKAgBCAACxi/6L/7IYshyABDQ1n7ayGiqyGiWyECKyAUIAALO0PklXBABOAVcABCkSREkVIxJEF4v+cwBEEkSJigIAQgAAsYv+i/+yGIAE1zCKE7IasholshAisgFCAACztD5JVwQATgFXAAQpEkRJFSMSRBeL/nMARBJEiYoAACgoQgAAsSKyOCKyNiKyNyKyNSKyNIAHC0IAAIEBQ7JCKLJCKLJCKLJCgLQCCyAEAQAIAiYCBBUffHUAQgAAQgAAMRsjE0EAQkIAADEZIxJEMRgjE0EAMEIAADYaAIAEd+KNdIAETTcCdk8CjgIAEAAKQgAAQgAAQgAAAIgAT0L/84gAFUL/7UL/7TEZIxIxGCMSEESIAMUiQ0IAADYaAUkVIhJEF8AwNhoCSRUiEkQXwDI2GgNJFSISRBfAHE8CTwJPAogANShPAVCwIkNCAAA2GgFJFSQSRBc2GgJJFSQSRBc2GgNJFYEgEkRPAk8CTwKIADsoTwFQsCJDigMBQgAAIsAaF8Awi/0SRCXAGhfAMov+EkSBA8AaF8Aci/8SRIv9FilPAVCL/hZQi/9QiYoDAUIAACLAGheL/RJEJcAaF4v+EkSBA8Aai/8SRIv9FilPAVCL/hZQi/9QiUIAAImyQCiyQCiyQCiyQCKyGSWyECKyAUIAALO0PYwAsYAEVEVTVLImgAFUsiUksiKBA7IQIrIBQgAAs7Q8SYwBsTEATgEyCE4BiwAishmyGLIwsjKyHIAEd+KNdLIagAEAshoqshoqsholshAisgFCAACztD5JVwQATgFXAAQpEkRJFYEwEkSBA4EDEk4BSSIjWBeLAUlOBBJPAhBLASMjWBcyCBIQTwGBEIEgWDEAEhBEsRYyCBYxAE8BTgJOAosAIrIZshiABE03AnayGrIashqyGiWyECKyAUIAALO0PklXBABOAVcABCkSREkVgTASRIEDgQMSTgFJIiNYF4sBEk8CEEsBIyNYFzIIEhBPAYEQgSBYMQASEESJQgAAiQ==", "clear": "C0IAAIEBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 10, "patch": 0 } }, "events": [], "templateVariables": {} }