Comparing version 0.8.4 to 0.8.5
@@ -1,11 +0,11 @@ | ||
var gL=Object.create;var{getPrototypeOf:yL,defineProperty:s,getOwnPropertyNames:dL}=Object;var kL=Object.prototype.hasOwnProperty;var i=(L,E,X)=>{X=L!=null?gL(yL(L)):{};const U=E||!L||!L.__esModule?s(X,"default",{value:L,enumerable:!0}):X;for(let H of dL(L))if(!kL.call(U,H))s(U,H,{get:()=>L[H],enumerable:!0});return U};var uL=(L,E)=>{for(var X in E)s(L,X,{get:E[X],enumerable:!0,configurable:!0,set:(U)=>E[X]=()=>U})};var bL=(L,E)=>()=>(L&&(E=L(L=0)),E);var l=((L)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(L,{get:(E,X)=>(typeof require!=="undefined"?require:E)[X]}):L)(function(L){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+L+'" is not supported')});var r={};uL(r,{uptime:()=>U6,type:()=>J6,totalmem:()=>H6,tmpdir:()=>Y6,release:()=>K6,platform:()=>V6,networkInterfaces:()=>C6,loadavg:()=>X6,hostname:()=>E6,homedir:()=>W6,getNetworkInterfaces:()=>G6,freemem:()=>_6,endianness:()=>$6,default:()=>L6,cpus:()=>I6,arch:()=>Q6,EOL:()=>Z6});var cL,NL,mL,pL,aL,tL,eL=(L,E)=>()=>(E||L((E={exports:{}}).exports,E),E.exports),nL=(L,E,X,U)=>{if(E&&typeof E=="object"||typeof E=="function")for(let H of pL(E))!tL.call(L,H)&&H!==X&&NL(L,H,{get:()=>E[H],enumerable:!(U=mL(E,H))||U.enumerable});return L},oL=(L,E,X)=>(X=L!=null?cL(aL(L)):{},nL(E||!L||!L.__esModule?NL(X,"default",{value:L,enumerable:!0}):X,L)),sL,TL,L6,$6,E6,X6,U6,_6,H6,I6,J6,K6,Q6,V6,Y6,Z6,W6,C6,G6;var c=bL(()=>{cL=Object.create,NL=Object.defineProperty,mL=Object.getOwnPropertyDescriptor,pL=Object.getOwnPropertyNames,aL=Object.getPrototypeOf,tL=Object.prototype.hasOwnProperty,sL=eL((L)=>{L.endianness=function(){return"LE"},L.hostname=function(){return typeof location<"u"?location.hostname:""},L.loadavg=function(){return[]},L.uptime=function(){return 0},L.freemem=function(){return Number.MAX_VALUE},L.totalmem=function(){return Number.MAX_VALUE},L.cpus=function(){return[]},L.type=function(){return"Browser"},L.release=function(){return typeof navigator<"u"?navigator.appVersion:""},L.networkInterfaces=L.getNetworkInterfaces=function(){return{}},L.arch=function(){return"javascript"},L.platform=function(){return"browser"},L.tmpdir=L.tmpDir=function(){return"/tmp"},L.EOL=` | ||
`,L.homedir=function(){return"/"}}),TL=oL(sL()),L6=TL.default,{endianness:$6,hostname:E6,loadavg:X6,uptime:U6,freemem:_6,totalmem:H6,cpus:I6,type:J6,release:K6,arch:Q6,platform:V6,tmpdir:Y6,EOL:Z6,homedir:W6,networkInterfaces:C6,getNetworkInterfaces:G6}=TL.default});var S={bun:"bun",deno:"deno",node:"node",hermes:"hermes",workerd:"workerd",browser:"browser"},K=()=>{},g="$tatami-ng_group",O={1:12.706204736432102,2:4.3026527299112765,3:3.182446305284264,4:2.7764451051977996,5:2.57058183661474,6:2.446911848791681,7:2.3646242510102997,8:2.306004135033371,9:2.262157162740992,10:2.2281388519649385,11:2.200985160082949,12:2.178812829663418,13:2.160368656461013,14:2.1447866879169277,15:2.131449545559323,16:2.1199052992210112,17:2.109815577833181,18:2.10092204024096,19:2.0930240544082634,20:2.085963447265837,21:2.0796138447276626,22:2.073873067904015,23:2.068657610419041,24:2.063898561628021,25:2.0595385527532946,26:2.0555294386428713,27:2.0518305164802837,28:2.048407141795244,29:2.0452296421327034,30:2.042272456301238,31:2.0395134463964077,32:2.0369333434601016,33:2.0345152974493383,34:2.0322445093177186,35:2.030107928250343,36:2.0280940009804507,37:2.0261924630291097,38:2.0243941645751367,39:2.0226909117347285,40:2.021075382995338,41:2.019540963982894,42:2.0180816970958815,43:2.0166921941428138,44:2.0153675699129416,45:2.0141033848332928,46:2.012895595294589,47:2.011740510475755,48:2.010634754696446,49:2.0095752344892093,50:2.0085591097152062,51:2.0075837681558824,52:2.0066468031022118,53:2.00574599353695,54:2.0048792865665233,55:2.0040447818101814,56:2.003240717496698,57:2.002465458054599,58:2.0017174830120927,59:2.0009953770482105,60:2.000297821058262,61:1.9996235841149783,62:1.9989715162223116,63:1.998340541772196,64:1.9977296536259739,65:1.9971379077520126,66:1.9965644183594748,67:1.996008353475506,68:1.9954689309194023,69:1.994945414632814,70:1.9944371113297732,71:1.9939433674345044,72:1.9934635662785831,73:1.9929971255321668,74:1.9925434948468204,75:1.9921021536898658,76:1.9916726093523491,77:1.9912543951146042,78:1.9908470685550523,79:1.9904502099893606,80:1.9900634210283845,81:1.9896863232444832,82:1.989318556936819,83:1.9889597799871794,84:1.9886096667986737,85:1.988267907310378,86:1.9879342060816723,87:1.9876082814405773,88:1.987289864690939,89:1.9869786993737681,90:1.9866745405784685,91:1.9863771543000652,92:1.9860863168388938,93:1.985801814239503,94:1.9855234417658303,95:1.9852510034099267,96:1.9849843114317696,97:1.9847231859278835,98:1.9844674544266925,99:1.9842169515086832,100:1.983971518449634,101:1.9837310028852815,102:1.9834952584959407,103:1.9832641447097104,104:1.9830375264229902,105:1.9828152737371547,106:1.9825972617102912,107:1.9823833701230178,108:1.9821734832574516,109:1.9819674896884745,110:1.9817652820865104,111:1.981566757031071,112:1.9813718148344008,113:1.9811803593745805,114:1.9809922979375068,115:1.9808075410672004,116:1.980626002423938,117:1.9804475986497296,118:1.9802722492407063,119:1.9800998764260065,120:1.979930405052777,121:1.9797637624769306,122:1.9795998784593314,123:1.97943868506709,124:1.979280116579683,125:1.9791241093996175,126:1.9789706019673938,127:1.978819534680521,128:1.9786708498163625,129:1.9785244914586055,130:1.9783804054271532,131:1.9782385392112587,132:1.9780988419057237,133:1.977961264150002,134:1.9778257580700531,135:1.9776922772228045,136:1.9775607765430836,137:1.977431212292894,138:1.9773035420129166,139:1.9771777244761224,140:1.9770537196433886,141:1.9769314886210223,142:1.97681099362009,143:1.9766921979174685,144:1.9765750658185368,145:1.9764595626214163,146:1.9763456545827007,147:1.9762333088845883,148:1.9761224936033637,149:1.9760131776791554,150:1.9759053308869141,151:1.9757989238085507,152:1.975693927806187,153:1.9755903149964589,154:1.9754880582258323,155:1.9753871310468787,156:1.9752875076954728,157:1.9751891630688665,158:1.9750920727046015,159:1.9749962127602256,160:1.9749015599937723,161:1.9748080917449764,162:1.9747157859171882,163:1.9746246209599583,164:1.9745345758522659,165:1.9744456300863593,166:1.9743577636521858,167:1.9742709570223849,168:1.974185191137821,169:1.9741004473936339,170:1.9740167076257829,171:1.9739339540980692,172:1.9738521694896138,173:1.9737713368827694,174:1.9736914397514562,175:1.9736124619498976,176:1.9735343877017435,177:1.9734572015895646,178:1.9733808885447033,179:1.9733054338374667,180:1.973230823067649,181:1.9731570421553692,182:1.9730840773322162,183:1.9730119151326795,184:1.9729405423858692,185:1.9728699462074992,186:1.9728001139921352,187:1.9727310334056907,188:1.9726626923781656,189:1.9725950790966158,190:1.9725281819983451,191:1.972461989764315,192:1.9723964913127596,193:1.9723316757930012,194:1.9722675325794565,195:1.972204051265833,196:1.9721412216594971,197:1.9720790337760221,198:1.972017477833896,199:1.9719565442493954,200:1.9718962236316093,201:1.9718365067776158,202:1.971777384667801,203:1.971718848461318,204:1.9716608894916787,205:1.971603499262479,206:1.9715466694432433,207:1.9714903918653972,208:1.9714346585183509,209:1.9713794615456992,210:1.9713247932415296,211:1.9712706460468354,212:1.9712170125460335,213:1.9711638854635767,214:1.971111257660664,215:1.9710591221320446,216:1.9710074720029072,217:1.97095630052586,218:1.9709056010779908,219:1.9708553671580111,220:1.9708055923834753,221:1.970756270488079,222:1.9707073953190282,223:1.9706589608344816,224:1.9706109611010594,225:1.9705633902914228,226:1.9705162426819125,227:1.9704695126502556,228:1.9704231946733297,229:1.9703772833249869,230:1.9703317732739336,231:1.9702866592816697,232:1.9702419362004757,233:1.9701975989714555,234:1.9701536426226303,235:1.9701100622670775,236:1.9700668531011214,237:1.9700240104025675,238:1.9699815295289818,239:1.969939405916016,240:1.9698976350757686,241:1.9698562125951948,242:1.9698151341345516,243:1.9697743954258797,244:1.9697339922715287,245:1.9696939205427133,246:1.9696541761781068,247:1.9696147551824699,248:1.9695756536253115,249:1.9695368676395828,250:1.9694983934204007,251:1.9694602272238055,252:1.9694223653655467,253:1.969384804219895,254:1.9693475402184863,255:1.9693105698491933,256:1.9692738896550193,257:1.9692374962330224,258:1.9692013862332616,259:1.9691655563577715,260:1.9691300033595551,261:1.9690947240416052,262:1.9690597152559448,263:1.9690249739026924,264:1.9689904969291443,265:1.968956281328883,266:1.9689223241409022,267:1.9688886224487527,268:1.9688551733797075,269:1.968821974103945,270:1.9687890218337525,271:1.968756313822743,272:1.968723847365097,273:1.9686916197948103,274:1.9686596284849691,275:1.9686278708470335,276:1.9685963443301415,277:1.968565046420423,278:1.9685339746403347,279:1.9685031265480044,280:1.9684724997365923,281:1.968442091833664,282:1.968411900500579,283:1.9683819234318907,284:1.9683521583547587,285:1.9683226030283762,286:1.9682932552434063,287:1.968264112821431,288:1.9682351736144144,289:1.9682064355041722,290:1.968177896401857,291:1.968149554247451,292:1.9681214070092705,293:1.9680934526834821,294:1.9680656892936232,295:1.968038114890141,296:1.9680107275499321,297:1.9679835253758984,298:1.967956506496507,299:1.9679296690653623,300:1.9679030112607847,301:1.9678765312853979,302:1.967850227365727,303:1.9678240977517998,304:1.967798140716761,305:1.9677723545564905,306:1.967746737589231,307:1.9677212881552217,308:1.967696004616341,309:1.967670885355754,310:1.9676459287775685,311:1.9676211333064957,312:1.9675964973875213,313:1.967572019485578,314:1.967547698085227,315:1.9675235316903468,316:1.9674995188238256,317:1.9674756580272583,318:1.9674519478606556,319:1.96742838690215,320:1.9674049737477135,321:1.9673817070108799,322:1.9673585853224684,323:1.9673356073303163,324:1.9673127716990173,325:1.9672900771096589,326:1.9672675222595717,327:1.9672451058620788,328:1.9672228266462515,329:1.9672006833566689,330:1.9671786747531816,331:1.9671567996106818,332:1.967135056718874,333:1.9671134448820529,334:1.9670919629188843,335:1.9670706096621893,336:1.967049383958733,337:1.9670282846690177,338:1.9670073106670771,339:1.9669864608402783,340:1.966965734089124,341:1.9669451293270586,342:1.9669246454802793,343:1.9669042814875488,344:1.9668840363000124,345:1.966863908881019,346:1.9668438982059417,347:1.966824003262006,348:1.9668042230481186,349:1.9667845565746986,350:1.9667650028635129,351:1.9667455609475144,352:1.9667262298706825,353:1.966707008687866,354:1.9666878964646288,355:1.9666688922770996,356:1.9666499952118222,357:1.9666312043656085,358:1.9666125188453965,359:1.9665939377681074,360:1.9665754602605063,361:1.9665570854590666,362:1.9665388125098342,363:1.966520640568296,364:1.9665025687992495,365:1.966484596376675,366:1.9664667224836099,367:1.9664489463120245,368:1.9664312670626998,369:1.9664136839451096,370:1.9663961961773,371:1.966378802985776,372:1.9663615036053859,373:1.9663442972792093,374:1.9663271832584475,375:1.9663101608023135,376:1.966293229177927,377:1.9662763876602067,378:1.96625963553177,379:1.9662429720828285,380:1.9662263966110878,381:1.9662099084216513,382:1.9661935068269203,383:1.9661771911465,384:1.9661609607071053,385:1.9661448148424667,386:1.9661287528932416,387:1.9661127742069229,388:1.9660968781377508,389:1.966081064046626,390:1.966065331301024,391:1.966049679274911,392:1.9660341073486605,393:1.9660186149089722,394:1.9660032013487905,395:1.9659878660672256,396:1.9659726084694753,397:1.9659574279667498,398:1.965942323976193,399:1.9659272959208094,400:1.9659123432293915,401:1.9658974653364458,402:1.9658826616821223,403:1.965867931712145,404:1.9658532748777406,405:1.9658386906355727,406:1.9658241784476738,407:1.965809737781378,408:1.9657953681092573,409:1.9657810689090576,410:1.9657668396636336,411:1.965752679860889,412:1.9657385889937122,413:1.9657245665599175,414:1.9657106120621863,415:1.9656967250080057,416:1.9656829049096134,417:1.9656691512839384,418:1.965655463652545,419:1.9656418415415793,420:1.9656282844817121,421:1.9656147920080864,422:1.9656013636602634,423:1.9655879989821707,424:1.9655746975220507,425:1.9655614588324102,426:1.965548282469968,427:1.9655351679956077,428:1.9655221149743287,429:1.9655091229751978,430:1.9654961915712998,431:1.9654833203396942,432:1.9654705088613673,433:1.9654577567211857,434:1.965445063507854,435:1.965432428813868,436:1.9654198522354724,437:1.9654073333726187,438:1.9653948718289207,439:1.9653824672116142,440:1.9653701191315152,441:1.9653578272029781,442:1.9653455910438589,443:1.9653334102754718,444:1.9653212845225516,445:1.9653092134132164,446:1.9652971965789277,447:1.9652852336544535,448:1.9652733242778317,449:1.9652614680903338,450:1.9652496647364275,451:1.9652379138637432,452:1.9652262151230366,453:1.9652145681681563,454:1.9652029726560083,455:1.9651914282465226,456:1.9651799346026202,457:1.9651684913901803,458:1.9651570982780076,459:1.9651457549378,460:1.9651344610441186,461:1.9651232162743548,462:1.9651120203087005,463:1.9651008728301178,464:1.9650897735243085,465:1.9650787220796855,466:1.9650677181873428,467:1.965056761541027,468:1.965045851837109,469:1.965034988774555,470:1.965024172054902,471:1.9650134013822251,472:1.9650026764631154,473:1.9649919970066518,474:1.9649813627243728,475:1.964970773330254,476:1.9649602285406784,477:1.9649497280744153,478:1.9649392716525922,479:1.964928858998672,480:1.9649184898384262,481:1.9649081638999137,482:1.9648978809134563,483:1.9648876406116125,484:1.9648774427291587,485:1.9648672870030628,486:1.9648571731724636,487:1.9648471009786466,488:1.9648370701650248,489:1.9648270804771135,490:1.9648171316625118,491:1.964807223470879,492:1.9647973556539153,493:1.9647875279653397,494:1.9647777401608706,495:1.9647679919982053,496:1.9647582832369994,497:1.9647486136388483,498:1.9647389829672652,499:1.9647293909876653,500:1.9647198374673442,501:1.9647103221754598,502:1.964700844883014,503:1.9646914053628335,504:1.9646820033895525,505:1.964672638739595,506:1.9646633111911553,507:1.9646540205241838,508:1.9646447665203655,509:1.964635548963106,510:1.9646263676375137,511:1.9646172223303833,512:1.9646081128301776,513:1.9645990389270147,514:1.9645900004126484,515:1.9645809970804544,516:1.9645720287254127,517:1.9645630951440949,518:1.964554196134645,519:1.9645453314967691,520:1.9645365010317148,521:1.9645277045422602,522:1.9645189418326983,523:1.964510212708822,524:1.964501516977911,525:1.964492854448715,526:1.9644842249314425,527:1.9644756282377454,528:1.9644670641807058,529:1.964458532574823,530:1.9644500332359982,531:1.9644415659815229,532:1.9644331306300662,533:1.9644247270016604,534:1.964416354917689,535:1.9644080142008735,536:1.9643997046752626,537:1.9643914261662165,538:1.9643831785003991,539:1.9643749615057613,540:1.9643667750115323,541:1.964358618848207,542:1.9643504928475335,543:1.964342396842502,544:1.9643343306673333,545:1.9643262941574684,546:1.9643182871495555,547:1.9643103094814403,548:1.964302360992155,549:1.9642944415219068,550:1.9642865509120675,551:1.9642786890051633,552:1.964270855644863,553:1.9642630506759702,554:1.9642552739444101,555:1.9642475252972216,556:1.9642398045825453,557:1.9642321116496164,558:1.9642244463487513,559:1.9642168085313412,560:1.9642091980498402,561:1.9642016147577568,562:1.964194058509645,563:1.9641865291610932,564:1.9641790265687171,565:1.964171550590149,566:1.9641641010840303,567:1.9641566779100006,568:1.9641492809286911,569:1.964141910001714,570:1.964134564991655,571:1.9641272457620647,572:1.9641199521774493,573:1.964112684103263,574:1.9641054414058998,575:1.9640982239526847,576:1.964091031611867,577:1.9640838642526093,578:1.964076721744983,579:1.9640696039599586,580:1.9640625107693983,581:1.9640554420460483,582:1.9640483976635308,583:1.9640413774963374,584:1.964034381419821,585:1.9640274093101877,586:1.9640204610444916,587:1.9640135365006257,588:1.9640066355573154,589:1.9639997580941106,590:1.963992903991381,591:1.9639860731303063,592:1.9639792653928712,593:1.9639724806618581,594:1.9639657188208401,595:1.9639589797541745,596:1.963952263346997,597:1.963945569485213,598:1.963938898055494,599:1.9639322489452695,600:1.96392562204272,601:1.9639190172367733,602:1.963912434417095,603:1.963905873474085,604:1.9638993342988706,605:1.9638928167832999,606:1.9638863208199362,607:1.9638798463020526,608:1.9638733931236256,609:1.9638669611793291,610:1.9638605503645292,611:1.9638541605752786,612:1.9638477917083106,613:1.963841443661033,614:1.9638351163315244,615:1.9638288096185263,616:1.9638225234214404,617:1.9638162576403206,618:1.96381001217587,619:1.9638037869294331,620:1.9637975818029945,621:1.9637913966991682,622:1.9637852315211985,623:1.9637790861729507,624:1.963772960558908,625:1.9637668545841658,626:1.9637607681544267,627:1.963754701175997,628:1.96374865355578,629:1.9637426252012729,630:1.9637366160205605,631:1.9637306259223126,632:1.9637246548157765,633:1.9637187026107747,634:1.9637127692177012,635:1.9637068545475131,636:1.9637009585117295,637:1.9636950810224274,638:1.9636892219922344,639:1.9636833813343266,640:1.963677558962424,641:1.9636717547907854,642:1.9636659687342057,643:1.96366020070801,644:1.9636544506280507,645:1.9636487184107032,646:1.9636430039728607,647:1.963637307231933,648:1.9636316281058388,649:1.9636259665130043,650:1.9636203223723585,651:1.9636146956033296,652:1.9636090861258415,653:1.9636034938603082,654:1.963597918727633,655:1.9635923606492014,656:1.9635868195468806,657:1.9635812953430134,658:1.9635757879604159,659:1.9635702973223736,660:1.9635648233526377,661:1.9635593659754214,662:1.9635539251153973,663:1.9635485006976923,664:1.9635430926478856,665:1.9635377008920054,666:1.9635323253565247,667:1.9635269659683576,668:1.9635216226548569,669:1.963516295343811,670:1.9635109839634397,671:1.9635056884423918,672:1.9635004087097414,673:1.9634951446949849,674:1.9634898963280374,675:1.9634846635392311,676:1.9634794462593101,677:1.9634742444194289,678:1.9634690579511493,679:1.9634638867864362,680:1.9634587308576554,681:1.9634535900975714,682:1.9634484644393435,683:1.9634433538165224,684:1.963438258163049,685:1.96343317741325,686:1.963428111501836,687:1.9634230603638985,688:1.9634180239349066,689:1.9634130021507055,690:1.9634079949475116,691:1.9634030022619122,692:1.9633980240308617,693:1.9633930601916791,694:1.963388110682045,695:1.9633831754399986,696:1.963378254403937,697:1.9633733475126116,698:1.9633684547051236,699:1.9633635759209254,700:1.9633587110998145,701:1.9633538601819331,702:1.9633490231077657,703:1.9633441998181338,704:1.9633393902541987,705:1.9633345943574538,706:1.9633298120697256,707:1.96332504333317,708:1.9633202880902698,709:1.9633155462838343,710:1.963310817856994,711:1.9633061027532,712:1.9633014009162226,713:1.9632967122901475,714:1.9632920368193745,715:1.963287374448614,716:1.9632827251228866,717:1.9632780887875207,718:1.9632734653881478,719:1.963268854870705,720:1.963264257181428,721:1.9632596722668525,722:1.9632551000738105,723:1.9632505405494287,724:1.963245993641126,725:1.963241459296613,726:1.9632369374638876,727:1.963232428091235,728:1.9632279311272245,729:1.963223446520709,730:1.9632189742208208,731:1.963214514176972,732:1.9632100663388516,733:1.9632056306564227,734:1.9632012070799227,735:1.9631967955598593,736:1.9631923960470097,737:1.9631880084924196,738:1.9631836328473993,739:1.9631792690635235,740:1.9631749170926298,741:1.9631705768868148,742:1.9631662483984351,743:1.9631619315801037,744:1.9631576263846882,745:1.9631533327653103,746:1.9631490506753435,747:1.963144780068411,748:1.963140520898385,749:1.9631362731193833,750:1.9631320366857699,751:1.9631278115521522,752:1.9631235976733785,753:1.9631193950045382,754:1.963115203500959,755:1.963111023118206,756:1.9631068538120793,757:1.963102695538613,758:1.963098548254074,759:1.963094411914959,760:1.963090286477995,761:1.9630861719001376,762:1.9630820681385661,763:1.963077975150687,764:1.963073892894129,765:1.9630698213267435,766:1.9630657604066017,767:1.9630617100919938,768:1.9630576703414275,769:1.9630536411136277,770:1.9630496223675324,771:1.963045614062295,772:1.963041616157278,773:1.9630376286120574,774:1.9630336513864166,775:1.9630296844403485,776:1.9630257277340504,777:1.9630217812279265,778:1.9630178448825841,779:1.963013918658834,780:1.9630100025176869,781:1.9630060964203544,782:1.9630022003282468,783:1.9629983142029712,784:1.9629944380063318,785:1.962990571700327,786:1.9629867152471494,787:1.9629828686091835,788:1.9629790317490055,789:1.962975204629381,790:1.9629713872132657,791:1.9629675794638015,792:1.962963781344317,793:1.9629599928183272,794:1.9629562138495296,795:1.9629524444018054,796:1.9629486844392179,797:1.9629449339260105,798:1.9629411928266058,799:1.962937461105606,800:1.9629337387277892,801:1.9629300256581104,802:1.9629263218616995,803:1.9629226273038602,804:1.9629189419500692,805:1.9629152657659752,806:1.9629115987173975,807:1.9629079407703247,808:1.9629042918909145,809:1.9629006520454917,810:1.9628970212005485,811:1.9628933993227415,812:1.9628897863788926,813:1.9628861823359869,814:1.962882587161172,815:1.9628790008217571,816:1.9628754232852115,817:1.9628718545191641,818:1.9628682944914029,819:1.9628647431698727,820:1.9628612005226753,821:1.9628576665180681,822:1.9628541411244633,823:1.9628506243104265,824:1.962847116044676,825:1.962843616296083,826:1.9628401250336684,827:1.9628366422266041,828:1.9628331678442101,829:1.962829701855956,830:1.9628262442314577,831:1.9628227949404782,832:1.9628193539529253,833:1.962815921238852,834:1.9628124967684557,835:1.962809080512076,836:1.9628056724401943,837:1.962802272523434,838:1.9627988807325591,839:1.9627954970384724,840:1.9627921214122162,841:1.96278875382497,842:1.9627853942480507,843:1.9627820426529121,844:1.9627786990111424,845:1.9627753632944653,846:1.962772035474738,847:1.962768715523951,848:1.962765403414227,849:1.9627620991178198,850:1.9627588026071152,851:1.9627555138546275,852:1.9627522328330012,853:1.962748959515009,854:1.962745693873551,855:1.9627424358816548,856:1.9627391855124732,857:1.9627359427392859,858:1.9627327075354966,859:1.9627294798746329,860:1.9627262597303463,861:1.9627230470764099,862:1.962719841886719,863:1.962716644135291,864:1.9627134537962623,865:1.9627102708438906,866:1.9627070952525512,867:1.9627039269967388,868:1.9627007660510651,869:1.9626976123902597,870:1.9626944659891674,871:1.9626913268227497,872:1.9626881948660826,873:1.9626850700943568,874:1.9626819524828756,875:1.9626788420070573,876:1.962675738642431,877:1.9626726423646375,878:1.9626695531494305,879:1.962666470972672,880:1.9626633958103352,881:1.9626603276385024,882:1.962657266433364,883:1.962654212171219,884:1.962651164828473,885:1.962648124381639,886:1.962645090807336,887:1.9626420640822897,888:1.9626390441833281,889:1.9626360310873863,890:1.9626330247715016,891:1.962630025212815,892:1.962627032388571,893:1.9626240462761142,894:1.9626210668528927,895:1.9626180940964544,896:1.9626151279844477,897:1.9626121684946207,898:1.9626092156048216,899:1.9626062692929966,900:1.9626033295371899,901:1.9626003963155434,902:1.9625974696062964,903:1.9625945493877848,904:1.9625916356384394,905:1.9625887283367882,906:1.9625858274614525,907:1.962582932991149,908:1.9625800449046875,909:1.9625771631809725,910:1.962574287799,911:1.9625714187378587,912:1.9625685559767294,913:1.9625656994948841,914:1.9625628492716856,915:1.9625600052865868,916:1.9625571675191313,917:1.9625543359489512,918:1.9625515105557676,919:1.9625486913193901,920:1.9625458782197165,921:1.9625430712367309,922:1.962540270350506,923:1.9625374755412,924:1.962534686789057,925:1.962531904074407,926:1.9625291273776646,927:1.96252635667933,928:1.9625235919599864,929:1.962520833200302,930:1.9625180803810265,931:1.962515333482994,932:1.9625125924871198,933:1.9625098573744026,934:1.9625071281259212,935:1.962504404722836,936:1.9625016871463874,937:1.9624989753778976,938:1.9624962693987664,939:1.9624935691904748,940:1.9624908747345817,941:1.9624881860127243,942:1.9624855030066184,943:1.9624828256980582,944:1.962480154068913,945:1.962477488101131,946:1.962474827776736,947:1.9624721730778274,948:1.962469523986581,949:1.9624668804852476,950:1.9624642425561525,951:1.962461610181696,952:1.9624589833443515,953:1.9624563620266673,954:1.9624537462112641,955:1.9624511358808356,956:1.9624485310181483,957:1.9624459316060407,958:1.9624433376274224,959:1.9624407490652758,960:1.9624381659026522,961:1.9624355881226763,962:1.962433015708541,963:1.9624304486435091,964:1.9624278869109137,965:1.9624253304941575,966:1.9624227793767104,967:1.9624202335421121,968:1.9624176929739703,969:1.9624151576559599,970:1.962412627571823,971:1.9624101027053702,972:1.9624075830404768,973:1.9624050685610865,974:1.962402559251207,975:1.9624000550949139,976:1.9623975560763454,977:1.962395062179708,978:1.9623925733892695,979:1.9623900896893647,980:1.9623876110643914,981:1.9623851374988106,982:1.9623826689771475,983:1.96238020548399,984:1.9623777470039887,985:1.962375293521857,986:1.9623728450223694,987:1.9623704014903631,988:1.9623679629107367,989:1.9623655292684494,990:1.9623631005485223,991:1.9623606767360353,992:1.9623582578161303,993:1.9623558437740083,994:1.9623534345949294,995:1.9623510302642144,996:1.9623486307672415,997:1.9623462360894495,998:1.962343846216334,999:1.962341461133449,1000:1.9623390808264078,1001:1.9623367052808791,1002:1.9623343344825908,1003:1.962331968417326,1004:1.9623296070709262,1005:1.9623272504292881,1006:1.9623248984783654,1007:1.9623225512041673,1008:1.9623202085927578,1009:1.9623178706302578,1010:1.9623155373028418,1011:1.9623132085967403,1012:1.962310884498237,1013:1.962308564993671,1014:1.962306250069434,1015:1.9623039397119733,1016:1.9623016339077874,1017:1.9622993326434304,1018:1.962297035905507,1019:1.9622947436806755,1020:1.9622924559556474,1021:1.962290172717185,1022:1.9622878939521027,1023:1.9622856196472673,1024:1.962283349789597,infinity:1.96},WL=128,M=128,B=1e9,CL=12,y=8;var{spawnSync:N6}=(()=>({}));var{setFlagsFromString:T6}=(()=>({}));var{runInNewContext:O6}=(()=>({}));var hL=!!globalThis.Bun||!!globalThis.process?.versions?.bun,iL=!!globalThis.Deno,lL=globalThis.process?.release?.name==="node",rL=!!globalThis.navigator,W=(()=>{if(hL)return S.bun;if(iL)return S.deno;if(lL)return S.node;if(rL)return S.browser;return"unknown"})();function $L(L){if(L<1)return(L*1000).toFixed(2);if(L<1000)return L.toFixed(2);if(L/=1000,L<1000)return L.toFixed(2);if(L/=1000,L<1000)return L.toFixed(2);if(L/=1000,L<1000)return L.toFixed(2);if(L/=60,L<1000)return L.toFixed(2);return L/=60,L.toFixed(2)}var Q=(L)=>{return typeof L==="function"},LL=(async()=>{}).constructor,N=(L)=>{return LL===L.constructor},v=(L)=>{return Object.prototype.toString.call(L).slice(8,-1)==="Object"},Z=(L)=>{if(L==null)throw new TypeError(`Invalid dividend: ${L}`);if(typeof L!=="number")throw new TypeError(`expected number, got ${L.constructor.name}`);if(L===0||Number.isNaN(L))throw new RangeError(`Invalid dividend: ${L}`);return L};var EL=(L,E=x(L))=>{return L.reduce((X,U)=>X+(U-E)**2,0)/Z(L.length-1)},P=(L,E)=>{if(!Array.isArray(L))throw new TypeError(`expected array, got ${L.constructor.name}`);if(L.length===0)throw new Error("expected non-empty array, got empty array");if(E<0||E>1)throw new Error("q must be between 0 and 1");if(E===0)return L[0];if(E===1)return L[L.length-1];const X=(L.length-1)*E,U=Math.floor(X);if(L[U+1]!=null)return L[U]+(X-U)*(L[U+1]-L[U]);return L[U]},d=(L)=>P(L,0.5),x=(L)=>{if(!Array.isArray(L))throw new TypeError(`expected array, got ${L.constructor.name}`);if(L.length===0)throw new Error("expected non-empty array, got empty array");return L.reduce((E,X)=>E+X,0)/L.length},k=(L,E)=>{const X=E(L),U=[];for(let H of L)U.push(Math.abs(H-X));return E(U)},GL=(L,E,X,U)=>{return L/Z(X)*Math.sqrt((E/Z(L))**2+(U/Z(X))**2)};var A=(()=>{return{unknown:()=>{try{const L=performance.now.bind(performance);return L(),()=>1e6*L()}catch{return()=>1e6*Date.now()}},browser:()=>{try{return $.agent.monotonicNow(),()=>1e6*$.agent.monotonicNow()}catch{}try{return $262.agent.monotonicNow(),()=>1e6*$262.agent.monotonicNow()}catch{}return()=>1e6*performance.now()},node:()=>()=>Number(process.hrtime.bigint()),deno:()=>()=>1e6*performance.now(),bun:()=>Bun.nanoseconds}[W]()})();async function DL(L,E={}){if(m(L,E),E.async!=null&&typeof E.async!=="boolean")throw new TypeError(`expected boolean as 'async' option, got ${E.async.constructor.name}`);E.async=E.async??N(L),E.time=E.time??B,E.samples=E.samples??M,E.warmup=typeof E.warmup==="number"?E.warmup:E.warmup===!0?CL:0,E.now=E.now??A,E.before=E.before??K,E.after=E.after??K;const X=N(E.before),U=N(E.after),H=E.async||X||U,_=new(H?LL:Function)("$fn","$before","$after","$now",` | ||
${!E.warmup?"":` | ||
${X?"await":""} \$before(); | ||
for (let i = 0; i < ${E.warmup}; i++) { | ||
var g6=Object.create;var{getPrototypeOf:y6,defineProperty:s,getOwnPropertyNames:d6}=Object;var k6=Object.prototype.hasOwnProperty;var i=(E,X,U)=>{U=E!=null?g6(y6(E)):{};const _=X||!E||!E.__esModule?s(U,"default",{value:E,enumerable:!0}):U;for(let I of d6(E))if(!k6.call(_,I))s(_,I,{get:()=>E[I],enumerable:!0});return _};var u6=(E,X)=>{for(var U in X)s(E,U,{get:X[U],enumerable:!0,configurable:!0,set:(_)=>X[U]=()=>_})};var h6=(E,X)=>()=>(E&&(X=E(E=0)),X);var l=((E)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(E,{get:(X,U)=>(typeof require!=="undefined"?require:X)[U]}):E)(function(E){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+E+'" is not supported')});var c={};u6(c,{uptime:()=>I$,type:()=>V$,totalmem:()=>K$,tmpdir:()=>W$,release:()=>Y$,platform:()=>L$,networkInterfaces:()=>N$,loadavg:()=>H$,hostname:()=>_$,homedir:()=>C$,getNetworkInterfaces:()=>T$,freemem:()=>J$,endianness:()=>U$,default:()=>X$,cpus:()=>Q$,arch:()=>Z$,EOL:()=>G$});var p6,N6,a6,t6,n6,e6,o6=(E,X)=>()=>(X||E((X={exports:{}}).exports,X),X.exports),s6=(E,X,U,_)=>{if(X&&typeof X=="object"||typeof X=="function")for(let I of t6(X))!e6.call(E,I)&&I!==U&&N6(E,I,{get:()=>X[I],enumerable:!(_=a6(X,I))||_.enumerable});return E},$$=(E,X,U)=>(U=E!=null?p6(n6(E)):{},s6(X||!E||!E.__esModule?N6(U,"default",{value:E,enumerable:!0}):U,E)),E$,T6,X$,U$,_$,H$,I$,J$,K$,Q$,V$,Y$,Z$,L$,W$,G$,C$,N$,T$;var r=h6(()=>{p6=Object.create,N6=Object.defineProperty,a6=Object.getOwnPropertyDescriptor,t6=Object.getOwnPropertyNames,n6=Object.getPrototypeOf,e6=Object.prototype.hasOwnProperty,E$=o6((E)=>{E.endianness=function(){return"LE"},E.hostname=function(){return typeof location<"u"?location.hostname:""},E.loadavg=function(){return[]},E.uptime=function(){return 0},E.freemem=function(){return Number.MAX_VALUE},E.totalmem=function(){return Number.MAX_VALUE},E.cpus=function(){return[]},E.type=function(){return"Browser"},E.release=function(){return typeof navigator<"u"?navigator.appVersion:""},E.networkInterfaces=E.getNetworkInterfaces=function(){return{}},E.arch=function(){return"javascript"},E.platform=function(){return"browser"},E.tmpdir=E.tmpDir=function(){return"/tmp"},E.EOL=` | ||
`,E.homedir=function(){return"/"}}),T6=$$(E$()),X$=T6.default,{endianness:U$,hostname:_$,loadavg:H$,uptime:I$,freemem:J$,totalmem:K$,cpus:Q$,type:V$,release:Y$,arch:Z$,platform:L$,tmpdir:W$,EOL:G$,homedir:C$,networkInterfaces:N$,getNetworkInterfaces:T$}=T6.default});var S={bun:"bun",deno:"deno",node:"node",hermes:"hermes",workerd:"workerd",browser:"browser"},Q=()=>{},g="$tatami-ng_group",O=Object.freeze({1:12.706204736432102,2:4.3026527299112765,3:3.182446305284264,4:2.7764451051977996,5:2.57058183661474,6:2.446911848791681,7:2.3646242510102997,8:2.306004135033371,9:2.262157162740992,10:2.2281388519649385,11:2.200985160082949,12:2.178812829663418,13:2.160368656461013,14:2.1447866879169277,15:2.131449545559323,16:2.1199052992210112,17:2.109815577833181,18:2.10092204024096,19:2.0930240544082634,20:2.085963447265837,21:2.0796138447276626,22:2.073873067904015,23:2.068657610419041,24:2.063898561628021,25:2.0595385527532946,26:2.0555294386428713,27:2.0518305164802837,28:2.048407141795244,29:2.0452296421327034,30:2.042272456301238,31:2.0395134463964077,32:2.0369333434601016,33:2.0345152974493383,34:2.0322445093177186,35:2.030107928250343,36:2.0280940009804507,37:2.0261924630291097,38:2.0243941645751367,39:2.0226909117347285,40:2.021075382995338,41:2.019540963982894,42:2.0180816970958815,43:2.0166921941428138,44:2.0153675699129416,45:2.0141033848332928,46:2.012895595294589,47:2.011740510475755,48:2.010634754696446,49:2.0095752344892093,50:2.0085591097152062,51:2.0075837681558824,52:2.0066468031022118,53:2.00574599353695,54:2.0048792865665233,55:2.0040447818101814,56:2.003240717496698,57:2.002465458054599,58:2.0017174830120927,59:2.0009953770482105,60:2.000297821058262,61:1.9996235841149783,62:1.9989715162223116,63:1.998340541772196,64:1.9977296536259739,65:1.9971379077520126,66:1.9965644183594748,67:1.996008353475506,68:1.9954689309194023,69:1.994945414632814,70:1.9944371113297732,71:1.9939433674345044,72:1.9934635662785831,73:1.9929971255321668,74:1.9925434948468204,75:1.9921021536898658,76:1.9916726093523491,77:1.9912543951146042,78:1.9908470685550523,79:1.9904502099893606,80:1.9900634210283845,81:1.9896863232444832,82:1.989318556936819,83:1.9889597799871794,84:1.9886096667986737,85:1.988267907310378,86:1.9879342060816723,87:1.9876082814405773,88:1.987289864690939,89:1.9869786993737681,90:1.9866745405784685,91:1.9863771543000652,92:1.9860863168388938,93:1.985801814239503,94:1.9855234417658303,95:1.9852510034099267,96:1.9849843114317696,97:1.9847231859278835,98:1.9844674544266925,99:1.9842169515086832,100:1.983971518449634,101:1.9837310028852815,102:1.9834952584959407,103:1.9832641447097104,104:1.9830375264229902,105:1.9828152737371547,106:1.9825972617102912,107:1.9823833701230178,108:1.9821734832574516,109:1.9819674896884745,110:1.9817652820865104,111:1.981566757031071,112:1.9813718148344008,113:1.9811803593745805,114:1.9809922979375068,115:1.9808075410672004,116:1.980626002423938,117:1.9804475986497296,118:1.9802722492407063,119:1.9800998764260065,120:1.979930405052777,121:1.9797637624769306,122:1.9795998784593314,123:1.97943868506709,124:1.979280116579683,125:1.9791241093996175,126:1.9789706019673938,127:1.978819534680521,128:1.9786708498163625,129:1.9785244914586055,130:1.9783804054271532,131:1.9782385392112587,132:1.9780988419057237,133:1.977961264150002,134:1.9778257580700531,135:1.9776922772228045,136:1.9775607765430836,137:1.977431212292894,138:1.9773035420129166,139:1.9771777244761224,140:1.9770537196433886,141:1.9769314886210223,142:1.97681099362009,143:1.9766921979174685,144:1.9765750658185368,145:1.9764595626214163,146:1.9763456545827007,147:1.9762333088845883,148:1.9761224936033637,149:1.9760131776791554,150:1.9759053308869141,151:1.9757989238085507,152:1.975693927806187,153:1.9755903149964589,154:1.9754880582258323,155:1.9753871310468787,156:1.9752875076954728,157:1.9751891630688665,158:1.9750920727046015,159:1.9749962127602256,160:1.9749015599937723,161:1.9748080917449764,162:1.9747157859171882,163:1.9746246209599583,164:1.9745345758522659,165:1.9744456300863593,166:1.9743577636521858,167:1.9742709570223849,168:1.974185191137821,169:1.9741004473936339,170:1.9740167076257829,171:1.9739339540980692,172:1.9738521694896138,173:1.9737713368827694,174:1.9736914397514562,175:1.9736124619498976,176:1.9735343877017435,177:1.9734572015895646,178:1.9733808885447033,179:1.9733054338374667,180:1.973230823067649,181:1.9731570421553692,182:1.9730840773322162,183:1.9730119151326795,184:1.9729405423858692,185:1.9728699462074992,186:1.9728001139921352,187:1.9727310334056907,188:1.9726626923781656,189:1.9725950790966158,190:1.9725281819983451,191:1.972461989764315,192:1.9723964913127596,193:1.9723316757930012,194:1.9722675325794565,195:1.972204051265833,196:1.9721412216594971,197:1.9720790337760221,198:1.972017477833896,199:1.9719565442493954,200:1.9718962236316093,201:1.9718365067776158,202:1.971777384667801,203:1.971718848461318,204:1.9716608894916787,205:1.971603499262479,206:1.9715466694432433,207:1.9714903918653972,208:1.9714346585183509,209:1.9713794615456992,210:1.9713247932415296,211:1.9712706460468354,212:1.9712170125460335,213:1.9711638854635767,214:1.971111257660664,215:1.9710591221320446,216:1.9710074720029072,217:1.97095630052586,218:1.9709056010779908,219:1.9708553671580111,220:1.9708055923834753,221:1.970756270488079,222:1.9707073953190282,223:1.9706589608344816,224:1.9706109611010594,225:1.9705633902914228,226:1.9705162426819125,227:1.9704695126502556,228:1.9704231946733297,229:1.9703772833249869,230:1.9703317732739336,231:1.9702866592816697,232:1.9702419362004757,233:1.9701975989714555,234:1.9701536426226303,235:1.9701100622670775,236:1.9700668531011214,237:1.9700240104025675,238:1.9699815295289818,239:1.969939405916016,240:1.9698976350757686,241:1.9698562125951948,242:1.9698151341345516,243:1.9697743954258797,244:1.9697339922715287,245:1.9696939205427133,246:1.9696541761781068,247:1.9696147551824699,248:1.9695756536253115,249:1.9695368676395828,250:1.9694983934204007,251:1.9694602272238055,252:1.9694223653655467,253:1.969384804219895,254:1.9693475402184863,255:1.9693105698491933,256:1.9692738896550193,257:1.9692374962330224,258:1.9692013862332616,259:1.9691655563577715,260:1.9691300033595551,261:1.9690947240416052,262:1.9690597152559448,263:1.9690249739026924,264:1.9689904969291443,265:1.968956281328883,266:1.9689223241409022,267:1.9688886224487527,268:1.9688551733797075,269:1.968821974103945,270:1.9687890218337525,271:1.968756313822743,272:1.968723847365097,273:1.9686916197948103,274:1.9686596284849691,275:1.9686278708470335,276:1.9685963443301415,277:1.968565046420423,278:1.9685339746403347,279:1.9685031265480044,280:1.9684724997365923,281:1.968442091833664,282:1.968411900500579,283:1.9683819234318907,284:1.9683521583547587,285:1.9683226030283762,286:1.9682932552434063,287:1.968264112821431,288:1.9682351736144144,289:1.9682064355041722,290:1.968177896401857,291:1.968149554247451,292:1.9681214070092705,293:1.9680934526834821,294:1.9680656892936232,295:1.968038114890141,296:1.9680107275499321,297:1.9679835253758984,298:1.967956506496507,299:1.9679296690653623,300:1.9679030112607847,301:1.9678765312853979,302:1.967850227365727,303:1.9678240977517998,304:1.967798140716761,305:1.9677723545564905,306:1.967746737589231,307:1.9677212881552217,308:1.967696004616341,309:1.967670885355754,310:1.9676459287775685,311:1.9676211333064957,312:1.9675964973875213,313:1.967572019485578,314:1.967547698085227,315:1.9675235316903468,316:1.9674995188238256,317:1.9674756580272583,318:1.9674519478606556,319:1.96742838690215,320:1.9674049737477135,321:1.9673817070108799,322:1.9673585853224684,323:1.9673356073303163,324:1.9673127716990173,325:1.9672900771096589,326:1.9672675222595717,327:1.9672451058620788,328:1.9672228266462515,329:1.9672006833566689,330:1.9671786747531816,331:1.9671567996106818,332:1.967135056718874,333:1.9671134448820529,334:1.9670919629188843,335:1.9670706096621893,336:1.967049383958733,337:1.9670282846690177,338:1.9670073106670771,339:1.9669864608402783,340:1.966965734089124,341:1.9669451293270586,342:1.9669246454802793,343:1.9669042814875488,344:1.9668840363000124,345:1.966863908881019,346:1.9668438982059417,347:1.966824003262006,348:1.9668042230481186,349:1.9667845565746986,350:1.9667650028635129,351:1.9667455609475144,352:1.9667262298706825,353:1.966707008687866,354:1.9666878964646288,355:1.9666688922770996,356:1.9666499952118222,357:1.9666312043656085,358:1.9666125188453965,359:1.9665939377681074,360:1.9665754602605063,361:1.9665570854590666,362:1.9665388125098342,363:1.966520640568296,364:1.9665025687992495,365:1.966484596376675,366:1.9664667224836099,367:1.9664489463120245,368:1.9664312670626998,369:1.9664136839451096,370:1.9663961961773,371:1.966378802985776,372:1.9663615036053859,373:1.9663442972792093,374:1.9663271832584475,375:1.9663101608023135,376:1.966293229177927,377:1.9662763876602067,378:1.96625963553177,379:1.9662429720828285,380:1.9662263966110878,381:1.9662099084216513,382:1.9661935068269203,383:1.9661771911465,384:1.9661609607071053,385:1.9661448148424667,386:1.9661287528932416,387:1.9661127742069229,388:1.9660968781377508,389:1.966081064046626,390:1.966065331301024,391:1.966049679274911,392:1.9660341073486605,393:1.9660186149089722,394:1.9660032013487905,395:1.9659878660672256,396:1.9659726084694753,397:1.9659574279667498,398:1.965942323976193,399:1.9659272959208094,400:1.9659123432293915,401:1.9658974653364458,402:1.9658826616821223,403:1.965867931712145,404:1.9658532748777406,405:1.9658386906355727,406:1.9658241784476738,407:1.965809737781378,408:1.9657953681092573,409:1.9657810689090576,410:1.9657668396636336,411:1.965752679860889,412:1.9657385889937122,413:1.9657245665599175,414:1.9657106120621863,415:1.9656967250080057,416:1.9656829049096134,417:1.9656691512839384,418:1.965655463652545,419:1.9656418415415793,420:1.9656282844817121,421:1.9656147920080864,422:1.9656013636602634,423:1.9655879989821707,424:1.9655746975220507,425:1.9655614588324102,426:1.965548282469968,427:1.9655351679956077,428:1.9655221149743287,429:1.9655091229751978,430:1.9654961915712998,431:1.9654833203396942,432:1.9654705088613673,433:1.9654577567211857,434:1.965445063507854,435:1.965432428813868,436:1.9654198522354724,437:1.9654073333726187,438:1.9653948718289207,439:1.9653824672116142,440:1.9653701191315152,441:1.9653578272029781,442:1.9653455910438589,443:1.9653334102754718,444:1.9653212845225516,445:1.9653092134132164,446:1.9652971965789277,447:1.9652852336544535,448:1.9652733242778317,449:1.9652614680903338,450:1.9652496647364275,451:1.9652379138637432,452:1.9652262151230366,453:1.9652145681681563,454:1.9652029726560083,455:1.9651914282465226,456:1.9651799346026202,457:1.9651684913901803,458:1.9651570982780076,459:1.9651457549378,460:1.9651344610441186,461:1.9651232162743548,462:1.9651120203087005,463:1.9651008728301178,464:1.9650897735243085,465:1.9650787220796855,466:1.9650677181873428,467:1.965056761541027,468:1.965045851837109,469:1.965034988774555,470:1.965024172054902,471:1.9650134013822251,472:1.9650026764631154,473:1.9649919970066518,474:1.9649813627243728,475:1.964970773330254,476:1.9649602285406784,477:1.9649497280744153,478:1.9649392716525922,479:1.964928858998672,480:1.9649184898384262,481:1.9649081638999137,482:1.9648978809134563,483:1.9648876406116125,484:1.9648774427291587,485:1.9648672870030628,486:1.9648571731724636,487:1.9648471009786466,488:1.9648370701650248,489:1.9648270804771135,490:1.9648171316625118,491:1.964807223470879,492:1.9647973556539153,493:1.9647875279653397,494:1.9647777401608706,495:1.9647679919982053,496:1.9647582832369994,497:1.9647486136388483,498:1.9647389829672652,499:1.9647293909876653,500:1.9647198374673442,501:1.9647103221754598,502:1.964700844883014,503:1.9646914053628335,504:1.9646820033895525,505:1.964672638739595,506:1.9646633111911553,507:1.9646540205241838,508:1.9646447665203655,509:1.964635548963106,510:1.9646263676375137,511:1.9646172223303833,512:1.9646081128301776,513:1.9645990389270147,514:1.9645900004126484,515:1.9645809970804544,516:1.9645720287254127,517:1.9645630951440949,518:1.964554196134645,519:1.9645453314967691,520:1.9645365010317148,521:1.9645277045422602,522:1.9645189418326983,523:1.964510212708822,524:1.964501516977911,525:1.964492854448715,526:1.9644842249314425,527:1.9644756282377454,528:1.9644670641807058,529:1.964458532574823,530:1.9644500332359982,531:1.9644415659815229,532:1.9644331306300662,533:1.9644247270016604,534:1.964416354917689,535:1.9644080142008735,536:1.9643997046752626,537:1.9643914261662165,538:1.9643831785003991,539:1.9643749615057613,540:1.9643667750115323,541:1.964358618848207,542:1.9643504928475335,543:1.964342396842502,544:1.9643343306673333,545:1.9643262941574684,546:1.9643182871495555,547:1.9643103094814403,548:1.964302360992155,549:1.9642944415219068,550:1.9642865509120675,551:1.9642786890051633,552:1.964270855644863,553:1.9642630506759702,554:1.9642552739444101,555:1.9642475252972216,556:1.9642398045825453,557:1.9642321116496164,558:1.9642244463487513,559:1.9642168085313412,560:1.9642091980498402,561:1.9642016147577568,562:1.964194058509645,563:1.9641865291610932,564:1.9641790265687171,565:1.964171550590149,566:1.9641641010840303,567:1.9641566779100006,568:1.9641492809286911,569:1.964141910001714,570:1.964134564991655,571:1.9641272457620647,572:1.9641199521774493,573:1.964112684103263,574:1.9641054414058998,575:1.9640982239526847,576:1.964091031611867,577:1.9640838642526093,578:1.964076721744983,579:1.9640696039599586,580:1.9640625107693983,581:1.9640554420460483,582:1.9640483976635308,583:1.9640413774963374,584:1.964034381419821,585:1.9640274093101877,586:1.9640204610444916,587:1.9640135365006257,588:1.9640066355573154,589:1.9639997580941106,590:1.963992903991381,591:1.9639860731303063,592:1.9639792653928712,593:1.9639724806618581,594:1.9639657188208401,595:1.9639589797541745,596:1.963952263346997,597:1.963945569485213,598:1.963938898055494,599:1.9639322489452695,600:1.96392562204272,601:1.9639190172367733,602:1.963912434417095,603:1.963905873474085,604:1.9638993342988706,605:1.9638928167832999,606:1.9638863208199362,607:1.9638798463020526,608:1.9638733931236256,609:1.9638669611793291,610:1.9638605503645292,611:1.9638541605752786,612:1.9638477917083106,613:1.963841443661033,614:1.9638351163315244,615:1.9638288096185263,616:1.9638225234214404,617:1.9638162576403206,618:1.96381001217587,619:1.9638037869294331,620:1.9637975818029945,621:1.9637913966991682,622:1.9637852315211985,623:1.9637790861729507,624:1.963772960558908,625:1.9637668545841658,626:1.9637607681544267,627:1.963754701175997,628:1.96374865355578,629:1.9637426252012729,630:1.9637366160205605,631:1.9637306259223126,632:1.9637246548157765,633:1.9637187026107747,634:1.9637127692177012,635:1.9637068545475131,636:1.9637009585117295,637:1.9636950810224274,638:1.9636892219922344,639:1.9636833813343266,640:1.963677558962424,641:1.9636717547907854,642:1.9636659687342057,643:1.96366020070801,644:1.9636544506280507,645:1.9636487184107032,646:1.9636430039728607,647:1.963637307231933,648:1.9636316281058388,649:1.9636259665130043,650:1.9636203223723585,651:1.9636146956033296,652:1.9636090861258415,653:1.9636034938603082,654:1.963597918727633,655:1.9635923606492014,656:1.9635868195468806,657:1.9635812953430134,658:1.9635757879604159,659:1.9635702973223736,660:1.9635648233526377,661:1.9635593659754214,662:1.9635539251153973,663:1.9635485006976923,664:1.9635430926478856,665:1.9635377008920054,666:1.9635323253565247,667:1.9635269659683576,668:1.9635216226548569,669:1.963516295343811,670:1.9635109839634397,671:1.9635056884423918,672:1.9635004087097414,673:1.9634951446949849,674:1.9634898963280374,675:1.9634846635392311,676:1.9634794462593101,677:1.9634742444194289,678:1.9634690579511493,679:1.9634638867864362,680:1.9634587308576554,681:1.9634535900975714,682:1.9634484644393435,683:1.9634433538165224,684:1.963438258163049,685:1.96343317741325,686:1.963428111501836,687:1.9634230603638985,688:1.9634180239349066,689:1.9634130021507055,690:1.9634079949475116,691:1.9634030022619122,692:1.9633980240308617,693:1.9633930601916791,694:1.963388110682045,695:1.9633831754399986,696:1.963378254403937,697:1.9633733475126116,698:1.9633684547051236,699:1.9633635759209254,700:1.9633587110998145,701:1.9633538601819331,702:1.9633490231077657,703:1.9633441998181338,704:1.9633393902541987,705:1.9633345943574538,706:1.9633298120697256,707:1.96332504333317,708:1.9633202880902698,709:1.9633155462838343,710:1.963310817856994,711:1.9633061027532,712:1.9633014009162226,713:1.9632967122901475,714:1.9632920368193745,715:1.963287374448614,716:1.9632827251228866,717:1.9632780887875207,718:1.9632734653881478,719:1.963268854870705,720:1.963264257181428,721:1.9632596722668525,722:1.9632551000738105,723:1.9632505405494287,724:1.963245993641126,725:1.963241459296613,726:1.9632369374638876,727:1.963232428091235,728:1.9632279311272245,729:1.963223446520709,730:1.9632189742208208,731:1.963214514176972,732:1.9632100663388516,733:1.9632056306564227,734:1.9632012070799227,735:1.9631967955598593,736:1.9631923960470097,737:1.9631880084924196,738:1.9631836328473993,739:1.9631792690635235,740:1.9631749170926298,741:1.9631705768868148,742:1.9631662483984351,743:1.9631619315801037,744:1.9631576263846882,745:1.9631533327653103,746:1.9631490506753435,747:1.963144780068411,748:1.963140520898385,749:1.9631362731193833,750:1.9631320366857699,751:1.9631278115521522,752:1.9631235976733785,753:1.9631193950045382,754:1.963115203500959,755:1.963111023118206,756:1.9631068538120793,757:1.963102695538613,758:1.963098548254074,759:1.963094411914959,760:1.963090286477995,761:1.9630861719001376,762:1.9630820681385661,763:1.963077975150687,764:1.963073892894129,765:1.9630698213267435,766:1.9630657604066017,767:1.9630617100919938,768:1.9630576703414275,769:1.9630536411136277,770:1.9630496223675324,771:1.963045614062295,772:1.963041616157278,773:1.9630376286120574,774:1.9630336513864166,775:1.9630296844403485,776:1.9630257277340504,777:1.9630217812279265,778:1.9630178448825841,779:1.963013918658834,780:1.9630100025176869,781:1.9630060964203544,782:1.9630022003282468,783:1.9629983142029712,784:1.9629944380063318,785:1.962990571700327,786:1.9629867152471494,787:1.9629828686091835,788:1.9629790317490055,789:1.962975204629381,790:1.9629713872132657,791:1.9629675794638015,792:1.962963781344317,793:1.9629599928183272,794:1.9629562138495296,795:1.9629524444018054,796:1.9629486844392179,797:1.9629449339260105,798:1.9629411928266058,799:1.962937461105606,800:1.9629337387277892,801:1.9629300256581104,802:1.9629263218616995,803:1.9629226273038602,804:1.9629189419500692,805:1.9629152657659752,806:1.9629115987173975,807:1.9629079407703247,808:1.9629042918909145,809:1.9629006520454917,810:1.9628970212005485,811:1.9628933993227415,812:1.9628897863788926,813:1.9628861823359869,814:1.962882587161172,815:1.9628790008217571,816:1.9628754232852115,817:1.9628718545191641,818:1.9628682944914029,819:1.9628647431698727,820:1.9628612005226753,821:1.9628576665180681,822:1.9628541411244633,823:1.9628506243104265,824:1.962847116044676,825:1.962843616296083,826:1.9628401250336684,827:1.9628366422266041,828:1.9628331678442101,829:1.962829701855956,830:1.9628262442314577,831:1.9628227949404782,832:1.9628193539529253,833:1.962815921238852,834:1.9628124967684557,835:1.962809080512076,836:1.9628056724401943,837:1.962802272523434,838:1.9627988807325591,839:1.9627954970384724,840:1.9627921214122162,841:1.96278875382497,842:1.9627853942480507,843:1.9627820426529121,844:1.9627786990111424,845:1.9627753632944653,846:1.962772035474738,847:1.962768715523951,848:1.962765403414227,849:1.9627620991178198,850:1.9627588026071152,851:1.9627555138546275,852:1.9627522328330012,853:1.962748959515009,854:1.962745693873551,855:1.9627424358816548,856:1.9627391855124732,857:1.9627359427392859,858:1.9627327075354966,859:1.9627294798746329,860:1.9627262597303463,861:1.9627230470764099,862:1.962719841886719,863:1.962716644135291,864:1.9627134537962623,865:1.9627102708438906,866:1.9627070952525512,867:1.9627039269967388,868:1.9627007660510651,869:1.9626976123902597,870:1.9626944659891674,871:1.9626913268227497,872:1.9626881948660826,873:1.9626850700943568,874:1.9626819524828756,875:1.9626788420070573,876:1.962675738642431,877:1.9626726423646375,878:1.9626695531494305,879:1.962666470972672,880:1.9626633958103352,881:1.9626603276385024,882:1.962657266433364,883:1.962654212171219,884:1.962651164828473,885:1.962648124381639,886:1.962645090807336,887:1.9626420640822897,888:1.9626390441833281,889:1.9626360310873863,890:1.9626330247715016,891:1.962630025212815,892:1.962627032388571,893:1.9626240462761142,894:1.9626210668528927,895:1.9626180940964544,896:1.9626151279844477,897:1.9626121684946207,898:1.9626092156048216,899:1.9626062692929966,900:1.9626033295371899,901:1.9626003963155434,902:1.9625974696062964,903:1.9625945493877848,904:1.9625916356384394,905:1.9625887283367882,906:1.9625858274614525,907:1.962582932991149,908:1.9625800449046875,909:1.9625771631809725,910:1.962574287799,911:1.9625714187378587,912:1.9625685559767294,913:1.9625656994948841,914:1.9625628492716856,915:1.9625600052865868,916:1.9625571675191313,917:1.9625543359489512,918:1.9625515105557676,919:1.9625486913193901,920:1.9625458782197165,921:1.9625430712367309,922:1.962540270350506,923:1.9625374755412,924:1.962534686789057,925:1.962531904074407,926:1.9625291273776646,927:1.96252635667933,928:1.9625235919599864,929:1.962520833200302,930:1.9625180803810265,931:1.962515333482994,932:1.9625125924871198,933:1.9625098573744026,934:1.9625071281259212,935:1.962504404722836,936:1.9625016871463874,937:1.9624989753778976,938:1.9624962693987664,939:1.9624935691904748,940:1.9624908747345817,941:1.9624881860127243,942:1.9624855030066184,943:1.9624828256980582,944:1.962480154068913,945:1.962477488101131,946:1.962474827776736,947:1.9624721730778274,948:1.962469523986581,949:1.9624668804852476,950:1.9624642425561525,951:1.962461610181696,952:1.9624589833443515,953:1.9624563620266673,954:1.9624537462112641,955:1.9624511358808356,956:1.9624485310181483,957:1.9624459316060407,958:1.9624433376274224,959:1.9624407490652758,960:1.9624381659026522,961:1.9624355881226763,962:1.962433015708541,963:1.9624304486435091,964:1.9624278869109137,965:1.9624253304941575,966:1.9624227793767104,967:1.9624202335421121,968:1.9624176929739703,969:1.9624151576559599,970:1.962412627571823,971:1.9624101027053702,972:1.9624075830404768,973:1.9624050685610865,974:1.962402559251207,975:1.9624000550949139,976:1.9623975560763454,977:1.962395062179708,978:1.9623925733892695,979:1.9623900896893647,980:1.9623876110643914,981:1.9623851374988106,982:1.9623826689771475,983:1.96238020548399,984:1.9623777470039887,985:1.962375293521857,986:1.9623728450223694,987:1.9623704014903631,988:1.9623679629107367,989:1.9623655292684494,990:1.9623631005485223,991:1.9623606767360353,992:1.9623582578161303,993:1.9623558437740083,994:1.9623534345949294,995:1.9623510302642144,996:1.9623486307672415,997:1.9623462360894495,998:1.962343846216334,999:1.962341461133449,1000:1.9623390808264078,1001:1.9623367052808791,1002:1.9623343344825908,1003:1.962331968417326,1004:1.9623296070709262,1005:1.9623272504292881,1006:1.9623248984783654,1007:1.9623225512041673,1008:1.9623202085927578,1009:1.9623178706302578,1010:1.9623155373028418,1011:1.9623132085967403,1012:1.962310884498237,1013:1.962308564993671,1014:1.962306250069434,1015:1.9623039397119733,1016:1.9623016339077874,1017:1.9622993326434304,1018:1.962297035905507,1019:1.9622947436806755,1020:1.9622924559556474,1021:1.962290172717185,1022:1.9622878939521027,1023:1.9622856196472673,1024:1.962283349789597,infinity:1.96}),W6=128,B=128,f=1e9,G6=12,y=8;var{spawnSync:O$}=(()=>({}));var{setFlagsFromString:z$}=(()=>({}));var{runInNewContext:w$}=(()=>({}));var b6=!!globalThis.Bun||!!globalThis.process?.versions?.bun,i6=!!globalThis.Deno,l6=globalThis.process?.release?.name==="node",c6=!!globalThis.navigator,W=(()=>{if(b6)return S.bun;if(i6)return S.deno;if(l6)return S.node;if(c6)return S.browser;return"unknown"})();function E6(E){if(E<1)return(E*1000).toFixed(2);if(E<1000)return E.toFixed(2);if(E/=1000,E<1000)return E.toFixed(2);if(E/=1000,E<1000)return E.toFixed(2);if(E/=1000,E<1000)return E.toFixed(2);if(E/=60,E<1000)return E.toFixed(2);return E/=60,E.toFixed(2)}var r6=(E)=>E!==null&&typeof E==="object"&&typeof E.then==="function",V=(E)=>{return typeof E==="function"},$6=(async()=>{}).constructor,m6=(E)=>{return $6===E?.constructor},N=(E)=>{if(E==null)return!1;if(m6(E))return!0;try{const X=E(),U=r6(X);if(U)X.catch(()=>{});return U}catch{return!1}},v=(E)=>{return Object.prototype.toString.call(E).slice(8,-1)==="Object"},L=(E)=>{if(E==null)throw new TypeError(`Invalid dividend: ${E}`);if(typeof E!=="number")throw new TypeError(`expected number, got ${E.constructor.name}`);if(E===0||Number.isNaN(E))throw new RangeError(`Invalid dividend: ${E}`);return E};var X6=(E,X=x(E))=>{return E.reduce((U,_)=>U+(_-X)**2,0)/L(E.length-1)},z=(E,X)=>{if(!Array.isArray(E))throw new TypeError(`expected array, got ${E.constructor.name}`);if(E.length===0)throw new Error("expected non-empty array, got empty array");if(X<0||X>1)throw new Error("q must be between 0 and 1");if(X===0)return E[0];if(X===1)return E[E.length-1];const U=(E.length-1)*X,_=Math.floor(U);if(E[_+1]!=null)return E[_]+(U-_)*(E[_+1]-E[_]);return E[_]},d=(E)=>z(E,0.5),x=(E)=>{if(!Array.isArray(E))throw new TypeError(`expected array, got ${E.constructor.name}`);if(E.length===0)throw new Error("expected non-empty array, got empty array");return E.reduce((X,U)=>X+U,0)/E.length},k=(E,X)=>{const U=X(E),_=[];for(let I of E)_.push(Math.abs(I-U));return X(_)},C6=(E,X,U,_)=>{return E/L(U)*Math.sqrt((X/L(E))**2+(_/L(U))**2)};var A=(()=>{return{unknown:()=>{try{const E=performance.now.bind(performance);return E(),()=>1e6*E()}catch{return()=>1e6*Date.now()}},browser:()=>{try{return $.agent.monotonicNow(),()=>1e6*$.agent.monotonicNow()}catch{}try{return $262.agent.monotonicNow(),()=>1e6*$262.agent.monotonicNow()}catch{}return()=>1e6*performance.now()},node:()=>()=>Number(process.hrtime.bigint()),deno:()=>()=>1e6*performance.now(),bun:()=>Bun.nanoseconds}[W]()})();async function j6(E,X={}){if(m(E,X),X.async!=null&&typeof X.async!=="boolean")throw new TypeError(`expected boolean as 'async' option, got ${X.async.constructor.name}`);X.async=X.async??N(E),X.time=X.time??f,X.samples=X.samples??B,X.warmup=typeof X.warmup==="number"?X.warmup:X.warmup===!0?G6:0,X.now=X.now??A,X.before=X.before??Q,X.after=X.after??Q;const U=N(X.before),_=N(X.after),I=X.async||U||_,H=new(I?$6:Function)("$fn","$before","$after","$now",` | ||
${!X.warmup?"":` | ||
${U?"await":""} \$before(); | ||
for (let i = 0; i < ${X.warmup}; i++) { | ||
const t0 = \$now(); | ||
${E.async?"await":""} \$fn(); | ||
${X.async?"await":""} \$fn(); | ||
const t1 = \$now(); | ||
} | ||
${U?"await":""} \$after(); | ||
${_?"await":""} \$after(); | ||
`} | ||
@@ -16,6 +16,6 @@ | ||
${X?"await":""} \$before(); | ||
while (time < ${E.time} || ${E.samples} > samples.length) { | ||
${U?"await":""} \$before(); | ||
while (time < ${X.time} || ${X.samples} > samples.length) { | ||
const t0 = \$now(); | ||
${E.async?"await":""} \$fn(); | ||
${X.async?"await":""} \$fn(); | ||
const t1 = \$now(); | ||
@@ -27,6 +27,6 @@ | ||
} | ||
${U?"await":""} \$after(); | ||
${_?"await":""} \$after(); | ||
return samples; | ||
`),J=H?await _(L,E.before,E.after,E.now):_(L,E.before,E.after,E.now);return P6(J)}var OL=(()=>{return{unknown:()=>"",browser:()=>"",node:()=>globalThis.process.version,deno:()=>globalThis.Deno.version.deno,bun:()=>globalThis.process.versions.bun}[W]()})(),PL=(()=>{return{unknown:()=>"unknown",browser:()=>"unknown",node:()=>`${globalThis.process.arch}-${globalThis.process.platform}`,deno:()=>Deno.build.target,bun:()=>`${globalThis.process.arch}-${globalThis.process.platform}`}[W]()})(),zL=await(async()=>{return await{unknown:()=>"unknown",browser:()=>"unknown",node:async()=>(await Promise.resolve().then(() => (c(),r)))?.cpus?.()?.[0]?.model,deno:async()=>(await Promise.resolve().then(() => (c(),r)))?.cpus?.()?.[0]?.model,bun:async()=>(await Promise.resolve().then(() => (c(),r)))?.cpus?.()?.[0]?.model}[W]()})(),wL=(()=>{return{unknown:()=>globalThis.process?.env?.FORCE_COLOR!=null||!globalThis.process?.env?.NO_COLOR&&!globalThis.process?.env?.NODE_DISABLE_COLORS,browser:()=>!1,node:()=>globalThis.process.env.FORCE_COLOR!=null||!globalThis.process.env.NO_COLOR&&!globalThis.process.env.NODE_DISABLE_COLORS,deno:()=>!Deno.noColor,bun:()=>globalThis.process.env.FORCE_COLOR!=null||!globalThis.process.env.NO_COLOR&&!globalThis.process.env.NODE_DISABLE_COLORS}[W]()})(),RL=await(async()=>{return await{unknown:async()=>{try{return await import("node:fs"),(await import("node:fs")).writeFileSync}catch{return K}},browser:()=>K,node:async()=>(await import("node:fs")).writeFileSync,deno:()=>Deno.writeTextFileSync,bun:async()=>(await import("node:fs")).writeFileSync}[W]()})(),r6=(()=>{return{unknown:()=>K,browser:()=>K,node:()=>(L)=>N6(L.trim().split(/\s+/)[0],L.trim().split(/\s+/).slice(1)),deno:()=>(L)=>{new Deno.Command(L.trim().split(/\s+/)[0],{args:L.trim().split(/\s+/).slice(1)}).outputSync()},bun:()=>(L)=>Bun.spawnSync(L.trim().split(/\s+/))}[W]()})(),qL=(()=>{return{unknown:()=>Q(globalThis.gc)?()=>globalThis.gc():K,browser:()=>{try{return globalThis.$262.gc(),()=>globalThis.$262.gc()}catch{return K}},node:()=>()=>{T6("--expose_gc"),O6("gc")()},deno:()=>Q(globalThis.gc)?()=>globalThis.gc():K,bun:()=>()=>Bun.gc(!0)}[W]()})(),m=(L,E={})=>{if(!Q(L))throw new TypeError(`expected function, got ${L.constructor.name}`);if(!v(E))throw new TypeError(`expected object, got ${E.constructor.name}`);if(E.samples!=null&&typeof E.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${E.samples.constructor.name}`);if(E.time!=null&&typeof E.time!=="number")throw new TypeError(`expected number as 'time' option, got ${E.time.constructor.name}`);if(E.warmup!=null&&typeof E.warmup!=="number"&&typeof E.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${E.warmup.constructor.name}`);if(E.now!=null&&!Q(E.now))throw new TypeError(`expected function as 'now' option, got ${E.now.constructor.name}`);if(E.before!=null&&!Q(E.before))throw new TypeError(`expected function as 'before' option, got ${E.before.constructor.name}`);if(E.after!=null&&!Q(E.after))throw new TypeError(`expected function as 'after' option, got ${E.after.constructor.name}`)},XL=(L,E)=>{L.now=E.now??L.now,L.samples=E.samples??L.samples,L.time=E.time??L.time,L.warmup=E.warmup??L.warmup},P6=(L)=>{if(!Array.isArray(L))throw new TypeError(`expected array, got ${L.constructor.name}`);if(L.length===0)throw new Error("expected non-empty array, got empty array");L.sort((j,o)=>j-o);const E=x(L),X=EL(L,E),U=Math.sqrt(X),H=U/Math.sqrt(L.length),_=O[(L.length-1||1).toString()]||O.infinity,J=H*_,R=J/Z(E)*100,Y=L.map((j)=>j!==0?1e9/j:1e9/E);Y.sort((j,o)=>j-o);const F=x(Y),VL=EL(Y,F),YL=Math.sqrt(VL),AL=YL/Math.sqrt(Y.length),FL=O[(Y.length-1||1).toString()]||O.infinity,ZL=AL*FL,SL=ZL/Z(F)*100;return{samples:L.length,ss:L.length>=WL,latency:{min:L[0],max:L[L.length-1],p50:d(L),p75:P(L,0.75),p99:P(L,0.99),p995:P(L,0.995),avg:E,vr:X,sd:U,moe:J,rmoe:R,aad:k(L,x),mad:k(L,d)},throughput:{min:Y[0],max:Y[L.length-1],p50:d(Y),p75:P(Y,0.75),p99:P(Y,0.99),p995:P(Y,0.995),avg:F,vr:VL,sd:YL,moe:ZL,rmoe:SL,aad:k(Y,x),mad:k(Y,d)}}};var z6=()=>{let L;if(typeof globalThis.console?.log==="function")L=globalThis.console.log;else if(typeof globalThis.print==="function")L=globalThis.print;else throw new Error("no logger function found");return L},fL=z6();function I(L,E){const X=new RegExp(`\\x1b\\[${E}m`,"g"),U=`\x1B[${L}m`,H=`\x1B[${E}m`;return(_,J)=>{if(!_||J==null)return J;return J=J.toString(),`${U}${J.includes(H)?J.replace(X,H+U):J}${H}`}}var p6=I(0,0),V=I(1,22),u=I(2,22),jL=I(3,23),a6=I(4,24),t6=I(7,27),e6=I(8,28),n6=I(9,29),o6=I(30,39),C=I(31,39),q=I(32,39),z=I(33,39),p=I(34,39),ML=I(35,39),T=I(36,39),D=I(37,39),BL=I(90,39),s6=I(90,39),L$=I(91,39),$$=I(92,39),E$=I(93,39),X$=I(94,39),U$=I(95,39),_$=I(96,39),H$=I(97,39),I$=I(40,49),J$=I(41,49),K$=I(42,49),Q$=I(43,49),V$=I(44,49),Y$=I(45,49),Z$=I(46,49),W$=I(47,49),C$=I(100,49),G$=I(101,49),N$=I(102,49),T$=I(103,49),O$=I(104,49),P$=I(105,49),z$=I(106,49),w$=I(107,49);function G(L){if(L<1)return`${(L*1000).toFixed(2)} ps`;if(L<1000)return`${L.toFixed(2)} ns`;if(L/=1000,L<1000)return`${L.toFixed(2)} \xB5s`;if(L/=1000,L<1000)return`${L.toFixed(2)} ms`;if(L/=1000,L<1000)return`${L.toFixed(2)} s`;if(L/=60,L<1000)return`${L.toFixed(2)} m`;return L/=60,`${L.toFixed(2)} h`}function a(L){return`${L.toFixed(0)}`}function b(L){return`${L.toFixed(2)} %`}function UL(L){return`${L.toFixed(2)}`}function t(L){let E=9;for(let X of L)if(E<X.length)E=X.length;return 2+E}function e({size:L,latency:E=!0,throughput:X=!0,latencyMinMax:U=!0,latencyPercentiles:H=!0}){return`${"-".repeat(L+20*E+20*X+24*U)}${!H?"":` ${"-".repeat(50)}`}`}function _L(L,E,{size:X,colors:U=!0}){return`${L.padEnd(X," ")}${C(U,"error")}: ${E.message}${E.stack?`\n${BL(U,E.stack)}`:""}`}function HL({colors:L=!0}={}){return u(L,D(L,` | ||
`),K=I?await H(E,X.before,X.after,X.now):H(E,X.before,X.after,X.now);return q$(K)}var O6=(()=>{return{unknown:()=>"",browser:()=>"",node:()=>globalThis.process.version,deno:()=>globalThis.Deno.version.deno,bun:()=>globalThis.process.versions.bun}[W]()})(),z6=(()=>{return{unknown:()=>"unknown",browser:()=>"unknown",node:()=>`${globalThis.process.arch}-${globalThis.process.platform}`,deno:()=>Deno.build.target,bun:()=>`${globalThis.process.arch}-${globalThis.process.platform}`}[W]()})(),w6=await(async()=>{return await{unknown:()=>"unknown",browser:()=>"unknown",node:async()=>(await Promise.resolve().then(() => (r(),c)))?.cpus?.()?.[0]?.model,deno:async()=>(await Promise.resolve().then(() => (r(),c)))?.cpus?.()?.[0]?.model,bun:async()=>(await Promise.resolve().then(() => (r(),c)))?.cpus?.()?.[0]?.model}[W]()})(),q6=(()=>{return{unknown:()=>globalThis.process?.env?.FORCE_COLOR!=null||!globalThis.process?.env?.NO_COLOR&&!globalThis.process?.env?.NODE_DISABLE_COLORS,browser:()=>!1,node:()=>globalThis.process.env.FORCE_COLOR!=null||!globalThis.process.env.NO_COLOR&&!globalThis.process.env.NODE_DISABLE_COLORS,deno:()=>!Deno.noColor,bun:()=>globalThis.process.env.FORCE_COLOR!=null||!globalThis.process.env.NO_COLOR&&!globalThis.process.env.NODE_DISABLE_COLORS}[W]()})(),P6=await(async()=>{return await{unknown:async()=>{try{return await import("node:fs"),(await import("node:fs")).writeFileSync}catch{return Q}},browser:()=>Q,node:async()=>(await import("node:fs")).writeFileSync,deno:()=>Deno.writeTextFileSync,bun:async()=>(await import("node:fs")).writeFileSync}[W]()})(),m$=(()=>{return{unknown:()=>Q,browser:()=>Q,node:()=>(E)=>O$(E.trim().split(/\s+/)[0],E.trim().split(/\s+/).slice(1)),deno:()=>(E)=>{new Deno.Command(E.trim().split(/\s+/)[0],{args:E.trim().split(/\s+/).slice(1)}).outputSync()},bun:()=>(E)=>Bun.spawnSync(E.trim().split(/\s+/))}[W]()})(),D6=(()=>{return{unknown:()=>V(globalThis.gc)?()=>globalThis.gc():Q,browser:()=>{try{return globalThis.$262.gc(),()=>globalThis.$262.gc()}catch{return Q}},node:()=>()=>{z$("--expose_gc"),w$("gc")()},deno:()=>V(globalThis.gc)?()=>globalThis.gc():Q,bun:()=>()=>Bun.gc(!0)}[W]()})(),m=(E,X={})=>{if(!V(E))throw new TypeError(`expected function, got ${E.constructor.name}`);if(!v(X))throw new TypeError(`expected object, got ${X.constructor.name}`);if(X.samples!=null&&typeof X.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${X.samples.constructor.name}`);if(X.time!=null&&typeof X.time!=="number")throw new TypeError(`expected number as 'time' option, got ${X.time.constructor.name}`);if(X.warmup!=null&&typeof X.warmup!=="number"&&typeof X.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${X.warmup.constructor.name}`);if(X.now!=null&&!V(X.now))throw new TypeError(`expected function as 'now' option, got ${X.now.constructor.name}`);if(X.before!=null&&!V(X.before))throw new TypeError(`expected function as 'before' option, got ${X.before.constructor.name}`);if(X.after!=null&&!V(X.after))throw new TypeError(`expected function as 'after' option, got ${X.after.constructor.name}`)},U6=(E,X)=>{E.now=X.now??E.now,E.samples=X.samples??E.samples,E.time=X.time??E.time,E.warmup=X.warmup??E.warmup},q$=(E)=>{if(!Array.isArray(E))throw new TypeError(`expected array, got ${E.constructor.name}`);if(E.length===0)throw new Error("expected non-empty array, got empty array");E.sort((R,o)=>R-o);const X=x(E),U=X6(E,X),_=Math.sqrt(U),I=_/Math.sqrt(E.length),H=O[(E.length-1||1).toString()]||O.infinity,K=I*H,P=K/L(X)*100,Z=E.map((R)=>R!==0?1e9/R:1e9/X).sort((R,o)=>R-o),F=x(Z),Y6=X6(Z,F),Z6=Math.sqrt(Y6),A6=Z6/Math.sqrt(Z.length),F6=O[(Z.length-1||1).toString()]||O.infinity,L6=A6*F6,S6=L6/L(F)*100;return{samples:E.length,ss:E.length>=W6,latency:{min:E[0],max:E[E.length-1],p50:d(E),p75:z(E,0.75),p99:z(E,0.99),p995:z(E,0.995),avg:X,vr:U,sd:_,moe:K,rmoe:P,aad:k(E,x),mad:k(E,d)},throughput:{min:Z[0],max:Z[E.length-1],p50:d(Z),p75:z(Z,0.75),p99:z(Z,0.99),p995:z(Z,0.995),avg:F,vr:Y6,sd:Z6,moe:L6,rmoe:S6,aad:k(Z,x),mad:k(Z,d)}}};var P$=()=>{let E;if(typeof globalThis.console?.log==="function")E=globalThis.console.log;else if(typeof globalThis.print==="function")E=globalThis.print;else throw new Error("no logger function found");return E},M6=P$();function J(E,X){const U=new RegExp(`\\x1b\\[${X}m`,"g"),_=`\x1B[${E}m`,I=`\x1B[${X}m`;return(H,K)=>{if(!H||K==null)return K;return K=K.toString(),`${_}${K.includes(I)?K.replace(U,I+_):K}${I}`}}var t$=J(0,0),Y=J(1,22),u=J(2,22),R6=J(3,23),n$=J(4,24),e$=J(7,27),o$=J(8,28),s$=J(9,29),$E=J(30,39),G=J(31,39),D=J(32,39),w=J(33,39),p=J(34,39),B6=J(35,39),T=J(36,39),j=J(37,39),f6=J(90,39),EE=J(90,39),XE=J(91,39),UE=J(92,39),_E=J(93,39),HE=J(94,39),IE=J(95,39),JE=J(96,39),KE=J(97,39),QE=J(40,49),VE=J(41,49),YE=J(42,49),ZE=J(43,49),LE=J(44,49),WE=J(45,49),GE=J(46,49),CE=J(47,49),NE=J(100,49),TE=J(101,49),OE=J(102,49),zE=J(103,49),wE=J(104,49),qE=J(105,49),PE=J(106,49),DE=J(107,49);function C(E){if(E<1)return`${(E*1000).toFixed(2)} ps`;if(E<1000)return`${E.toFixed(2)} ns`;if(E/=1000,E<1000)return`${E.toFixed(2)} \xB5s`;if(E/=1000,E<1000)return`${E.toFixed(2)} ms`;if(E/=1000,E<1000)return`${E.toFixed(2)} s`;if(E/=60,E<1000)return`${E.toFixed(2)} m`;return E/=60,`${E.toFixed(2)} h`}function a(E){return`${E.toFixed(0)}`}function h(E){return`${E.toFixed(2)} %`}function _6(E){return`${E.toFixed(2)}`}function t(E){let X=9;for(let U of E)if(X<U.length)X=U.length;return 2+X}function n({size:E,latency:X=!0,throughput:U=!0,latencyMinMax:_=!0,latencyPercentiles:I=!0}){return`${"-".repeat(E+20*X+20*U+24*_)}${!I?"":` ${"-".repeat(50)}`}`}function H6(E,X,{size:U,colors:_=!0}){return`${E.padEnd(U," ")}${G(_,"error")}: ${X.message}${X.stack?`\n${f6(_,X.stack)}`:""}`}function I6({colors:E=!0}={}){return u(E,j(E,` | ||
1 ps = 1 picosecond = 1e-12s | ||
@@ -36,4 +36,4 @@ 1 ns = 1 nanosecond = 1'000ps = 1e-9s | ||
1 ms = 1 millisecond = 1'000\u03BCs = 1'000'000ns = 1e9ps = 1e-3s | ||
`))}function IL(L,{size:E,latency:X=!0,throughput:U=!0,colors:H=!0,latencyMinMax:_=!0,latencyPercentiles:J=!0}){return`${u(H,D(H,`cpu: ${L.cpu}`))}\n${u(H,D(H,`runtime: ${L.runtime}`))}\n\n${"benchmark".padEnd(E," ")}${!X?"":"time/iter".padStart(20," ")}${!U?"":"iters/s".padStart(20," ")}${!_?"":"(min \u2026 max time/iter)".padStart(24," ")}${!J?"":` ${"p50/median".padStart(20," ")} ${"p75".padStart(9," ")} ${"p99".padStart(9," ")} ${"p995".padStart(9," ")}`}`}function JL(L,E={size:t,latency:!0,throughput:!0,colors:!0,latencyMinMax:!0,latencyPercentiles:!0}){if(L.startsWith(g))L=jL(E.colors,"unnamed");return`\u2022 ${V(E.colors,L)}\n${u(E.colors,D(E.colors,e(E)))}`}function KL(L,E,{size:X,latency:U=!0,throughput:H=!0,colors:_=!0,latencyMixMax:J=!0,latencyPercentiles:R=!0}){return`${L.padEnd(X," ")}${!U?"":`${z(_,G(E.latency.avg))} \xB1 ${(E.latency.rmoe>y?C:p)(_,b(E.latency.rmoe))}`.padStart(20+20*_," ")}${!H?"":`${z(_,a(E.throughput.avg))} \xB1 ${(E.throughput.rmoe>y?C:p)(_,b(E.throughput.rmoe))}`.padStart(20+20*_," ")}${!J?"":`(${T(_,G(E.latency.min))} \u2026 ${ML(_,G(E.latency.max))})`.padStart(24+20*_," ")}${!R?"":` ${$L(E.latency.mad)>0?`${q(_,G(E.latency.p50))} \xB1 ${C(_,G(E.latency.mad))}`.padStart(20+20*_," "):q(_,G(E.latency.p50)).padStart(20+10*_," ")} ${q(_,G(E.latency.p75)).padStart(9+10*_," ")} ${q(_,G(E.latency.p99)).padStart(9+10*_," ")} ${q(_,G(E.latency.p995)).padStart(9+10*_," ")}`}`}function n(L,{latency:E=!0,throughput:X=!0,colors:U=!0}){if(L.some((_)=>_.error!=null))throw new Error("Cannot display warning on benchmarks with error");const H=[];for(let _ of L){if(_.stats.ss===!1)H.push(`${V(U,z(U,"Warning"))}: ${V(U,T(U,_.name))} has a sample size below statistical significance: ${C(U,_.samples)}`);if(E&&_.stats.latency.rmoe>y)H.push(`${V(U,z(U,"Warning"))}: ${V(U,T(U,_.name))} has a high latency relative margin of error: ${C(U,b(_.stats.latency.rmoe))}`);if(X&&_.stats.throughput.rmoe>y)H.push(`${V(U,z(U,"Warning"))}: ${V(U,T(U,_.name))} has a high latency throughput margin of error: ${C(U,a(_.stats.throughput.rmoe))}`);if(E&&$L(_.stats.latency.mad)>0)H.push(`${V(U,z(U,"Warning"))}: ${V(U,T(U,_.name))} has a non zero latency median absolute deviation: ${C(U,G(_.stats.latency.mad))}`);if(X&&Math.trunc(_.stats.throughput.mad)>0)H.push(`${V(U,z(U,"Warning"))}: ${V(U,T(U,_.name))} has a non zero throughput median absolute deviation: ${C(U,a(_.stats.throughput.mad))}`)}return H.join("\n")}function QL(L,{colors:E=!0}){if(L.some((U)=>U.error!=null))throw new Error("Cannot summarize benchmarks with error");if(L.length<2)throw new Error("Cannot summarize less than two benchmarks");L.sort((U,H)=>U.stats.latency.avg-H.stats.latency.avg);const X=L.find((U)=>U.baseline)??L[0];return`${`${X.group==null||X.group.startsWith(g)?"":`${V(E,D(E,X.group.trim().split(/\s+/).length>1?`'${X.group}'`:`${X.group}`))} `}${V(E,D(E,"summary"))}`}\n ${V(E,T(E,X.name))}${L.filter((U)=>U!==X).map((U)=>{const H=U.stats.latency.avg/Z(X.stats.latency.avg),J=GL(U.stats.latency.avg,U.stats.latency.sd,X.stats.latency.avg,X.stats.latency.sd)/Z(Math.sqrt(X.stats.samples+U.stats.samples)),R=O[(X.stats.samples+U.stats.samples-1||1).toString()]||O.infinity,F=J*R/Z(H)*100;return`\n ${(1>H?C:q)(E,1>H?UL(1/Z(H)):UL(H))} \xB1 ${p(E,b(F))} times ${1>H?"slower":"faster"} than ${V(E,T(E,U.name))}`}).join("")}`}function w6(L,E=void 0){if(L!=null&&typeof L!=="string"&&!v(L)&&!Q(L))throw new TypeError(`expected string, object or function, got ${L.constructor.name}`);if(Q(L))E=L;if(!Q(E))throw new TypeError(`expected function, got ${E.constructor.name}`);if(v(L)){if(L.name!=null&&typeof L.name!=="string")throw new TypeError(`expected string as 'name' option, got ${L.name.constructor.name}`);if(L.summary!=null&&typeof L.summary!=="boolean")throw new TypeError(`expected boolean as 'summary' option, got ${L.summary.constructor.name}`);if(L.samples!=null&&typeof L.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${L.samples.constructor.name}`);if(L.time!=null&&typeof L.time!=="number")throw new TypeError(`expected number as 'time' option, got ${L.time.constructor.name}`);if(L.warmup!=null&&typeof L.warmup!=="number"&&typeof L.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${L.warmup.constructor.name}`);if(L.now!=null&&Function!==L.now.constructor)throw new TypeError(`expected function as 'now' option, got ${L.now.constructor.name}`);if(L.before!=null&&!Q(L.before))throw new TypeError(`expected function as 'before' option, got ${L.before.constructor.name}`);if(L.after!=null&&!Q(L.after))throw new TypeError(`expected function as 'after' option, got ${L.after.constructor.name}`)}if(f=(typeof L==="string"?L.trim():L.name?.trim())||`${g}${h.size+1}`,!h.has(f))h.set(f,{summary:L.summary??!0,samples:L.samples??M,time:L.time??B,warmup:L.warmup??!0,now:L.now??A,before:L.before??K,after:L.after??K});if(N(E))E().then(()=>{f=null});else E(),f=null}function R6(L,E=void 0,X={}){if(Q(L))E=L,L=E.name;m(E,X),L=L.trim(),w.push({before:X.before??K,fn:E,after:X.after??K,name:L,now:X.now??A,group:f,time:X.time??B,samples:X.samples??M,warmup:X.warmup??!0,baseline:!1,async:N(E)})}function q6(L,E=void 0,X={}){if(Q(L))E=L,L=E.name;m(E,X),L=L.trim(),w.push({before:X.before??K,fn:E,after:X.after??K,name:L,now:X.now??A,group:f,time:X.time??B,samples:X.samples??M,warmup:X.warmup??!0,baseline:!0,async:N(E)})}function D6(){h.clear(),w.length=0}async function f6(L={}){if(!v(L))throw new TypeError(`expected object, got ${L.constructor.name}`);if(L.samples!=null&&typeof L.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${L.samples.constructor.name}`);if(L.time!=null&&typeof L.time!=="number")throw new TypeError(`expected number as 'time' option, got ${L.time.constructor.name}`);if(L.warmup!=null&&typeof L.warmup!=="number"&&typeof L.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${L.warmup.constructor.name}`);if(L.json!=null&&typeof L.json!=="number"&&typeof L.json!=="boolean")throw new TypeError(`expected number or boolean as 'json' option, got ${L.json.constructor.name}`);if(L.reporter!=null&&!Q(L.reporter))throw new TypeError(`expected function as 'reporter' option, got ${L.reporter.constructor.name}`);if(L.file!=null&&typeof L.file!=="string")throw new TypeError(`expected string as 'file' option, got ${L.file.constructor.name}`);if(typeof L.file==="string"&&L.file.trim().length===0)throw new TypeError("expected non-empty string as 'file' option");if(L.now!=null&&!Q(L.now))throw new TypeError(`expected function as 'now' option, got ${L.now.constructor.name}`);L.silent=L.silent??!1,L.units=L.units??!1,L.colors=L.colors??wL,L.size=t(w.map((_)=>_.name));const E=L.silent===!0?K:fL;let X={benchmarks:w,cpu:`${zL}`,runtime:`${W} ${OL} (${PL})`};if(!L.json&&w.length>0)E(IL(X,L)),E(e(L));let U=await vL(w.filter((_)=>_.group==null),E,L);for(let[_,J]of h){if(!L.json){if(U)E("");E(JL(_,L))}N(J.before)?await J.before():J.before(),U=await vL(w.filter((R)=>R.group===_),E,L,J),N(J.after)?await J.after():J.after()}if(X=Q(L.reporter)?L.reporter(X):X,!L.json&&L.units)E(HL(L));if(L.json||L.file){const _=JSON.stringify(X,void 0,typeof L.json!=="number"?0:L.json);if(L.json)E(_);if(L.file)RL(L.file,_)}const H=JSON.parse(JSON.stringify(X));return D6(),H}var f=null,h=new Map,w=[],vL=async(L,E,X={},U={})=>{let H=!1;for(let _ of L){H=!0,XL(_,U),XL(_,X);try{if(qL(),_.stats=await DL(_.fn,{async:_.async,samples:_.samples,time:_.time,warmup:_.warmup,now:_.now,before:_.before,after:_.after}),!X.json)E(KL(_.name,_.stats,X))}catch(J){if(_.error=J,!X.json)E(_L(_.name,_.error,X))}}if(L=L.filter((_)=>_.error==null),!X.json&&n(L,X))E(""),E(n(L,X));if((Object.keys(U).length===0||U.summary===!0)&&!X.json&&L.length>1)E(""),E(QL(L,X));return H};var xL=(L)=>{return L.benchmarks.filter((E)=>E.error==null).map(({name:E,stats:X})=>{return{[E]:{latency:{value:X?.latency?.avg,lower_value:X?.latency?.avg-X?.latency?.sd,upper_value:X?.latency?.avg+X?.latency?.sd},throughput:{value:X?.throughput?.avg,lower_value:X?.throughput?.avg-X?.throughput?.sd,upper_value:X?.throughput?.avg+X?.throughput?.sd}}}}).reduce((E,X)=>Object.assign(E,X),{})};export{f6 as run,w6 as group,xL as bmf,R6 as bench,q6 as baseline}; | ||
`))}function J6(E,{size:X,latency:U=!0,throughput:_=!0,colors:I=!0,latencyMinMax:H=!0,latencyPercentiles:K=!0}){return`${u(I,j(I,`cpu: ${E.cpu}`))}\n${u(I,j(I,`runtime: ${E.runtime}`))}\n\n${"benchmark".padEnd(X," ")}${!U?"":"time/iter".padStart(20," ")}${!_?"":"iters/s".padStart(20," ")}${!H?"":"(min \u2026 max time/iter)".padStart(24," ")}${!K?"":` ${"p50/median".padStart(20," ")} ${"p75".padStart(9," ")} ${"p99".padStart(9," ")} ${"p995".padStart(9," ")}`}`}function K6(E,X={size:t,latency:!0,throughput:!0,colors:!0,latencyMinMax:!0,latencyPercentiles:!0}){if(E.startsWith(g))E=R6(X.colors,"unnamed");return`\u2022 ${Y(X.colors,E)}\n${u(X.colors,j(X.colors,n(X)))}`}function Q6(E,X,{size:U,latency:_=!0,throughput:I=!0,colors:H=!0,latencyMixMax:K=!0,latencyPercentiles:P=!0}){return`${E.padEnd(U," ")}${!_?"":`${w(H,C(X.latency.avg))} \xB1 ${(X.latency.rmoe>y?G:p)(H,h(X.latency.rmoe))}`.padStart(20+20*H," ")}${!I?"":`${w(H,a(X.throughput.avg))} \xB1 ${(X.throughput.rmoe>y?G:p)(H,h(X.throughput.rmoe))}`.padStart(20+20*H," ")}${!K?"":`(${T(H,C(X.latency.min))} \u2026 ${B6(H,C(X.latency.max))})`.padStart(24+20*H," ")}${!P?"":` ${E6(X.latency.mad)>0?`${D(H,C(X.latency.p50))} \xB1 ${G(H,C(X.latency.mad))}`.padStart(20+20*H," "):D(H,C(X.latency.p50)).padStart(20+10*H," ")} ${D(H,C(X.latency.p75)).padStart(9+10*H," ")} ${D(H,C(X.latency.p99)).padStart(9+10*H," ")} ${D(H,C(X.latency.p995)).padStart(9+10*H," ")}`}`}function e(E,{latency:X=!0,throughput:U=!0,colors:_=!0}){if(E.some((H)=>H.error!=null))throw new Error("Cannot display warning on benchmarks with error");const I=[];for(let H of E){if(H.stats.ss===!1)I.push(`${Y(_,w(_,"Warning"))}: ${Y(_,T(_,H.name))} has a sample size below statistical significance: ${G(_,H.samples)}`);if(X&&H.stats.latency.rmoe>y)I.push(`${Y(_,w(_,"Warning"))}: ${Y(_,T(_,H.name))} has a high latency relative margin of error: ${G(_,h(H.stats.latency.rmoe))}`);if(U&&H.stats.throughput.rmoe>y)I.push(`${Y(_,w(_,"Warning"))}: ${Y(_,T(_,H.name))} has a high latency throughput margin of error: ${G(_,a(H.stats.throughput.rmoe))}`);if(X&&E6(H.stats.latency.mad)>0)I.push(`${Y(_,w(_,"Warning"))}: ${Y(_,T(_,H.name))} has a non zero latency median absolute deviation: ${G(_,C(H.stats.latency.mad))}`);if(U&&Math.trunc(H.stats.throughput.mad)>0)I.push(`${Y(_,w(_,"Warning"))}: ${Y(_,T(_,H.name))} has a non zero throughput median absolute deviation: ${G(_,a(H.stats.throughput.mad))}`)}return I.join("\n")}function V6(E,{colors:X=!0}){if(E.some((_)=>_.error!=null))throw new Error("Cannot summarize benchmarks with error");if(E.length<2)throw new Error("Cannot summarize less than two benchmarks");E.sort((_,I)=>_.stats.latency.avg-I.stats.latency.avg);const U=E.find((_)=>_.baseline)??E[0];return`${`${U.group==null||U.group.startsWith(g)?"":`${Y(X,j(X,U.group.trim().split(/\s+/).length>1?`'${U.group}'`:`${U.group}`))} `}${Y(X,j(X,"summary"))}`}\n ${Y(X,T(X,U.name))}${E.filter((_)=>_!==U).map((_)=>{const I=_.stats.latency.avg/L(U.stats.latency.avg),K=C6(_.stats.latency.avg,_.stats.latency.sd,U.stats.latency.avg,U.stats.latency.sd)/L(Math.sqrt(U.stats.samples+_.stats.samples)),P=O[(U.stats.samples+_.stats.samples-1||1).toString()]||O.infinity,F=K*P/L(I)*100;return`\n ${(1>I?G:D)(X,1>I?_6(1/L(I)):_6(I))} \xB1 ${p(X,h(F))} times ${1>I?"slower":"faster"} than ${Y(X,T(X,_.name))}`}).join("")}`}function D$(E,X=void 0){if(E!=null&&typeof E!=="string"&&!v(E)&&!V(E))throw new TypeError(`expected string, object or function, got ${E.constructor.name}`);if(V(E))X=E;if(!V(X))throw new TypeError(`expected function, got ${X.constructor.name}`);if(v(E)){if(E.name!=null&&typeof E.name!=="string")throw new TypeError(`expected string as 'name' option, got ${E.name.constructor.name}`);if(E.summary!=null&&typeof E.summary!=="boolean")throw new TypeError(`expected boolean as 'summary' option, got ${E.summary.constructor.name}`);if(E.samples!=null&&typeof E.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${E.samples.constructor.name}`);if(E.time!=null&&typeof E.time!=="number")throw new TypeError(`expected number as 'time' option, got ${E.time.constructor.name}`);if(E.warmup!=null&&typeof E.warmup!=="number"&&typeof E.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${E.warmup.constructor.name}`);if(E.now!=null&&Function!==E.now.constructor)throw new TypeError(`expected function as 'now' option, got ${E.now.constructor.name}`);if(E.before!=null&&!V(E.before))throw new TypeError(`expected function as 'before' option, got ${E.before.constructor.name}`);if(E.after!=null&&!V(E.after))throw new TypeError(`expected function as 'after' option, got ${E.after.constructor.name}`)}if(M=(typeof E==="string"?E.trim():E.name?.trim())||`${g}${b.size+1}`,!b.has(M))b.set(M,{summary:E.summary??!0,samples:E.samples??B,time:E.time??f,warmup:E.warmup??!0,now:E.now??A,before:E.before??Q,after:E.after??Q});if(N(X))X().then(()=>{M=null});else X(),M=null}function j$(E,X=void 0,U={}){if(V(E))X=E,E=X.name;m(X,U),E=E.trim(),q.push({before:U.before??Q,fn:X,after:U.after??Q,name:E,now:U.now??A,group:M,time:U.time??f,samples:U.samples??B,warmup:U.warmup??!0,baseline:!1,async:N(X)})}function M$(E,X=void 0,U={}){if(V(E))X=E,E=X.name;m(X,U),E=E.trim(),q.push({before:U.before??Q,fn:X,after:U.after??Q,name:E,now:U.now??A,group:M,time:U.time??f,samples:U.samples??B,warmup:U.warmup??!0,baseline:!0,async:N(X)})}function R$(){b.clear(),q.length=0}async function B$(E={}){if(!v(E))throw new TypeError(`expected object, got ${E.constructor.name}`);if(E.samples!=null&&typeof E.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${E.samples.constructor.name}`);if(E.time!=null&&typeof E.time!=="number")throw new TypeError(`expected number as 'time' option, got ${E.time.constructor.name}`);if(E.warmup!=null&&typeof E.warmup!=="number"&&typeof E.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${E.warmup.constructor.name}`);if(E.json!=null&&typeof E.json!=="number"&&typeof E.json!=="boolean")throw new TypeError(`expected number or boolean as 'json' option, got ${E.json.constructor.name}`);if(E.reporter!=null&&!V(E.reporter))throw new TypeError(`expected function as 'reporter' option, got ${E.reporter.constructor.name}`);if(E.file!=null&&typeof E.file!=="string")throw new TypeError(`expected string as 'file' option, got ${E.file.constructor.name}`);if(typeof E.file==="string"&&E.file.trim().length===0)throw new TypeError("expected non-empty string as 'file' option");if(E.now!=null&&!V(E.now))throw new TypeError(`expected function as 'now' option, got ${E.now.constructor.name}`);E.silent=E.silent??!1,E.units=E.units??!1,E.colors=E.colors??q6,E.size=t(q.map((H)=>H.name));const X=E.silent===!0?Q:M6;let U={benchmarks:q,cpu:`${w6}`,runtime:`${W} ${O6} (${z6})`};if(!E.json&&q.length>0)X(J6(U,E)),X(n(E));let _=await v6(q.filter((H)=>H.group==null),X,E);for(let[H,K]of b){if(!E.json){if(_)X("");X(K6(H,E))}N(K.before)?await K.before():K.before(),_=await v6(q.filter((P)=>P.group===H),X,E,K),N(K.after)?await K.after():K.after()}if(U=V(E.reporter)?E.reporter(U):U,!E.json&&E.units)X(I6(E));if(E.json||E.file){const H=JSON.stringify(U,void 0,typeof E.json!=="number"?0:E.json);if(E.json)X(H);if(E.file)P6(E.file,H)}const I=JSON.parse(JSON.stringify(U));return R$(),I}var M=null,b=new Map,q=[],v6=async(E,X,U={},_={})=>{let I=!1;for(let H of E){I=!0,U6(H,_),U6(H,U);try{if(D6(),H.stats=await j6(H.fn,{async:H.async,samples:H.samples,time:H.time,warmup:H.warmup,now:H.now,before:H.before,after:H.after}),!U.json)X(Q6(H.name,H.stats,U))}catch(K){if(H.error=K,!U.json)X(H6(H.name,H.error,U))}}if(E=E.filter((H)=>H.error==null),!U.json&&e(E,U))X(""),X(e(E,U));if((Object.keys(_).length===0||_.summary===!0)&&!U.json&&E.length>1)X(""),X(V6(E,U));return I};var x6=(E)=>{return E.benchmarks.filter((X)=>X.error==null).map(({name:X,stats:U})=>{return{[X]:{latency:{value:U?.latency?.avg,lower_value:U?.latency?.avg-U?.latency?.sd,upper_value:U?.latency?.avg+U?.latency?.sd},throughput:{value:U?.throughput?.avg,lower_value:U?.throughput?.avg-U?.throughput?.sd,upper_value:U?.throughput?.avg+U?.throughput?.sd}}}}).reduce((X,U)=>Object.assign(X,U),{})};export{B$ as run,D$ as group,x6 as bmf,j$ as bench,M$ as baseline}; | ||
//# debugId=7AA8278FD8DFD81764756E2164756E21 | ||
//# debugId=255D52E63C31170164756E2164756E21 |
@@ -1,10 +0,10 @@ | ||
var b6=Object.create;var{getPrototypeOf:u6,defineProperty:g,getOwnPropertyNames:_6,getOwnPropertyDescriptor:i6}=Object,E6=Object.prototype.hasOwnProperty;var O=(L,H,J)=>{J=L!=null?b6(u6(L)):{};const K=H||!L||!L.__esModule?g(J,"default",{value:L,enumerable:!0}):J;for(let X of _6(L))if(!E6.call(K,X))g(K,X,{get:()=>L[X],enumerable:!0});return K},G6=new WeakMap,l6=(L)=>{var H=G6.get(L),J;if(H)return H;if(H=g({},"__esModule",{value:!0}),L&&typeof L==="object"||typeof L==="function")_6(L).map((K)=>!E6.call(H,K)&&g(H,K,{get:()=>L[K],enumerable:!(J=i6(L,K))||J.enumerable}));return G6.set(L,H),H};var c6=(L,H)=>{for(var J in H)g(L,J,{get:H[J],enumerable:!0,configurable:!0,set:(K)=>H[J]=()=>K})};var e6={};c6(e6,{run:()=>y6,group:()=>f6,bmf:()=>Z6,bench:()=>S6,baseline:()=>g6});module.exports=l6(e6);var y={bun:"bun",deno:"deno",node:"node",hermes:"hermes",workerd:"workerd",browser:"browser"},U=()=>{},k="$tatami-ng_group",N={1:12.706204736432102,2:4.3026527299112765,3:3.182446305284264,4:2.7764451051977996,5:2.57058183661474,6:2.446911848791681,7:2.3646242510102997,8:2.306004135033371,9:2.262157162740992,10:2.2281388519649385,11:2.200985160082949,12:2.178812829663418,13:2.160368656461013,14:2.1447866879169277,15:2.131449545559323,16:2.1199052992210112,17:2.109815577833181,18:2.10092204024096,19:2.0930240544082634,20:2.085963447265837,21:2.0796138447276626,22:2.073873067904015,23:2.068657610419041,24:2.063898561628021,25:2.0595385527532946,26:2.0555294386428713,27:2.0518305164802837,28:2.048407141795244,29:2.0452296421327034,30:2.042272456301238,31:2.0395134463964077,32:2.0369333434601016,33:2.0345152974493383,34:2.0322445093177186,35:2.030107928250343,36:2.0280940009804507,37:2.0261924630291097,38:2.0243941645751367,39:2.0226909117347285,40:2.021075382995338,41:2.019540963982894,42:2.0180816970958815,43:2.0166921941428138,44:2.0153675699129416,45:2.0141033848332928,46:2.012895595294589,47:2.011740510475755,48:2.010634754696446,49:2.0095752344892093,50:2.0085591097152062,51:2.0075837681558824,52:2.0066468031022118,53:2.00574599353695,54:2.0048792865665233,55:2.0040447818101814,56:2.003240717496698,57:2.002465458054599,58:2.0017174830120927,59:2.0009953770482105,60:2.000297821058262,61:1.9996235841149783,62:1.9989715162223116,63:1.998340541772196,64:1.9977296536259739,65:1.9971379077520126,66:1.9965644183594748,67:1.996008353475506,68:1.9954689309194023,69:1.994945414632814,70:1.9944371113297732,71:1.9939433674345044,72:1.9934635662785831,73:1.9929971255321668,74:1.9925434948468204,75:1.9921021536898658,76:1.9916726093523491,77:1.9912543951146042,78:1.9908470685550523,79:1.9904502099893606,80:1.9900634210283845,81:1.9896863232444832,82:1.989318556936819,83:1.9889597799871794,84:1.9886096667986737,85:1.988267907310378,86:1.9879342060816723,87:1.9876082814405773,88:1.987289864690939,89:1.9869786993737681,90:1.9866745405784685,91:1.9863771543000652,92:1.9860863168388938,93:1.985801814239503,94:1.9855234417658303,95:1.9852510034099267,96:1.9849843114317696,97:1.9847231859278835,98:1.9844674544266925,99:1.9842169515086832,100:1.983971518449634,101:1.9837310028852815,102:1.9834952584959407,103:1.9832641447097104,104:1.9830375264229902,105:1.9828152737371547,106:1.9825972617102912,107:1.9823833701230178,108:1.9821734832574516,109:1.9819674896884745,110:1.9817652820865104,111:1.981566757031071,112:1.9813718148344008,113:1.9811803593745805,114:1.9809922979375068,115:1.9808075410672004,116:1.980626002423938,117:1.9804475986497296,118:1.9802722492407063,119:1.9800998764260065,120:1.979930405052777,121:1.9797637624769306,122:1.9795998784593314,123:1.97943868506709,124:1.979280116579683,125:1.9791241093996175,126:1.9789706019673938,127:1.978819534680521,128:1.9786708498163625,129:1.9785244914586055,130:1.9783804054271532,131:1.9782385392112587,132:1.9780988419057237,133:1.977961264150002,134:1.9778257580700531,135:1.9776922772228045,136:1.9775607765430836,137:1.977431212292894,138:1.9773035420129166,139:1.9771777244761224,140:1.9770537196433886,141:1.9769314886210223,142:1.97681099362009,143:1.9766921979174685,144:1.9765750658185368,145:1.9764595626214163,146:1.9763456545827007,147:1.9762333088845883,148:1.9761224936033637,149:1.9760131776791554,150:1.9759053308869141,151:1.9757989238085507,152:1.975693927806187,153:1.9755903149964589,154:1.9754880582258323,155:1.9753871310468787,156:1.9752875076954728,157:1.9751891630688665,158:1.9750920727046015,159:1.9749962127602256,160:1.9749015599937723,161:1.9748080917449764,162:1.9747157859171882,163:1.9746246209599583,164:1.9745345758522659,165:1.9744456300863593,166:1.9743577636521858,167:1.9742709570223849,168:1.974185191137821,169:1.9741004473936339,170:1.9740167076257829,171:1.9739339540980692,172:1.9738521694896138,173:1.9737713368827694,174:1.9736914397514562,175:1.9736124619498976,176:1.9735343877017435,177:1.9734572015895646,178:1.9733808885447033,179:1.9733054338374667,180:1.973230823067649,181:1.9731570421553692,182:1.9730840773322162,183:1.9730119151326795,184:1.9729405423858692,185:1.9728699462074992,186:1.9728001139921352,187:1.9727310334056907,188:1.9726626923781656,189:1.9725950790966158,190:1.9725281819983451,191:1.972461989764315,192:1.9723964913127596,193:1.9723316757930012,194:1.9722675325794565,195:1.972204051265833,196:1.9721412216594971,197:1.9720790337760221,198:1.972017477833896,199:1.9719565442493954,200:1.9718962236316093,201:1.9718365067776158,202:1.971777384667801,203:1.971718848461318,204:1.9716608894916787,205:1.971603499262479,206:1.9715466694432433,207:1.9714903918653972,208:1.9714346585183509,209:1.9713794615456992,210:1.9713247932415296,211:1.9712706460468354,212:1.9712170125460335,213:1.9711638854635767,214:1.971111257660664,215:1.9710591221320446,216:1.9710074720029072,217:1.97095630052586,218:1.9709056010779908,219:1.9708553671580111,220:1.9708055923834753,221:1.970756270488079,222:1.9707073953190282,223:1.9706589608344816,224:1.9706109611010594,225:1.9705633902914228,226:1.9705162426819125,227:1.9704695126502556,228:1.9704231946733297,229:1.9703772833249869,230:1.9703317732739336,231:1.9702866592816697,232:1.9702419362004757,233:1.9701975989714555,234:1.9701536426226303,235:1.9701100622670775,236:1.9700668531011214,237:1.9700240104025675,238:1.9699815295289818,239:1.969939405916016,240:1.9698976350757686,241:1.9698562125951948,242:1.9698151341345516,243:1.9697743954258797,244:1.9697339922715287,245:1.9696939205427133,246:1.9696541761781068,247:1.9696147551824699,248:1.9695756536253115,249:1.9695368676395828,250:1.9694983934204007,251:1.9694602272238055,252:1.9694223653655467,253:1.969384804219895,254:1.9693475402184863,255:1.9693105698491933,256:1.9692738896550193,257:1.9692374962330224,258:1.9692013862332616,259:1.9691655563577715,260:1.9691300033595551,261:1.9690947240416052,262:1.9690597152559448,263:1.9690249739026924,264:1.9689904969291443,265:1.968956281328883,266:1.9689223241409022,267:1.9688886224487527,268:1.9688551733797075,269:1.968821974103945,270:1.9687890218337525,271:1.968756313822743,272:1.968723847365097,273:1.9686916197948103,274:1.9686596284849691,275:1.9686278708470335,276:1.9685963443301415,277:1.968565046420423,278:1.9685339746403347,279:1.9685031265480044,280:1.9684724997365923,281:1.968442091833664,282:1.968411900500579,283:1.9683819234318907,284:1.9683521583547587,285:1.9683226030283762,286:1.9682932552434063,287:1.968264112821431,288:1.9682351736144144,289:1.9682064355041722,290:1.968177896401857,291:1.968149554247451,292:1.9681214070092705,293:1.9680934526834821,294:1.9680656892936232,295:1.968038114890141,296:1.9680107275499321,297:1.9679835253758984,298:1.967956506496507,299:1.9679296690653623,300:1.9679030112607847,301:1.9678765312853979,302:1.967850227365727,303:1.9678240977517998,304:1.967798140716761,305:1.9677723545564905,306:1.967746737589231,307:1.9677212881552217,308:1.967696004616341,309:1.967670885355754,310:1.9676459287775685,311:1.9676211333064957,312:1.9675964973875213,313:1.967572019485578,314:1.967547698085227,315:1.9675235316903468,316:1.9674995188238256,317:1.9674756580272583,318:1.9674519478606556,319:1.96742838690215,320:1.9674049737477135,321:1.9673817070108799,322:1.9673585853224684,323:1.9673356073303163,324:1.9673127716990173,325:1.9672900771096589,326:1.9672675222595717,327:1.9672451058620788,328:1.9672228266462515,329:1.9672006833566689,330:1.9671786747531816,331:1.9671567996106818,332:1.967135056718874,333:1.9671134448820529,334:1.9670919629188843,335:1.9670706096621893,336:1.967049383958733,337:1.9670282846690177,338:1.9670073106670771,339:1.9669864608402783,340:1.966965734089124,341:1.9669451293270586,342:1.9669246454802793,343:1.9669042814875488,344:1.9668840363000124,345:1.966863908881019,346:1.9668438982059417,347:1.966824003262006,348:1.9668042230481186,349:1.9667845565746986,350:1.9667650028635129,351:1.9667455609475144,352:1.9667262298706825,353:1.966707008687866,354:1.9666878964646288,355:1.9666688922770996,356:1.9666499952118222,357:1.9666312043656085,358:1.9666125188453965,359:1.9665939377681074,360:1.9665754602605063,361:1.9665570854590666,362:1.9665388125098342,363:1.966520640568296,364:1.9665025687992495,365:1.966484596376675,366:1.9664667224836099,367:1.9664489463120245,368:1.9664312670626998,369:1.9664136839451096,370:1.9663961961773,371:1.966378802985776,372:1.9663615036053859,373:1.9663442972792093,374:1.9663271832584475,375:1.9663101608023135,376:1.966293229177927,377:1.9662763876602067,378:1.96625963553177,379:1.9662429720828285,380:1.9662263966110878,381:1.9662099084216513,382:1.9661935068269203,383:1.9661771911465,384:1.9661609607071053,385:1.9661448148424667,386:1.9661287528932416,387:1.9661127742069229,388:1.9660968781377508,389:1.966081064046626,390:1.966065331301024,391:1.966049679274911,392:1.9660341073486605,393:1.9660186149089722,394:1.9660032013487905,395:1.9659878660672256,396:1.9659726084694753,397:1.9659574279667498,398:1.965942323976193,399:1.9659272959208094,400:1.9659123432293915,401:1.9658974653364458,402:1.9658826616821223,403:1.965867931712145,404:1.9658532748777406,405:1.9658386906355727,406:1.9658241784476738,407:1.965809737781378,408:1.9657953681092573,409:1.9657810689090576,410:1.9657668396636336,411:1.965752679860889,412:1.9657385889937122,413:1.9657245665599175,414:1.9657106120621863,415:1.9656967250080057,416:1.9656829049096134,417:1.9656691512839384,418:1.965655463652545,419:1.9656418415415793,420:1.9656282844817121,421:1.9656147920080864,422:1.9656013636602634,423:1.9655879989821707,424:1.9655746975220507,425:1.9655614588324102,426:1.965548282469968,427:1.9655351679956077,428:1.9655221149743287,429:1.9655091229751978,430:1.9654961915712998,431:1.9654833203396942,432:1.9654705088613673,433:1.9654577567211857,434:1.965445063507854,435:1.965432428813868,436:1.9654198522354724,437:1.9654073333726187,438:1.9653948718289207,439:1.9653824672116142,440:1.9653701191315152,441:1.9653578272029781,442:1.9653455910438589,443:1.9653334102754718,444:1.9653212845225516,445:1.9653092134132164,446:1.9652971965789277,447:1.9652852336544535,448:1.9652733242778317,449:1.9652614680903338,450:1.9652496647364275,451:1.9652379138637432,452:1.9652262151230366,453:1.9652145681681563,454:1.9652029726560083,455:1.9651914282465226,456:1.9651799346026202,457:1.9651684913901803,458:1.9651570982780076,459:1.9651457549378,460:1.9651344610441186,461:1.9651232162743548,462:1.9651120203087005,463:1.9651008728301178,464:1.9650897735243085,465:1.9650787220796855,466:1.9650677181873428,467:1.965056761541027,468:1.965045851837109,469:1.965034988774555,470:1.965024172054902,471:1.9650134013822251,472:1.9650026764631154,473:1.9649919970066518,474:1.9649813627243728,475:1.964970773330254,476:1.9649602285406784,477:1.9649497280744153,478:1.9649392716525922,479:1.964928858998672,480:1.9649184898384262,481:1.9649081638999137,482:1.9648978809134563,483:1.9648876406116125,484:1.9648774427291587,485:1.9648672870030628,486:1.9648571731724636,487:1.9648471009786466,488:1.9648370701650248,489:1.9648270804771135,490:1.9648171316625118,491:1.964807223470879,492:1.9647973556539153,493:1.9647875279653397,494:1.9647777401608706,495:1.9647679919982053,496:1.9647582832369994,497:1.9647486136388483,498:1.9647389829672652,499:1.9647293909876653,500:1.9647198374673442,501:1.9647103221754598,502:1.964700844883014,503:1.9646914053628335,504:1.9646820033895525,505:1.964672638739595,506:1.9646633111911553,507:1.9646540205241838,508:1.9646447665203655,509:1.964635548963106,510:1.9646263676375137,511:1.9646172223303833,512:1.9646081128301776,513:1.9645990389270147,514:1.9645900004126484,515:1.9645809970804544,516:1.9645720287254127,517:1.9645630951440949,518:1.964554196134645,519:1.9645453314967691,520:1.9645365010317148,521:1.9645277045422602,522:1.9645189418326983,523:1.964510212708822,524:1.964501516977911,525:1.964492854448715,526:1.9644842249314425,527:1.9644756282377454,528:1.9644670641807058,529:1.964458532574823,530:1.9644500332359982,531:1.9644415659815229,532:1.9644331306300662,533:1.9644247270016604,534:1.964416354917689,535:1.9644080142008735,536:1.9643997046752626,537:1.9643914261662165,538:1.9643831785003991,539:1.9643749615057613,540:1.9643667750115323,541:1.964358618848207,542:1.9643504928475335,543:1.964342396842502,544:1.9643343306673333,545:1.9643262941574684,546:1.9643182871495555,547:1.9643103094814403,548:1.964302360992155,549:1.9642944415219068,550:1.9642865509120675,551:1.9642786890051633,552:1.964270855644863,553:1.9642630506759702,554:1.9642552739444101,555:1.9642475252972216,556:1.9642398045825453,557:1.9642321116496164,558:1.9642244463487513,559:1.9642168085313412,560:1.9642091980498402,561:1.9642016147577568,562:1.964194058509645,563:1.9641865291610932,564:1.9641790265687171,565:1.964171550590149,566:1.9641641010840303,567:1.9641566779100006,568:1.9641492809286911,569:1.964141910001714,570:1.964134564991655,571:1.9641272457620647,572:1.9641199521774493,573:1.964112684103263,574:1.9641054414058998,575:1.9640982239526847,576:1.964091031611867,577:1.9640838642526093,578:1.964076721744983,579:1.9640696039599586,580:1.9640625107693983,581:1.9640554420460483,582:1.9640483976635308,583:1.9640413774963374,584:1.964034381419821,585:1.9640274093101877,586:1.9640204610444916,587:1.9640135365006257,588:1.9640066355573154,589:1.9639997580941106,590:1.963992903991381,591:1.9639860731303063,592:1.9639792653928712,593:1.9639724806618581,594:1.9639657188208401,595:1.9639589797541745,596:1.963952263346997,597:1.963945569485213,598:1.963938898055494,599:1.9639322489452695,600:1.96392562204272,601:1.9639190172367733,602:1.963912434417095,603:1.963905873474085,604:1.9638993342988706,605:1.9638928167832999,606:1.9638863208199362,607:1.9638798463020526,608:1.9638733931236256,609:1.9638669611793291,610:1.9638605503645292,611:1.9638541605752786,612:1.9638477917083106,613:1.963841443661033,614:1.9638351163315244,615:1.9638288096185263,616:1.9638225234214404,617:1.9638162576403206,618:1.96381001217587,619:1.9638037869294331,620:1.9637975818029945,621:1.9637913966991682,622:1.9637852315211985,623:1.9637790861729507,624:1.963772960558908,625:1.9637668545841658,626:1.9637607681544267,627:1.963754701175997,628:1.96374865355578,629:1.9637426252012729,630:1.9637366160205605,631:1.9637306259223126,632:1.9637246548157765,633:1.9637187026107747,634:1.9637127692177012,635:1.9637068545475131,636:1.9637009585117295,637:1.9636950810224274,638:1.9636892219922344,639:1.9636833813343266,640:1.963677558962424,641:1.9636717547907854,642:1.9636659687342057,643:1.96366020070801,644:1.9636544506280507,645:1.9636487184107032,646:1.9636430039728607,647:1.963637307231933,648:1.9636316281058388,649:1.9636259665130043,650:1.9636203223723585,651:1.9636146956033296,652:1.9636090861258415,653:1.9636034938603082,654:1.963597918727633,655:1.9635923606492014,656:1.9635868195468806,657:1.9635812953430134,658:1.9635757879604159,659:1.9635702973223736,660:1.9635648233526377,661:1.9635593659754214,662:1.9635539251153973,663:1.9635485006976923,664:1.9635430926478856,665:1.9635377008920054,666:1.9635323253565247,667:1.9635269659683576,668:1.9635216226548569,669:1.963516295343811,670:1.9635109839634397,671:1.9635056884423918,672:1.9635004087097414,673:1.9634951446949849,674:1.9634898963280374,675:1.9634846635392311,676:1.9634794462593101,677:1.9634742444194289,678:1.9634690579511493,679:1.9634638867864362,680:1.9634587308576554,681:1.9634535900975714,682:1.9634484644393435,683:1.9634433538165224,684:1.963438258163049,685:1.96343317741325,686:1.963428111501836,687:1.9634230603638985,688:1.9634180239349066,689:1.9634130021507055,690:1.9634079949475116,691:1.9634030022619122,692:1.9633980240308617,693:1.9633930601916791,694:1.963388110682045,695:1.9633831754399986,696:1.963378254403937,697:1.9633733475126116,698:1.9633684547051236,699:1.9633635759209254,700:1.9633587110998145,701:1.9633538601819331,702:1.9633490231077657,703:1.9633441998181338,704:1.9633393902541987,705:1.9633345943574538,706:1.9633298120697256,707:1.96332504333317,708:1.9633202880902698,709:1.9633155462838343,710:1.963310817856994,711:1.9633061027532,712:1.9633014009162226,713:1.9632967122901475,714:1.9632920368193745,715:1.963287374448614,716:1.9632827251228866,717:1.9632780887875207,718:1.9632734653881478,719:1.963268854870705,720:1.963264257181428,721:1.9632596722668525,722:1.9632551000738105,723:1.9632505405494287,724:1.963245993641126,725:1.963241459296613,726:1.9632369374638876,727:1.963232428091235,728:1.9632279311272245,729:1.963223446520709,730:1.9632189742208208,731:1.963214514176972,732:1.9632100663388516,733:1.9632056306564227,734:1.9632012070799227,735:1.9631967955598593,736:1.9631923960470097,737:1.9631880084924196,738:1.9631836328473993,739:1.9631792690635235,740:1.9631749170926298,741:1.9631705768868148,742:1.9631662483984351,743:1.9631619315801037,744:1.9631576263846882,745:1.9631533327653103,746:1.9631490506753435,747:1.963144780068411,748:1.963140520898385,749:1.9631362731193833,750:1.9631320366857699,751:1.9631278115521522,752:1.9631235976733785,753:1.9631193950045382,754:1.963115203500959,755:1.963111023118206,756:1.9631068538120793,757:1.963102695538613,758:1.963098548254074,759:1.963094411914959,760:1.963090286477995,761:1.9630861719001376,762:1.9630820681385661,763:1.963077975150687,764:1.963073892894129,765:1.9630698213267435,766:1.9630657604066017,767:1.9630617100919938,768:1.9630576703414275,769:1.9630536411136277,770:1.9630496223675324,771:1.963045614062295,772:1.963041616157278,773:1.9630376286120574,774:1.9630336513864166,775:1.9630296844403485,776:1.9630257277340504,777:1.9630217812279265,778:1.9630178448825841,779:1.963013918658834,780:1.9630100025176869,781:1.9630060964203544,782:1.9630022003282468,783:1.9629983142029712,784:1.9629944380063318,785:1.962990571700327,786:1.9629867152471494,787:1.9629828686091835,788:1.9629790317490055,789:1.962975204629381,790:1.9629713872132657,791:1.9629675794638015,792:1.962963781344317,793:1.9629599928183272,794:1.9629562138495296,795:1.9629524444018054,796:1.9629486844392179,797:1.9629449339260105,798:1.9629411928266058,799:1.962937461105606,800:1.9629337387277892,801:1.9629300256581104,802:1.9629263218616995,803:1.9629226273038602,804:1.9629189419500692,805:1.9629152657659752,806:1.9629115987173975,807:1.9629079407703247,808:1.9629042918909145,809:1.9629006520454917,810:1.9628970212005485,811:1.9628933993227415,812:1.9628897863788926,813:1.9628861823359869,814:1.962882587161172,815:1.9628790008217571,816:1.9628754232852115,817:1.9628718545191641,818:1.9628682944914029,819:1.9628647431698727,820:1.9628612005226753,821:1.9628576665180681,822:1.9628541411244633,823:1.9628506243104265,824:1.962847116044676,825:1.962843616296083,826:1.9628401250336684,827:1.9628366422266041,828:1.9628331678442101,829:1.962829701855956,830:1.9628262442314577,831:1.9628227949404782,832:1.9628193539529253,833:1.962815921238852,834:1.9628124967684557,835:1.962809080512076,836:1.9628056724401943,837:1.962802272523434,838:1.9627988807325591,839:1.9627954970384724,840:1.9627921214122162,841:1.96278875382497,842:1.9627853942480507,843:1.9627820426529121,844:1.9627786990111424,845:1.9627753632944653,846:1.962772035474738,847:1.962768715523951,848:1.962765403414227,849:1.9627620991178198,850:1.9627588026071152,851:1.9627555138546275,852:1.9627522328330012,853:1.962748959515009,854:1.962745693873551,855:1.9627424358816548,856:1.9627391855124732,857:1.9627359427392859,858:1.9627327075354966,859:1.9627294798746329,860:1.9627262597303463,861:1.9627230470764099,862:1.962719841886719,863:1.962716644135291,864:1.9627134537962623,865:1.9627102708438906,866:1.9627070952525512,867:1.9627039269967388,868:1.9627007660510651,869:1.9626976123902597,870:1.9626944659891674,871:1.9626913268227497,872:1.9626881948660826,873:1.9626850700943568,874:1.9626819524828756,875:1.9626788420070573,876:1.962675738642431,877:1.9626726423646375,878:1.9626695531494305,879:1.962666470972672,880:1.9626633958103352,881:1.9626603276385024,882:1.962657266433364,883:1.962654212171219,884:1.962651164828473,885:1.962648124381639,886:1.962645090807336,887:1.9626420640822897,888:1.9626390441833281,889:1.9626360310873863,890:1.9626330247715016,891:1.962630025212815,892:1.962627032388571,893:1.9626240462761142,894:1.9626210668528927,895:1.9626180940964544,896:1.9626151279844477,897:1.9626121684946207,898:1.9626092156048216,899:1.9626062692929966,900:1.9626033295371899,901:1.9626003963155434,902:1.9625974696062964,903:1.9625945493877848,904:1.9625916356384394,905:1.9625887283367882,906:1.9625858274614525,907:1.962582932991149,908:1.9625800449046875,909:1.9625771631809725,910:1.962574287799,911:1.9625714187378587,912:1.9625685559767294,913:1.9625656994948841,914:1.9625628492716856,915:1.9625600052865868,916:1.9625571675191313,917:1.9625543359489512,918:1.9625515105557676,919:1.9625486913193901,920:1.9625458782197165,921:1.9625430712367309,922:1.962540270350506,923:1.9625374755412,924:1.962534686789057,925:1.962531904074407,926:1.9625291273776646,927:1.96252635667933,928:1.9625235919599864,929:1.962520833200302,930:1.9625180803810265,931:1.962515333482994,932:1.9625125924871198,933:1.9625098573744026,934:1.9625071281259212,935:1.962504404722836,936:1.9625016871463874,937:1.9624989753778976,938:1.9624962693987664,939:1.9624935691904748,940:1.9624908747345817,941:1.9624881860127243,942:1.9624855030066184,943:1.9624828256980582,944:1.962480154068913,945:1.962477488101131,946:1.962474827776736,947:1.9624721730778274,948:1.962469523986581,949:1.9624668804852476,950:1.9624642425561525,951:1.962461610181696,952:1.9624589833443515,953:1.9624563620266673,954:1.9624537462112641,955:1.9624511358808356,956:1.9624485310181483,957:1.9624459316060407,958:1.9624433376274224,959:1.9624407490652758,960:1.9624381659026522,961:1.9624355881226763,962:1.962433015708541,963:1.9624304486435091,964:1.9624278869109137,965:1.9624253304941575,966:1.9624227793767104,967:1.9624202335421121,968:1.9624176929739703,969:1.9624151576559599,970:1.962412627571823,971:1.9624101027053702,972:1.9624075830404768,973:1.9624050685610865,974:1.962402559251207,975:1.9624000550949139,976:1.9623975560763454,977:1.962395062179708,978:1.9623925733892695,979:1.9623900896893647,980:1.9623876110643914,981:1.9623851374988106,982:1.9623826689771475,983:1.96238020548399,984:1.9623777470039887,985:1.962375293521857,986:1.9623728450223694,987:1.9623704014903631,988:1.9623679629107367,989:1.9623655292684494,990:1.9623631005485223,991:1.9623606767360353,992:1.9623582578161303,993:1.9623558437740083,994:1.9623534345949294,995:1.9623510302642144,996:1.9623486307672415,997:1.9623462360894495,998:1.962343846216334,999:1.962341461133449,1000:1.9623390808264078,1001:1.9623367052808791,1002:1.9623343344825908,1003:1.962331968417326,1004:1.9623296070709262,1005:1.9623272504292881,1006:1.9623248984783654,1007:1.9623225512041673,1008:1.9623202085927578,1009:1.9623178706302578,1010:1.9623155373028418,1011:1.9623132085967403,1012:1.962310884498237,1013:1.962308564993671,1014:1.962306250069434,1015:1.9623039397119733,1016:1.9623016339077874,1017:1.9622993326434304,1018:1.962297035905507,1019:1.9622947436806755,1020:1.9622924559556474,1021:1.962290172717185,1022:1.9622878939521027,1023:1.9622856196472673,1024:1.962283349789597,infinity:1.96},V6=128,x=128,A=1e9,I6=12,d=8;var z6=require("node:child_process"),N6=require("node:v8"),R6=require("node:vm");var m6=!!globalThis.Bun||!!globalThis.process?.versions?.bun,r6=!!globalThis.Deno,p6=globalThis.process?.release?.name==="node",a6=!!globalThis.navigator,E=(()=>{if(m6)return y.bun;if(r6)return y.deno;if(p6)return y.node;if(a6)return y.browser;return"unknown"})();function e(L){if(L<1)return(L*1000).toFixed(2);if(L<1000)return L.toFixed(2);if(L/=1000,L<1000)return L.toFixed(2);if(L/=1000,L<1000)return L.toFixed(2);if(L/=1000,L<1000)return L.toFixed(2);if(L/=60,L<1000)return L.toFixed(2);return L/=60,L.toFixed(2)}var W=(L)=>{return typeof L==="function"},o=(async()=>{}).constructor,T=(L)=>{return o===L.constructor},v=(L)=>{return Object.prototype.toString.call(L).slice(8,-1)==="Object"},_=(L)=>{if(L==null)throw new TypeError(`Invalid dividend: ${L}`);if(typeof L!=="number")throw new TypeError(`expected number, got ${L.constructor.name}`);if(L===0||Number.isNaN(L))throw new RangeError(`Invalid dividend: ${L}`);return L};var s=(L,H=F(L))=>{return L.reduce((J,K)=>J+(K-H)**2,0)/_(L.length-1)},R=(L,H)=>{if(!Array.isArray(L))throw new TypeError(`expected array, got ${L.constructor.name}`);if(L.length===0)throw new Error("expected non-empty array, got empty array");if(H<0||H>1)throw new Error("q must be between 0 and 1");if(H===0)return L[0];if(H===1)return L[L.length-1];const J=(L.length-1)*H,K=Math.floor(J);if(L[K+1]!=null)return L[K]+(J-K)*(L[K+1]-L[K]);return L[K]},h=(L)=>R(L,0.5),F=(L)=>{if(!Array.isArray(L))throw new TypeError(`expected array, got ${L.constructor.name}`);if(L.length===0)throw new Error("expected non-empty array, got empty array");return L.reduce((H,J)=>H+J,0)/L.length},b=(L,H)=>{const J=H(L),K=[];for(let X of L)K.push(Math.abs(X-J));return H(K)},T6=(L,H,J,K)=>{return L/_(J)*Math.sqrt((H/_(L))**2+(K/_(J))**2)};var f=(()=>{return{unknown:()=>{try{const L=performance.now.bind(performance);return L(),()=>1e6*L()}catch{return()=>1e6*Date.now()}},browser:()=>{try{return $.agent.monotonicNow(),()=>1e6*$.agent.monotonicNow()}catch{}try{return $262.agent.monotonicNow(),()=>1e6*$262.agent.monotonicNow()}catch{}return()=>1e6*performance.now()},node:()=>()=>Number(process.hrtime.bigint()),deno:()=>()=>1e6*performance.now(),bun:()=>Bun.nanoseconds}[E]()})();async function B6(L,H={}){if(c(L,H),H.async!=null&&typeof H.async!=="boolean")throw new TypeError(`expected boolean as 'async' option, got ${H.async.constructor.name}`);H.async=H.async??T(L),H.time=H.time??A,H.samples=H.samples??x,H.warmup=typeof H.warmup==="number"?H.warmup:H.warmup===!0?I6:0,H.now=H.now??f,H.before=H.before??U,H.after=H.after??U;const J=T(H.before),K=T(H.after),X=H.async||J||K,Q=new(X?o:Function)("$fn","$before","$after","$now",` | ||
${!H.warmup?"":` | ||
${J?"await":""} \$before(); | ||
for (let i = 0; i < ${H.warmup}; i++) { | ||
var b6=Object.create;var{getPrototypeOf:u6,defineProperty:g,getOwnPropertyNames:V6,getOwnPropertyDescriptor:i6}=Object,C6=Object.prototype.hasOwnProperty;var R=(H,J,K)=>{K=H!=null?b6(u6(H)):{};const Q=J||!H||!H.__esModule?g(K,"default",{value:H,enumerable:!0}):K;for(let Y of V6(H))if(!C6.call(Q,Y))g(Q,Y,{get:()=>H[Y],enumerable:!0});return Q},E6=new WeakMap,l6=(H)=>{var J=E6.get(H),K;if(J)return J;if(J=g({},"__esModule",{value:!0}),H&&typeof H==="object"||typeof H==="function")V6(H).map((Q)=>!C6.call(J,Q)&&g(J,Q,{get:()=>H[Q],enumerable:!(K=i6(H,Q))||K.enumerable}));return E6.set(H,J),J};var c6=(H,J)=>{for(var K in J)g(H,K,{get:J[K],enumerable:!0,configurable:!0,set:(Q)=>J[K]=()=>Q})};var $$={};c6($$,{run:()=>y6,group:()=>f6,bmf:()=>U6,bench:()=>S6,baseline:()=>g6});module.exports=l6($$);var y={bun:"bun",deno:"deno",node:"node",hermes:"hermes",workerd:"workerd",browser:"browser"},W=()=>{},d="$tatami-ng_group",N=Object.freeze({1:12.706204736432102,2:4.3026527299112765,3:3.182446305284264,4:2.7764451051977996,5:2.57058183661474,6:2.446911848791681,7:2.3646242510102997,8:2.306004135033371,9:2.262157162740992,10:2.2281388519649385,11:2.200985160082949,12:2.178812829663418,13:2.160368656461013,14:2.1447866879169277,15:2.131449545559323,16:2.1199052992210112,17:2.109815577833181,18:2.10092204024096,19:2.0930240544082634,20:2.085963447265837,21:2.0796138447276626,22:2.073873067904015,23:2.068657610419041,24:2.063898561628021,25:2.0595385527532946,26:2.0555294386428713,27:2.0518305164802837,28:2.048407141795244,29:2.0452296421327034,30:2.042272456301238,31:2.0395134463964077,32:2.0369333434601016,33:2.0345152974493383,34:2.0322445093177186,35:2.030107928250343,36:2.0280940009804507,37:2.0261924630291097,38:2.0243941645751367,39:2.0226909117347285,40:2.021075382995338,41:2.019540963982894,42:2.0180816970958815,43:2.0166921941428138,44:2.0153675699129416,45:2.0141033848332928,46:2.012895595294589,47:2.011740510475755,48:2.010634754696446,49:2.0095752344892093,50:2.0085591097152062,51:2.0075837681558824,52:2.0066468031022118,53:2.00574599353695,54:2.0048792865665233,55:2.0040447818101814,56:2.003240717496698,57:2.002465458054599,58:2.0017174830120927,59:2.0009953770482105,60:2.000297821058262,61:1.9996235841149783,62:1.9989715162223116,63:1.998340541772196,64:1.9977296536259739,65:1.9971379077520126,66:1.9965644183594748,67:1.996008353475506,68:1.9954689309194023,69:1.994945414632814,70:1.9944371113297732,71:1.9939433674345044,72:1.9934635662785831,73:1.9929971255321668,74:1.9925434948468204,75:1.9921021536898658,76:1.9916726093523491,77:1.9912543951146042,78:1.9908470685550523,79:1.9904502099893606,80:1.9900634210283845,81:1.9896863232444832,82:1.989318556936819,83:1.9889597799871794,84:1.9886096667986737,85:1.988267907310378,86:1.9879342060816723,87:1.9876082814405773,88:1.987289864690939,89:1.9869786993737681,90:1.9866745405784685,91:1.9863771543000652,92:1.9860863168388938,93:1.985801814239503,94:1.9855234417658303,95:1.9852510034099267,96:1.9849843114317696,97:1.9847231859278835,98:1.9844674544266925,99:1.9842169515086832,100:1.983971518449634,101:1.9837310028852815,102:1.9834952584959407,103:1.9832641447097104,104:1.9830375264229902,105:1.9828152737371547,106:1.9825972617102912,107:1.9823833701230178,108:1.9821734832574516,109:1.9819674896884745,110:1.9817652820865104,111:1.981566757031071,112:1.9813718148344008,113:1.9811803593745805,114:1.9809922979375068,115:1.9808075410672004,116:1.980626002423938,117:1.9804475986497296,118:1.9802722492407063,119:1.9800998764260065,120:1.979930405052777,121:1.9797637624769306,122:1.9795998784593314,123:1.97943868506709,124:1.979280116579683,125:1.9791241093996175,126:1.9789706019673938,127:1.978819534680521,128:1.9786708498163625,129:1.9785244914586055,130:1.9783804054271532,131:1.9782385392112587,132:1.9780988419057237,133:1.977961264150002,134:1.9778257580700531,135:1.9776922772228045,136:1.9775607765430836,137:1.977431212292894,138:1.9773035420129166,139:1.9771777244761224,140:1.9770537196433886,141:1.9769314886210223,142:1.97681099362009,143:1.9766921979174685,144:1.9765750658185368,145:1.9764595626214163,146:1.9763456545827007,147:1.9762333088845883,148:1.9761224936033637,149:1.9760131776791554,150:1.9759053308869141,151:1.9757989238085507,152:1.975693927806187,153:1.9755903149964589,154:1.9754880582258323,155:1.9753871310468787,156:1.9752875076954728,157:1.9751891630688665,158:1.9750920727046015,159:1.9749962127602256,160:1.9749015599937723,161:1.9748080917449764,162:1.9747157859171882,163:1.9746246209599583,164:1.9745345758522659,165:1.9744456300863593,166:1.9743577636521858,167:1.9742709570223849,168:1.974185191137821,169:1.9741004473936339,170:1.9740167076257829,171:1.9739339540980692,172:1.9738521694896138,173:1.9737713368827694,174:1.9736914397514562,175:1.9736124619498976,176:1.9735343877017435,177:1.9734572015895646,178:1.9733808885447033,179:1.9733054338374667,180:1.973230823067649,181:1.9731570421553692,182:1.9730840773322162,183:1.9730119151326795,184:1.9729405423858692,185:1.9728699462074992,186:1.9728001139921352,187:1.9727310334056907,188:1.9726626923781656,189:1.9725950790966158,190:1.9725281819983451,191:1.972461989764315,192:1.9723964913127596,193:1.9723316757930012,194:1.9722675325794565,195:1.972204051265833,196:1.9721412216594971,197:1.9720790337760221,198:1.972017477833896,199:1.9719565442493954,200:1.9718962236316093,201:1.9718365067776158,202:1.971777384667801,203:1.971718848461318,204:1.9716608894916787,205:1.971603499262479,206:1.9715466694432433,207:1.9714903918653972,208:1.9714346585183509,209:1.9713794615456992,210:1.9713247932415296,211:1.9712706460468354,212:1.9712170125460335,213:1.9711638854635767,214:1.971111257660664,215:1.9710591221320446,216:1.9710074720029072,217:1.97095630052586,218:1.9709056010779908,219:1.9708553671580111,220:1.9708055923834753,221:1.970756270488079,222:1.9707073953190282,223:1.9706589608344816,224:1.9706109611010594,225:1.9705633902914228,226:1.9705162426819125,227:1.9704695126502556,228:1.9704231946733297,229:1.9703772833249869,230:1.9703317732739336,231:1.9702866592816697,232:1.9702419362004757,233:1.9701975989714555,234:1.9701536426226303,235:1.9701100622670775,236:1.9700668531011214,237:1.9700240104025675,238:1.9699815295289818,239:1.969939405916016,240:1.9698976350757686,241:1.9698562125951948,242:1.9698151341345516,243:1.9697743954258797,244:1.9697339922715287,245:1.9696939205427133,246:1.9696541761781068,247:1.9696147551824699,248:1.9695756536253115,249:1.9695368676395828,250:1.9694983934204007,251:1.9694602272238055,252:1.9694223653655467,253:1.969384804219895,254:1.9693475402184863,255:1.9693105698491933,256:1.9692738896550193,257:1.9692374962330224,258:1.9692013862332616,259:1.9691655563577715,260:1.9691300033595551,261:1.9690947240416052,262:1.9690597152559448,263:1.9690249739026924,264:1.9689904969291443,265:1.968956281328883,266:1.9689223241409022,267:1.9688886224487527,268:1.9688551733797075,269:1.968821974103945,270:1.9687890218337525,271:1.968756313822743,272:1.968723847365097,273:1.9686916197948103,274:1.9686596284849691,275:1.9686278708470335,276:1.9685963443301415,277:1.968565046420423,278:1.9685339746403347,279:1.9685031265480044,280:1.9684724997365923,281:1.968442091833664,282:1.968411900500579,283:1.9683819234318907,284:1.9683521583547587,285:1.9683226030283762,286:1.9682932552434063,287:1.968264112821431,288:1.9682351736144144,289:1.9682064355041722,290:1.968177896401857,291:1.968149554247451,292:1.9681214070092705,293:1.9680934526834821,294:1.9680656892936232,295:1.968038114890141,296:1.9680107275499321,297:1.9679835253758984,298:1.967956506496507,299:1.9679296690653623,300:1.9679030112607847,301:1.9678765312853979,302:1.967850227365727,303:1.9678240977517998,304:1.967798140716761,305:1.9677723545564905,306:1.967746737589231,307:1.9677212881552217,308:1.967696004616341,309:1.967670885355754,310:1.9676459287775685,311:1.9676211333064957,312:1.9675964973875213,313:1.967572019485578,314:1.967547698085227,315:1.9675235316903468,316:1.9674995188238256,317:1.9674756580272583,318:1.9674519478606556,319:1.96742838690215,320:1.9674049737477135,321:1.9673817070108799,322:1.9673585853224684,323:1.9673356073303163,324:1.9673127716990173,325:1.9672900771096589,326:1.9672675222595717,327:1.9672451058620788,328:1.9672228266462515,329:1.9672006833566689,330:1.9671786747531816,331:1.9671567996106818,332:1.967135056718874,333:1.9671134448820529,334:1.9670919629188843,335:1.9670706096621893,336:1.967049383958733,337:1.9670282846690177,338:1.9670073106670771,339:1.9669864608402783,340:1.966965734089124,341:1.9669451293270586,342:1.9669246454802793,343:1.9669042814875488,344:1.9668840363000124,345:1.966863908881019,346:1.9668438982059417,347:1.966824003262006,348:1.9668042230481186,349:1.9667845565746986,350:1.9667650028635129,351:1.9667455609475144,352:1.9667262298706825,353:1.966707008687866,354:1.9666878964646288,355:1.9666688922770996,356:1.9666499952118222,357:1.9666312043656085,358:1.9666125188453965,359:1.9665939377681074,360:1.9665754602605063,361:1.9665570854590666,362:1.9665388125098342,363:1.966520640568296,364:1.9665025687992495,365:1.966484596376675,366:1.9664667224836099,367:1.9664489463120245,368:1.9664312670626998,369:1.9664136839451096,370:1.9663961961773,371:1.966378802985776,372:1.9663615036053859,373:1.9663442972792093,374:1.9663271832584475,375:1.9663101608023135,376:1.966293229177927,377:1.9662763876602067,378:1.96625963553177,379:1.9662429720828285,380:1.9662263966110878,381:1.9662099084216513,382:1.9661935068269203,383:1.9661771911465,384:1.9661609607071053,385:1.9661448148424667,386:1.9661287528932416,387:1.9661127742069229,388:1.9660968781377508,389:1.966081064046626,390:1.966065331301024,391:1.966049679274911,392:1.9660341073486605,393:1.9660186149089722,394:1.9660032013487905,395:1.9659878660672256,396:1.9659726084694753,397:1.9659574279667498,398:1.965942323976193,399:1.9659272959208094,400:1.9659123432293915,401:1.9658974653364458,402:1.9658826616821223,403:1.965867931712145,404:1.9658532748777406,405:1.9658386906355727,406:1.9658241784476738,407:1.965809737781378,408:1.9657953681092573,409:1.9657810689090576,410:1.9657668396636336,411:1.965752679860889,412:1.9657385889937122,413:1.9657245665599175,414:1.9657106120621863,415:1.9656967250080057,416:1.9656829049096134,417:1.9656691512839384,418:1.965655463652545,419:1.9656418415415793,420:1.9656282844817121,421:1.9656147920080864,422:1.9656013636602634,423:1.9655879989821707,424:1.9655746975220507,425:1.9655614588324102,426:1.965548282469968,427:1.9655351679956077,428:1.9655221149743287,429:1.9655091229751978,430:1.9654961915712998,431:1.9654833203396942,432:1.9654705088613673,433:1.9654577567211857,434:1.965445063507854,435:1.965432428813868,436:1.9654198522354724,437:1.9654073333726187,438:1.9653948718289207,439:1.9653824672116142,440:1.9653701191315152,441:1.9653578272029781,442:1.9653455910438589,443:1.9653334102754718,444:1.9653212845225516,445:1.9653092134132164,446:1.9652971965789277,447:1.9652852336544535,448:1.9652733242778317,449:1.9652614680903338,450:1.9652496647364275,451:1.9652379138637432,452:1.9652262151230366,453:1.9652145681681563,454:1.9652029726560083,455:1.9651914282465226,456:1.9651799346026202,457:1.9651684913901803,458:1.9651570982780076,459:1.9651457549378,460:1.9651344610441186,461:1.9651232162743548,462:1.9651120203087005,463:1.9651008728301178,464:1.9650897735243085,465:1.9650787220796855,466:1.9650677181873428,467:1.965056761541027,468:1.965045851837109,469:1.965034988774555,470:1.965024172054902,471:1.9650134013822251,472:1.9650026764631154,473:1.9649919970066518,474:1.9649813627243728,475:1.964970773330254,476:1.9649602285406784,477:1.9649497280744153,478:1.9649392716525922,479:1.964928858998672,480:1.9649184898384262,481:1.9649081638999137,482:1.9648978809134563,483:1.9648876406116125,484:1.9648774427291587,485:1.9648672870030628,486:1.9648571731724636,487:1.9648471009786466,488:1.9648370701650248,489:1.9648270804771135,490:1.9648171316625118,491:1.964807223470879,492:1.9647973556539153,493:1.9647875279653397,494:1.9647777401608706,495:1.9647679919982053,496:1.9647582832369994,497:1.9647486136388483,498:1.9647389829672652,499:1.9647293909876653,500:1.9647198374673442,501:1.9647103221754598,502:1.964700844883014,503:1.9646914053628335,504:1.9646820033895525,505:1.964672638739595,506:1.9646633111911553,507:1.9646540205241838,508:1.9646447665203655,509:1.964635548963106,510:1.9646263676375137,511:1.9646172223303833,512:1.9646081128301776,513:1.9645990389270147,514:1.9645900004126484,515:1.9645809970804544,516:1.9645720287254127,517:1.9645630951440949,518:1.964554196134645,519:1.9645453314967691,520:1.9645365010317148,521:1.9645277045422602,522:1.9645189418326983,523:1.964510212708822,524:1.964501516977911,525:1.964492854448715,526:1.9644842249314425,527:1.9644756282377454,528:1.9644670641807058,529:1.964458532574823,530:1.9644500332359982,531:1.9644415659815229,532:1.9644331306300662,533:1.9644247270016604,534:1.964416354917689,535:1.9644080142008735,536:1.9643997046752626,537:1.9643914261662165,538:1.9643831785003991,539:1.9643749615057613,540:1.9643667750115323,541:1.964358618848207,542:1.9643504928475335,543:1.964342396842502,544:1.9643343306673333,545:1.9643262941574684,546:1.9643182871495555,547:1.9643103094814403,548:1.964302360992155,549:1.9642944415219068,550:1.9642865509120675,551:1.9642786890051633,552:1.964270855644863,553:1.9642630506759702,554:1.9642552739444101,555:1.9642475252972216,556:1.9642398045825453,557:1.9642321116496164,558:1.9642244463487513,559:1.9642168085313412,560:1.9642091980498402,561:1.9642016147577568,562:1.964194058509645,563:1.9641865291610932,564:1.9641790265687171,565:1.964171550590149,566:1.9641641010840303,567:1.9641566779100006,568:1.9641492809286911,569:1.964141910001714,570:1.964134564991655,571:1.9641272457620647,572:1.9641199521774493,573:1.964112684103263,574:1.9641054414058998,575:1.9640982239526847,576:1.964091031611867,577:1.9640838642526093,578:1.964076721744983,579:1.9640696039599586,580:1.9640625107693983,581:1.9640554420460483,582:1.9640483976635308,583:1.9640413774963374,584:1.964034381419821,585:1.9640274093101877,586:1.9640204610444916,587:1.9640135365006257,588:1.9640066355573154,589:1.9639997580941106,590:1.963992903991381,591:1.9639860731303063,592:1.9639792653928712,593:1.9639724806618581,594:1.9639657188208401,595:1.9639589797541745,596:1.963952263346997,597:1.963945569485213,598:1.963938898055494,599:1.9639322489452695,600:1.96392562204272,601:1.9639190172367733,602:1.963912434417095,603:1.963905873474085,604:1.9638993342988706,605:1.9638928167832999,606:1.9638863208199362,607:1.9638798463020526,608:1.9638733931236256,609:1.9638669611793291,610:1.9638605503645292,611:1.9638541605752786,612:1.9638477917083106,613:1.963841443661033,614:1.9638351163315244,615:1.9638288096185263,616:1.9638225234214404,617:1.9638162576403206,618:1.96381001217587,619:1.9638037869294331,620:1.9637975818029945,621:1.9637913966991682,622:1.9637852315211985,623:1.9637790861729507,624:1.963772960558908,625:1.9637668545841658,626:1.9637607681544267,627:1.963754701175997,628:1.96374865355578,629:1.9637426252012729,630:1.9637366160205605,631:1.9637306259223126,632:1.9637246548157765,633:1.9637187026107747,634:1.9637127692177012,635:1.9637068545475131,636:1.9637009585117295,637:1.9636950810224274,638:1.9636892219922344,639:1.9636833813343266,640:1.963677558962424,641:1.9636717547907854,642:1.9636659687342057,643:1.96366020070801,644:1.9636544506280507,645:1.9636487184107032,646:1.9636430039728607,647:1.963637307231933,648:1.9636316281058388,649:1.9636259665130043,650:1.9636203223723585,651:1.9636146956033296,652:1.9636090861258415,653:1.9636034938603082,654:1.963597918727633,655:1.9635923606492014,656:1.9635868195468806,657:1.9635812953430134,658:1.9635757879604159,659:1.9635702973223736,660:1.9635648233526377,661:1.9635593659754214,662:1.9635539251153973,663:1.9635485006976923,664:1.9635430926478856,665:1.9635377008920054,666:1.9635323253565247,667:1.9635269659683576,668:1.9635216226548569,669:1.963516295343811,670:1.9635109839634397,671:1.9635056884423918,672:1.9635004087097414,673:1.9634951446949849,674:1.9634898963280374,675:1.9634846635392311,676:1.9634794462593101,677:1.9634742444194289,678:1.9634690579511493,679:1.9634638867864362,680:1.9634587308576554,681:1.9634535900975714,682:1.9634484644393435,683:1.9634433538165224,684:1.963438258163049,685:1.96343317741325,686:1.963428111501836,687:1.9634230603638985,688:1.9634180239349066,689:1.9634130021507055,690:1.9634079949475116,691:1.9634030022619122,692:1.9633980240308617,693:1.9633930601916791,694:1.963388110682045,695:1.9633831754399986,696:1.963378254403937,697:1.9633733475126116,698:1.9633684547051236,699:1.9633635759209254,700:1.9633587110998145,701:1.9633538601819331,702:1.9633490231077657,703:1.9633441998181338,704:1.9633393902541987,705:1.9633345943574538,706:1.9633298120697256,707:1.96332504333317,708:1.9633202880902698,709:1.9633155462838343,710:1.963310817856994,711:1.9633061027532,712:1.9633014009162226,713:1.9632967122901475,714:1.9632920368193745,715:1.963287374448614,716:1.9632827251228866,717:1.9632780887875207,718:1.9632734653881478,719:1.963268854870705,720:1.963264257181428,721:1.9632596722668525,722:1.9632551000738105,723:1.9632505405494287,724:1.963245993641126,725:1.963241459296613,726:1.9632369374638876,727:1.963232428091235,728:1.9632279311272245,729:1.963223446520709,730:1.9632189742208208,731:1.963214514176972,732:1.9632100663388516,733:1.9632056306564227,734:1.9632012070799227,735:1.9631967955598593,736:1.9631923960470097,737:1.9631880084924196,738:1.9631836328473993,739:1.9631792690635235,740:1.9631749170926298,741:1.9631705768868148,742:1.9631662483984351,743:1.9631619315801037,744:1.9631576263846882,745:1.9631533327653103,746:1.9631490506753435,747:1.963144780068411,748:1.963140520898385,749:1.9631362731193833,750:1.9631320366857699,751:1.9631278115521522,752:1.9631235976733785,753:1.9631193950045382,754:1.963115203500959,755:1.963111023118206,756:1.9631068538120793,757:1.963102695538613,758:1.963098548254074,759:1.963094411914959,760:1.963090286477995,761:1.9630861719001376,762:1.9630820681385661,763:1.963077975150687,764:1.963073892894129,765:1.9630698213267435,766:1.9630657604066017,767:1.9630617100919938,768:1.9630576703414275,769:1.9630536411136277,770:1.9630496223675324,771:1.963045614062295,772:1.963041616157278,773:1.9630376286120574,774:1.9630336513864166,775:1.9630296844403485,776:1.9630257277340504,777:1.9630217812279265,778:1.9630178448825841,779:1.963013918658834,780:1.9630100025176869,781:1.9630060964203544,782:1.9630022003282468,783:1.9629983142029712,784:1.9629944380063318,785:1.962990571700327,786:1.9629867152471494,787:1.9629828686091835,788:1.9629790317490055,789:1.962975204629381,790:1.9629713872132657,791:1.9629675794638015,792:1.962963781344317,793:1.9629599928183272,794:1.9629562138495296,795:1.9629524444018054,796:1.9629486844392179,797:1.9629449339260105,798:1.9629411928266058,799:1.962937461105606,800:1.9629337387277892,801:1.9629300256581104,802:1.9629263218616995,803:1.9629226273038602,804:1.9629189419500692,805:1.9629152657659752,806:1.9629115987173975,807:1.9629079407703247,808:1.9629042918909145,809:1.9629006520454917,810:1.9628970212005485,811:1.9628933993227415,812:1.9628897863788926,813:1.9628861823359869,814:1.962882587161172,815:1.9628790008217571,816:1.9628754232852115,817:1.9628718545191641,818:1.9628682944914029,819:1.9628647431698727,820:1.9628612005226753,821:1.9628576665180681,822:1.9628541411244633,823:1.9628506243104265,824:1.962847116044676,825:1.962843616296083,826:1.9628401250336684,827:1.9628366422266041,828:1.9628331678442101,829:1.962829701855956,830:1.9628262442314577,831:1.9628227949404782,832:1.9628193539529253,833:1.962815921238852,834:1.9628124967684557,835:1.962809080512076,836:1.9628056724401943,837:1.962802272523434,838:1.9627988807325591,839:1.9627954970384724,840:1.9627921214122162,841:1.96278875382497,842:1.9627853942480507,843:1.9627820426529121,844:1.9627786990111424,845:1.9627753632944653,846:1.962772035474738,847:1.962768715523951,848:1.962765403414227,849:1.9627620991178198,850:1.9627588026071152,851:1.9627555138546275,852:1.9627522328330012,853:1.962748959515009,854:1.962745693873551,855:1.9627424358816548,856:1.9627391855124732,857:1.9627359427392859,858:1.9627327075354966,859:1.9627294798746329,860:1.9627262597303463,861:1.9627230470764099,862:1.962719841886719,863:1.962716644135291,864:1.9627134537962623,865:1.9627102708438906,866:1.9627070952525512,867:1.9627039269967388,868:1.9627007660510651,869:1.9626976123902597,870:1.9626944659891674,871:1.9626913268227497,872:1.9626881948660826,873:1.9626850700943568,874:1.9626819524828756,875:1.9626788420070573,876:1.962675738642431,877:1.9626726423646375,878:1.9626695531494305,879:1.962666470972672,880:1.9626633958103352,881:1.9626603276385024,882:1.962657266433364,883:1.962654212171219,884:1.962651164828473,885:1.962648124381639,886:1.962645090807336,887:1.9626420640822897,888:1.9626390441833281,889:1.9626360310873863,890:1.9626330247715016,891:1.962630025212815,892:1.962627032388571,893:1.9626240462761142,894:1.9626210668528927,895:1.9626180940964544,896:1.9626151279844477,897:1.9626121684946207,898:1.9626092156048216,899:1.9626062692929966,900:1.9626033295371899,901:1.9626003963155434,902:1.9625974696062964,903:1.9625945493877848,904:1.9625916356384394,905:1.9625887283367882,906:1.9625858274614525,907:1.962582932991149,908:1.9625800449046875,909:1.9625771631809725,910:1.962574287799,911:1.9625714187378587,912:1.9625685559767294,913:1.9625656994948841,914:1.9625628492716856,915:1.9625600052865868,916:1.9625571675191313,917:1.9625543359489512,918:1.9625515105557676,919:1.9625486913193901,920:1.9625458782197165,921:1.9625430712367309,922:1.962540270350506,923:1.9625374755412,924:1.962534686789057,925:1.962531904074407,926:1.9625291273776646,927:1.96252635667933,928:1.9625235919599864,929:1.962520833200302,930:1.9625180803810265,931:1.962515333482994,932:1.9625125924871198,933:1.9625098573744026,934:1.9625071281259212,935:1.962504404722836,936:1.9625016871463874,937:1.9624989753778976,938:1.9624962693987664,939:1.9624935691904748,940:1.9624908747345817,941:1.9624881860127243,942:1.9624855030066184,943:1.9624828256980582,944:1.962480154068913,945:1.962477488101131,946:1.962474827776736,947:1.9624721730778274,948:1.962469523986581,949:1.9624668804852476,950:1.9624642425561525,951:1.962461610181696,952:1.9624589833443515,953:1.9624563620266673,954:1.9624537462112641,955:1.9624511358808356,956:1.9624485310181483,957:1.9624459316060407,958:1.9624433376274224,959:1.9624407490652758,960:1.9624381659026522,961:1.9624355881226763,962:1.962433015708541,963:1.9624304486435091,964:1.9624278869109137,965:1.9624253304941575,966:1.9624227793767104,967:1.9624202335421121,968:1.9624176929739703,969:1.9624151576559599,970:1.962412627571823,971:1.9624101027053702,972:1.9624075830404768,973:1.9624050685610865,974:1.962402559251207,975:1.9624000550949139,976:1.9623975560763454,977:1.962395062179708,978:1.9623925733892695,979:1.9623900896893647,980:1.9623876110643914,981:1.9623851374988106,982:1.9623826689771475,983:1.96238020548399,984:1.9623777470039887,985:1.962375293521857,986:1.9623728450223694,987:1.9623704014903631,988:1.9623679629107367,989:1.9623655292684494,990:1.9623631005485223,991:1.9623606767360353,992:1.9623582578161303,993:1.9623558437740083,994:1.9623534345949294,995:1.9623510302642144,996:1.9623486307672415,997:1.9623462360894495,998:1.962343846216334,999:1.962341461133449,1000:1.9623390808264078,1001:1.9623367052808791,1002:1.9623343344825908,1003:1.962331968417326,1004:1.9623296070709262,1005:1.9623272504292881,1006:1.9623248984783654,1007:1.9623225512041673,1008:1.9623202085927578,1009:1.9623178706302578,1010:1.9623155373028418,1011:1.9623132085967403,1012:1.962310884498237,1013:1.962308564993671,1014:1.962306250069434,1015:1.9623039397119733,1016:1.9623016339077874,1017:1.9622993326434304,1018:1.962297035905507,1019:1.9622947436806755,1020:1.9622924559556474,1021:1.962290172717185,1022:1.9622878939521027,1023:1.9622856196472673,1024:1.962283349789597,infinity:1.96}),I6=128,x=128,A=1e9,T6=12,k=8;var z6=require("node:child_process"),N6=require("node:v8"),q6=require("node:vm");var m6=!!globalThis.Bun||!!globalThis.process?.versions?.bun,p6=!!globalThis.Deno,r6=globalThis.process?.release?.name==="node",a6=!!globalThis.navigator,C=(()=>{if(m6)return y.bun;if(p6)return y.deno;if(r6)return y.node;if(a6)return y.browser;return"unknown"})();function e(H){if(H<1)return(H*1000).toFixed(2);if(H<1000)return H.toFixed(2);if(H/=1000,H<1000)return H.toFixed(2);if(H/=1000,H<1000)return H.toFixed(2);if(H/=1000,H<1000)return H.toFixed(2);if(H/=60,H<1000)return H.toFixed(2);return H/=60,H.toFixed(2)}var t6=(H)=>H!==null&&typeof H==="object"&&typeof H.then==="function",G=(H)=>{return typeof H==="function"},o=(async()=>{}).constructor,n6=(H)=>{return o===H?.constructor},L=(H)=>{if(H==null)return!1;if(n6(H))return!0;try{const J=H(),K=t6(J);if(K)J.catch(()=>{});return K}catch{return!1}},v=(H)=>{return Object.prototype.toString.call(H).slice(8,-1)==="Object"},V=(H)=>{if(H==null)throw new TypeError(`Invalid dividend: ${H}`);if(typeof H!=="number")throw new TypeError(`expected number, got ${H.constructor.name}`);if(H===0||Number.isNaN(H))throw new RangeError(`Invalid dividend: ${H}`);return H};var s=(H,J=F(H))=>{return H.reduce((K,Q)=>K+(Q-J)**2,0)/V(H.length-1)},q=(H,J)=>{if(!Array.isArray(H))throw new TypeError(`expected array, got ${H.constructor.name}`);if(H.length===0)throw new Error("expected non-empty array, got empty array");if(J<0||J>1)throw new Error("q must be between 0 and 1");if(J===0)return H[0];if(J===1)return H[H.length-1];const K=(H.length-1)*J,Q=Math.floor(K);if(H[Q+1]!=null)return H[Q]+(K-Q)*(H[Q+1]-H[Q]);return H[Q]},h=(H)=>q(H,0.5),F=(H)=>{if(!Array.isArray(H))throw new TypeError(`expected array, got ${H.constructor.name}`);if(H.length===0)throw new Error("expected non-empty array, got empty array");return H.reduce((J,K)=>J+K,0)/H.length},b=(H,J)=>{const K=J(H),Q=[];for(let Y of H)Q.push(Math.abs(Y-K));return J(Q)},L6=(H,J,K,Q)=>{return H/V(K)*Math.sqrt((J/V(H))**2+(Q/V(K))**2)};var f=(()=>{return{unknown:()=>{try{const H=performance.now.bind(performance);return H(),()=>1e6*H()}catch{return()=>1e6*Date.now()}},browser:()=>{try{return $.agent.monotonicNow(),()=>1e6*$.agent.monotonicNow()}catch{}try{return $262.agent.monotonicNow(),()=>1e6*$262.agent.monotonicNow()}catch{}return()=>1e6*performance.now()},node:()=>()=>Number(process.hrtime.bigint()),deno:()=>()=>1e6*performance.now(),bun:()=>Bun.nanoseconds}[C]()})();async function B6(H,J={}){if(c(H,J),J.async!=null&&typeof J.async!=="boolean")throw new TypeError(`expected boolean as 'async' option, got ${J.async.constructor.name}`);J.async=J.async??L(H),J.time=J.time??A,J.samples=J.samples??x,J.warmup=typeof J.warmup==="number"?J.warmup:J.warmup===!0?T6:0,J.now=J.now??f,J.before=J.before??W,J.after=J.after??W;const K=L(J.before),Q=L(J.after),Y=J.async||K||Q,X=new(Y?o:Function)("$fn","$before","$after","$now",` | ||
${!J.warmup?"":` | ||
${K?"await":""} \$before(); | ||
for (let i = 0; i < ${J.warmup}; i++) { | ||
const t0 = \$now(); | ||
${H.async?"await":""} \$fn(); | ||
${J.async?"await":""} \$fn(); | ||
const t1 = \$now(); | ||
} | ||
${K?"await":""} \$after(); | ||
${Q?"await":""} \$after(); | ||
`} | ||
@@ -15,6 +15,6 @@ | ||
${J?"await":""} \$before(); | ||
while (time < ${H.time} || ${H.samples} > samples.length) { | ||
${K?"await":""} \$before(); | ||
while (time < ${J.time} || ${J.samples} > samples.length) { | ||
const t0 = \$now(); | ||
${H.async?"await":""} \$fn(); | ||
${J.async?"await":""} \$fn(); | ||
const t1 = \$now(); | ||
@@ -26,6 +26,6 @@ | ||
} | ||
${K?"await":""} \$after(); | ||
${Q?"await":""} \$after(); | ||
return samples; | ||
`),Z=X?await Q(L,H.before,H.after,H.now):Q(L,H.before,H.after,H.now);return n6(Z)}var P6=(()=>{return{unknown:()=>"",browser:()=>"",node:()=>globalThis.process.version,deno:()=>globalThis.Deno.version.deno,bun:()=>globalThis.process.versions.bun}[E]()})(),q6=(()=>{return{unknown:()=>"unknown",browser:()=>"unknown",node:()=>`${globalThis.process.arch}-${globalThis.process.platform}`,deno:()=>Deno.build.target,bun:()=>`${globalThis.process.arch}-${globalThis.process.platform}`}[E]()})(),D6=await(async()=>{return await{unknown:()=>"unknown",browser:()=>"unknown",node:async()=>(await import("node:os"))?.cpus?.()?.[0]?.model,deno:async()=>(await import("node:os"))?.cpus?.()?.[0]?.model,bun:async()=>(await import("node:os"))?.cpus?.()?.[0]?.model}[E]()})(),O6=(()=>{return{unknown:()=>globalThis.process?.env?.FORCE_COLOR!=null||!globalThis.process?.env?.NO_COLOR&&!globalThis.process?.env?.NODE_DISABLE_COLORS,browser:()=>!1,node:()=>globalThis.process.env.FORCE_COLOR!=null||!globalThis.process.env.NO_COLOR&&!globalThis.process.env.NODE_DISABLE_COLORS,deno:()=>!Deno.noColor,bun:()=>globalThis.process.env.FORCE_COLOR!=null||!globalThis.process.env.NO_COLOR&&!globalThis.process.env.NODE_DISABLE_COLORS}[E]()})(),w6=await(async()=>{return await{unknown:async()=>{try{return await import("node:fs"),(await import("node:fs")).writeFileSync}catch{return U}},browser:()=>U,node:async()=>(await import("node:fs")).writeFileSync,deno:()=>Deno.writeTextFileSync,bun:async()=>(await import("node:fs")).writeFileSync}[E]()})(),_$=(()=>{return{unknown:()=>U,browser:()=>U,node:()=>(L)=>z6.spawnSync(L.trim().split(/\s+/)[0],L.trim().split(/\s+/).slice(1)),deno:()=>(L)=>{new Deno.Command(L.trim().split(/\s+/)[0],{args:L.trim().split(/\s+/).slice(1)}).outputSync()},bun:()=>(L)=>Bun.spawnSync(L.trim().split(/\s+/))}[E]()})(),M6=(()=>{return{unknown:()=>W(globalThis.gc)?()=>globalThis.gc():U,browser:()=>{try{return globalThis.$262.gc(),()=>globalThis.$262.gc()}catch{return U}},node:()=>()=>{N6.setFlagsFromString("--expose_gc"),R6.runInNewContext("gc")()},deno:()=>W(globalThis.gc)?()=>globalThis.gc():U,bun:()=>()=>Bun.gc(!0)}[E]()})(),c=(L,H={})=>{if(!W(L))throw new TypeError(`expected function, got ${L.constructor.name}`);if(!v(H))throw new TypeError(`expected object, got ${H.constructor.name}`);if(H.samples!=null&&typeof H.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${H.samples.constructor.name}`);if(H.time!=null&&typeof H.time!=="number")throw new TypeError(`expected number as 'time' option, got ${H.time.constructor.name}`);if(H.warmup!=null&&typeof H.warmup!=="number"&&typeof H.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${H.warmup.constructor.name}`);if(H.now!=null&&!W(H.now))throw new TypeError(`expected function as 'now' option, got ${H.now.constructor.name}`);if(H.before!=null&&!W(H.before))throw new TypeError(`expected function as 'before' option, got ${H.before.constructor.name}`);if(H.after!=null&&!W(H.after))throw new TypeError(`expected function as 'after' option, got ${H.after.constructor.name}`)},$6=(L,H)=>{L.now=H.now??L.now,L.samples=H.samples??L.samples,L.time=H.time??L.time,L.warmup=H.warmup??L.warmup},n6=(L)=>{if(!Array.isArray(L))throw new TypeError(`expected array, got ${L.constructor.name}`);if(L.length===0)throw new Error("expected non-empty array, got empty array");L.sort((j,t)=>j-t);const H=F(L),J=s(L,H),K=Math.sqrt(J),X=K/Math.sqrt(L.length),Q=N[(L.length-1||1).toString()]||N.infinity,Z=X*Q,D=Z/_(H)*100,G=L.map((j)=>j!==0?1e9/j:1e9/H);G.sort((j,t)=>j-t);const S=F(G),U6=s(G,S),W6=Math.sqrt(U6),k6=W6/Math.sqrt(G.length),d6=N[(G.length-1||1).toString()]||N.infinity,C6=k6*d6,h6=C6/_(S)*100;return{samples:L.length,ss:L.length>=V6,latency:{min:L[0],max:L[L.length-1],p50:h(L),p75:R(L,0.75),p99:R(L,0.99),p995:R(L,0.995),avg:H,vr:J,sd:K,moe:Z,rmoe:D,aad:b(L,F),mad:b(L,h)},throughput:{min:G[0],max:G[L.length-1],p50:h(G),p75:R(G,0.75),p99:R(G,0.99),p995:R(G,0.995),avg:S,vr:U6,sd:W6,moe:C6,rmoe:h6,aad:b(G,F),mad:b(G,h)}}};var t6=()=>{let L;if(typeof globalThis.console?.log==="function")L=globalThis.console.log;else if(typeof globalThis.print==="function")L=globalThis.print;else throw new Error("no logger function found");return L},j6=t6();function Y(L,H){const J=new RegExp(`\\x1b\\[${H}m`,"g"),K=`\x1B[${L}m`,X=`\x1B[${H}m`;return(Q,Z)=>{if(!Q||Z==null)return Z;return Z=Z.toString(),`${K}${Z.includes(X)?Z.replace(J,X+K):Z}${X}`}}var I$=Y(0,0),C=Y(1,22),u=Y(2,22),x6=Y(3,23),T$=Y(4,24),z$=Y(7,27),N$=Y(8,28),R$=Y(9,29),P$=Y(30,39),V=Y(31,39),w=Y(32,39),P=Y(33,39),m=Y(34,39),A6=Y(35,39),z=Y(36,39),M=Y(37,39),v6=Y(90,39),q$=Y(90,39),D$=Y(91,39),O$=Y(92,39),w$=Y(93,39),M$=Y(94,39),B$=Y(95,39),j$=Y(96,39),x$=Y(97,39),A$=Y(40,49),v$=Y(41,49),F$=Y(42,49),f$=Y(43,49),S$=Y(44,49),g$=Y(45,49),y$=Y(46,49),k$=Y(47,49),d$=Y(100,49),h$=Y(101,49),b$=Y(102,49),u$=Y(103,49),i$=Y(104,49),l$=Y(105,49),c$=Y(106,49),m$=Y(107,49);function I(L){if(L<1)return`${(L*1000).toFixed(2)} ps`;if(L<1000)return`${L.toFixed(2)} ns`;if(L/=1000,L<1000)return`${L.toFixed(2)} \xB5s`;if(L/=1000,L<1000)return`${L.toFixed(2)} ms`;if(L/=1000,L<1000)return`${L.toFixed(2)} s`;if(L/=60,L<1000)return`${L.toFixed(2)} m`;return L/=60,`${L.toFixed(2)} h`}function r(L){return`${L.toFixed(0)}`}function i(L){return`${L.toFixed(2)} %`}function L6(L){return`${L.toFixed(2)}`}function p(L){let H=9;for(let J of L)if(H<J.length)H=J.length;return 2+H}function a({size:L,latency:H=!0,throughput:J=!0,latencyMinMax:K=!0,latencyPercentiles:X=!0}){return`${"-".repeat(L+20*H+20*J+24*K)}${!X?"":` ${"-".repeat(50)}`}`}function H6(L,H,{size:J,colors:K=!0}){return`${L.padEnd(J," ")}${V(K,"error")}: ${H.message}${H.stack?`\n${v6(K,H.stack)}`:""}`}function J6({colors:L=!0}={}){return u(L,M(L,` | ||
`),U=Y?await X(H,J.before,J.after,J.now):X(H,J.before,J.after,J.now);return o6(U)}var D6=(()=>{return{unknown:()=>"",browser:()=>"",node:()=>globalThis.process.version,deno:()=>globalThis.Deno.version.deno,bun:()=>globalThis.process.versions.bun}[C]()})(),O6=(()=>{return{unknown:()=>"unknown",browser:()=>"unknown",node:()=>`${globalThis.process.arch}-${globalThis.process.platform}`,deno:()=>Deno.build.target,bun:()=>`${globalThis.process.arch}-${globalThis.process.platform}`}[C]()})(),P6=await(async()=>{return await{unknown:()=>"unknown",browser:()=>"unknown",node:async()=>(await import("node:os"))?.cpus?.()?.[0]?.model,deno:async()=>(await import("node:os"))?.cpus?.()?.[0]?.model,bun:async()=>(await import("node:os"))?.cpus?.()?.[0]?.model}[C]()})(),R6=(()=>{return{unknown:()=>globalThis.process?.env?.FORCE_COLOR!=null||!globalThis.process?.env?.NO_COLOR&&!globalThis.process?.env?.NODE_DISABLE_COLORS,browser:()=>!1,node:()=>globalThis.process.env.FORCE_COLOR!=null||!globalThis.process.env.NO_COLOR&&!globalThis.process.env.NODE_DISABLE_COLORS,deno:()=>!Deno.noColor,bun:()=>globalThis.process.env.FORCE_COLOR!=null||!globalThis.process.env.NO_COLOR&&!globalThis.process.env.NODE_DISABLE_COLORS}[C]()})(),w6=await(async()=>{return await{unknown:async()=>{try{return await import("node:fs"),(await import("node:fs")).writeFileSync}catch{return W}},browser:()=>W,node:async()=>(await import("node:fs")).writeFileSync,deno:()=>Deno.writeTextFileSync,bun:async()=>(await import("node:fs")).writeFileSync}[C]()})(),I$=(()=>{return{unknown:()=>W,browser:()=>W,node:()=>(H)=>z6.spawnSync(H.trim().split(/\s+/)[0],H.trim().split(/\s+/).slice(1)),deno:()=>(H)=>{new Deno.Command(H.trim().split(/\s+/)[0],{args:H.trim().split(/\s+/).slice(1)}).outputSync()},bun:()=>(H)=>Bun.spawnSync(H.trim().split(/\s+/))}[C]()})(),M6=(()=>{return{unknown:()=>G(globalThis.gc)?()=>globalThis.gc():W,browser:()=>{try{return globalThis.$262.gc(),()=>globalThis.$262.gc()}catch{return W}},node:()=>()=>{N6.setFlagsFromString("--expose_gc"),q6.runInNewContext("gc")()},deno:()=>G(globalThis.gc)?()=>globalThis.gc():W,bun:()=>()=>Bun.gc(!0)}[C]()})(),c=(H,J={})=>{if(!G(H))throw new TypeError(`expected function, got ${H.constructor.name}`);if(!v(J))throw new TypeError(`expected object, got ${J.constructor.name}`);if(J.samples!=null&&typeof J.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${J.samples.constructor.name}`);if(J.time!=null&&typeof J.time!=="number")throw new TypeError(`expected number as 'time' option, got ${J.time.constructor.name}`);if(J.warmup!=null&&typeof J.warmup!=="number"&&typeof J.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${J.warmup.constructor.name}`);if(J.now!=null&&!G(J.now))throw new TypeError(`expected function as 'now' option, got ${J.now.constructor.name}`);if(J.before!=null&&!G(J.before))throw new TypeError(`expected function as 'before' option, got ${J.before.constructor.name}`);if(J.after!=null&&!G(J.after))throw new TypeError(`expected function as 'after' option, got ${J.after.constructor.name}`)},$6=(H,J)=>{H.now=J.now??H.now,H.samples=J.samples??H.samples,H.time=J.time??H.time,H.warmup=J.warmup??H.warmup},o6=(H)=>{if(!Array.isArray(H))throw new TypeError(`expected array, got ${H.constructor.name}`);if(H.length===0)throw new Error("expected non-empty array, got empty array");H.sort((j,n)=>j-n);const J=F(H),K=s(H,J),Q=Math.sqrt(K),Y=Q/Math.sqrt(H.length),X=N[(H.length-1||1).toString()]||N.infinity,U=Y*X,P=U/V(J)*100,E=H.map((j)=>j!==0?1e9/j:1e9/J).sort((j,n)=>j-n),S=F(E),W6=s(E,S),G6=Math.sqrt(W6),d6=G6/Math.sqrt(E.length),k6=N[(E.length-1||1).toString()]||N.infinity,_6=d6*k6,h6=_6/V(S)*100;return{samples:H.length,ss:H.length>=I6,latency:{min:H[0],max:H[H.length-1],p50:h(H),p75:q(H,0.75),p99:q(H,0.99),p995:q(H,0.995),avg:J,vr:K,sd:Q,moe:U,rmoe:P,aad:b(H,F),mad:b(H,h)},throughput:{min:E[0],max:E[H.length-1],p50:h(E),p75:q(E,0.75),p99:q(E,0.99),p995:q(E,0.995),avg:S,vr:W6,sd:G6,moe:_6,rmoe:h6,aad:b(E,F),mad:b(E,h)}}};var e6=()=>{let H;if(typeof globalThis.console?.log==="function")H=globalThis.console.log;else if(typeof globalThis.print==="function")H=globalThis.print;else throw new Error("no logger function found");return H},j6=e6();function Z(H,J){const K=new RegExp(`\\x1b\\[${J}m`,"g"),Q=`\x1B[${H}m`,Y=`\x1B[${J}m`;return(X,U)=>{if(!X||U==null)return U;return U=U.toString(),`${Q}${U.includes(Y)?U.replace(K,Y+Q):U}${Y}`}}var z$=Z(0,0),_=Z(1,22),u=Z(2,22),x6=Z(3,23),N$=Z(4,24),q$=Z(7,27),D$=Z(8,28),O$=Z(9,29),P$=Z(30,39),I=Z(31,39),w=Z(32,39),D=Z(33,39),m=Z(34,39),A6=Z(35,39),z=Z(36,39),M=Z(37,39),v6=Z(90,39),R$=Z(90,39),w$=Z(91,39),M$=Z(92,39),B$=Z(93,39),j$=Z(94,39),x$=Z(95,39),A$=Z(96,39),v$=Z(97,39),F$=Z(40,49),f$=Z(41,49),S$=Z(42,49),g$=Z(43,49),y$=Z(44,49),d$=Z(45,49),k$=Z(46,49),h$=Z(47,49),b$=Z(100,49),u$=Z(101,49),i$=Z(102,49),l$=Z(103,49),c$=Z(104,49),m$=Z(105,49),p$=Z(106,49),r$=Z(107,49);function T(H){if(H<1)return`${(H*1000).toFixed(2)} ps`;if(H<1000)return`${H.toFixed(2)} ns`;if(H/=1000,H<1000)return`${H.toFixed(2)} \xB5s`;if(H/=1000,H<1000)return`${H.toFixed(2)} ms`;if(H/=1000,H<1000)return`${H.toFixed(2)} s`;if(H/=60,H<1000)return`${H.toFixed(2)} m`;return H/=60,`${H.toFixed(2)} h`}function p(H){return`${H.toFixed(0)}`}function i(H){return`${H.toFixed(2)} %`}function H6(H){return`${H.toFixed(2)}`}function r(H){let J=9;for(let K of H)if(J<K.length)J=K.length;return 2+J}function a({size:H,latency:J=!0,throughput:K=!0,latencyMinMax:Q=!0,latencyPercentiles:Y=!0}){return`${"-".repeat(H+20*J+20*K+24*Q)}${!Y?"":` ${"-".repeat(50)}`}`}function J6(H,J,{size:K,colors:Q=!0}){return`${H.padEnd(K," ")}${I(Q,"error")}: ${J.message}${J.stack?`\n${v6(Q,J.stack)}`:""}`}function K6({colors:H=!0}={}){return u(H,M(H,` | ||
1 ps = 1 picosecond = 1e-12s | ||
@@ -35,4 +35,4 @@ 1 ns = 1 nanosecond = 1'000ps = 1e-9s | ||
1 ms = 1 millisecond = 1'000\u03BCs = 1'000'000ns = 1e9ps = 1e-3s | ||
`))}function K6(L,{size:H,latency:J=!0,throughput:K=!0,colors:X=!0,latencyMinMax:Q=!0,latencyPercentiles:Z=!0}){return`${u(X,M(X,`cpu: ${L.cpu}`))}\n${u(X,M(X,`runtime: ${L.runtime}`))}\n\n${"benchmark".padEnd(H," ")}${!J?"":"time/iter".padStart(20," ")}${!K?"":"iters/s".padStart(20," ")}${!Q?"":"(min \u2026 max time/iter)".padStart(24," ")}${!Z?"":` ${"p50/median".padStart(20," ")} ${"p75".padStart(9," ")} ${"p99".padStart(9," ")} ${"p995".padStart(9," ")}`}`}function Q6(L,H={size:p,latency:!0,throughput:!0,colors:!0,latencyMinMax:!0,latencyPercentiles:!0}){if(L.startsWith(k))L=x6(H.colors,"unnamed");return`\u2022 ${C(H.colors,L)}\n${u(H.colors,M(H.colors,a(H)))}`}function X6(L,H,{size:J,latency:K=!0,throughput:X=!0,colors:Q=!0,latencyMixMax:Z=!0,latencyPercentiles:D=!0}){return`${L.padEnd(J," ")}${!K?"":`${P(Q,I(H.latency.avg))} \xB1 ${(H.latency.rmoe>d?V:m)(Q,i(H.latency.rmoe))}`.padStart(20+20*Q," ")}${!X?"":`${P(Q,r(H.throughput.avg))} \xB1 ${(H.throughput.rmoe>d?V:m)(Q,i(H.throughput.rmoe))}`.padStart(20+20*Q," ")}${!Z?"":`(${z(Q,I(H.latency.min))} \u2026 ${A6(Q,I(H.latency.max))})`.padStart(24+20*Q," ")}${!D?"":` ${e(H.latency.mad)>0?`${w(Q,I(H.latency.p50))} \xB1 ${V(Q,I(H.latency.mad))}`.padStart(20+20*Q," "):w(Q,I(H.latency.p50)).padStart(20+10*Q," ")} ${w(Q,I(H.latency.p75)).padStart(9+10*Q," ")} ${w(Q,I(H.latency.p99)).padStart(9+10*Q," ")} ${w(Q,I(H.latency.p995)).padStart(9+10*Q," ")}`}`}function n(L,{latency:H=!0,throughput:J=!0,colors:K=!0}){if(L.some((Q)=>Q.error!=null))throw new Error("Cannot display warning on benchmarks with error");const X=[];for(let Q of L){if(Q.stats.ss===!1)X.push(`${C(K,P(K,"Warning"))}: ${C(K,z(K,Q.name))} has a sample size below statistical significance: ${V(K,Q.samples)}`);if(H&&Q.stats.latency.rmoe>d)X.push(`${C(K,P(K,"Warning"))}: ${C(K,z(K,Q.name))} has a high latency relative margin of error: ${V(K,i(Q.stats.latency.rmoe))}`);if(J&&Q.stats.throughput.rmoe>d)X.push(`${C(K,P(K,"Warning"))}: ${C(K,z(K,Q.name))} has a high latency throughput margin of error: ${V(K,r(Q.stats.throughput.rmoe))}`);if(H&&e(Q.stats.latency.mad)>0)X.push(`${C(K,P(K,"Warning"))}: ${C(K,z(K,Q.name))} has a non zero latency median absolute deviation: ${V(K,I(Q.stats.latency.mad))}`);if(J&&Math.trunc(Q.stats.throughput.mad)>0)X.push(`${C(K,P(K,"Warning"))}: ${C(K,z(K,Q.name))} has a non zero throughput median absolute deviation: ${V(K,r(Q.stats.throughput.mad))}`)}return X.join("\n")}function Y6(L,{colors:H=!0}){if(L.some((K)=>K.error!=null))throw new Error("Cannot summarize benchmarks with error");if(L.length<2)throw new Error("Cannot summarize less than two benchmarks");L.sort((K,X)=>K.stats.latency.avg-X.stats.latency.avg);const J=L.find((K)=>K.baseline)??L[0];return`${`${J.group==null||J.group.startsWith(k)?"":`${C(H,M(H,J.group.trim().split(/\s+/).length>1?`'${J.group}'`:`${J.group}`))} `}${C(H,M(H,"summary"))}`}\n ${C(H,z(H,J.name))}${L.filter((K)=>K!==J).map((K)=>{const X=K.stats.latency.avg/_(J.stats.latency.avg),Z=T6(K.stats.latency.avg,K.stats.latency.sd,J.stats.latency.avg,J.stats.latency.sd)/_(Math.sqrt(J.stats.samples+K.stats.samples)),D=N[(J.stats.samples+K.stats.samples-1||1).toString()]||N.infinity,S=Z*D/_(X)*100;return`\n ${(1>X?V:w)(H,1>X?L6(1/_(X)):L6(X))} \xB1 ${m(H,i(S))} times ${1>X?"slower":"faster"} than ${C(H,z(H,K.name))}`}).join("")}`}function f6(L,H=void 0){if(L!=null&&typeof L!=="string"&&!v(L)&&!W(L))throw new TypeError(`expected string, object or function, got ${L.constructor.name}`);if(W(L))H=L;if(!W(H))throw new TypeError(`expected function, got ${H.constructor.name}`);if(v(L)){if(L.name!=null&&typeof L.name!=="string")throw new TypeError(`expected string as 'name' option, got ${L.name.constructor.name}`);if(L.summary!=null&&typeof L.summary!=="boolean")throw new TypeError(`expected boolean as 'summary' option, got ${L.summary.constructor.name}`);if(L.samples!=null&&typeof L.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${L.samples.constructor.name}`);if(L.time!=null&&typeof L.time!=="number")throw new TypeError(`expected number as 'time' option, got ${L.time.constructor.name}`);if(L.warmup!=null&&typeof L.warmup!=="number"&&typeof L.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${L.warmup.constructor.name}`);if(L.now!=null&&Function!==L.now.constructor)throw new TypeError(`expected function as 'now' option, got ${L.now.constructor.name}`);if(L.before!=null&&!W(L.before))throw new TypeError(`expected function as 'before' option, got ${L.before.constructor.name}`);if(L.after!=null&&!W(L.after))throw new TypeError(`expected function as 'after' option, got ${L.after.constructor.name}`)}if(B=(typeof L==="string"?L.trim():L.name?.trim())||`${k}${l.size+1}`,!l.has(B))l.set(B,{summary:L.summary??!0,samples:L.samples??x,time:L.time??A,warmup:L.warmup??!0,now:L.now??f,before:L.before??U,after:L.after??U});if(T(H))H().then(()=>{B=null});else H(),B=null}function S6(L,H=void 0,J={}){if(W(L))H=L,L=H.name;c(H,J),L=L.trim(),q.push({before:J.before??U,fn:H,after:J.after??U,name:L,now:J.now??f,group:B,time:J.time??A,samples:J.samples??x,warmup:J.warmup??!0,baseline:!1,async:T(H)})}function g6(L,H=void 0,J={}){if(W(L))H=L,L=H.name;c(H,J),L=L.trim(),q.push({before:J.before??U,fn:H,after:J.after??U,name:L,now:J.now??f,group:B,time:J.time??A,samples:J.samples??x,warmup:J.warmup??!0,baseline:!0,async:T(H)})}function o6(){l.clear(),q.length=0}async function y6(L={}){if(!v(L))throw new TypeError(`expected object, got ${L.constructor.name}`);if(L.samples!=null&&typeof L.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${L.samples.constructor.name}`);if(L.time!=null&&typeof L.time!=="number")throw new TypeError(`expected number as 'time' option, got ${L.time.constructor.name}`);if(L.warmup!=null&&typeof L.warmup!=="number"&&typeof L.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${L.warmup.constructor.name}`);if(L.json!=null&&typeof L.json!=="number"&&typeof L.json!=="boolean")throw new TypeError(`expected number or boolean as 'json' option, got ${L.json.constructor.name}`);if(L.reporter!=null&&!W(L.reporter))throw new TypeError(`expected function as 'reporter' option, got ${L.reporter.constructor.name}`);if(L.file!=null&&typeof L.file!=="string")throw new TypeError(`expected string as 'file' option, got ${L.file.constructor.name}`);if(typeof L.file==="string"&&L.file.trim().length===0)throw new TypeError("expected non-empty string as 'file' option");if(L.now!=null&&!W(L.now))throw new TypeError(`expected function as 'now' option, got ${L.now.constructor.name}`);L.silent=L.silent??!1,L.units=L.units??!1,L.colors=L.colors??O6,L.size=p(q.map((Q)=>Q.name));const H=L.silent===!0?U:j6;let J={benchmarks:q,cpu:`${D6}`,runtime:`${E} ${P6} (${q6})`};if(!L.json&&q.length>0)H(K6(J,L)),H(a(L));let K=await F6(q.filter((Q)=>Q.group==null),H,L);for(let[Q,Z]of l){if(!L.json){if(K)H("");H(Q6(Q,L))}T(Z.before)?await Z.before():Z.before(),K=await F6(q.filter((D)=>D.group===Q),H,L,Z),T(Z.after)?await Z.after():Z.after()}if(J=W(L.reporter)?L.reporter(J):J,!L.json&&L.units)H(J6(L));if(L.json||L.file){const Q=JSON.stringify(J,void 0,typeof L.json!=="number"?0:L.json);if(L.json)H(Q);if(L.file)w6(L.file,Q)}const X=JSON.parse(JSON.stringify(J));return o6(),X}var B=null,l=new Map,q=[],F6=async(L,H,J={},K={})=>{let X=!1;for(let Q of L){X=!0,$6(Q,K),$6(Q,J);try{if(M6(),Q.stats=await B6(Q.fn,{async:Q.async,samples:Q.samples,time:Q.time,warmup:Q.warmup,now:Q.now,before:Q.before,after:Q.after}),!J.json)H(X6(Q.name,Q.stats,J))}catch(Z){if(Q.error=Z,!J.json)H(H6(Q.name,Q.error,J))}}if(L=L.filter((Q)=>Q.error==null),!J.json&&n(L,J))H(""),H(n(L,J));if((Object.keys(K).length===0||K.summary===!0)&&!J.json&&L.length>1)H(""),H(Y6(L,J));return X};var Z6=(L)=>{return L.benchmarks.filter((H)=>H.error==null).map(({name:H,stats:J})=>{return{[H]:{latency:{value:J?.latency?.avg,lower_value:J?.latency?.avg-J?.latency?.sd,upper_value:J?.latency?.avg+J?.latency?.sd},throughput:{value:J?.throughput?.avg,lower_value:J?.throughput?.avg-J?.throughput?.sd,upper_value:J?.throughput?.avg+J?.throughput?.sd}}}}).reduce((H,J)=>Object.assign(H,J),{})}; | ||
`))}function Q6(H,{size:J,latency:K=!0,throughput:Q=!0,colors:Y=!0,latencyMinMax:X=!0,latencyPercentiles:U=!0}){return`${u(Y,M(Y,`cpu: ${H.cpu}`))}\n${u(Y,M(Y,`runtime: ${H.runtime}`))}\n\n${"benchmark".padEnd(J," ")}${!K?"":"time/iter".padStart(20," ")}${!Q?"":"iters/s".padStart(20," ")}${!X?"":"(min \u2026 max time/iter)".padStart(24," ")}${!U?"":` ${"p50/median".padStart(20," ")} ${"p75".padStart(9," ")} ${"p99".padStart(9," ")} ${"p995".padStart(9," ")}`}`}function X6(H,J={size:r,latency:!0,throughput:!0,colors:!0,latencyMinMax:!0,latencyPercentiles:!0}){if(H.startsWith(d))H=x6(J.colors,"unnamed");return`\u2022 ${_(J.colors,H)}\n${u(J.colors,M(J.colors,a(J)))}`}function Y6(H,J,{size:K,latency:Q=!0,throughput:Y=!0,colors:X=!0,latencyMixMax:U=!0,latencyPercentiles:P=!0}){return`${H.padEnd(K," ")}${!Q?"":`${D(X,T(J.latency.avg))} \xB1 ${(J.latency.rmoe>k?I:m)(X,i(J.latency.rmoe))}`.padStart(20+20*X," ")}${!Y?"":`${D(X,p(J.throughput.avg))} \xB1 ${(J.throughput.rmoe>k?I:m)(X,i(J.throughput.rmoe))}`.padStart(20+20*X," ")}${!U?"":`(${z(X,T(J.latency.min))} \u2026 ${A6(X,T(J.latency.max))})`.padStart(24+20*X," ")}${!P?"":` ${e(J.latency.mad)>0?`${w(X,T(J.latency.p50))} \xB1 ${I(X,T(J.latency.mad))}`.padStart(20+20*X," "):w(X,T(J.latency.p50)).padStart(20+10*X," ")} ${w(X,T(J.latency.p75)).padStart(9+10*X," ")} ${w(X,T(J.latency.p99)).padStart(9+10*X," ")} ${w(X,T(J.latency.p995)).padStart(9+10*X," ")}`}`}function t(H,{latency:J=!0,throughput:K=!0,colors:Q=!0}){if(H.some((X)=>X.error!=null))throw new Error("Cannot display warning on benchmarks with error");const Y=[];for(let X of H){if(X.stats.ss===!1)Y.push(`${_(Q,D(Q,"Warning"))}: ${_(Q,z(Q,X.name))} has a sample size below statistical significance: ${I(Q,X.samples)}`);if(J&&X.stats.latency.rmoe>k)Y.push(`${_(Q,D(Q,"Warning"))}: ${_(Q,z(Q,X.name))} has a high latency relative margin of error: ${I(Q,i(X.stats.latency.rmoe))}`);if(K&&X.stats.throughput.rmoe>k)Y.push(`${_(Q,D(Q,"Warning"))}: ${_(Q,z(Q,X.name))} has a high latency throughput margin of error: ${I(Q,p(X.stats.throughput.rmoe))}`);if(J&&e(X.stats.latency.mad)>0)Y.push(`${_(Q,D(Q,"Warning"))}: ${_(Q,z(Q,X.name))} has a non zero latency median absolute deviation: ${I(Q,T(X.stats.latency.mad))}`);if(K&&Math.trunc(X.stats.throughput.mad)>0)Y.push(`${_(Q,D(Q,"Warning"))}: ${_(Q,z(Q,X.name))} has a non zero throughput median absolute deviation: ${I(Q,p(X.stats.throughput.mad))}`)}return Y.join("\n")}function Z6(H,{colors:J=!0}){if(H.some((Q)=>Q.error!=null))throw new Error("Cannot summarize benchmarks with error");if(H.length<2)throw new Error("Cannot summarize less than two benchmarks");H.sort((Q,Y)=>Q.stats.latency.avg-Y.stats.latency.avg);const K=H.find((Q)=>Q.baseline)??H[0];return`${`${K.group==null||K.group.startsWith(d)?"":`${_(J,M(J,K.group.trim().split(/\s+/).length>1?`'${K.group}'`:`${K.group}`))} `}${_(J,M(J,"summary"))}`}\n ${_(J,z(J,K.name))}${H.filter((Q)=>Q!==K).map((Q)=>{const Y=Q.stats.latency.avg/V(K.stats.latency.avg),U=L6(Q.stats.latency.avg,Q.stats.latency.sd,K.stats.latency.avg,K.stats.latency.sd)/V(Math.sqrt(K.stats.samples+Q.stats.samples)),P=N[(K.stats.samples+Q.stats.samples-1||1).toString()]||N.infinity,S=U*P/V(Y)*100;return`\n ${(1>Y?I:w)(J,1>Y?H6(1/V(Y)):H6(Y))} \xB1 ${m(J,i(S))} times ${1>Y?"slower":"faster"} than ${_(J,z(J,Q.name))}`}).join("")}`}function f6(H,J=void 0){if(H!=null&&typeof H!=="string"&&!v(H)&&!G(H))throw new TypeError(`expected string, object or function, got ${H.constructor.name}`);if(G(H))J=H;if(!G(J))throw new TypeError(`expected function, got ${J.constructor.name}`);if(v(H)){if(H.name!=null&&typeof H.name!=="string")throw new TypeError(`expected string as 'name' option, got ${H.name.constructor.name}`);if(H.summary!=null&&typeof H.summary!=="boolean")throw new TypeError(`expected boolean as 'summary' option, got ${H.summary.constructor.name}`);if(H.samples!=null&&typeof H.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${H.samples.constructor.name}`);if(H.time!=null&&typeof H.time!=="number")throw new TypeError(`expected number as 'time' option, got ${H.time.constructor.name}`);if(H.warmup!=null&&typeof H.warmup!=="number"&&typeof H.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${H.warmup.constructor.name}`);if(H.now!=null&&Function!==H.now.constructor)throw new TypeError(`expected function as 'now' option, got ${H.now.constructor.name}`);if(H.before!=null&&!G(H.before))throw new TypeError(`expected function as 'before' option, got ${H.before.constructor.name}`);if(H.after!=null&&!G(H.after))throw new TypeError(`expected function as 'after' option, got ${H.after.constructor.name}`)}if(B=(typeof H==="string"?H.trim():H.name?.trim())||`${d}${l.size+1}`,!l.has(B))l.set(B,{summary:H.summary??!0,samples:H.samples??x,time:H.time??A,warmup:H.warmup??!0,now:H.now??f,before:H.before??W,after:H.after??W});if(L(J))J().then(()=>{B=null});else J(),B=null}function S6(H,J=void 0,K={}){if(G(H))J=H,H=J.name;c(J,K),H=H.trim(),O.push({before:K.before??W,fn:J,after:K.after??W,name:H,now:K.now??f,group:B,time:K.time??A,samples:K.samples??x,warmup:K.warmup??!0,baseline:!1,async:L(J)})}function g6(H,J=void 0,K={}){if(G(H))J=H,H=J.name;c(J,K),H=H.trim(),O.push({before:K.before??W,fn:J,after:K.after??W,name:H,now:K.now??f,group:B,time:K.time??A,samples:K.samples??x,warmup:K.warmup??!0,baseline:!0,async:L(J)})}function s6(){l.clear(),O.length=0}async function y6(H={}){if(!v(H))throw new TypeError(`expected object, got ${H.constructor.name}`);if(H.samples!=null&&typeof H.samples!=="number")throw new TypeError(`expected number as 'samples' option, got ${H.samples.constructor.name}`);if(H.time!=null&&typeof H.time!=="number")throw new TypeError(`expected number as 'time' option, got ${H.time.constructor.name}`);if(H.warmup!=null&&typeof H.warmup!=="number"&&typeof H.warmup!=="boolean")throw new TypeError(`expected number or boolean as 'warmup' option, got ${H.warmup.constructor.name}`);if(H.json!=null&&typeof H.json!=="number"&&typeof H.json!=="boolean")throw new TypeError(`expected number or boolean as 'json' option, got ${H.json.constructor.name}`);if(H.reporter!=null&&!G(H.reporter))throw new TypeError(`expected function as 'reporter' option, got ${H.reporter.constructor.name}`);if(H.file!=null&&typeof H.file!=="string")throw new TypeError(`expected string as 'file' option, got ${H.file.constructor.name}`);if(typeof H.file==="string"&&H.file.trim().length===0)throw new TypeError("expected non-empty string as 'file' option");if(H.now!=null&&!G(H.now))throw new TypeError(`expected function as 'now' option, got ${H.now.constructor.name}`);H.silent=H.silent??!1,H.units=H.units??!1,H.colors=H.colors??R6,H.size=r(O.map((X)=>X.name));const J=H.silent===!0?W:j6;let K={benchmarks:O,cpu:`${P6}`,runtime:`${C} ${D6} (${O6})`};if(!H.json&&O.length>0)J(Q6(K,H)),J(a(H));let Q=await F6(O.filter((X)=>X.group==null),J,H);for(let[X,U]of l){if(!H.json){if(Q)J("");J(X6(X,H))}L(U.before)?await U.before():U.before(),Q=await F6(O.filter((P)=>P.group===X),J,H,U),L(U.after)?await U.after():U.after()}if(K=G(H.reporter)?H.reporter(K):K,!H.json&&H.units)J(K6(H));if(H.json||H.file){const X=JSON.stringify(K,void 0,typeof H.json!=="number"?0:H.json);if(H.json)J(X);if(H.file)w6(H.file,X)}const Y=JSON.parse(JSON.stringify(K));return s6(),Y}var B=null,l=new Map,O=[],F6=async(H,J,K={},Q={})=>{let Y=!1;for(let X of H){Y=!0,$6(X,Q),$6(X,K);try{if(M6(),X.stats=await B6(X.fn,{async:X.async,samples:X.samples,time:X.time,warmup:X.warmup,now:X.now,before:X.before,after:X.after}),!K.json)J(Y6(X.name,X.stats,K))}catch(U){if(X.error=U,!K.json)J(J6(X.name,X.error,K))}}if(H=H.filter((X)=>X.error==null),!K.json&&t(H,K))J(""),J(t(H,K));if((Object.keys(Q).length===0||Q.summary===!0)&&!K.json&&H.length>1)J(""),J(Z6(H,K));return Y};var U6=(H)=>{return H.benchmarks.filter((J)=>J.error==null).map(({name:J,stats:K})=>{return{[J]:{latency:{value:K?.latency?.avg,lower_value:K?.latency?.avg-K?.latency?.sd,upper_value:K?.latency?.avg+K?.latency?.sd},throughput:{value:K?.throughput?.avg,lower_value:K?.throughput?.avg-K?.throughput?.sd,upper_value:K?.throughput?.avg+K?.throughput?.sd}}}}).reduce((J,K)=>Object.assign(J,K),{})}; | ||
//# debugId=5031B0D44F117CED64756E2164756E21 | ||
//# debugId=A966367EDF2562DC64756E2164756E21 |
@@ -6,3 +6,3 @@ { | ||
"license": "MIT", | ||
"version": "0.8.4", | ||
"version": "0.8.5", | ||
"packageManager": "bun@1.1.30", | ||
@@ -9,0 +9,0 @@ "bin": { |
@@ -96,3 +96,3 @@ <h1 align=center>tatami-ng</h1> | ||
... | ||
} from 'https://cdn.jsdelivr.net/npm/tatami-ng@0.8.4/dist/browser/index.js' | ||
} from 'https://cdn.jsdelivr.net/npm/tatami-ng@0.8.5/dist/browser/index.js' | ||
</script> | ||
@@ -107,3 +107,3 @@ ``` | ||
// adapt import to the targeted JS runtime | ||
import { baseline, bench, group, run, bmf } from 'tatami-ng' | ||
import { baseline, bench, bmf, group, run } from 'tatami-ng' | ||
@@ -110,0 +110,0 @@ bench('noop', () => {}) |
@@ -32,3 +32,3 @@ import { | ||
import { now } from './time.js' | ||
import { isAsyncFunction, isFunction, isObject } from './utils.js' | ||
import { isAsyncFnResource, isFunction, isObject } from './utils.js' | ||
@@ -131,3 +131,3 @@ let groupName = null | ||
}) | ||
if (isAsyncFunction(cb)) { | ||
if (isAsyncFnResource(cb)) { | ||
cb().then(() => { | ||
@@ -177,3 +177,3 @@ groupName = null | ||
baseline: false, | ||
async: isAsyncFunction(fn), | ||
async: isAsyncFnResource(fn), | ||
}) | ||
@@ -218,3 +218,3 @@ } | ||
baseline: true, | ||
async: isAsyncFunction(fn), | ||
async: isAsyncFnResource(fn), | ||
}) | ||
@@ -369,4 +369,3 @@ } | ||
} | ||
isAsyncFunction(groupOpts.before) | ||
isAsyncFnResource(groupOpts.before) | ||
? await groupOpts.before() | ||
@@ -381,4 +380,3 @@ : groupOpts.before() | ||
) | ||
isAsyncFunction(groupOpts.after) | ||
isAsyncFnResource(groupOpts.after) | ||
? await groupOpts.after() | ||
@@ -385,0 +383,0 @@ : groupOpts.after() |
@@ -17,3 +17,3 @@ export const runtimes = { | ||
*/ | ||
export const tTable = { | ||
export const tTable = Object.freeze({ | ||
1: 12.706204736432102, | ||
@@ -1044,3 +1044,3 @@ 2: 4.3026527299112765, | ||
infinity: 1.96, | ||
} | ||
}) | ||
@@ -1047,0 +1047,0 @@ // Student two-tailed t-distribution has no minimum samples size. |
@@ -24,3 +24,3 @@ import { spawnSync as nodeSpawnSync } from 'node:child_process' | ||
checkDividend, | ||
isAsyncFunction, | ||
isAsyncFnResource, | ||
isFunction, | ||
@@ -189,3 +189,3 @@ isObject, | ||
* | ||
* @param {Function} [fn] function to measure | ||
* @param {Function} fn function to measure | ||
* @param {Object} [opts={}] options object | ||
@@ -199,3 +199,3 @@ * @param {Boolean} [opts.async=undefined] function is async | ||
* @param {Function} [opts.after=()=>{}] after function hook | ||
* @returns {Object} benchmark stats | ||
* @returns {Promise<Object>} benchmark stats | ||
*/ | ||
@@ -209,3 +209,3 @@ export async function measure(fn, opts = {}) { | ||
opts.async = opts.async ?? isAsyncFunction(fn) | ||
opts.async = opts.async ?? isAsyncFnResource(fn) | ||
opts.time = opts.time ?? defaultTime | ||
@@ -223,4 +223,4 @@ opts.samples = opts.samples ?? defaultSamples | ||
const asyncBefore = isAsyncFunction(opts.before) | ||
const asyncAfter = isAsyncFunction(opts.after) | ||
const asyncBefore = isAsyncFnResource(opts.before) | ||
const asyncAfter = isAsyncFnResource(opts.after) | ||
@@ -295,6 +295,7 @@ const asyncFunction = opts.async || asyncBefore || asyncAfter | ||
// Throughput | ||
const throughputSamples = latencySamples.map( | ||
sample => (sample !== 0 ? 1e9 / sample : 1e9 / latencyAvg) // Use latency average as imputed sample | ||
) | ||
throughputSamples.sort((a, b) => a - b) | ||
const throughputSamples = latencySamples | ||
.map( | ||
sample => (sample !== 0 ? 1e9 / sample : 1e9 / latencyAvg) // Use latency average as imputed sample | ||
) | ||
.sort((a, b) => a - b) | ||
const throughputAvg = average(throughputSamples) | ||
@@ -301,0 +302,0 @@ const throughputVr = variance(throughputSamples, throughputAvg) |
@@ -0,1 +1,18 @@ | ||
/** | ||
* Checks if a value is a promise-like object. | ||
* | ||
* @param {unknown} maybePromiseLike the value to check | ||
* @returns {Boolean} true if the value is a promise-like object | ||
*/ | ||
const isPromiseLike = maybePromiseLike => | ||
maybePromiseLike !== null && | ||
typeof maybePromiseLike === 'object' && | ||
typeof maybePromiseLike.then === 'function' | ||
/** | ||
* Checks if a value is a function. | ||
* | ||
* @param {unknown} fn the value to check | ||
* @returns {Boolean} true if the value is a function | ||
*/ | ||
export const isFunction = fn => { | ||
@@ -7,6 +24,44 @@ return typeof fn === 'function' | ||
export const isAsyncFunction = fn => { | ||
return AsyncFunction === fn.constructor | ||
/** | ||
* An async function check helper only considering runtime support async syntax. | ||
* | ||
* @param {Function} fn the function to check | ||
* @returns {Boolean} true if the function is an async function | ||
*/ | ||
const isAsyncFunction = fn => { | ||
return AsyncFunction === fn?.constructor | ||
} | ||
/** | ||
* An async function check helper considering runtime support async syntax and promise return. | ||
* | ||
* @param {Function} fn the function to check | ||
* @returns {Boolean} true if the function is an async function or returns a promise | ||
*/ | ||
export const isAsyncFnResource = fn => { | ||
if (fn == null) { | ||
return false | ||
} | ||
if (isAsyncFunction(fn)) { | ||
return true | ||
} | ||
try { | ||
const fnCall = fn() | ||
const promiseLike = isPromiseLike(fnCall) | ||
if (promiseLike) { | ||
// silence promise rejection | ||
fnCall.catch(() => {}) | ||
} | ||
return promiseLike | ||
} catch { | ||
return false | ||
} | ||
} | ||
/** | ||
* Checks if a value is an object. | ||
* | ||
* @param {unknown} value the value to check | ||
* @returns {Boolean} true if the value is an object | ||
*/ | ||
export const isObject = value => { | ||
@@ -13,0 +68,0 @@ return Object.prototype.toString.call(value).slice(8, -1) === 'Object' |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
385597
2966