{ "name": "Token", "desc": "", "methods": [ { "name": "createApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] } }, { "name": "bootstrap", "args": [ { "name": "name", "type": "byte[]" }, { "name": "unit", "type": "byte[]" }, { "name": "seed", "type": "pay" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "mint", "args": [ { "name": "amount", "type": "uint64" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } } ], "arcs": [ 4, 56 ], "structs": {}, "state": { "schema": { "global": { "bytes": 0, "ints": 2 }, "local": { "bytes": 0, "ints": 0 } }, "keys": { "global": { "total_supply": { "key": "dG90YWxfc3VwcGx5", "keyType": "AVMBytes", "valueType": "uint64" }, "token": { "key": "dG9rZW4=", "keyType": "AVMBytes", "valueType": "uint64" } }, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": { "balances": { "keyType": "address", "valueType": "uint64" } } } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 1, "source": "contracts/Token.algo.ts:5", "pc": [ 0 ] }, { "teal": 2, "source": "contracts/Token.algo.ts:5", "pc": [ 1, 2, 3, 4, 5, 6 ] }, { "teal": 3, "source": "contracts/Token.algo.ts:5", "pc": [ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 ] }, { "teal": 15, "source": "contracts/Token.algo.ts:5", "pc": [ 28, 29 ] }, { "teal": 16, "source": "contracts/Token.algo.ts:5", "pc": [ 30 ] }, { "teal": 17, "source": "contracts/Token.algo.ts:5", "pc": [ 31 ] }, { "teal": 18, "source": "contracts/Token.algo.ts:5", "pc": [ 32 ] }, { "teal": 19, "source": "contracts/Token.algo.ts:5", "pc": [ 33, 34 ] }, { "teal": 20, "source": "contracts/Token.algo.ts:5", "pc": [ 35 ] }, { "teal": 21, "source": "contracts/Token.algo.ts:5", "pc": [ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61 ] }, { "teal": 25, "source": "contracts/Token.algo.ts:5", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ 62 ] }, { "teal": 30, "source": "contracts/Token.algo.ts:12", "pc": [ 63, 64, 65 ] }, { "teal": 31, "source": "contracts/Token.algo.ts:12", "pc": [ 66 ] }, { "teal": 32, "source": "contracts/Token.algo.ts:12", "pc": [ 67 ] }, { "teal": 36, "source": "contracts/Token.algo.ts:12", "pc": [ 68, 69, 70 ] }, { "teal": 40, "source": "contracts/Token.algo.ts:14", "pc": [ 71 ] }, { "teal": 41, "source": "contracts/Token.algo.ts:14", "pc": [ 72 ] }, { "teal": 42, "source": "contracts/Token.algo.ts:14", "pc": [ 73 ] }, { "teal": 46, "source": "contracts/Token.algo.ts:15", "pc": [ 74 ] }, { "teal": 47, "source": "contracts/Token.algo.ts:15", "pc": [ 75 ] }, { "teal": 48, "source": "contracts/Token.algo.ts:15", "pc": [ 76 ] }, { "teal": 49, "source": "contracts/Token.algo.ts:12", "pc": [ 77 ] }, { "teal": 54, "source": "contracts/Token.algo.ts:18", "pc": [ 78, 79, 80, 81, 82, 83 ] }, { "teal": 57, "source": "contracts/Token.algo.ts:18", "pc": [ 84, 85 ] }, { "teal": 58, "source": "contracts/Token.algo.ts:18", "pc": [ 86 ] }, { "teal": 59, "source": "contracts/Token.algo.ts:18", "pc": [ 87 ] }, { "teal": 60, "source": "contracts/Token.algo.ts:18", "pc": [ 88 ] }, { "teal": 61, "source": "contracts/Token.algo.ts:18", "pc": [ 89, 90 ] }, { "teal": 62, "source": "contracts/Token.algo.ts:18", "pc": [ 91 ] }, { "teal": 63, "source": "contracts/Token.algo.ts:18", "pc": [ 92 ] }, { "teal": 66, "source": "contracts/Token.algo.ts:18", "errorMessage": "argument 0 (seed) for bootstrap must be a pay transaction", "pc": [ 93 ] }, { "teal": 69, "source": "contracts/Token.algo.ts:18", "pc": [ 94, 95, 96 ] }, { "teal": 70, "source": "contracts/Token.algo.ts:18", "pc": [ 97, 98, 99 ] }, { "teal": 73, "source": "contracts/Token.algo.ts:18", "pc": [ 100, 101, 102 ] }, { "teal": 74, "source": "contracts/Token.algo.ts:18", "pc": [ 103, 104, 105 ] }, { "teal": 77, "source": "contracts/Token.algo.ts:18", "pc": [ 106, 107, 108 ] }, { "teal": 78, "source": "contracts/Token.algo.ts:18", "pc": [ 109 ] }, { "teal": 79, "source": "contracts/Token.algo.ts:18", "pc": [ 110 ] }, { "teal": 80, "source": "contracts/Token.algo.ts:18", "pc": [ 111 ] }, { "teal": 81, "source": "contracts/Token.algo.ts:18", "pc": [ 112 ] }, { "teal": 82, "source": "contracts/Token.algo.ts:18", "pc": [ 113 ] }, { "teal": 86, "source": "contracts/Token.algo.ts:18", "pc": [ 114, 115, 116 ] }, { "teal": 90, "source": "contracts/Token.algo.ts:19", "pc": [ 117 ] }, { "teal": 91, "source": "contracts/Token.algo.ts:19", "pc": [ 118 ] }, { "teal": 92, "source": "contracts/Token.algo.ts:19", "pc": [ 119 ] }, { "teal": 93, "source": "contracts/Token.algo.ts:19", "pc": [ 120 ] }, { "teal": 96, "source": "contracts/Token.algo.ts:19", "errorMessage": "application has already been bootstrapped", "pc": [ 121 ] }, { "teal": 100, "source": "contracts/Token.algo.ts:20", "pc": [ 122, 123 ] }, { "teal": 101, "source": "contracts/Token.algo.ts:20", "pc": [ 124, 125 ] }, { "teal": 102, "source": "contracts/Token.algo.ts:20", "pc": [ 126, 127, 128, 129 ] }, { "teal": 103, "source": "contracts/Token.algo.ts:20", "pc": [ 130 ] }, { "teal": 106, "source": "contracts/Token.algo.ts:20", "errorMessage": "amount minimum not met", "pc": [ 131 ] }, { "teal": 110, "source": "contracts/Token.algo.ts:21", "pc": [ 132, 133 ] }, { "teal": 111, "source": "contracts/Token.algo.ts:21", "pc": [ 134, 135 ] }, { "teal": 112, "source": "contracts/Token.algo.ts:21", "pc": [ 136, 137 ] }, { "teal": 113, "source": "contracts/Token.algo.ts:21", "pc": [ 138 ] }, { "teal": 116, "source": "contracts/Token.algo.ts:21", "errorMessage": "receiver not app address", "pc": [ 139 ] }, { "teal": 120, "source": "contracts/Token.algo.ts:23", "pc": [ 140, 141 ] }, { "teal": 121, "source": "contracts/Token.algo.ts:23", "pc": [ 142, 143 ] }, { "teal": 122, "source": "contracts/Token.algo.ts:23", "pc": [ 144, 145, 146 ] }, { "teal": 131, "source": "contracts/Token.algo.ts:25", "pc": [ 147 ] }, { "teal": 132, "source": "contracts/Token.algo.ts:25", "pc": [ 148 ] }, { "teal": 133, "source": "contracts/Token.algo.ts:25", "pc": [ 149, 150 ] }, { "teal": 137, "source": "contracts/Token.algo.ts:26", "pc": [ 151 ] }, { "teal": 138, "source": "contracts/Token.algo.ts:26", "pc": [ 152 ] }, { "teal": 139, "source": "contracts/Token.algo.ts:26", "pc": [ 153, 154 ] }, { "teal": 143, "source": "contracts/Token.algo.ts:27", "pc": [ 155 ] }, { "teal": 144, "source": "contracts/Token.algo.ts:27", "pc": [ 156, 157 ] }, { "teal": 148, "source": "contracts/Token.algo.ts:28", "pc": [ 158, 159 ] }, { "teal": 149, "source": "contracts/Token.algo.ts:28", "pc": [ 160, 161 ] }, { "teal": 153, "source": "contracts/Token.algo.ts:29", "pc": [ 162, 163, 164 ] }, { "teal": 154, "source": "contracts/Token.algo.ts:29", "pc": [ 165, 166 ] }, { "teal": 157, "source": "contracts/Token.algo.ts:25", "pc": [ 167 ] }, { "teal": 161, "source": "contracts/Token.algo.ts:32", "pc": [ 168 ] }, { "teal": 162, "source": "contracts/Token.algo.ts:32", "pc": [ 169 ] }, { "teal": 163, "source": "contracts/Token.algo.ts:18", "pc": [ 170 ] }, { "teal": 168, "source": "contracts/Token.algo.ts:35", "pc": [ 171, 172, 173 ] }, { "teal": 169, "source": "contracts/Token.algo.ts:35", "pc": [ 174 ] }, { "teal": 172, "source": "contracts/Token.algo.ts:35", "pc": [ 175, 176, 177 ] }, { "teal": 173, "source": "contracts/Token.algo.ts:35", "pc": [ 178 ] }, { "teal": 174, "source": "contracts/Token.algo.ts:35", "pc": [ 179 ] }, { "teal": 178, "source": "contracts/Token.algo.ts:35", "pc": [ 180, 181, 182 ] }, { "teal": 181, "source": "contracts/Token.algo.ts:35", "pc": [ 183, 184 ] }, { "teal": 185, "source": "contracts/Token.algo.ts:36", "pc": [ 185 ] }, { "teal": 186, "source": "contracts/Token.algo.ts:36", "pc": [ 186 ] }, { "teal": 187, "source": "contracts/Token.algo.ts:36", "pc": [ 187, 188 ] }, { "teal": 188, "source": "contracts/Token.algo.ts:36", "pc": [ 189 ] }, { "teal": 189, "source": "contracts/Token.algo.ts:36", "pc": [ 190 ] }, { "teal": 190, "source": "contracts/Token.algo.ts:36", "pc": [ 191 ] }, { "teal": 191, "source": "contracts/Token.algo.ts:36", "pc": [ 192 ] }, { "teal": 195, "source": "contracts/Token.algo.ts:38", "pc": [ 193, 194 ] }, { "teal": 196, "source": "contracts/Token.algo.ts:38", "pc": [ 195, 196 ] }, { "teal": 201, "source": "contracts/Token.algo.ts:40", "pc": [ 197, 198 ] }, { "teal": 202, "source": "contracts/Token.algo.ts:40", "pc": [ 199 ] }, { "teal": 203, "source": "contracts/Token.algo.ts:40", "pc": [ 200 ] }, { "teal": 204, "source": "contracts/Token.algo.ts:40", "pc": [ 201 ] }, { "teal": 205, "source": "contracts/Token.algo.ts:40", "pc": [ 202 ] }, { "teal": 206, "source": "contracts/Token.algo.ts:40", "pc": [ 203, 204, 205 ] }, { "teal": 211, "source": "contracts/Token.algo.ts:41", "pc": [ 206, 207 ] }, { "teal": 212, "source": "contracts/Token.algo.ts:41", "pc": [ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217 ] }, { "teal": 213, "source": "contracts/Token.algo.ts:41", "pc": [ 218 ] }, { "teal": 218, "source": "contracts/Token.algo.ts:44", "pc": [ 219, 220 ] }, { "teal": 219, "source": "contracts/Token.algo.ts:44", "pc": [ 221 ] }, { "teal": 222, "source": "contracts/Token.algo.ts:44", "errorMessage": "box value does not exist: this.balances(sender).value", "pc": [ 222 ] }, { "teal": 223, "source": "contracts/Token.algo.ts:44", "pc": [ 223 ] }, { "teal": 224, "source": "contracts/Token.algo.ts:44", "pc": [ 224, 225 ] }, { "teal": 225, "source": "contracts/Token.algo.ts:44", "pc": [ 226 ] }, { "teal": 226, "source": "contracts/Token.algo.ts:44", "pc": [ 227, 228 ] }, { "teal": 227, "source": "contracts/Token.algo.ts:44", "pc": [ 229 ] }, { "teal": 228, "source": "contracts/Token.algo.ts:44", "pc": [ 230 ] }, { "teal": 229, "source": "contracts/Token.algo.ts:44", "pc": [ 231 ] }, { "teal": 238, "source": "contracts/Token.algo.ts:46", "pc": [ 232 ] }, { "teal": 239, "source": "contracts/Token.algo.ts:46", "pc": [ 233 ] }, { "teal": 240, "source": "contracts/Token.algo.ts:46", "pc": [ 234, 235 ] }, { "teal": 244, "source": "contracts/Token.algo.ts:47", "pc": [ 236, 237 ] }, { "teal": 245, "source": "contracts/Token.algo.ts:47", "pc": [ 238, 239 ] }, { "teal": 249, "source": "contracts/Token.algo.ts:48", "pc": [ 240, 241 ] }, { "teal": 250, "source": "contracts/Token.algo.ts:48", "pc": [ 242, 243 ] }, { "teal": 254, "source": "contracts/Token.algo.ts:49", "pc": [ 244 ] }, { "teal": 255, "source": "contracts/Token.algo.ts:49", "pc": [ 245 ] }, { "teal": 256, "source": "contracts/Token.algo.ts:49", "pc": [ 246, 247 ] }, { "teal": 260, "source": "contracts/Token.algo.ts:50", "pc": [ 248, 249 ] }, { "teal": 261, "source": "contracts/Token.algo.ts:50", "pc": [ 250, 251 ] }, { "teal": 264, "source": "contracts/Token.algo.ts:46", "pc": [ 252 ] }, { "teal": 265, "source": "contracts/Token.algo.ts:46", "pc": [ 253, 254 ] }, { "teal": 268, "source": "contracts/Token.algo.ts:46", "pc": [ 255 ] }, { "teal": 269, "source": "contracts/Token.algo.ts:35", "pc": [ 256 ] }, { "teal": 273, "source": "contracts/Token.algo.ts:54", "pc": [ 257, 258, 259 ] }, { "teal": 287, "source": "contracts/Token.algo.ts:55", "pc": [ 260 ] }, { "teal": 288, "source": "contracts/Token.algo.ts:55", "pc": [ 261 ] }, { "teal": 289, "source": "contracts/Token.algo.ts:55", "pc": [ 262, 263 ] }, { "teal": 290, "source": "contracts/Token.algo.ts:55", "pc": [ 264, 265 ] }, { "teal": 294, "source": "contracts/Token.algo.ts:3", "pc": [ 266, 267 ] }, { "teal": 295, "source": "contracts/Token.algo.ts:3", "pc": [ 268, 269 ] }, { "teal": 296, "source": "contracts/Token.algo.ts:3", "pc": [ 270 ] }, { "teal": 297, "source": "contracts/Token.algo.ts:56", "pc": [ 271, 272 ] }, { "teal": 301, "source": "contracts/Token.algo.ts:57", "pc": [ 273 ] }, { "teal": 302, "source": "contracts/Token.algo.ts:57", "pc": [ 274, 275 ] }, { "teal": 306, "source": "contracts/Token.algo.ts:58", "pc": [ 276, 277 ] }, { "teal": 307, "source": "contracts/Token.algo.ts:58", "pc": [ 278, 279 ] }, { "teal": 311, "source": "contracts/Token.algo.ts:59", "pc": [ 280, 281 ] }, { "teal": 312, "source": "contracts/Token.algo.ts:59", "pc": [ 282, 283 ] }, { "teal": 316, "source": "contracts/Token.algo.ts:60", "pc": [ 284, 285 ] }, { "teal": 317, "source": "contracts/Token.algo.ts:60", "pc": [ 286, 287 ] }, { "teal": 321, "source": "contracts/Token.algo.ts:61", "pc": [ 288, 289 ] }, { "teal": 322, "source": "contracts/Token.algo.ts:61", "pc": [ 290, 291 ] }, { "teal": 326, "source": "contracts/Token.algo.ts:62", "pc": [ 292 ] }, { "teal": 327, "source": "contracts/Token.algo.ts:62", "pc": [ 293, 294 ] }, { "teal": 331, "source": "contracts/Token.algo.ts:63", "pc": [ 295, 296 ] }, { "teal": 332, "source": "contracts/Token.algo.ts:63", "pc": [ 297, 298 ] }, { "teal": 336, "source": "contracts/Token.algo.ts:64", "pc": [ 299, 300 ] }, { "teal": 337, "source": "contracts/Token.algo.ts:64", "pc": [ 301, 302 ] }, { "teal": 340, "source": "contracts/Token.algo.ts:55", "pc": [ 303 ] }, { "teal": 341, "source": "contracts/Token.algo.ts:55", "pc": [ 304, 305 ] }, { "teal": 344, "source": "contracts/Token.algo.ts:55", "pc": [ 306 ] }, { "teal": 345, "source": "contracts/Token.algo.ts:55", "pc": [ 307, 308 ] }, { "teal": 346, "source": "contracts/Token.algo.ts:55", "pc": [ 309 ] }, { "teal": 347, "source": "contracts/Token.algo.ts:54", "pc": [ 310 ] }, { "teal": 350, "source": "contracts/Token.algo.ts:5", "pc": [ 311, 312 ] }, { "teal": 351, "source": "contracts/Token.algo.ts:5", "pc": [ 313, 314, 315 ] }, { "teal": 352, "source": "contracts/Token.algo.ts:5", "pc": [ 316, 317, 318, 319, 320, 321 ] }, { "teal": 353, "source": "contracts/Token.algo.ts:5", "pc": [ 322, 323, 324 ] }, { "teal": 354, "source": "contracts/Token.algo.ts:5", "pc": [ 325, 326, 327, 328 ] }, { "teal": 357, "source": "contracts/Token.algo.ts:5", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 329 ] }, { "teal": 360, "source": "contracts/Token.algo.ts:5", "pc": [ 330, 331, 332, 333, 334, 335 ] }, { "teal": 361, "source": "contracts/Token.algo.ts:5", "pc": [ 336, 337, 338, 339, 340, 341 ] }, { "teal": 362, "source": "contracts/Token.algo.ts:5", "pc": [ 342, 343, 344 ] }, { "teal": 363, "source": "contracts/Token.algo.ts:5", "pc": [ 345, 346, 347, 348, 349, 350 ] }, { "teal": 366, "source": "contracts/Token.algo.ts:5", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ 351 ] } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNCA2CmJ5dGVjYmxvY2sgMHg3NDZmNmI2NTZlIDB4NzQ2Zjc0NjE2YzVmNzM3NTcwNzA2Yzc5CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNi4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDMgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjE0CgkvLyB0aGlzLnRva2VuLnZhbHVlID0gQXNzZXRJRC56ZXJvSW5kZXgKCWJ5dGVjIDAgLy8gICJ0b2tlbiIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjE1CgkvLyB0aGlzLnRvdGFsX3N1cHBseS52YWx1ZSA9IDAKCWJ5dGVjIDEgLy8gICJ0b3RhbF9zdXBwbHkiCglpbnRjIDAgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYm9vdHN0cmFwKGJ5dGVbXSxieXRlW10scGF5KXVpbnQ2NAoqYWJpX3JvdXRlX2Jvb3RzdHJhcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBzZWVkOiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDEgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAxIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAoc2VlZCkgZm9yIGJvb3RzdHJhcCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyB1bml0OiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gbmFtZTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgYm9vdHN0cmFwKGJ5dGVbXSxieXRlW10scGF5KXVpbnQ2NAoJY2FsbHN1YiBib290c3RyYXAKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBib290c3RyYXAobmFtZTogYnl0ZXMsIHVuaXQ6IGJ5dGVzLCBzZWVkOiBQYXlUeG4pOiBBc3NldElECmJvb3RzdHJhcDoKCXByb3RvIDMgMQoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjE5CgkvLyBhc3NlcnQodGhpcy50b2tlbi52YWx1ZSA9PT0gQXNzZXRJRC56ZXJvSW5kZXgsICdhcHBsaWNhdGlvbiBoYXMgYWxyZWFkeSBiZWVuIGJvb3RzdHJhcHBlZCcpCglieXRlYyAwIC8vICAidG9rZW4iCglhcHBfZ2xvYmFsX2dldAoJaW50YyAwIC8vIDAKCT09CgoJLy8gYXBwbGljYXRpb24gaGFzIGFscmVhZHkgYmVlbiBib290c3RyYXBwZWQKCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjIwCgkvLyBhc3NlcnQoc2VlZC5hbW91bnQgPj0gMzAwXzAwMCwgJ2Ftb3VudCBtaW5pbXVtIG5vdCBtZXQnKQoJZnJhbWVfZGlnIC0zIC8vIHNlZWQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglwdXNoaW50IDMwMF8wMDAKCT49CgoJLy8gYW1vdW50IG1pbmltdW0gbm90IG1ldAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL1Rva2VuLmFsZ28udHM6MjEKCS8vIGFzc2VydChzZWVkLnJlY2VpdmVyID09PSB0aGlzLmFwcC5hZGRyZXNzLCAncmVjZWl2ZXIgbm90IGFwcCBhZGRyZXNzJykKCWZyYW1lX2RpZyAtMyAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyByZWNlaXZlciBub3QgYXBwIGFkZHJlc3MKCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjIzCgkvLyB0aGlzLmNyZWF0ZVRva2VuKG5hbWUsIHVuaXQpCglmcmFtZV9kaWcgLTIgLy8gdW5pdDogYnl0ZXMKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBieXRlcwoJY2FsbHN1YiBjcmVhdGVUb2tlbgoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjI1CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICB4ZmVyQXNzZXQ6IHRoaXMudG9rZW4udmFsdWUsCgkvLyAgICAgICBhc3NldEFtb3VudDogMCwKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBmZWU6IDEwMDAsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czoyNgoJLy8geGZlckFzc2V0OiB0aGlzLnRva2VuLnZhbHVlCglieXRlYyAwIC8vICAidG9rZW4iCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czoyNwoJLy8gYXNzZXRBbW91bnQ6IDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gY29udHJhY3RzL1Rva2VuLmFsZ28udHM6MjgKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czoyOQoJLy8gZmVlOiAxMDAwCglwdXNoaW50IDEwMDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjMyCgkvLyByZXR1cm4gdGhpcy50b2tlbi52YWx1ZTsKCWJ5dGVjIDAgLy8gICJ0b2tlbiIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIG1pbnQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9taW50OgoJLy8gYW1vdW50OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIG1pbnQodWludDY0KXZvaWQKCWNhbGxzdWIgbWludAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbWludChhbW91bnQ6IHVpbnQ2NCk6IHZvaWQKbWludDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czozNgoJLy8gdGhpcy50b3RhbF9zdXBwbHkudmFsdWUgKz0gYW1vdW50CglieXRlYyAxIC8vICAidG90YWxfc3VwcGx5IgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBhbW91bnQ6IHVpbnQ2NAoJKwoJYnl0ZWMgMSAvLyAgInRvdGFsX3N1cHBseSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gY29udHJhY3RzL1Rva2VuLmFsZ28udHM6MzgKCS8vIHNlbmRlciA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfYnVyeSAwIC8vIHNlbmRlcjogYWRkcmVzcwoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo0MAoJLy8gIXRoaXMuYmFsYW5jZXMoc2VuZGVyKS5leGlzdHMKCWZyYW1lX2RpZyAwIC8vIHNlbmRlcjogYWRkcmVzcwoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL1Rva2VuLmFsZ28udHM6NDEKCS8vIHRoaXMuYmFsYW5jZXMoc2VuZGVyKS52YWx1ZSA9IDAKCWZyYW1lX2RpZyAwIC8vIHNlbmRlcjogYWRkcmVzcwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMAoJYm94X3B1dAoKKmlmMF9lbmQ6CgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo0NAoJLy8gdGhpcy5iYWxhbmNlcyhzZW5kZXIpLnZhbHVlICs9IGFtb3VudAoJZnJhbWVfZGlnIDAgLy8gc2VuZGVyOiBhZGRyZXNzCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJhbGFuY2VzKHNlbmRlcikudmFsdWUKCWFzc2VydAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGFtb3VudDogdWludDY0CgkrCglmcmFtZV9kaWcgMCAvLyBzZW5kZXI6IGFkZHJlc3MKCXN3YXAKCWl0b2IKCWJveF9wdXQKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo0NgoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IGFtb3VudCwKCS8vICAgICAgIHhmZXJBc3NldDogdGhpcy50b2tlbi52YWx1ZSwKCS8vICAgICAgIHNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjQ3CgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjQ4CgkvLyBhc3NldEFtb3VudDogYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gYW1vdW50OiB1aW50NjQKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo0OQoJLy8geGZlckFzc2V0OiB0aGlzLnRva2VuLnZhbHVlCglieXRlYyAwIC8vICAidG9rZW4iCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo1MAoJLy8gc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGNyZWF0ZVRva2VuKG5hbWU6IGJ5dGVzLCB1bml0OiBieXRlcyk6IHZvaWQKY3JlYXRlVG9rZW46Cglwcm90byAyIDAKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo1NQoJLy8gdGhpcy50b2tlbi52YWx1ZSA9IHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VG90YWw6IFRPVEFMX1NVUFBMWSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDYsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldENsYXdiYWNrOiBnbG9iYWxzLnplcm9BZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRGcmVlemU6IGdsb2JhbHMuemVyb0FkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAsCgkvLyAgICAgICBjb25maWdBc3NldE5hbWU6IG5hbWUsCgkvLyAgICAgICBjb25maWdBc3NldFVuaXROYW1lOiB1bml0LAoJLy8gICAgIH0pCglieXRlYyAwIC8vICAidG9rZW4iCglpdHhuX2JlZ2luCglwdXNoaW50IDMgLy8gYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjU2CgkvLyBjb25maWdBc3NldFRvdGFsOiBUT1RBTF9TVVBQTFkKCXB1c2hpbnQgMTAKCXB1c2hpbnQgMTYKCWV4cAoJaXR4bl9maWVsZCBDb25maWdBc3NldFRvdGFsCgoJLy8gY29udHJhY3RzL1Rva2VuLmFsZ28udHM6NTcKCS8vIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDYKCWludGMgMyAvLyA2CglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVjaW1hbHMKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo1OAoJLy8gY29uZmlnQXNzZXRSZXNlcnZlOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldFJlc2VydmUKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo1OQoJLy8gY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldE1hbmFnZXIKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo2MAoJLy8gY29uZmlnQXNzZXRDbGF3YmFjazogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0Q2xhd2JhY2sKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo2MQoJLy8gY29uZmlnQXNzZXRGcmVlemU6IGdsb2JhbHMuemVyb0FkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjYyCgkvLyBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbgoKCS8vIGNvbnRyYWN0cy9Ub2tlbi5hbGdvLnRzOjYzCgkvLyBjb25maWdBc3NldE5hbWU6IG5hbWUKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBieXRlcwoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBjb250cmFjdHMvVG9rZW4uYWxnby50czo2NAoJLy8gY29uZmlnQXNzZXRVbml0TmFtZTogdW5pdAoJZnJhbWVfZGlnIC0yIC8vIHVuaXQ6IGJ5dGVzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VW5pdE5hbWUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIENyZWF0ZWRBc3NldElECglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6Cgl0eG4gTnVtQXBwQXJncwoJYnogKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGNhMGFkOWVmIC8vIG1ldGhvZCAiYm9vdHN0cmFwKGJ5dGVbXSxieXRlW10scGF5KXVpbnQ2NCIKCXB1c2hieXRlcyAweGI5OGI5MDVmIC8vIG1ldGhvZCAibWludCh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vdHN0cmFwICphYmlfcm91dGVfbWludAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { "approval": "CiAEAAEEBiYCBXRva2VuDHRvdGFsX3N1cHBseTEYFCULMRkIjQwBDAAAAAAAAAAAAAAA+QAAAAAAAAAAAAAAiAACI0OKAAAoImcpImeJgAQVH3x1MRYjCUk4ECMSRDYaAlcCADYaAVcCAIgABRZQsCNDigMBKGQiEkSL/TgIgeCnEg9Ei/04BzIKEkSL/ov/iABusSSyEChkshEishIyCrIUgegHsgGzKGSJNhoBF4gAAiNDigEAgAApZIv/CClMZzEAjACLAL1MSBRBAA2LAIAIAAAAAAAAAAC/iwC+RBeL/wiLAEwWv7EkshAxALIUi/+yEihkshEyCrIAIrIBs4mKAgAosYEDshCBCoEQlLIiJbIjMgqyKjIKsikyA7IsMgOyKyKyJIv/siaL/rIlIrIBs7Q8Z4kxG0H/A4AEuER7NjYaAI4B/vYAgATKCtnvgAS5i5BfNhoAjgL+7/9MAA==", "clear": "Cg==" }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 4, "minor": 6, "patch": 0, "commitHash": "0915527b" } } }