{ "name": "LibPcg32TestHarnessAlgoTs", "structs": {}, "methods": [ { "name": "get_pcg32_sequence_arc4_uint32_return", "args": [ { "type": "byte[8]", "name": "seed" }, { "type": "uint32", "name": "lower_bound" }, { "type": "uint32", "name": "upper_bound" }, { "type": "uint16", "name": "length" } ], "returns": { "type": "uint32[]" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "get_pcg32_sequence_arc4_uint16_return", "args": [ { "type": "byte[8]", "name": "seed" }, { "type": "uint16", "name": "lower_bound" }, { "type": "uint16", "name": "upper_bound" }, { "type": "uint16", "name": "length" } ], "returns": { "type": "uint16[]" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "get_pcg32_sequence_arc4_uint8_return", "args": [ { "type": "byte[8]", "name": "seed" }, { "type": "uint8", "name": "lower_bound" }, { "type": "uint8", "name": "upper_bound" }, { "type": "uint16", "name": "length" } ], "returns": { "type": "uint8[]" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "runtime_asserts_pcg32_stack_array", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "runtime_asserts_pcg16_stack_array", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "runtime_asserts_pcg8_stack_array", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "runtime_failure_stack_byteslice_overflow", "args": [], "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": [ 611, 675, 737 ], "errorMessage": "invalid number of bytes for arc4.static_array" }, { "pc": [ 637, 683, 691, 699, 761 ], "errorMessage": "invalid number of bytes for arc4.uint16" }, { "pc": [ 620, 629 ], "errorMessage": "invalid number of bytes for arc4.uint32" }, { "pc": [ 745, 753 ], "errorMessage": "invalid number of bytes for arc4.uint8" }, { "pc": [ 299 ], "errorMessage": "overflow" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMSA4IDAgMiA2MzY0MTM2MjIzODQ2NzkzMDA1IDE0NDI2OTUwNDA4ODg5NjM0MDcgNDI5NDk2NzI5NQogICAgYnl0ZWNibG9jayAweDAwMGEgMHgxNTFmN2M3NQogICAgdHhuIE51bUFwcEFyZ3MKICAgIGJ6IG1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDE0CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQKICAgIHB1c2hieXRlc3MgMHgwYzg0NzhmYiAweGFlNzhlNmUwIDB4ODlkN2Y1NGEgMHgxM2I5NTJkNyAweGQyMDcxNjIzIDB4YzIyZDE4ZGYgMHg2YzBiNDg5OCAvLyBtZXRob2QgImdldF9wY2czMl9zZXF1ZW5jZV9hcmM0X3VpbnQzMl9yZXR1cm4oYnl0ZVs4XSx1aW50MzIsdWludDMyLHVpbnQxNil1aW50MzJbXSIsIG1ldGhvZCAiZ2V0X3BjZzMyX3NlcXVlbmNlX2FyYzRfdWludDE2X3JldHVybihieXRlWzhdLHVpbnQxNix1aW50MTYsdWludDE2KXVpbnQxNltdIiwgbWV0aG9kICJnZXRfcGNnMzJfc2VxdWVuY2VfYXJjNF91aW50OF9yZXR1cm4oYnl0ZVs4XSx1aW50OCx1aW50OCx1aW50MTYpdWludDhbXSIsIG1ldGhvZCAicnVudGltZV9hc3NlcnRzX3BjZzMyX3N0YWNrX2FycmF5KCl2b2lkIiwgbWV0aG9kICJydW50aW1lX2Fzc2VydHNfcGNnMTZfc3RhY2tfYXJyYXkoKXZvaWQiLCBtZXRob2QgInJ1bnRpbWVfYXNzZXJ0c19wY2c4X3N0YWNrX2FycmF5KCl2b2lkIiwgbWV0aG9kICJydW50aW1lX2ZhaWx1cmVfc3RhY2tfYnl0ZXNsaWNlX292ZXJmbG93KCl2b2lkIgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgbWF0Y2ggZ2V0X3BjZzMyX3NlcXVlbmNlX2FyYzRfdWludDMyX3JldHVybiBnZXRfcGNnMzJfc2VxdWVuY2VfYXJjNF91aW50MTZfcmV0dXJuIGdldF9wY2czMl9zZXF1ZW5jZV9hcmM0X3VpbnQ4X3JldHVybiBydW50aW1lX2Fzc2VydHNfcGNnMzJfc3RhY2tfYXJyYXkgcnVudGltZV9hc3NlcnRzX3BjZzE2X3N0YWNrX2FycmF5IHJ1bnRpbWVfYXNzZXJ0c19wY2c4X3N0YWNrX2FycmF5IHJ1bnRpbWVfZmFpbHVyZV9zdGFja19ieXRlc2xpY2Vfb3ZlcmZsb3cKICAgIGVycgoKbWFpbl9fX2FsZ290c19fLmRlZmF1bHRDcmVhdGVAMTQ6CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgIQogICAgJiYKICAgIHJldHVybgoKCi8vIGxpYl9wY2cvcGNnMzIuYWxnby50czo6cGNnMzJJbml0KHNlZWQ6IGJ5dGVzKSAtPiB1aW50NjQ6CnBjZzMySW5pdDoKICAgIHByb3RvIDEgMQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0CiAgICBmcmFtZV9kaWcgLTEKICAgIGJ0b2kKICAgIGludGNfMiAvLyAwCiAgICBpbnRjIDQgLy8gNjM2NDEzNjIyMzg0Njc5MzAwNQogICAgbXVsdwogICAgYnVyeSAxCiAgICBpbnRjIDUgLy8gMTQ0MjY5NTA0MDg4ODk2MzQwNwogICAgYWRkdwogICAgYnVyeSAxCiAgICBhZGR3CiAgICBidXJ5IDEKICAgIGludGMgNCAvLyA2MzY0MTM2MjIzODQ2NzkzMDA1CiAgICBtdWx3CiAgICBidXJ5IDEKICAgIGludGMgNSAvLyAxNDQyNjk1MDQwODg4OTYzNDA3CiAgICBhZGR3CiAgICBidXJ5IDEKICAgIHJldHN1YgoKCi8vIGxpYl9wY2cvcGNnMzIuYWxnby50czo6cGNnMzJSYW5kb20oc3RhdGU6IHVpbnQ2NCwgbG93ZXJCb3VuZDogdWludDY0LCB1cHBlckJvdW5kOiB1aW50NjQsIGxlbmd0aDogdWludDY0KSAtPiBieXRlczoKcGNnMzJSYW5kb206CiAgICBwcm90byA0IDEKICAgIGZyYW1lX2RpZyAtNAogICAgcHVzaGludCAzMgogICAgZnJhbWVfZGlnIC0zCiAgICBmcmFtZV9kaWcgLTIKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfX3BjZzMyQm91bmRlZFNlcXVlbmNlCiAgICBkdXAKICAgIGV4dHJhY3QgMCA4CiAgICBkaWcgMQogICAgaW50Y18xIC8vIDgKICAgIGV4dHJhY3RfdWludDE2CiAgICBkaWcgMgogICAgbGVuCiAgICB1bmNvdmVyIDMKICAgIGNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGV4dHJhY3QgMiAwCiAgICBzd2FwCiAgICBieXRlY18wIC8vIDB4MDAwYQogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHJldHN1YgoKCi8vIGxpYl9wY2cvcGNnMzIuYWxnby50czo6cGNnMTZSYW5kb20oc3RhdGU6IHVpbnQ2NCwgbG93ZXJCb3VuZDogdWludDY0LCB1cHBlckJvdW5kOiB1aW50NjQsIGxlbmd0aDogdWludDY0KSAtPiBieXRlczoKcGNnMTZSYW5kb206CiAgICBwcm90byA0IDEKICAgIGZyYW1lX2RpZyAtNAogICAgcHVzaGludCAxNgogICAgZnJhbWVfZGlnIC0zCiAgICBmcmFtZV9kaWcgLTIKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfX3BjZzMyQm91bmRlZFNlcXVlbmNlCiAgICBkdXAKICAgIGV4dHJhY3QgMCA4CiAgICBkaWcgMQogICAgaW50Y18xIC8vIDgKICAgIGV4dHJhY3RfdWludDE2CiAgICBkaWcgMgogICAgbGVuCiAgICB1bmNvdmVyIDMKICAgIGNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGV4dHJhY3QgMiAwCiAgICBzd2FwCiAgICBieXRlY18wIC8vIDB4MDAwYQogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHJldHN1YgoKCi8vIGxpYl9wY2cvcGNnMzIuYWxnby50czo6cGNnOFJhbmRvbShzdGF0ZTogdWludDY0LCBsb3dlckJvdW5kOiB1aW50NjQsIHVwcGVyQm91bmQ6IHVpbnQ2NCwgbGVuZ3RoOiB1aW50NjQpIC0+IGJ5dGVzOgpwY2c4UmFuZG9tOgogICAgcHJvdG8gNCAxCiAgICBmcmFtZV9kaWcgLTQKICAgIGludGNfMSAvLyA4CiAgICBmcmFtZV9kaWcgLTMKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9fcGNnMzJCb3VuZGVkU2VxdWVuY2UKICAgIGR1cAogICAgZXh0cmFjdCAwIDgKICAgIGRpZyAxCiAgICBpbnRjXzEgLy8gOAogICAgZXh0cmFjdF91aW50MTYKICAgIGRpZyAyCiAgICBsZW4KICAgIHVuY292ZXIgMwogICAgY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgZXh0cmFjdCAyIDAKICAgIHN3YXAKICAgIGJ5dGVjXzAgLy8gMHgwMDBhCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgcmV0c3ViCgoKLy8gbGliX3BjZy9wY2czMi5hbGdvLnRzOjpfX3BjZzMyQm91bmRlZFNlcXVlbmNlKHN0YXRlOiB1aW50NjQsIGJpdFNpemU6IHVpbnQ2NCwgbG93ZXJCb3VuZDogdWludDY0LCB1cHBlckJvdW5kOiB1aW50NjQsIGxlbmd0aDogdWludDY0KSAtPiBieXRlczoKX19wY2czMkJvdW5kZWRTZXF1ZW5jZToKICAgIHByb3RvIDUgMQogICAgcHVzaGJ5dGVzICIiCiAgICBkdXBuIDQKICAgIGZyYW1lX2RpZyAtMQogICAgcHVzaGludCA2NTUzNgogICAgPAogICAgYXNzZXJ0CiAgICBmcmFtZV9kaWcgLTEKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBwdXNoaW50IDE2CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIC00CiAgICBpbnRjXzEgLy8gOAogICAgPT0KICAgIGJueiBfX3BjZzMyQm91bmRlZFNlcXVlbmNlX2Jvb2xfdHJ1ZUAzCiAgICBmcmFtZV9kaWcgLTQKICAgIHB1c2hpbnQgMTYKICAgID09CiAgICBibnogX19wY2czMkJvdW5kZWRTZXF1ZW5jZV9ib29sX3RydWVAMwogICAgZnJhbWVfZGlnIC00CiAgICBwdXNoaW50IDMyCiAgICA9PQogICAgYnogX19wY2czMkJvdW5kZWRTZXF1ZW5jZV9ib29sX2ZhbHNlQDQKCl9fcGNnMzJCb3VuZGVkU2VxdWVuY2VfYm9vbF90cnVlQDM6CiAgICBpbnRjXzAgLy8gMQoKX19wY2czMkJvdW5kZWRTZXF1ZW5jZV9ib29sX21lcmdlQDU6CiAgICBhc3NlcnQKICAgIGZyYW1lX2RpZyAtNAogICAgcHVzaGludCAzCiAgICBzaHIKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18xIC8vIDgKICAgIHN3YXAKICAgIC0KICAgIGZyYW1lX2RpZyAtMwogICAgYm56IF9fcGNnMzJCb3VuZGVkU2VxdWVuY2VfZWxzZV9ib2R5QDExCiAgICBmcmFtZV9kaWcgLTIKICAgIGJueiBfX3BjZzMyQm91bmRlZFNlcXVlbmNlX2Vsc2VfYm9keUAxMQogICAgaW50Y18yIC8vIDAKICAgIGZyYW1lX2J1cnkgMgogICAgZnJhbWVfZGlnIC01CgpfX3BjZzMyQm91bmRlZFNlcXVlbmNlX3doaWxlX3RvcEA4OgogICAgZnJhbWVfZGlnIDIKICAgIGZyYW1lX2RpZyAtMQogICAgPAogICAgYnogX19wY2czMkJvdW5kZWRTZXF1ZW5jZV9hZnRlcl9pZl9lbHNlQDI0CiAgICBjYWxsc3ViIF9fcGNnMzJVbmJvdW5kZWRSYW5kb20KICAgIGR1cAogICAgaW50Y18yIC8vIDAKICAgIGV4dHJhY3RfdWludDY0CiAgICBzd2FwCiAgICBleHRyYWN0IDggOAogICAgZGlnIDIKICAgIGRpZyA1CiAgICBleHRyYWN0MwogICAgdW5jb3ZlciAzCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGNvdmVyIDIKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAyCiAgICBiIF9fcGNnMzJCb3VuZGVkU2VxdWVuY2Vfd2hpbGVfdG9wQDgKCl9fcGNnMzJCb3VuZGVkU2VxdWVuY2VfYWZ0ZXJfaWZfZWxzZUAyNDoKICAgIHBvcG4gMgogICAgZnJhbWVfZGlnIC01CiAgICBpdG9iCiAgICBzd2FwCiAgICBkdXAKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgYnl0ZWNfMCAvLyAweDAwMGEKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKX19wY2czMkJvdW5kZWRTZXF1ZW5jZV9lbHNlX2JvZHlAMTE6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJ6IF9fcGNnMzJCb3VuZGVkU2VxdWVuY2VfZWxzZV9ib2R5QDEzCiAgICBmcmFtZV9kaWcgLTIKICAgIGludGNfMCAvLyAxCiAgICA+CiAgICBhc3NlcnQKICAgIGludGNfMCAvLyAxCiAgICBmcmFtZV9kaWcgLTQKICAgIHNobAogICAgZnJhbWVfZGlnIC0yCiAgICA+CiAgICBhc3NlcnQKICAgIGZyYW1lX2RpZyAtMgogICAgaW50Y18wIC8vIDEKICAgIC0KICAgIGZyYW1lX2RpZyAtMwogICAgPgogICAgYXNzZXJ0CiAgICBmcmFtZV9kaWcgLTIKICAgIGZyYW1lX2RpZyAtMwogICAgLQogICAgZnJhbWVfYnVyeSAwCgpfX3BjZzMyQm91bmRlZFNlcXVlbmNlX2FmdGVyX2lmX2Vsc2VAMTQ6CiAgICBmcmFtZV9kaWcgMAogICAgZHVwCiAgICB+CiAgICBpbnRjXzAgLy8gMQogICAgYWRkdwogICAgYnVyeSAxCiAgICBpbnRjIDYgLy8gNDI5NDk2NzI5NQogICAgJgogICAgc3dhcAogICAgJQogICAgZnJhbWVfYnVyeSA0CiAgICBpbnRjXzIgLy8gMAogICAgZnJhbWVfYnVyeSAzCiAgICBmcmFtZV9kaWcgLTUKCl9fcGNnMzJCb3VuZGVkU2VxdWVuY2Vfd2hpbGVfdG9wQDE1OgogICAgZnJhbWVfZGlnIDMKICAgIGZyYW1lX2RpZyAtMQogICAgPAogICAgYnogX19wY2czMkJvdW5kZWRTZXF1ZW5jZV9hZnRlcl9pZl9lbHNlQDI0CgpfX3BjZzMyQm91bmRlZFNlcXVlbmNlX3doaWxlX3RvcEAxNzoKICAgIGNhbGxzdWIgX19wY2czMlVuYm91bmRlZFJhbmRvbQogICAgZHVwCiAgICBpbnRjXzIgLy8gMAogICAgZXh0cmFjdF91aW50NjQKICAgIHN3YXAKICAgIGludGNfMSAvLyA4CiAgICBleHRyYWN0X3VpbnQ2NAogICAgZHVwCiAgICBmcmFtZV9idXJ5IDEKICAgIGZyYW1lX2RpZyA0CiAgICA+PQogICAgYnogX19wY2czMkJvdW5kZWRTZXF1ZW5jZV93aGlsZV90b3BAMTcKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgJQogICAgZnJhbWVfZGlnIC0zCiAgICArCiAgICBpdG9iCiAgICBkaWcgMgogICAgZGlnIDUKICAgIGV4dHJhY3QzCiAgICB1bmNvdmVyIDMKICAgIHN3YXAKICAgIGNvbmNhdAogICAgY292ZXIgMgogICAgZnJhbWVfZGlnIDMKICAgIGludGNfMCAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDMKICAgIGIgX19wY2czMkJvdW5kZWRTZXF1ZW5jZV93aGlsZV90b3BAMTUKCl9fcGNnMzJCb3VuZGVkU2VxdWVuY2VfZWxzZV9ib2R5QDEzOgogICAgaW50Y18wIC8vIDEKICAgIGZyYW1lX2RpZyAtNAogICAgc2hsCiAgICBkdXAKICAgIGludGNfMCAvLyAxCiAgICAtCiAgICBmcmFtZV9kaWcgLTMKICAgID4KICAgIGFzc2VydAogICAgZnJhbWVfZGlnIC0zCiAgICAtCiAgICBmcmFtZV9idXJ5IDAKICAgIGIgX19wY2czMkJvdW5kZWRTZXF1ZW5jZV9hZnRlcl9pZl9lbHNlQDE0CgpfX3BjZzMyQm91bmRlZFNlcXVlbmNlX2Jvb2xfZmFsc2VANDoKICAgIGludGNfMiAvLyAwCiAgICBiIF9fcGNnMzJCb3VuZGVkU2VxdWVuY2VfYm9vbF9tZXJnZUA1CgoKLy8gbGliX3BjZy9wY2czMi5hbGdvLnRzOjpfX3BjZzMyVW5ib3VuZGVkUmFuZG9tKHN0YXRlOiB1aW50NjQpIC0+IGJ5dGVzOgpfX3BjZzMyVW5ib3VuZGVkUmFuZG9tOgogICAgcHJvdG8gMSAxCiAgICBmcmFtZV9kaWcgLTEKICAgIGludGMgNCAvLyA2MzY0MTM2MjIzODQ2NzkzMDA1CiAgICBtdWx3CiAgICBidXJ5IDEKICAgIGludGMgNSAvLyAxNDQyNjk1MDQwODg4OTYzNDA3CiAgICBhZGR3CiAgICBidXJ5IDEKICAgIGZyYW1lX2RpZyAtMQogICAgcHVzaGludCAxOAogICAgc2hyCiAgICBmcmFtZV9kaWcgLTEKICAgIF4KICAgIHB1c2hpbnQgMjcKICAgIHNocgogICAgaW50YyA2IC8vIDQyOTQ5NjcyOTUKICAgICYKICAgIGZyYW1lX2RpZyAtMQogICAgcHVzaGludCA1OQogICAgc2hyCiAgICBkdXAyCiAgICBzaHIKICAgIHN3YXAKICAgIH4KICAgIGludGNfMCAvLyAxCiAgICBhZGR3CiAgICBidXJ5IDEKICAgIHB1c2hpbnQgMzEKICAgICYKICAgIHVuY292ZXIgMgogICAgc3dhcAogICAgc2hsCiAgICBpbnRjIDYgLy8gNDI5NDk2NzI5NQogICAgJgogICAgfAogICAgc3dhcAogICAgaXRvYgogICAgc3dhcAogICAgaXRvYgogICAgY29uY2F0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMvbGliX3BjZzMyX3Rlc3RfaGFybmVzcy9jb250cmFjdC5hbGdvLnRzOjpMaWJQY2czMlRlc3RIYXJuZXNzQWxnb1RzLmdldF9wY2czMl9zZXF1ZW5jZV9hcmM0X3VpbnQzMl9yZXR1cm5bcm91dGluZ10oKSAtPiB2b2lkOgpnZXRfcGNnMzJfc2VxdWVuY2VfYXJjNF91aW50MzJfcmV0dXJuOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnN0YXRpY19hcnJheTxhcmM0LnVpbnQ4LCA4PgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZHVwCiAgICBsZW4KICAgIHB1c2hpbnQgNAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50MzIKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDMKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDQKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDMyCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA0CiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDE2CiAgICB1bmNvdmVyIDMKICAgIGNhbGxzdWIgcGNnMzJJbml0CiAgICB1bmNvdmVyIDMKICAgIGJ0b2kKICAgIHVuY292ZXIgMwogICAgYnRvaQogICAgdW5jb3ZlciAzCiAgICBidG9pCiAgICBjYWxsc3ViIHBjZzMyUmFuZG9tCiAgICBkdXAKICAgIGludGNfMSAvLyA4CiAgICBleHRyYWN0X3VpbnQxNgogICAgZGlnIDEKICAgIGxlbgogICAgc3Vic3RyaW5nMwogICAgYnl0ZWNfMSAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9saWJfcGNnMzJfdGVzdF9oYXJuZXNzL2NvbnRyYWN0LmFsZ28udHM6OkxpYlBjZzMyVGVzdEhhcm5lc3NBbGdvVHMuZ2V0X3BjZzMyX3NlcXVlbmNlX2FyYzRfdWludDE2X3JldHVybltyb3V0aW5nXSgpIC0+IHZvaWQ6CmdldF9wY2czMl9zZXF1ZW5jZV9hcmM0X3VpbnQxNl9yZXR1cm46CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18xIC8vIDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuc3RhdGljX2FycmF5PGFyYzQudWludDgsIDg+CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDE2CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDE2CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA0CiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDE2CiAgICB1bmNvdmVyIDMKICAgIGNhbGxzdWIgcGNnMzJJbml0CiAgICB1bmNvdmVyIDMKICAgIGJ0b2kKICAgIHVuY292ZXIgMwogICAgYnRvaQogICAgdW5jb3ZlciAzCiAgICBidG9pCiAgICBjYWxsc3ViIHBjZzE2UmFuZG9tCiAgICBkdXAKICAgIGludGNfMSAvLyA4CiAgICBleHRyYWN0X3VpbnQxNgogICAgZGlnIDEKICAgIGxlbgogICAgc3Vic3RyaW5nMwogICAgYnl0ZWNfMSAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9saWJfcGNnMzJfdGVzdF9oYXJuZXNzL2NvbnRyYWN0LmFsZ28udHM6OkxpYlBjZzMyVGVzdEhhcm5lc3NBbGdvVHMuZ2V0X3BjZzMyX3NlcXVlbmNlX2FyYzRfdWludDhfcmV0dXJuW3JvdXRpbmddKCkgLT4gdm9pZDoKZ2V0X3BjZzMyX3NlcXVlbmNlX2FyYzRfdWludDhfcmV0dXJuOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnN0YXRpY19hcnJheTxhcmM0LnVpbnQ4LCA4PgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZHVwCiAgICBsZW4KICAgIGludGNfMCAvLyAxCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ4CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18wIC8vIDEKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDgKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDQKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzMgLy8gMgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50MTYKICAgIHVuY292ZXIgMwogICAgY2FsbHN1YiBwY2czMkluaXQKICAgIHVuY292ZXIgMwogICAgYnRvaQogICAgdW5jb3ZlciAzCiAgICBidG9pCiAgICB1bmNvdmVyIDMKICAgIGJ0b2kKICAgIGNhbGxzdWIgcGNnOFJhbmRvbQogICAgZHVwCiAgICBpbnRjXzEgLy8gOAogICAgZXh0cmFjdF91aW50MTYKICAgIGRpZyAxCiAgICBsZW4KICAgIHN1YnN0cmluZzMKICAgIGJ5dGVjXzEgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvbGliX3BjZzMyX3Rlc3RfaGFybmVzcy9jb250cmFjdC5hbGdvLnRzOjpMaWJQY2czMlRlc3RIYXJuZXNzQWxnb1RzLnJ1bnRpbWVfYXNzZXJ0c19wY2czMl9zdGFja19hcnJheVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnJ1bnRpbWVfYXNzZXJ0c19wY2czMl9zdGFja19hcnJheToKICAgIGludGNfMSAvLyA4CiAgICBiemVybwogICAgY2FsbHN1YiBwY2czMkluaXQKICAgIGludGNfMiAvLyAwCiAgICBkdXAKICAgIHB1c2hpbnQgMTAyMAogICAgY2FsbHN1YiBwY2czMlJhbmRvbQogICAgcG9wCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gc21hcnRfY29udHJhY3RzL2xpYl9wY2czMl90ZXN0X2hhcm5lc3MvY29udHJhY3QuYWxnby50czo6TGliUGNnMzJUZXN0SGFybmVzc0FsZ29Ucy5ydW50aW1lX2Fzc2VydHNfcGNnMTZfc3RhY2tfYXJyYXlbcm91dGluZ10oKSAtPiB2b2lkOgpydW50aW1lX2Fzc2VydHNfcGNnMTZfc3RhY2tfYXJyYXk6CiAgICBpbnRjXzEgLy8gOAogICAgYnplcm8KICAgIGNhbGxzdWIgcGNnMzJJbml0CiAgICBpbnRjXzIgLy8gMAogICAgZHVwCiAgICBwdXNoaW50IDIwNDEKICAgIGNhbGxzdWIgcGNnMTZSYW5kb20KICAgIHBvcAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy9saWJfcGNnMzJfdGVzdF9oYXJuZXNzL2NvbnRyYWN0LmFsZ28udHM6OkxpYlBjZzMyVGVzdEhhcm5lc3NBbGdvVHMucnVudGltZV9hc3NlcnRzX3BjZzhfc3RhY2tfYXJyYXlbcm91dGluZ10oKSAtPiB2b2lkOgpydW50aW1lX2Fzc2VydHNfcGNnOF9zdGFja19hcnJheToKICAgIGludGNfMSAvLyA4CiAgICBiemVybwogICAgY2FsbHN1YiBwY2czMkluaXQKICAgIGludGNfMiAvLyAwCiAgICBkdXAKICAgIHB1c2hpbnQgNDA4MgogICAgY2FsbHN1YiBwY2c4UmFuZG9tCiAgICBwb3AKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBzbWFydF9jb250cmFjdHMvbGliX3BjZzMyX3Rlc3RfaGFybmVzcy9jb250cmFjdC5hbGdvLnRzOjpMaWJQY2czMlRlc3RIYXJuZXNzQWxnb1RzLnJ1bnRpbWVfZmFpbHVyZV9zdGFja19ieXRlc2xpY2Vfb3ZlcmZsb3dbcm91dGluZ10oKSAtPiB2b2lkOgpydW50aW1lX2ZhaWx1cmVfc3RhY2tfYnl0ZXNsaWNlX292ZXJmbG93OgogICAgaW50Y18xIC8vIDgKICAgIGJ6ZXJvCiAgICBjYWxsc3ViIHBjZzMySW5pdAogICAgaW50Y18yIC8vIDAKICAgIGR1cAogICAgcHVzaGludCAxMDIyCiAgICBjYWxsc3ViIHBjZzMyUmFuZG9tCiAgICBwb3AKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4K", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBwdXNoaW50IDEKICAgIHJldHVybgo=" }, "byteCode": { "approval": "CyAHAQgAAq3+1eTUhf2oWM+Cnrvv796CFP////8PJgICAAoEFR98dTEbQQBAMRkURDEYRIIHBAyEePsErnjm4ASJ1/VKBBO5UtcE0gcWIwTCLRjfBGwLSJg2GgCOBwHwAjACbgKsArwCzALcADEZFDEYFBBDigEBi/8VIxJEi/8XJCEEHUUBIQUeRQEeRQEhBB1FASEFHkUBiYoEAYv8gSCL/Yv+i/+IAGpJVwAISwEjWUsCFU8DTgJSVwIATChQTFCJigQBi/yBEIv9i/6L/4gAQUlXAAhLASNZSwIVTwNOAlJXAgBMKFBMUImKBAGL/COL/Yv+i/+IABlJVwAISwEjWUsCFU8DTgJSVwIATChQTFCJigUBgABHBIv/gYCABAxEi/8WSZOBEA5EVwYCi/wjEkAAEIv8gRASQAAIi/yBIBJBANciRIv8gQORSU4CI0wJi/1AAEaL/kAAQSSMAov7iwKL/wxBAB6IALRJJFtMVwgISwJLBVhPA0xQTgKLAiIIjAJC/9pGAov7FkxJFRZXBgJMUEwoUExQjACJi/5BAGeL/iINRCKL/JCL/g1Ei/4iCYv9DUSL/ov9CYwAiwBJHCIeRQEhBhpMGIwEJIwDi/uLA4v/DEH/rYgAQ0kkW0wjW0mMAYsED0H/7osBiwAYi/0IFksCSwVYTwNMUE4CiwMiCIwDQv/JIov8kEkiCYv9DUSL/QmMAEL/oiRC/yaKAQGL/yEEHUUBIQUeRQGL/4ESkYv/G4EbkSEGGov/gTuRSpFMHCIeRQGBHxpPAkyQIQYaGUwWTBZQiTYaAUkVIxJENhoCSRWBBBJENhoDSRWBBBJENhoESRUlEkRPA4j98k8DF08DF08DF4j+C0kjWUsBFVIpTFCwIkM2GgFJFSMSRDYaAkkVJRJENhoDSRUlEkQ2GgRJFSUSRE8DiP20TwMXTwMXTwMXiP32SSNZSwEVUilMULAiQzYaAUkVIxJENhoCSRUiEkQ2GgNJFSISRDYaBEkVJRJETwOI/XZPAxdPAxdPAxeI/eFJI1lLARVSKUxQsCJDI6+I/VgkSYH8B4j9dUgiQyOviP1IJEmB+Q+I/Y5IIkMjr4j9OCRJgfIfiP2nSCJDI6+I/SgkSYH+B4j9RUgiQw==", "clear": "C4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 9, "patch": 0 } }, "events": [], "templateVariables": {} }