{ "name": "DynamicITxnGroup", "structs": {}, "methods": [ { "name": "test_firstly", "args": [ { "type": "address[]", "name": "addresses" }, { "type": "pay", "name": "funds" }, { "type": "uint64", "name": "verifier" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "test_looply", "args": [ { "type": "address[]", "name": "addresses" }, { "type": "pay", "name": "funds" }, { "type": "uint64", "name": "verifier" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "test_firstly_abi_call", "args": [ { "type": "address[]", "name": "addresses" }, { "type": "pay", "name": "funds" }, { "type": "uint64", "name": "verifier" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "test_looply_abi_call", "args": [ { "type": "address[]", "name": "addresses" }, { "type": "pay", "name": "funds" }, { "type": "uint64", "name": "verifier" } ], "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": [ 121, 265, 398, 542 ], "errorMessage": "Funds must be sent to app" }, { "pc": [ 169, 292, 446, 569 ], "errorMessage": "index access is out of bounds" }, { "pc": [ 79, 223, 356, 500 ], "errorMessage": "invalid array length header" }, { "pc": [ 92, 236, 369, 513 ], "errorMessage": "invalid number of bytes for arc4.dynamic_array>" }, { "pc": [ 111, 255, 388, 532 ], "errorMessage": "invalid number of bytes for arc4.uint64" }, { "pc": [ 124, 268, 401, 545 ], "errorMessage": "must provide some accounts" }, { "pc": [ 102, 246, 379, 523 ], "errorMessage": "transaction type is pay" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuYXBwcm92YWxfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAxIDAgMzIgMgogICAgYnl0ZWNibG9jayAweDY1YTlhZWNjICJhYmMiCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6MTUKICAgIC8vIGNsYXNzIER5bmFtaWNJVHhuR3JvdXAoQVJDNENvbnRyYWN0KToKICAgIHR4biBOdW1BcHBBcmdzCiAgICBieiBtYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDExCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQKICAgIHB1c2hieXRlc3MgMHgxNzM5MTc4NCAweDNmMTBhZWE3IDB4YWNiYmYwZjUgMHgwZWIzOGE3YyAvLyBtZXRob2QgInRlc3RfZmlyc3RseShhZGRyZXNzW10scGF5LHVpbnQ2NCl2b2lkIiwgbWV0aG9kICJ0ZXN0X2xvb3BseShhZGRyZXNzW10scGF5LHVpbnQ2NCl2b2lkIiwgbWV0aG9kICJ0ZXN0X2ZpcnN0bHlfYWJpX2NhbGwoYWRkcmVzc1tdLHBheSx1aW50NjQpdm9pZCIsIG1ldGhvZCAidGVzdF9sb29wbHlfYWJpX2NhbGwoYWRkcmVzc1tdLHBheSx1aW50NjQpdm9pZCIKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDAKICAgIG1hdGNoIHRlc3RfZmlyc3RseSB0ZXN0X2xvb3BseSB0ZXN0X2ZpcnN0bHlfYWJpX2NhbGwgdGVzdF9sb29wbHlfYWJpX2NhbGwKICAgIGVycgoKbWFpbl9fX2FsZ29weV9kZWZhdWx0X2NyZWF0ZUAxMToKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICAhCiAgICAmJgogICAgcmV0dXJuCgoKLy8gdGVzdF9jYXNlcy5keW5hbWljX2l0eG5fZ3JvdXAuY29udHJhY3QuRHluYW1pY0lUeG5Hcm91cC50ZXN0X2ZpcnN0bHlbcm91dGluZ10oKSAtPiB2b2lkOgp0ZXN0X2ZpcnN0bHk6CiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6MTYKICAgIC8vIEBwdWJsaWMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgaW50Y18xIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGR1cAogICAgY292ZXIgMgogICAgZHVwCiAgICBpbnRjXzIgLy8gMzIKICAgICoKICAgIGludGNfMyAvLyAyCiAgICArCiAgICBkaWcgMgogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8YXJjNC5zdGF0aWNfYXJyYXk8YXJjNC51aW50OCwgMzI+PgogICAgdHhuIEdyb3VwSW5kZXgKICAgIGludGNfMCAvLyAxCiAgICAtCiAgICBkdXAKICAgIGd0eG5zIFR5cGVFbnVtCiAgICBpbnRjXzAgLy8gcGF5CiAgICA9PQogICAgYXNzZXJ0IC8vIHRyYW5zYWN0aW9uIHR5cGUgaXMgcGF5CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBkdXAKICAgIGxlbgogICAgcHVzaGludCA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgY292ZXIgMwogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjIwCiAgICAvLyBhc3NlcnQgZnVuZHMucmVjZWl2ZXIgPT0gR2xvYmFsLmN1cnJlbnRfYXBwbGljYXRpb25fYWRkcmVzcywgIkZ1bmRzIG11c3QgYmUgc2VudCB0byBhcHAiCiAgICBkdXAKICAgIGd0eG5zIFJlY2VpdmVyCiAgICBnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwogICAgPT0KICAgIGFzc2VydCAvLyBGdW5kcyBtdXN0IGJlIHNlbnQgdG8gYXBwCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6MjIKICAgIC8vIGFzc2VydCBhZGRyZXNzZXMubGVuZ3RoLCAibXVzdCBwcm92aWRlIHNvbWUgYWNjb3VudHMiCiAgICBkaWcgMQogICAgYXNzZXJ0IC8vIG11c3QgcHJvdmlkZSBzb21lIGFjY291bnRzCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6MjMKICAgIC8vIHNoYXJlOiBVSW50NjQgPSBmdW5kcy5hbW91bnQgLy8gYWRkcmVzc2VzLmxlbmd0aAogICAgZ3R4bnMgQW1vdW50CiAgICBzd2FwCiAgICAvCiAgICBkdXAKICAgIGNvdmVyIDMKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weToyNQogICAgLy8gaXR4bi5QYXltZW50KGFtb3VudD1zaGFyZSwgcmVjZWl2ZXI9YWRkcmVzc2VzWzBdLm5hdGl2ZSkuc3RhZ2UoYmVnaW5fZ3JvdXA9VHJ1ZSkKICAgIGl0eG5fYmVnaW4KICAgIGRpZyAxCiAgICBleHRyYWN0IDIgMAogICAgY292ZXIgMgogICAgc3dhcAogICAgZXh0cmFjdCAyIDMyCiAgICBpdHhuX2ZpZWxkIFJlY2VpdmVyCiAgICBpdHhuX2ZpZWxkIEFtb3VudAogICAgaW50Y18wIC8vIHBheQogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18xIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6MjcKICAgIC8vIGZvciBpIGluIHVyYW5nZSgxLCBhZGRyZXNzZXMubGVuZ3RoKToKICAgIGludGNfMCAvLyAxCgp0ZXN0X2ZpcnN0bHlfZm9yX2hlYWRlckAyOgogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjI3CiAgICAvLyBmb3IgaSBpbiB1cmFuZ2UoMSwgYWRkcmVzc2VzLmxlbmd0aCk6CiAgICBkdXAKICAgIGRpZyA1CiAgICA8CiAgICBieiB0ZXN0X2ZpcnN0bHlfYWZ0ZXJfZm9yQDUKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weToyOAogICAgLy8gYWRkciA9IGFkZHJlc3Nlc1tpXQogICAgZHVwCiAgICBpbnRjXzIgLy8gMzIKICAgICoKICAgIGRpZyAyCiAgICBzd2FwCiAgICBpbnRjXzIgLy8gMzIKICAgIGV4dHJhY3QzIC8vIG9uIGVycm9yOiBpbmRleCBhY2Nlc3MgaXMgb3V0IG9mIGJvdW5kcwogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjI5CiAgICAvLyBpdHhuLlBheW1lbnQoYW1vdW50PXNoYXJlLCByZWNlaXZlcj1hZGRyLm5hdGl2ZSkuc3RhZ2UoKQogICAgaXR4bl9uZXh0CiAgICBpdHhuX2ZpZWxkIFJlY2VpdmVyCiAgICBkaWcgMwogICAgaXR4bl9maWVsZCBBbW91bnQKICAgIGludGNfMCAvLyBwYXkKICAgIGl0eG5fZmllbGQgVHlwZUVudW0KICAgIGludGNfMSAvLyAwCiAgICBpdHhuX2ZpZWxkIEZlZQogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjI3CiAgICAvLyBmb3IgaSBpbiB1cmFuZ2UoMSwgYWRkcmVzc2VzLmxlbmd0aCk6CiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgYiB0ZXN0X2ZpcnN0bHlfZm9yX2hlYWRlckAyCgp0ZXN0X2ZpcnN0bHlfYWZ0ZXJfZm9yQDU6CiAgICBwb3BuIDIKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTozMS0zMwogICAgLy8gaXR4bi5BcHBsaWNhdGlvbkNhbGwoCiAgICAvLyAgICAgYXBwX2lkPXZlcmlmaWVyLmlkLCBhcHBfYXJncz0oYXJjNF9zaWduYXR1cmUoInZlcmlmeSgpdm9pZCIpLCkKICAgIC8vICkuc3RhZ2UoKQogICAgaXR4bl9uZXh0CiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6MzIKICAgIC8vIGFwcF9pZD12ZXJpZmllci5pZCwgYXBwX2FyZ3M9KGFyYzRfc2lnbmF0dXJlKCJ2ZXJpZnkoKXZvaWQiKSwpCiAgICBieXRlY18wIC8vIG1ldGhvZCAidmVyaWZ5KCl2b2lkIgogICAgaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25JRAogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjMxCiAgICAvLyBpdHhuLkFwcGxpY2F0aW9uQ2FsbCgKICAgIHB1c2hpbnQgNiAvLyBhcHBsCiAgICBpdHhuX2ZpZWxkIFR5cGVFbnVtCiAgICBpbnRjXzEgLy8gMAogICAgaXR4bl9maWVsZCBGZWUKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTozNQogICAgLy8gaXR4bi5Bc3NldENvbmZpZyhhc3NldF9uYW1lPSJhYmMiKS5zdGFnZSgpCiAgICBpdHhuX25leHQKICAgIGJ5dGVjXzEgLy8gImFiYyIKICAgIGl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCiAgICBwdXNoaW50IDMgLy8gYWNmZwogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18xIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6MzcKICAgIC8vIGl0eG4uc3VibWl0X3N0YWdlZCgpCiAgICBpdHhuX3N1Ym1pdAogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjE2CiAgICAvLyBAcHVibGljCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdF9jYXNlcy5keW5hbWljX2l0eG5fZ3JvdXAuY29udHJhY3QuRHluYW1pY0lUeG5Hcm91cC50ZXN0X2xvb3BseVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnRlc3RfbG9vcGx5OgogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjM5CiAgICAvLyBAcHVibGljCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXBuIDIKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGR1cAogICAgaW50Y18yIC8vIDMyCiAgICAqCiAgICBpbnRjXzMgLy8gMgogICAgKwogICAgdW5jb3ZlciAyCiAgICBsZW4KICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuZHluYW1pY19hcnJheTxhcmM0LnN0YXRpY19hcnJheTxhcmM0LnVpbnQ4LCAzMj4+CiAgICB0eG4gR3JvdXBJbmRleAogICAgaW50Y18wIC8vIDEKICAgIC0KICAgIGR1cAogICAgZ3R4bnMgVHlwZUVudW0KICAgIGludGNfMCAvLyBwYXkKICAgID09CiAgICBhc3NlcnQgLy8gdHJhbnNhY3Rpb24gdHlwZSBpcyBwYXkKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDY0CiAgICBidG9pCiAgICBjb3ZlciAyCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6NDMKICAgIC8vIGFzc2VydCBmdW5kcy5yZWNlaXZlciA9PSBHbG9iYWwuY3VycmVudF9hcHBsaWNhdGlvbl9hZGRyZXNzLCAiRnVuZHMgbXVzdCBiZSBzZW50IHRvIGFwcCIKICAgIGR1cAogICAgZ3R4bnMgUmVjZWl2ZXIKICAgIGdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCiAgICA9PQogICAgYXNzZXJ0IC8vIEZ1bmRzIG11c3QgYmUgc2VudCB0byBhcHAKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo0NQogICAgLy8gYXNzZXJ0IGFkZHJlc3Nlcy5sZW5ndGgsICJtdXN0IHByb3ZpZGUgc29tZSBhY2NvdW50cyIKICAgIGRpZyAxCiAgICBhc3NlcnQgLy8gbXVzdCBwcm92aWRlIHNvbWUgYWNjb3VudHMKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo0NgogICAgLy8gc2hhcmU6IFVJbnQ2NCA9IGZ1bmRzLmFtb3VudCAvLyBhZGRyZXNzZXMubGVuZ3RoCiAgICBndHhucyBBbW91bnQKICAgIHN3YXAKICAgIC8KICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo0OAogICAgLy8gaXNfZmlyc3QgPSBUcnVlCiAgICBpbnRjXzAgLy8gMQogICAgaW50Y18xIC8vIDAKCnRlc3RfbG9vcGx5X2Zvcl9oZWFkZXJAMjoKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo0OQogICAgLy8gZm9yIGFkZHIgaW4gYWRkcmVzc2VzOgogICAgZHVwCiAgICBkaWcgNQogICAgPAogICAgYnogdGVzdF9sb29wbHlfYWZ0ZXJfZm9yQDgKICAgIGRpZyA1CiAgICBleHRyYWN0IDIgMAogICAgZGlnIDEKICAgIGludGNfMiAvLyAzMgogICAgKgogICAgaW50Y18yIC8vIDMyCiAgICBleHRyYWN0MyAvLyBvbiBlcnJvcjogaW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo1MQogICAgLy8gbXlfdHhuLnN0YWdlKGJlZ2luX2dyb3VwPWlzX2ZpcnN0KQogICAgdW5jb3ZlciAyCiAgICBieiB0ZXN0X2xvb3BseV9pdHhuX25leHRANQogICAgaXR4bl9iZWdpbgoKdGVzdF9sb29wbHlfYWZ0ZXJfaXR4bl9iZWdpbl9uZXh0QDY6CiAgICBpdHhuX2ZpZWxkIFJlY2VpdmVyCiAgICBkaWcgMQogICAgaXR4bl9maWVsZCBBbW91bnQKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo1MAogICAgLy8gbXlfdHhuID0gaXR4bi5QYXltZW50KGFtb3VudD1zaGFyZSwgcmVjZWl2ZXI9YWRkci5uYXRpdmUpCiAgICBpbnRjXzAgLy8gcGF5CiAgICBpdHhuX2ZpZWxkIFR5cGVFbnVtCiAgICBpbnRjXzEgLy8gMAogICAgaXR4bl9maWVsZCBGZWUKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo1MgogICAgLy8gaXNfZmlyc3QgPSBGYWxzZQogICAgaW50Y18xIC8vIDAKICAgIHN3YXAKICAgIGludGNfMCAvLyAxCiAgICArCiAgICBiIHRlc3RfbG9vcGx5X2Zvcl9oZWFkZXJAMgoKdGVzdF9sb29wbHlfaXR4bl9uZXh0QDU6CiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6NTEKICAgIC8vIG15X3R4bi5zdGFnZShiZWdpbl9ncm91cD1pc19maXJzdCkKICAgIGl0eG5fbmV4dAogICAgYiB0ZXN0X2xvb3BseV9hZnRlcl9pdHhuX2JlZ2luX25leHRANgoKdGVzdF9sb29wbHlfYWZ0ZXJfZm9yQDg6CiAgICBwb3BuIDMKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo1NC01NgogICAgLy8gaXR4bi5BcHBsaWNhdGlvbkNhbGwoCiAgICAvLyAgICAgYXBwX2lkPXZlcmlmaWVyLmlkLCBhcHBfYXJncz0oYXJjNF9zaWduYXR1cmUoInZlcmlmeSgpdm9pZCIpLCkKICAgIC8vICkuc3RhZ2UoKQogICAgaXR4bl9uZXh0CiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6NTUKICAgIC8vIGFwcF9pZD12ZXJpZmllci5pZCwgYXBwX2FyZ3M9KGFyYzRfc2lnbmF0dXJlKCJ2ZXJpZnkoKXZvaWQiKSwpCiAgICBieXRlY18wIC8vIG1ldGhvZCAidmVyaWZ5KCl2b2lkIgogICAgaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25JRAogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjU0CiAgICAvLyBpdHhuLkFwcGxpY2F0aW9uQ2FsbCgKICAgIHB1c2hpbnQgNiAvLyBhcHBsCiAgICBpdHhuX2ZpZWxkIFR5cGVFbnVtCiAgICBpbnRjXzEgLy8gMAogICAgaXR4bl9maWVsZCBGZWUKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo1OAogICAgLy8gaXR4bi5Bc3NldENvbmZpZyhhc3NldF9uYW1lPSJhYmMiKS5zdGFnZSgpCiAgICBpdHhuX25leHQKICAgIGJ5dGVjXzEgLy8gImFiYyIKICAgIGl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCiAgICBwdXNoaW50IDMgLy8gYWNmZwogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18xIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6NjAKICAgIC8vIGl0eG4uc3VibWl0X3N0YWdlZCgpCiAgICBpdHhuX3N1Ym1pdAogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjM5CiAgICAvLyBAcHVibGljCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdF9jYXNlcy5keW5hbWljX2l0eG5fZ3JvdXAuY29udHJhY3QuRHluYW1pY0lUeG5Hcm91cC50ZXN0X2ZpcnN0bHlfYWJpX2NhbGxbcm91dGluZ10oKSAtPiB2b2lkOgp0ZXN0X2ZpcnN0bHlfYWJpX2NhbGw6CiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6NjIKICAgIC8vIEBwdWJsaWMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgaW50Y18xIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGR1cAogICAgY292ZXIgMgogICAgZHVwCiAgICBpbnRjXzIgLy8gMzIKICAgICoKICAgIGludGNfMyAvLyAyCiAgICArCiAgICBkaWcgMgogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8YXJjNC5zdGF0aWNfYXJyYXk8YXJjNC51aW50OCwgMzI+PgogICAgdHhuIEdyb3VwSW5kZXgKICAgIGludGNfMCAvLyAxCiAgICAtCiAgICBkdXAKICAgIGd0eG5zIFR5cGVFbnVtCiAgICBpbnRjXzAgLy8gcGF5CiAgICA9PQogICAgYXNzZXJ0IC8vIHRyYW5zYWN0aW9uIHR5cGUgaXMgcGF5CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBkdXAKICAgIGxlbgogICAgcHVzaGludCA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgY292ZXIgMwogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjY2CiAgICAvLyBhc3NlcnQgZnVuZHMucmVjZWl2ZXIgPT0gR2xvYmFsLmN1cnJlbnRfYXBwbGljYXRpb25fYWRkcmVzcywgIkZ1bmRzIG11c3QgYmUgc2VudCB0byBhcHAiCiAgICBkdXAKICAgIGd0eG5zIFJlY2VpdmVyCiAgICBnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwogICAgPT0KICAgIGFzc2VydCAvLyBGdW5kcyBtdXN0IGJlIHNlbnQgdG8gYXBwCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6NjgKICAgIC8vIGFzc2VydCBhZGRyZXNzZXMubGVuZ3RoLCAibXVzdCBwcm92aWRlIHNvbWUgYWNjb3VudHMiCiAgICBkaWcgMQogICAgYXNzZXJ0IC8vIG11c3QgcHJvdmlkZSBzb21lIGFjY291bnRzCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6NjkKICAgIC8vIHNoYXJlOiBVSW50NjQgPSBmdW5kcy5hbW91bnQgLy8gYWRkcmVzc2VzLmxlbmd0aAogICAgZ3R4bnMgQW1vdW50CiAgICBzd2FwCiAgICAvCiAgICBkdXAKICAgIGNvdmVyIDMKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo3MQogICAgLy8gaXR4bi5QYXltZW50KGFtb3VudD1zaGFyZSwgcmVjZWl2ZXI9YWRkcmVzc2VzWzBdLm5hdGl2ZSkuc3RhZ2UoYmVnaW5fZ3JvdXA9VHJ1ZSkKICAgIGl0eG5fYmVnaW4KICAgIGRpZyAxCiAgICBleHRyYWN0IDIgMAogICAgY292ZXIgMgogICAgc3dhcAogICAgZXh0cmFjdCAyIDMyCiAgICBpdHhuX2ZpZWxkIFJlY2VpdmVyCiAgICBpdHhuX2ZpZWxkIEFtb3VudAogICAgaW50Y18wIC8vIHBheQogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18xIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6NzMKICAgIC8vIGZvciBpIGluIHVyYW5nZSgxLCBhZGRyZXNzZXMubGVuZ3RoKToKICAgIGludGNfMCAvLyAxCgp0ZXN0X2ZpcnN0bHlfYWJpX2NhbGxfZm9yX2hlYWRlckAyOgogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjczCiAgICAvLyBmb3IgaSBpbiB1cmFuZ2UoMSwgYWRkcmVzc2VzLmxlbmd0aCk6CiAgICBkdXAKICAgIGRpZyA1CiAgICA8CiAgICBieiB0ZXN0X2ZpcnN0bHlfYWJpX2NhbGxfYWZ0ZXJfZm9yQDUKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo3NAogICAgLy8gYWRkciA9IGFkZHJlc3Nlc1tpXQogICAgZHVwCiAgICBpbnRjXzIgLy8gMzIKICAgICoKICAgIGRpZyAyCiAgICBzd2FwCiAgICBpbnRjXzIgLy8gMzIKICAgIGV4dHJhY3QzIC8vIG9uIGVycm9yOiBpbmRleCBhY2Nlc3MgaXMgb3V0IG9mIGJvdW5kcwogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5Ojc1CiAgICAvLyBpdHhuLlBheW1lbnQoYW1vdW50PXNoYXJlLCByZWNlaXZlcj1hZGRyLm5hdGl2ZSkuc3RhZ2UoKQogICAgaXR4bl9uZXh0CiAgICBpdHhuX2ZpZWxkIFJlY2VpdmVyCiAgICBkaWcgMwogICAgaXR4bl9maWVsZCBBbW91bnQKICAgIGludGNfMCAvLyBwYXkKICAgIGl0eG5fZmllbGQgVHlwZUVudW0KICAgIGludGNfMSAvLyAwCiAgICBpdHhuX2ZpZWxkIEZlZQogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjczCiAgICAvLyBmb3IgaSBpbiB1cmFuZ2UoMSwgYWRkcmVzc2VzLmxlbmd0aCk6CiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgYiB0ZXN0X2ZpcnN0bHlfYWJpX2NhbGxfZm9yX2hlYWRlckAyCgp0ZXN0X2ZpcnN0bHlfYWJpX2NhbGxfYWZ0ZXJfZm9yQDU6CiAgICBwb3BuIDIKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo3NwogICAgLy8gaXR4bi5hYmlfY2FsbCgidmVyaWZ5IiwgYXBwX2lkPXZlcmlmaWVyLmlkKS5zdGFnZSgpCiAgICBpdHhuX25leHQKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25JRAogICAgYnl0ZWNfMCAvLyBtZXRob2QgInZlcmlmeSgpdm9pZCIKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCiAgICBwdXNoaW50IDYgLy8gYXBwbAogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18xIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6NzkKICAgIC8vIGl0eG4uQXNzZXRDb25maWcoYXNzZXRfbmFtZT0iYWJjIikuc3RhZ2UoKQogICAgaXR4bl9uZXh0CiAgICBieXRlY18xIC8vICJhYmMiCiAgICBpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0TmFtZQogICAgcHVzaGludCAzIC8vIGFjZmcKICAgIGl0eG5fZmllbGQgVHlwZUVudW0KICAgIGludGNfMSAvLyAwCiAgICBpdHhuX2ZpZWxkIEZlZQogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjgxCiAgICAvLyBpdHhuLnN1Ym1pdF9zdGFnZWQoKQogICAgaXR4bl9zdWJtaXQKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo2MgogICAgLy8gQHB1YmxpYwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHRlc3RfY2FzZXMuZHluYW1pY19pdHhuX2dyb3VwLmNvbnRyYWN0LkR5bmFtaWNJVHhuR3JvdXAudGVzdF9sb29wbHlfYWJpX2NhbGxbcm91dGluZ10oKSAtPiB2b2lkOgp0ZXN0X2xvb3BseV9hYmlfY2FsbDoKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo4MwogICAgLy8gQHB1YmxpYwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwbiAyCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgZHVwCiAgICBjb3ZlciAyCiAgICBkdXAKICAgIGludGNfMiAvLyAzMgogICAgKgogICAgaW50Y18zIC8vIDIKICAgICsKICAgIHVuY292ZXIgMgogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8YXJjNC5zdGF0aWNfYXJyYXk8YXJjNC51aW50OCwgMzI+PgogICAgdHhuIEdyb3VwSW5kZXgKICAgIGludGNfMCAvLyAxCiAgICAtCiAgICBkdXAKICAgIGd0eG5zIFR5cGVFbnVtCiAgICBpbnRjXzAgLy8gcGF5CiAgICA9PQogICAgYXNzZXJ0IC8vIHRyYW5zYWN0aW9uIHR5cGUgaXMgcGF5CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBkdXAKICAgIGxlbgogICAgcHVzaGludCA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgY292ZXIgMgogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5Ojg3CiAgICAvLyBhc3NlcnQgZnVuZHMucmVjZWl2ZXIgPT0gR2xvYmFsLmN1cnJlbnRfYXBwbGljYXRpb25fYWRkcmVzcywgIkZ1bmRzIG11c3QgYmUgc2VudCB0byBhcHAiCiAgICBkdXAKICAgIGd0eG5zIFJlY2VpdmVyCiAgICBnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwogICAgPT0KICAgIGFzc2VydCAvLyBGdW5kcyBtdXN0IGJlIHNlbnQgdG8gYXBwCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6ODkKICAgIC8vIGFzc2VydCBhZGRyZXNzZXMubGVuZ3RoLCAibXVzdCBwcm92aWRlIHNvbWUgYWNjb3VudHMiCiAgICBkaWcgMQogICAgYXNzZXJ0IC8vIG11c3QgcHJvdmlkZSBzb21lIGFjY291bnRzCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6OTAKICAgIC8vIHNoYXJlOiBVSW50NjQgPSBmdW5kcy5hbW91bnQgLy8gYWRkcmVzc2VzLmxlbmd0aAogICAgZ3R4bnMgQW1vdW50CiAgICBzd2FwCiAgICAvCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6OTIKICAgIC8vIGlzX2ZpcnN0ID0gVHJ1ZQogICAgaW50Y18wIC8vIDEKICAgIGludGNfMSAvLyAwCgp0ZXN0X2xvb3BseV9hYmlfY2FsbF9mb3JfaGVhZGVyQDI6CiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6OTMKICAgIC8vIGZvciBhZGRyIGluIGFkZHJlc3NlczoKICAgIGR1cAogICAgZGlnIDUKICAgIDwKICAgIGJ6IHRlc3RfbG9vcGx5X2FiaV9jYWxsX2FmdGVyX2ZvckA4CiAgICBkaWcgNQogICAgZXh0cmFjdCAyIDAKICAgIGRpZyAxCiAgICBpbnRjXzIgLy8gMzIKICAgICoKICAgIGludGNfMiAvLyAzMgogICAgZXh0cmFjdDMgLy8gb24gZXJyb3I6IGluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6OTUKICAgIC8vIG15X3R4bi5zdGFnZShiZWdpbl9ncm91cD1pc19maXJzdCkKICAgIHVuY292ZXIgMgogICAgYnogdGVzdF9sb29wbHlfYWJpX2NhbGxfaXR4bl9uZXh0QDUKICAgIGl0eG5fYmVnaW4KCnRlc3RfbG9vcGx5X2FiaV9jYWxsX2FmdGVyX2l0eG5fYmVnaW5fbmV4dEA2OgogICAgaXR4bl9maWVsZCBSZWNlaXZlcgogICAgZGlnIDEKICAgIGl0eG5fZmllbGQgQW1vdW50CiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6OTQKICAgIC8vIG15X3R4biA9IGl0eG4uUGF5bWVudChhbW91bnQ9c2hhcmUsIHJlY2VpdmVyPWFkZHIubmF0aXZlKQogICAgaW50Y18wIC8vIHBheQogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18xIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6OTYKICAgIC8vIGlzX2ZpcnN0ID0gRmFsc2UKICAgIGludGNfMSAvLyAwCiAgICBzd2FwCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgYiB0ZXN0X2xvb3BseV9hYmlfY2FsbF9mb3JfaGVhZGVyQDIKCnRlc3RfbG9vcGx5X2FiaV9jYWxsX2l0eG5fbmV4dEA1OgogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5Ojk1CiAgICAvLyBteV90eG4uc3RhZ2UoYmVnaW5fZ3JvdXA9aXNfZmlyc3QpCiAgICBpdHhuX25leHQKICAgIGIgdGVzdF9sb29wbHlfYWJpX2NhbGxfYWZ0ZXJfaXR4bl9iZWdpbl9uZXh0QDYKCnRlc3RfbG9vcGx5X2FiaV9jYWxsX2FmdGVyX2ZvckA4OgogICAgcG9wbiAzCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6OTgKICAgIC8vIGl0eG4uYWJpX2NhbGwoInZlcmlmeSIsIGFwcF9pZD12ZXJpZmllci5pZCkuc3RhZ2UoKQogICAgaXR4bl9uZXh0CiAgICBpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKICAgIGJ5dGVjXzAgLy8gbWV0aG9kICJ2ZXJpZnkoKXZvaWQiCiAgICBpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwogICAgcHVzaGludCA2IC8vIGFwcGwKICAgIGl0eG5fZmllbGQgVHlwZUVudW0KICAgIGludGNfMSAvLyAwCiAgICBpdHhuX2ZpZWxkIEZlZQogICAgLy8gZHluYW1pY19pdHhuX2dyb3VwL2NvbnRyYWN0LnB5OjEwMAogICAgLy8gaXR4bi5Bc3NldENvbmZpZyhhc3NldF9uYW1lPSJhYmMiKS5zdGFnZSgpCiAgICBpdHhuX25leHQKICAgIGJ5dGVjXzEgLy8gImFiYyIKICAgIGl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCiAgICBwdXNoaW50IDMgLy8gYWNmZwogICAgaXR4bl9maWVsZCBUeXBlRW51bQogICAgaW50Y18xIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICAvLyBkeW5hbWljX2l0eG5fZ3JvdXAvY29udHJhY3QucHk6MTAyCiAgICAvLyBpdHhuLnN1Ym1pdF9zdGFnZWQoKQogICAgaXR4bl9zdWJtaXQKICAgIC8vIGR5bmFtaWNfaXR4bl9ncm91cC9jb250cmFjdC5weTo4MwogICAgLy8gQHB1YmxpYwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgo=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMQogICAgcmV0dXJuCg==" }, "byteCode": { "approval": "CyAEAQAgAiYCBGWprswDYWJjMRtBACsxGRREMRhEggQEFzkXhAQ/EK6nBKy78PUEDrOKfDYaAI4EAAkAmAEeAa0AMRkUMRgUEEM2GgFJI1lJTgJJJAslCEsCFRJEMRYiCUk4ECISRDYaAkkVgQgSRBdOA0k4BzIKEkRLAUQ4CEwKSU4DsUsBVwIATgJMVwIgsgeyCCKyECOyASJJSwUMQQAaSSQLSwJMJFi2sgdLA7IIIrIQI7IBIghC/99GArYoshqyGIEGshAjsgG2KbImgQOyECOyAbMiQzYaAUcCI1lJTgJJJAslCE8CFRJEMRYiCUk4ECISRDYaAkkVgQgSRBdOAkk4BzIKEkRLAUQ4CEwKIiNJSwUMQQAoSwVXAgBLASQLJFhPAkEAFLGyB0sBsggishAjsgEjTCIIQv/VtkL/6UYDtiiyGrIYgQayECOyAbYpsiaBA7IQI7IBsyJDNhoBSSNZSU4CSSQLJQhLAhUSRDEWIglJOBAiEkQ2GgJJFYEIEkQXTgNJOAcyChJESwFEOAhMCklOA7FLAVcCAE4CTFcCILIHsggishAjsgEiSUsFDEEAGkkkC0sCTCRYtrIHSwOyCCKyECOyASIIQv/fRgK2shgoshqBBrIQI7IBtimyJoEDshAjsgGzIkM2GgFHAiNZSU4CSSQLJQhPAhUSRDEWIglJOBAiEkQ2GgJJFYEIEkQXTgJJOAcyChJESwFEOAhMCiIjSUsFDEEAKEsFVwIASwEkCyRYTwJBABSxsgdLAbIIIrIQI7IBI0wiCEL/1bZC/+lGA7ayGCiyGoEGshAjsgG2KbImgQOyECOyAbMiQw==", "clear": "C4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 99, "minor": 99, "patch": 99 } }, "events": [], "templateVariables": {} }