[{"data":1,"prerenderedAt":1015},["ShallowReactive",2],{"navigation_docs":3,"-guide":96,"-guide-surround":1012},[4,48],{"title":5,"path":6,"stem":7,"children":8,"icon":47},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39,43],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Puzzle records","\u002Fguide\u002Frecords","1.guide\u002F02.records",{"title":16,"path":17,"stem":18},"Registry","\u002Fguide\u002Fregistry","1.guide\u002F03.registry",{"title":20,"path":21,"stem":22},"Lookups and views","\u002Fguide\u002Flookups","1.guide\u002F04.lookups",{"title":24,"path":25,"stem":26},"Verification","\u002Fguide\u002Fverification","1.guide\u002F05.verification",{"title":28,"path":29,"stem":30},"Balances","\u002Fguide\u002Fbalances","1.guide\u002F06.balances",{"title":32,"path":33,"stem":34},"CLI","\u002Fguide\u002Fcli","1.guide\u002F07.cli",{"title":36,"path":37,"stem":38},"Agents","\u002Fguide\u002Fagents","1.guide\u002F08.agents",{"title":40,"path":41,"stem":42},"Custom collections","\u002Fguide\u002Fcustom","1.guide\u002F09.custom",{"title":44,"path":45,"stem":46},"Playground","\u002Fguide\u002Fplayground","1.guide\u002F10.playground","i-lucide-book-open",{"title":49,"path":50,"stem":51,"children":52,"icon":95},"Collections","\u002Fcollections","2.collections\u002F00.index",[53,55,59,63,67,71,75,79,83,87,91],{"title":54,"path":50,"stem":51},"Overview",{"title":56,"path":57,"stem":58},"Bitcoin puzzle transaction","\u002Fcollections\u002Fb1000","2.collections\u002F01.b1000",{"title":60,"path":61,"stem":62},"RushWallet contest","\u002Fcollections\u002Frushwallet","2.collections\u002F02.rushwallet",{"title":64,"path":65,"stem":66},"Zden's puzzles","\u002Fcollections\u002Fzden","2.collections\u002F03.zden",{"title":68,"path":69,"stem":70},"Arweave bounties","\u002Fcollections\u002Farweave","2.collections\u002F04.arweave",{"title":72,"path":73,"stem":74},"WarpWallet challenges","\u002Fcollections\u002Fwarp","2.collections\u002F05.warp",{"title":76,"path":77,"stem":78},"Hash collision bounties","\u002Fcollections\u002Fhash_collision","2.collections\u002F06.hash_collision",{"title":80,"path":81,"stem":82},"Ballet wallets","\u002Fcollections\u002Fballet","2.collections\u002F07.ballet",{"title":84,"path":85,"stem":86},"Bitimage","\u002Fcollections\u002Fbitimage","2.collections\u002F08.bitimage",{"title":88,"path":89,"stem":90},"Bitaps mnemonic challenge","\u002Fcollections\u002Fbitaps","2.collections\u002F09.bitaps",{"title":92,"path":93,"stem":94},"GSMG.io puzzle","\u002Fcollections\u002Fgsmg","2.collections\u002F10.gsmg","i-lucide-layers",{"id":97,"title":10,"body":98,"description":1006,"extension":1007,"links":1008,"meta":1009,"navigation":228,"path":6,"seo":1010,"stem":7,"__hash__":1011},"docs\u002F1.guide\u002F01.index.md",{"type":99,"value":100,"toc":997},"minimark",[101,109,116,121,125,128,132,158,167,171,408,438,441,515,519,522,634,638,878,882,915,919,993],[102,103,104,108],"warning",{},[105,106,107],"strong",{},"Pre-1.0."," The API, the CLI flags and the data model can still move. Pin exact versions if you build on it now.",[110,111,112,115],"caution",{},[105,113,114],{},"Public data about public puzzles."," Every key in here was already public, usually posted by the solver. A record tells you what's known. It doesn't tell you whether the address still holds anything. That's a balance call, the only one that leaves the process.",[117,118,120],"h2",{"id":119},"why-this-exists","Why this exists",[122,123,124],"p",{},"The Bitcoin puzzle transaction. The WarpWallet challenges. Peter Todd's hash collision bounties. Zden's image puzzles. Each one has a thread somewhere with the addresses, the prizes, who solved what and when. And every scanner, tracker and bot re-types that data from the thread. Slightly differently each time.",[122,126,127],{},"So it lives here once, as code. A puzzle is a TypeScript record built by a factory for its chain. A collection is a list of them. The type checker reads the data before a test does. The library, the CLI, the MCP server and the Pi and OMP extensions read one registry. Fix a record once and it lands everywhere.",[117,129,131],{"id":130},"install","Install",[133,134,139],"pre",{"className":135,"code":136,"language":137,"meta":138,"style":138},"language-bash shiki shiki-themes github-light github-light vitesse-dark","pnpm add @agntn\u002Fpuzzles\n","bash","",[140,141,142],"code",{"__ignoreMap":138},[143,144,147,151,155],"span",{"class":145,"line":146},"line",1,[143,148,150],{"class":149},"sTnI0","pnpm",[143,152,154],{"class":153},"skmWX"," add",[143,156,157],{"class":153}," @agntn\u002Fpuzzles\n",[122,159,160,161,166],{},"Node.js 24 or newer for the CLI. The library is neutral ESM on the Fetch API, so browsers and edge workers run it too. The ",[162,163,165],"a",{"href":164},"\u002Fplayground","playground"," is it, running in your tab.",[117,168,170],{"id":169},"first-call","First call",[133,172,177],{"className":173,"code":174,"filename":175,"language":176,"meta":138,"style":138},"language-ts shiki shiki-themes github-light github-light vitesse-dark","import { get, collectionKeys, hasCollection } from \"@agntn\u002Fpuzzles\";\n\ncollectionKeys(); \u002F\u002F [\"arweave\", \"b1000\", ...] straight from the manifest, nothing loaded\nhasCollection(\"peter_todd\"); \u002F\u002F true, a historical alias for hash_collision\n\nconst puzzle = await get(\"b1000\u002F71\"); \u002F\u002F imports the b1000 module and nothing else\n\npuzzle?.address().value; \u002F\u002F \"1PWo3JeB9jrGwfHDNpdGK54CRas7fsVzXU\"\npuzzle?.status(); \u002F\u002F \"unsolved\"\npuzzle?.prize(); \u002F\u002F 7.100226\npuzzle?.prizeCurrency(); \u002F\u002F \"BTC\"\npuzzle?.keyRange(); \u002F\u002F [2n ** 70n, 2n ** 71n - 1n]\npuzzle?.hasPubkey(); \u002F\u002F false, the address has never spent\n","first.ts","ts",[140,178,179,223,230,243,265,270,304,309,333,348,363,378,393],{"__ignoreMap":138},[143,180,181,185,189,193,196,199,201,204,207,210,214,217,220],{"class":145,"line":146},[143,182,184],{"class":183},"sds8u","import",[143,186,188],{"class":187},"s14qF"," {",[143,190,192],{"class":191},"s9qSu"," get",[143,194,195],{"class":187},",",[143,197,198],{"class":191}," collectionKeys",[143,200,195],{"class":187},[143,202,203],{"class":191}," hasCollection",[143,205,206],{"class":187}," }",[143,208,209],{"class":183}," from",[143,211,213],{"class":212},"s2tGe"," \"",[143,215,216],{"class":153},"@agntn\u002Fpuzzles",[143,218,219],{"class":212},"\"",[143,221,222],{"class":187},";\n",[143,224,226],{"class":145,"line":225},2,[143,227,229],{"emptyLinePlaceholder":228},true,"\n",[143,231,233,236,239],{"class":145,"line":232},3,[143,234,235],{"class":149},"collectionKeys",[143,237,238],{"class":187},"();",[143,240,242],{"class":241},"sjj-T"," \u002F\u002F [\"arweave\", \"b1000\", ...] straight from the manifest, nothing loaded\n",[143,244,246,249,252,254,257,259,262],{"class":145,"line":245},4,[143,247,248],{"class":149},"hasCollection",[143,250,251],{"class":187},"(",[143,253,219],{"class":212},[143,255,256],{"class":153},"peter_todd",[143,258,219],{"class":212},[143,260,261],{"class":187},");",[143,263,264],{"class":241}," \u002F\u002F true, a historical alias for hash_collision\n",[143,266,268],{"class":145,"line":267},5,[143,269,229],{"emptyLinePlaceholder":228},[143,271,273,277,281,285,288,290,292,294,297,299,301],{"class":145,"line":272},6,[143,274,276],{"class":275},"sO_1p","const",[143,278,280],{"class":279},"sHhh0"," puzzle",[143,282,284],{"class":283},"sLuFV"," =",[143,286,287],{"class":183}," await",[143,289,192],{"class":149},[143,291,251],{"class":187},[143,293,219],{"class":212},[143,295,296],{"class":153},"b1000\u002F71",[143,298,219],{"class":212},[143,300,261],{"class":187},[143,302,303],{"class":241}," \u002F\u002F imports the b1000 module and nothing else\n",[143,305,307],{"class":145,"line":306},7,[143,308,229],{"emptyLinePlaceholder":228},[143,310,312,315,318,321,324,327,330],{"class":145,"line":311},8,[143,313,314],{"class":191},"puzzle",[143,316,317],{"class":187},"?.",[143,319,320],{"class":149},"address",[143,322,323],{"class":187},"().",[143,325,326],{"class":191},"value",[143,328,329],{"class":187},";",[143,331,332],{"class":241}," \u002F\u002F \"1PWo3JeB9jrGwfHDNpdGK54CRas7fsVzXU\"\n",[143,334,336,338,340,343,345],{"class":145,"line":335},9,[143,337,314],{"class":191},[143,339,317],{"class":187},[143,341,342],{"class":149},"status",[143,344,238],{"class":187},[143,346,347],{"class":241}," \u002F\u002F \"unsolved\"\n",[143,349,351,353,355,358,360],{"class":145,"line":350},10,[143,352,314],{"class":191},[143,354,317],{"class":187},[143,356,357],{"class":149},"prize",[143,359,238],{"class":187},[143,361,362],{"class":241}," \u002F\u002F 7.100226\n",[143,364,366,368,370,373,375],{"class":145,"line":365},11,[143,367,314],{"class":191},[143,369,317],{"class":187},[143,371,372],{"class":149},"prizeCurrency",[143,374,238],{"class":187},[143,376,377],{"class":241}," \u002F\u002F \"BTC\"\n",[143,379,381,383,385,388,390],{"class":145,"line":380},12,[143,382,314],{"class":191},[143,384,317],{"class":187},[143,386,387],{"class":149},"keyRange",[143,389,238],{"class":187},[143,391,392],{"class":241}," \u002F\u002F [2n ** 70n, 2n ** 71n - 1n]\n",[143,394,396,398,400,403,405],{"class":145,"line":395},13,[143,397,314],{"class":191},[143,399,317],{"class":187},[143,401,402],{"class":149},"hasPubkey",[143,404,238],{"class":187},[143,406,407],{"class":241}," \u002F\u002F false, the address has never spent\n",[122,409,410,413,414,417,418,421,422,425,426,429,430,433,434,437],{},[140,411,412],{},"get(id)"," loads the one collection the identifier names. Anything it doesn't know comes back as ",[140,415,416],{},"undefined",". Want an exception instead? ",[140,419,420],{},"requirePuzzle(id)"," throws ",[140,423,424],{},"PuzzleNotFoundError",". Identifiers are ",[140,427,428],{},"collection\u002Fname",". The two singletons, ",[140,431,432],{},"gsmg"," and ",[140,435,436],{},"bitaps",", are just the key.",[122,439,440],{},"Importing the package evaluates no puzzle records. The registry is a manifest of ten keys. The aggregate views are asynchronous because they load on first use:",[133,442,444],{"className":173,"code":443,"language":176,"meta":138,"style":138},"import { all, stats } from \"@agntn\u002Fpuzzles\";\n\n(await all()).length; \u002F\u002F 332, every collection loaded once\n(await stats()).unsolved; \u002F\u002F 93\n",[140,445,446,472,476,497],{"__ignoreMap":138},[143,447,448,450,452,455,457,460,462,464,466,468,470],{"class":145,"line":146},[143,449,184],{"class":183},[143,451,188],{"class":187},[143,453,454],{"class":191}," all",[143,456,195],{"class":187},[143,458,459],{"class":191}," stats",[143,461,206],{"class":187},[143,463,209],{"class":183},[143,465,213],{"class":212},[143,467,216],{"class":153},[143,469,219],{"class":212},[143,471,222],{"class":187},[143,473,474],{"class":145,"line":225},[143,475,229],{"emptyLinePlaceholder":228},[143,477,478,480,483,485,488,492,494],{"class":145,"line":232},[143,479,251],{"class":187},[143,481,482],{"class":183},"await",[143,484,454],{"class":149},[143,486,487],{"class":187},"()).",[143,489,491],{"class":490},"sXmn8","length",[143,493,329],{"class":187},[143,495,496],{"class":241}," \u002F\u002F 332, every collection loaded once\n",[143,498,499,501,503,505,507,510,512],{"class":145,"line":245},[143,500,251],{"class":187},[143,502,482],{"class":183},[143,504,459],{"class":149},[143,506,487],{"class":187},[143,508,509],{"class":191},"unsolved",[143,511,329],{"class":187},[143,513,514],{"class":241}," \u002F\u002F 93\n",[117,516,518],{"id":517},"one-collection","One collection",[122,520,521],{},"A collection is its own entry with its class and its canonical instance. Once you have it, everything on it is synchronous:",[133,523,525],{"className":173,"code":524,"language":176,"meta":138,"style":138},"import { b1000 } from \"@agntn\u002Fpuzzles\u002Fcollections\u002Fb1000\";\n\nb1000.count(); \u002F\u002F 256\nb1000.require(90).address().value; \u002F\u002F NumericCollection takes the number\nb1000.unsolved().length; \u002F\u002F 77\nb1000.author.name; \u002F\u002F \"saatoshi_rising\"\n",[140,526,527,549,553,569,598,615],{"__ignoreMap":138},[143,528,529,531,533,536,538,540,542,545,547],{"class":145,"line":146},[143,530,184],{"class":183},[143,532,188],{"class":187},[143,534,535],{"class":191}," b1000",[143,537,206],{"class":187},[143,539,209],{"class":183},[143,541,213],{"class":212},[143,543,544],{"class":153},"@agntn\u002Fpuzzles\u002Fcollections\u002Fb1000",[143,546,219],{"class":212},[143,548,222],{"class":187},[143,550,551],{"class":145,"line":225},[143,552,229],{"emptyLinePlaceholder":228},[143,554,555,558,561,564,566],{"class":145,"line":232},[143,556,557],{"class":191},"b1000",[143,559,560],{"class":187},".",[143,562,563],{"class":149},"count",[143,565,238],{"class":187},[143,567,568],{"class":241}," \u002F\u002F 256\n",[143,570,571,573,575,578,580,584,587,589,591,593,595],{"class":145,"line":245},[143,572,557],{"class":191},[143,574,560],{"class":187},[143,576,577],{"class":149},"require",[143,579,251],{"class":187},[143,581,583],{"class":582},"sw1C9","90",[143,585,586],{"class":187},").",[143,588,320],{"class":149},[143,590,323],{"class":187},[143,592,326],{"class":191},[143,594,329],{"class":187},[143,596,597],{"class":241}," \u002F\u002F NumericCollection takes the number\n",[143,599,600,602,604,606,608,610,612],{"class":145,"line":267},[143,601,557],{"class":191},[143,603,560],{"class":187},[143,605,509],{"class":149},[143,607,323],{"class":187},[143,609,491],{"class":490},[143,611,329],{"class":187},[143,613,614],{"class":241}," \u002F\u002F 77\n",[143,616,617,619,621,624,626,629,631],{"class":145,"line":272},[143,618,557],{"class":191},[143,620,560],{"class":187},[143,622,623],{"class":191},"author",[143,625,560],{"class":187},[143,627,628],{"class":191},"name",[143,630,329],{"class":187},[143,632,633],{"class":241}," \u002F\u002F \"saatoshi_rising\"\n",[117,635,637],{"id":636},"what-is-on-a-puzzle","What is on a puzzle",[639,640,641,654],"table",{},[642,643,644],"thead",{},[645,646,647,651],"tr",{},[648,649,650],"th",{},"Method",[648,652,653],{},"Answers",[655,656,657,681,697,722,738,751,767,780,796,818,834,854,864],"tbody",{},[645,658,659,672],{},[660,661,662,665,666,665,669],"td",{},[140,663,664],{},"id()",", ",[140,667,668],{},"collection()",[140,670,671],{},"name()",[660,673,674,665,676,665,678],{},[140,675,296],{},[140,677,557],{},[140,679,680],{},"71",[645,682,683,691],{},[660,684,685,665,688],{},[140,686,687],{},"chain()",[140,689,690],{},"address()",[660,692,693,694],{},"The chain key and ",[140,695,696],{},"{ value, kind, hash160?, redeem_script? }",[645,698,699,704],{},[660,700,701],{},[140,702,703],{},"status()",[660,705,706,665,708,665,711,665,714,717,718,721],{},[140,707,509],{},[140,709,710],{},"solved",[140,712,713],{},"claimed",[140,715,716],{},"swept"," or ",[140,719,720],{},"expired",". Written down, never derived",[645,723,724,735],{},[660,725,726,665,729,665,732],{},[140,727,728],{},"prize()",[140,730,731],{},"currency()",[140,733,734],{},"prizeCurrency()",[660,736,737],{},"The amount, the currency when it isn't the native token, and the one to print",[645,739,740,748],{},[660,741,742,665,745],{},[140,743,744],{},"pubkey()",[140,746,747],{},"hasPubkey()",[660,749,750],{},"The public key once the address exposed one",[645,752,753,764],{},[660,754,755,665,758,665,761],{},[140,756,757],{},"key()",[140,759,760],{},"keyData()",[140,762,763],{},"hasPrivateKey()",[660,765,766],{},"The key builder, its serialized record, and whether any private key representation is known",[645,768,769,774],{},[660,770,771],{},[140,772,773],{},"keyRange()",[660,775,776,779],{},[140,777,778],{},"[2^(bits-1), 2^bits - 1]"," when the record declares a search width",[645,781,782,793],{},[660,783,784,665,787,665,790],{},[140,785,786],{},"transactions()",[140,788,789],{},"fundingTransaction()",[140,791,792],{},"claimTransaction()",[660,794,795],{},"What happened on chain, in order",[645,797,798,812],{},[660,799,800,665,803,665,806,665,809],{},[140,801,802],{},"startedAt()",[140,804,805],{},"solvedAt()",[140,807,808],{},"solveTime()",[140,810,811],{},"formattedSolveTime()",[660,813,814,815],{},"When, and how long it stood: ",[140,816,817],{},"11y 6mo 16d 14h 13m",[645,819,820,831],{},[660,821,822,665,825,665,828],{},[140,823,824],{},"solver()",[140,826,827],{},"assets()",[140,829,830],{},"sourceUrl()",[660,832,833],{},"Who, what files, and where the puzzle was announced",[645,835,836,847],{},[660,837,838,665,841,665,844],{},[140,839,840],{},"explorerUrl()",[140,842,843],{},"claimExplorerUrl()",[140,845,846],{},"assetUrl()",[660,848,849,850,853],{},"Links, built from ",[140,851,852],{},"@agntn\u002Fchains"," explorer bases",[645,855,856,861],{},[660,857,858],{},[140,859,860],{},"toJSON()",[660,862,863],{},"The serialized record with every absent field left out",[645,865,866,871],{},[660,867,868],{},[140,869,870],{},"balance(options)",[660,872,873,874,877],{},"The live balance through ",[140,875,876],{},"@agntn\u002Fexplorers",", the one method that touches a network",[117,879,881],{"id":880},"errors","Errors",[122,883,884,885,888,889,891,892,895,896,891,899,902,903,906,907,910,911,914],{},"Everything thrown here descends from ",[140,886,887],{},"PuzzlesError",". Catch one type, read fields, skip the message parsing. ",[140,890,424],{}," is ",[140,893,894],{},"requirePuzzle"," on an id nobody has. ",[140,897,898],{},"UnknownCollectionError",[140,900,901],{},"requireCollection"," on a key outside the manifest. ",[140,904,905],{},"InvalidArgumentError"," is a tool argument outside its limits. Balances have their own family under ",[140,908,909],{},"BalanceError",", on the ",[162,912,913],{"href":29},"balances"," page.",[117,916,918],{"id":917},"next","Next",[920,921,922,932,940,960,965,970,978,983,988],"ul",{},[923,924,925,927,928,931],"li",{},[162,926,12],{"href":13},": the ",[140,929,930],{},"PuzzleSpec"," literal, the builders, and why nothing is null.",[923,933,934,936,937,560],{},[162,935,16],{"href":17},": the manifest, lazy loading, aliases, ",[140,938,939],{},"registerCollection",[923,941,942,944,945,665,948,665,951,665,954,665,957,560],{},[162,943,20],{"href":21},": ",[140,946,947],{},"get",[140,949,950],{},"selectPuzzles",[140,952,953],{},"stats",[140,955,956],{},"dataset",[140,958,959],{},"dataVersion",[923,961,962,964],{},[162,963,24],{"href":25},": a published key against its address.",[923,966,967,969],{},[162,968,28],{"href":29},": the one network call.",[923,971,972,927,974,977],{},[162,973,32],{"href":33},[140,975,976],{},"puzzles"," command.",[923,979,980,982],{},[162,981,36],{"href":37},": six tools over MCP, Pi and OMP.",[923,984,985,987],{},[162,986,40],{"href":41},": your puzzles behind the same registry.",[923,989,990,992],{},[162,991,44],{"href":164},": the library, in the page.",[994,995,996],"style",{},"html pre.shiki code .sTnI0, html code.shiki .sTnI0{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#80A665}html pre.shiki code .skmWX, html code.shiki .skmWX{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#C98A7D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sds8u, html code.shiki .sds8u{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#4D9375}html pre.shiki code .s14qF, html code.shiki .s14qF{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#666666}html pre.shiki code .s9qSu, html code.shiki .s9qSu{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#BD976A}html pre.shiki code .s2tGe, html code.shiki .s2tGe{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#C98A7D77}html pre.shiki code .sjj-T, html code.shiki .sjj-T{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#758575DD}html pre.shiki code .sO_1p, html code.shiki .sO_1p{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#CB7676}html pre.shiki code .sHhh0, html code.shiki .sHhh0{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#BD976A}html pre.shiki code .sLuFV, html code.shiki .sLuFV{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#666666}html pre.shiki code .sXmn8, html code.shiki .sXmn8{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#B8A965}html pre.shiki code .sw1C9, html code.shiki .sw1C9{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#4C9A91}",{"title":138,"searchDepth":225,"depth":225,"links":998},[999,1000,1001,1002,1003,1004,1005],{"id":119,"depth":225,"text":120},{"id":130,"depth":225,"text":131},{"id":169,"depth":225,"text":170},{"id":517,"depth":225,"text":518},{"id":636,"depth":225,"text":637},{"id":880,"depth":225,"text":881},{"id":917,"depth":225,"text":918},"Install the package. Load one puzzle. Read its address and its key range. Every puzzle is a record and every answer comes from a method on it.","md",null,{"icon":47},{"title":10,"description":1006},"aXb_l2WCOuWfGpJn39j4uD68jbswL-_ap5s1TmIASvo",[1008,1013],{"title":12,"path":13,"stem":14,"description":1014,"children":-1},"One PuzzleSpec literal per puzzle handed to a factory for its chain. Builders for addresses and keys and transactions. Absent means absent and never null.",1789734790029]