{ "name": "Arc4EncodeDecode", "structs": { "TestObj": [ { "name": "a", "type": "uint64" }, { "name": "b", "type": "byte[]" } ] }, "methods": [ { "name": "testEncoding", "args": [ { "type": "uint64", "name": "a" }, { "type": "bool", "name": "b" }, { "type": "uint512", "name": "c" }, { "type": "byte[]", "name": "d" }, { "type": "string", "name": "e" }, { "type": "address", "name": "f" }, { "type": "byte[12]", "name": "g" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "testDecoding", "args": [ { "type": "uint64", "name": "a" }, { "type": "byte[]", "name": "a_bytes" }, { "type": "bool", "name": "b" }, { "type": "byte[]", "name": "b_bytes" }, { "type": "uint512", "name": "c" }, { "type": "byte[]", "name": "c_bytes" }, { "type": "string", "name": "d" }, { "type": "byte[]", "name": "d_bytes" }, { "type": "(uint64,byte[])", "struct": "TestObj", "name": "e" }, { "type": "byte[]", "name": "e_bytes" }, { "type": "address", "name": "f" }, { "type": "byte[]", "name": "f_bytes" }, { "type": "byte[12]", "name": "g" }, { "type": "byte[]", "name": "g_bytes" } ], "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": [ 475 ], "errorMessage": "Array of address matches" }, { "pc": [ 385 ], "errorMessage": "Array of biguint matches" }, { "pc": [ 365 ], "errorMessage": "Array of boolean matches" }, { "pc": [ 417 ], "errorMessage": "Array of string matches" }, { "pc": [ 457 ], "errorMessage": "Array of struct matches" }, { "pc": [ 344 ], "errorMessage": "Array of uint64 matches" }, { "pc": [ 327 ], "errorMessage": "assert target is match for conditions" }, { "pc": [ 356, 397 ], "errorMessage": "index out of bounds" }, { "pc": [ 75, 101, 126, 142, 158, 192, 205, 231, 256, 334, 351, 374, 392, 424, 464, 524, 543 ], "errorMessage": "invalid array length header" }, { "pc": [ 93, 500 ], "errorMessage": "invalid number of bytes for arc4.bool" }, { "pc": [ 82, 108, 133, 149, 165, 212, 238, 263, 531, 550 ], "errorMessage": "invalid number of bytes for arc4.dynamic_array" }, { "pc": [ 250, 571 ], "errorMessage": "invalid number of bytes for arc4.static_array" }, { "pc": [ 225, 563 ], "errorMessage": "invalid number of bytes for arc4.static_array" }, { "pc": [ 120, 517 ], "errorMessage": "invalid number of bytes for arc4.uint512" }, { "pc": [ 68, 488 ], "errorMessage": "invalid number of bytes for arc4.uint64" }, { "pc": [ 199 ], "errorMessage": "invalid number of bytes for tests/approvals/arc4-encode-decode.algo.ts::TestObj" }, { "pc": [ 183 ], "errorMessage": "invalid tail pointer at index 1 of (uint64,(len+uint8[]))" }, { "pc": [ 178 ], "errorMessage": "invalid tuple encoding" }, { "pc": [ 675 ], "errorMessage": "overflow" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMCAyIDEgOAogICAgYnl0ZWNibG9jayAweDAwMDEgMHgwMDAxMDAwMiAweDAwMDIgMHgwNjgxMDEgMHgwMDBhCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6MjQKICAgIC8vIGV4cG9ydCBjbGFzcyBBcmM0RW5jb2RlRGVjb2RlIGV4dGVuZHMgQ29udHJhY3QgewogICAgdHhuIE51bUFwcEFyZ3MKICAgIGJ6IG1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydAogICAgcHVzaGJ5dGVzcyAweDM0YjE0NmMxIDB4MDBmZDI1MzQgLy8gbWV0aG9kICJ0ZXN0RW5jb2RpbmcodWludDY0LGJvb2wsdWludDUxMixieXRlW10sc3RyaW5nLGFkZHJlc3MsYnl0ZVsxMl0pdm9pZCIsIG1ldGhvZCAidGVzdERlY29kaW5nKHVpbnQ2NCxieXRlW10sYm9vbCxieXRlW10sdWludDUxMixieXRlW10sc3RyaW5nLGJ5dGVbXSwodWludDY0LGJ5dGVbXSksYnl0ZVtdLGFkZHJlc3MsYnl0ZVtdLGJ5dGVbMTJdLGJ5dGVbXSl2b2lkIgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgbWF0Y2ggbWFpbl90ZXN0RW5jb2Rpbmdfcm91dGVANCBtYWluX3Rlc3REZWNvZGluZ19yb3V0ZUA1CiAgICBlcnIKCm1haW5fdGVzdERlY29kaW5nX3JvdXRlQDU6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6NjUtODAKICAgIC8vIHRlc3REZWNvZGluZygKICAgIC8vICAgYTogdWludDY0LAogICAgLy8gICBhX2J5dGVzOiBieXRlcywKICAgIC8vICAgYjogYm9vbGVhbiwKICAgIC8vICAgYl9ieXRlczogYnl0ZXMsCiAgICAvLyAgIGM6IGJpZ3VpbnQsCiAgICAvLyAgIGNfYnl0ZXM6IGJ5dGVzLAogICAgLy8gICBkOiBzdHJpbmcsCiAgICAvLyAgIGRfYnl0ZXM6IGJ5dGVzLAogICAgLy8gICBlOiBUZXN0T2JqLAogICAgLy8gICBlX2J5dGVzOiBieXRlcywKICAgIC8vICAgZjogQWRkcmVzcywKICAgIC8vICAgZl9ieXRlczogYnl0ZXMsCiAgICAvLyAgIGc6IGJ5dGVzPDEyPiwKICAgIC8vICAgZ19ieXRlczogYnl0ZXMsCiAgICAvLyApIHsKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzMgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGludGNfMSAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8YXJjNC51aW50OD4KICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18yIC8vIDEKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuYm9vbAogICAgaW50Y18wIC8vIDAKICAgIGdldGJpdAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18xIC8vIDIKICAgICsKICAgIGRpZyAxCiAgICBsZW4KICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuZHluYW1pY19hcnJheTxhcmM0LnVpbnQ4PgogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDUKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDY0CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ1MTIKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDYKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGludGNfMSAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8YXJjNC51aW50OD4KICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA3CiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBpbnRjXzEgLy8gMgogICAgKwogICAgZGlnIDEKICAgIGxlbgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC5keW5hbWljX2FycmF5PGFyYzQudWludDg+CiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOAogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18xIC8vIDIKICAgICsKICAgIGRpZyAxCiAgICBsZW4KICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuZHluYW1pY19hcnJheTxhcmM0LnVpbnQ4PgogICAgZHVwCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOQogICAgZHVwCiAgICBsZW4KICAgIGRpZyAxCiAgICBpbnRjXzMgLy8gOAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgdHVwbGUgZW5jb2RpbmcKICAgIGR1cAogICAgcHVzaGludCAxMAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIHRhaWwgcG9pbnRlciBhdCBpbmRleCAxIG9mICh1aW50NjQsKGxlbit1aW50OFtdKSkKICAgIGRpZyAyCiAgICBzd2FwCiAgICBkaWcgMgogICAgc3Vic3RyaW5nMwogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgcHVzaGludCAxMgogICAgKwogICAgdW5jb3ZlciAyCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6OlRlc3RPYmoKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEwCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBpbnRjXzEgLy8gMgogICAgKwogICAgZGlnIDEKICAgIGxlbgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC5keW5hbWljX2FycmF5PGFyYzQudWludDg+CiAgICBkdXAKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxMQogICAgZHVwCiAgICBsZW4KICAgIHB1c2hpbnQgMzIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuc3RhdGljX2FycmF5PGFyYzQudWludDgsIDMyPgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTIKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGludGNfMSAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8YXJjNC51aW50OD4KICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxMwogICAgZHVwCiAgICBsZW4KICAgIHB1c2hpbnQgMTIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuc3RhdGljX2FycmF5PGFyYzQudWludDgsIDEyPgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTQKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGludGNfMSAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8YXJjNC51aW50OD4KICAgIGV4dHJhY3QgMiAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6ODEKICAgIC8vIGFzc2VydChkZWNvZGVBcmM0PHVpbnQ2ND4oYV9ieXRlcykgPT09IGEpCiAgICBkaWcgMTUKICAgIGJ0b2kKICAgIGRpZyAxNwogICAgPT0KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjgyCiAgICAvLyBhc3NlcnQoZGVjb2RlQXJjNDxib29sZWFuPihiX2J5dGVzKSA9PT0gYikKICAgIGRpZyAxMwogICAgaW50Y18wIC8vIDAKICAgIGdldGJpdAogICAgZGlnIDE1CiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6ODMKICAgIC8vIGFzc2VydChkZWNvZGVBcmM0PGJpZ3VpbnQ+KGNfYnl0ZXMpID09PSBjKQogICAgZGlnIDExCiAgICBkaWcgMTMKICAgIGI9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6ODQKICAgIC8vIGFzc2VydChkZWNvZGVBcmM0PHN0cmluZz4oZF9ieXRlcykgPT09IGQpCiAgICB1bmNvdmVyIDkKICAgIGV4dHJhY3QgNCAwCiAgICBkaWcgMTAKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWVuY29kZS1kZWNvZGUuYWxnby50czo4NQogICAgLy8gYXNzZXJ0TWF0Y2goZGVjb2RlQXJjNDxUZXN0T2JqPihlX2J5dGVzKSwgZSkKICAgIHVuY292ZXIgNQogICAgZXh0cmFjdCAyIDgKICAgIHVuY292ZXIgNwogICAgZXh0cmFjdCAwIDgKICAgIHN3YXAKICAgIGRpZyAxCiAgICA9PQogICAgZGlnIDYKICAgIGludGNfMyAvLyA4CiAgICBleHRyYWN0X3VpbnQxNgogICAgZGlnIDcKICAgIGxlbgogICAgZGlnIDgKICAgIGNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGRpZyA4CiAgICA9PQogICAgJiYKICAgIGFzc2VydCAvLyBhc3NlcnQgdGFyZ2V0IGlzIG1hdGNoIGZvciBjb25kaXRpb25zCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6ODcKICAgIC8vIGNvbnN0IGxlblByZWZpeCA9IGl0b2IoMSkuc2xpY2UoNiwgOCkKICAgIGJ5dGVjXzAgLy8gMHgwMDAxCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6ODkKICAgIC8vIGFzc2VydE1hdGNoKGRlY29kZUFyYzQ8dWludDY0W10+KGxlblByZWZpeC5jb25jYXQoYV9ieXRlcykpLCBbYV0sICdBcnJheSBvZiB1aW50NjQgbWF0Y2hlcycpCiAgICB1bmNvdmVyIDE0CiAgICBjb25jYXQKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGludGNfMiAvLyAxCiAgICA9PQogICAgc3dhcAogICAgaW50Y18xIC8vIDIKICAgIGV4dHJhY3RfdWludDY0CiAgICB1bmNvdmVyIDE1CiAgICA9PQogICAgJiYKICAgIGFzc2VydCAvLyBBcnJheSBvZiB1aW50NjQgbWF0Y2hlcwogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjg3CiAgICAvLyBjb25zdCBsZW5QcmVmaXggPSBpdG9iKDEpLnNsaWNlKDYsIDgpCiAgICBieXRlY18wIC8vIDB4MDAwMQogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjkwCiAgICAvLyBhc3NlcnRNYXRjaChkZWNvZGVBcmM0PGJvb2xlYW5bXT4obGVuUHJlZml4LmNvbmNhdChiX2J5dGVzKSksIFtiXSwgJ0FycmF5IG9mIGJvb2xlYW4gbWF0Y2hlcycpCiAgICB1bmNvdmVyIDEyCiAgICBjb25jYXQKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGR1cAogICAgaW50Y18yIC8vIDEKICAgID09CiAgICBzd2FwCiAgICBhc3NlcnQgLy8gaW5kZXggb3V0IG9mIGJvdW5kcwogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjkwCiAgICAvLyBhc3NlcnRNYXRjaChkZWNvZGVBcmM0PGJvb2xlYW5bXT4obGVuUHJlZml4LmNvbmNhdChiX2J5dGVzKSksIFtiXSwgJ0FycmF5IG9mIGJvb2xlYW4gbWF0Y2hlcycpCiAgICBzd2FwCiAgICBwdXNoaW50IDE2CiAgICBnZXRiaXQKICAgIHVuY292ZXIgMTMKICAgID09CiAgICAmJgogICAgYXNzZXJ0IC8vIEFycmF5IG9mIGJvb2xlYW4gbWF0Y2hlcwogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjg3CiAgICAvLyBjb25zdCBsZW5QcmVmaXggPSBpdG9iKDEpLnNsaWNlKDYsIDgpCiAgICBieXRlY18wIC8vIDB4MDAwMQogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjkxCiAgICAvLyBsb2cobGVuUHJlZml4LmNvbmNhdChjX2J5dGVzKSkKICAgIHVuY292ZXIgMTAKICAgIGNvbmNhdAogICAgZHVwCiAgICBsb2cKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWVuY29kZS1kZWNvZGUuYWxnby50czo5MgogICAgLy8gYXNzZXJ0TWF0Y2goZGVjb2RlQXJjNDxiaWd1aW50W10+KGxlblByZWZpeC5jb25jYXQoY19ieXRlcykpLCBbY10sICdBcnJheSBvZiBiaWd1aW50IG1hdGNoZXMnKQogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18yIC8vIDEKICAgID09CiAgICBzd2FwCiAgICBleHRyYWN0IDIgNjQKICAgIHVuY292ZXIgMTEKICAgIGI9PQogICAgJiYKICAgIGFzc2VydCAvLyBBcnJheSBvZiBiaWd1aW50IG1hdGNoZXMKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWVuY29kZS1kZWNvZGUuYWxnby50czo5MwogICAgLy8gYXNzZXJ0TWF0Y2goZGVjb2RlQXJjNDxzdHJpbmdbXT4oQnl0ZXNgJHtsZW5QcmVmaXh9JHtvZmZzZXRIZWFkZXJ9JHtkX2J5dGVzfWApLCBbZF0sICdBcnJheSBvZiBzdHJpbmcgbWF0Y2hlcycpCiAgICBieXRlY18xIC8vIDB4MDAwMTAwMDIKICAgIHVuY292ZXIgOAogICAgY29uY2F0CiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNiAvLyBvbiBlcnJvcjogaW52YWxpZCBhcnJheSBsZW5ndGggaGVhZGVyCiAgICBkdXAKICAgIGludGNfMiAvLyAxCiAgICA9PQogICAgc3dhcAogICAgYXNzZXJ0IC8vIGluZGV4IG91dCBvZiBib3VuZHMKICAgIHN3YXAKICAgIGV4dHJhY3QgMiAwCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjkzCiAgICAvLyBhc3NlcnRNYXRjaChkZWNvZGVBcmM0PHN0cmluZ1tdPihCeXRlc2Ake2xlblByZWZpeH0ke29mZnNldEhlYWRlcn0ke2RfYnl0ZXN9YCksIFtkXSwgJ0FycmF5IG9mIHN0cmluZyBtYXRjaGVzJykKICAgIGV4dHJhY3QgMiAwCiAgICB1bmNvdmVyIDkKICAgID09CiAgICAmJgogICAgYXNzZXJ0IC8vIEFycmF5IG9mIHN0cmluZyBtYXRjaGVzCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6OTUKICAgIC8vIGFzc2VydE1hdGNoKGRlY29kZUFyYzQ8VGVzdE9ialtdPihCeXRlc2Ake2xlblByZWZpeH0ke29mZnNldEhlYWRlcn0ke2VfYnl0ZXN9YCksIFtlXSwgJ0FycmF5IG9mIHN0cnVjdCBtYXRjaGVzJykKICAgIGJ5dGVjXzEgLy8gMHgwMDAxMDAwMgogICAgdW5jb3ZlciA2CiAgICBjb25jYXQKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGludGNfMiAvLyAxCiAgICA9PQogICAgZGlnIDEKICAgIGludGNfMCAvLyAwCiAgICBjYWxsc3ViIGR5bmFtaWNfYXJyYXlfcmVhZF9keW5hbWljX2VsZW1lbnQKICAgIGV4dHJhY3QgMCA4CiAgICB1bmNvdmVyIDMKICAgID09CiAgICB1bmNvdmVyIDIKICAgIGludGNfMCAvLyAwCiAgICBjYWxsc3ViIGR5bmFtaWNfYXJyYXlfcmVhZF9keW5hbWljX2VsZW1lbnQKICAgIGR1cAogICAgaW50Y18zIC8vIDgKICAgIGV4dHJhY3RfdWludDE2CiAgICBkaWcgMQogICAgbGVuCiAgICBzdWJzdHJpbmczCiAgICB1bmNvdmVyIDcKICAgID09CiAgICAmJgogICAgJiYKICAgIGFzc2VydCAvLyBBcnJheSBvZiBzdHJ1Y3QgbWF0Y2hlcwogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjg3CiAgICAvLyBjb25zdCBsZW5QcmVmaXggPSBpdG9iKDEpLnNsaWNlKDYsIDgpCiAgICBieXRlY18wIC8vIDB4MDAwMQogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjk2CiAgICAvLyBhc3NlcnRNYXRjaChkZWNvZGVBcmM0PEFkZHJlc3NbXT4oQnl0ZXNgJHtsZW5QcmVmaXh9JHtmX2J5dGVzfWApLCBbZl0sICdBcnJheSBvZiBhZGRyZXNzIG1hdGNoZXMnKQogICAgdW5jb3ZlciAzCiAgICBjb25jYXQKICAgIGR1cAogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGludGNfMiAvLyAxCiAgICA9PQogICAgc3dhcAogICAgZXh0cmFjdCAyIDMyCiAgICB1bmNvdmVyIDQKICAgID09CiAgICAmJgogICAgYXNzZXJ0IC8vIEFycmF5IG9mIGFkZHJlc3MgbWF0Y2hlcwogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjk4CiAgICAvLyBhc3NlcnQoZGVjb2RlQXJjNDxieXRlczwxMj4+KGdfYnl0ZXMpID09PSBnKQogICAgPT0KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjY1LTgwCiAgICAvLyB0ZXN0RGVjb2RpbmcoCiAgICAvLyAgIGE6IHVpbnQ2NCwKICAgIC8vICAgYV9ieXRlczogYnl0ZXMsCiAgICAvLyAgIGI6IGJvb2xlYW4sCiAgICAvLyAgIGJfYnl0ZXM6IGJ5dGVzLAogICAgLy8gICBjOiBiaWd1aW50LAogICAgLy8gICBjX2J5dGVzOiBieXRlcywKICAgIC8vICAgZDogc3RyaW5nLAogICAgLy8gICBkX2J5dGVzOiBieXRlcywKICAgIC8vICAgZTogVGVzdE9iaiwKICAgIC8vICAgZV9ieXRlczogYnl0ZXMsCiAgICAvLyAgIGY6IEFkZHJlc3MsCiAgICAvLyAgIGZfYnl0ZXM6IGJ5dGVzLAogICAgLy8gICBnOiBieXRlczwxMj4sCiAgICAvLyAgIGdfYnl0ZXM6IGJ5dGVzLAogICAgLy8gKSB7CiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgptYWluX3Rlc3RFbmNvZGluZ19yb3V0ZUA0OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjI1CiAgICAvLyB0ZXN0RW5jb2RpbmcoYTogdWludDY0LCBiOiBib29sZWFuLCBjOiBiaWd1aW50LCBkOiBieXRlcywgZTogc3RyaW5nLCBmOiBBZGRyZXNzLCBnOiBieXRlczwxMj4pIHsKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cG4gMgogICAgbGVuCiAgICBpbnRjXzMgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGR1cAogICAgY292ZXIgMwogICAgZHVwCiAgICBsZW4KICAgIGludGNfMiAvLyAxCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmJvb2wKICAgIGludGNfMCAvLyAwCiAgICBnZXRiaXQKICAgIHN3YXAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDMKICAgIGR1cAogICAgY292ZXIgNAogICAgbGVuCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIHB1c2hpbnQgNjQKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDUxMgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAogICAgZHVwbiAyCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18xIC8vIDIKICAgICsKICAgIGRpZyAxCiAgICBsZW4KICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuZHluYW1pY19hcnJheTxhcmM0LnVpbnQ4PgogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDUKICAgIGR1cAogICAgY292ZXIgNAogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18xIC8vIDIKICAgICsKICAgIGRpZyAxCiAgICBsZW4KICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuZHluYW1pY19hcnJheTxhcmM0LnVpbnQ4PgogICAgZXh0cmFjdCAyIDAKICAgIGNvdmVyIDIKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDYKICAgIGxlbgogICAgcHVzaGludCAzMgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC5zdGF0aWNfYXJyYXk8YXJjNC51aW50OCwgMzI+CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA3CiAgICBsZW4KICAgIHB1c2hpbnQgMTIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuc3RhdGljX2FycmF5PGFyYzQudWludDgsIDEyPgoKbWFpbl93aGlsZV90b3BAMTE6CiAgICBwdXNoaW50IDE0MTAKICAgIGdsb2JhbCBPcGNvZGVCdWRnZXQKICAgID4KICAgIGJ6IG1haW5fYWZ0ZXJfd2hpbGVAMTYKICAgIGl0eG5fYmVnaW4KICAgIHB1c2hpbnQgNiAvLyBhcHBsCiAgICBpdHhuX2ZpZWxkIFR5cGVFbnVtCiAgICBwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KICAgIGl0eG5fZmllbGQgT25Db21wbGV0aW9uCiAgICBieXRlY18zIC8vIDB4MDY4MTAxCiAgICBpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQogICAgYnl0ZWNfMyAvLyAweDA2ODEwMQogICAgaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQogICAgaW50Y18wIC8vIDAKICAgIGl0eG5fZmllbGQgRmVlCiAgICBpdHhuX3N1Ym1pdAogICAgYiBtYWluX3doaWxlX3RvcEAxMQoKbWFpbl9hZnRlcl93aGlsZUAxNjoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWVuY29kZS1kZWNvZGUuYWxnby50czozMgogICAgLy8gYXNzZXJ0KGVuY29kZUFyYzQoeyBhLCBiOiBkIH0pID09PSBuZXcgVGVzdFN0cnVjdCh7IGE6IG5ldyBVaW50NjQoYSksIGI6IG5ldyBEeW5hbWljQnl0ZXMoZCkgfSkuYnl0ZXMpCiAgICB1bmNvdmVyIDMKICAgIGl0b2IKICAgIHN3YXAKICAgIGR1cAogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgc3dhcAogICAgY29uY2F0CiAgICBkaWcgMQogICAgYnl0ZWMgNCAvLyAweDAwMGEKICAgIGNvbmNhdAogICAgZHVwCiAgICBkaWcgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDkKICAgIGR1cAogICAgY292ZXIgMwogICAgYnl0ZWMgNCAvLyAweDAwMGEKICAgIGNvbmNhdAogICAgdW5jb3ZlciA2CiAgICBkdXAKICAgIGNvdmVyIDMKICAgIGNvbmNhdAogICAgZGlnIDEKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWVuY29kZS1kZWNvZGUuYWxnby50czozMwogICAgLy8gYXNzZXJ0KGVuY29kZUFyYzQoeyBhLCBiOiBkIH0pID09PSBlbmNvZGVBcmM0KHsgYSwgYjogbmV3IER5bmFtaWNCeXRlcyhkKSB9KSkKICAgIHVuY292ZXIgMgogICAgZGlnIDIKICAgIGNvbmNhdAogICAgPT0KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjM4CiAgICAvLyBhc3NlcnQoZW5jb2RlQXJjNChbYV0pID09PSBuZXcgU3RhdGljQXJyYXkobmV3IFVpbnQ2NChhKSkuYnl0ZXMpCiAgICBkaWcgMwogICAgZGlnIDIKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWVuY29kZS1kZWNvZGUuYWxnby50czozOQogICAgLy8gYXNzZXJ0KGVuY29kZUFyYzQoW2JdKSA9PT0gbmV3IFN0YXRpY0FycmF5KG5ldyBCb29sKGIpKS5ieXRlcykKICAgIHB1c2hieXRlcyAweDAwCiAgICBpbnRjXzAgLy8gMAogICAgdW5jb3ZlciA5CiAgICBzZXRiaXQKICAgIGR1cAogICAgdW5jb3ZlciAxMAogICAgZHVwCiAgICBjb3ZlciA3CiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6NDAKICAgIC8vIGFzc2VydChlbmNvZGVBcmM0KFtjXSkgPT09IG5ldyBTdGF0aWNBcnJheShuZXcgVWludDw1MTI+KGMpKS5ieXRlcykKICAgIHVuY292ZXIgOAogICAgcHVzaGludCA2NAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgcHVzaGludCA2NAogICAgYnplcm8KICAgIHVuY292ZXIgOQogICAgZHVwCiAgICB1bmNvdmVyIDIKICAgIGJ8CiAgICBkdXAKICAgIGRpZyAyCiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6NDEKICAgIC8vIGFzc2VydChlbmNvZGVBcmM0KFtkXSkgPT09IG5ldyBTdGF0aWNBcnJheShuZXcgRHluYW1pY0J5dGVzKGQpKS5ieXRlcykKICAgIGJ5dGVjXzIgLy8gMHgwMDAyCiAgICBkaWcgNgogICAgY29uY2F0CiAgICBieXRlY18yIC8vIDB4MDAwMgogICAgZGlnIDUKICAgIGNvbmNhdAogICAgPT0KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjQyCiAgICAvLyBhc3NlcnQoZW5jb2RlQXJjNChbZV0pID09PSBuZXcgU3RhdGljQXJyYXkobmV3IFN0cihlKSkuYnl0ZXMpCiAgICB1bmNvdmVyIDgKICAgIGR1cAogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgc3dhcAogICAgY29uY2F0CiAgICBieXRlY18yIC8vIDB4MDAwMgogICAgZGlnIDEKICAgIGNvbmNhdAogICAgYnl0ZWNfMiAvLyAweDAwMDIKICAgIHVuY292ZXIgMTEKICAgIGR1cAogICAgY292ZXIgNAogICAgY29uY2F0CiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6NDYKICAgIC8vIGFzc2VydChlbmNvZGVBcmM0PHVpbnQ2NFtdPihbYV0pID09PSBuZXcgRHluYW1pY0FycmF5KG5ldyBVaW50NjQoYSkpLmJ5dGVzKQogICAgYnl0ZWNfMCAvLyAweDAwMDEKICAgIHVuY292ZXIgOQogICAgY29uY2F0CiAgICBieXRlY18wIC8vIDB4MDAwMQogICAgdW5jb3ZlciA4CiAgICBjb25jYXQKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWVuY29kZS1kZWNvZGUuYWxnby50czo0NwogICAgLy8gYXNzZXJ0KGVuY29kZUFyYzQ8Ym9vbGVhbltdPihbYl0pID09PSBuZXcgRHluYW1pY0FycmF5KG5ldyBCb29sKGIpKS5ieXRlcykKICAgIGJ5dGVjXzAgLy8gMHgwMDAxCiAgICB1bmNvdmVyIDUKICAgIGNvbmNhdAogICAgYnl0ZWNfMCAvLyAweDAwMDEKICAgIHVuY292ZXIgOAogICAgY29uY2F0CiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6NDgKICAgIC8vIGFzc2VydChlbmNvZGVBcmM0PGJpZ3VpbnRbXT4oW2NdKSA9PT0gbmV3IER5bmFtaWNBcnJheShuZXcgVWludDw1MTI+KGMpKS5ieXRlcykKICAgIGJ5dGVjXzAgLy8gMHgwMDAxCiAgICB1bmNvdmVyIDMKICAgIGNvbmNhdAogICAgYnl0ZWNfMCAvLyAweDAwMDEKICAgIHVuY292ZXIgNAogICAgY29uY2F0CiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6NDkKICAgIC8vIGFzc2VydChlbmNvZGVBcmM0PGJ5dGVzW10+KFtkXSkgPT09IG5ldyBEeW5hbWljQXJyYXkobmV3IER5bmFtaWNCeXRlcyhkKSkuYnl0ZXMpCiAgICBieXRlY18xIC8vIDB4MDAwMTAwMDIKICAgIHVuY292ZXIgNAogICAgY29uY2F0CiAgICBieXRlY18xIC8vIDB4MDAwMTAwMDIKICAgIHVuY292ZXIgNAogICAgY29uY2F0CiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYXJjNC1lbmNvZGUtZGVjb2RlLmFsZ28udHM6NTAKICAgIC8vIGFzc2VydChlbmNvZGVBcmM0PHN0cmluZ1tdPihbZV0pID09PSBuZXcgRHluYW1pY0FycmF5KG5ldyBTdHIoZSkpLmJ5dGVzKQogICAgYnl0ZWNfMSAvLyAweDAwMDEwMDAyCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGJ5dGVjXzEgLy8gMHgwMDAxMDAwMgogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9hcmM0LWVuY29kZS1kZWNvZGUuYWxnby50czoyNQogICAgLy8gdGVzdEVuY29kaW5nKGE6IHVpbnQ2NCwgYjogYm9vbGVhbiwgYzogYmlndWludCwgZDogYnl0ZXMsIGU6IHN0cmluZywgZjogQWRkcmVzcywgZzogYnl0ZXM8MTI+KSB7CiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgptYWluX19fYWxnb3RzX18uZGVmYXVsdENyZWF0ZUA5OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2FyYzQtZW5jb2RlLWRlY29kZS5hbGdvLnRzOjI0CiAgICAvLyBleHBvcnQgY2xhc3MgQXJjNEVuY29kZURlY29kZSBleHRlbmRzIENvbnRyYWN0IHsKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICAhCiAgICAmJgogICAgcmV0dXJuCgoKLy8gX3B1eWFfbGliLmFyYzQuZHluYW1pY19hcnJheV9yZWFkX2R5bmFtaWNfZWxlbWVudChhcnJheTogYnl0ZXMsIGluZGV4OiB1aW50NjQpIC0+IGJ5dGVzOgpkeW5hbWljX2FycmF5X3JlYWRfZHluYW1pY19lbGVtZW50OgogICAgcHJvdG8gMiAxCiAgICBmcmFtZV9kaWcgLTIKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgLTIKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMgogICAgKgogICAgZGlnIDIKICAgIHN3YXAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkaWcgMgogICAgbGVuCiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMiAvLyAxCiAgICArCiAgICBkdXAKICAgIGludGNfMSAvLyAyCiAgICAqCiAgICBkaWcgNQogICAgc3dhcAogICAgZXh0cmFjdF91aW50MTYKICAgIHVuY292ZXIgNAogICAgdW5jb3ZlciAyCiAgICAtCiAgICBzZWxlY3QKICAgIHN1YnN0cmluZzMKICAgIHJldHN1Ygo=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBwdXNoaW50IDEKICAgIHJldHVybgo=" }, "byteCode": { "approval": "CyAEAAIBCCYFAgABBAABAAICAAIDBoEBAgAKMRtBAuYxGRREMRhEggIENLFGwQQA/SU0NhoAjgIBpAABADYaAUkVJRJEFzYaAkkiWSMISwEVEkRXAgA2GgNJFSQSRCJTNhoESSJZIwhLARUSRFcCADYaBUkVgUASRDYaBkkiWSMISwEVEkRXAgA2GgdJIlkjCEsBFRJEVwIANhoISSJZIwhLARUSRElXAgA2GglJFUsBJVlJgQoSREsCTEsCUkkiWYEMCE8CEkQ2GgpJIlkjCEsBFRJESVcCADYaC0kVgSASRDYaDEkiWSMISwEVEkRXAgA2Gg1JFYEMEkQ2Gg5JIlkjCEsBFRJEVwIASw8XSxESREsNIlNLDxJESwtLDahETwlXBABLChJETwVXAghPB1cACExLARJLBiVZSwcVSwhOAlJLCBIQRChPDlBJIlkkEkwjW08PEhBEKE8MUEkiWUkkEkxETIEQU08NEhBEKE8KUEmwSSJZJBJMVwJATwuoEEQpTwhQSSJZSSQSTERMVwIASSJZSlkjCFhXAgBPCRIQRClPBlBJIlkkEksBIogBXVcACE8DEk8CIogBUUklWUsBFVJPBxIQEEQoTwNQSSJZJBJMVwIgTwQSEEQSRCRDNhoBRwIVJRJEFzYaAklOA0kVJBJEIlNMNhoDSU4EFUlOAoFAEkQ2GgRHAiJZIwhLARUSRFcCADYaBUlOBEkiWSMISwEVEkRXAgBOAjYaBhWBIBJENhoHFYEMEkSBggsyDA1BABaxgQayEIEFshkrsh4rsh8isgGzQv/hTwMWTEkVFlcGAkxQSwEnBFBJSwJQTwlJTgMnBFBPBklOA1BLARJETwJLAlASREsDSwISRIABACJPCVRJTwpJTgcSRE8IgUAORIFAr08JSU8Cq0lLAhJEKksGUCpLBVASRE8ISRUWVwYCTFAqSwFQKk8LSU4EUBJEKE8JUChPCFASRChPBVAoTwhQEkQoTwNQKE8EUBJEKU8EUClPBFASRClMUClPAlASRCRDMRkUMRgUEEOKAgGL/lcCAIv+IlmL/yMLSwJMWUsCFYv/JAhJIwtLBUxZTwRPAglNUok=", "clear": "C4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 10, "patch": 0 } }, "events": [], "templateVariables": {} }