{ "name": "ARC72", "desc": "", "methods": [ { "name": "arc72_ownerOf", "desc": "Returns the address of the current owner of the NFT with the given tokenId", "readonly": true, "args": [ { "name": "tokenId", "type": "uint256", "desc": "The ID of the NFT" } ], "returns": { "type": "address", "desc": "The current owner of the NFT" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc72_tokenURI", "desc": "Returns a URI pointing to the NFT metadata", "readonly": true, "args": [ { "name": "tokenId", "type": "uint256", "desc": "The ID of the NFT" } ], "returns": { "type": "byte[256]", "desc": "URI to token metadata" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc72_transferFrom", "desc": "Transfers ownership of an NFT", "args": [ { "name": "_from", "type": "address" }, { "name": "to", "type": "address" }, { "name": "tokenId", "type": "uint256" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc72_approve", "desc": "Approve a controller for a single NFT", "args": [ { "name": "approved", "type": "address", "desc": "Approved controller address" }, { "name": "tokenId", "type": "uint256", "desc": "The ID of the NFT" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc72_setApprovalForAll", "desc": "Approve an operator for all NFTs for a user", "args": [ { "name": "operator", "type": "address", "desc": "Approved operator address" }, { "name": "approved", "type": "bool", "desc": "true to give approval, false to revoke" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "mint", "args": [ { "name": "to", "type": "address" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc72_totalSupply", "desc": "Returns the number of NFTs currently defined by this contract", "readonly": true, "args": [], "returns": { "type": "uint256" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "arc72_tokenByIndex", "desc": "Returns the token ID of the token with the given index among all NFTs defined by the contract", "readonly": true, "args": [ { "name": "index", "type": "uint256" } ], "returns": { "type": "uint256" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "createApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] } } ], "arcs": [ 4, 56 ], "structs": { "Token": [ { "name": "owner", "type": "address" }, { "name": "uri", "type": "byte[256]" }, { "name": "controller", "type": "address" } ], "Control": [ { "name": "owner", "type": "address" }, { "name": "controller", "type": "address" } ] }, "state": { "schema": { "global": { "bytes": 1, "ints": 0 }, "local": { "bytes": 0, "ints": 0 } }, "keys": { "global": { "index": { "key": "aW5kZXg=", "keyType": "AVMBytes", "valueType": "uint256" } }, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": { "tokenBox": { "keyType": "uint256", "valueType": "Token" }, "controlBox": { "keyType": "Control", "valueType": "AVMBytes" } } } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 1, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 0 ] }, { "teal": 2, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ] }, { "teal": 3, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 ] }, { "teal": 15, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 57, 58 ] }, { "teal": 16, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 59 ] }, { "teal": 17, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 60, 61 ] }, { "teal": 18, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 62 ] }, { "teal": 19, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 63, 64 ] }, { "teal": 20, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 65 ] }, { "teal": 21, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91 ] }, { "teal": 25, "source": "examples/arc72/arc72.algo.ts:9", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ 92 ] }, { "teal": 30, "source": "examples/arc72/arc72.algo.ts:23", "pc": [ 93 ] }, { "teal": 33, "source": "examples/arc72/arc72.algo.ts:24", "pc": [ 94, 95, 96 ] }, { "teal": 34, "source": "examples/arc72/arc72.algo.ts:24", "pc": [ 97 ] }, { "teal": 35, "source": "examples/arc72/arc72.algo.ts:24", "pc": [ 98 ] }, { "teal": 36, "source": "examples/arc72/arc72.algo.ts:24", "pc": [ 99 ] }, { "teal": 37, "source": "examples/arc72/arc72.algo.ts:24", "pc": [ 100 ] }, { "teal": 40, "source": "examples/arc72/arc72.algo.ts:24", "errorMessage": "argument 0 (tokenId) for arc72_ownerOf must be a uint256", "pc": [ 101 ] }, { "teal": 43, "source": "examples/arc72/arc72.algo.ts:23", "pc": [ 102, 103, 104 ] }, { "teal": 44, "source": "examples/arc72/arc72.algo.ts:23", "pc": [ 105 ] }, { "teal": 45, "source": "examples/arc72/arc72.algo.ts:23", "pc": [ 106 ] }, { "teal": 46, "source": "examples/arc72/arc72.algo.ts:23", "pc": [ 107 ] }, { "teal": 47, "source": "examples/arc72/arc72.algo.ts:23", "pc": [ 108 ] }, { "teal": 57, "source": "examples/arc72/arc72.algo.ts:23", "pc": [ 109, 110, 111 ] }, { "teal": 61, "source": "examples/arc72/arc72.algo.ts:25", "pc": [ 112, 113 ] }, { "teal": 62, "source": "examples/arc72/arc72.algo.ts:25", "pc": [ 114 ] }, { "teal": 63, "source": "examples/arc72/arc72.algo.ts:25", "pc": [ 115 ] }, { "teal": 64, "source": "examples/arc72/arc72.algo.ts:25", "pc": [ 116 ] }, { "teal": 65, "source": "examples/arc72/arc72.algo.ts:23", "pc": [ 117 ] }, { "teal": 70, "source": "examples/arc72/arc72.algo.ts:35", "pc": [ 118 ] }, { "teal": 73, "source": "examples/arc72/arc72.algo.ts:36", "pc": [ 119, 120, 121 ] }, { "teal": 74, "source": "examples/arc72/arc72.algo.ts:36", "pc": [ 122 ] }, { "teal": 75, "source": "examples/arc72/arc72.algo.ts:36", "pc": [ 123 ] }, { "teal": 76, "source": "examples/arc72/arc72.algo.ts:36", "pc": [ 124 ] }, { "teal": 77, "source": "examples/arc72/arc72.algo.ts:36", "pc": [ 125 ] }, { "teal": 80, "source": "examples/arc72/arc72.algo.ts:36", "errorMessage": "argument 0 (tokenId) for arc72_tokenURI must be a uint256", "pc": [ 126 ] }, { "teal": 83, "source": "examples/arc72/arc72.algo.ts:35", "pc": [ 127, 128, 129 ] }, { "teal": 84, "source": "examples/arc72/arc72.algo.ts:35", "pc": [ 130 ] }, { "teal": 85, "source": "examples/arc72/arc72.algo.ts:35", "pc": [ 131 ] }, { "teal": 86, "source": "examples/arc72/arc72.algo.ts:35", "pc": [ 132 ] }, { "teal": 87, "source": "examples/arc72/arc72.algo.ts:35", "pc": [ 133 ] }, { "teal": 97, "source": "examples/arc72/arc72.algo.ts:35", "pc": [ 134, 135, 136 ] }, { "teal": 101, "source": "examples/arc72/arc72.algo.ts:37", "pc": [ 137, 138 ] }, { "teal": 102, "source": "examples/arc72/arc72.algo.ts:37", "pc": [ 139 ] }, { "teal": 103, "source": "examples/arc72/arc72.algo.ts:37", "pc": [ 140 ] }, { "teal": 104, "source": "examples/arc72/arc72.algo.ts:37", "pc": [ 141 ] }, { "teal": 105, "source": "examples/arc72/arc72.algo.ts:35", "pc": [ 142 ] }, { "teal": 109, "source": "examples/arc72/arc72.algo.ts:40", "pc": [ 143, 144, 145 ] }, { "teal": 113, "source": "examples/arc72/arc72.algo.ts:41", "pc": [ 146, 147 ] }, { "teal": 114, "source": "examples/arc72/arc72.algo.ts:41", "pc": [ 148 ] }, { "teal": 115, "source": "examples/arc72/arc72.algo.ts:41", "pc": [ 149, 150 ] }, { "teal": 116, "source": "examples/arc72/arc72.algo.ts:41", "pc": [ 151 ] }, { "teal": 117, "source": "examples/arc72/arc72.algo.ts:40", "pc": [ 152 ] }, { "teal": 122, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 153, 154, 155 ] }, { "teal": 123, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 156 ] }, { "teal": 124, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 157 ] }, { "teal": 125, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 158 ] }, { "teal": 126, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 159 ] }, { "teal": 129, "source": "examples/arc72/arc72.algo.ts:47", "errorMessage": "argument 0 (tokenId) for arc72_transferFrom must be a uint256", "pc": [ 160 ] }, { "teal": 132, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 161, 162, 163 ] }, { "teal": 133, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 164 ] }, { "teal": 134, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 165 ] }, { "teal": 135, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 166 ] }, { "teal": 136, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 167 ] }, { "teal": 139, "source": "examples/arc72/arc72.algo.ts:47", "errorMessage": "argument 1 (to) for arc72_transferFrom must be a address", "pc": [ 168 ] }, { "teal": 142, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 169, 170, 171 ] }, { "teal": 143, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 172 ] }, { "teal": 144, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 173 ] }, { "teal": 145, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 174 ] }, { "teal": 146, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 175 ] }, { "teal": 149, "source": "examples/arc72/arc72.algo.ts:47", "errorMessage": "argument 2 (_from) for arc72_transferFrom must be a address", "pc": [ 176 ] }, { "teal": 152, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 177, 178, 179 ] }, { "teal": 153, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 180 ] }, { "teal": 154, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 181 ] }, { "teal": 160, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 182, 183, 184 ] }, { "teal": 163, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 185 ] }, { "teal": 164, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 186 ] }, { "teal": 168, "source": "examples/arc72/arc72.algo.ts:48", "pc": [ 187, 188 ] }, { "teal": 169, "source": "examples/arc72/arc72.algo.ts:48", "pc": [ 189, 190 ] }, { "teal": 173, "source": "examples/arc72/arc72.algo.ts:50", "pc": [ 191, 192 ] }, { "teal": 174, "source": "examples/arc72/arc72.algo.ts:50", "pc": [ 193, 194 ] }, { "teal": 175, "source": "examples/arc72/arc72.algo.ts:50", "pc": [ 195 ] }, { "teal": 176, "source": "examples/arc72/arc72.algo.ts:50", "pc": [ 196, 197 ] }, { "teal": 181, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 198, 199 ] }, { "teal": 182, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 200, 201 ] }, { "teal": 183, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 202 ] }, { "teal": 184, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 203 ] }, { "teal": 185, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 204, 205, 206 ] }, { "teal": 186, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 207, 208 ] }, { "teal": 187, "source": "examples/arc72/arc72.algo.ts:48", "pc": [ 209, 210 ] }, { "teal": 188, "source": "examples/arc72/arc72.algo.ts:48", "pc": [ 211, 212 ] }, { "teal": 189, "source": "examples/arc72/arc72.algo.ts:48", "pc": [ 213 ] }, { "teal": 190, "source": "examples/arc72/arc72.algo.ts:48", "pc": [ 214 ] }, { "teal": 191, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 215 ] }, { "teal": 192, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 216 ] }, { "teal": 195, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 217 ] }, { "teal": 196, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 218, 219, 220 ] }, { "teal": 197, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 221, 222 ] }, { "teal": 198, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 223 ] }, { "teal": 199, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 224 ] }, { "teal": 200, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 225 ] }, { "teal": 201, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 226 ] }, { "teal": 204, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 227, 228, 229 ] }, { "teal": 209, "source": "examples/arc72/arc72.algo.ts:53", "pc": [ 230, 231 ] }, { "teal": 210, "source": "examples/arc72/arc72.algo.ts:53", "pc": [ 232, 233 ] }, { "teal": 211, "source": "examples/arc72/arc72.algo.ts:53", "pc": [ 234, 235, 236 ] }, { "teal": 212, "source": "examples/arc72/arc72.algo.ts:52", "pc": [ 237, 238, 239 ] }, { "teal": 216, "source": "examples/arc72/arc72.algo.ts:54", "errorMessage": "Transfer not authorized", "pc": [ 240 ] }, { "teal": 219, "source": "examples/arc72/arc72.algo.ts:47", "pc": [ 241 ] }, { "teal": 224, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 242, 243, 244 ] }, { "teal": 225, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 245 ] }, { "teal": 226, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 246 ] }, { "teal": 227, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 247 ] }, { "teal": 228, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 248 ] }, { "teal": 231, "source": "examples/arc72/arc72.algo.ts:64", "errorMessage": "argument 0 (tokenId) for arc72_approve must be a uint256", "pc": [ 249 ] }, { "teal": 234, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 250, 251, 252 ] }, { "teal": 235, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 253 ] }, { "teal": 236, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 254 ] }, { "teal": 237, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 255 ] }, { "teal": 238, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 256 ] }, { "teal": 241, "source": "examples/arc72/arc72.algo.ts:64", "errorMessage": "argument 1 (approved) for arc72_approve must be a address", "pc": [ 257 ] }, { "teal": 244, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 258, 259, 260 ] }, { "teal": 245, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 261 ] }, { "teal": 246, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 262 ] }, { "teal": 256, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 263, 264, 265 ] }, { "teal": 260, "source": "examples/arc72/arc72.algo.ts:65", "pc": [ 266, 267 ] }, { "teal": 261, "source": "examples/arc72/arc72.algo.ts:65", "pc": [ 268, 269 ] }, { "teal": 262, "source": "examples/arc72/arc72.algo.ts:65", "pc": [ 270, 271 ] }, { "teal": 263, "source": "examples/arc72/arc72.algo.ts:65", "pc": [ 272 ] }, { "teal": 264, "source": "examples/arc72/arc72.algo.ts:64", "pc": [ 273 ] }, { "teal": 269, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 274, 275, 276 ] }, { "teal": 270, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 277 ] }, { "teal": 271, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 278 ] }, { "teal": 272, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 279 ] }, { "teal": 273, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 280 ] }, { "teal": 276, "source": "examples/arc72/arc72.algo.ts:76", "errorMessage": "argument 0 (approved) for arc72_setApprovalForAll must be a bool", "pc": [ 281 ] }, { "teal": 277, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 282 ] }, { "teal": 278, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 283 ] }, { "teal": 281, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 284, 285, 286 ] }, { "teal": 282, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 287 ] }, { "teal": 283, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 288 ] }, { "teal": 284, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 289 ] }, { "teal": 285, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 290 ] }, { "teal": 288, "source": "examples/arc72/arc72.algo.ts:76", "errorMessage": "argument 1 (operator) for arc72_setApprovalForAll must be a address", "pc": [ 291 ] }, { "teal": 291, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 292, 293, 294 ] }, { "teal": 292, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 295 ] }, { "teal": 293, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 296 ] }, { "teal": 304, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 297, 298, 299 ] }, { "teal": 307, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 300 ] }, { "teal": 311, "source": "examples/arc72/arc72.algo.ts:77", "pc": [ 301, 302 ] }, { "teal": 312, "source": "examples/arc72/arc72.algo.ts:77", "pc": [ 303, 304 ] }, { "teal": 313, "source": "examples/arc72/arc72.algo.ts:77", "pc": [ 305 ] }, { "teal": 314, "source": "examples/arc72/arc72.algo.ts:77", "pc": [ 306, 307 ] }, { "teal": 319, "source": "examples/arc72/arc72.algo.ts:79", "pc": [ 308, 309 ] }, { "teal": 320, "source": "examples/arc72/arc72.algo.ts:79", "pc": [ 310, 311, 312 ] }, { "teal": 325, "source": "examples/arc72/arc72.algo.ts:79", "pc": [ 313, 314 ] }, { "teal": 326, "source": "examples/arc72/arc72.algo.ts:79", "pc": [ 315 ] }, { "teal": 327, "source": "examples/arc72/arc72.algo.ts:79", "pc": [ 316 ] }, { "teal": 328, "source": "examples/arc72/arc72.algo.ts:79", "pc": [ 317 ] }, { "teal": 329, "source": "examples/arc72/arc72.algo.ts:79", "pc": [ 318 ] }, { "teal": 330, "source": "examples/arc72/arc72.algo.ts:79", "pc": [ 319 ] }, { "teal": 331, "source": "examples/arc72/arc72.algo.ts:79", "pc": [ 320, 321, 322 ] }, { "teal": 336, "source": "examples/arc72/arc72.algo.ts:80", "pc": [ 323, 324 ] }, { "teal": 337, "source": "examples/arc72/arc72.algo.ts:80", "pc": [ 325 ] }, { "teal": 338, "source": "examples/arc72/arc72.algo.ts:80", "pc": [ 326 ] }, { "teal": 339, "source": "examples/arc72/arc72.algo.ts:80", "pc": [ 327 ] }, { "teal": 340, "source": "examples/arc72/arc72.algo.ts:80", "pc": [ 328, 329, 330 ] }, { "teal": 345, "source": "examples/arc72/arc72.algo.ts:80", "pc": [ 331, 332 ] }, { "teal": 346, "source": "examples/arc72/arc72.algo.ts:80", "pc": [ 333 ] }, { "teal": 349, "source": "examples/arc72/arc72.algo.ts:76", "pc": [ 334 ] }, { "teal": 354, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 335, 336, 337 ] }, { "teal": 355, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 338 ] }, { "teal": 356, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 339 ] }, { "teal": 357, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 340 ] }, { "teal": 358, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 341 ] }, { "teal": 361, "source": "examples/arc72/arc72.algo.ts:83", "errorMessage": "argument 0 (to) for mint must be a address", "pc": [ 342 ] }, { "teal": 364, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 343, 344, 345 ] }, { "teal": 365, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 346 ] }, { "teal": 366, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 347 ] }, { "teal": 370, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 348, 349, 350 ] }, { "teal": 373, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 351 ] }, { "teal": 374, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 352 ] }, { "teal": 378, "source": "examples/arc72/arc72.algo.ts:84", "pc": [ 353 ] }, { "teal": 379, "source": "examples/arc72/arc72.algo.ts:84", "pc": [ 354 ] }, { "teal": 380, "source": "examples/arc72/arc72.algo.ts:84", "pc": [ 355, 356 ] }, { "teal": 388, "source": "examples/arc72/arc72.algo.ts:87", "pc": [ 357, 358 ] }, { "teal": 389, "source": "examples/arc72/arc72.algo.ts:88", "pc": [ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617 ] }, { "teal": 390, "source": "examples/arc72/arc72.algo.ts:88", "pc": [ 618 ] }, { "teal": 391, "source": "examples/arc72/arc72.algo.ts:89", "pc": [ 619, 620 ] }, { "teal": 392, "source": "examples/arc72/arc72.algo.ts:89", "pc": [ 621 ] }, { "teal": 393, "source": "examples/arc72/arc72.algo.ts:86", "pc": [ 622, 623 ] }, { "teal": 397, "source": "examples/arc72/arc72.algo.ts:92", "pc": [ 624, 625 ] }, { "teal": 398, "source": "examples/arc72/arc72.algo.ts:92", "pc": [ 626, 627 ] }, { "teal": 399, "source": "examples/arc72/arc72.algo.ts:92", "pc": [ 628 ] }, { "teal": 403, "source": "examples/arc72/arc72.algo.ts:93", "pc": [ 629, 630 ] }, { "teal": 404, "source": "examples/arc72/arc72.algo.ts:93", "pc": [ 631, 632 ] }, { "teal": 405, "source": "examples/arc72/arc72.algo.ts:93", "pc": [ 633, 634, 635 ] }, { "teal": 409, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 636 ] }, { "teal": 410, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 637, 638 ] }, { "teal": 411, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672 ] }, { "teal": 412, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 673 ] }, { "teal": 413, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 674 ] }, { "teal": 414, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 675 ] }, { "teal": 415, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 676 ] }, { "teal": 416, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 677 ] }, { "teal": 419, "source": "examples/arc72/arc72.algo.ts:94", "errorMessage": "index + 1 overflowed 256 bits", "pc": [ 678 ] }, { "teal": 420, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 679 ] }, { "teal": 421, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 680 ] }, { "teal": 422, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 681 ] }, { "teal": 423, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 682 ] }, { "teal": 424, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 683 ] }, { "teal": 425, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 684 ] }, { "teal": 426, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 685 ] }, { "teal": 427, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 686 ] }, { "teal": 428, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 687 ] }, { "teal": 429, "source": "examples/arc72/arc72.algo.ts:94", "pc": [ 688 ] }, { "teal": 430, "source": "examples/arc72/arc72.algo.ts:83", "pc": [ 689 ] }, { "teal": 435, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 690 ] }, { "teal": 438, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 691, 692, 693 ] }, { "teal": 439, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 694 ] }, { "teal": 440, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 695 ] }, { "teal": 441, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 696 ] }, { "teal": 442, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 697 ] }, { "teal": 445, "source": "examples/arc72/arc72.algo.ts:100", "errorMessage": "arc72_totalSupply return value overflowed 256 bits", "pc": [ 698 ] }, { "teal": 446, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 699 ] }, { "teal": 447, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 700 ] }, { "teal": 448, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 701 ] }, { "teal": 449, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 702 ] }, { "teal": 450, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 703 ] }, { "teal": 451, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 704 ] }, { "teal": 452, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 705 ] }, { "teal": 453, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 706 ] }, { "teal": 454, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 707 ] }, { "teal": 455, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 708 ] }, { "teal": 456, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 709 ] }, { "teal": 457, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 710 ] }, { "teal": 458, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 711 ] }, { "teal": 464, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 712, 713, 714 ] }, { "teal": 468, "source": "examples/arc72/arc72.algo.ts:102", "pc": [ 715 ] }, { "teal": 469, "source": "examples/arc72/arc72.algo.ts:102", "pc": [ 716 ] }, { "teal": 470, "source": "examples/arc72/arc72.algo.ts:100", "pc": [ 717 ] }, { "teal": 475, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 718 ] }, { "teal": 478, "source": "examples/arc72/arc72.algo.ts:109", "pc": [ 719, 720, 721 ] }, { "teal": 479, "source": "examples/arc72/arc72.algo.ts:109", "pc": [ 722 ] }, { "teal": 480, "source": "examples/arc72/arc72.algo.ts:109", "pc": [ 723 ] }, { "teal": 481, "source": "examples/arc72/arc72.algo.ts:109", "pc": [ 724 ] }, { "teal": 482, "source": "examples/arc72/arc72.algo.ts:109", "pc": [ 725 ] }, { "teal": 485, "source": "examples/arc72/arc72.algo.ts:109", "errorMessage": "argument 0 (index) for arc72_tokenByIndex must be a uint256", "pc": [ 726 ] }, { "teal": 488, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 727, 728, 729 ] }, { "teal": 489, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 730 ] }, { "teal": 490, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 731 ] }, { "teal": 491, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 732 ] }, { "teal": 492, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 733 ] }, { "teal": 495, "source": "examples/arc72/arc72.algo.ts:108", "errorMessage": "arc72_tokenByIndex return value overflowed 256 bits", "pc": [ 734 ] }, { "teal": 496, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 735 ] }, { "teal": 497, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 736 ] }, { "teal": 498, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 737 ] }, { "teal": 499, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 738 ] }, { "teal": 500, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 739 ] }, { "teal": 501, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 740 ] }, { "teal": 502, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 741 ] }, { "teal": 503, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 742 ] }, { "teal": 504, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 743 ] }, { "teal": 505, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 744 ] }, { "teal": 506, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 745 ] }, { "teal": 507, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 746 ] }, { "teal": 508, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 747 ] }, { "teal": 514, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 748, 749, 750 ] }, { "teal": 518, "source": "examples/arc72/arc72.algo.ts:110", "pc": [ 751, 752 ] }, { "teal": 519, "source": "examples/arc72/arc72.algo.ts:108", "pc": [ 753 ] }, { "teal": 522, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 754 ] }, { "teal": 523, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 755 ] }, { "teal": 526, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 756, 757, 758, 759, 760, 761 ] }, { "teal": 527, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 762, 763, 764 ] }, { "teal": 528, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 765, 766, 767, 768 ] }, { "teal": 531, "source": "examples/arc72/arc72.algo.ts:9", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 769 ] }, { "teal": 534, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 770, 771, 772, 773, 774, 775 ] }, { "teal": 535, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 776, 777, 778, 779, 780, 781 ] }, { "teal": 536, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 782, 783, 784, 785, 786, 787 ] }, { "teal": 537, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 788, 789, 790, 791, 792, 793 ] }, { "teal": 538, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 794, 795, 796, 797, 798, 799 ] }, { "teal": 539, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 800, 801, 802, 803, 804, 805 ] }, { "teal": 540, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 806, 807, 808, 809, 810, 811 ] }, { "teal": 541, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 812, 813, 814, 815, 816, 817 ] }, { "teal": 542, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 818, 819, 820 ] }, { "teal": 543, "source": "examples/arc72/arc72.algo.ts:9", "pc": [ 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838 ] }, { "teal": 546, "source": "examples/arc72/arc72.algo.ts:9", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ 839 ] } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAzMiAxIDI1NiAwIDI4OApieXRlY2Jsb2NrIDB4IDB4MTUxZjdjNzUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4Njk2ZTY0NjU3OAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDcuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFyYzcyX293bmVyT2YodWludDI1NilhZGRyZXNzCiphYmlfcm91dGVfYXJjNzJfb3duZXJPZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfb3duZXJPZiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml9vd25lck9mKHVpbnQyNTYpYWRkcmVzcwoJY2FsbHN1YiBhcmM3Ml9vd25lck9mCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJjNzJfb3duZXJPZih0b2tlbklkOiB1aW50MjU2KTogQWRkcmVzcwovLwovLwovLyBSZXR1cm5zIHRoZSBhZGRyZXNzIG9mIHRoZSBjdXJyZW50IG93bmVyIG9mIHRoZSBORlQgd2l0aCB0aGUgZ2l2ZW4gdG9rZW5JZAovLwovLyBAcGFyYW0gdG9rZW5JZCBUaGUgSUQgb2YgdGhlIE5GVAovLyBAcmV0dXJucyBUaGUgY3VycmVudCBvd25lciBvZiB0aGUgTkZUCmFyYzcyX293bmVyT2Y6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjI1CgkvLyByZXR1cm4gdGhpcy50b2tlbkJveCh0b2tlbklkKS52YWx1ZS5vd25lcjsKCWZyYW1lX2RpZyAtMSAvLyB0b2tlbklkOiB1aW50MjU2CglpbnRjIDMgLy8gMAoJaW50YyAwIC8vIDMyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XQoqYWJpX3JvdXRlX2FyYzcyX3Rva2VuVVJJOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml90b2tlblVSSSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XQoJY2FsbHN1YiBhcmM3Ml90b2tlblVSSQoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFyYzcyX3Rva2VuVVJJKHRva2VuSWQ6IHVpbnQyNTYpOiBCeXRlczI1NgovLwovLwovLyBSZXR1cm5zIGEgVVJJIHBvaW50aW5nIHRvIHRoZSBORlQgbWV0YWRhdGEKLy8KLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKLy8gQHJldHVybnMgVVJJIHRvIHRva2VuIG1ldGFkYXRhCmFyYzcyX3Rva2VuVVJJOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czozNwoJLy8gcmV0dXJuIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUudXJpOwoJZnJhbWVfZGlnIC0xIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludGMgMCAvLyAgaGVhZE9mZnNldAoJaW50YyAyIC8vIDI1NgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gdHJhbnNmZXJUbyh0bzogQWRkcmVzcywgdG9rZW5JZDogdWludDI1Nik6IHZvaWQKdHJhbnNmZXJUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NDEKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXIgPSB0bwoJZnJhbWVfZGlnIC0yIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludGMgMyAvLyAwCglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3RyYW5zZmVyRnJvbShhZGRyZXNzLGFkZHJlc3MsdWludDI1Nil2b2lkCiphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tOgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdHJhbnNmZXJGcm9tIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh0bykgZm9yIGFyYzcyX3RyYW5zZmVyRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gX2Zyb206IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoX2Zyb20pIGZvciBhcmM3Ml90cmFuc2ZlckZyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQKCWNhbGxzdWIgYXJjNzJfdHJhbnNmZXJGcm9tCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml90cmFuc2ZlckZyb20oX2Zyb206IEFkZHJlc3MsIHRvOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLyBUcmFuc2ZlcnMgb3duZXJzaGlwIG9mIGFuIE5GVAphcmM3Ml90cmFuc2ZlckZyb206Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo0OAoJLy8gdG9rZW4gPSB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlCglmcmFtZV9kaWcgLTMgLy8gdG9rZW5JZDogdWludDI1NgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly90b2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NTAKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogX2Zyb20gfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIF9mcm9tOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSBfZnJvbSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IHRva2VuLmNvbnRyb2xsZXIgfHwgdGhpcy5jb250cm9sQm94KGtleSkuZXhpc3RzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gX2Zyb206IEFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyB0b2tlbklkOiB1aW50MjU2CglpbnRjIDQgLy8gIGhlYWRPZmZzZXQKCWludGMgMCAvLyAzMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IwOgoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMSAvLyBrZXk6IENvbnRyb2wKCWJveF9sZW4KCXN3YXAKCXBvcAoJfHwKCipza2lwX29yMToKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MwoJLy8gdGhpcy50cmFuc2ZlclRvKHRvLCB0b2tlbklkKQoJZnJhbWVfZGlnIC0zIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBUcmFuc2ZlciBub3QgYXV0aG9yaXplZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmU6CgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml9hcHByb3ZlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhcHByb3ZlZDogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhcHByb3ZlZCkgZm9yIGFyYzcyX2FwcHJvdmUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBhcmM3Ml9hcHByb3ZlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml9hcHByb3ZlKGFwcHJvdmVkOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLwovLyBBcHByb3ZlIGEgY29udHJvbGxlciBmb3IgYSBzaW5nbGUgTkZUCi8vCi8vIEBwYXJhbSBhcHByb3ZlZCBBcHByb3ZlZCBjb250cm9sbGVyIGFkZHJlc3MKLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKYXJjNzJfYXBwcm92ZToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NjUKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUuY29udHJvbGxlciA9IGFwcHJvdmVkCglmcmFtZV9kaWcgLTIgLy8gdG9rZW5JZDogdWludDI1NgoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gYXBwcm92ZWQ6IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6CgkvLyBhcHByb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFwcHJvdmVkKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAzIC8vIDAKCWdldGJpdAoKCS8vIG9wZXJhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKG9wZXJhdG9yKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKG9wZXJhdG9yOiBBZGRyZXNzLCBhcHByb3ZlZDogYm9vbGVhbik6IHZvaWQKLy8KLy8KLy8gQXBwcm92ZSBhbiBvcGVyYXRvciBmb3IgYWxsIE5GVHMgZm9yIGEgdXNlcgovLwovLyBAcGFyYW0gb3BlcmF0b3IgQXBwcm92ZWQgb3BlcmF0b3IgYWRkcmVzcwovLyBAcGFyYW0gYXBwcm92ZWQgdHJ1ZSB0byBnaXZlIGFwcHJvdmFsLCBmYWxzZSB0byByZXZva2UKLy8gQHJldHVybnMKYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NzcKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogb3BlcmF0b3IgfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wZXJhdG9yOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gYXBwcm92ZWQKCWZyYW1lX2RpZyAtMiAvLyBhcHByb3ZlZDogYm9vbGVhbgoJYnogKmlmMV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gdGhpcy5jb250cm9sQm94KGtleSkudmFsdWUgPSAnJwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZWMgMCAvLyAgIiIKCWJveF9wdXQKCWIgKmlmMV9lbmQKCippZjFfZWxzZWlmMV9jb25kaXRpb246CgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjgwCgkvLyB0aGlzLmNvbnRyb2xCb3goa2V5KS5leGlzdHMKCWZyYW1lX2RpZyAwIC8vIGtleTogQ29udHJvbAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYxX2VuZAoKCS8vICppZjFfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjgwCgkvLyB0aGlzLmNvbnRyb2xCb3goa2V5KS5kZWxldGUoKQoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglib3hfZGVsCgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gbWludChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9taW50OgoJLy8gdG86IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAodG8pIGZvciBtaW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIG1pbnQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIG1pbnQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG1pbnQodG86IEFkZHJlc3MpOiB2b2lkCm1pbnQ6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo4NAoJLy8gaW5kZXggPSB0aGlzLmluZGV4LnZhbHVlCglieXRlYyAzIC8vICAiaW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIGluZGV4OiB1aW50MjU2CgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo4NgoJLy8gdG9rZW46IFRva2VuID0gewoJLy8gICAgICAgb3duZXI6IHRvLAoJLy8gICAgICAgdXJpOiAnaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzJyBhcyBCeXRlczI1NiwKCS8vICAgICAgIGNvbnRyb2xsZXI6IEFkZHJlc3MuemVyb0FkZHJlc3MsCgkvLyAgICAgfQoJZnJhbWVfZGlnIC0xIC8vIHRvOiBBZGRyZXNzCglwdXNoYnl0ZXMgMHg2ODc0NzQ3MDczM2EyZjJmNjc2OTc0Njg3NTYyMmU2MzZmNmQyZjYxNmM2NzZmNzI2MTZlNjQ2NjZmNzU2ZTY0NjE3NDY5NmY2ZTJmNDE1MjQzNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzIgoJY29uY2F0CglnbG9iYWwgWmVyb0FkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHRva2VuOiBUb2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6OTIKCS8vIHRoaXMudG9rZW5Cb3goaW5kZXgpLnZhbHVlID0gdG9rZW4KCWZyYW1lX2RpZyAwIC8vIGluZGV4OiB1aW50MjU2CglmcmFtZV9kaWcgMSAvLyB0b2tlbjogVG9rZW4KCWJveF9wdXQKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjkzCgkvLyB0aGlzLnRyYW5zZmVyVG8odG8sIGluZGV4KQoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMSAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo5NAoJLy8gdGhpcy5pbmRleC52YWx1ZSA9IGluZGV4ICsgMQoJYnl0ZWMgMyAvLyAgImluZGV4IgoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKCWIrCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBpbmRleCArIDEgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMCAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYKKmFiaV9yb3V0ZV9hcmM3Ml90b3RhbFN1cHBseToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b3RhbFN1cHBseSgpdWludDI1NgoJY2FsbHN1YiBhcmM3Ml90b3RhbFN1cHBseQoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gYXJjNzJfdG90YWxTdXBwbHkgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDAgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml90b3RhbFN1cHBseSgpOiB1aW50MjU2Ci8vCi8vIFJldHVybnMgdGhlIG51bWJlciBvZiBORlRzIGN1cnJlbnRseSBkZWZpbmVkIGJ5IHRoaXMgY29udHJhY3QKYXJjNzJfdG90YWxTdXBwbHk6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjEwMgoJLy8gcmV0dXJuIHRoaXMuaW5kZXgudmFsdWU7CglieXRlYyAzIC8vICAiaW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgovLyBhcmM3Ml90b2tlbkJ5SW5kZXgodWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYXJjNzJfdG9rZW5CeUluZGV4OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBpbmRleDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChpbmRleCkgZm9yIGFyYzcyX3Rva2VuQnlJbmRleCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b2tlbkJ5SW5kZXgodWludDI1Nil1aW50MjU2CgljYWxsc3ViIGFyYzcyX3Rva2VuQnlJbmRleAoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gYXJjNzJfdG9rZW5CeUluZGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAwIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJjNzJfdG9rZW5CeUluZGV4KGluZGV4OiB1aW50MjU2KTogdWludDI1NgovLwovLyBSZXR1cm5zIHRoZSB0b2tlbiBJRCBvZiB0aGUgdG9rZW4gd2l0aCB0aGUgZ2l2ZW4gaW5kZXggYW1vbmcgYWxsIE5GVHMgZGVmaW5lZCBieSB0aGUgY29udHJhY3QKYXJjNzJfdG9rZW5CeUluZGV4OgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoxMTAKCS8vIHJldHVybiBpbmRleDsKCWZyYW1lX2RpZyAtMSAvLyBpbmRleDogdWludDI1NgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDc5MDk2YTE0IC8vIG1ldGhvZCAiYXJjNzJfb3duZXJPZih1aW50MjU2KWFkZHJlc3MiCglwdXNoYnl0ZXMgMHhjM2MxZmMwMCAvLyBtZXRob2QgImFyYzcyX3Rva2VuVVJJKHVpbnQyNTYpYnl0ZVsyNTZdIgoJcHVzaGJ5dGVzIDB4ZjJmMTk0YTAgLy8gbWV0aG9kICJhcmM3Ml90cmFuc2ZlckZyb20oYWRkcmVzcyxhZGRyZXNzLHVpbnQyNTYpdm9pZCIKCXB1c2hieXRlcyAweGI0ZWRiYTRlIC8vIG1ldGhvZCAiYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZCIKCXB1c2hieXRlcyAweDcxMzQzOTVmIC8vIG1ldGhvZCAiYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHhhYzRjZmFkZiAvLyBtZXRob2QgIm1pbnQoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4NjRkNzJhN2EgLy8gbWV0aG9kICJhcmM3Ml90b3RhbFN1cHBseSgpdWludDI1NiIKCXB1c2hieXRlcyAweDZkOWJmZDI3IC8vIG1ldGhvZCAiYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJjNzJfb3duZXJPZiAqYWJpX3JvdXRlX2FyYzcyX3Rva2VuVVJJICphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tICphYmlfcm91dGVfYXJjNzJfYXBwcm92ZSAqYWJpX3JvdXRlX2FyYzcyX3NldEFwcHJvdmFsRm9yQWxsICphYmlfcm91dGVfbWludCAqYWJpX3JvdXRlX2FyYzcyX3RvdGFsU3VwcGx5ICphYmlfcm91dGVfYXJjNzJfdG9rZW5CeUluZGV4CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { "approval": "CiAFIAGAAgCgAiYEAAQVH3x1IP//////////////////////////////////////////BWluZGV4MRgUgQYLMRkIjQwCpgAAAAAAAAAAAAACmAAAAAAAAAAAAAAAKTYaAUkVIhJEiAAEULAjQ4oBAYv/JSK6iSk2GgFJFSISRIgABFCwI0OKAQGL/yIkuomKAgCL/iWL/7uJNhoDSRUiEkQ2GgJJFSISRDYaAUkVIhJEiAACI0OKAwAoSYv9jAAxAIv/UIwBMQCL/xJJQAAKMQCL/SEEIroSEUlAAAaLAb1MSBFBAAqL/Yv+iP+iQgABAIk2GgJJFSISRDYaAUkVIhJEiAACI0OKAgCL/iEEi/+7iTYaAkkVIxJEJVM2GgFJFSISRIgAAiNDigIAKDEAi/9QjACL/kEACosASbxIKL9CAAuLAL1MSEEAA4sAvIk2GgFJFSISRIgAAiNDigEAKEkrZIwAi/+AgAJodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL0FSQ3MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUDIDUIwBiwCLAb+LAIv/iP4TK4sAgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaBJkyQORCqsSRVJIglMUmeJKYgAEkmTJA5EKqxJFUkiCUxSULAjQ4oAAStkiSk2GgFJFSISRIgAEkmTJA5EKqxJFUkiCUxSULAjQ4oBAYv/iSNDgAS4RHs2NhoAjgH/8QCABHkJahSABMPB/ACABPLxlKCABLTtuk6ABHE0OV+ABKxM+t+ABGTXKnqABG2b/Sc2GgCOCP0W/S/9Uv2r/cv+CP9r/4cA", "clear": "Cg==" }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 4, "minor": 4, "patch": 1, "commitHash": "7b607ce4" } } }