{ "name": "DynamicOffsetMiddle", "structs": { "Child": [ { "name": "foo", "type": "uint64" }, { "name": "arr", "type": "uint64[]" }, { "name": "bar", "type": "uint64" } ], "DynamicOffsets": [ { "name": "pad1", "type": "byte[4096][]" }, { "name": "nested", "type": "Parent" }, { "name": "pad2", "type": "byte[4096][]" } ], "Parent": [ { "name": "baz", "type": "uint64" }, { "name": "nested", "type": "Child" }, { "name": "buz", "type": "uint64" } ] }, "methods": [ { "name": "bootstrap", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "concat", "args": [ { "type": "uint64[]", "name": "array" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "append", "args": [ { "type": "uint64", "name": "value" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "pop", "args": [], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "verify", "args": [ { "type": "uint64[]", "name": "expected" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "get", "args": [ { "type": "uint64", "name": "idx" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "set", "args": [ { "type": "uint64", "name": "idx" }, { "type": "uint64", "name": "value" } ], "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": { "box": { "keyType": "AVMString", "valueType": "DynamicOffsets", "key": "Ym94" } } }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 373 ], "errorMessage": "cannot pop from empty array" }, { "pc": [ 669 ], "errorMessage": "expected box length >4096" }, { "pc": [ 378, 392, 501, 511, 552, 564, 579, 591, 603, 616 ], "errorMessage": "index out of bounds" }, { "pc": [ 278, 459 ], "errorMessage": "invalid array length header" }, { "pc": [ 289, 468 ], "errorMessage": "invalid number of bytes for arc4.dynamic_array" }, { "pc": [ 329, 482, 525, 534 ], "errorMessage": "invalid number of bytes for arc4.uint64" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuYXBwcm92YWxfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAyIDggMSA0IDQwOTYKICAgIGJ5dGVjYmxvY2sgImJveCIgMHgxNTFmN2M3NQogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjI4CiAgICAvLyBjbGFzcyBEeW5hbWljT2Zmc2V0TWlkZGxlKEFSQzRDb250cmFjdCk6CiAgICB0eG4gTnVtQXBwQXJncwogICAgYnogbWFpbl9fX2FsZ29weV9kZWZhdWx0X2NyZWF0ZUAxNgogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0CiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0CiAgICBwdXNoYnl0ZXNzIDB4YmVjNzZkODcgMHg1OTQ5Y2U1ZCAweDM0MjhmZmVhIDB4YjgyNWExNDIgMHgzMTdhM2UwMyAweGI0MzY5YzM2IDB4Y2VkMWJkYzYgLy8gbWV0aG9kICJib290c3RyYXAoKXZvaWQiLCBtZXRob2QgImNvbmNhdCh1aW50NjRbXSl2b2lkIiwgbWV0aG9kICJhcHBlbmQodWludDY0KXZvaWQiLCBtZXRob2QgInBvcCgpdWludDY0IiwgbWV0aG9kICJ2ZXJpZnkodWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0KHVpbnQ2NCl1aW50NjQiLCBtZXRob2QgInNldCh1aW50NjQsdWludDY0KXZvaWQiCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBtYXRjaCBib290c3RyYXAgY29uY2F0IGFwcGVuZCBwb3AgdmVyaWZ5IGdldCBzZXQKICAgIGVycgoKbWFpbl9fX2FsZ29weV9kZWZhdWx0X2NyZWF0ZUAxNjoKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICAhCiAgICAmJgogICAgcmV0dXJuCgoKLy8gX3B1eWFfbGliLmJveF9hcmM0LmJveF9keW5hbWljX2FycmF5X2NvbmNhdF9maXhlZChib3hfa2V5OiBieXRlcywgYXJyYXlfb2Zmc2V0OiB1aW50NjQsIG5ld19pdGVtc19ieXRlczogYnl0ZXMsIG5ld19pdGVtc19jb3VudDogdWludDY0LCBmaXhlZF9lbGVtZW50X3NpemU6IHVpbnQ2NCkgLT4gdm9pZDoKYm94X2R5bmFtaWNfYXJyYXlfY29uY2F0X2ZpeGVkOgogICAgcHJvdG8gNSAwCiAgICBmcmFtZV9kaWcgLTUKICAgIGZyYW1lX2RpZyAtNAogICAgaW50Y18wIC8vIDIKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBmcmFtZV9kaWcgLTUKICAgIGJveF9sZW4KICAgIHBvcAogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgLTEKICAgICoKICAgICsKICAgIGZyYW1lX2RpZyAtNQogICAgc3dhcAogICAgYm94X3Jlc2l6ZQogICAgZHVwCiAgICBmcmFtZV9kaWcgLTIKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTUKICAgIGZyYW1lX2RpZyAtNAogICAgdW5jb3ZlciAyCiAgICBib3hfcmVwbGFjZQogICAgZnJhbWVfZGlnIC00CiAgICBpbnRjXzAgLy8gMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIC0xCiAgICAqCiAgICArCiAgICBmcmFtZV9kaWcgLTUKICAgIHN3YXAKICAgIHB1c2hpbnQgMAogICAgZnJhbWVfZGlnIC0zCiAgICBib3hfc3BsaWNlCiAgICByZXRzdWIKCgovLyBfcHV5YV9saWIuYm94X2FyYzQuYm94X3VwZGF0ZV9vZmZzZXRfaW5jKGJveF9rZXk6IGJ5dGVzLCBvZmZzZXQ6IHVpbnQ2NCwgdmFsdWU6IHVpbnQ2NCkgLT4gdm9pZDoKYm94X3VwZGF0ZV9vZmZzZXRfaW5jOgogICAgcHJvdG8gMyAwCiAgICBmcmFtZV9kaWcgLTMKICAgIGZyYW1lX2RpZyAtMgogICAgaW50Y18wIC8vIDIKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBmcmFtZV9kaWcgLTEKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTMKICAgIGZyYW1lX2RpZyAtMgogICAgdW5jb3ZlciAyCiAgICBib3hfcmVwbGFjZQogICAgcmV0c3ViCgoKLy8gdGVzdF9jYXNlcy5sYXJnZV9ib3hfb3BlcmF0aW9ucy5keW5hbWljX29mZnNldF9taWRkbGUuRHluYW1pY09mZnNldE1pZGRsZS5ib290c3RyYXBbcm91dGluZ10oKSAtPiB2b2lkOgpib290c3RyYXA6CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6MzQKICAgIC8vIHNlbGYuYm94LnZhbHVlID0gRHluYW1pY09mZnNldHMoCiAgICBieXRlY18wIC8vICJib3giCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6MzQtNDYKICAgIC8vIHNlbGYuYm94LnZhbHVlID0gRHluYW1pY09mZnNldHMoCiAgICAvLyAgICAgbmVzdGVkPVBhcmVudCgKICAgIC8vICAgICAgICAgYmF6PVVJbnQ2NCgxKSwKICAgIC8vICAgICAgICAgbmVzdGVkPUNoaWxkKAogICAgLy8gICAgICAgICAgICAgZm9vPVVJbnQ2NCgyKSwKICAgIC8vICAgICAgICAgICAgIGFycj1BcnJheVU2NCgpLAogICAgLy8gICAgICAgICAgICAgYmFyPVVJbnQ2NCgzKSwKICAgIC8vICAgICAgICAgKSwKICAgIC8vICAgICAgICAgYnV6PVVJbnQ2NCg0KSwKICAgIC8vICAgICApLAogICAgLy8gICAgIHBhZDE9TGFyZ2VCeXRlcygpLAogICAgLy8gICAgIHBhZDI9TGFyZ2VCeXRlcygpLAogICAgLy8gKQogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6MzQKICAgIC8vIHNlbGYuYm94LnZhbHVlID0gRHluYW1pY09mZnNldHMoCiAgICBieXRlY18wIC8vICJib3giCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6MzQtNDYKICAgIC8vIHNlbGYuYm94LnZhbHVlID0gRHluYW1pY09mZnNldHMoCiAgICAvLyAgICAgbmVzdGVkPVBhcmVudCgKICAgIC8vICAgICAgICAgYmF6PVVJbnQ2NCgxKSwKICAgIC8vICAgICAgICAgbmVzdGVkPUNoaWxkKAogICAgLy8gICAgICAgICAgICAgZm9vPVVJbnQ2NCgyKSwKICAgIC8vICAgICAgICAgICAgIGFycj1BcnJheVU2NCgpLAogICAgLy8gICAgICAgICAgICAgYmFyPVVJbnQ2NCgzKSwKICAgIC8vICAgICAgICAgKSwKICAgIC8vICAgICAgICAgYnV6PVVJbnQ2NCg0KSwKICAgIC8vICAgICApLAogICAgLy8gICAgIHBhZDE9TGFyZ2VCeXRlcygpLAogICAgLy8gICAgIHBhZDI9TGFyZ2VCeXRlcygpLAogICAgLy8gKQogICAgcHVzaGJ5dGVzIDB4MDAwNjAwMDgwMDJlMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDEyMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDIwMDEyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwCiAgICBib3hfcHV0CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NDcKICAgIC8vIHNlbGYuYm94LnZhbHVlLnBhZDEuYXBwZW5kKEJ5dGVzNDA5NigpKQogICAgaW50YyA0IC8vIDQwOTYKICAgIGJ6ZXJvCiAgICBieXRlY18wIC8vICJib3giCiAgICBpbnRjXzAgLy8gMgogICAgaW50YyA0IC8vIDQwOTYKICAgIGNhbGxzdWIgYm94X3VwZGF0ZV9vZmZzZXRfaW5jCiAgICBieXRlY18wIC8vICJib3giCiAgICBpbnRjXzMgLy8gNAogICAgaW50YyA0IC8vIDQwOTYKICAgIGNhbGxzdWIgYm94X3VwZGF0ZV9vZmZzZXRfaW5jCiAgICBieXRlY18wIC8vICJib3giCiAgICBwdXNoaW50IDYKICAgIHVuY292ZXIgMgogICAgaW50Y18yIC8vIDEKICAgIGludGMgNCAvLyA0MDk2CiAgICBjYWxsc3ViIGJveF9keW5hbWljX2FycmF5X2NvbmNhdF9maXhlZAogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjM5CiAgICAvLyBhcnI9QXJyYXlVNjQoKSwKICAgIHB1c2hieXRlcyAweDAwMDAKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo0OAogICAgLy8gc2VsZi52ZXJpZnkoQXJyYXlVNjQoKSkKICAgIGNhbGxzdWIgdGVzdF9jYXNlcy5sYXJnZV9ib3hfb3BlcmF0aW9ucy5keW5hbWljX29mZnNldF9taWRkbGUuRHluYW1pY09mZnNldE1pZGRsZS52ZXJpZnkKICAgIHBvcAogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjMyCiAgICAvLyBAcHVibGljCiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdF9jYXNlcy5sYXJnZV9ib3hfb3BlcmF0aW9ucy5keW5hbWljX29mZnNldF9taWRkbGUuRHluYW1pY09mZnNldE1pZGRsZS5jb25jYXRbcm91dGluZ10oKSAtPiB2b2lkOgpjb25jYXQ6CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NTAKICAgIC8vIEBwdWJsaWMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgcHVzaGludCAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBkdXAKICAgIGludGNfMSAvLyA4CiAgICAqCiAgICBkdXAKICAgIGludGNfMCAvLyAyCiAgICArCiAgICBkaWcgMwogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8dWludDY0PgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjUyCiAgICAvLyBzZWxmLmJveC52YWx1ZS5uZXN0ZWQubmVzdGVkLmFyci5leHRlbmQoYXJyYXkpCiAgICB1bmNvdmVyIDIKICAgIGV4dHJhY3QgMiAwCiAgICBieXRlY18wIC8vICJib3giCiAgICBpbnRjXzAgLy8gMgogICAgZHVwCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgcHVzaGludCAzNgogICAgKwogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgaW50Y18zIC8vIDQKICAgIHVuY292ZXIgNAogICAgY2FsbHN1YiBib3hfdXBkYXRlX29mZnNldF9pbmMKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIHN3YXAKICAgIHVuY292ZXIgMgogICAgdW5jb3ZlciAzCiAgICBpbnRjXzEgLy8gOAogICAgY2FsbHN1YiBib3hfZHluYW1pY19hcnJheV9jb25jYXRfZml4ZWQKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo1MAogICAgLy8gQHB1YmxpYwogICAgaW50Y18yIC8vIDEKICAgIHJldHVybgoKCi8vIHRlc3RfY2FzZXMubGFyZ2VfYm94X29wZXJhdGlvbnMuZHluYW1pY19vZmZzZXRfbWlkZGxlLkR5bmFtaWNPZmZzZXRNaWRkbGUuYXBwZW5kW3JvdXRpbmddKCkgLT4gdm9pZDoKYXBwZW5kOgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjU0CiAgICAvLyBAcHVibGljCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18xIC8vIDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDY0CiAgICBidG9pCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NTYKICAgIC8vIHNlbGYuYm94LnZhbHVlLm5lc3RlZC5uZXN0ZWQuYXJyLmFwcGVuZCh2YWx1ZSkKICAgIGl0b2IKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGludGNfMCAvLyAyCiAgICBkdXAKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBwdXNoaW50IDM2CiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBpbnRjXzMgLy8gNAogICAgaW50Y18xIC8vIDgKICAgIGNhbGxzdWIgYm94X3VwZGF0ZV9vZmZzZXRfaW5jCiAgICBieXRlY18wIC8vICJib3giCiAgICBzd2FwCiAgICB1bmNvdmVyIDIKICAgIGludGNfMiAvLyAxCiAgICBpbnRjXzEgLy8gOAogICAgY2FsbHN1YiBib3hfZHluYW1pY19hcnJheV9jb25jYXRfZml4ZWQKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo1NAogICAgLy8gQHB1YmxpYwogICAgaW50Y18yIC8vIDEKICAgIHJldHVybgoKCi8vIHRlc3RfY2FzZXMubGFyZ2VfYm94X29wZXJhdGlvbnMuZHluYW1pY19vZmZzZXRfbWlkZGxlLkR5bmFtaWNPZmZzZXRNaWRkbGUucG9wW3JvdXRpbmddKCkgLT4gdm9pZDoKcG9wOgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjYwCiAgICAvLyByZXR1cm4gc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5hcnIucG9wKCkKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGludGNfMCAvLyAyCiAgICBkdXAKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBwdXNoaW50IDM2CiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBkaWcgMQogICAgaW50Y18wIC8vIDIKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBkdXAKICAgIGludGNfMiAvLyAxCiAgICAtIC8vIG9uIGVycm9yOiBjYW5ub3QgcG9wIGZyb20gZW1wdHkgYXJyYXkKICAgIGR1cAogICAgdW5jb3ZlciAyCiAgICA8CiAgICBhc3NlcnQgLy8gaW5kZXggb3V0IG9mIGJvdW5kcwogICAgZGlnIDEKICAgIGludGNfMCAvLyAyCiAgICArCiAgICBzd2FwCiAgICBpbnRjXzEgLy8gOAogICAgKgogICAgZGlnIDEKICAgICsKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIHN3YXAKICAgIGludGNfMSAvLyA4CiAgICBib3hfZXh0cmFjdCAvLyBvbiBlcnJvcjogaW5kZXggb3V0IG9mIGJvdW5kcwogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgaW50Y18zIC8vIDQKICAgIGludGNfMCAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjYwCiAgICAvLyByZXR1cm4gc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5hcnIucG9wKCkKICAgIGludGNfMSAvLyA4CiAgICAtCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjYwCiAgICAvLyByZXR1cm4gc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5hcnIucG9wKCkKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGludGNfMyAvLyA0CiAgICB1bmNvdmVyIDIKICAgIGJveF9yZXBsYWNlCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NjAKICAgIC8vIHJldHVybiBzZWxmLmJveC52YWx1ZS5uZXN0ZWQubmVzdGVkLmFyci5wb3AoKQogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgZGlnIDMKICAgIGludGNfMCAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgaW50Y18yIC8vIDEKICAgIC0KICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo2MAogICAgLy8gcmV0dXJuIHNlbGYuYm94LnZhbHVlLm5lc3RlZC5uZXN0ZWQuYXJyLnBvcCgpCiAgICBieXRlY18wIC8vICJib3giCiAgICB1bmNvdmVyIDUKICAgIHVuY292ZXIgMgogICAgYm94X3JlcGxhY2UKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo2MAogICAgLy8gcmV0dXJuIHNlbGYuYm94LnZhbHVlLm5lc3RlZC5uZXN0ZWQuYXJyLnBvcCgpCiAgICBpbnRjXzEgLy8gOAogICAgKgogICAgdW5jb3ZlciAyCiAgICArCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NjAKICAgIC8vIHJldHVybiBzZWxmLmJveC52YWx1ZS5uZXN0ZWQubmVzdGVkLmFyci5wb3AoKQogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgc3dhcAogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjYwCiAgICAvLyByZXR1cm4gc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5hcnIucG9wKCkKICAgIGludGNfMSAvLyA4CiAgICBwdXNoYnl0ZXMgMHgKICAgIGJveF9zcGxpY2UKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo2MAogICAgLy8gcmV0dXJuIHNlbGYuYm94LnZhbHVlLm5lc3RlZC5uZXN0ZWQuYXJyLnBvcCgpCiAgICBieXRlY18wIC8vICJib3giCiAgICBib3hfbGVuCiAgICBwb3AKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo2MAogICAgLy8gcmV0dXJuIHNlbGYuYm94LnZhbHVlLm5lc3RlZC5uZXN0ZWQuYXJyLnBvcCgpCiAgICBpbnRjXzEgLy8gOAogICAgLQogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjYwCiAgICAvLyByZXR1cm4gc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5hcnIucG9wKCkKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIHN3YXAKICAgIGJveF9yZXNpemUKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo1OAogICAgLy8gQHB1YmxpYwogICAgYnl0ZWNfMSAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18yIC8vIDEKICAgIHJldHVybgoKCi8vIHRlc3RfY2FzZXMubGFyZ2VfYm94X29wZXJhdGlvbnMuZHluYW1pY19vZmZzZXRfbWlkZGxlLkR5bmFtaWNPZmZzZXRNaWRkbGUudmVyaWZ5W3JvdXRpbmddKCkgLT4gdm9pZDoKdmVyaWZ5OgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5OjYyCiAgICAvLyBAcHVibGljCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIHB1c2hpbnQgMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18xIC8vIDgKICAgICoKICAgIGludGNfMCAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8dWludDY0PgogICAgY2FsbHN1YiB0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X21pZGRsZS5EeW5hbWljT2Zmc2V0TWlkZGxlLnZlcmlmeQogICAgcG9wCiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdF9jYXNlcy5sYXJnZV9ib3hfb3BlcmF0aW9ucy5keW5hbWljX29mZnNldF9taWRkbGUuRHluYW1pY09mZnNldE1pZGRsZS5nZXRbcm91dGluZ10oKSAtPiB2b2lkOgpnZXQ6CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NzMKICAgIC8vIEBwdWJsaWMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzEgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo3NQogICAgLy8gcmV0dXJuIHNlbGYuYm94LnZhbHVlLm5lc3RlZC5uZXN0ZWQuYXJyW2lkeF0KICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGludGNfMCAvLyAyCiAgICBkdXAKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBwdXNoaW50IDM2CiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBkaWcgMQogICAgaW50Y18wIC8vIDIKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBkaWcgMgogICAgPgogICAgYXNzZXJ0IC8vIGluZGV4IG91dCBvZiBib3VuZHMKICAgIGludGNfMCAvLyAyCiAgICArCiAgICBzd2FwCiAgICBpbnRjXzEgLy8gOAogICAgKgogICAgKwogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgc3dhcAogICAgaW50Y18xIC8vIDgKICAgIGJveF9leHRyYWN0IC8vIG9uIGVycm9yOiBpbmRleCBvdXQgb2YgYm91bmRzCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NzMKICAgIC8vIEBwdWJsaWMKICAgIGJ5dGVjXzEgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X21pZGRsZS5EeW5hbWljT2Zmc2V0TWlkZGxlLnNldFtyb3V0aW5nXSgpIC0+IHZvaWQ6CnNldDoKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo3NwogICAgLy8gQHB1YmxpYwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbWlkZGxlLnB5Ojc5CiAgICAvLyBzZWxmLmJveC52YWx1ZS5uZXN0ZWQubmVzdGVkLmFycltpZHhdID0gdmFsdWUKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGludGNfMCAvLyAyCiAgICBkdXAKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBwdXNoaW50IDM2CiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBkaWcgMQogICAgaW50Y18wIC8vIDIKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBkaWcgMwogICAgPgogICAgYXNzZXJ0IC8vIGluZGV4IG91dCBvZiBib3VuZHMKICAgIGludGNfMCAvLyAyCiAgICArCiAgICB1bmNvdmVyIDIKICAgIGludGNfMSAvLyA4CiAgICAqCiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBzd2FwCiAgICB1bmNvdmVyIDIKICAgIGJveF9yZXBsYWNlIC8vIG9uIGVycm9yOiBpbmRleCBvdXQgb2YgYm91bmRzCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NzcKICAgIC8vIEBwdWJsaWMKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X21pZGRsZS5EeW5hbWljT2Zmc2V0TWlkZGxlLnZlcmlmeShleHBlY3RlZDogYnl0ZXMpIC0+IGJ5dGVzOgp0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X21pZGRsZS5EeW5hbWljT2Zmc2V0TWlkZGxlLnZlcmlmeToKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo2Mi02MwogICAgLy8gQHB1YmxpYwogICAgLy8gZGVmIHZlcmlmeShzZWxmLCBleHBlY3RlZDogQXJyYXlVNjQpIC0+IE5vbmU6CiAgICBwcm90byAxIDEKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo2NAogICAgLy8gYXNzZXJ0IHNlbGYuYm94LnZhbHVlLm5lc3RlZC5iYXogPT0gMQogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgaW50Y18wIC8vIDIKICAgIGR1cAogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGRpZyAxCiAgICBpbnRjXzEgLy8gOAogICAgYm94X2V4dHJhY3QgLy8gb24gZXJyb3I6IGluZGV4IG91dCBvZiBib3VuZHMKICAgIGJ0b2kKICAgIGludGNfMiAvLyAxCiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NjUKICAgIC8vIGFzc2VydCBzZWxmLmJveC52YWx1ZS5uZXN0ZWQubmVzdGVkLmZvbyA9PSAyCiAgICBkdXAKICAgIHB1c2hpbnQgMTgKICAgICsKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIHN3YXAKICAgIGludGNfMSAvLyA4CiAgICBib3hfZXh0cmFjdCAvLyBvbiBlcnJvcjogaW5kZXggb3V0IG9mIGJvdW5kcwogICAgYnRvaQogICAgaW50Y18wIC8vIDIKICAgID09CiAgICBhc3NlcnQKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo2NgogICAgLy8gYXNzZXJ0IHNlbGYuYm94LnZhbHVlLm5lc3RlZC5uZXN0ZWQuYmFyID09IDMKICAgIGR1cAogICAgcHVzaGludCAyOAogICAgKwogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgc3dhcAogICAgaW50Y18xIC8vIDgKICAgIGJveF9leHRyYWN0IC8vIG9uIGVycm9yOiBpbmRleCBvdXQgb2YgYm91bmRzCiAgICBidG9pCiAgICBwdXNoaW50IDMKICAgID09CiAgICBhc3NlcnQKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo2NwogICAgLy8gYXNzZXJ0IHNlbGYuYm94LnZhbHVlLm5lc3RlZC5idXogPT0gNAogICAgZHVwCiAgICBwdXNoaW50IDEwCiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBzd2FwCiAgICBpbnRjXzEgLy8gOAogICAgYm94X2V4dHJhY3QgLy8gb24gZXJyb3I6IGluZGV4IG91dCBvZiBib3VuZHMKICAgIGJ0b2kKICAgIGludGNfMyAvLyA0CiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NjgKICAgIC8vIGFzc2VydCBzZWxmLmJveC52YWx1ZS5uZXN0ZWQubmVzdGVkLmFyciA9PSBleHBlY3RlZAogICAgcHVzaGludCAzNgogICAgKwogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgZGlnIDEKICAgIGludGNfMCAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgaW50Y18xIC8vIDgKICAgICoKICAgIGludGNfMCAvLyAyCiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBjb3ZlciAyCiAgICBib3hfZXh0cmFjdAogICAgZnJhbWVfZGlnIC0xCiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NjkKICAgIC8vIGFzc2VydCBzZWxmLmJveC52YWx1ZS5wYWQxLmxlbmd0aCA9PSAxCiAgICBieXRlY18wIC8vICJib3giCiAgICBwdXNoaW50IDYKICAgIGludGNfMCAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgaW50Y18yIC8vIDEKICAgID09CiAgICBhc3NlcnQKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X21pZGRsZS5weTo3MAogICAgLy8gYXNzZXJ0IHNlbGYuYm94LnZhbHVlLnBhZDIubGVuZ3RoID09IDAKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGludGNfMyAvLyA0CiAgICBpbnRjXzAgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIHN3YXAKICAgIGludGNfMCAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgIQogICAgYXNzZXJ0CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9taWRkbGUucHk6NzEKICAgIC8vIGFzc2VydCBzZWxmLmJveC5sZW5ndGggPiA0MDk2LCAiZXhwZWN0ZWQgYm94IGxlbmd0aCA+NDA5NiIKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGJveF9sZW4KICAgIHBvcAogICAgaW50YyA0IC8vIDQwOTYKICAgID4KICAgIGFzc2VydCAvLyBleHBlY3RlZCBib3ggbGVuZ3RoID40MDk2CiAgICBmcmFtZV9kaWcgLTEKICAgIHJldHN1Ygo=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMQogICAgcmV0dXJuCg==" }, "byteCode": { "approval": "CyAFAggBBIAgJgIDYm94BBUffHUxG0EAQDEZFEQxGESCBwS+x22HBFlJzl0ENCj/6gS4JaFCBDF6PgMEtDacNgTO0b3GNhoAjgcAWwC4AOoBDQFtAYMBrgAxGRQxGBQQQ4oFAIv7i/wiuheL+71Ii/6L/wsIi/tM00mL/ggWVwYCi/uL/E8Cu4v8IghMi/8LCIv7TIEAi/3SiYoDAIv9i/4iuheL/wgWVwYCi/2L/k8Cu4kovEgogDAABgAIAC4AAAAAAAAAAAABABIAAAAAAAAABAAAAAAAAAACABIAAAAAAAAAAwAAAAC/IQSvKCIhBIj/piglIQSI/58ogQZPAiQhBIj/W4ACAACIASpIJEM2GgFJgQBZSSMLSSIISwMVEkRPAlcCACgiSboXgSQIKCVPBIj/ZChMTwJPAyOI/yEkQzYaAUkVIxJEFxYoIkm6F4EkCCglI4j/QChMTwIkI4j+/iRDKCJJuheBJAgoSwEiuhdJJAlJTwIMREsBIghMIwtLAQgoTCO6KCUiuhcjCRZXBgIoJU8CuyhLAyK6FyQJSRZXBgIoTwVPArsjC08CCChMI4AA0ii9SCMJKEzTKUxQsCRDNhoBSYEAWSMLIghLARUSRIgAX0gkQzYaAUkVIxJEFygiSboXgSQIKEsBIroXSwINRCIITCMLCChMI7opTFCwJEM2GgFJFSMSRBc2GgJJFSMSRCgiSboXgSQIKEsBIroXSwMNRCIITwIjCwgoTE8CuyRDigEBKCJJuhcoSwEjuhckEkRJgRIIKEwjuhciEkRJgRwIKEwjuheBAxJESYEKCChMI7oXJRJEgSQIKEsBIroXIwsiCChOArqL/xJEKIEGIroXJBJEKCUiuhcoTCK6FxREKL1IIQQNRIv/iQ==", "clear": "C4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 99, "minor": 99, "patch": 99 } }, "events": [], "templateVariables": {} }