{ "name": "TestTuple", "structs": { "Object3DB88FFD": [ { "name": "a", "type": "string" }, { "name": "b", "type": "uint64" }, { "name": "c", "type": "bool" } ], "Data": [ { "name": "a", "type": "string" }, { "name": "b", "type": "uint64" }, { "name": "c", "type": "bool" }, { "name": "d", "type": "string" } ] }, "methods": [ { "name": "testTuple", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} } ], "arcs": [ 22, 28 ], "networks": {}, "state": { "schema": { "global": { "ints": 0, "bytes": 5 }, "local": { "ints": 0, "bytes": 0 } }, "keys": { "global": { "t1": { "keyType": "AVMString", "valueType": "(string,uint64,bool)", "key": "dDE=" }, "t2": { "keyType": "AVMString", "valueType": "(string,(string,uint512,bool))", "key": "dDI=" }, "t3": { "keyType": "AVMString", "valueType": "Object3DB88FFD", "key": "dDM=" }, "t4": { "keyType": "AVMString", "valueType": "(string,(string,uint512,bool))", "key": "dDQ=" }, "t5": { "keyType": "AVMString", "valueType": "Data", "key": "dDU=" } }, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 796, 809, 820, 847 ], "errorMessage": "Mutable object value should be set" }, { "pc": [ 473, 486, 497 ], "errorMessage": "Object value should be set" }, { "pc": [ 185, 198, 209, 322, 361, 387, 413, 610, 649, 675, 701 ], "errorMessage": "Tuple value should be set" }, { "pc": [ 165, 190, 203, 300, 327, 366, 392, 453, 478, 491, 588, 615, 654, 680, 774, 801, 814, 825 ], "errorMessage": "check GlobalState exists" }, { "pc": [ 233, 521 ], "errorMessage": "overflow" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMCAyIDEgMTIzCiAgICBieXRlY2Jsb2NrICJoZWxsbyIgMHggImIiIDB4MDFjOCAiYSIgMHgwMCAidDIiICJ0NCIgInQ1IiAidDEiICJ0MyIgIldvcmxkIgogICAgYiBtYWluX2Jsb2NrQDAKCm1haW5fYmxvY2tAMDoKICAgIGIgbWFpbl9ibG9ja0AxCgptYWluX2Jsb2NrQDE6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NTkKICAgIC8vIGV4cG9ydCBjbGFzcyBUZXN0VHVwbGUgZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG4gTnVtQXBwQXJncwogICAgaW50Y18wIC8vIDAKICAgICE9CiAgICBieiBtYWluX19fYWxnb3RzX18uZGVmYXVsdENyZWF0ZUA1CiAgICBiIG1haW5fYWJpX3JvdXRpbmdAMgoKbWFpbl9hYmlfcm91dGluZ0AyOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjU5CiAgICAvLyBleHBvcnQgY2xhc3MgVGVzdFR1cGxlIGV4dGVuZHMgQ29udHJhY3QgewogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgcHVzaGJ5dGVzIDB4MTI1NDc3ZjUgLy8gbWV0aG9kICJ0ZXN0VHVwbGUoKXZvaWQiCiAgICB1bmNvdmVyIDEKICAgIG1hdGNoIG1haW5fdGVzdFR1cGxlX3JvdXRlQDMKICAgIGIgbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDQKCm1haW5fc3dpdGNoX2Nhc2VfbmV4dEA0OgogICAgYiBtYWluX2FmdGVyX2lmX2Vsc2VANgoKbWFpbl9hZnRlcl9pZl9lbHNlQDY6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NTkKICAgIC8vIGV4cG9ydCBjbGFzcyBUZXN0VHVwbGUgZXh0ZW5kcyBDb250cmFjdCB7CiAgICBlcnIKCm1haW5fdGVzdFR1cGxlX3JvdXRlQDM6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjgKICAgIC8vIHRlc3RUdXBsZSgpIHsKICAgIHR4biBPbkNvbXBsZXRpb24KICAgIGludGNfMCAvLyBOb09wCiAgICA9PQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGludGNfMCAvLyAwCiAgICAhPQogICAgJiYKICAgIGFzc2VydAogICAgY2FsbHN1YiB0ZXN0VHVwbGUKICAgIGIgbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDQKCm1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDU6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NTkKICAgIC8vIGV4cG9ydCBjbGFzcyBUZXN0VHVwbGUgZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBpbnRjXzAgLy8gTm9PcAogICAgPT0KICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBpbnRjXzAgLy8gMAogICAgPT0KICAgICYmCiAgICBhc3NlcnQKICAgIGNhbGxzdWIgX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlCiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjpUZXN0VHVwbGUudGVzdFR1cGxlW3JvdXRpbmddKCkgLT4gdm9pZDoKdGVzdFR1cGxlOgogICAgYiB0ZXN0VHVwbGVfYmxvY2tAMAoKdGVzdFR1cGxlX2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjgKICAgIC8vIHRlc3RUdXBsZSgpIHsKICAgIGNhbGxzdWIgdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjpUZXN0VHVwbGUudGVzdFR1cGxlCiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjpUZXN0VHVwbGUudGVzdFR1cGxlKCkgLT4gdm9pZDoKdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjpUZXN0VHVwbGUudGVzdFR1cGxlOgogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6OlRlc3RUdXBsZS50ZXN0VHVwbGVfYmxvY2tAMAoKdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjpUZXN0VHVwbGUudGVzdFR1cGxlX2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjkKICAgIC8vIHRoaXMudDEudmFsdWUgPSBbJ2hlbGxvJywgMTIzLCB0cnVlXQogICAgYnl0ZWNfMCAvLyAiaGVsbG8iCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBieXRlY18wIC8vICJoZWxsbyIKICAgIGNvbmNhdAogICAgcHVzaGludCAxMQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjXzEgLy8gMHgKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBpbnRjXzMgLy8gMTIzCiAgICBpdG9iCiAgICBjb25jYXQKICAgIGJ5dGVjIDUgLy8gMHgwMAogICAgaW50Y18wIC8vIDAKICAgIGludGNfMiAvLyAxCiAgICBzZXRiaXQKICAgIGNvbmNhdAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo2MAogICAgLy8gdDEgPSBHbG9iYWxTdGF0ZTxbc3RyaW5nLCB1aW50NjQsIGJvb2xlYW5dPigpCiAgICBieXRlYyA5IC8vICJ0MSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo2OQogICAgLy8gdGhpcy50MS52YWx1ZSA9IFsnaGVsbG8nLCAxMjMsIHRydWVdCiAgICB1bmNvdmVyIDEKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NzAKICAgIC8vIGFzc2VydCh0aGlzLnQxLnZhbHVlWzBdID09PSAnaGVsbG8nLCAnVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBpbnRjXzAgLy8gMAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjYwCiAgICAvLyB0MSA9IEdsb2JhbFN0YXRlPFtzdHJpbmcsIHVpbnQ2NCwgYm9vbGVhbl0+KCkKICAgIGJ5dGVjIDkgLy8gInQxIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjcwCiAgICAvLyBhc3NlcnQodGhpcy50MS52YWx1ZVswXSA9PT0gJ2hlbGxvJywgJ1R1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQnKQogICAgYXBwX2dsb2JhbF9nZXRfZXgKICAgIGFzc2VydCAvLyBjaGVjayBHbG9iYWxTdGF0ZSBleGlzdHMKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgY292ZXIgMQogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGV4dHJhY3QgMiAwCiAgICBieXRlY18wIC8vICJoZWxsbyIKICAgID09CiAgICBhc3NlcnQgLy8gVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjcxCiAgICAvLyBhc3NlcnQodGhpcy50MS52YWx1ZVsxXSA9PT0gMTIzLCAnVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBpbnRjXzAgLy8gMAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjYwCiAgICAvLyB0MSA9IEdsb2JhbFN0YXRlPFtzdHJpbmcsIHVpbnQ2NCwgYm9vbGVhbl0+KCkKICAgIGJ5dGVjIDkgLy8gInQxIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjcxCiAgICAvLyBhc3NlcnQodGhpcy50MS52YWx1ZVsxXSA9PT0gMTIzLCAnVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIEdsb2JhbFN0YXRlIGV4aXN0cwogICAgaW50Y18xIC8vIDIKICAgIHB1c2hpbnQgOAogICAgZXh0cmFjdDMKICAgIGJ0b2kKICAgIGludGNfMyAvLyAxMjMKICAgID09CiAgICBhc3NlcnQgLy8gVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjcyCiAgICAvLyBhc3NlcnQodGhpcy50MS52YWx1ZVsyXSA9PT0gdHJ1ZSwgJ1R1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQnKQogICAgaW50Y18wIC8vIDAKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo2MAogICAgLy8gdDEgPSBHbG9iYWxTdGF0ZTxbc3RyaW5nLCB1aW50NjQsIGJvb2xlYW5dPigpCiAgICBieXRlYyA5IC8vICJ0MSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo3MgogICAgLy8gYXNzZXJ0KHRoaXMudDEudmFsdWVbMl0gPT09IHRydWUsICdUdXBsZSB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgR2xvYmFsU3RhdGUgZXhpc3RzCiAgICBwdXNoaW50IDgwCiAgICBnZXRiaXQKICAgIGludGNfMiAvLyAxCiAgICA9PQogICAgYXNzZXJ0IC8vIFR1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo3NAogICAgLy8gdGhpcy50Mi52YWx1ZSA9IFsnYScsIFsnYicsIDQ1Nm4sIHRydWVdXQogICAgYnl0ZWNfMiAvLyAiYiIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjXzIgLy8gImIiCiAgICBjb25jYXQKICAgIHB1c2hpbnQgNjcKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBieXRlY18xIC8vIDB4CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgYnl0ZWNfMyAvLyAweDAxYzgKICAgIGxlbgogICAgcHVzaGludCA2NAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgcHVzaGludCA2NAogICAgYnplcm8KICAgIGJ5dGVjXzMgLy8gMHgwMWM4CiAgICBifAogICAgY29uY2F0CiAgICBieXRlYyA1IC8vIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICBpbnRjXzIgLy8gMQogICAgc2V0Yml0CiAgICBjb25jYXQKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBieXRlYyA0IC8vICJhIgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWMgNCAvLyAiYSIKICAgIGNvbmNhdAogICAgcHVzaGludCA0CiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWNfMSAvLyAweAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIGNvdmVyIDEKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDQKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo2MQogICAgLy8gdDIgPSBHbG9iYWxTdGF0ZTxbc3RyaW5nLCBbc3RyaW5nLCBiaWd1aW50LCBib29sZWFuXV0+KCkKICAgIGJ5dGVjIDYgLy8gInQyIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjc0CiAgICAvLyB0aGlzLnQyLnZhbHVlID0gWydhJywgWydiJywgNDU2biwgdHJ1ZV1dCiAgICB1bmNvdmVyIDEKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NzUKICAgIC8vIGFzc2VydCh0aGlzLnQyLnZhbHVlWzBdID09PSAnYScsICdUdXBsZSB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGludGNfMCAvLyAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjEKICAgIC8vIHQyID0gR2xvYmFsU3RhdGU8W3N0cmluZywgW3N0cmluZywgYmlndWludCwgYm9vbGVhbl1dPigpCiAgICBieXRlYyA2IC8vICJ0MiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo3NQogICAgLy8gYXNzZXJ0KHRoaXMudDIudmFsdWVbMF0gPT09ICdhJywgJ1R1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQnKQogICAgYXBwX2dsb2JhbF9nZXRfZXgKICAgIGFzc2VydCAvLyBjaGVjayBHbG9iYWxTdGF0ZSBleGlzdHMKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGludGNfMSAvLyAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgdW5jb3ZlciAxCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgZXh0cmFjdCAyIDAKICAgIGJ5dGVjIDQgLy8gImEiCiAgICA9PQogICAgYXNzZXJ0IC8vIFR1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo3NgogICAgLy8gYXNzZXJ0KHRoaXMudDIudmFsdWVbMV1bMF0gPT09ICdiJywgJ1R1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQnKQogICAgaW50Y18wIC8vIDAKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo2MQogICAgLy8gdDIgPSBHbG9iYWxTdGF0ZTxbc3RyaW5nLCBbc3RyaW5nLCBiaWd1aW50LCBib29sZWFuXV0+KCkKICAgIGJ5dGVjIDYgLy8gInQyIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjc2CiAgICAvLyBhc3NlcnQodGhpcy50Mi52YWx1ZVsxXVswXSA9PT0gJ2InLCAnVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIEdsb2JhbFN0YXRlIGV4aXN0cwogICAgZHVwCiAgICBpbnRjXzEgLy8gMgogICAgZXh0cmFjdF91aW50MTYKICAgIGNvdmVyIDEKICAgIGR1cAogICAgbGVuCiAgICBjb3ZlciAxCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGNvdmVyIDEKICAgIGR1cAogICAgbGVuCiAgICBjb3ZlciAxCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgZXh0cmFjdCAyIDAKICAgIGJ5dGVjXzIgLy8gImIiCiAgICA9PQogICAgYXNzZXJ0IC8vIFR1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo3NwogICAgLy8gYXNzZXJ0KHRoaXMudDIudmFsdWVbMV1bMV0gPT09IDQ1Nm4sICdUdXBsZSB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGludGNfMCAvLyAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjEKICAgIC8vIHQyID0gR2xvYmFsU3RhdGU8W3N0cmluZywgW3N0cmluZywgYmlndWludCwgYm9vbGVhbl1dPigpCiAgICBieXRlYyA2IC8vICJ0MiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo3NwogICAgLy8gYXNzZXJ0KHRoaXMudDIudmFsdWVbMV1bMV0gPT09IDQ1Nm4sICdUdXBsZSB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgR2xvYmFsU3RhdGUgZXhpc3RzCiAgICBkdXAKICAgIGludGNfMSAvLyAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgY292ZXIgMQogICAgZHVwCiAgICBsZW4KICAgIGNvdmVyIDEKICAgIHVuY292ZXIgMgogICAgdW5jb3ZlciAyCiAgICBzdWJzdHJpbmczCiAgICBpbnRjXzEgLy8gMgogICAgcHVzaGludCA2NAogICAgZXh0cmFjdDMKICAgIGJ5dGVjXzMgLy8gMHgwMWM4CiAgICBiPT0KICAgIGFzc2VydCAvLyBUdXBsZSB2YWx1ZSBzaG91bGQgYmUgc2V0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NzgKICAgIC8vIGFzc2VydCh0aGlzLnQyLnZhbHVlWzFdWzJdID09PSB0cnVlLCAnVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBpbnRjXzAgLy8gMAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjYxCiAgICAvLyB0MiA9IEdsb2JhbFN0YXRlPFtzdHJpbmcsIFtzdHJpbmcsIGJpZ3VpbnQsIGJvb2xlYW5dXT4oKQogICAgYnl0ZWMgNiAvLyAidDIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NzgKICAgIC8vIGFzc2VydCh0aGlzLnQyLnZhbHVlWzFdWzJdID09PSB0cnVlLCAnVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIEdsb2JhbFN0YXRlIGV4aXN0cwogICAgZHVwCiAgICBpbnRjXzEgLy8gMgogICAgZXh0cmFjdF91aW50MTYKICAgIGNvdmVyIDEKICAgIGR1cAogICAgbGVuCiAgICBjb3ZlciAxCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgcHVzaGludCA1MjgKICAgIGdldGJpdAogICAgaW50Y18yIC8vIDEKICAgID09CiAgICBhc3NlcnQgLy8gVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjgwCiAgICAvLyB0aGlzLnQzLnZhbHVlID0geyBhOiAnaGVsbG8nLCBiOiAxMjMsIGM6IHRydWUgfQogICAgYnl0ZWNfMCAvLyAiaGVsbG8iCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBieXRlY18wIC8vICJoZWxsbyIKICAgIGNvbmNhdAogICAgcHVzaGludCAxMQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjXzEgLy8gMHgKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBpbnRjXzMgLy8gMTIzCiAgICBpdG9iCiAgICBjb25jYXQKICAgIGJ5dGVjIDUgLy8gMHgwMAogICAgaW50Y18wIC8vIDAKICAgIGludGNfMiAvLyAxCiAgICBzZXRiaXQKICAgIGNvbmNhdAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo2MwogICAgLy8gdDMgPSBHbG9iYWxTdGF0ZTx7IGE6IHN0cmluZzsgYjogdWludDY0OyBjOiBib29sZWFuIH0+KCkKICAgIGJ5dGVjIDEwIC8vICJ0MyIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo4MAogICAgLy8gdGhpcy50My52YWx1ZSA9IHsgYTogJ2hlbGxvJywgYjogMTIzLCBjOiB0cnVlIH0KICAgIHVuY292ZXIgMQogICAgYXBwX2dsb2JhbF9wdXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo4MQogICAgLy8gYXNzZXJ0KHRoaXMudDMudmFsdWUuYSA9PT0gJ2hlbGxvJywgJ09iamVjdCB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGludGNfMCAvLyAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjMKICAgIC8vIHQzID0gR2xvYmFsU3RhdGU8eyBhOiBzdHJpbmc7IGI6IHVpbnQ2NDsgYzogYm9vbGVhbiB9PigpCiAgICBieXRlYyAxMCAvLyAidDMiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6ODEKICAgIC8vIGFzc2VydCh0aGlzLnQzLnZhbHVlLmEgPT09ICdoZWxsbycsICdPYmplY3QgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIEdsb2JhbFN0YXRlIGV4aXN0cwogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGNvdmVyIDEKICAgIGR1cAogICAgbGVuCiAgICBjb3ZlciAxCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgZXh0cmFjdCAyIDAKICAgIGJ5dGVjXzAgLy8gImhlbGxvIgogICAgPT0KICAgIGFzc2VydCAvLyBPYmplY3QgdmFsdWUgc2hvdWxkIGJlIHNldAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjgyCiAgICAvLyBhc3NlcnQodGhpcy50My52YWx1ZS5iID09PSAxMjMsICdPYmplY3QgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBpbnRjXzAgLy8gMAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjYzCiAgICAvLyB0MyA9IEdsb2JhbFN0YXRlPHsgYTogc3RyaW5nOyBiOiB1aW50NjQ7IGM6IGJvb2xlYW4gfT4oKQogICAgYnl0ZWMgMTAgLy8gInQzIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjgyCiAgICAvLyBhc3NlcnQodGhpcy50My52YWx1ZS5iID09PSAxMjMsICdPYmplY3QgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIEdsb2JhbFN0YXRlIGV4aXN0cwogICAgaW50Y18xIC8vIDIKICAgIHB1c2hpbnQgOAogICAgZXh0cmFjdDMKICAgIGJ0b2kKICAgIGludGNfMyAvLyAxMjMKICAgID09CiAgICBhc3NlcnQgLy8gT2JqZWN0IHZhbHVlIHNob3VsZCBiZSBzZXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo4MwogICAgLy8gYXNzZXJ0KHRoaXMudDMudmFsdWUuYyA9PT0gdHJ1ZSwgJ09iamVjdCB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGludGNfMCAvLyAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjMKICAgIC8vIHQzID0gR2xvYmFsU3RhdGU8eyBhOiBzdHJpbmc7IGI6IHVpbnQ2NDsgYzogYm9vbGVhbiB9PigpCiAgICBieXRlYyAxMCAvLyAidDMiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6ODMKICAgIC8vIGFzc2VydCh0aGlzLnQzLnZhbHVlLmMgPT09IHRydWUsICdPYmplY3QgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIEdsb2JhbFN0YXRlIGV4aXN0cwogICAgcHVzaGludCA4MAogICAgZ2V0Yml0CiAgICBpbnRjXzIgLy8gMQogICAgPT0KICAgIGFzc2VydCAvLyBPYmplY3QgdmFsdWUgc2hvdWxkIGJlIHNldAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjg1CiAgICAvLyB0aGlzLnQ0LnZhbHVlID0gWydhJywgeyBhOiAnYicsIGI6IDQ1Nm4sIGM6IHRydWUgfV0KICAgIGJ5dGVjXzIgLy8gImIiCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBieXRlY18yIC8vICJiIgogICAgY29uY2F0CiAgICBwdXNoaW50IDY3CiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWNfMSAvLyAweAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIGJ5dGVjXzMgLy8gMHgwMWM4CiAgICBsZW4KICAgIHB1c2hpbnQgNjQKICAgIDw9CiAgICBhc3NlcnQgLy8gb3ZlcmZsb3cKICAgIHB1c2hpbnQgNjQKICAgIGJ6ZXJvCiAgICBieXRlY18zIC8vIDB4MDFjOAogICAgYnwKICAgIGNvbmNhdAogICAgYnl0ZWMgNSAvLyAweDAwCiAgICBpbnRjXzAgLy8gMAogICAgaW50Y18yIC8vIDEKICAgIHNldGJpdAogICAgY29uY2F0CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgYnl0ZWMgNCAvLyAiYSIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjIDQgLy8gImEiCiAgICBjb25jYXQKICAgIHB1c2hpbnQgNAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjXzEgLy8gMHgKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgcHVzaGludCA0CiAgICArCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjQKICAgIC8vIHQ0ID0gR2xvYmFsU3RhdGU8W3N0cmluZywgeyBhOiBzdHJpbmc7IGI6IGJpZ3VpbnQ7IGM6IGJvb2xlYW4gfV0+KCkKICAgIGJ5dGVjIDcgLy8gInQ0IgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjg1CiAgICAvLyB0aGlzLnQ0LnZhbHVlID0gWydhJywgeyBhOiAnYicsIGI6IDQ1Nm4sIGM6IHRydWUgfV0KICAgIHVuY292ZXIgMQogICAgYXBwX2dsb2JhbF9wdXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo4NgogICAgLy8gYXNzZXJ0KHRoaXMudDQudmFsdWVbMF0gPT09ICdhJywgJ1R1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQnKQogICAgaW50Y18wIC8vIDAKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo2NAogICAgLy8gdDQgPSBHbG9iYWxTdGF0ZTxbc3RyaW5nLCB7IGE6IHN0cmluZzsgYjogYmlndWludDsgYzogYm9vbGVhbiB9XT4oKQogICAgYnl0ZWMgNyAvLyAidDQiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6ODYKICAgIC8vIGFzc2VydCh0aGlzLnQ0LnZhbHVlWzBdID09PSAnYScsICdUdXBsZSB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgR2xvYmFsU3RhdGUgZXhpc3RzCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgY292ZXIgMQogICAgZHVwCiAgICBpbnRjXzEgLy8gMgogICAgZXh0cmFjdF91aW50MTYKICAgIHVuY292ZXIgMQogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGV4dHJhY3QgMiAwCiAgICBieXRlYyA0IC8vICJhIgogICAgPT0KICAgIGFzc2VydCAvLyBUdXBsZSB2YWx1ZSBzaG91bGQgYmUgc2V0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6ODcKICAgIC8vIGFzc2VydCh0aGlzLnQ0LnZhbHVlWzFdLmEgPT09ICdiJywgJ1R1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQnKQogICAgaW50Y18wIC8vIDAKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo2NAogICAgLy8gdDQgPSBHbG9iYWxTdGF0ZTxbc3RyaW5nLCB7IGE6IHN0cmluZzsgYjogYmlndWludDsgYzogYm9vbGVhbiB9XT4oKQogICAgYnl0ZWMgNyAvLyAidDQiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6ODcKICAgIC8vIGFzc2VydCh0aGlzLnQ0LnZhbHVlWzFdLmEgPT09ICdiJywgJ1R1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQnKQogICAgYXBwX2dsb2JhbF9nZXRfZXgKICAgIGFzc2VydCAvLyBjaGVjayBHbG9iYWxTdGF0ZSBleGlzdHMKICAgIGR1cAogICAgaW50Y18xIC8vIDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgY292ZXIgMQogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgY292ZXIgMQogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGV4dHJhY3QgMiAwCiAgICBieXRlY18yIC8vICJiIgogICAgPT0KICAgIGFzc2VydCAvLyBUdXBsZSB2YWx1ZSBzaG91bGQgYmUgc2V0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6ODgKICAgIC8vIGFzc2VydCh0aGlzLnQ0LnZhbHVlWzFdLmIgPT09IDQ1Nm4sICdUdXBsZSB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGludGNfMCAvLyAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjQKICAgIC8vIHQ0ID0gR2xvYmFsU3RhdGU8W3N0cmluZywgeyBhOiBzdHJpbmc7IGI6IGJpZ3VpbnQ7IGM6IGJvb2xlYW4gfV0+KCkKICAgIGJ5dGVjIDcgLy8gInQ0IgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjg4CiAgICAvLyBhc3NlcnQodGhpcy50NC52YWx1ZVsxXS5iID09PSA0NTZuLCAnVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIEdsb2JhbFN0YXRlIGV4aXN0cwogICAgZHVwCiAgICBpbnRjXzEgLy8gMgogICAgZXh0cmFjdF91aW50MTYKICAgIGNvdmVyIDEKICAgIGR1cAogICAgbGVuCiAgICBjb3ZlciAxCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgaW50Y18xIC8vIDIKICAgIHB1c2hpbnQgNjQKICAgIGV4dHJhY3QzCiAgICBieXRlY18zIC8vIDB4MDFjOAogICAgYj09CiAgICBhc3NlcnQgLy8gVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjg5CiAgICAvLyBhc3NlcnQodGhpcy50NC52YWx1ZVsxXS5jID09PSB0cnVlLCAnVHVwbGUgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBpbnRjXzAgLy8gMAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjY0CiAgICAvLyB0NCA9IEdsb2JhbFN0YXRlPFtzdHJpbmcsIHsgYTogc3RyaW5nOyBiOiBiaWd1aW50OyBjOiBib29sZWFuIH1dPigpCiAgICBieXRlYyA3IC8vICJ0NCIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo4OQogICAgLy8gYXNzZXJ0KHRoaXMudDQudmFsdWVbMV0uYyA9PT0gdHJ1ZSwgJ1R1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQnKQogICAgYXBwX2dsb2JhbF9nZXRfZXgKICAgIGFzc2VydCAvLyBjaGVjayBHbG9iYWxTdGF0ZSBleGlzdHMKICAgIGR1cAogICAgaW50Y18xIC8vIDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgY292ZXIgMQogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIHB1c2hpbnQgNTI4CiAgICBnZXRiaXQKICAgIGludGNfMiAvLyAxCiAgICA9PQogICAgYXNzZXJ0IC8vIFR1cGxlIHZhbHVlIHNob3VsZCBiZSBzZXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo5MQogICAgLy8gdGhpcy50NS52YWx1ZSA9IHsgYTogJ2hlbGxvJywgYjogMTIzLCBjOiB0cnVlLCBkOiBuZXcgYXJjNC5TdHIoJ1dvcmxkJykgfQogICAgYnl0ZWMgMTEgLy8gIldvcmxkIgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWMgMTEgLy8gIldvcmxkIgogICAgY29uY2F0CiAgICBieXRlY18wIC8vICJoZWxsbyIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjXzAgLy8gImhlbGxvIgogICAgY29uY2F0CiAgICBwdXNoaW50IDEzCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWNfMSAvLyAweAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIGNvdmVyIDEKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDEzCiAgICArCiAgICBjb3ZlciAxCiAgICBpbnRjXzMgLy8gMTIzCiAgICBpdG9iCiAgICB1bmNvdmVyIDMKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBieXRlYyA1IC8vIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICBpbnRjXzIgLy8gMQogICAgc2V0Yml0CiAgICBjb25jYXQKICAgIHVuY292ZXIgMgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvbmNhdAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjYKICAgIC8vIHQ1ID0gR2xvYmFsU3RhdGU8RGF0YT4oKQogICAgYnl0ZWMgOCAvLyAidDUiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6OTEKICAgIC8vIHRoaXMudDUudmFsdWUgPSB7IGE6ICdoZWxsbycsIGI6IDEyMywgYzogdHJ1ZSwgZDogbmV3IGFyYzQuU3RyKCdXb3JsZCcpIH0KICAgIHVuY292ZXIgMQogICAgYXBwX2dsb2JhbF9wdXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo5MgogICAgLy8gYXNzZXJ0KHRoaXMudDUudmFsdWUuYSA9PT0gJ2hlbGxvJywgJ011dGFibGUgb2JqZWN0IHZhbHVlIHNob3VsZCBiZSBzZXQnKQogICAgaW50Y18wIC8vIDAKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo2NgogICAgLy8gdDUgPSBHbG9iYWxTdGF0ZTxEYXRhPigpCiAgICBieXRlYyA4IC8vICJ0NSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo5MgogICAgLy8gYXNzZXJ0KHRoaXMudDUudmFsdWUuYSA9PT0gJ2hlbGxvJywgJ011dGFibGUgb2JqZWN0IHZhbHVlIHNob3VsZCBiZSBzZXQnKQogICAgYXBwX2dsb2JhbF9nZXRfZXgKICAgIGFzc2VydCAvLyBjaGVjayBHbG9iYWxTdGF0ZSBleGlzdHMKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIHB1c2hpbnQgMTEKICAgIGV4dHJhY3RfdWludDE2CiAgICB1bmNvdmVyIDEKICAgIHVuY292ZXIgMgogICAgdW5jb3ZlciAyCiAgICBzdWJzdHJpbmczCiAgICBleHRyYWN0IDIgMAogICAgYnl0ZWNfMCAvLyAiaGVsbG8iCiAgICA9PQogICAgYXNzZXJ0IC8vIE11dGFibGUgb2JqZWN0IHZhbHVlIHNob3VsZCBiZSBzZXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo5MwogICAgLy8gYXNzZXJ0KHRoaXMudDUudmFsdWUuYiA9PT0gMTIzLCAnTXV0YWJsZSBvYmplY3QgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBpbnRjXzAgLy8gMAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjY2CiAgICAvLyB0NSA9IEdsb2JhbFN0YXRlPERhdGE+KCkKICAgIGJ5dGVjIDggLy8gInQ1IgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2dsb2JhbC1zdGF0ZS5hbGdvLnRzOjkzCiAgICAvLyBhc3NlcnQodGhpcy50NS52YWx1ZS5iID09PSAxMjMsICdNdXRhYmxlIG9iamVjdCB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgR2xvYmFsU3RhdGUgZXhpc3RzCiAgICBpbnRjXzEgLy8gMgogICAgcHVzaGludCA4CiAgICBleHRyYWN0MwogICAgYnRvaQogICAgaW50Y18zIC8vIDEyMwogICAgPT0KICAgIGFzc2VydCAvLyBNdXRhYmxlIG9iamVjdCB2YWx1ZSBzaG91bGQgYmUgc2V0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6OTQKICAgIC8vIGFzc2VydCh0aGlzLnQ1LnZhbHVlLmMgPT09IHRydWUsICdNdXRhYmxlIG9iamVjdCB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGludGNfMCAvLyAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjYKICAgIC8vIHQ1ID0gR2xvYmFsU3RhdGU8RGF0YT4oKQogICAgYnl0ZWMgOCAvLyAidDUiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6OTQKICAgIC8vIGFzc2VydCh0aGlzLnQ1LnZhbHVlLmMgPT09IHRydWUsICdNdXRhYmxlIG9iamVjdCB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgR2xvYmFsU3RhdGUgZXhpc3RzCiAgICBwdXNoaW50IDgwCiAgICBnZXRiaXQKICAgIGludGNfMiAvLyAxCiAgICA9PQogICAgYXNzZXJ0IC8vIE11dGFibGUgb2JqZWN0IHZhbHVlIHNob3VsZCBiZSBzZXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9nbG9iYWwtc3RhdGUuYWxnby50czo5NQogICAgLy8gYXNzZXJ0KHRoaXMudDUudmFsdWUuZC5uYXRpdmUgPT09ICdXb3JsZCcsICdNdXRhYmxlIG9iamVjdCB2YWx1ZSBzaG91bGQgYmUgc2V0JykKICAgIGludGNfMCAvLyAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6NjYKICAgIC8vIHQ1ID0gR2xvYmFsU3RhdGU8RGF0YT4oKQogICAgYnl0ZWMgOCAvLyAidDUiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6OTUKICAgIC8vIGFzc2VydCh0aGlzLnQ1LnZhbHVlLmQubmF0aXZlID09PSAnV29ybGQnLCAnTXV0YWJsZSBvYmplY3QgdmFsdWUgc2hvdWxkIGJlIHNldCcpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIEdsb2JhbFN0YXRlIGV4aXN0cwogICAgZHVwCiAgICBwdXNoaW50IDExCiAgICBleHRyYWN0X3VpbnQxNgogICAgY292ZXIgMQogICAgZHVwCiAgICBsZW4KICAgIGNvdmVyIDEKICAgIHVuY292ZXIgMgogICAgdW5jb3ZlciAyCiAgICBzdWJzdHJpbmczCiAgICBleHRyYWN0IDIgMAogICAgYnl0ZWMgMTEgLy8gIldvcmxkIgogICAgPT0KICAgIGFzc2VydCAvLyBNdXRhYmxlIG9iamVjdCB2YWx1ZSBzaG91bGQgYmUgc2V0CiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvZ2xvYmFsLXN0YXRlLmFsZ28udHM6OlRlc3RUdXBsZS5fX2FsZ290c19fLmRlZmF1bHRDcmVhdGUoKSAtPiB2b2lkOgpfX2FsZ290c19fLmRlZmF1bHRDcmVhdGU6CiAgICBiIF9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZV9ibG9ja0AwCgpfX2FsZ290c19fLmRlZmF1bHRDcmVhdGVfYmxvY2tAMDoKICAgIHJldHN1Ygo=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBiIG1haW5fYmxvY2tAMAoKbWFpbl9ibG9ja0AwOgogICAgcHVzaGludCAxCiAgICByZXR1cm4K" }, "byteCode": { "approval": "CyAEAAIBeyYMBWhlbGxvAAFiAgHIAWEBAAJ0MgJ0NAJ0NQJ0MQJ0MwVXb3JsZEIAAEIAADEbIhNBAClCAAA2GgCABBJUd/VPAY4BAAdCAABCAAAAMRkiEjEYIhMQRIgAEkL/7DEZIhIxGCISEESIAuAkQ0IAAIgAAiRDQgAAKBUWVwYCKFCBCxZXBgIpTwFQJRZQJwUiJFRQTwFQJwlPAWciJwllREkiWU4BSRVOAU8CTwJSVwIAKBJEIicJZUQjgQhYFyUSRCInCWVEgVBTJBJEKhUWVwYCKlCBQxZXBgIpTwFQKxWBQA5EgUCvK6tQJwUiJFRQTwFQJwQVFlcGAicEUIEEFlcGAilPAVBOAUkVgQQIFlcGAk8CTwFQTwFQTwFQJwZPAWciJwZlREkiWU4BSSNZTwFPAk8CUlcCACcEEkQiJwZlREkjWU4BSRVOAU8CTwJSSSJZTgFJFU4BTwJPAlJXAgAqEkQiJwZlREkjWU4BSRVOAU8CTwJSI4FAWCuoRCInBmVESSNZTgFJFU4BTwJPAlKBkARTJBJEKBUWVwYCKFCBCxZXBgIpTwFQJRZQJwUiJFRQTwFQJwpPAWciJwplREkiWU4BSRVOAU8CTwJSVwIAKBJEIicKZUQjgQhYFyUSRCInCmVEgVBTJBJEKhUWVwYCKlCBQxZXBgIpTwFQKxWBQA5EgUCvK6tQJwUiJFRQTwFQJwQVFlcGAicEUIEEFlcGAilPAVBOAUkVgQQIFlcGAk8CTwFQTwFQTwFQJwdPAWciJwdlREkiWU4BSSNZTwFPAk8CUlcCACcEEkQiJwdlREkjWU4BSRVOAU8CTwJSSSJZTgFJFU4BTwJPAlJXAgAqEkQiJwdlREkjWU4BSRVOAU8CTwJSI4FAWCuoRCInB2VESSNZTgFJFU4BTwJPAlKBkARTJBJEJwsVFlcGAicLUCgVFlcGAihQgQ0WVwYCKU8BUE4BSRWBDQhOASUWTwNPAVAnBSIkVFBPAhZXBgJQTwFQTwFQJwhPAWciJwhlREkiWU4BSYELWU8BTwJPAlJXAgAoEkQiJwhlRCOBCFgXJRJEIicIZUSBUFMkEkQiJwhlREmBC1lOAUkVTgFPAk8CUlcCACcLEkSJQgAAiQ==", "clear": "C0IAAIEBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 10, "patch": 0 } }, "events": [], "templateVariables": {} }