{ "name": "Arc4CloneAlgo", "structs": { "SharedStruct": [ { "name": "foo", "type": "byte[]" }, { "name": "bar", "type": "uint8" } ], "TopLevelStruct": [ { "name": "a", "type": "uint64" }, { "name": "b", "type": "string" }, { "name": "shared", "type": "SharedStruct" } ] }, "methods": [ { "name": "aliasing", "args": [ { "type": "uint64[]", "name": "mutable" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "receive", "args": [ { "type": "uint64[]", "name": "mutable" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "receiveReadonly", "args": [ { "type": "uint64[]", "name": "a" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "structReturn", "args": [ { "type": "(uint64,string,(byte[],uint8))", "struct": "TopLevelStruct", "name": "arg" } ], "returns": { "type": "(byte[],uint8)", "struct": "SharedStruct" }, "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": [ 148, 171, 194, 235, 276 ], "errorMessage": "invalid array length header" }, { "pc": [ 289 ], "errorMessage": "invalid number of bytes for TopLevelStruct" }, { "pc": [ 157, 180, 203 ], "errorMessage": "invalid number of bytes for arc4.dynamic_array" }, { "pc": [ 271 ], "errorMessage": "invalid tail pointer at index 0 of ((len+uint8[]),uint8)" }, { "pc": [ 226 ], "errorMessage": "invalid tail pointer at index 1 of (uint64,(len+utf8[]),((len+uint8[]),uint8))" }, { "pc": [ 252 ], "errorMessage": "invalid tail pointer at index 2 of (uint64,(len+utf8[]),((len+uint8[]),uint8))" }, { "pc": [ 221, 247, 266 ], "errorMessage": "invalid tuple encoding" }, { "pc": [ 380 ], "errorMessage": "this won't error" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMCAxIDIgOAogICAgYiBtYWluX2Jsb2NrQDAKCm1haW5fYmxvY2tAMDoKICAgIGIgbWFpbl9ibG9ja0AxCgptYWluX2Jsb2NrQDE6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjE2CiAgICAvLyBleHBvcnQgY2xhc3MgQXJjNENsb25lQWxnbyBleHRlbmRzIENvbnRyYWN0IHsKICAgIHR4biBOdW1BcHBBcmdzCiAgICBpbnRjXzAgLy8gMAogICAgIT0KICAgIGJ6IG1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDExCiAgICBiIG1haW5fYWJpX3JvdXRpbmdAMgoKbWFpbl9hYmlfcm91dGluZ0AyOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czoxNgogICAgLy8gZXhwb3J0IGNsYXNzIEFyYzRDbG9uZUFsZ28gZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBpbnRjXzAgLy8gTm9PcAogICAgPT0KICAgIGFzc2VydAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGludGNfMCAvLyAwCiAgICAhPQogICAgYnogbWFpbl9jcmVhdGVfTm9PcEA5CiAgICBiIG1haW5fY2FsbF9Ob09wQDMKCm1haW5fY2FsbF9Ob09wQDM6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjE2CiAgICAvLyBleHBvcnQgY2xhc3MgQXJjNENsb25lQWxnbyBleHRlbmRzIENvbnRyYWN0IHsKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDAKICAgIHB1c2hieXRlcyAweDM5OGUyNzBkIC8vIG1ldGhvZCAiYWxpYXNpbmcodWludDY0W10pdm9pZCIKICAgIHB1c2hieXRlcyAweDgwYWNiZTEwIC8vIG1ldGhvZCAicmVjZWl2ZSh1aW50NjRbXSl2b2lkIgogICAgcHVzaGJ5dGVzIDB4ZTIxM2Y1YjYgLy8gbWV0aG9kICJyZWNlaXZlUmVhZG9ubHkodWludDY0W10pdm9pZCIKICAgIHB1c2hieXRlcyAweDYzZTQwZThkIC8vIG1ldGhvZCAic3RydWN0UmV0dXJuKCh1aW50NjQsc3RyaW5nLChieXRlW10sdWludDgpKSkoYnl0ZVtdLHVpbnQ4KSIKICAgIHVuY292ZXIgNAogICAgbWF0Y2ggbWFpbl9hbGlhc2luZ19yb3V0ZUA0IG1haW5fcmVjZWl2ZV9yb3V0ZUA1IG1haW5fcmVjZWl2ZVJlYWRvbmx5X3JvdXRlQDYgbWFpbl9zdHJ1Y3RSZXR1cm5fcm91dGVANwogICAgYiBtYWluX3N3aXRjaF9jYXNlX25leHRAOAoKbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDg6CiAgICBiIG1haW5fYWZ0ZXJfaWZfZWxzZUAxMAoKbWFpbl9hZnRlcl9pZl9lbHNlQDEwOgogICAgYiBtYWluX2FmdGVyX2lmX2Vsc2VAMTIKCm1haW5fYWZ0ZXJfaWZfZWxzZUAxMjoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6MTYKICAgIC8vIGV4cG9ydCBjbGFzcyBBcmM0Q2xvbmVBbGdvIGV4dGVuZHMgQ29udHJhY3QgewogICAgZXJyCgptYWluX3N0cnVjdFJldHVybl9yb3V0ZUA3OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo1MwogICAgLy8gc3RydWN0UmV0dXJuKGFyZzogVG9wTGV2ZWxTdHJ1Y3QpOiBTaGFyZWRTdHJ1Y3QgewogICAgY2FsbHN1YiBzdHJ1Y3RSZXR1cm4KICAgIGIgbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDgKCm1haW5fcmVjZWl2ZVJlYWRvbmx5X3JvdXRlQDY6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjUxCiAgICAvLyByZWNlaXZlUmVhZG9ubHkoYTogcmVhZG9ubHkgdWludDY0W10pIHt9CiAgICBjYWxsc3ViIHJlY2VpdmVSZWFkb25seQogICAgYiBtYWluX3N3aXRjaF9jYXNlX25leHRAOAoKbWFpbl9yZWNlaXZlX3JvdXRlQDU6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjQ5CiAgICAvLyByZWNlaXZlKG11dGFibGU6IHVpbnQ2NFtdKSB7fQogICAgY2FsbHN1YiByZWNlaXZlCiAgICBiIG1haW5fc3dpdGNoX2Nhc2VfbmV4dEA4CgptYWluX2FsaWFzaW5nX3JvdXRlQDQ6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjE3CiAgICAvLyBhbGlhc2luZyhtdXRhYmxlOiB1aW50NjRbXSkgewogICAgY2FsbHN1YiBhbGlhc2luZwogICAgYiBtYWluX3N3aXRjaF9jYXNlX25leHRAOAoKbWFpbl9jcmVhdGVfTm9PcEA5OgogICAgYiBtYWluX2FmdGVyX2lmX2Vsc2VAMTAKCm1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDExOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czoxNgogICAgLy8gZXhwb3J0IGNsYXNzIEFyYzRDbG9uZUFsZ28gZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBpbnRjXzAgLy8gTm9PcAogICAgPT0KICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBpbnRjXzAgLy8gMAogICAgPT0KICAgICYmCiAgICBhc3NlcnQKICAgIGNhbGxzdWIgX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo6ZWNobyhzOiBieXRlcykgLT4gYnl0ZXMsIGJ5dGVzOgplY2hvOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo2MAogICAgLy8gZnVuY3Rpb24gZWNobyhzOiBTaGFyZWRTdHJ1Y3QpOiBTaGFyZWRTdHJ1Y3QgewogICAgcHJvdG8gMSAyCiAgICBiIGVjaG9fYmxvY2tAMAoKZWNob19ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo2MQogICAgLy8gcmV0dXJuIHMKICAgIGZyYW1lX2RpZyAtMQogICAgZnJhbWVfZGlnIC0xCiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLmFsaWFzaW5nW3JvdXRpbmddKCkgLT4gdm9pZDoKYWxpYXNpbmc6CiAgICBiIGFsaWFzaW5nX2Jsb2NrQDAKCmFsaWFzaW5nX2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjE3CiAgICAvLyBhbGlhc2luZyhtdXRhYmxlOiB1aW50NjRbXSkgewogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8dWludDY0PgogICAgY2FsbHN1YiB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLmFsaWFzaW5nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo6QXJjNENsb25lQWxnby5yZWNlaXZlW3JvdXRpbmddKCkgLT4gdm9pZDoKcmVjZWl2ZToKICAgIGIgcmVjZWl2ZV9ibG9ja0AwCgpyZWNlaXZlX2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjQ5CiAgICAvLyByZWNlaXZlKG11dGFibGU6IHVpbnQ2NFtdKSB7fQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8dWludDY0PgogICAgY2FsbHN1YiB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLnJlY2VpdmUKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLnJlY2VpdmVSZWFkb25seVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnJlY2VpdmVSZWFkb25seToKICAgIGIgcmVjZWl2ZVJlYWRvbmx5X2Jsb2NrQDAKCnJlY2VpdmVSZWFkb25seV9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo1MQogICAgLy8gcmVjZWl2ZVJlYWRvbmx5KGE6IHJlYWRvbmx5IHVpbnQ2NFtdKSB7fQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8dWludDY0PgogICAgY2FsbHN1YiB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLnJlY2VpdmVSZWFkb25seQogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKCi8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6OkFyYzRDbG9uZUFsZ28uc3RydWN0UmV0dXJuW3JvdXRpbmddKCkgLT4gdm9pZDoKc3RydWN0UmV0dXJuOgogICAgYiBzdHJ1Y3RSZXR1cm5fYmxvY2tAMAoKc3RydWN0UmV0dXJuX2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjUzCiAgICAvLyBzdHJ1Y3RSZXR1cm4oYXJnOiBUb3BMZXZlbFN0cnVjdCk6IFNoYXJlZFN0cnVjdCB7CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIGxlbgogICAgY292ZXIgMQogICAgZHVwCiAgICBpbnRjXzMgLy8gOAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgdHVwbGUgZW5jb2RpbmcKICAgIGR1cAogICAgcHVzaGludCAxMgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIHRhaWwgcG9pbnRlciBhdCBpbmRleCAxIG9mICh1aW50NjQsKGxlbit1dGY4W10pLCgobGVuK3VpbnQ4W10pLHVpbnQ4KSkKICAgIGRpZyAxCiAgICB1bmNvdmVyIDEKICAgIGRpZyAzCiAgICBzdWJzdHJpbmczCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18xIC8vIDEKICAgICoKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBwdXNoaW50IDEyCiAgICArCiAgICBkaWcgMQogICAgcHVzaGludCAxMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgdHVwbGUgZW5jb2RpbmcKICAgIGR1cAogICAgZGlnIDIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCB0YWlsIHBvaW50ZXIgYXQgaW5kZXggMiBvZiAodWludDY0LChsZW4rdXRmOFtdKSwoKGxlbit1aW50OFtdKSx1aW50OCkpCiAgICBkaWcgMgogICAgdW5jb3ZlciAxCiAgICB1bmNvdmVyIDQKICAgIHN1YnN0cmluZzMKICAgIGR1cAogICAgbGVuCiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCB0dXBsZSBlbmNvZGluZwogICAgZHVwCiAgICBwdXNoaW50IDMKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCB0YWlsIHBvaW50ZXIgYXQgaW5kZXggMCBvZiAoKGxlbit1aW50OFtdKSx1aW50OCkKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGludGNfMSAvLyAxCiAgICAqCiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgcHVzaGludCAzCiAgICArCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBUb3BMZXZlbFN0cnVjdAogICAgY2FsbHN1YiB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLnN0cnVjdFJldHVybgogICAgcHVzaGJ5dGVzIDB4MTUxZjdjNzUKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLmFsaWFzaW5nKG11dGFibGU6IGJ5dGVzKSAtPiB2b2lkOgp0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLmFsaWFzaW5nOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czoxNwogICAgLy8gYWxpYXNpbmcobXV0YWJsZTogdWludDY0W10pIHsKICAgIHByb3RvIDEgMAogICAgYiB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLmFsaWFzaW5nX2Jsb2NrQDAKCnRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6OkFyYzRDbG9uZUFsZ28uYWxpYXNpbmdfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6MzAKICAgIC8vIHRoaXMucmVjZWl2ZSgoeiA9IGNsb25lKG11dGFibGUpKSkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLnJlY2VpdmUKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6MzIKICAgIC8vIHRoaXMucmVjZWl2ZVJlYWRvbmx5KG11dGFibGUpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo6QXJjNENsb25lQWxnby5yZWNlaXZlUmVhZG9ubHkKICAgIHJldHN1YgoKCi8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6OkFyYzRDbG9uZUFsZ28ucmVjZWl2ZShtdXRhYmxlOiBieXRlcykgLT4gYnl0ZXM6CnRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6OkFyYzRDbG9uZUFsZ28ucmVjZWl2ZToKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6NDkKICAgIC8vIHJlY2VpdmUobXV0YWJsZTogdWludDY0W10pIHt9CiAgICBwcm90byAxIDEKICAgIGIgdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo6QXJjNENsb25lQWxnby5yZWNlaXZlX2Jsb2NrQDAKCnRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6OkFyYzRDbG9uZUFsZ28ucmVjZWl2ZV9ibG9ja0AwOgogICAgZnJhbWVfZGlnIC0xCiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLnJlY2VpdmVSZWFkb25seShhOiBieXRlcykgLT4gdm9pZDoKdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo6QXJjNENsb25lQWxnby5yZWNlaXZlUmVhZG9ubHk6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjUxCiAgICAvLyByZWNlaXZlUmVhZG9ubHkoYTogcmVhZG9ubHkgdWludDY0W10pIHt9CiAgICBwcm90byAxIDAKICAgIGIgdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo6QXJjNENsb25lQWxnby5yZWNlaXZlUmVhZG9ubHlfYmxvY2tAMAoKdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo6QXJjNENsb25lQWxnby5yZWNlaXZlUmVhZG9ubHlfYmxvY2tAMDoKICAgIHJldHN1YgoKCi8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6OkFyYzRDbG9uZUFsZ28uc3RydWN0UmV0dXJuKGFyZzogYnl0ZXMpIC0+IGJ5dGVzOgp0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLnN0cnVjdFJldHVybjoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6NTMKICAgIC8vIHN0cnVjdFJldHVybihhcmc6IFRvcExldmVsU3RydWN0KTogU2hhcmVkU3RydWN0IHsKICAgIHByb3RvIDEgMQogICAgYiB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLnN0cnVjdFJldHVybl9ibG9ja0AwCgp0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLnN0cnVjdFJldHVybl9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtY2xvbmUuYWxnby50czo1NQogICAgLy8gYXNzZXJ0KGFyZy5zaGFyZWQgPT09IGVjaG8oYXJnLnNoYXJlZCksICJ0aGlzIHdvbid0IGVycm9yIikKICAgIGZyYW1lX2RpZyAtMQogICAgcHVzaGludCAxMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBmcmFtZV9kaWcgLTEKICAgIHVuY292ZXIgMgogICAgdW5jb3ZlciAyCiAgICBzdWJzdHJpbmczCiAgICBmcmFtZV9kaWcgLTEKICAgIHB1c2hpbnQgMTAKICAgIGV4dHJhY3RfdWludDE2CiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgZnJhbWVfZGlnIC0xCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgY2FsbHN1YiBlY2hvCiAgICBjb3ZlciAyCiAgICA9PQogICAgYXNzZXJ0IC8vIHRoaXMgd29uJ3QgZXJyb3IKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWNsb25lLmFsZ28udHM6NTYKICAgIC8vIHJldHVybiBhcmcuc2hhcmVkCiAgICBmcmFtZV9kaWcgLTEKICAgIHB1c2hpbnQgMTAKICAgIGV4dHJhY3RfdWludDE2CiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgZnJhbWVfZGlnIC0xCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgdW5jb3ZlciAxCiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1jbG9uZS5hbGdvLnRzOjpBcmM0Q2xvbmVBbGdvLl9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZSgpIC0+IHZvaWQ6Cl9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZToKICAgIGIgX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlX2Jsb2NrQDAKCl9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZV9ibG9ja0AwOgogICAgcmV0c3ViCg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBiIG1haW5fYmxvY2tAMAoKbWFpbl9ibG9ja0AwOgogICAgcHVzaGludCAxCiAgICByZXR1cm4K" }, "byteCode": { "approval": "CyAEAAECCEIAAEIAADEbIhNBAF5CAAAxGSISRDEYIhNBAExCAAA2GgCABDmOJw2ABICsvhCABOIT9baABGPkDo1PBI4EABwAFgAQAApCAABCAABCAAAAiAB3Qv/ziABaQv/tiAA9Qv/niAAgQv/hQv/hMRkiEjEYIhIQRIgBECNDigECQgAAi/+L/4lCAAA2GgFJIlklCyQISwEVEkSIAJAjQ0IAADYaAUkiWSULJAhLARUSRIgAiiNDQgAANhoBSSJZJQskCEsBFRJEiAB8I0NCAAA2GgFJFU4BSSVZSYEMEkRLAU8BSwNSIlkjCyQIgQwISwGBCllJSwISREsCTwFPBFJJFU4BSSJZSYEDEkRPAlIiWSMLJAiBAwgISwEVEkSIAC2ABBUffHVPAVCwI0OKAQBCAACL/4gABov/iAAKiYoBAUIAAIv/iYoBAEIAAImKAQFCAACL/4EKWYv/FYv/TwJPAlKL/4EKWYv/FYv/TwJPAlKI/whOAhJEi/+BClmL/xWL/08CTwJSTwGJQgAAiQ==", "clear": "C0IAAIEBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 10, "patch": 0 } }, "events": [], "templateVariables": {} }