{ "name": "MyContract", "structs": {}, "methods": [ { "name": "create", "args": [], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "register", "args": [ { "type": "string", "name": "name" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp", "OptIn" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "say_hello", "args": [], "returns": { "type": "string" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "calculate", "args": [ { "type": "uint64", "name": "a" }, { "type": "uint64", "name": "b" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "close_out", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "CloseOut" ] }, "readonly": false, "events": [], "recommendations": {} } ], "arcs": [ 22, 28 ], "networks": {}, "state": { "schema": { "global": { "ints": 1, "bytes": 1 }, "local": { "ints": 0, "bytes": 1 } }, "keys": { "global": { "creator": { "keyType": "AVMString", "valueType": "AVMBytes", "key": "Y3JlYXRvcg==" }, "counter": { "keyType": "AVMString", "valueType": "AVMUint64", "key": "Y291bnRlcg==" } }, "local": { "name": { "keyType": "AVMString", "valueType": "string", "key": "bmFtZQ==" } }, "box": {} }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 112 ], "errorMessage": "OnCompletion is not CloseOut" }, { "pc": [ 124, 146, 181 ], "errorMessage": "OnCompletion is not NoOp" }, { "pc": [ 166 ], "errorMessage": "OnCompletion is not one of NoOp, OptIn" }, { "pc": [ 195, 219, 258 ], "errorMessage": "You are banned, goodbye" }, { "pc": [ 185 ], "errorMessage": "can only call when creating" }, { "pc": [ 115, 127, 149, 169 ], "errorMessage": "can only call when not creating" }, { "pc": [ 239, 349 ], "errorMessage": "check self.counter exists" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [ { "pc": [ 15 ], "errorMessage": "check self.counter exists" } ], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyB0ZXN0X2Nhc2VzLmV2ZXJ5dGhpbmcuY29udHJhY3QuRXZlcnl0aGluZy5fX2FsZ29weV9lbnRyeXBvaW50X3dpdGhfaW5pdCgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAxIDAKICAgIGJ5dGVjYmxvY2sgImNvdW50ZXIiIGJhc2UzMihWQ01KS1dPWTVQNVA3U0tNWkZGT0NFUk9QSkNaT1RJSk1OSVlOVUNLSDdMUk80NUpNSlBRKSAibmFtZSIgMHgxNTFmN2M3NQogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTozNwogICAgLy8gY2xhc3MgRXZlcnl0aGluZyhBUkM0Q29udHJhY3QsIE15TWlkZGxlQmFzZSwgbmFtZT0iTXlDb250cmFjdCIpOgogICAgdHhuIE51bUFwcEFyZ3MKICAgIGJ6IG1haW5fYWZ0ZXJfaWZfZWxzZUAxMAogICAgcHVzaGJ5dGVzcyAweDRjNWM2MWJhIDB4YmQ2MDk5ZTUgMHg1ZDVjODRjNyAweGZkMDcyNjRlIDB4MTY1OGFhMmYgLy8gbWV0aG9kICJjcmVhdGUoKXZvaWQiLCBtZXRob2QgInJlZ2lzdGVyKHN0cmluZyl2b2lkIiwgbWV0aG9kICJzYXlfaGVsbG8oKXN0cmluZyIsIG1ldGhvZCAiY2FsY3VsYXRlKHVpbnQ2NCx1aW50NjQpdWludDY0IiwgbWV0aG9kICJjbG9zZV9vdXQoKXZvaWQiCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBtYXRjaCBtYWluX2NyZWF0ZV9yb3V0ZUA1IG1haW5fcmVnaXN0ZXJfcm91dGVANiBtYWluX3NheV9oZWxsb19yb3V0ZUA3IG1haW5fY2FsY3VsYXRlX3JvdXRlQDggbWFpbl9jbG9zZV9vdXRfcm91dGVAOQoKbWFpbl9hZnRlcl9pZl9lbHNlQDEwOgogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTozNwogICAgLy8gY2xhc3MgRXZlcnl0aGluZyhBUkM0Q29udHJhY3QsIE15TWlkZGxlQmFzZSwgbmFtZT0iTXlDb250cmFjdCIpOgogICAgaW50Y18xIC8vIDAKICAgIHJldHVybgoKbWFpbl9jbG9zZV9vdXRfcm91dGVAOToKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6NjkKICAgIC8vIEBhYmltZXRob2QoYWxsb3dfYWN0aW9ucz1bIkNsb3NlT3V0Il0pCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBwdXNoaW50IDIgLy8gQ2xvc2VPdXQKICAgID09CiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBDbG9zZU91dAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICBjYWxsc3ViIGNsb3NlX291dAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9jYWxjdWxhdGVfcm91dGVAODoKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6NjQKICAgIC8vIEBhYmltZXRob2QKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTozNwogICAgLy8gY2xhc3MgRXZlcnl0aGluZyhBUkM0Q29udHJhY3QsIE15TWlkZGxlQmFzZSwgbmFtZT0iTXlDb250cmFjdCIpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTo2NAogICAgLy8gQGFiaW1ldGhvZAogICAgY2FsbHN1YiBjYWxjdWxhdGUKICAgIGJ5dGVjXzMgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fc2F5X2hlbGxvX3JvdXRlQDc6CiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5OjU2CiAgICAvLyBAYWJpbWV0aG9kCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIGNhbGxzdWIgc2F5X2hlbGxvCiAgICBieXRlY18zIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX3JlZ2lzdGVyX3JvdXRlQDY6CiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5OjQ3CiAgICAvLyBAYWJpbWV0aG9kKGFsbG93X2FjdGlvbnM9WyJOb09wIiwgIk9wdEluIl0pCiAgICBpbnRjXzAgLy8gMQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgc2hsCiAgICBwdXNoaW50IDMgLy8gMwogICAgJgogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3Qgb25lIG9mIE5vT3AsIE9wdEluCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6MzcKICAgIC8vIGNsYXNzIEV2ZXJ5dGhpbmcoQVJDNENvbnRyYWN0LCBNeU1pZGRsZUJhc2UsIG5hbWU9Ik15Q29udHJhY3QiKToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6NDcKICAgIC8vIEBhYmltZXRob2QoYWxsb3dfYWN0aW9ucz1bIk5vT3AiLCAiT3B0SW4iXSkKICAgIGNhbGxzdWIgcmVnaXN0ZXIKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fY3JlYXRlX3JvdXRlQDU6CiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5OjQxCiAgICAvLyBAYWJpbWV0aG9kKGNyZWF0ZT0icmVxdWlyZSIpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgIQogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBjcmVhdGluZwogICAgY2FsbHN1YiBjcmVhdGUKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0X2Nhc2VzLmV2ZXJ5dGhpbmcuY29udHJhY3QuRXZlcnl0aGluZy5jcmVhdGUoKSAtPiB2b2lkOgpjcmVhdGU6CiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5Ojc5CiAgICAvLyBhc3NlcnQgb3AuVHhuLnNlbmRlciAhPSBnZXRfYmFubmVkKCksICJZb3UgYXJlIGJhbm5lZCwgZ29vZGJ5ZSIKICAgIHR4biBTZW5kZXIKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6MjUKICAgIC8vIGFkZHIgPSBBY2NvdW50KEJBTk5FRCkKICAgIGJ5dGVjXzEgLy8gYWRkciBWQ01KS1dPWTVQNVA3U0tNWkZGT0NFUk9QSkNaT1RJSk1OSVlOVUNLSDdMUk80NUpNSlA2VVlCSUpBCiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5Ojc5CiAgICAvLyBhc3NlcnQgb3AuVHhuLnNlbmRlciAhPSBnZXRfYmFubmVkKCksICJZb3UgYXJlIGJhbm5lZCwgZ29vZGJ5ZSIKICAgICE9CiAgICBhc3NlcnQgLy8gWW91IGFyZSBiYW5uZWQsIGdvb2RieWUKICAgIC8vIGV2ZXJ5dGhpbmcvbXlfYmFzZS5weTo5CiAgICAvLyBzZWxmLmNyZWF0b3IgPSBvcC5UeG4uc2VuZGVyCiAgICBwdXNoYnl0ZXMgImNyZWF0b3IiCiAgICB0eG4gU2VuZGVyCiAgICBhcHBfZ2xvYmFsX3B1dAogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTo0NQogICAgLy8gc2VsZi5jb3VudGVyID0gVUludDY0KFpFUk8pCiAgICBieXRlY18wIC8vICJjb3VudGVyIgogICAgaW50Y18xIC8vIDAKICAgIGFwcF9nbG9iYWxfcHV0CiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmV2ZXJ5dGhpbmcuY29udHJhY3QuRXZlcnl0aGluZy5yZWdpc3RlcihuYW1lOiBieXRlcykgLT4gdm9pZDoKcmVnaXN0ZXI6CiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5OjQ3LTQ4CiAgICAvLyBAYWJpbWV0aG9kKGFsbG93X2FjdGlvbnM9WyJOb09wIiwgIk9wdEluIl0pCiAgICAvLyBkZWYgcmVnaXN0ZXIoc2VsZiwgbmFtZTogU3RyaW5nKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5Ojc5CiAgICAvLyBhc3NlcnQgb3AuVHhuLnNlbmRlciAhPSBnZXRfYmFubmVkKCksICJZb3UgYXJlIGJhbm5lZCwgZ29vZGJ5ZSIKICAgIHR4biBTZW5kZXIKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6MjUKICAgIC8vIGFkZHIgPSBBY2NvdW50KEJBTk5FRCkKICAgIGJ5dGVjXzEgLy8gYWRkciBWQ01KS1dPWTVQNVA3U0tNWkZGT0NFUk9QSkNaT1RJSk1OSVlOVUNLSDdMUk80NUpNSlA2VVlCSUpBCiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5Ojc5CiAgICAvLyBhc3NlcnQgb3AuVHhuLnNlbmRlciAhPSBnZXRfYmFubmVkKCksICJZb3UgYXJlIGJhbm5lZCwgZ29vZGJ5ZSIKICAgICE9CiAgICBhc3NlcnQgLy8gWW91IGFyZSBiYW5uZWQsIGdvb2RieWUKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6NTAKICAgIC8vIGlmIG9wLlR4bi5vbl9jb21wbGV0aW9uID09IE9uQ29tcGxldGVBY3Rpb24uT3B0SW46CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBpbnRjXzAgLy8gT3B0SW4KICAgID09CiAgICBieiByZWdpc3Rlcl9hZnRlcl9pZl9lbHNlQDQKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6NTEKICAgIC8vIHNlbmRlcl9uYW1lLCBzZW5kZXJfbmFtZV9leGlzdGVkID0gc2VsZi5uYW1lLm1heWJlKGFjY291bnQ9MCkKICAgIGludGNfMSAvLyAwCiAgICBkdXAKICAgIGJ5dGVjXzIgLy8gIm5hbWUiCiAgICBhcHBfbG9jYWxfZ2V0X2V4CiAgICBidXJ5IDEKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6NTIKICAgIC8vIGlmIG5vdCBzZW5kZXJfbmFtZV9leGlzdGVkOgogICAgYm56IHJlZ2lzdGVyX2FmdGVyX2lmX2Vsc2VANAogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTo1MwogICAgLy8gc2VsZi5jb3VudGVyICs9IG11bHRpcGxpY2F0aXZlX2lkZW50aXR5KCkgICMgaGFzIGZ1bGwgRnVuY0RlZgogICAgaW50Y18xIC8vIDAKICAgIGJ5dGVjXzAgLy8gImNvdW50ZXIiCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuY291bnRlciBleGlzdHMKICAgIC8vIGV2ZXJ5dGhpbmcvbXlfYmFzZS5weToyMAogICAgLy8gcmV0dXJuIFVJbnQ2NCgxKQogICAgaW50Y18wIC8vIDEKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6NTMKICAgIC8vIHNlbGYuY291bnRlciArPSBtdWx0aXBsaWNhdGl2ZV9pZGVudGl0eSgpICAjIGhhcyBmdWxsIEZ1bmNEZWYKICAgICsKICAgIGJ5dGVjXzAgLy8gImNvdW50ZXIiCiAgICBzd2FwCiAgICBhcHBfZ2xvYmFsX3B1dAoKcmVnaXN0ZXJfYWZ0ZXJfaWZfZWxzZUA0OgogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTo1NAogICAgLy8gc2VsZi5uYW1lWzBdID0gbmFtZQogICAgaW50Y18xIC8vIDAKICAgIGJ5dGVjXzIgLy8gIm5hbWUiCiAgICBmcmFtZV9kaWcgLTEKICAgIGFwcF9sb2NhbF9wdXQKICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuZXZlcnl0aGluZy5jb250cmFjdC5FdmVyeXRoaW5nLnNheV9oZWxsbygpIC0+IGJ5dGVzOgpzYXlfaGVsbG86CiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5OjU2LTU3CiAgICAvLyBAYWJpbWV0aG9kCiAgICAvLyBkZWYgc2F5X2hlbGxvKHNlbGYpIC0+IFN0cmluZzoKICAgIHByb3RvIDAgMQogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTo3OQogICAgLy8gYXNzZXJ0IG9wLlR4bi5zZW5kZXIgIT0gZ2V0X2Jhbm5lZCgpLCAiWW91IGFyZSBiYW5uZWQsIGdvb2RieWUiCiAgICB0eG4gU2VuZGVyCiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5OjI1CiAgICAvLyBhZGRyID0gQWNjb3VudChCQU5ORUQpCiAgICBieXRlY18xIC8vIGFkZHIgVkNNSktXT1k1UDVQN1NLTVpGRk9DRVJPUEpDWk9USUpNTklZTlVDS0g3TFJPNDVKTUpQNlVZQklKQQogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTo3OQogICAgLy8gYXNzZXJ0IG9wLlR4bi5zZW5kZXIgIT0gZ2V0X2Jhbm5lZCgpLCAiWW91IGFyZSBiYW5uZWQsIGdvb2RieWUiCiAgICAhPQogICAgYXNzZXJ0IC8vIFlvdSBhcmUgYmFubmVkLCBnb29kYnllCiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5OjU5CiAgICAvLyBuYW1lLCBleGlzdHMgPSBzZWxmLm5hbWUubWF5YmUoYWNjb3VudD0wKQogICAgaW50Y18xIC8vIDAKICAgIGR1cAogICAgYnl0ZWNfMiAvLyAibmFtZSIKICAgIGFwcF9sb2NhbF9nZXRfZXgKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6NjAKICAgIC8vIGlmIG5vdCBleGlzdHM6CiAgICBibnogc2F5X2hlbGxvX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTo2MQogICAgLy8gcmV0dXJuIFN0cmluZygiSG93ZHkgc3RyYW5nZXIhIikKICAgIHB1c2hieXRlcyAweDAwMGY0ODZmNzc2NDc5MjA3Mzc0NzI2MTZlNjc2NTcyMjEKICAgIHN3YXAKICAgIHJldHN1YgoKc2F5X2hlbGxvX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6NjIKICAgIC8vIHJldHVybiAiSGVsbG8sICIgKyBuYW1lICsgIiEiCiAgICBmcmFtZV9kaWcgMAogICAgZXh0cmFjdCAyIDAKICAgIHB1c2hieXRlcyAweDQ4NjU2YzZjNmYyYzIwCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGR1cAogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgc3dhcAogICAgY29uY2F0CiAgICBleHRyYWN0IDIgMAogICAgcHVzaGJ5dGVzIDB4MjEKICAgIGNvbmNhdAogICAgZHVwCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuZXZlcnl0aGluZy5jb250cmFjdC5FdmVyeXRoaW5nLmNhbGN1bGF0ZShhOiBieXRlcywgYjogYnl0ZXMpIC0+IGJ5dGVzOgpjYWxjdWxhdGU6CiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5OjY0LTY1CiAgICAvLyBAYWJpbWV0aG9kCiAgICAvLyBkZWYgY2FsY3VsYXRlKHNlbGYsIGE6IGFyYzRfVUludDY0LCBiOiBhcmM0X1VJbnQ2NCkgLT4gYXJjNF9VSW50NjQ6CiAgICBwcm90byAyIDEKICAgIC8vIGV2ZXJ5dGhpbmcvbXlfYmFzZS5weToxNQogICAgLy8gcmV0dXJuIGFyYzQuVUludDY0KGEubmF0aXZlICsgYi5uYXRpdmUpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJ0b2kKICAgIGZyYW1lX2RpZyAtMQogICAgYnRvaQogICAgc3dhcAogICAgZGlnIDEKICAgICsKICAgIGl0b2IKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6NjcKICAgIC8vIHJldHVybiBhcmM0X1VJbnQ2NChjLm5hdGl2ZSAqIGIubmF0aXZlKQogICAgYnRvaQogICAgKgogICAgaXRvYgogICAgcmV0c3ViCgoKLy8gdGVzdF9jYXNlcy5ldmVyeXRoaW5nLmNvbnRyYWN0LkV2ZXJ5dGhpbmcuY2xvc2Vfb3V0KCkgLT4gdm9pZDoKY2xvc2Vfb3V0OgogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTo4MwogICAgLy8gc2VsZi5jb3VudGVyIC09IHBvc2l0aXZlX29uZSgpCiAgICBpbnRjXzEgLy8gMAogICAgYnl0ZWNfMCAvLyAiY291bnRlciIKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5jb3VudGVyIGV4aXN0cwogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTo4OAogICAgLy8gcmV0dXJuIFVJbnQ2NCgxKQogICAgaW50Y18wIC8vIDEKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6ODMKICAgIC8vIHNlbGYuY291bnRlciAtPSBwb3NpdGl2ZV9vbmUoKQogICAgLQogICAgYnl0ZWNfMCAvLyAiY291bnRlciIKICAgIHN3YXAKICAgIGFwcF9nbG9iYWxfcHV0CiAgICByZXRzdWIK", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyB0ZXN0X2Nhc2VzLmV2ZXJ5dGhpbmcuY29udHJhY3QuRXZlcnl0aGluZy5jbGVhcl9zdGF0ZV9wcm9ncmFtKCkgLT4gdWludDY0OgptYWluOgogICAgYnl0ZWNibG9jayAiY291bnRlciIKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6ODMKICAgIC8vIHNlbGYuY291bnRlciAtPSBwb3NpdGl2ZV9vbmUoKQogICAgcHVzaGludCAwIC8vIDAKICAgIGJ5dGVjXzAgLy8gImNvdW50ZXIiCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuY291bnRlciBleGlzdHMKICAgIC8vIGV2ZXJ5dGhpbmcvY29udHJhY3QucHk6ODgKICAgIC8vIHJldHVybiBVSW50NjQoMSkKICAgIHB1c2hpbnQgMSAvLyAxCiAgICAvLyBldmVyeXRoaW5nL2NvbnRyYWN0LnB5OjgzCiAgICAvLyBzZWxmLmNvdW50ZXIgLT0gcG9zaXRpdmVfb25lKCkKICAgIC0KICAgIGJ5dGVjXzAgLy8gImNvdW50ZXIiCiAgICBzd2FwCiAgICBhcHBfZ2xvYmFsX3B1dAogICAgLy8gZXZlcnl0aGluZy9jb250cmFjdC5weTo3NQogICAgLy8gcmV0dXJuIFRydWUKICAgIHB1c2hpbnQgMSAvLyAxCiAgICByZXR1cm4K" }, "byteCode": { "approval": "CiACAQAmBAdjb3VudGVyIKiYlVnY6/r/yUzJSuESLnpFl00JY1GG0Eo/1xdzqWJfBG5hbWUEFR98dTEbQQAqggUETFxhugS9YJnlBF1chMcE/QcmTgQWWKovNhoAjgUASQA2ACYAEAACI0MxGYECEkQxGESIAOMiQzEZFEQxGEQ2GgE2GgKIAL8rTFCwIkMxGRREMRhEiABiK0xQsCJDIjEZkIEDGkQxGEQ2GgGIACQiQzEZFEQxGBREiAACIkMxACkTRIAHY3JlYXRvcjEAZygjZ4mKAQAxACkTRDEZIhJBABIjSSpjRQFAAAkjKGVEIggoTGcjKov/ZomKAAExACkTRCNJKmNAABWAEQAPSG93ZHkgc3RyYW5nZXIhTImLAFcCAIAHSGVsbG8sIExQSRUWVwYCTFBXAgCAASFQSRUWVwYCTFBMiYoCAYv+F4v/F0xLAQgWFwsWiSMoZUQiCShMZ4k=", "clear": "CiYBB2NvdW50ZXKBAChlRIEBCShMZ4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 99, "minor": 99, "patch": 99 } }, "events": [], "templateVariables": {} }