{"schema":"singularity.program-execution-image.v10","version":"14","runtime":{"abi":"singularity.program-runtime.v1","securityPolicy":"singularity.execution-security.v1"},"posture":"142873cc9ffde992","identity":{"id":"program:9500a1c1cacec9f7","contractId":"program-contract:1e72c32ec7dfeb80","resourceContractId":"program-resource-contract:6888f0509761da46","environment":"world-contract:5ce759d4a4e8abbe","selectedEnvironment":"world-contract:a3eb5a485fdc1bfa","references":"references:502533107f9fb21e","capabilityIR":"ir:41910f7634f004c4","operations":"operations:06749f1363735511","problems":"problem-catalog:8f08053776166309","sources":{"formEmail":"source:f23e6304d2eab38e","opehub":"source:b6e1d3823ea865a4","opehubLeads":"source:8a1d0a53dea1c7d9"}},"worlds":{"construction":"world-contract:5ce759d4a4e8abbe","selected":"world-contract:a3eb5a485fdc1bfa"},"products":{"expressions":{"nodes":[["root","cfBusy"],["unary","!",0],["root","coBusy"],["unary","!",2],["root","fx"],["literal","inventory"],["member",4,5,true],["literal","loaded"],["member",6,7,true],["unary","!",8],["root","invTotal"],["literal",0],["binary","==",10,11],["binary","&&",9,12],["root","$2c4967d6$total"],["binary","==",14,11],["root","$fa74a2f8$rotates"],["literal","$"],["root","cartSubtotal"],["call","round",[18]],["call","thousands",[19]],["binary","+",17,20],["root","disclosureFinance"],["literal","payment"],["member",22,23,true],["call","round",[24]],["call","thousands",[25]],["binary","+",17,26],["literal","/mo"],["binary","+",27,28],["root","item"],["literal","cashShown"],["member",30,31,true],["call","round",[32]],["call","thousands",[33]],["binary","+",17,34],["member",30,23,true],["call","round",[36]],["call","thousands",[37]],["binary","+",17,38],["literal","price"],["member",30,40,true],["call","round",[41]],["call","thousands",[42]],["binary","+",17,43],["root","line"],["member",45,40,true],["call","round",[46]],["call","thousands",[47]],["binary","+",17,48],["member",45,23,true],["binary",">",50,11],["literal"," · or $"],["call","round",[50]],["call","thousands",[53]],["binary","+",52,54],["binary","+",55,28],["literal",""],["ternary",51,56,57],["binary","+",49,58],["root","productRow"],["member",60,31,true],["call","round",[61]],["call","thousands",[62]],["binary","+",17,63],["member",60,23,true],["call","round",[65]],["call","thousands",[66]],["binary","+",17,67],["member",60,40,true],["call","round",[69]],["call","thousands",[70]],["binary","+",17,71],["literal","/inventory/"],["literal","id"],["member",30,74,true],["binary","+",73,75],["member",45,74,true],["binary","+",73,77],["literal","/inventory?category="],["root","cat"],["member",80,74,true],["binary","+",79,81],["literal","/inventory?promotionId="],["root","productPromo"],["member",84,74,true],["binary","+",83,85],["root","promo"],["member",87,74,true],["binary","+",83,88],["literal","/mo · "],["literal","apr"],["member",30,91,true],["binary","+",90,92],["literal","% interest · "],["binary","+",93,94],["literal","term"],["member",30,96,true],["binary","+",95,97],["literal"," mo"],["binary","+",98,99],["literal","Call "],["root","phoneDisplay"],["binary","+",101,102],["literal","Ends "],["literal","ends"],["member",84,105,true],["literal","MMM DD, YYYY"],["call","formatDate",[106,107]],["binary","+",104,108],["member",87,105,true],["literal","MMM DD"],["call","formatDate",[110,111]],["binary","+",104,112],["literal","Financing details for "],["literal","name"],["member",30,115,true],["binary","+",114,116],["literal","Offer ends "],["root","activePromo"],["member",119,105,true],["literal","MMMM DD, YYYY"],["call","formatDate",[120,121]],["binary","+",118,122],["literal","Order received, "],["root","state"],["literal","orderSent"],["member",125,126,true],["call","words",[127]],["call","first",[128]],["binary","+",124,129],["literal","."],["binary","+",130,131],["literal","Pickup cart, "],["root","cartCount"],["binary","+",133,134],["literal"," "],["binary","+",135,136],["literal","item"],["call","pluralize",[134,138]],["binary","+",137,139],["literal","Questions? "],["binary","+",141,102],["literal","Remove "],["member",45,115,true],["binary","+",143,144],["literal","Show photo "],["root","gi"],["literal",1],["binary","+",147,148],["binary","+",146,149],["literal","Thanks, "],["literal","contactSent"],["member",125,152,true],["call","words",[153]],["call","first",[154]],["binary","+",151,155],["literal",". Message sent."],["binary","+",156,157],["literal","https://www.google.com/maps/dir/?api=1&destination="],["root","locAddress"],["literal",", "],["binary","+",160,161],["root","locCityLine"],["binary","+",162,163],["literal",","],["literal","%2C"],["call","replace",[164,165,166]],["literal","+"],["call","replace",[167,136,168]],["binary","+",159,169],["literal","mailto:"],["root","locEmail"],["binary","+",171,172],["literal","tel:"],["root","locPhone"],["binary","+",174,175],["literal","tick"],["literal","$inst"],["member",125,178,true],["literal","catTile"],["member",179,180,true],["member",181,81,true],["member",182,177,true],["literal","$default"],["member",125,184,true],["member",185,180,true],["member",186,177,true],["binary","??",183,187],["binary","+",177,188],["literal","© "],["root","year"],["binary","+",190,191],["binary","+",192,136],["root","dealerName"],["binary","+",193,194],["call","endsWith",[194,131]],["ternary",196,57,131],["binary","+",195,197],["literal"," All rights reserved."],["binary","+",198,199],["literal","metric"],["member",125,201,true],["unary","!",202],["literal","mui-v-ProductPage-unitBtn--on"],["ternary",203,204,57],["root","addOn"],["member",206,40,true],["literal",null],["binary","!=",207,208],["call","round",[207]],["call","thousands",[210]],["binary","+",17,211],["literal","Price on request"],["ternary",209,212,213],["member",206,23,true],["binary","!=",215,208],["call","round",[215]],["call","thousands",[217]],["binary","+",52,218],["binary","+",219,28],["ternary",216,220,57],["binary","+",214,221],["literal","selected"],["member",206,223,true],["literal","mui-v-ProductPage-addOn--on"],["ternary",224,225,57],["root","cfShowEmail"],["literal","mui-v-fieldControl--invalid"],["ternary",227,228,57],["root","cfShowMsg"],["ternary",230,228,57],["root","cfShowName"],["ternary",232,228,57],["literal","applyUrl"],["member",22,234,true],["binary","??",235,57],["binary","!=",236,57],["root","gid"],["root","galleryActive"],["binary","==",238,239],["literal","mui-v-ProductPage-thumb--on"],["ternary",240,241,57],["binary",">",32,11],["literal","mui-v-ListingCard-priceBig--secondary"],["ternary",243,244,57],["root","navSection"],["binary","==",75,246],["literal","mui-v-drawerLink--active"],["ternary",247,248,57],["literal","mui-v-navButton--active"],["ternary",247,250,57],["literal","status"],["member",30,252,true],["literal","sold"],["binary","==",253,254],["literal","Sold"],["literal","condition"],["member",30,257,true],["call","capitalize",[258]],["ternary",255,256,259],["literal","mui-v-conditionTag--sold"],["ternary",255,261,57],["root","pi"],["root","$7d7fbe1a$active"],["binary","==",263,264],["literal","mui-v-CategoryStockTile-img--on"],["ternary",265,266,57],["binary",">",61,11],["literal","mui-v-ProductPage-priceBig--secondary"],["ternary",268,269,57],["member",60,252,true],["binary","==",271,254],["ternary",272,261,57],["binary","+",188,148],["literal","checkout"],["member",125,275,true],["literal","attempted"],["member",276,277,true],["root","coContactErr"],["binary","!=",279,57],["binary","&&",278,280],["ternary",281,228,57],["root","coNameErr"],["binary","!=",283,57],["binary","&&",278,284],["ternary",285,228,57],["literal","dealer"],["member",125,287,true],["member",288,11,true],["literal","locations"],["member",289,290,true],["member",291,11,true],["literal","city"],["member",292,293,true],["literal","Fort Worth"],["binary","??",294,295],["binary","+",296,161],["literal","state"],["member",292,298,true],["literal","TX"],["binary","??",299,300],["binary","+",297,301],["binary","+",302,136],["literal","zip"],["member",292,304,true],["literal","76177"],["binary","??",305,306],["binary","+",303,307],["ternary",202,204,57],["binary","!=",119,208],["binary","==",119,208],["literal","description"],["member",119,312,true],["binary","!=",313,57],["member",119,115,true],["literal","type"],["member",119,316,true],["literal","dollarsOff"],["binary","==",317,318],["literal","discount"],["member",119,320,true],["call","thousands",[321]],["binary","+",17,322],["literal"," off"],["binary","+",323,324],["literal","Special offer"],["ternary",319,325,326],["member",206,74,true],["literal","imageId"],["member",206,329,true],["binary","!=",330,57],["member",206,115,true],["literal","qty"],["member",206,333,true],["binary",">",334,148],["literal"," × "],["binary","+",336,334],["ternary",335,337,57],["binary","+",332,338],["root","addOnRows"],["root","addOnSelected"],["root","availableCats"],["root","availableImageFirst"],["root","availableImaged"],["root","availableInventory"],["root","c"],["member",346,74,true],["literal","label"],["member",346,348,true],["root","cartRows"],["root","cartRows0"],["literal","imageIds"],["member",80,352,true],["member",80,115,true],["literal"," ("],["binary","+",354,355],["literal","stockCount"],["member",80,357,true],["binary","+",356,358],["literal",")"],["binary","+",359,360],["literal"," in stock"],["binary","+",358,362],["root","catCounts"],["root","row"],["member",365,74,true],["member",364,366,true],["binary","??",367,11],["root","categoriesCounted"],["root","categoriesImageAll"],["root","categoriesImageCompact"],["root","categoriesImageUnique"],["root","categoriesImaged"],["root","categoriesStockItem"],["root","categoriesStockRows"],["literal","Sending…"],["literal","Send message"],["ternary",0,376,377],["literal","true"],["literal","false"],["ternary",0,379,380],["root","cfEmailErr"],["root","cfMsgErr"],["root","cfNameErr"],["binary","==",384,57],["binary","==",382,57],["binary","&&",385,386],["binary","==",383,57],["binary","&&",387,388],["root","cfProblem"],["binary","!=",390,208],["literal","hint"],["member",390,392,true],["literal"," Your message is still here."],["binary","+",393,394],["literal","message"],["member",390,396,true],["root","cfReady"],["binary","&&",398,1],["literal","cf-email-err"],["literal",false],["ternary",227,400,401],["ternary",227,379,380],["literal","cf-message-err"],["ternary",230,404,401],["ternary",230,379,380],["literal","cf-name-err"],["ternary",232,407,401],["ternary",232,379,380],["root","cid"],["root","dealerLogoId"],["call","cloudinary__constrainedHeightUrl",[411]],["member",87,329,true],["call","cloudinary__heroUrl",[413]],["root","promoDesktopId"],["call","cloudinary__heroUrl",[415]],["call","cloudinary__productImageUrl",[239]],["member",30,329,true],["call","cloudinary__productImageUrl",[418]],["root","pic"],["call","cloudinary__productImageUrl",[420]],["call","cloudinary__thumbnailUrl",[330]],["root","f"],["member",423,329,true],["call","cloudinary__thumbnailUrl",[424]],["call","cloudinary__thumbnailUrl",[238]],["member",45,329,true],["call","cloudinary__thumbnailUrl",[427]],["literal","Sending order…"],["literal","Send pickup order"],["ternary",2,429,430],["ternary",2,379,380],["binary","==",283,57],["binary","==",279,57],["binary","&&",433,434],["literal","cart"],["member",125,436,true],["call","count",[437]],["binary",">",438,11],["binary","&&",435,439],["root","coProblem"],["binary","!=",441,208],["member",441,392,true],["literal"," Your cart and details are still here."],["binary","+",443,444],["member",441,396,true],["root","coReady"],["binary","&&",447,3],["literal","cartAddOns"],["member",125,449,true],["call","count",[450]],["binary","==",451,11],["binary","&&",448,452],["binary",">",451,11],["binary","&&",448,454],["root","cartListings"],["call","compact",[456]],["call","partition",[344,329,57]],["call","nth",[458,148]],["call","nth",[458,11]],["call","concat",[459,460]],["root","invSorted"],["literal","available"],["call","partition",[462,252,463]],["call","nth",[464,11]],["call","nth",[464,148]],["call","concat",[465,466]],["root","constants"],["literal","conditionFilters"],["member",468,469,true],["literal","navItems"],["member",468,471,true],["literal","placeholderSlots"],["member",468,473,true],["literal","single"],["member",468,475,true],["literal","sortOptions"],["member",468,477,true],["literal","topics"],["member",468,479,true],["call","count",[340]],["binary",">",481,11],["binary","!=",271,254],["binary","&&",482,483],["call","count",[353]],["binary",">",485,11],["call","mod",[188,485]],["ternary",486,487,11],["binary",">",485,148],["root","media"],["literal","reducedMotion"],["member",490,491,true],["unary","!",492],["binary","&&",489,493],["root","featureRows"],["call","count",[495]],["binary",">",496,11],["root","galleryIds"],["call","count",[498]],["binary",">",499,148],["root","invVisible"],["call","count",[501]],["root","moreLike"],["call","count",[503]],["binary",">",504,11],["root","productResources"],["call","count",[506]],["binary",">",507,11],["root","productSpecs"],["call","count",[509]],["binary",">",510,11],["root","promoSorted"],["call","count",[512]],["binary",">",513,11],["literal","addOnSel"],["member",125,515,true],["call","count",[516]],["binary",">",517,11],["member",125,5,true],["call","count",[519]],["root","stockedCategories"],["call","count",[521]],["binary",">",522,11],["literal","categoryId"],["call","countBy",[342,524]],["binary","!=",411,57],["binary","==",411,57],["literal"," home"],["binary","+",194,528],["literal"," serves landscape professionals, property managers and hardworking homeowners. We offer outdoor power equipment, parts and service with straightforward advice and a practical understanding of the job ahead."],["binary","+",194,530],["literal"," — outdoor power equipment, parts and service with straightforward advice and a practical understanding of the job ahead."],["binary","+",194,532],["root","directionsUrl"],["binary","!=",22,208],["member",22,91,true],["literal","%"],["binary","+",536,537],["literal","disclosure"],["member",22,539,true],["member",22,115,true],["literal","termMonths"],["member",22,542,true],["literal"," months"],["binary","+",543,544],["root","disclosureListing"],["binary","==",546,208],["member",546,115,true],["ternary",547,57,548],["literal","finance"],["member",546,550,true],["ternary",547,208,551],["root","disclosureName"],["root","event"],["literal","value"],["member",554,555,true],["binary","==",556,57],["ternary",557,208,556],["member",423,312,true],["binary","!=",424,57],["member",423,115,true],["call","filterBy",[519,252,463]],["root","promoHeroes"],["literal","role"],["literal","desktop"],["call","findBy",[563,564,565]],["literal","default"],["call","findBy",[563,564,567]],["binary","??",566,568],["call","first",[563]],["binary","??",569,570],["literal","mobile"],["call","findBy",[563,564,572]],["literal","contact"],["member",4,574,true],["literal","busy"],["member",575,576,true],["literal","effect"],["member",575,578,true],["literal","write"],["binary","==",579,580],["literal","problem"],["member",575,582,true],["ternary",581,583,208],["binary","&&",8,12],["literal","pickupOrders"],["member",4,586,true],["member",587,576,true],["member",587,578,true],["binary","==",589,580],["member",587,582,true],["ternary",590,591,208],["root","g"],["literal","key"],["member",593,594,true],["literal","rows"],["member",593,596,true],["binary","!=",239,57],["binary","==",239,57],["ternary",240,379,380],["literal","group"],["call","groupRows",[509,601]],["root","productId"],["call","includes",[437,603]],["root","inv1"],["root","inv2"],["root","inv3"],["root","inv4"],["root","inv5"],["root","inv6"],["root","inv7"],["root","inv8"],["root","inv9"],["root","invCategoryId"],["binary","==",614,57],["root","invByPromo"],["call","filterBy",[616,524,614]],["ternary",615,616,617],["binary","==",614,81],["root","invCount"],["binary",">",620,11],["root","invLoading"],["literal","Loading machines…"],["root","invFiltered"],["root","invPromoId"],["binary","!=",625,57],["binary","||",624,626],["literal"," of "],["binary","+",620,628],["binary","+",629,10],["literal"," machines"],["binary","+",630,631],["binary","+",10,136],["literal","machine"],["call","pluralize",[10,634]],["binary","+",633,635],["ternary",627,632,636],["ternary",622,623,637],["literal","promotionIds"],["member",365,639,true],["member",640,11,true],["binary","??",641,57],["ternary",626,625,642],["binary","==",625,57],["root","invTermRows"],["literal","matchesPromo"],["literal",true],["call","filterBy",[645,646,647]],["ternary",644,645,648],["root","mediaSetsKeyed"],["literal","promoId"],["call","findBy",[650,651,625]],["ternary",644,208,652],["literal","promotions"],["member",125,654,true],["call","findBy",[655,74,625]],["ternary",644,208,656],["root","invRows"],["binary",">",10,11],["binary","==",620,11],["binary","&&",659,660],["literal","Price"],["literal","Our price"],["ternary",243,662,663],["literal","href"],["member",30,665,true],["literal","page"],["ternary",247,667,401],["binary","!=",418,57],["binary","==",418,57],["member",30,348,true],["binary",">",36,11],["literal","promoName"],["member",30,673,true],["binary","!=",674,57],["literal","wholegood"],["member",30,676,true],["literal","sku"],["member",677,678,true],["binary","!=",679,57],["literal","hours"],["member",30,681,true],["unary","-",148],["binary","??",682,683],["binary",">=",684,11],["binary","||",680,685],["literal"," · "],["call","thousands",[684]],["binary","+",687,688],["literal"," hrs"],["binary","+",689,690],["ternary",685,691,57],["binary","+",679,692],["binary","!=",427,57],["literal","sel"],["member",45,695,true],["binary","!=",696,208],["literal","+ "],["literal","addOnIds"],["member",696,699,true],["call","count",[700]],["binary","+",698,701],["binary","+",702,136],["literal","add-on"],["call","pluralize",[701,704]],["binary","+",703,705],["literal",", priced separately"],["binary","+",706,707],["ternary",697,708,57],["binary","!=",172,57],["root","r"],["member",711,316,true],["literal","resourceLabels"],["member",468,713,true],["literal","Resource"],["call","lookup",[712,714,715]],["root","mediaSets"],["call","opehub__formatPhone",[175]],["root","problem"],["member",719,392,true],["member",719,396,true],["literal","retry"],["member",719,722,true],["literal","never"],["binary","!=",723,724],["root","productAddOns"],["root","productFeatures"],["binary","==",603,57],["call","findBy",[645,74,603]],["ternary",728,208,729],["root","productImageId"],["root","productInCart"],["root","productMediaList"],["binary","!=",84,208],["member",84,312,true],["binary","!=",735,57],["member",84,115,true],["member",84,316,true],["binary","==",738,318],["member",84,320,true],["call","thousands",[740]],["binary","+",17,741],["binary","+",742,324],["literal","Featured deal"],["ternary",739,743,744],["binary","!=",60,208],["member",60,312,true],["binary","!=",747,57],["binary","&&",746,748],["binary","==",60,208],["binary","&&",750,9],["binary","&&",750,8],["member",60,329,true],["ternary",750,57,753],["list"],["literal","addOns"],["member",60,756,true],["binary","??",757,755],["ternary",750,755,758],["literal","media"],["member",60,760,true],["binary","??",761,755],["ternary",750,755,762],["member",60,524,true],["call","filterBy",[645,524,764]],["call","filterBy",[765,252,463]],["call","partition",[766,74,603]],["call","nth",[767,148]],["literal",4],["call","take",[768,769]],["ternary",750,755,770],["literal","wholegoods"],["member",125,772,true],["member",60,676,true],["member",774,74,true],["call","findBy",[773,74,775]],["ternary",750,208,776],["literal","promo"],["member",60,778,true],["ternary",750,208,779],["member",60,91,true],["binary","+",781,94],["member",60,96,true],["binary","+",782,783],["binary","+",784,544],["ternary",268,662,663],["member",60,115,true],["binary",">",65,11],["unary","!",732],["binary","&&",483,789],["member",60,257,true],["call","capitalize",[791]],["ternary",272,256,792],["member",774,678,true],["literal","stockNumber"],["member",60,795,true],["binary","!=",796,208],["literal"," · Stock #"],["binary","+",798,796],["ternary",797,799,57],["binary","+",794,800],["member",60,681,true],["binary","!=",802,208],["call","thousands",[802]],["binary","+",687,804],["binary","+",805,690],["ternary",803,806,57],["binary","+",801,807],["root","productWg"],["binary","!=",809,208],["literal","subtitle"],["member",809,811,true],["binary","??",812,57],["binary","!=",813,57],["binary","&&",810,814],["binary","==",809,208],["literal","features"],["member",809,817,true],["binary","??",818,755],["ternary",816,755,819],["literal","resources"],["member",809,821,true],["binary","??",822,755],["ternary",816,755,823],["literal","specs"],["member",809,825,true],["binary","??",826,755],["ternary",816,755,827],["member",87,312,true],["binary","!=",829,57],["binary","!=",413,57],["binary","==",413,57],["literal","inventoryCount"],["member",87,833,true],["binary","+",834,136],["call","pluralize",[834,634]],["binary","+",835,836],["literal"," on this deal"],["binary","+",837,838],["member",87,115,true],["member",87,316,true],["binary","==",841,318],["member",87,320,true],["call","thousands",[843]],["binary","+",17,844],["binary","+",845,324],["ternary",842,846,326],["root","promoDesktop"],["binary","==",848,208],["literal","alt"],["member",848,850,true],["ternary",849,57,851],["literal","file"],["member",848,853,true],["literal","cloudinaryId"],["member",854,855,true],["ternary",849,57,856],["binary","!=",415,57],["root","promoHeroAlt"],["root","promoMobile"],["binary","==",860,208],["member",860,853,true],["member",862,855,true],["ternary",861,57,863],["root","promoMobileId"],["binary","!=",865,57],["call","cloudinary__mobileHeroUrl",[865]],["ternary",866,867,416],["root","promoSet"],["binary","==",869,208],["literal","hero"],["member",869,871,true],["binary","??",872,755],["ternary",870,755,873],["root","promoWithSet"],["literal","url"],["member",711,876,true],["root","route"],["member",878,115,true],["binary","==",879,574],["literal","home"],["binary","==",879,881],["binary","==",879,5],["literal","product"],["binary","==",879,884],["binary","??",879,57],["ternary",885,5,886],["literal","params"],["member",878,888,true],["member",889,74,true],["binary","??",890,57],["literal","query"],["member",878,892,true],["literal","category"],["member",893,894,true],["binary","??",895,57],["literal","promotionId"],["member",893,897,true],["binary","??",898,57],["member",365,550,true],["binary","!=",900,208],["literal","cashPrice"],["member",365,902,true],["binary","!=",903,208],["binary","&&",901,904],["member",365,40,true],["binary","<",903,906],["binary","&&",905,907],["ternary",908,903,11],["member",900,91,true],["binary","??",910,11],["member",900,23,true],["binary","??",912,11],["member",900,542,true],["binary","??",914,11],["literal","imageAll"],["member",365,916,true],["literal","imageCompact"],["member",365,918,true],["literal","imageUnique"],["member",365,920,true],["literal","mediaFile"],["member",365,922,true],["member",923,855,true],["binary","??",924,57],["member",923,316,true],["literal","image"],["binary","==",926,927],["ternary",928,924,57],["literal","mediaSet"],["member",365,930,true],["member",931,871,true],["member",932,11,true],["member",933,853,true],["member",934,855,true],["binary","??",935,57],["member",365,115,true],["binary","+",937,136],["member",365,676,true],["member",939,115,true],["binary","+",938,940],["binary","+",941,136],["member",939,678,true],["binary","+",942,943],["binary","+",944,136],["member",365,795,true],["binary","??",946,57],["binary","+",945,947],["member",365,778,true],["member",949,115,true],["binary","??",950,57],["member",365,651,true],["literal","promotion"],["member",365,953,true],["member",954,74,true],["binary","??",955,57],["literal","stockItem"],["member",365,957,true],["member",958,329,true],["binary","??",959,57],["literal","stockRows"],["member",365,961,true],["member",939,524,true],["root","s"],["member",964,74,true],["member",964,348,true],["member",964,115,true],["root","categoriesImageIds"],["call","partition",[968,357,11]],["call","nth",[969,148]],["literal","weight"],["call","sortBy",[970,971]],["root","promoList"],["literal","desc"],["call","sortBy",[973,971,974]],["root","specGroups"],["literal","cartOpen"],["member",125,977,true],["literal","categories"],["member",125,979,true],["literal","co-contact-err"],["ternary",281,981,401],["literal","co-name-err"],["ternary",285,983,401],["ternary",285,379,380],["literal","email"],["member",276,986,true],["member",276,115,true],["literal","phone"],["member",276,989,true],["literal","contactForm"],["member",125,991,true],["member",992,277,true],["binary","!=",382,57],["binary","&&",993,994],["binary","!=",383,57],["binary","&&",993,996],["binary","!=",384,57],["binary","&&",993,998],["member",992,986,true],["member",992,396,true],["member",992,115,true],["member",992,989,true],["literal","topic"],["member",992,1004,true],["root","t"],["binary","==",1005,1006],["binary","!=",153,57],["binary","==",153,57],["literal","address"],["member",292,1010,true],["literal","3545 Lone Star Cir"],["binary","??",1011,1012],["member",292,986,true],["binary","??",1014,57],["member",292,989,true],["literal","+11234456789"],["binary","??",1016,1017],["literal","logo"],["member",289,1019,true],["member",1020,855,true],["binary","??",1021,57],["member",289,115,true],["literal","Ironline Equipment Co."],["binary","??",1023,1024],["literal","disclosureId"],["member",125,1026,true],["binary","==",1027,57],["call","findBy",[519,74,1027]],["ternary",1028,208,1029],["literal","galleryId"],["member",125,1031,true],["binary","!=",1032,57],["call","first",[498]],["binary","??",1034,57],["ternary",1033,1032,1035],["literal","invCondition"],["member",125,1037,true],["literal","all"],["binary","==",1038,1039],["root","invByCat"],["call","filterBy",[1041,257,1038]],["ternary",1040,1041,1042],["binary","==",1038,347],["literal","invQuery"],["member",125,1045,true],["literal","invSort"],["member",125,1047,true],["literal","priceAsc"],["binary","==",1048,1049],["root","invSearched"],["call","sortBy",[1051,40]],["literal","priceDesc"],["binary","==",1048,1053],["call","sortBy",[1051,40,974]],["ternary",1054,1055,1051],["ternary",1050,1052,1056],["binary","==",1048,965],["literal","leadContact"],["member",125,1059,true],["ternary",202,380,379],["ternary",202,379,380],["literal","display"],["member",964,1063,true],["member",1064,201,true],["literal","imperial"],["member",1064,1066,true],["ternary",202,1065,1067],["literal","navOpen"],["member",125,1069,true],["ternary",1070,379,380],["binary","!=",127,57],["binary","==",127,57],["call","count",[350]],["binary","==",1074,11],["binary","&&",1073,1075],["binary",">",1074,11],["binary","&&",1073,1077],["literal","renderedAt"],["member",125,1079,true],["binary","==",1080,208],["literal","2025"],["literal","year"],["call","datePart",[1080,1083]],["binary","+",57,1084],["ternary",1081,1082,1085],["literal","websiteContent"],["member",125,1087,true],["member",1088,11,true],["literal","mediaSets"],["member",1089,1090,true],["binary","??",1091,755],["call","sumBy",[350,40]],["root","telHref"],["literal","heroImage"],["member",468,1095,true],["literal",2048],["call","tenant_media__imageUrl",[1096,1097]],["literal","storePhoto"],["member",468,1099,true],["literal",1600],["call","tenant_media__imageUrl",[1100,1101]],["call","trim",[556]],["binary","!=",1103,57],["binary","==",1103,57],["binary","!=",1060,208],["binary","&&",1105,1106],["call","trim",[987]],["binary","==",1108,57],["call","trim",[990]],["binary","==",1110,57],["binary","&&",1109,1111],["literal","Add an email or phone so we can confirm your pickup."],["binary","!=",1108,57],["literal","@"],["call","contains",[987,1115]],["unary","!",1116],["binary","&&",1114,1117],["literal","That email looks incomplete."],["ternary",1118,1119,57],["ternary",1112,1113,1120],["call","trim",[988]],["binary","==",1122,57],["literal","Tell us who is picking up."],["ternary",1123,1124,57],["call","trim",[1000]],["binary","==",1126,57],["literal","We need an email to reply to you."],["call","contains",[1000,1115]],["unary","!",1129],["call","contains",[1000,131]],["unary","!",1131],["binary","||",1130,1132],["ternary",1133,1119,57],["ternary",1127,1128,1134],["call","trim",[1001]],["binary","==",1136,57],["literal","Let us know how we can help."],["ternary",1137,1138,57],["call","trim",[1002]],["binary","==",1140,57],["literal","Tell us your name."],["ternary",1141,1142,57],["call","trim",[1003]],["call","trim",[1046]],["binary","!=",1145,57],["binary","!=",1038,1039],["binary","||",1146,1147],["binary","!=",614,57],["binary","||",1148,1149],["binary","==",1145,57],["root","invByCond"],["literal","haystack"],["call","searchBy",[1152,1153,1145]],["ternary",1151,1152,1154],["root","productHeroList"],["root","productMediaIds"],["call","concat",[1156,1157]],["call","compact",[1158]],["call","unique",[1159]]],"expressions":[1,3,13,15,16,21,29,35,39,44,59,64,68,72,76,78,82,86,89,100,103,109,113,117,123,132,140,142,145,150,158,170,173,176,189,200,205,222,226,229,231,233,237,242,245,249,251,260,262,267,270,273,274,282,286,308,309,310,311,313,314,315,327,328,331,339,224,340,341,342,343,344,345,347,349,134,350,351,81,353,354,361,363,368,369,370,371,372,373,374,375,0,378,381,382,383,384,389,391,395,397,399,227,402,403,230,405,406,232,408,409,410,412,414,416,417,419,421,422,425,426,428,2,431,432,279,283,440,442,445,446,453,455,457,461,467,470,472,474,476,478,480,484,485,488,494,497,500,502,505,508,511,514,518,438,520,523,525,526,527,194,529,531,533,534,535,236,538,540,541,545,549,552,553,556,558,559,560,561,495,562,571,573,577,584,585,588,592,595,597,598,599,498,238,600,602,604,605,606,607,608,609,610,611,612,613,614,615,618,619,621,622,638,625,643,649,653,657,658,645,661,501,243,664,666,75,668,669,670,671,116,672,674,675,686,693,77,694,144,697,709,160,163,172,710,716,717,650,503,718,102,720,721,725,726,727,603,730,731,732,733,734,735,736,737,745,506,746,749,751,752,754,759,763,771,777,780,785,268,786,747,787,788,790,272,793,808,815,820,824,828,812,829,830,831,832,839,840,847,852,857,858,859,864,868,874,512,875,877,880,882,883,885,887,891,896,899,909,911,913,915,366,917,919,921,925,929,936,948,951,952,956,640,960,962,963,965,966,967,972,975,976,516,437,450,978,980,281,982,285,984,985,987,988,990,995,997,999,1000,1001,1002,1003,1005,1007,1008,1009,1013,1015,1018,1022,1025,1030,1036,1038,1043,1044,1046,1048,1057,1058,519,1060,1061,1062,1068,1070,1071,1072,1076,1078,655,1086,1092,521,1093,1006,1094,1098,1102,1103,1104,1107,1121,1122,1125,1126,1135,1136,1139,1140,1143,1144,1150,1155,1160],"spelled":[["!cfBusy",0],["!coBusy",1],["!fx.inventory.loaded && invTotal == 0",2],["'/inventory/' + item.id",14],["'/inventory/' + line.id",15],["'/inventory?category=' + cat.id",16],["'/inventory?promotionId=' + productPromo.id",17],["'/inventory?promotionId=' + promo.id",18],["'https://www.google.com/maps/dir/?api=1&destination=' + replace(replace(locAddress + ', ' + locCityLine, ',', '%2C'), ' ', '+')",31],["'mailto:' + locEmail",32],["'tel:' + locPhone",33],["(state.$inst.catTile[cat.id].tick ?? state.$default.catTile.tick) + 1",52],["(state.dealer[0].locations[0].city ?? 'Fort Worth') + ', ' + (state.dealer[0].locations[0].state ?? 'TX') + ' ' + (state.dealer[0].locations[0].zip ?? '76177')",55],["addOn.id",63],["addOnRows",67],["addOnSelected",68],["availableCats",69],["availableImageFirst",70],["availableImaged",71],["availableInventory",72],["cartCount",75],["cartRows",76],["cartRows0",77],["cat.id",78],["cat.imageIds",79],["catCounts[row.id] ?? 0",83],["categoriesCounted",84],["categoriesImageAll",85],["categoriesImageCompact",86],["categoriesImageUnique",87],["categoriesImaged",88],["categoriesStockItem",89],["categoriesStockRows",90],["cfBusy",91],["cfEmailErr",94],["cfMsgErr",95],["cfNameErr",96],["cfNameErr == '' && cfEmailErr == '' && cfMsgErr == ''",97],["cfReady && !cfBusy",101],["cfShowEmail",102],["cfShowMsg",105],["cfShowName",108],["cid",111],["coBusy",122],["coContactErr",125],["coNameErr",126],["coNameErr == '' && coContactErr == '' && count(state.cart) > 0",127],["coReady && !coBusy && count(state.cartAddOns) == 0",131],["coReady && !coBusy && count(state.cartAddOns) > 0",132],["compact(cartListings)",133],["concat(nth(partition(availableImaged, 'imageId', ''), 1), nth(partition(availableImaged, 'imageId', ''), 0))",134],["concat(nth(partition(invSorted, 'status', 'available'), 0), nth(partition(invSorted, 'status', 'available'), 1))",135],["constants.navItems",137],["constants.single",139],["count(cat.imageIds)",143],["count(cat.imageIds) > 0 ? mod((state.$inst.catTile[cat.id].tick ?? state.$default.catTile.tick), count(cat.imageIds)) : 0",144],["count(cat.imageIds) > 1 && !media.reducedMotion",145],["count(invVisible)",148],["count(state.addOnSel) > 0",153],["count(state.cart)",154],["count(state.inventory)",155],["countBy(availableCats, 'categoryId')",157],["dealerName",160],["directionsUrl",164],["disclosureListing == null ? '' : disclosureListing.name",171],["disclosureListing == null ? null : disclosureListing.finance",172],["disclosureName",173],["event.value",174],["event.value == '' ? null : event.value",175],["featureRows",179],["filterBy(state.inventory, 'status', 'available')",180],["findBy(promoHeroes, 'role', 'desktop') ?? findBy(promoHeroes, 'role', 'default') ?? first(promoHeroes)",181],["findBy(promoHeroes, 'role', 'mobile')",182],["fx.contact.busy",183],["fx.contact.effect == 'write' ? fx.contact.problem : null",184],["fx.inventory.loaded && invTotal == 0",185],["fx.pickupOrders.busy",186],["fx.pickupOrders.effect == 'write' ? fx.pickupOrders.problem : null",187],["galleryIds",192],["gid",193],["groupRows(productSpecs, 'group')",195],["includes(state.cart, productId)",196],["inv1",197],["inv2",198],["inv3",199],["inv4",200],["inv5",201],["inv6",202],["inv7",203],["inv8",204],["inv9",205],["invCategoryId",206],["invCategoryId == ''",207],["invCategoryId == '' ? invByPromo : filterBy(invByPromo, 'categoryId', invCategoryId)",208],["invLoading",211],["invPromoId",213],["invPromoId != '' ? invPromoId : (row.promotionIds[0] ?? '')",214],["invPromoId == '' ? invTermRows : filterBy(invTermRows, 'matchesPromo', true)",215],["invPromoId == '' ? null : findBy(mediaSetsKeyed, 'promoId', invPromoId)",216],["invPromoId == '' ? null : findBy(state.promotions, 'id', invPromoId)",217],["invRows",218],["invTermRows",219],["invVisible",221],["item.href",224],["item.id",225],["line.id",236],["locAddress",241],["locCityLine",242],["locEmail",243],["mediaSets",246],["mediaSetsKeyed",247],["moreLike",248],["opehub__formatPhone(locPhone)",249],["phoneDisplay",250],["productAddOns",254],["productFeatures",255],["productId",256],["productId == '' ? null : findBy(invTermRows, 'id', productId)",257],["productImageId",258],["productInCart",259],["productMediaList",260],["productResources",266],["productRow == null ? '' : productRow.imageId",271],["productRow == null ? [] : (productRow.addOns ?? [])",272],["productRow == null ? [] : (productRow.media ?? [])",273],["productRow == null ? [] : take(nth(partition(filterBy(filterBy(invTermRows, 'categoryId', productRow.categoryId), 'status', 'available'), 'id', productId), 1), 4)",274],["productRow == null ? null : findBy(state.wholegoods, 'id', productRow.wholegood.id)",275],["productRow == null ? null : productRow.promo",276],["productWg == null ? [] : (productWg.features ?? [])",288],["productWg == null ? [] : (productWg.resources ?? [])",289],["productWg == null ? [] : (productWg.specs ?? [])",290],["promo.name",297],["promoDesktop == null ? '' : promoDesktop.alt",299],["promoDesktop == null ? '' : promoDesktop.file.cloudinaryId",300],["promoHeroAlt",302],["promoMobile == null ? '' : promoMobile.file.cloudinaryId",303],["promoSet == null ? [] : (promoSet.hero ?? [])",305],["promoSorted",306],["promoWithSet",307],["route.name == 'product' ? 'inventory' : (route.name ?? '')",313],["route.params.id ?? ''",314],["route.query.category ?? ''",315],["route.query.promotionId ?? ''",316],["row.finance != null && row.cashPrice != null && row.cashPrice < row.price ? row.cashPrice : 0",317],["row.finance.apr ?? 0",318],["row.finance.payment ?? 0",319],["row.finance.termMonths ?? 0",320],["row.id",321],["row.imageAll",322],["row.imageCompact",323],["row.imageUnique",324],["row.mediaFile.cloudinaryId ?? ''",325],["row.mediaFile.type == 'image' ? row.mediaFile.cloudinaryId : ''",326],["row.mediaSet.hero[0].file.cloudinaryId ?? ''",327],["row.name + ' ' + row.wholegood.name + ' ' + row.wholegood.sku + ' ' + (row.stockNumber ?? '')",328],["row.promo.name ?? ''",329],["row.promoId",330],["row.promotion.id ?? ''",331],["row.promotionIds",332],["row.stockItem.imageId ?? ''",333],["row.stockRows",334],["row.wholegood.categoryId",335],["s.id",336],["sortBy(nth(partition(categoriesImageIds, 'stockCount', 0), 1), 'weight')",339],["sortBy(promoList, 'weight', 'desc')",340],["specGroups",341],["state.addOnSel",342],["state.cart",343],["state.cartAddOns",344],["state.categories",346],["state.checkout.email",352],["state.checkout.name",353],["state.checkout.phone",354],["state.contactForm.attempted && cfEmailErr != ''",355],["state.contactForm.attempted && cfMsgErr != ''",356],["state.contactForm.attempted && cfNameErr != ''",357],["state.contactForm.email",358],["state.contactForm.message",359],["state.contactForm.name",360],["state.contactForm.phone",361],["state.contactForm.topic",362],["state.dealer[0].locations[0].address ?? '3545 Lone Star Cir'",366],["state.dealer[0].locations[0].email ?? ''",367],["state.dealer[0].locations[0].phone ?? '+11234456789'",368],["state.dealer[0].logo.cloudinaryId ?? ''",369],["state.dealer[0].name ?? 'Ironline Equipment Co.'",370],["state.disclosureId == '' ? null : findBy(state.inventory, 'id', state.disclosureId)",371],["state.galleryId != '' ? state.galleryId : (first(galleryIds) ?? '')",372],["state.invCondition",373],["state.invCondition == 'all' ? invByCat : filterBy(invByCat, 'condition', state.invCondition)",374],["state.invQuery",376],["state.invSort",377],["state.invSort == 'priceAsc' ? sortBy(invSearched, 'price') : (state.invSort == 'priceDesc' ? sortBy(invSearched, 'price', 'desc') : invSearched)",378],["state.inventory",380],["state.leadContact",381],["state.promotions",390],["state.renderedAt == null ? '2025' : '' + datePart(state.renderedAt, 'year')",391],["state.websiteContent[0].mediaSets ?? []",392],["stockedCategories",393],["sumBy(cartRows, 'price')",394],["t",395],["telHref",396],["trim(event.value)",399],["trim(event.value) != ''",400],["trim(event.value) == '' && state.leadContact != null",401],["trim(state.checkout.email) == '' && trim(state.checkout.phone) == '' ? 'Add an email or phone so we can confirm your pickup.' : (trim(state.checkout.email) != '' && !contains(state.checkout.email, '@') ? 'That email looks incomplete.' : '')",402],["trim(state.checkout.name)",403],["trim(state.checkout.name) == '' ? 'Tell us who is picking up.' : ''",404],["trim(state.contactForm.email)",405],["trim(state.contactForm.email) == '' ? 'We need an email to reply to you.' : (!contains(state.contactForm.email, '@') || !contains(state.contactForm.email, '.') ? 'That email looks incomplete.' : '')",406],["trim(state.contactForm.message)",407],["trim(state.contactForm.message) == '' ? 'Let us know how we can help.' : ''",408],["trim(state.contactForm.name)",409],["trim(state.contactForm.name) == '' ? 'Tell us your name.' : ''",410],["trim(state.contactForm.phone)",411],["trim(state.invQuery) != '' || state.invCondition != 'all' || invCategoryId != ''",412],["trim(state.invQuery) == '' ? invByCond : searchBy(invByCond, 'haystack', trim(state.invQuery))",413],["unique(compact(concat(productHeroList, productMediaIds)))",414]],"templates":[[{"type":"text","value":"mui-v-CategoryStockTile-img "},{"type":"expr","expression":49,"padding":[" "," "]}],[{"type":"text","value":"mui-v-ListingCard-priceBig "},{"type":"expr","expression":44,"padding":[" "," "]}],[{"type":"text","value":"mui-v-ProductPage-addOn "},{"type":"expr","expression":38,"padding":[" "," "]}],[{"type":"text","value":"mui-v-ProductPage-priceBig "},{"type":"expr","expression":50,"padding":[" "," "]}],[{"type":"text","value":"mui-v-ProductPage-thumb "},{"type":"expr","expression":43,"padding":[" "," "]}],[{"type":"text","value":"mui-v-ProductPage-unitBtn "},{"type":"expr","expression":36,"padding":[" "," "]}],[{"type":"text","value":"mui-v-ProductPage-unitBtn "},{"type":"expr","expression":56,"padding":[" "," "]}],[{"type":"text","value":"mui-v-conditionTag "},{"type":"expr","expression":48,"padding":[" "," "]}],[{"type":"text","value":"mui-v-conditionTag "},{"type":"expr","expression":51,"padding":[" "," "]},{"type":"text","value":" mui-v-ProductPage-mainTag"}],[{"type":"text","value":"mui-v-drawerLink "},{"type":"expr","expression":45,"padding":[" "," "]}],[{"type":"text","value":"mui-v-fieldControl "},{"type":"expr","expression":39,"padding":[" "," "]}],[{"type":"text","value":"mui-v-fieldControl "},{"type":"expr","expression":40,"padding":[" "," "]},{"type":"text","value":" mui-v-ContactPage-textarea"}],[{"type":"text","value":"mui-v-fieldControl "},{"type":"expr","expression":41,"padding":[" "," "]}],[{"type":"text","value":"mui-v-fieldControl "},{"type":"expr","expression":53,"padding":[" "," "]}],[{"type":"text","value":"mui-v-fieldControl "},{"type":"expr","expression":54,"padding":[" "," "]}],[{"type":"text","value":"mui-v-navButton "},{"type":"expr","expression":46,"padding":[" "," "]}],[{"type":"expr","expression":0,"padding":[" "," "]}],[{"type":"expr","expression":1,"padding":[" "," "]}],[{"type":"expr","expression":2,"padding":[" "," "]}],[{"type":"expr","expression":3,"padding":[" "," "]}],[{"type":"expr","expression":4,"padding":[" "," "]}],[{"type":"expr","expression":5,"padding":[" "," "]}],[{"type":"expr","expression":6,"padding":[" "," "]}],[{"type":"expr","expression":7,"padding":[" "," "]}],[{"type":"expr","expression":8,"padding":[" "," "]}],[{"type":"expr","expression":9,"padding":[" "," "]}],[{"type":"expr","expression":10,"padding":[" "," "]}],[{"type":"expr","expression":11,"padding":[" "," "]}],[{"type":"expr","expression":12,"padding":[" "," "]}],[{"type":"expr","expression":13,"padding":[" "," "]}],[{"type":"expr","expression":14,"padding":[" "," "]}],[{"type":"expr","expression":15,"padding":[" "," "]}],[{"type":"expr","expression":16,"padding":[" "," "]}],[{"type":"expr","expression":17,"padding":[" "," "]}],[{"type":"expr","expression":18,"padding":[" "," "]}],[{"type":"expr","expression":19,"padding":[" "," "]}],[{"type":"expr","expression":20,"padding":[" "," "]}],[{"type":"expr","expression":21,"padding":[" "," "]}],[{"type":"expr","expression":22,"padding":[" "," "]}],[{"type":"expr","expression":23,"padding":[" "," "]}],[{"type":"expr","expression":24,"padding":[" "," "]}],[{"type":"expr","expression":25,"padding":[" "," "]}],[{"type":"expr","expression":26,"padding":[" "," "]}],[{"type":"expr","expression":27,"padding":[" "," "]}],[{"type":"expr","expression":28,"padding":[" "," "]}],[{"type":"expr","expression":29,"padding":[" "," "]}],[{"type":"expr","expression":30,"padding":[" "," "]}],[{"type":"expr","expression":31,"padding":[" "," "]}],[{"type":"expr","expression":32,"padding":[" "," "]}],[{"type":"expr","expression":33,"padding":[" "," "]}],[{"type":"expr","expression":34,"padding":[" "," "]}],[{"type":"expr","expression":35,"padding":[" "," "]}],[{"type":"expr","expression":37,"padding":[" "," "]}],[{"type":"expr","expression":42,"padding":[" "," "]}],[{"type":"expr","expression":47,"padding":[" "," "]}],[{"type":"expr","expression":52,"padding":[" "," "]}],[{"type":"expr","expression":55,"padding":[" "," "]}],[{"type":"expr","expression":57,"padding":[" "," "]}],[{"type":"expr","expression":58,"padding":[" "," "]}],[{"type":"expr","expression":60,"padding":[" "," "]}],[{"type":"expr","expression":59,"padding":[" "," "]}],[{"type":"expr","expression":61,"padding":[" "," "]}],[{"type":"expr","expression":62,"padding":[" "," "]}],[{"type":"expr","expression":63,"padding":[" "," "]}],[{"type":"expr","expression":64,"padding":[" "," "]}],[{"type":"expr","expression":65,"padding":[" "," "]}],[{"type":"expr","expression":66,"padding":[" "," "]}],[{"type":"expr","expression":67,"padding":[" "," "]}],[{"type":"expr","expression":73,"padding":[" "," "]}],[{"type":"expr","expression":74,"padding":[" "," "]}],[{"type":"expr","expression":75,"padding":[" "," "]}],[{"type":"expr","expression":76,"padding":[" "," "]}],[{"type":"expr","expression":78,"padding":[" "," "]}],[{"type":"expr","expression":79,"padding":[" "," "]}],[{"type":"expr","expression":81,"padding":[" "," "]}],[{"type":"expr","expression":80,"padding":[" "," "]}],[{"type":"expr","expression":82,"padding":[" "," "]}],[{"type":"expr","expression":83,"padding":[" "," "]}],[{"type":"expr","expression":92,"padding":[" "," "]}],[{"type":"expr","expression":93,"padding":[" "," "]}],[{"type":"expr","expression":91,"padding":[" "," "]}],[{"type":"expr","expression":94,"padding":[" "," "]}],[{"type":"expr","expression":95,"padding":[" "," "]}],[{"type":"expr","expression":97,"padding":[" "," "]}],[{"type":"expr","expression":96,"padding":[" "," "]}],[{"type":"expr","expression":98,"padding":[" "," "]}],[{"type":"expr","expression":99,"padding":[" "," "]}],[{"type":"expr","expression":100,"padding":[" "," "]}],[{"type":"expr","expression":101,"padding":[" "," "]}],[{"type":"expr","expression":103,"padding":[" "," "]}],[{"type":"expr","expression":104,"padding":[" "," "]}],[{"type":"expr","expression":102,"padding":[" "," "]}],[{"type":"expr","expression":106,"padding":[" "," "]}],[{"type":"expr","expression":107,"padding":[" "," "]}],[{"type":"expr","expression":105,"padding":[" "," "]}],[{"type":"expr","expression":109,"padding":[" "," "]}],[{"type":"expr","expression":110,"padding":[" "," "]}],[{"type":"expr","expression":108,"padding":[" "," "]}],[{"type":"expr","expression":112,"padding":[" "," "]}],[{"type":"expr","expression":113,"padding":[" "," "]}],[{"type":"expr","expression":114,"padding":[" "," "]}],[{"type":"expr","expression":115,"padding":[" "," "]}],[{"type":"expr","expression":116,"padding":[" "," "]}],[{"type":"expr","expression":117,"padding":[" "," "]}],[{"type":"expr","expression":118,"padding":[" "," "]}],[{"type":"expr","expression":119,"padding":[" "," "]}],[{"type":"expr","expression":120,"padding":[" "," "]}],[{"type":"expr","expression":121,"padding":[" "," "]}],[{"type":"expr","expression":123,"padding":[" "," "]}],[{"type":"expr","expression":124,"padding":[" "," "]}],[{"type":"expr","expression":122,"padding":[" "," "]}],[{"type":"expr","expression":125,"padding":[" "," "]}],[{"type":"expr","expression":127,"padding":[" "," "]}],[{"type":"expr","expression":126,"padding":[" "," "]}],[{"type":"expr","expression":128,"padding":[" "," "]}],[{"type":"expr","expression":129,"padding":[" "," "]}],[{"type":"expr","expression":130,"padding":[" "," "]}],[{"type":"expr","expression":131,"padding":[" "," "]}],[{"type":"expr","expression":132,"padding":[" "," "]}],[{"type":"expr","expression":133,"padding":[" "," "]}],[{"type":"expr","expression":134,"padding":[" "," "]}],[{"type":"expr","expression":135,"padding":[" "," "]}],[{"type":"expr","expression":136,"padding":[" "," "]}],[{"type":"expr","expression":137,"padding":[" "," "]}],[{"type":"expr","expression":138,"padding":[" "," "]}],[{"type":"expr","expression":140,"padding":[" "," "]}],[{"type":"expr","expression":141,"padding":[" "," "]}],[{"type":"expr","expression":142,"padding":[" "," "]}],[{"type":"expr","expression":144,"padding":[" "," "]}],[{"type":"expr","expression":145,"padding":[" "," "]}],[{"type":"expr","expression":143,"padding":[" "," "]}],[{"type":"expr","expression":146,"padding":[" "," "]}],[{"type":"expr","expression":147,"padding":[" "," "]}],[{"type":"expr","expression":148,"padding":[" "," "]}],[{"type":"expr","expression":149,"padding":[" "," "]}],[{"type":"expr","expression":150,"padding":[" "," "]}],[{"type":"expr","expression":151,"padding":[" "," "]}],[{"type":"expr","expression":152,"padding":[" "," "]}],[{"type":"expr","expression":153,"padding":[" "," "]}],[{"type":"expr","expression":154,"padding":[" "," "]}],[{"type":"expr","expression":155,"padding":[" "," "]}],[{"type":"expr","expression":156,"padding":[" "," "]}],[{"type":"expr","expression":157,"padding":[" "," "]}],[{"type":"expr","expression":158,"padding":[" "," "]}],[{"type":"expr","expression":159,"padding":[" "," "]}],[{"type":"expr","expression":161,"padding":[" "," "]}],[{"type":"expr","expression":162,"padding":[" "," "]}],[{"type":"expr","expression":163,"padding":[" "," "]}],[{"type":"expr","expression":160,"padding":[" "," "]}],[{"type":"expr","expression":164,"padding":[" "," "]}],[{"type":"expr","expression":165,"padding":[" "," "]}],[{"type":"expr","expression":166,"padding":[" "," "]}],[{"type":"expr","expression":167,"padding":[" "," "]}],[{"type":"expr","expression":168,"padding":[" "," "]}],[{"type":"expr","expression":169,"padding":[" "," "]}],[{"type":"expr","expression":170,"padding":[" "," "]}],[{"type":"expr","expression":171,"padding":[" "," "]}],[{"type":"expr","expression":172,"padding":[" "," "]}],[{"type":"expr","expression":173,"padding":[" "," "]}],[{"type":"expr","expression":175,"padding":[" "," "]}],[{"type":"expr","expression":174,"padding":[" "," "]}],[{"type":"expr","expression":176,"padding":[" "," "]}],[{"type":"expr","expression":177,"padding":[" "," "]}],[{"type":"expr","expression":178,"padding":[" "," "]}],[{"type":"expr","expression":179,"padding":[" "," "]}],[{"type":"expr","expression":180,"padding":[" "," "]}],[{"type":"expr","expression":181,"padding":[" "," "]}],[{"type":"expr","expression":182,"padding":[" "," "]}],[{"type":"expr","expression":183,"padding":[" "," "]}],[{"type":"expr","expression":184,"padding":[" "," "]}],[{"type":"expr","expression":185,"padding":[" "," "]}],[{"type":"expr","expression":186,"padding":[" "," "]}],[{"type":"expr","expression":187,"padding":[" "," "]}],[{"type":"expr","expression":188,"padding":[" "," "]}],[{"type":"expr","expression":189,"padding":[" "," "]}],[{"type":"expr","expression":190,"padding":[" "," "]}],[{"type":"expr","expression":191,"padding":[" "," "]}],[{"type":"expr","expression":192,"padding":[" "," "]}],[{"type":"expr","expression":194,"padding":[" "," "]}],[{"type":"expr","expression":193,"padding":[" "," "]}],[{"type":"expr","expression":195,"padding":[" "," "]}],[{"type":"expr","expression":196,"padding":[" "," "]}],[{"type":"expr","expression":208,"padding":[" "," "]}],[{"type":"expr","expression":207,"padding":[" "," "]}],[{"type":"expr","expression":209,"padding":[" "," "]}],[{"type":"expr","expression":206,"padding":[" "," "]}],[{"type":"expr","expression":210,"padding":[" "," "]}],[{"type":"expr","expression":212,"padding":[" "," "]}],[{"type":"expr","expression":211,"padding":[" "," "]}],[{"type":"expr","expression":214,"padding":[" "," "]}],[{"type":"expr","expression":215,"padding":[" "," "]}],[{"type":"expr","expression":216,"padding":[" "," "]}],[{"type":"expr","expression":217,"padding":[" "," "]}],[{"type":"expr","expression":220,"padding":[" "," "]}],[{"type":"expr","expression":221,"padding":[" "," "]}],[{"type":"expr","expression":223,"padding":[" "," "]}],[{"type":"expr","expression":222,"padding":[" "," "]}],[{"type":"expr","expression":224,"padding":[" "," "]}],[{"type":"expr","expression":226,"padding":[" "," "]}],[{"type":"expr","expression":225,"padding":[" "," "]}],[{"type":"expr","expression":227,"padding":[" "," "]}],[{"type":"expr","expression":228,"padding":[" "," "]}],[{"type":"expr","expression":229,"padding":[" "," "]}],[{"type":"expr","expression":230,"padding":[" "," "]}],[{"type":"expr","expression":231,"padding":[" "," "]}],[{"type":"expr","expression":233,"padding":[" "," "]}],[{"type":"expr","expression":232,"padding":[" "," "]}],[{"type":"expr","expression":234,"padding":[" "," "]}],[{"type":"expr","expression":235,"padding":[" "," "]}],[{"type":"expr","expression":236,"padding":[" "," "]}],[{"type":"expr","expression":237,"padding":[" "," "]}],[{"type":"expr","expression":238,"padding":[" "," "]}],[{"type":"expr","expression":240,"padding":[" "," "]}],[{"type":"expr","expression":239,"padding":[" "," "]}],[{"type":"expr","expression":241,"padding":[" "," "]}],[{"type":"expr","expression":242,"padding":[" "," "]}],[{"type":"expr","expression":244,"padding":[" "," "]}],[{"type":"expr","expression":243,"padding":[" "," "]}],[{"type":"expr","expression":245,"padding":[" "," "]}],[{"type":"expr","expression":248,"padding":[" "," "]}],[{"type":"expr","expression":249,"padding":[" "," "]}],[{"type":"expr","expression":250,"padding":[" "," "]}],[{"type":"expr","expression":251,"padding":[" "," "]}],[{"type":"expr","expression":252,"padding":[" "," "]}],[{"type":"expr","expression":253,"padding":[" "," "]}],[{"type":"expr","expression":257,"padding":[" "," "]}],[{"type":"expr","expression":256,"padding":[" "," "]}],[{"type":"expr","expression":258,"padding":[" "," "]}],[{"type":"expr","expression":259,"padding":[" "," "]}],[{"type":"expr","expression":261,"padding":[" "," "]}],[{"type":"expr","expression":263,"padding":[" "," "]}],[{"type":"expr","expression":262,"padding":[" "," "]}],[{"type":"expr","expression":264,"padding":[" "," "]}],[{"type":"expr","expression":265,"padding":[" "," "]}],[{"type":"expr","expression":266,"padding":[" "," "]}],[{"type":"expr","expression":268,"padding":[" "," "]}],[{"type":"expr","expression":267,"padding":[" "," "]}],[{"type":"expr","expression":269,"padding":[" "," "]}],[{"type":"expr","expression":270,"padding":[" "," "]}],[{"type":"expr","expression":271,"padding":[" "," "]}],[{"type":"expr","expression":272,"padding":[" "," "]}],[{"type":"expr","expression":273,"padding":[" "," "]}],[{"type":"expr","expression":274,"padding":[" "," "]}],[{"type":"expr","expression":275,"padding":[" "," "]}],[{"type":"expr","expression":276,"padding":[" "," "]}],[{"type":"expr","expression":277,"padding":[" "," "]}],[{"type":"expr","expression":279,"padding":[" "," "]}],[{"type":"expr","expression":278,"padding":[" "," "]}],[{"type":"expr","expression":280,"padding":[" "," "]}],[{"type":"expr","expression":281,"padding":[" "," "]}],[{"type":"expr","expression":282,"padding":[" "," "]}],[{"type":"expr","expression":283,"padding":[" "," "]}],[{"type":"expr","expression":285,"padding":[" "," "]}],[{"type":"expr","expression":284,"padding":[" "," "]}],[{"type":"expr","expression":286,"padding":[" "," "]}],[{"type":"expr","expression":287,"padding":[" "," "]}],[{"type":"expr","expression":288,"padding":[" "," "]}],[{"type":"expr","expression":289,"padding":[" "," "]}],[{"type":"expr","expression":290,"padding":[" "," "]}],[{"type":"expr","expression":291,"padding":[" "," "]}],[{"type":"expr","expression":293,"padding":[" "," "]}],[{"type":"expr","expression":292,"padding":[" "," "]}],[{"type":"expr","expression":294,"padding":[" "," "]}],[{"type":"expr","expression":295,"padding":[" "," "]}],[{"type":"expr","expression":296,"padding":[" "," "]}],[{"type":"expr","expression":297,"padding":[" "," "]}],[{"type":"expr","expression":298,"padding":[" "," "]}],[{"type":"expr","expression":299,"padding":[" "," "]}],[{"type":"expr","expression":300,"padding":[" "," "]}],[{"type":"expr","expression":301,"padding":[" "," "]}],[{"type":"expr","expression":302,"padding":[" "," "]}],[{"type":"expr","expression":303,"padding":[" "," "]}],[{"type":"expr","expression":304,"padding":[" "," "]}],[{"type":"expr","expression":305,"padding":[" "," "]}],[{"type":"expr","expression":306,"padding":[" "," "]}],[{"type":"expr","expression":308,"padding":[" "," "]}],[{"type":"expr","expression":309,"padding":[" "," "]}],[{"type":"expr","expression":310,"padding":[" "," "]}],[{"type":"expr","expression":311,"padding":[" "," "]}],[{"type":"expr","expression":312,"padding":[" "," "]}],[{"type":"expr","expression":313,"padding":[" "," "]}],[{"type":"expr","expression":314,"padding":[" "," "]}],[{"type":"expr","expression":315,"padding":[" "," "]}],[{"type":"expr","expression":316,"padding":[" "," "]}],[{"type":"expr","expression":317,"padding":[" "," "]}],[{"type":"expr","expression":318,"padding":[" "," "]}],[{"type":"expr","expression":319,"padding":[" "," "]}],[{"type":"expr","expression":320,"padding":[" "," "]}],[{"type":"expr","expression":325,"padding":[" "," "]}],[{"type":"expr","expression":326,"padding":[" "," "]}],[{"type":"expr","expression":327,"padding":[" "," "]}],[{"type":"expr","expression":328,"padding":[" "," "]}],[{"type":"expr","expression":329,"padding":[" "," "]}],[{"type":"expr","expression":331,"padding":[" "," "]}],[{"type":"expr","expression":333,"padding":[" "," "]}],[{"type":"expr","expression":335,"padding":[" "," "]}],[{"type":"expr","expression":336,"padding":[" "," "]}],[{"type":"expr","expression":337,"padding":[" "," "]}],[{"type":"expr","expression":338,"padding":[" "," "]}],[{"type":"expr","expression":339,"padding":[" "," "]}],[{"type":"expr","expression":340,"padding":[" "," "]}],[{"type":"expr","expression":341,"padding":[" "," "]}],[{"type":"expr","expression":342,"padding":[" "," "]}],[{"type":"expr","expression":343,"padding":[" "," "]}],[{"type":"expr","expression":344,"padding":[" "," "]}],[{"type":"expr","expression":345,"padding":[" "," "]}],[{"type":"expr","expression":348,"padding":[" "," "]}],[{"type":"expr","expression":347,"padding":[" "," "]}],[{"type":"expr","expression":350,"padding":[" "," "]}],[{"type":"expr","expression":351,"padding":[" "," "]}],[{"type":"expr","expression":349,"padding":[" "," "]}],[{"type":"expr","expression":352,"padding":[" "," "]}],[{"type":"expr","expression":353,"padding":[" "," "]}],[{"type":"expr","expression":354,"padding":[" "," "]}],[{"type":"expr","expression":355,"padding":[" "," "]}],[{"type":"expr","expression":356,"padding":[" "," "]}],[{"type":"expr","expression":357,"padding":[" "," "]}],[{"type":"expr","expression":358,"padding":[" "," "]}],[{"type":"expr","expression":359,"padding":[" "," "]}],[{"type":"expr","expression":360,"padding":[" "," "]}],[{"type":"expr","expression":361,"padding":[" "," "]}],[{"type":"expr","expression":363,"padding":[" "," "]}],[{"type":"expr","expression":362,"padding":[" "," "]}],[{"type":"expr","expression":364,"padding":[" "," "]}],[{"type":"expr","expression":365,"padding":[" "," "]}],[{"type":"expr","expression":366,"padding":[" "," "]}],[{"type":"expr","expression":367,"padding":[" "," "]}],[{"type":"expr","expression":368,"padding":[" "," "]}],[{"type":"expr","expression":369,"padding":[" "," "]}],[{"type":"expr","expression":370,"padding":[" "," "]}],[{"type":"expr","expression":371,"padding":[" "," "]}],[{"type":"expr","expression":372,"padding":[" "," "]}],[{"type":"expr","expression":374,"padding":[" "," "]}],[{"type":"expr","expression":375,"padding":[" "," "]}],[{"type":"expr","expression":373,"padding":[" "," "]}],[{"type":"expr","expression":376,"padding":[" "," "]}],[{"type":"expr","expression":378,"padding":[" "," "]}],[{"type":"expr","expression":379,"padding":[" "," "]}],[{"type":"expr","expression":377,"padding":[" "," "]}],[{"type":"expr","expression":381,"padding":[" "," "]}],[{"type":"expr","expression":382,"padding":[" "," "]}],[{"type":"expr","expression":383,"padding":[" "," "]}],[{"type":"expr","expression":384,"padding":[" "," "]}],[{"type":"expr","expression":386,"padding":[" "," "]}],[{"type":"expr","expression":385,"padding":[" "," "]}],[{"type":"expr","expression":387,"padding":[" "," "]}],[{"type":"expr","expression":388,"padding":[" "," "]}],[{"type":"expr","expression":389,"padding":[" "," "]}],[{"type":"expr","expression":391,"padding":[" "," "]}],[{"type":"expr","expression":392,"padding":[" "," "]}],[{"type":"expr","expression":393,"padding":[" "," "]}],[{"type":"expr","expression":394,"padding":[" "," "]}],[{"type":"expr","expression":395,"padding":[" "," "]}],[{"type":"expr","expression":396,"padding":[" "," "]}],[{"type":"expr","expression":397,"padding":[" "," "]}],[{"type":"expr","expression":398,"padding":[" "," "]}],[{"type":"expr","expression":400,"padding":[" "," "]}],[{"type":"expr","expression":401,"padding":[" "," "]}],[{"type":"expr","expression":399,"padding":[" "," "]}],[{"type":"expr","expression":402,"padding":[" "," "]}],[{"type":"expr","expression":404,"padding":[" "," "]}],[{"type":"expr","expression":403,"padding":[" "," "]}],[{"type":"expr","expression":406,"padding":[" "," "]}],[{"type":"expr","expression":405,"padding":[" "," "]}],[{"type":"expr","expression":408,"padding":[" "," "]}],[{"type":"expr","expression":407,"padding":[" "," "]}],[{"type":"expr","expression":410,"padding":[" "," "]}],[{"type":"expr","expression":409,"padding":[" "," "]}],[{"type":"expr","expression":411,"padding":[" "," "]}],[{"type":"expr","expression":412,"padding":[" "," "]}],[{"type":"expr","expression":413,"padding":[" "," "]}],[{"type":"expr","expression":414,"padding":[" "," "]}]]},"state":{"identities":[{"path":"addOnSel","segments":["addOnSel"],"expr":"productId"},{"path":"galleryId","segments":["galleryId"],"expr":"productId"}],"contracts":{"version":null,"invariants":[],"migrations":[]},"analysis":{"version":null,"invariants":[],"migrations":[]},"invariants":[],"migrations":[]},"routes":{"declared":true,"table":[{"pattern":"/","segs":[],"name":"home","chain":["home"],"params":{},"query":{},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"Home"},"warm":false},{"pattern":"/contact","segs":["contact"],"name":"contact","chain":["contact"],"params":{},"query":{},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"ContactPage"},"warm":false},{"pattern":"/inventory","segs":["inventory"],"name":"inventory","chain":["inventory"],"params":{},"query":{"category":"string","promotionId":"string"},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"InventoryPage"},"warm":false},{"pattern":"/inventory/:id","segs":["inventory",":id"],"name":"product","chain":["product"],"params":{"id":"string"},"query":{},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"ProductPage","props":{"id":"{{ route.params.id }}"}},"warm":false}],"analysis":{"routes":[{"pattern":"/","name":"home","params":{},"query":{},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"Home"},"warm":false,"chain":["home"],"parent":null,"dynamic":false,"shadowedBy":null},{"pattern":"/contact","name":"contact","params":{},"query":{},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"ContactPage"},"warm":false,"chain":["contact"],"parent":null,"dynamic":false,"shadowedBy":null},{"pattern":"/inventory","name":"inventory","params":{},"query":{"category":"string","promotionId":"string"},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"InventoryPage"},"warm":false,"chain":["inventory"],"parent":null,"dynamic":false,"shadowedBy":null},{"pattern":"/inventory/:id","name":"product","params":{"id":"string"},"query":{},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"ProductPage","props":{"id":"{{ route.params.id }}"}},"warm":false,"chain":["product"],"parent":null,"dynamic":true,"shadowedBy":null}],"componentEdges":[{"from":"/","to":"Home","rel":"screen"},{"from":"/contact","to":"ContactPage","rel":"screen"},{"from":"/inventory","to":"InventoryPage","rel":"screen"},{"from":"/inventory/:id","to":"ProductPage","rel":"screen"}],"guarded":[],"redirects":[],"names":["home","contact","inventory","product"]},"reachability":{"nodes":[{"pattern":"/","name":"home","params":{},"query":{},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"Home"},"warm":false,"chain":["home"],"parent":null,"dynamic":false,"shadowedBy":null,"deepLinkable":true},{"pattern":"/contact","name":"contact","params":{},"query":{},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"ContactPage"},"warm":false,"chain":["contact"],"parent":null,"dynamic":false,"shadowedBy":null,"deepLinkable":true},{"pattern":"/inventory","name":"inventory","params":{},"query":{"category":"string","promotionId":"string"},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"InventoryPage"},"warm":false,"chain":["inventory"],"parent":null,"dynamic":false,"shadowedBy":null,"deepLinkable":true},{"pattern":"/inventory/:id","name":"product","params":{"id":"string"},"query":{},"guard":null,"redirect":null,"layouts":[],"screen":{"component":"ProductPage","props":{"id":"{{ route.params.id }}"}},"warm":false,"chain":["product"],"parent":null,"dynamic":true,"shadowedBy":null,"deepLinkable":true}],"edges":[{"from":null,"to":["home"],"via":"/","dynamic":false},{"from":null,"to":["home","contact","inventory","product"],"via":"{{ item.href }}","dynamic":true,"repeat":{"as":"item","items":"{{ constants.navItems }}"}},{"from":["home"],"to":["inventory"],"via":"/inventory","dynamic":false},{"from":["home"],"to":["contact"],"via":"/contact","dynamic":false},{"from":["home"],"to":["home","contact","inventory","product"],"via":"{{ '/inventory?promotionId=' + promo.id }}","dynamic":true,"repeat":{"as":"promo","items":"{{ promoSorted }}"}},{"from":["home"],"to":["home","contact","inventory","product"],"via":"{{ '/inventory?category=' + cat.id }}","dynamic":true,"repeat":{"as":"cat","items":"{{ stockedCategories }}"}},{"from":["contact"],"to":["home","contact","inventory","product"],"via":"{{ telHref }}","dynamic":true},{"from":["contact"],"to":["home","contact","inventory","product"],"via":"{{ telHref }}","dynamic":true},{"from":["contact"],"to":["home","contact","inventory","product"],"via":"{{ 'mailto:' + locEmail }}","dynamic":true},{"from":["inventory"],"to":["home","contact","inventory","product"],"via":"{{ telHref }}","dynamic":true},{"from":["inventory"],"to":["home","contact","inventory","product"],"via":"{{ '/inventory/' + item.id }}","dynamic":true,"repeat":{"as":"item","items":"{{ invVisible }}"}},{"from":["inventory"],"to":["home","contact","inventory","product"],"via":"{{ '/inventory/' + item.id }}","dynamic":true,"repeat":{"as":"item","items":"{{ invVisible }}"}},{"from":["product"],"to":["inventory"],"via":"/inventory","dynamic":false},{"from":["product"],"to":["inventory"],"via":"/inventory","dynamic":false},{"from":["product"],"to":["home","contact","inventory","product"],"via":"{{ '/inventory?promotionId=' + productPromo.id }}","dynamic":true},{"from":["product"],"to":["home","contact","inventory","product"],"via":"{{ telHref }}","dynamic":true},{"from":["product"],"to":["home","contact","inventory","product"],"via":"{{ '/inventory/' + item.id }}","dynamic":true,"repeat":{"as":"item","items":"{{ moreLike }}"}},{"from":["product"],"to":["home","contact","inventory","product"],"via":"{{ '/inventory/' + item.id }}","dynamic":true,"repeat":{"as":"item","items":"{{ moreLike }}"}},{"from":null,"to":["home","contact","inventory","product"],"via":"{{ item.href }}","dynamic":true,"repeat":{"as":"item","items":"{{ constants.navItems }}"}},{"from":null,"to":["home","contact","inventory","product"],"via":"{{ telHref }}","dynamic":true},{"from":null,"to":["home","contact","inventory","product"],"via":"{{ 'mailto:' + locEmail }}","dynamic":true},{"from":null,"to":["home","contact","inventory","product"],"via":"{{ item.href }}","dynamic":true,"repeat":{"as":"item","items":"{{ constants.navItems }}"}},{"from":null,"to":["home","contact","inventory","product"],"via":"{{ telHref }}","dynamic":true},{"from":null,"to":["inventory"],"via":"/inventory","dynamic":false},{"from":null,"to":["home","contact","inventory","product"],"via":"{{ '/inventory/' + line.id }}","dynamic":true,"repeat":{"as":"line","items":"{{ cartRows }}"}}],"componentEdges":[{"from":"/","to":"Home","rel":"screen"},{"from":"/contact","to":"ContactPage","rel":"screen"},{"from":"/inventory","to":"InventoryPage","rel":"screen"},{"from":"/inventory/:id","to":"ProductPage","rel":"screen"}],"entry":"home","reachable":["home","contact","inventory","product"],"orphans":[],"deadEnds":[],"guarded":[],"summary":{"routes":4,"reachable":4,"orphans":0,"deadEnds":0,"guarded":0,"edges":25}}},"head":{"base":{"og":{},"twitter":{},"meta":[],"links":[],"title":"Ironline Equipment Co. · Outdoor power equipment","description":"Outdoor power equipment, parts and service with straightforward advice. Gear up. Get to work.","lang":"en","viewport":"width=device-width, initial-scale=1","themeColor":"#252a27","colorScheme":"light"},"baseFields":["colorScheme","description","lang","themeColor","title","viewport"],"routes":[{"pattern":"/contact","name":"contact","head":{"og":{},"twitter":{},"meta":[],"links":[],"title":"Contact · Ironline Equipment Co."}},{"pattern":"/inventory","name":"inventory","head":{"og":{},"twitter":{},"meta":[],"links":[],"title":"Inventory · Ironline Equipment Co."}},{"pattern":"/inventory/:id","name":"product","head":{"og":{},"twitter":{},"meta":[],"links":[],"title":"Equipment · Ironline Equipment Co."}}]},"resume":{"events":["change","click","input","keydown","submit"],"hasUse":true},"triggers":{"decls":[],"attachments":{"clock":[],"commit":[],"inbox":[],"durable-schedule":[]},"durableCount":0,"durableSchedules":[]},"agents":{"decls":[],"declared":false,"webSearchGranted":false},"motion":{"structural":{"exit":[["scrimOut",{"keyframes":[{"offset":0,"opacity":"1"},{"offset":1,"opacity":"0"}],"options":{"duration":140,"easing":"ease-in","delay":0,"iterations":1,"direction":"normal","fill":"both"},"reduce":"keep","reduceKeyframes":null,"reduceOptions":null}]],"move":[]},"runtime":[]},"dataDemand":{"bindings":[{"slot":"categories","collection":"categories","key":"id","name":"categories","source":"opehub","live":false,"access":{"read":[{"actors":["visitor"]}]},"scopes":{},"fields":{"brandId":{"type":"string","optional":false},"catalogId":{"type":"string","optional":false},"id":{"type":"string","optional":false},"mediaFile":{"type":"object","optional":true},"name":{"type":"string","optional":false},"weight":{"type":"number","optional":false}},"mutations":{},"paged":false,"notify":{"ok":null,"problem":"silent"}},{"slot":"contact","collection":"messages","key":"id","name":"contact","source":"formEmail","live":false,"access":{"read":[{"actors":["visitor"]}],"create":[{"actors":["visitor"]}]},"scopes":{},"fields":{"email":{"type":"string","optional":false},"id":{"type":"string","optional":false},"message":{"type":"string","optional":false},"name":{"type":"string","optional":false},"phone":{"type":"string","optional":false},"topic":{"type":"string","optional":false}},"mutations":{"create":{"fields":["name","email","phone","topic","message"],"required":[]}},"paged":false,"notify":{"ok":null,"problem":"silent"}},{"slot":"dealer","collection":"dealer","key":"id","name":"dealer","source":"opehub","live":false,"access":{"read":[{"actors":["visitor"]}]},"scopes":{},"fields":{"branding":{"type":"object","optional":true},"id":{"type":"string","optional":false},"locations":{"type":"array","optional":false},"logo":{"type":"object","optional":true},"name":{"type":"string","optional":false},"website":{"type":"string","optional":true}},"mutations":{},"paged":false,"notify":{"ok":null,"problem":"silent"}},{"slot":"inventory","collection":"inventory","key":"id","name":"inventory","source":"opehub","live":false,"access":{"read":[{"actors":["visitor"]}]},"scopes":{},"fields":{"addOns":{"type":"array","optional":false},"adjustments":{"type":"array","optional":false},"cashPrice":{"type":"number","optional":true},"condition":{"type":"string","optional":false},"createdAt":{"type":"string","optional":false},"description":{"type":"string","optional":false},"finance":{"type":"object","optional":true},"hours":{"type":"number","optional":true},"id":{"type":"string","optional":false},"locationId":{"type":"string","optional":false},"media":{"type":"array","optional":false},"mediaFile":{"type":"object","optional":true},"name":{"type":"string","optional":false},"price":{"type":"number","optional":false},"promotionIds":{"type":"array","optional":false},"status":{"type":"string","optional":false},"stockNumber":{"type":"string","optional":true},"updatedAt":{"type":"string","optional":false},"wholegood":{"type":"object","optional":false}},"mutations":{},"paged":false,"notify":{"ok":null,"problem":"silent"}},{"slot":"pickupOrders","collection":"websiteLeads","key":"id","name":"pickupOrders","source":"opehubLeads","live":false,"access":{"read":[{"actors":["visitor"]}],"create":[{"actors":["visitor"]}]},"scopes":{},"fields":{"addOnSelections":{"type":"array","optional":true},"contact":{"type":"object","optional":false},"customerName":{"type":"string","optional":false},"id":{"type":"string","optional":false},"inventoryIds":{"type":"array","optional":false}},"mutations":{"create":{"fields":["customerName","contact","inventoryIds","addOnSelections"],"required":["customerName","contact","inventoryIds"]}},"paged":false,"notify":{"ok":null,"problem":"silent"}},{"slot":"promotions","collection":"promotions","key":"id","name":"promotions","source":"opehub","live":false,"access":{"read":[{"actors":["visitor"]}]},"scopes":{},"fields":{"brandId":{"type":"string","optional":false},"description":{"type":"string","optional":false},"discount":{"type":"number","optional":false},"ends":{"type":"string","optional":false},"id":{"type":"string","optional":false},"inventoryCount":{"type":"number","optional":false},"name":{"type":"string","optional":false},"starts":{"type":"string","optional":false},"type":{"type":"string","optional":false},"weight":{"type":"number","optional":false}},"mutations":{},"paged":false,"notify":{"ok":null,"problem":"silent"}},{"slot":"websiteContent","collection":"websiteContent","key":"revision","name":"websiteContent","source":"opehub","live":false,"access":{"read":[{"actors":["visitor"]}]},"scopes":{},"fields":{"builtAt":{"type":"string","optional":false},"mediaSets":{"type":"array","optional":false},"revision":{"type":"string","optional":false},"validUntil":{"type":"string","optional":false}},"mutations":{},"paged":false,"notify":{"ok":null,"problem":"silent"}},{"slot":"wholegoods","collection":"wholegoods","key":"id","name":"wholegoods","source":"opehub","live":false,"access":{"read":[{"actors":["visitor"]}]},"scopes":{},"fields":{"brandId":{"type":"string","optional":false},"catalogId":{"type":"string","optional":false},"categoryId":{"type":"string","optional":false},"features":{"type":"array","optional":false},"id":{"type":"string","optional":false},"mediaFile":{"type":"object","optional":true},"name":{"type":"string","optional":false},"resources":{"type":"array","optional":false},"sku":{"type":"string","optional":false},"specs":{"type":"array","optional":false},"subtitle":{"type":"string","optional":true}},"mutations":{},"paged":false,"notify":{"ok":null,"problem":"silent"}}],"computed":[{"cell":"activePromo","data":["promotions"],"computed":["invPromoId"],"conservative":false},{"cell":"addOnRows","data":[],"computed":["addOnSelected"],"conservative":false},{"cell":"addOnSelected","data":[],"computed":["productAddOns"],"conservative":false},{"cell":"availableCats","data":[],"computed":["availableInventory"],"conservative":false},{"cell":"availableImageFirst","data":[],"computed":["availableImaged"],"conservative":false},{"cell":"availableImaged","data":[],"computed":["availableCats"],"conservative":false},{"cell":"availableInventory","data":["inventory"],"computed":[],"conservative":false},{"cell":"cartCount","data":[],"computed":[],"conservative":false},{"cell":"cartListings","data":[],"computed":["invTermRows"],"conservative":false},{"cell":"cartRows","data":[],"computed":["cartRows0"],"conservative":false},{"cell":"cartRows0","data":[],"computed":["cartListings"],"conservative":false},{"cell":"cartSubtotal","data":[],"computed":["cartRows"],"conservative":false},{"cell":"catCounts","data":[],"computed":["availableCats"],"conservative":false},{"cell":"categoriesCounted","data":["categories"],"computed":["catCounts"],"conservative":false},{"cell":"categoriesImageAll","data":[],"computed":["categoriesStockRows"],"conservative":false},{"cell":"categoriesImageCompact","data":[],"computed":["categoriesImageAll"],"conservative":false},{"cell":"categoriesImageIds","data":[],"computed":["categoriesImageUnique"],"conservative":false},{"cell":"categoriesImageUnique","data":[],"computed":["categoriesImageCompact"],"conservative":false},{"cell":"categoriesImaged","data":[],"computed":["categoriesStockItem"],"conservative":false},{"cell":"categoriesStockItem","data":[],"computed":["availableImageFirst","categoriesCounted"],"conservative":false},{"cell":"categoriesStockRows","data":[],"computed":["availableImaged","categoriesImaged"],"conservative":false},{"cell":"cfBusy","data":[],"computed":[],"conservative":false},{"cell":"cfEmailErr","data":[],"computed":[],"conservative":false},{"cell":"cfMsgErr","data":[],"computed":[],"conservative":false},{"cell":"cfNameErr","data":[],"computed":[],"conservative":false},{"cell":"cfProblem","data":[],"computed":[],"conservative":false},{"cell":"cfReady","data":[],"computed":["cfEmailErr","cfMsgErr","cfNameErr"],"conservative":false},{"cell":"cfShowEmail","data":[],"computed":["cfEmailErr"],"conservative":false},{"cell":"cfShowMsg","data":[],"computed":["cfMsgErr"],"conservative":false},{"cell":"cfShowName","data":[],"computed":["cfNameErr"],"conservative":false},{"cell":"coBusy","data":[],"computed":[],"conservative":false},{"cell":"coContactErr","data":[],"computed":[],"conservative":false},{"cell":"coNameErr","data":[],"computed":[],"conservative":false},{"cell":"coProblem","data":[],"computed":[],"conservative":false},{"cell":"coReady","data":[],"computed":["coContactErr","coNameErr"],"conservative":false},{"cell":"dealerLogoId","data":["dealer"],"computed":[],"conservative":false},{"cell":"dealerName","data":["dealer"],"computed":[],"conservative":false},{"cell":"directionsUrl","data":[],"computed":["locAddress","locCityLine"],"conservative":false},{"cell":"disclosureFinance","data":[],"computed":["disclosureListing"],"conservative":false},{"cell":"disclosureListing","data":["inventory"],"computed":[],"conservative":false},{"cell":"disclosureName","data":[],"computed":["disclosureListing"],"conservative":false},{"cell":"featureRows","data":[],"computed":["productFeatures"],"conservative":false},{"cell":"galleryActive","data":[],"computed":["galleryIds"],"conservative":false},{"cell":"galleryIds","data":[],"computed":["productHeroList","productMediaIds"],"conservative":false},{"cell":"inv1","data":["inventory"],"computed":[],"conservative":false},{"cell":"inv2","data":[],"computed":["inv1"],"conservative":false},{"cell":"inv3","data":[],"computed":["inv2","invPromoId"],"conservative":false},{"cell":"inv4","data":[],"computed":["inv3","invPromoId"],"conservative":false},{"cell":"inv5","data":["promotions"],"computed":["inv4"],"conservative":false},{"cell":"inv6","data":[],"computed":["inv5"],"conservative":false},{"cell":"inv7","data":[],"computed":["inv6"],"conservative":false},{"cell":"inv8","data":[],"computed":["inv7"],"conservative":false},{"cell":"inv9","data":[],"computed":["inv8"],"conservative":false},{"cell":"invByCat","data":[],"computed":["invByPromo","invCategoryId"],"conservative":false},{"cell":"invByCond","data":[],"computed":["invByCat"],"conservative":false},{"cell":"invByPromo","data":[],"computed":["invPromoId","invTermRows"],"conservative":false},{"cell":"invCategoryId","data":[],"computed":[],"conservative":false},{"cell":"invCount","data":[],"computed":["invVisible"],"conservative":false},{"cell":"invFiltered","data":[],"computed":["invCategoryId"],"conservative":false},{"cell":"invLoading","data":[],"computed":["invTotal"],"conservative":false},{"cell":"invPromoId","data":[],"computed":[],"conservative":false},{"cell":"invRows","data":[],"computed":["inv9"],"conservative":false},{"cell":"invSearched","data":[],"computed":["invByCond"],"conservative":false},{"cell":"invSorted","data":[],"computed":["invSearched"],"conservative":false},{"cell":"invTermRows","data":[],"computed":["invRows"],"conservative":false},{"cell":"invTotal","data":["inventory"],"computed":[],"conservative":false},{"cell":"invVisible","data":[],"computed":["invSorted"],"conservative":false},{"cell":"locAddress","data":["dealer"],"computed":[],"conservative":false},{"cell":"locCityLine","data":["dealer"],"computed":[],"conservative":false},{"cell":"locEmail","data":["dealer"],"computed":[],"conservative":false},{"cell":"locPhone","data":["dealer"],"computed":[],"conservative":false},{"cell":"mediaSets","data":["websiteContent"],"computed":[],"conservative":false},{"cell":"mediaSetsKeyed","data":[],"computed":["mediaSets"],"conservative":false},{"cell":"moreLike","data":[],"computed":["invTermRows","productId","productRow"],"conservative":false},{"cell":"navSection","data":[],"computed":[],"conservative":false},{"cell":"phoneDisplay","data":[],"computed":["locPhone"],"conservative":false},{"cell":"productAddOns","data":[],"computed":["productRow"],"conservative":false},{"cell":"productFeatures","data":[],"computed":["productWg"],"conservative":false},{"cell":"productHeroList","data":[],"computed":["productImageId"],"conservative":false},{"cell":"productId","data":[],"computed":[],"conservative":false},{"cell":"productImageId","data":[],"computed":["productRow"],"conservative":false},{"cell":"productInCart","data":[],"computed":["productId"],"conservative":false},{"cell":"productMediaIds","data":[],"computed":["productMediaList"],"conservative":false},{"cell":"productMediaList","data":[],"computed":["productRow"],"conservative":false},{"cell":"productPromo","data":[],"computed":["productRow"],"conservative":false},{"cell":"productResources","data":[],"computed":["productWg"],"conservative":false},{"cell":"productRow","data":[],"computed":["invTermRows","productId"],"conservative":false},{"cell":"productSpecs","data":[],"computed":["productWg"],"conservative":false},{"cell":"productWg","data":["wholegoods"],"computed":["productRow"],"conservative":false},{"cell":"promoDesktop","data":[],"computed":["promoHeroes"],"conservative":false},{"cell":"promoDesktopId","data":[],"computed":["promoDesktop"],"conservative":false},{"cell":"promoHeroAlt","data":[],"computed":["promoDesktop"],"conservative":false},{"cell":"promoHeroes","data":[],"computed":["promoSet"],"conservative":false},{"cell":"promoList","data":[],"computed":["promoWithSet"],"conservative":false},{"cell":"promoMobile","data":[],"computed":["promoHeroes"],"conservative":false},{"cell":"promoMobileId","data":[],"computed":["promoMobile"],"conservative":false},{"cell":"promoSet","data":[],"computed":["invPromoId","mediaSetsKeyed"],"conservative":false},{"cell":"promoSorted","data":[],"computed":["promoList"],"conservative":false},{"cell":"promoWithSet","data":["promotions"],"computed":["mediaSetsKeyed"],"conservative":false},{"cell":"specGroups","data":[],"computed":["productSpecs"],"conservative":false},{"cell":"stockedCategories","data":[],"computed":["categoriesImageIds"],"conservative":false},{"cell":"telHref","data":[],"computed":["locPhone"],"conservative":false},{"cell":"year","data":[],"computed":[],"conservative":false}],"queries":[{"slot":"categories","data":[]},{"slot":"contact","data":[]},{"slot":"dealer","data":[]},{"slot":"inventory","data":[]},{"slot":"pickupOrders","data":[]},{"slot":"promotions","data":[]},{"slot":"websiteContent","data":[]},{"slot":"wholegoods","data":[]}],"standing":[],"triggers":[],"agents":[]},"scope":{"computed":{"cells":{"activePromo":"{{ invPromoId == '' ? null : findBy(state.promotions, 'id', invPromoId) }}","addOnRows":{"expr":"{{ row.mediaFile.cloudinaryId ?? '' }}","over":{"as":"row","items":"$addOnSelected"},"set":"imageId"},"addOnSelected":{"args":{"arr":"$state.addOnSel","v":"$row.id"},"fn":"includes","over":{"as":"row","items":"$productAddOns"},"set":"selected"},"availableCats":{"expr":"{{ row.wholegood.categoryId }}","over":{"as":"row","items":"$availableInventory"},"set":"categoryId"},"availableImageFirst":"{{ concat(nth(partition(availableImaged, 'imageId', ''), 1), nth(partition(availableImaged, 'imageId', ''), 0)) }}","availableImaged":{"expr":"{{ row.mediaFile.cloudinaryId ?? '' }}","over":{"as":"row","items":"$availableCats"},"set":"imageId"},"availableInventory":"{{ filterBy(state.inventory, 'status', 'available') }}","cartCount":"{{ count(state.cart) }}","cartListings":{"args":{"key":"id","list":"$invTermRows","value":"$cid"},"fn":"findBy","over":{"as":"cid","items":"$state.cart"}},"cartRows":{"args":{"key":"inventoryId","list":"$state.cartAddOns","value":"$row.id"},"fn":"findBy","over":{"as":"row","items":"$cartRows0"},"set":"sel"},"cartRows0":"{{ compact(cartListings) }}","cartSubtotal":"{{ sumBy(cartRows, 'price') }}","catCounts":"{{ countBy(availableCats, 'categoryId') }}","categoriesCounted":{"expr":"{{ catCounts[row.id] ?? 0 }}","over":{"as":"row","items":"$state.categories"},"set":"stockCount"},"categoriesImageAll":{"args":{"key":"imageId","list":"$row.stockRows"},"fn":"pluck","over":{"as":"row","items":"$categoriesStockRows"},"set":"imageAll"},"categoriesImageCompact":{"args":{"list":"$row.imageAll"},"fn":"compact","over":{"as":"row","items":"$categoriesImageAll"},"set":"imageCompact"},"categoriesImageIds":{"args":{"list":"$row.imageUnique","n":6},"fn":"take","over":{"as":"row","items":"$categoriesImageUnique"},"set":"imageIds"},"categoriesImageUnique":{"args":{"list":"$row.imageCompact"},"fn":"unique","over":{"as":"row","items":"$categoriesImageCompact"},"set":"imageUnique"},"categoriesImaged":{"expr":"{{ row.stockItem.imageId ?? '' }}","over":{"as":"row","items":"$categoriesStockItem"},"set":"imageId"},"categoriesStockItem":{"args":{"key":"categoryId","list":"$availableImageFirst","value":"$row.id"},"fn":"findBy","over":{"as":"row","items":"$categoriesCounted"},"set":"stockItem"},"categoriesStockRows":{"args":{"key":"categoryId","list":"$availableImaged","value":"$row.id"},"fn":"filterBy","over":{"as":"row","items":"$categoriesImaged"},"set":"stockRows"},"cfBusy":"{{ fx.contact.busy }}","cfEmailErr":"{{ trim(state.contactForm.email) == '' ? 'We need an email to reply to you.' : (!contains(state.contactForm.email, '@') || !contains(state.contactForm.email, '.') ? 'That email looks incomplete.' : '') }}","cfMsgErr":"{{ trim(state.contactForm.message) == '' ? 'Let us know how we can help.' : '' }}","cfNameErr":"{{ trim(state.contactForm.name) == '' ? 'Tell us your name.' : '' }}","cfProblem":"{{ fx.contact.effect == 'write' ? fx.contact.problem : null }}","cfReady":"{{ cfNameErr == '' && cfEmailErr == '' && cfMsgErr == '' }}","cfShowEmail":"{{ state.contactForm.attempted && cfEmailErr != '' }}","cfShowMsg":"{{ state.contactForm.attempted && cfMsgErr != '' }}","cfShowName":"{{ state.contactForm.attempted && cfNameErr != '' }}","coBusy":"{{ fx.pickupOrders.busy }}","coContactErr":"{{ trim(state.checkout.email) == '' && trim(state.checkout.phone) == '' ? 'Add an email or phone so we can confirm your pickup.' : (trim(state.checkout.email) != '' && !contains(state.checkout.email, '@') ? 'That email looks incomplete.' : '') }}","coNameErr":"{{ trim(state.checkout.name) == '' ? 'Tell us who is picking up.' : '' }}","coProblem":"{{ fx.pickupOrders.effect == 'write' ? fx.pickupOrders.problem : null }}","coReady":"{{ coNameErr == '' && coContactErr == '' && count(state.cart) > 0 }}","dealerLogoId":"{{ state.dealer[0].logo.cloudinaryId ?? '' }}","dealerName":"{{ state.dealer[0].name ?? 'Ironline Equipment Co.' }}","directionsUrl":"{{ 'https://www.google.com/maps/dir/?api=1&destination=' + replace(replace(locAddress + ', ' + locCityLine, ',', '%2C'), ' ', '+') }}","disclosureFinance":"{{ disclosureListing == null ? null : disclosureListing.finance }}","disclosureListing":"{{ state.disclosureId == '' ? null : findBy(state.inventory, 'id', state.disclosureId) }}","disclosureName":"{{ disclosureListing == null ? '' : disclosureListing.name }}","featureRows":{"expr":"{{ row.mediaFile.cloudinaryId ?? '' }}","over":{"as":"row","items":"$productFeatures"},"set":"imageId"},"galleryActive":"{{ state.galleryId != '' ? state.galleryId : (first(galleryIds) ?? '') }}","galleryIds":"{{ unique(compact(concat(productHeroList, productMediaIds))) }}","inv1":{"expr":"{{ row.wholegood.categoryId }}","over":{"as":"row","items":"$state.inventory"},"set":"categoryId"},"inv2":{"expr":"{{ row.name + ' ' + row.wholegood.name + ' ' + row.wholegood.sku + ' ' + (row.stockNumber ?? '') }}","over":{"as":"row","items":"$inv1"},"set":"haystack"},"inv3":{"args":{"arr":"$row.promotionIds","v":"$invPromoId"},"fn":"includes","over":{"as":"row","items":"$inv2"},"set":"matchesPromo"},"inv4":{"expr":"{{ invPromoId != '' ? invPromoId : (row.promotionIds[0] ?? '') }}","over":{"as":"row","items":"$inv3"},"set":"promoId"},"inv5":{"args":{"key":"id","list":"$state.promotions","value":"$row.promoId"},"fn":"findBy","over":{"as":"row","items":"$inv4"},"set":"promo"},"inv6":{"expr":"{{ row.promo.name ?? '' }}","over":{"as":"row","items":"$inv5"},"set":"promoName"},"inv7":{"expr":"{{ row.mediaFile.cloudinaryId ?? '' }}","over":{"as":"row","items":"$inv6"},"set":"imageId"},"inv8":{"expr":"{{ row.finance.payment ?? 0 }}","over":{"as":"row","items":"$inv7"},"set":"payment"},"inv9":{"expr":"{{ row.finance != null && row.cashPrice != null && row.cashPrice < row.price ? row.cashPrice : 0 }}","over":{"as":"row","items":"$inv8"},"set":"cashShown"},"invByCat":"{{ invCategoryId == '' ? invByPromo : filterBy(invByPromo, 'categoryId', invCategoryId) }}","invByCond":"{{ state.invCondition == 'all' ? invByCat : filterBy(invByCat, 'condition', state.invCondition) }}","invByPromo":"{{ invPromoId == '' ? invTermRows : filterBy(invTermRows, 'matchesPromo', true) }}","invCategoryId":"{{ route.query.category ?? '' }}","invCount":"{{ count(invVisible) }}","invFiltered":"{{ trim(state.invQuery) != '' || state.invCondition != 'all' || invCategoryId != '' }}","invLoading":"{{ !fx.inventory.loaded && invTotal == 0 }}","invPromoId":"{{ route.query.promotionId ?? '' }}","invRows":{"expr":"{{ row.finance.apr ?? 0 }}","over":{"as":"row","items":"$inv9"},"set":"apr"},"invSearched":"{{ trim(state.invQuery) == '' ? invByCond : searchBy(invByCond, 'haystack', trim(state.invQuery)) }}","invSorted":"{{ state.invSort == 'priceAsc' ? sortBy(invSearched, 'price') : (state.invSort == 'priceDesc' ? sortBy(invSearched, 'price', 'desc') : invSearched) }}","invTermRows":{"expr":"{{ row.finance.termMonths ?? 0 }}","over":{"as":"row","items":"$invRows"},"set":"term"},"invTotal":"{{ count(state.inventory) }}","invVisible":"{{ concat(nth(partition(invSorted, 'status', 'available'), 0), nth(partition(invSorted, 'status', 'available'), 1)) }}","locAddress":"{{ state.dealer[0].locations[0].address ?? '3545 Lone Star Cir' }}","locCityLine":"{{ (state.dealer[0].locations[0].city ?? 'Fort Worth') + ', ' + (state.dealer[0].locations[0].state ?? 'TX') + ' ' + (state.dealer[0].locations[0].zip ?? '76177') }}","locEmail":"{{ state.dealer[0].locations[0].email ?? '' }}","locPhone":"{{ state.dealer[0].locations[0].phone ?? '+11234456789' }}","mediaSets":"{{ state.websiteContent[0].mediaSets ?? [] }}","mediaSetsKeyed":{"expr":"{{ row.promotion.id ?? '' }}","over":{"as":"row","items":"$mediaSets"},"set":"promoId"},"moreLike":"{{ productRow == null ? [] : take(nth(partition(filterBy(filterBy(invTermRows, 'categoryId', productRow.categoryId), 'status', 'available'), 'id', productId), 1), 4) }}","navSection":"{{ route.name == 'product' ? 'inventory' : (route.name ?? '') }}","phoneDisplay":"{{ opehub__formatPhone(locPhone) }}","productAddOns":"{{ productRow == null ? [] : (productRow.addOns ?? []) }}","productFeatures":"{{ productWg == null ? [] : (productWg.features ?? []) }}","productHeroList":{"expr":"{{ productImageId }}","over":{"as":"n","items":"$constants.single"}},"productId":"{{ route.params.id ?? '' }}","productImageId":"{{ productRow == null ? '' : productRow.imageId }}","productInCart":"{{ includes(state.cart, productId) }}","productMediaIds":{"expr":"{{ row.mediaFile.type == 'image' ? row.mediaFile.cloudinaryId : '' }}","over":{"as":"row","items":"$productMediaList"}},"productMediaList":"{{ productRow == null ? [] : (productRow.media ?? []) }}","productPromo":"{{ productRow == null ? null : productRow.promo }}","productResources":"{{ productWg == null ? [] : (productWg.resources ?? []) }}","productRow":"{{ productId == '' ? null : findBy(invTermRows, 'id', productId) }}","productSpecs":"{{ productWg == null ? [] : (productWg.specs ?? []) }}","productWg":"{{ productRow == null ? null : findBy(state.wholegoods, 'id', productRow.wholegood.id) }}","promoDesktop":"{{ findBy(promoHeroes, 'role', 'desktop') ?? findBy(promoHeroes, 'role', 'default') ?? first(promoHeroes) }}","promoDesktopId":"{{ promoDesktop == null ? '' : promoDesktop.file.cloudinaryId }}","promoHeroAlt":"{{ promoDesktop == null ? '' : promoDesktop.alt }}","promoHeroes":"{{ promoSet == null ? [] : (promoSet.hero ?? []) }}","promoList":{"expr":"{{ row.mediaSet.hero[0].file.cloudinaryId ?? '' }}","over":{"as":"row","items":"$promoWithSet"},"set":"imageId"},"promoMobile":"{{ findBy(promoHeroes, 'role', 'mobile') }}","promoMobileId":"{{ promoMobile == null ? '' : promoMobile.file.cloudinaryId }}","promoSet":"{{ invPromoId == '' ? null : findBy(mediaSetsKeyed, 'promoId', invPromoId) }}","promoSorted":"{{ sortBy(promoList, 'weight', 'desc') }}","promoWithSet":{"args":{"key":"promoId","list":"$mediaSetsKeyed","value":"$row.id"},"fn":"findBy","over":{"as":"row","items":"$state.promotions"},"set":"mediaSet"},"specGroups":"{{ groupRows(productSpecs, 'group') }}","stockedCategories":"{{ sortBy(nth(partition(categoriesImageIds, 'stockCount', 0), 1), 'weight') }}","telHref":"{{ 'tel:' + locPhone }}","year":"{{ state.renderedAt == null ? '2025' : '' + datePart(state.renderedAt, 'year') }}","$7d7fbe1a$active":"{{ count(cat.imageIds) > 0 ? mod((state.$inst.catTile[cat.id].tick ?? state.$default.catTile.tick), count(cat.imageIds)) : 0 }}","$fa74a2f8$rotates":"{{ count(cat.imageIds) > 1 && !media.reducedMotion }}","$2c4967d6$total":"{{ count(cat.imageIds) }}"},"order":["availableInventory","availableCats","availableImaged","availableImageFirst","cartCount","catCounts","categoriesCounted","categoriesStockItem","categoriesImaged","categoriesStockRows","categoriesImageAll","categoriesImageCompact","categoriesImageUnique","categoriesImageIds","cfBusy","cfEmailErr","cfMsgErr","cfNameErr","cfProblem","cfReady","cfShowEmail","cfShowMsg","cfShowName","coBusy","coContactErr","coNameErr","coProblem","coReady","dealerLogoId","dealerName","disclosureListing","disclosureFinance","disclosureName","inv1","inv2","invCategoryId","invFiltered","invPromoId","activePromo","inv3","inv4","inv5","inv6","inv7","inv8","inv9","invRows","invTermRows","cartListings","cartRows0","cartRows","cartSubtotal","invByPromo","invByCat","invByCond","invSearched","invSorted","invTotal","invLoading","invVisible","invCount","locAddress","locCityLine","directionsUrl","locEmail","locPhone","mediaSets","mediaSetsKeyed","navSection","phoneDisplay","productId","productInCart","productRow","moreLike","productAddOns","addOnSelected","addOnRows","productImageId","productHeroList","productMediaList","productMediaIds","galleryIds","galleryActive","productPromo","productWg","productFeatures","featureRows","productResources","productSpecs","promoSet","promoHeroes","promoDesktop","promoDesktopId","promoHeroAlt","promoMobile","promoMobileId","promoWithSet","promoList","promoSorted","specGroups","stockedCategories","telHref","year"]},"constants":{"conditionFilters":[{"id":"all","label":"All"},{"id":"new","label":"New"},{"id":"used","label":"Used"},{"id":"demo","label":"Demo"}],"heroImage":"asset://media/v2/public/generated/a8798ba2f1c8fe082fd594c4a9d9e3418c7842d280883a0bbb68eb5f93cc08c2.png","navItems":[{"href":"/","id":"home","label":"Home"},{"href":"/inventory","id":"inventory","label":"Inventory"},{"href":"/contact","id":"contact","label":"Contact"}],"placeholderSlots":[1,2,3,4,5,6],"resourceLabels":{"product-page":"Manufacturer product page","sell-sheet":"Sell sheet (PDF)","warranty-statement":"Warranty statement"},"single":[1],"sortOptions":[{"id":"newest","label":"Newest first"},{"id":"priceAsc","label":"Price: low to high"},{"id":"priceDesc","label":"Price: high to low"}],"storePhoto":"asset://media/v2/public/imported/6e3d7dfd902577932a2435f45377b31907d4df101af2d07d0404b920e05381f5","topics":["Sales","Parts","Service","Financing","Something else"]},"limits":{"media":{"accept":[],"maxBytes":26214400,"capacityBytes":null}},"idleFx":{"categories":{"status":"idle","busy":false,"ok":false,"effect":null,"occurrence":null,"result":null,"problem":null},"contact":{"status":"idle","busy":false,"ok":false,"effect":null,"occurrence":null,"result":null,"problem":null},"dealer":{"status":"idle","busy":false,"ok":false,"effect":null,"occurrence":null,"result":null,"problem":null},"inventory":{"status":"idle","busy":false,"ok":false,"effect":null,"occurrence":null,"result":null,"problem":null},"pickupOrders":{"status":"idle","busy":false,"ok":false,"effect":null,"occurrence":null,"result":null,"problem":null},"promotions":{"status":"idle","busy":false,"ok":false,"effect":null,"occurrence":null,"result":null,"problem":null},"websiteContent":{"status":"idle","busy":false,"ok":false,"effect":null,"occurrence":null,"result":null,"problem":null},"wholegoods":{"status":"idle","busy":false,"ok":false,"effect":null,"occurrence":null,"result":null,"problem":null},"media":{"status":"idle","busy":false,"ok":false,"effect":null,"occurrence":null,"result":null,"problem":null}}},"capabilities":{"rows":[{"entry":{"capability":{"name":"firstLight","kind":"first-light.builder"},"target":"server","packContractAddress":"9578004954889d2b","outputNames":{},"dependencies":[],"associatedAssets":[]},"declaration":{"name":"firstLight","kind":"first-light.builder","target":null,"config":{},"secrets":{},"using":{},"as":{}},"contract":{"desc":"Grants First Light's builder (the app's hosting actor) the authority to author this app's manifest. Every edit lands as an attributed, undoable version on the app's own journal; the app's lifecycle never runs where it is edited. Remove this capability to detach the app from the builder.","product":{"label":"Build with AI","summary":"Describe what you want to create or change, and First Light will build and refine your app with you.","category":"automation","useCases":[{"id":"build-with-ai","label":"Build with AI"}]},"target":"server"},"configFields":[],"publicConfigQuestions":[],"secretInputs":[],"sourceBindingPlan":[],"assetSources":{},"hostRequirements":{"server":{"appId":false,"mounts":[],"inputs":[]},"browser":{"appId":false,"mounts":[],"inputs":[]},"both":{"appId":false,"mounts":[],"inputs":[]}}},{"entry":{"capability":{"name":"formEmail","kind":"app.form-email.web"},"target":"both","packContractAddress":"776d681aeed42f20","outputNames":{"data":["formEmail"]},"dependencies":[],"associatedAssets":[]},"declaration":{"name":"formEmail","kind":"app.form-email.web","target":null,"config":{},"secrets":{},"using":{},"as":{}},"contract":{"product":{"label":"Form email","summary":"Email each form submission to the app's owner, ready to answer by reply, without storing it.","category":"business","useCases":[{"id":"email-form-submissions","label":"Email form submissions to me"}]},"desc":"Contact, quote and lead forms whose owner answers by email. Each create is emailed to the app owner's account address with the visitor's `email` as Reply-To, and is never stored. Use App data instead when the owner manages the rows inside the app.","target":"both","targetPolicy":"fixed","host":{"appId":true,"mounts":{"capabilityData":{"desc":"the app host's reviewed capability-data write door"}}},"config":{},"outputs":{"data":{"default":"formEmail","source":{"desc":"Form submissions emailed to the app's owner. Nothing is stored and nothing can be read back.","maxRows":1,"collections":{"messages":{"desc":"One message per create, emailed to the app owner's account address. Name the visitor's address field `email` so Reply answers them. Grant `read` to the same actors as `create`; there is nothing to read.","ops":["create"],"inputs":{"create":["*"]},"enforcedBy":{"create":"the app data door re-derives the manifest create rule; Control owes one email per command key to the app's owner"}}}},"binding":{"sharing":"shareable","authorityIdentity":true},"desc":"Create-only DataPort whose creates are emailed to the app's owner."}}},"configFields":[],"publicConfigQuestions":[],"secretInputs":[],"sourceBindingPlan":[{"logicalName":"formEmail","providerName":"formEmail","definition":{"schema":"singularity.source-definition.v1","id":"source:f23e6304d2eab38e","descriptor":{"schema":"singularity.source-definition.v1","namespace":"app.form-email.web","version":"1.0.0","name":"formEmail","contract":{"desc":"Form submissions emailed to the app's owner. Nothing is stored and nothing can be read back.","maxRows":1,"collections":{"messages":{"desc":"One message per create, emailed to the app owner's account address. Name the visitor's address field `email` so Reply answers them. Grant `read` to the same actors as `create`; there is nothing to read.","ops":["create"],"inputs":{"create":["*"]},"enforcedBy":{"create":"the app data door re-derives the manifest create rule; Control owes one email per command key to the app's owner"},"read":"reviewed"}}},"result":{"kind":"rows","maxRows":1,"maxBytes":4194304,"classification":"private"},"stream":{"semantics":"none","recovery":"none"},"authority":{"mode":"lease"},"id":"source:f23e6304d2eab38e"},"contract":{"desc":"Form submissions emailed to the app's owner. Nothing is stored and nothing can be read back.","maxRows":1,"collections":{"messages":{"desc":"One message per create, emailed to the app owner's account address. Name the visitor's address field `email` so Reply answers them. Grant `read` to the same actors as `create`; there is nothing to read.","ops":["create"],"inputs":{"create":["*"]},"enforcedBy":{"create":"the app data door re-derives the manifest create rule; Control owes one email per command key to the app's owner"},"read":"reviewed"}}},"result":{"kind":"rows","maxRows":1,"maxBytes":4194304,"classification":"private"},"stream":{"semantics":"none","recovery":"none"},"authority":{"mode":"lease"}},"sharing":"shareable","requires":{"authority":true,"authorityIdentity":true,"resourceIdentity":true}}],"assetSources":{},"hostRequirements":{"server":{"appId":true,"mounts":[],"inputs":[]},"browser":{"appId":true,"mounts":[{"name":"capabilityData","desc":"the app host's reviewed capability-data write door"}],"inputs":[]},"both":{"appId":true,"mounts":[],"inputs":[]}}},{"entry":{"capability":{"name":"media","kind":"cloudflare.r2.tenant-media.web"},"target":"browser","packContractAddress":"af3846bc2065263a","outputNames":{"assets":["tenantMedia"]},"dependencies":[],"associatedAssets":[{"name":"media","bucket":"media","source":"tenantMedia","access":{"read":[{"actors":["visitor"]}],"upload":[{"actors":["administrator"]}],"remove":[{"actors":["administrator"]}],"uploadUrl":[{"actors":["administrator"]}]},"scopes":{},"accept":[],"maxBytes":null,"params":{"lane":"public"},"notify":{"ok":null,"problem":"auto"},"reconciles":null}]},"declaration":{"name":"media","kind":"cloudflare.r2.tenant-media.web","target":null,"config":{},"secrets":{},"using":{},"as":{}},"contract":{"product":{"label":"Images and files","summary":"Upload reusable media and keep it securely with the app.","category":"content","useCases":[{"id":"add-media-experience","label":"Add images or file uploads"}]},"desc":"Cloudflare R2 tenant-media store reached through the app host. Content-addressed uploads, access enforcement, progress, and canonical URLs are provider-owned; field removal only detaches the reference.","target":"browser","host":{"appId":true,"mounts":{"media":{"desc":"the asset port's sign, blob and object addresses — every media URL this app renders is composed under it"}}},"config":{},"using":{"identity":{"required":false,"desc":"The app's auth capability. Required when a selected media binding carries a row-scoped grant (each subject reading and uploading only their own objects); optional otherwise."}},"outputs":{"assets":{"default":"tenantMedia","asset":{"desc":"Every asset:// reference requires an assets binding for its bucket and a registered source, including existing uploaded or generated images. A display helper does not supply that binding or grant access. Cloudflare R2 tenant media behind the app host. Uploads are content-addressed and report progress. `params.lane` addresses the physical object namespace and grants nothing; the binding's `access` actor grants decide who may read, upload, and remove.","maxBytes":26214400,"operations":["upload","uploadUrl","remove"],"params":{"lane":{"type":"string","desc":"Storage lane addressing this bucket's objects: `public` (edge-cacheable, immutable content address), `private` (never shared-cached), or `users` (each subject's own key prefix — required by, and only by, a grant clause naming a relation scope).","required":true,"enum":["public","private","users"]}},"identity":{"using":"identity"},"scope":{"principalField":"uid"}},"desc":"AssetPort consumed by manifest `assets` bindings whose source is tenantMedia."}}},"configFields":[],"publicConfigQuestions":[],"secretInputs":[],"sourceBindingPlan":[],"assetSources":{"tenantMedia":{"desc":"Every asset:// reference requires an assets binding for its bucket and a registered source, including existing uploaded or generated images. A display helper does not supply that binding or grant access. Cloudflare R2 tenant media behind the app host. Uploads are content-addressed and report progress. `params.lane` addresses the physical object namespace and grants nothing; the binding's `access` actor grants decide who may read, upload, and remove.","maxBytes":26214400,"operations":["upload","uploadUrl","remove"],"params":{"lane":{"type":"string","desc":"Storage lane addressing this bucket's objects: `public` (edge-cacheable, immutable content address), `private` (never shared-cached), or `users` (each subject's own key prefix — required by, and only by, a grant clause naming a relation scope).","required":true,"enum":["public","private","users"]}},"identity":{"using":"identity"},"scope":{"principalField":"uid"}}},"hostRequirements":{"server":{"appId":true,"mounts":[],"inputs":[]},"browser":{"appId":true,"mounts":[{"name":"media","desc":"the asset port's sign, blob and object addresses — every media URL this app renders is composed under it"}],"inputs":[]},"both":{"appId":true,"mounts":[],"inputs":[]}}},{"entry":{"capability":{"name":"opehub","kind":"opehub.rest"},"target":"both","packContractAddress":"77bbf1b8e5f96e5a","outputNames":{"data":["opehub","opehubLeads"]},"dependencies":[],"associatedAssets":[]},"declaration":{"name":"opehub","kind":"opehub.rest","target":null,"config":{},"secrets":{},"using":{},"as":{"data":["opehub","opehubLeads"]}},"contract":{"product":{"label":"OpeHub dealer data","summary":"Show current OpeHub website artwork, inventory and offers, with your dealer identity and product catalog, and send customer inquiries to your dealership.","category":"business","useCases":[{"id":"show-opehub-wholegoods","label":"Show equipment, inventory, and promotions"},{"id":"show-opehub-dealer-profile","label":"Show your dealer profile"},{"id":"submit-opehub-inquiry","label":"Collect inventory inquiries"}]},"verification":{"scope":"dealer profile access","failureFields":["secret:apiKey"],"facts":{"profile":{"label":"Dealer profile","values":{"published":{"label":"Published","message":"OpeHub accepted this key and is publishing a dealer profile for it.","readiness":"ready"},"unpublished":{"label":"Not published yet","message":"OpeHub accepted this key, but is not publishing a dealer profile for it yet. Catalogs will still load; a profile section will render empty until OpeHub publishes one.","readiness":"attention"}}}}},"desc":"Dealer data and website lead submission, over one dealer key. Use websiteContent for media sets with hero and feature artwork, one optional promotion and inventoryIds. Read inventory separately for listings, prices, financing and all applicable promotionIds; promotions includes offers without media sets. Dealer and catalogs provide identity and product detail. The opehubLeads source creates customer inquiries through the host data proxy; select it beside opehub with as: { data: [\"opehub\", \"opehubLeads\"] }. The API key stays server-side.","target":"both","host":{"appId":true,"mounts":{"capabilityData":{"desc":"the app host's uniform capability-data door — this provider's browser port reads and creates through `<mount>/<appId>/<source>`, and the host holds the key"}}},"secrets":{"apiKey":{"label":"OpeHub API key","desc":"An OpeHub API key scoped to one dealer. Dealer reads accept any valid key; website lead creates require a First Light managed read key or an admin key. The key stays encrypted on the app's server and never reaches a page.","required":true,"sources":["platform","env","secret-manager"],"defaultSource":"platform"}},"outputs":{"data":{"many":true,"default":"opehub","sources":{"opehub":{"desc":"Dealer-scoped reads. Use websiteContent for media sets with artwork and their promotion; inventory for listings and financing; promotions for all listing offers; dealer for identity and locations; catalog collections for products. Dates are ISO-8601. Media uses Cloudinary public ids: render equipment with cloudinary__productImageUrl, logos with cloudinary__constrainedHeightUrl, and other images with cloudinary__avatarUrl, cloudinary__thumbnailUrl, cloudinary__heroUrl or cloudinary__ogImageUrl.","maximumFreshnessMs":60000,"maxRows":100000,"collections":{"dealer":{"desc":"One profile row, or none if unpublished. The dealer has one name and logo; locations supply contact and availability facts.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"id":{"type":"string","desc":"Stable dealer id — the `publicDealers` document id."},"name":{"type":"string","desc":"Dealer name, as OpeHub publishes it."},"logo":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."},"locations":{"type":"array","items":{"type":"object","members":{"id":"string","latLng":{"type":"object","members":{"lat":"number","lng":"number"},"optional":true},"address":"string","country":"string","phone":"string?","email":"string?","city":"string","state":"string","zip":"string"}},"desc":"The dealer's physical locations, each with its own address and optional phone, email and map point."},"website":{"type":"string","optional":true,"desc":"The dealer's own website. Absent when they have not set one."},"branding":{"type":"object","members":{"vibe":{"type":"object","members":{"id":"string","name":"string","description":"string"},"optional":true},"colors":{"type":"object","members":{"main":"string?","accent":"string?","background":"string?"},"optional":true},"photos":{"type":"array","items":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string","description":"string?"}},"optional":true},"aboutUs":"string?"},"optional":true,"desc":"Dealer branding: story, captioned photos, hex colors and named visual style. Each part may be absent."}}},"brands":{"desc":"Brands referenced by the dealer's approved catalogs, in weight order.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable brand id; catalogs reference it as brandId."},"name":{"type":"string","desc":"Brand name, as OpeHub publishes it."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"logo":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."},"darkLogo":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"catalogs":{"desc":"Catalogs this dealer holds an APPROVED catalogConfig for. Pending and denied configs are absent, so what a page renders is what the dealer is actually entitled to show.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable catalog id. Categories reference it as catalogId."},"name":{"type":"string","desc":"Catalog name, as OpeHub publishes it."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"categories":{"desc":"Categories in approved catalogs; catalogId joins catalogs.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable category id. Sub-categories reference it as categoryId."},"name":{"type":"string","desc":"Category name, as OpeHub publishes it."},"catalogId":{"type":"string","desc":"The owning catalog's id."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"subCategories":{"desc":"Sub-categories in approved catalogs; categoryId joins categories.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable sub-category id."},"name":{"type":"string","desc":"Sub-category name, as OpeHub publishes it."},"catalogId":{"type":"string","desc":"The owning catalog's id."},"categoryId":{"type":"string","desc":"The owning category's id."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"wholegoods":{"desc":"Active sellable products.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","params":["catalog"],"enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable wholegood id."},"sku":{"type":"string","desc":"The manufacturer's model or stock-keeping identifier."},"name":{"type":"string","desc":"Wholegood name, as OpeHub publishes it."},"subtitle":{"type":"string","optional":true,"desc":"The product subtitle."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The product image."},"catalogId":{"type":"string","desc":"The owning catalog's id."},"categoryId":{"type":"string","desc":"The owning category's id."},"subCategoryId":{"type":"string","desc":"The owning sub-category's id."},"attachment":{"type":"boolean","desc":"Whether this row is an attachment/accessory rather than a parent machine."},"fitsWholegoodIds":{"type":"array","items":"string","desc":"Parent wholegood ids this attachment fits; empty for a row with no declared parents."},"emissionCode":{"type":"string","optional":true,"desc":"Emissions-market code used by the dealer's catalog eligibility flags."},"features":{"type":"array","items":{"type":"object","members":{"name":"string","description":"string","mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"desc":"Merchandising features, each with text and an optional Cloudinary asset."},"specs":{"type":"array","items":{"type":"object","members":{"id":"string","name":"string","group":"string","kind":{"type":"string","enum":["quantity","trait","text"]},"value":{"type":"union","variants":["number","boolean","string"]},"unit":"string?","label":"string?","display":{"type":"object","members":{"imperial":"string","metric":"string"}}}},"desc":"Resolved specifications in definition weight order. `value` is the comparable scalar; `display` carries ready-to-render imperial and metric strings."},"resources":{"type":"array","items":{"type":"object","members":{"type":{"type":"string","enum":["product-page","warranty-statement","sell-sheet"]},"url":"string"}},"desc":"Reviewed external collateral links: product pages, warranty statements and sell sheets."},"pricing":{"type":"object","members":{"price":"number?"},"desc":"Dollars at the assigned catalog price level. Missing means unavailable, not zero; dealer cost is never served."}}},"inventory":{"desc":"Priced published available and sold listings, newest first. Unpriced or stale listings are omitted; promotion optionally selects listings carrying that offer.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","params":["promotion"],"enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"id":{"type":"string","desc":"Stable inventory listing id."},"stockNumber":{"type":"string","optional":true,"desc":"The dealer's own stock tag, when set."},"name":{"type":"string","desc":"The listing title."},"description":{"type":"string","desc":"The dealer-authored listing description; empty when none was provided."},"condition":{"type":"string","enum":["new","used","demo","rental"],"desc":"The unit's sale condition."},"status":{"type":"string","enum":["available","sold"],"desc":"The published listing state. Sold listings remain visible so a site can badge them."},"locationId":{"type":"string","desc":"The physical lot; stock is not implied at other dealer locations."},"promotionIds":{"type":"array","items":"string","desc":"Current catalog offers carried by this listing; joins promotions.id."},"hours":{"type":"number","optional":true,"desc":"Meter reading, when tracked."},"wholegood":{"type":"object","members":{"id":"string","sku":"string","name":"string","subtitle":"string?","brandId":"string","catalogId":"string","categoryId":"string","subCategoryId":"string"},"desc":"id joins wholegoods for current catalog specs, features and resources."},"price":{"type":"number","desc":"Required current machine dollars before tax, including its adjustments. Unpriced or stale listings are omitted."},"cashPrice":{"type":"number","optional":true,"desc":"Lower cash dollars before tax only when financing creates a cash saving; otherwise null. Show price alone when null."},"adjustments":{"type":"array","items":{"type":"object","members":{"name":"string","amount":"number","promotionId":"string?"}},"desc":"Already included in machine prices: never add again. Negative amounts reduce price; promotionId joins a catalog offer when present."},"addOns":{"type":"array","items":{"type":"object","members":{"id":"string","sku":"string","name":"string","qty":"number","mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."},"price":"number?","cashPrice":{"type":"number","optional":true,"desc":"Lower cash price only when financing creates a cash saving; otherwise null."},"payment":{"type":"number","optional":true,"desc":"Separate monthly estimate before sales tax, without an additional finance fee. The final quote reprices selected options."},"adjustments":{"type":"array","items":{"type":"object","members":{"name":"string","amount":"number","promotionId":"string?"}}}}},"desc":"Customer-selectable extras, separately priced and not included in the machine price. Show their payment estimates separately. Send chosen ids with their inventory id in a website lead’s addOnSelections."},"finance":{"type":"object","members":{"name":"string","apr":"number","termMonths":"number","payment":"number","applyUrl":"string?","disclosure":"string"},"optional":true,"desc":"Machine-only monthly estimate before sales tax with one finance fee; APR is percent. Put its disclosure link beside the amount."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The listing hero image: the unit's own photo when set, otherwise its configured catalog image."},"media":{"type":"array","items":{"type":"object","members":{"name":"string?","description":"string?","mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"}}}},"desc":"Additional listing photos or videos, in the dealer's authored order."},"createdAt":{"type":"string","desc":"ISO-8601 listing creation time."},"updatedAt":{"type":"string","desc":"ISO-8601 listing update time."}}},"promotions":{"desc":"Catalog promotions carried by published listings, descending weight.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"id":{"type":"string","desc":"Stable catalog promotion id; joins inventory.promotionIds."},"name":{"type":"string","desc":"Promotion name, as OpeHub publishes it."},"description":{"type":"string","desc":"Customer-facing promotion description; empty when none was provided."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"type":{"type":"string","enum":["dollarsOff","textOnly"],"desc":"Whether the promotion discounts each unit or exists purely as an offer message."},"discount":{"type":"number","desc":"Dollars off per unit; 0 for textOnly."},"weight":{"type":"number","desc":"Offer display priority, highest first."},"inventoryCount":{"type":"number","desc":"Published listings carrying this promotion. Always at least one."},"starts":{"type":"string","desc":"ISO-8601 promotion start time."},"ends":{"type":"string","desc":"ISO-8601 promotion end time."}}},"websiteContent":{"desc":"One snapshot of website media sets: hero images, supporting features, an optional promotion and eligible inventory ids. Read inventory separately for listing facts.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"revision":{"type":"string","desc":"Snapshot id."},"builtAt":{"type":"string","desc":"Snapshot time, ISO-8601."},"validUntil":{"type":"string","desc":"Refetch deadline, ISO-8601."},"mediaSets":{"type":"array","items":{"type":"object","members":{"id":"string","hero":{"type":"array","items":{"type":"object","members":{"id":"string","alt":"string","headline":"string?","description":"string?","role":{"type":"string","enum":["default","desktop","mobile"]},"file":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string","cloudinaryVersion":"number?","width":"number?","height":"number?"}}}},"desc":"Hero images in authored order; role identifies a desktop or mobile rendition when its delivered dimensions match."},"features":{"type":"array","items":{"type":"object","members":{"id":"string","alt":"string","headline":"string?","description":"string?","role":{"type":"string","enum":["default","desktop","mobile"]},"file":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string","cloudinaryVersion":"number?","width":"number?","height":"number?"}}}},"desc":"Supporting website artwork in authored order."},"promotion":{"type":"object","members":{"id":{"type":"string","desc":"Stable catalog promotion id; joins inventory.promotionIds."},"name":{"type":"string","desc":"Promotion name, as OpeHub publishes it."},"description":{"type":"string","desc":"Customer-facing promotion description; empty when none was provided."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"type":{"type":"string","enum":["dollarsOff","textOnly"],"desc":"Whether the promotion discounts each unit or exists purely as an offer message."},"discount":{"type":"number","desc":"Dollars off per unit; 0 for textOnly."},"weight":{"type":"number","desc":"Offer display priority, highest first."},"inventoryCount":{"type":"number","desc":"Published listings carrying this promotion. Always at least one."},"starts":{"type":"string","desc":"ISO-8601 promotion start time."},"ends":{"type":"string","desc":"ISO-8601 promotion end time."}},"optional":true,"desc":"The single promotion this set advertises, when it qualifies through a promotion."},"inventoryIds":{"type":"array","items":"string","desc":"Current available, priced listings in this media set; joins inventory.id. Read inventory for prices, financing and all applicable promotionIds."}}},"desc":"Website media sets with hero images, supporting features, an optional promotion and eligible listing ids. The builder owns layout."}}}}},"opehubLeads":{"desc":"Dealer-scoped website lead submission through the app data proxy. Requires a First Light managed read key or an admin key. No reads are exposed.","maxRows":1,"collections":{"websiteLeads":{"desc":"Submit a customer inquiry for one or more inventory listings. The host keeps it and answers at once, then delivers it to OpeHub once under a submission id derived from the write's own retry key, retrying for up to an hour until OpeHub takes it. The dealer key stays with the host.","ops":["create"],"inputs":{"create":["customerName","contact","inventoryIds","addOnSelections"]},"create":["customerName","contact","inventoryIds"],"anonymous":["create"],"enforcedBy":{"create":"the app data proxy, its reviewed manifest create rule, and the dealer-scoped OpeHub key held by Control"},"fields":{"id":{"type":"string","desc":"Local row id for the form create. The host derives a separate OpeHub submission id for delivery."},"customerName":{"type":"string","desc":"Customer name, 1–120 characters."},"contact":{"type":"object","members":{"email":"string?","phone":"string?"},"desc":"At least one of email or phone is required."},"inventoryIds":{"type":"array","items":"string","desc":"One to twenty distinct inventory listing ids."},"addOnSelections":{"type":"array","items":{"type":"object","members":{"inventoryId":"string","addOnIds":{"type":"array","items":"string"}}},"optional":true,"desc":"Optional customer choices: each inventoryId must occur in inventoryIds once, with one to fifty distinct addOnIds from that listing. Omit when none are selected."}}}}}},"binding":{"sharing":"shareable"},"desc":"DataPorts consumed by manifest data bindings whose source names one of these outputs: \"opehub\" (dealer reads, the default) and \"opehubLeads\" (website lead creates)."}}},"configFields":[],"publicConfigQuestions":[],"secretInputs":[{"input":"apiKey","contractRef":{"from":"platform","optional":false},"manifestRef":{"from":"platform","optional":false}}],"sourceBindingPlan":[{"logicalName":"opehub","providerName":"opehub","definition":{"schema":"singularity.source-definition.v1","id":"source:b6e1d3823ea865a4","descriptor":{"schema":"singularity.source-definition.v1","namespace":"opehub.rest","version":"0.1.0","name":"opehub","contract":{"desc":"Dealer-scoped reads. Use websiteContent for media sets with artwork and their promotion; inventory for listings and financing; promotions for all listing offers; dealer for identity and locations; catalog collections for products. Dates are ISO-8601. Media uses Cloudinary public ids: render equipment with cloudinary__productImageUrl, logos with cloudinary__constrainedHeightUrl, and other images with cloudinary__avatarUrl, cloudinary__thumbnailUrl, cloudinary__heroUrl or cloudinary__ogImageUrl.","maximumFreshnessMs":60000,"maxRows":100000,"collections":{"dealer":{"desc":"One profile row, or none if unpublished. The dealer has one name and logo; locations supply contact and availability facts.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"id":{"type":"string","desc":"Stable dealer id — the `publicDealers` document id."},"name":{"type":"string","desc":"Dealer name, as OpeHub publishes it."},"logo":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."},"locations":{"type":"array","items":{"type":"object","members":{"id":"string","latLng":{"type":"object","members":{"lat":"number","lng":"number"},"optional":true},"address":"string","country":"string","phone":"string?","email":"string?","city":"string","state":"string","zip":"string"}},"desc":"The dealer's physical locations, each with its own address and optional phone, email and map point."},"website":{"type":"string","optional":true,"desc":"The dealer's own website. Absent when they have not set one."},"branding":{"type":"object","members":{"vibe":{"type":"object","members":{"id":"string","name":"string","description":"string"},"optional":true},"colors":{"type":"object","members":{"main":"string?","accent":"string?","background":"string?"},"optional":true},"photos":{"type":"array","items":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string","description":"string?"}},"optional":true},"aboutUs":"string?"},"optional":true,"desc":"Dealer branding: story, captioned photos, hex colors and named visual style. Each part may be absent."}}},"brands":{"desc":"Brands referenced by the dealer's approved catalogs, in weight order.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable brand id; catalogs reference it as brandId."},"name":{"type":"string","desc":"Brand name, as OpeHub publishes it."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"logo":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."},"darkLogo":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"catalogs":{"desc":"Catalogs this dealer holds an APPROVED catalogConfig for. Pending and denied configs are absent, so what a page renders is what the dealer is actually entitled to show.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable catalog id. Categories reference it as catalogId."},"name":{"type":"string","desc":"Catalog name, as OpeHub publishes it."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"categories":{"desc":"Categories in approved catalogs; catalogId joins catalogs.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable category id. Sub-categories reference it as categoryId."},"name":{"type":"string","desc":"Category name, as OpeHub publishes it."},"catalogId":{"type":"string","desc":"The owning catalog's id."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"subCategories":{"desc":"Sub-categories in approved catalogs; categoryId joins categories.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable sub-category id."},"name":{"type":"string","desc":"Sub-category name, as OpeHub publishes it."},"catalogId":{"type":"string","desc":"The owning catalog's id."},"categoryId":{"type":"string","desc":"The owning category's id."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"wholegoods":{"desc":"Active sellable products.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","params":["catalog"],"enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable wholegood id."},"sku":{"type":"string","desc":"The manufacturer's model or stock-keeping identifier."},"name":{"type":"string","desc":"Wholegood name, as OpeHub publishes it."},"subtitle":{"type":"string","optional":true,"desc":"The product subtitle."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The product image."},"catalogId":{"type":"string","desc":"The owning catalog's id."},"categoryId":{"type":"string","desc":"The owning category's id."},"subCategoryId":{"type":"string","desc":"The owning sub-category's id."},"attachment":{"type":"boolean","desc":"Whether this row is an attachment/accessory rather than a parent machine."},"fitsWholegoodIds":{"type":"array","items":"string","desc":"Parent wholegood ids this attachment fits; empty for a row with no declared parents."},"emissionCode":{"type":"string","optional":true,"desc":"Emissions-market code used by the dealer's catalog eligibility flags."},"features":{"type":"array","items":{"type":"object","members":{"name":"string","description":"string","mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"desc":"Merchandising features, each with text and an optional Cloudinary asset."},"specs":{"type":"array","items":{"type":"object","members":{"id":"string","name":"string","group":"string","kind":{"type":"string","enum":["quantity","trait","text"]},"value":{"type":"union","variants":["number","boolean","string"]},"unit":"string?","label":"string?","display":{"type":"object","members":{"imperial":"string","metric":"string"}}}},"desc":"Resolved specifications in definition weight order. `value` is the comparable scalar; `display` carries ready-to-render imperial and metric strings."},"resources":{"type":"array","items":{"type":"object","members":{"type":{"type":"string","enum":["product-page","warranty-statement","sell-sheet"]},"url":"string"}},"desc":"Reviewed external collateral links: product pages, warranty statements and sell sheets."},"pricing":{"type":"object","members":{"price":"number?"},"desc":"Dollars at the assigned catalog price level. Missing means unavailable, not zero; dealer cost is never served."}}},"inventory":{"desc":"Priced published available and sold listings, newest first. Unpriced or stale listings are omitted; promotion optionally selects listings carrying that offer.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","params":["promotion"],"enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"id":{"type":"string","desc":"Stable inventory listing id."},"stockNumber":{"type":"string","optional":true,"desc":"The dealer's own stock tag, when set."},"name":{"type":"string","desc":"The listing title."},"description":{"type":"string","desc":"The dealer-authored listing description; empty when none was provided."},"condition":{"type":"string","enum":["new","used","demo","rental"],"desc":"The unit's sale condition."},"status":{"type":"string","enum":["available","sold"],"desc":"The published listing state. Sold listings remain visible so a site can badge them."},"locationId":{"type":"string","desc":"The physical lot; stock is not implied at other dealer locations."},"promotionIds":{"type":"array","items":"string","desc":"Current catalog offers carried by this listing; joins promotions.id."},"hours":{"type":"number","optional":true,"desc":"Meter reading, when tracked."},"wholegood":{"type":"object","members":{"id":"string","sku":"string","name":"string","subtitle":"string?","brandId":"string","catalogId":"string","categoryId":"string","subCategoryId":"string"},"desc":"id joins wholegoods for current catalog specs, features and resources."},"price":{"type":"number","desc":"Required current machine dollars before tax, including its adjustments. Unpriced or stale listings are omitted."},"cashPrice":{"type":"number","optional":true,"desc":"Lower cash dollars before tax only when financing creates a cash saving; otherwise null. Show price alone when null."},"adjustments":{"type":"array","items":{"type":"object","members":{"name":"string","amount":"number","promotionId":"string?"}},"desc":"Already included in machine prices: never add again. Negative amounts reduce price; promotionId joins a catalog offer when present."},"addOns":{"type":"array","items":{"type":"object","members":{"id":"string","sku":"string","name":"string","qty":"number","mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."},"price":"number?","cashPrice":{"type":"number","optional":true,"desc":"Lower cash price only when financing creates a cash saving; otherwise null."},"payment":{"type":"number","optional":true,"desc":"Separate monthly estimate before sales tax, without an additional finance fee. The final quote reprices selected options."},"adjustments":{"type":"array","items":{"type":"object","members":{"name":"string","amount":"number","promotionId":"string?"}}}}},"desc":"Customer-selectable extras, separately priced and not included in the machine price. Show their payment estimates separately. Send chosen ids with their inventory id in a website lead’s addOnSelections."},"finance":{"type":"object","members":{"name":"string","apr":"number","termMonths":"number","payment":"number","applyUrl":"string?","disclosure":"string"},"optional":true,"desc":"Machine-only monthly estimate before sales tax with one finance fee; APR is percent. Put its disclosure link beside the amount."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The listing hero image: the unit's own photo when set, otherwise its configured catalog image."},"media":{"type":"array","items":{"type":"object","members":{"name":"string?","description":"string?","mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"}}}},"desc":"Additional listing photos or videos, in the dealer's authored order."},"createdAt":{"type":"string","desc":"ISO-8601 listing creation time."},"updatedAt":{"type":"string","desc":"ISO-8601 listing update time."}}},"promotions":{"desc":"Catalog promotions carried by published listings, descending weight.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"id":{"type":"string","desc":"Stable catalog promotion id; joins inventory.promotionIds."},"name":{"type":"string","desc":"Promotion name, as OpeHub publishes it."},"description":{"type":"string","desc":"Customer-facing promotion description; empty when none was provided."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"type":{"type":"string","enum":["dollarsOff","textOnly"],"desc":"Whether the promotion discounts each unit or exists purely as an offer message."},"discount":{"type":"number","desc":"Dollars off per unit; 0 for textOnly."},"weight":{"type":"number","desc":"Offer display priority, highest first."},"inventoryCount":{"type":"number","desc":"Published listings carrying this promotion. Always at least one."},"starts":{"type":"string","desc":"ISO-8601 promotion start time."},"ends":{"type":"string","desc":"ISO-8601 promotion end time."}}},"websiteContent":{"desc":"One snapshot of website media sets: hero images, supporting features, an optional promotion and eligible inventory ids. Read inventory separately for listing facts.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"revision":{"type":"string","desc":"Snapshot id."},"builtAt":{"type":"string","desc":"Snapshot time, ISO-8601."},"validUntil":{"type":"string","desc":"Refetch deadline, ISO-8601."},"mediaSets":{"type":"array","items":{"type":"object","members":{"id":"string","hero":{"type":"array","items":{"type":"object","members":{"id":"string","alt":"string","headline":"string?","description":"string?","role":{"type":"string","enum":["default","desktop","mobile"]},"file":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string","cloudinaryVersion":"number?","width":"number?","height":"number?"}}}},"desc":"Hero images in authored order; role identifies a desktop or mobile rendition when its delivered dimensions match."},"features":{"type":"array","items":{"type":"object","members":{"id":"string","alt":"string","headline":"string?","description":"string?","role":{"type":"string","enum":["default","desktop","mobile"]},"file":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string","cloudinaryVersion":"number?","width":"number?","height":"number?"}}}},"desc":"Supporting website artwork in authored order."},"promotion":{"type":"object","members":{"id":{"type":"string","desc":"Stable catalog promotion id; joins inventory.promotionIds."},"name":{"type":"string","desc":"Promotion name, as OpeHub publishes it."},"description":{"type":"string","desc":"Customer-facing promotion description; empty when none was provided."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"type":{"type":"string","enum":["dollarsOff","textOnly"],"desc":"Whether the promotion discounts each unit or exists purely as an offer message."},"discount":{"type":"number","desc":"Dollars off per unit; 0 for textOnly."},"weight":{"type":"number","desc":"Offer display priority, highest first."},"inventoryCount":{"type":"number","desc":"Published listings carrying this promotion. Always at least one."},"starts":{"type":"string","desc":"ISO-8601 promotion start time."},"ends":{"type":"string","desc":"ISO-8601 promotion end time."}},"optional":true,"desc":"The single promotion this set advertises, when it qualifies through a promotion."},"inventoryIds":{"type":"array","items":"string","desc":"Current available, priced listings in this media set; joins inventory.id. Read inventory for prices, financing and all applicable promotionIds."}}},"desc":"Website media sets with hero images, supporting features, an optional promotion and eligible listing ids. The builder owns layout."}}}}},"result":{"kind":"rows","maxRows":100000,"maxBytes":4194304,"classification":"public","maximumFreshnessMs":60000},"stream":{"semantics":"none","recovery":"none"},"authority":{"mode":"public"},"id":"source:b6e1d3823ea865a4"},"contract":{"desc":"Dealer-scoped reads. Use websiteContent for media sets with artwork and their promotion; inventory for listings and financing; promotions for all listing offers; dealer for identity and locations; catalog collections for products. Dates are ISO-8601. Media uses Cloudinary public ids: render equipment with cloudinary__productImageUrl, logos with cloudinary__constrainedHeightUrl, and other images with cloudinary__avatarUrl, cloudinary__thumbnailUrl, cloudinary__heroUrl or cloudinary__ogImageUrl.","maximumFreshnessMs":60000,"maxRows":100000,"collections":{"dealer":{"desc":"One profile row, or none if unpublished. The dealer has one name and logo; locations supply contact and availability facts.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"id":{"type":"string","desc":"Stable dealer id — the `publicDealers` document id."},"name":{"type":"string","desc":"Dealer name, as OpeHub publishes it."},"logo":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."},"locations":{"type":"array","items":{"type":"object","members":{"id":"string","latLng":{"type":"object","members":{"lat":"number","lng":"number"},"optional":true},"address":"string","country":"string","phone":"string?","email":"string?","city":"string","state":"string","zip":"string"}},"desc":"The dealer's physical locations, each with its own address and optional phone, email and map point."},"website":{"type":"string","optional":true,"desc":"The dealer's own website. Absent when they have not set one."},"branding":{"type":"object","members":{"vibe":{"type":"object","members":{"id":"string","name":"string","description":"string"},"optional":true},"colors":{"type":"object","members":{"main":"string?","accent":"string?","background":"string?"},"optional":true},"photos":{"type":"array","items":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string","description":"string?"}},"optional":true},"aboutUs":"string?"},"optional":true,"desc":"Dealer branding: story, captioned photos, hex colors and named visual style. Each part may be absent."}}},"brands":{"desc":"Brands referenced by the dealer's approved catalogs, in weight order.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable brand id; catalogs reference it as brandId."},"name":{"type":"string","desc":"Brand name, as OpeHub publishes it."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"logo":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."},"darkLogo":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"catalogs":{"desc":"Catalogs this dealer holds an APPROVED catalogConfig for. Pending and denied configs are absent, so what a page renders is what the dealer is actually entitled to show.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable catalog id. Categories reference it as catalogId."},"name":{"type":"string","desc":"Catalog name, as OpeHub publishes it."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"categories":{"desc":"Categories in approved catalogs; catalogId joins catalogs.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable category id. Sub-categories reference it as categoryId."},"name":{"type":"string","desc":"Category name, as OpeHub publishes it."},"catalogId":{"type":"string","desc":"The owning catalog's id."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"subCategories":{"desc":"Sub-categories in approved catalogs; categoryId joins categories.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable sub-category id."},"name":{"type":"string","desc":"Sub-category name, as OpeHub publishes it."},"catalogId":{"type":"string","desc":"The owning catalog's id."},"categoryId":{"type":"string","desc":"The owning category's id."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"wholegoods":{"desc":"Active sellable products.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","params":["catalog"],"enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key and OpeHub's catalog entitlement gate"},"fields":{"id":{"type":"string","desc":"Stable wholegood id."},"sku":{"type":"string","desc":"The manufacturer's model or stock-keeping identifier."},"name":{"type":"string","desc":"Wholegood name, as OpeHub publishes it."},"subtitle":{"type":"string","optional":true,"desc":"The product subtitle."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"weight":{"type":"number","desc":"Display order within its parent, ascending. Always present — OpeHub defaults it to 0."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The product image."},"catalogId":{"type":"string","desc":"The owning catalog's id."},"categoryId":{"type":"string","desc":"The owning category's id."},"subCategoryId":{"type":"string","desc":"The owning sub-category's id."},"attachment":{"type":"boolean","desc":"Whether this row is an attachment/accessory rather than a parent machine."},"fitsWholegoodIds":{"type":"array","items":"string","desc":"Parent wholegood ids this attachment fits; empty for a row with no declared parents."},"emissionCode":{"type":"string","optional":true,"desc":"Emissions-market code used by the dealer's catalog eligibility flags."},"features":{"type":"array","items":{"type":"object","members":{"name":"string","description":"string","mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."}}},"desc":"Merchandising features, each with text and an optional Cloudinary asset."},"specs":{"type":"array","items":{"type":"object","members":{"id":"string","name":"string","group":"string","kind":{"type":"string","enum":["quantity","trait","text"]},"value":{"type":"union","variants":["number","boolean","string"]},"unit":"string?","label":"string?","display":{"type":"object","members":{"imperial":"string","metric":"string"}}}},"desc":"Resolved specifications in definition weight order. `value` is the comparable scalar; `display` carries ready-to-render imperial and metric strings."},"resources":{"type":"array","items":{"type":"object","members":{"type":{"type":"string","enum":["product-page","warranty-statement","sell-sheet"]},"url":"string"}},"desc":"Reviewed external collateral links: product pages, warranty statements and sell sheets."},"pricing":{"type":"object","members":{"price":"number?"},"desc":"Dollars at the assigned catalog price level. Missing means unavailable, not zero; dealer cost is never served."}}},"inventory":{"desc":"Priced published available and sold listings, newest first. Unpriced or stale listings are omitted; promotion optionally selects listings carrying that offer.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","params":["promotion"],"enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"id":{"type":"string","desc":"Stable inventory listing id."},"stockNumber":{"type":"string","optional":true,"desc":"The dealer's own stock tag, when set."},"name":{"type":"string","desc":"The listing title."},"description":{"type":"string","desc":"The dealer-authored listing description; empty when none was provided."},"condition":{"type":"string","enum":["new","used","demo","rental"],"desc":"The unit's sale condition."},"status":{"type":"string","enum":["available","sold"],"desc":"The published listing state. Sold listings remain visible so a site can badge them."},"locationId":{"type":"string","desc":"The physical lot; stock is not implied at other dealer locations."},"promotionIds":{"type":"array","items":"string","desc":"Current catalog offers carried by this listing; joins promotions.id."},"hours":{"type":"number","optional":true,"desc":"Meter reading, when tracked."},"wholegood":{"type":"object","members":{"id":"string","sku":"string","name":"string","subtitle":"string?","brandId":"string","catalogId":"string","categoryId":"string","subCategoryId":"string"},"desc":"id joins wholegoods for current catalog specs, features and resources."},"price":{"type":"number","desc":"Required current machine dollars before tax, including its adjustments. Unpriced or stale listings are omitted."},"cashPrice":{"type":"number","optional":true,"desc":"Lower cash dollars before tax only when financing creates a cash saving; otherwise null. Show price alone when null."},"adjustments":{"type":"array","items":{"type":"object","members":{"name":"string","amount":"number","promotionId":"string?"}},"desc":"Already included in machine prices: never add again. Negative amounts reduce price; promotionId joins a catalog offer when present."},"addOns":{"type":"array","items":{"type":"object","members":{"id":"string","sku":"string","name":"string","qty":"number","mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The row's image or video, as a Cloudinary public id with its resource type (image/video/raw) and format. Absent when the row carries none."},"price":"number?","cashPrice":{"type":"number","optional":true,"desc":"Lower cash price only when financing creates a cash saving; otherwise null."},"payment":{"type":"number","optional":true,"desc":"Separate monthly estimate before sales tax, without an additional finance fee. The final quote reprices selected options."},"adjustments":{"type":"array","items":{"type":"object","members":{"name":"string","amount":"number","promotionId":"string?"}}}}},"desc":"Customer-selectable extras, separately priced and not included in the machine price. Show their payment estimates separately. Send chosen ids with their inventory id in a website lead’s addOnSelections."},"finance":{"type":"object","members":{"name":"string","apr":"number","termMonths":"number","payment":"number","applyUrl":"string?","disclosure":"string"},"optional":true,"desc":"Machine-only monthly estimate before sales tax with one finance fee; APR is percent. Put its disclosure link beside the amount."},"mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"},"optional":true,"desc":"The listing hero image: the unit's own photo when set, otherwise its configured catalog image."},"media":{"type":"array","items":{"type":"object","members":{"name":"string?","description":"string?","mediaFile":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string"}}}},"desc":"Additional listing photos or videos, in the dealer's authored order."},"createdAt":{"type":"string","desc":"ISO-8601 listing creation time."},"updatedAt":{"type":"string","desc":"ISO-8601 listing update time."}}},"promotions":{"desc":"Catalog promotions carried by published listings, descending weight.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"id":{"type":"string","desc":"Stable catalog promotion id; joins inventory.promotionIds."},"name":{"type":"string","desc":"Promotion name, as OpeHub publishes it."},"description":{"type":"string","desc":"Customer-facing promotion description; empty when none was provided."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"type":{"type":"string","enum":["dollarsOff","textOnly"],"desc":"Whether the promotion discounts each unit or exists purely as an offer message."},"discount":{"type":"number","desc":"Dollars off per unit; 0 for textOnly."},"weight":{"type":"number","desc":"Offer display priority, highest first."},"inventoryCount":{"type":"number","desc":"Published listings carrying this promotion. Always at least one."},"starts":{"type":"string","desc":"ISO-8601 promotion start time."},"ends":{"type":"string","desc":"ISO-8601 promotion end time."}}},"websiteContent":{"desc":"One snapshot of website media sets: hero images, supporting features, an optional promotion and eligible inventory ids. Read inventory separately for listing facts.","ops":["query"],"queryFields":[],"anonymous":["read"],"read":"anonymous","enforcedBy":{"read":"the SourceRead owner and the owner-configured dealer API key"},"fields":{"revision":{"type":"string","desc":"Snapshot id."},"builtAt":{"type":"string","desc":"Snapshot time, ISO-8601."},"validUntil":{"type":"string","desc":"Refetch deadline, ISO-8601."},"mediaSets":{"type":"array","items":{"type":"object","members":{"id":"string","hero":{"type":"array","items":{"type":"object","members":{"id":"string","alt":"string","headline":"string?","description":"string?","role":{"type":"string","enum":["default","desktop","mobile"]},"file":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string","cloudinaryVersion":"number?","width":"number?","height":"number?"}}}},"desc":"Hero images in authored order; role identifies a desktop or mobile rendition when its delivered dimensions match."},"features":{"type":"array","items":{"type":"object","members":{"id":"string","alt":"string","headline":"string?","description":"string?","role":{"type":"string","enum":["default","desktop","mobile"]},"file":{"type":"object","members":{"cloudinaryId":"string","type":"string","format":"string","cloudinaryVersion":"number?","width":"number?","height":"number?"}}}},"desc":"Supporting website artwork in authored order."},"promotion":{"type":"object","members":{"id":{"type":"string","desc":"Stable catalog promotion id; joins inventory.promotionIds."},"name":{"type":"string","desc":"Promotion name, as OpeHub publishes it."},"description":{"type":"string","desc":"Customer-facing promotion description; empty when none was provided."},"brandId":{"type":"string","desc":"Brand id; joins brands.id."},"type":{"type":"string","enum":["dollarsOff","textOnly"],"desc":"Whether the promotion discounts each unit or exists purely as an offer message."},"discount":{"type":"number","desc":"Dollars off per unit; 0 for textOnly."},"weight":{"type":"number","desc":"Offer display priority, highest first."},"inventoryCount":{"type":"number","desc":"Published listings carrying this promotion. Always at least one."},"starts":{"type":"string","desc":"ISO-8601 promotion start time."},"ends":{"type":"string","desc":"ISO-8601 promotion end time."}},"optional":true,"desc":"The single promotion this set advertises, when it qualifies through a promotion."},"inventoryIds":{"type":"array","items":"string","desc":"Current available, priced listings in this media set; joins inventory.id. Read inventory for prices, financing and all applicable promotionIds."}}},"desc":"Website media sets with hero images, supporting features, an optional promotion and eligible listing ids. The builder owns layout."}}}}},"result":{"kind":"rows","maxRows":100000,"maxBytes":4194304,"classification":"public","maximumFreshnessMs":60000},"stream":{"semantics":"none","recovery":"none"},"authority":{"mode":"public"}},"sharing":"shareable","requires":{"authority":false,"authorityIdentity":false,"resourceIdentity":true}},{"logicalName":"opehubLeads","providerName":"opehubLeads","definition":{"schema":"singularity.source-definition.v1","id":"source:8a1d0a53dea1c7d9","descriptor":{"schema":"singularity.source-definition.v1","namespace":"opehub.rest","version":"0.1.0","name":"opehubLeads","contract":{"desc":"Dealer-scoped website lead submission through the app data proxy. Requires a First Light managed read key or an admin key. No reads are exposed.","maxRows":1,"collections":{"websiteLeads":{"desc":"Submit a customer inquiry for one or more inventory listings. The host keeps it and answers at once, then delivers it to OpeHub once under a submission id derived from the write's own retry key, retrying for up to an hour until OpeHub takes it. The dealer key stays with the host.","ops":["create"],"inputs":{"create":["customerName","contact","inventoryIds","addOnSelections"]},"create":["customerName","contact","inventoryIds"],"anonymous":["create"],"enforcedBy":{"create":"the app data proxy, its reviewed manifest create rule, and the dealer-scoped OpeHub key held by Control"},"fields":{"id":{"type":"string","desc":"Local row id for the form create. The host derives a separate OpeHub submission id for delivery."},"customerName":{"type":"string","desc":"Customer name, 1–120 characters."},"contact":{"type":"object","members":{"email":"string?","phone":"string?"},"desc":"At least one of email or phone is required."},"inventoryIds":{"type":"array","items":"string","desc":"One to twenty distinct inventory listing ids."},"addOnSelections":{"type":"array","items":{"type":"object","members":{"inventoryId":"string","addOnIds":{"type":"array","items":"string"}}},"optional":true,"desc":"Optional customer choices: each inventoryId must occur in inventoryIds once, with one to fifty distinct addOnIds from that listing. Omit when none are selected."}},"read":"reviewed"}}},"result":{"kind":"rows","maxRows":1,"maxBytes":4194304,"classification":"private"},"stream":{"semantics":"none","recovery":"none"},"authority":{"mode":"lease"},"id":"source:8a1d0a53dea1c7d9"},"contract":{"desc":"Dealer-scoped website lead submission through the app data proxy. Requires a First Light managed read key or an admin key. No reads are exposed.","maxRows":1,"collections":{"websiteLeads":{"desc":"Submit a customer inquiry for one or more inventory listings. The host keeps it and answers at once, then delivers it to OpeHub once under a submission id derived from the write's own retry key, retrying for up to an hour until OpeHub takes it. The dealer key stays with the host.","ops":["create"],"inputs":{"create":["customerName","contact","inventoryIds","addOnSelections"]},"create":["customerName","contact","inventoryIds"],"anonymous":["create"],"enforcedBy":{"create":"the app data proxy, its reviewed manifest create rule, and the dealer-scoped OpeHub key held by Control"},"fields":{"id":{"type":"string","desc":"Local row id for the form create. The host derives a separate OpeHub submission id for delivery."},"customerName":{"type":"string","desc":"Customer name, 1–120 characters."},"contact":{"type":"object","members":{"email":"string?","phone":"string?"},"desc":"At least one of email or phone is required."},"inventoryIds":{"type":"array","items":"string","desc":"One to twenty distinct inventory listing ids."},"addOnSelections":{"type":"array","items":{"type":"object","members":{"inventoryId":"string","addOnIds":{"type":"array","items":"string"}}},"optional":true,"desc":"Optional customer choices: each inventoryId must occur in inventoryIds once, with one to fifty distinct addOnIds from that listing. Omit when none are selected."}},"read":"reviewed"}}},"result":{"kind":"rows","maxRows":1,"maxBytes":4194304,"classification":"private"},"stream":{"semantics":"none","recovery":"none"},"authority":{"mode":"lease"}},"sharing":"shareable","requires":{"authority":true,"authorityIdentity":false,"resourceIdentity":true}}],"assetSources":{},"hostRequirements":{"server":{"appId":true,"mounts":[],"inputs":[]},"browser":{"appId":true,"mounts":[{"name":"capabilityData","desc":"the app host's uniform capability-data door — this provider's browser port reads and creates through `<mount>/<appId>/<source>`, and the host holds the key"}],"inputs":[]},"both":{"appId":true,"mounts":[],"inputs":[]}}}],"assets":[{"name":"media","bucket":"media","source":"tenantMedia","access":{"read":[{"actors":["visitor"]}],"upload":[{"actors":["administrator"]}],"remove":[{"actors":["administrator"]}],"uploadUrl":[{"actors":["administrator"]}]},"scopes":{},"accept":[],"maxBytes":null,"params":{"lane":"public"},"notify":{"ok":null,"problem":"auto"},"reconciles":null}],"order":{"server":["formEmail","opehub"],"browser":["formEmail","media","opehub"],"both":["formEmail","media","opehub"]}},"auth":{"analysis":null,"actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}]}},"visitor":{"initialState":{"addOnSel":[],"cart":[],"cartAddOns":[],"cartOpen":false,"categories":[],"checkout":{"attempted":false,"email":"","name":"","phone":""},"contact":[],"contactForm":{"attempted":false,"email":"","message":"","name":"","phone":"","topic":"Sales"},"contactSent":"","dealer":[],"disclosureId":"","galleryId":"","invCondition":"all","invQuery":"","invSort":"newest","inventory":[],"leadContact":null,"metric":false,"navOpen":false,"orderSent":"","pickupOrders":[],"promotions":[],"websiteContent":[],"wholegoods":[],"path":"/","hash":"","origin":"","renderedAt":null,"viewerUtcOffsetMinutes":null,"navigating":false,"$default":{"catTile":{"tick":0}}},"view":{"children":[{"tag":"style","children":["@keyframes mui-kf-breathe { 0% { opacity: 1 } 100% { opacity: 0.45 } }\n@keyframes mui-kf-fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }\n@keyframes mui-kf-kenBurns { 0% { transform: scale(1.14) translate3d(-1.5%, 1%, 0) } 100% { transform: scale(1.02) translate3d(1%, -1%, 0) } }\n@keyframes mui-kf-riseIn { 0% { opacity: 0; transform: translate3d(0, 1.25rem, 0) } 100% { opacity: 1; transform: translate3d(0, 0, 0) } }\n@keyframes mui-kf-slideInEnd { 0% { transform: translate3d(100%, 0, 0) } 100% { transform: translate3d(0, 0, 0) } }\n@keyframes mui-kf-spin { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }\n@keyframes mui-kf-stripeSlide { 0% { background-position: 0 0 } 100% { background-position: 39.6px 0 } }\n@keyframes mui-kf-wipeIn { 0% { transform: scaleX(0) } 100% { transform: scaleX(1) } }\n.mui-m-drawerIn { animation-name: mui-kf-slideInEnd; animation-duration: 280ms; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); animation-delay: 0ms; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; }\n.mui-m-kenBurns { animation-name: mui-kf-kenBurns; animation-duration: 22s; animation-timing-function: ease-in-out; animation-delay: 0ms; animation-iteration-count: infinite; animation-direction: alternate; animation-fill-mode: both; }\n.mui-m-pulse { animation-name: mui-kf-breathe; animation-duration: 1100ms; animation-timing-function: ease-in-out; animation-delay: 0ms; animation-iteration-count: infinite; animation-direction: alternate; animation-fill-mode: both; }\n.mui-m-riseIn { animation-name: mui-kf-riseIn; animation-duration: 700ms; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); animation-delay: 0ms; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; }\n.mui-m-riseInLate { animation-name: mui-kf-riseIn; animation-duration: 700ms; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); animation-delay: 180ms; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; }\n.mui-m-riseInLater { animation-name: mui-kf-riseIn; animation-duration: 700ms; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); animation-delay: 360ms; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; }\n.mui-m-scrimIn { animation-name: mui-kf-fadeIn; animation-duration: 180ms; animation-timing-function: ease-out; animation-delay: 0ms; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; }\n.mui-m-spinning { animation-name: mui-kf-spin; animation-duration: 900ms; animation-timing-function: linear; animation-delay: 0ms; animation-iteration-count: infinite; animation-direction: normal; animation-fill-mode: both; }\n.mui-m-stripeSlide { animation-name: mui-kf-stripeSlide; animation-duration: 1.6s; animation-timing-function: linear; animation-delay: 0ms; animation-iteration-count: infinite; animation-direction: normal; animation-fill-mode: both; }\n.mui-m-wipeIn { animation-name: mui-kf-wipeIn; animation-duration: 900ms; animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); animation-delay: 500ms; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; }\n@media (prefers-reduced-motion: reduce) { .mui-m-drawerIn { animation-name: mui-kf-fadeIn; } .mui-m-kenBurns { animation: none } .mui-m-riseIn { animation-name: mui-kf-fadeIn; } .mui-m-riseInLate { animation-name: mui-kf-fadeIn; } .mui-m-riseInLater { animation-name: mui-kf-fadeIn; } .mui-m-spinning { animation-name: mui-kf-breathe; animation-duration: 1400ms; animation-timing-function: ease-in-out; animation-direction: alternate; } .mui-m-stripeSlide { animation: none } .mui-m-wipeIn { animation-name: mui-kf-fadeIn; } }"]},{"tag":"style","children":["@font-face { font-family: \"Barlow Condensed\"; src: url(\"/__fl/media/app-6b6fb4c204e5f9826b0a1e4a3fd248e7/public/media/v2/public/imported/00231f31662eb1873639a2f0a155874d949038ee833f43a08d27d7de501ba4a9\"); font-display: swap; font-weight: 600; font-style: normal; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n@font-face { font-family: \"Barlow Condensed\"; src: url(\"/__fl/media/app-6b6fb4c204e5f9826b0a1e4a3fd248e7/public/media/v2/public/imported/5be1692495dffc7eb1df5f005603d83f8460a7d37be525e36601036f7dd8e133\"); font-display: swap; font-weight: 700; font-style: normal; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n@font-face { font-family: \"Barlow Condensed\"; src: url(\"/__fl/media/app-6b6fb4c204e5f9826b0a1e4a3fd248e7/public/media/v2/public/imported/a62c122ad1510c4a40e93fa4196de89d22c8cdb78e6835bc7c5777d39c2761d4\"); font-display: swap; font-weight: 800; font-style: normal; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\n:root { --mui-t-brand: #f45120; --mui-t-brandHover: #ff6a3a; --mui-t-brandSoft: #fde4d9; --mui-t-brandText: #b23a10; --mui-t-canvas: #f7f5f0; --mui-t-charcoal: #252a27; --mui-t-charcoalDeep: #161917; --mui-t-danger: #b3261e; --mui-t-focus: #f45120; --mui-t-fontBody: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; --mui-t-fontDisplay: 'Barlow Condensed', 'Arial Narrow', 'Roboto Condensed', Impact, sans-serif; --mui-t-ink: #1c201e; --mui-t-line: #dcd6ca; --mui-t-lineDark: #3d433f; --mui-t-lineStrong: #a9a294; --mui-t-maxW: 80rem; --mui-t-muted: #565b57; --mui-t-onBrand: #161917; --mui-t-onDark: #f7f5f0; --mui-t-onDarkMuted: #c4c1b8; --mui-t-radius: 3px; --mui-t-scrim: rgba(22, 25, 23, 0.62); --mui-t-shadowLift: 0 18px 40px -18px rgba(22, 25, 23, 0.55); --mui-t-steel: #3a403c; --mui-t-sunken: #ede9df; --mui-t-surface: #ffffff; --mui-t-tap: 2.75rem; }\n.mui-v-CartDrawer-alert { background: #fbe9e7; border: 2px solid var(--mui-t-danger); color: var(--mui-t-ink); display: flex; gap: 0.625rem; padding: 0.75rem; }\n.mui-v-CartDrawer-alertText { display: grid; font-size: 0.875rem; gap: 0.125rem; }\n.mui-v-CartDrawer-body { display: grid; gap: 1rem; }\n.mui-v-CartDrawer-close { background: transparent; border: 2px solid var(--mui-t-charcoal); border-radius: var(--mui-t-radius); color: var(--mui-t-charcoal); cursor: pointer; display: inline-grid; height: var(--mui-t-tap); place-items: center; width: var(--mui-t-tap); }\n.mui-v-CartDrawer-close:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-charcoal); color: var(--mui-t-onDark); }\n.mui-v-CartDrawer-close:focus-visible { outline: 3px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-CartDrawer-emptyIcon { background: var(--mui-t-sunken); color: var(--mui-t-muted); display: grid; height: 3.5rem; place-items: center; width: 3.5rem; }\n.mui-v-CartDrawer-err { color: var(--mui-t-danger); font-size: 0.875rem; font-weight: 600; margin: 0; }\n.mui-v-CartDrawer-field { display: grid; gap: 0.375rem; }\n.mui-v-CartDrawer-fine { color: var(--mui-t-muted); font-size: 0.8125rem; line-height: 1.5; margin: 0; }\n.mui-v-CartDrawer-form { background: var(--mui-t-surface); border: 2px solid var(--mui-t-charcoal); display: grid; gap: 0.875rem; padding: 1rem; }\n.mui-v-CartDrawer-formTitle { font-family: var(--mui-t-fontDisplay); font-size: 1.375rem; font-weight: 800; margin: 0; text-transform: uppercase; }\n.mui-v-CartDrawer-head { align-items: center; border-bottom: 3px solid var(--mui-t-charcoal); display: flex; justify-content: space-between; padding-bottom: 0.875rem; }\n.mui-v-CartDrawer-line { align-items: center; background: var(--mui-t-surface); border: 1px solid var(--mui-t-line); display: grid; gap: 0.75rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: 0.625rem; }\n.mui-v-CartDrawer-lineName { color: var(--mui-t-ink); font-weight: 700; line-height: 1.3; text-decoration: none; }\n.mui-v-CartDrawer-lineName:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { color: var(--mui-t-brandText); text-decoration: underline; }\n.mui-v-CartDrawer-lineName:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-CartDrawer-lineNote { color: var(--mui-t-brandText); font-size: 0.8125rem; font-weight: 600; }\n.mui-v-CartDrawer-linePrice { color: var(--mui-t-muted); font-size: 0.875rem; }\n.mui-v-CartDrawer-lineText { display: grid; gap: 0.125rem; min-width: 0; }\n.mui-v-CartDrawer-lines { display: grid; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }\n.mui-v-CartDrawer-okIcon { background: var(--mui-t-brand); color: var(--mui-t-onBrand); display: grid; height: 3.5rem; place-items: center; width: 3.5rem; }\n.mui-v-CartDrawer-panel { background: var(--mui-t-canvas); border-left: 4px solid var(--mui-t-brand); box-shadow: var(--mui-t-shadowLift); color: var(--mui-t-ink); display: flex; flex-direction: column; gap: 1.25rem; height: 100%; overflow-y: auto; padding: 1rem 1.25rem 1.5rem; width: min(28rem, 100%); }\n.mui-v-CartDrawer-remove { background: transparent; border: 1px solid var(--mui-t-line); border-radius: var(--mui-t-radius); color: var(--mui-t-muted); cursor: pointer; display: inline-grid; height: var(--mui-t-tap); place-items: center; width: var(--mui-t-tap); }\n.mui-v-CartDrawer-remove:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { border-color: var(--mui-t-danger); color: var(--mui-t-danger); }\n.mui-v-CartDrawer-remove:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-CartDrawer-state { display: grid; gap: 1rem; justify-items: start; padding: 1rem 0; }\n.mui-v-CartDrawer-stateTitle { font-family: var(--mui-t-fontDisplay); font-size: 1.75rem; font-weight: 800; line-height: 1; margin: 0; text-transform: uppercase; }\n.mui-v-CartDrawer-thumb { background: #fff; border: 1px solid var(--mui-t-line); display: block; height: 3.5rem; width: 3.5rem; }\n.mui-v-CartDrawer-thumbImg { display: block; height: 100%; object-fit: cover; width: 100%; }\n.mui-v-CartDrawer-title { font-family: var(--mui-t-fontDisplay); font-size: 1.75rem; font-weight: 800; margin: 0; text-transform: uppercase; }\n.mui-v-CartDrawer-titleRow { align-items: center; display: flex; gap: 0.5rem; }\n.mui-v-CartDrawer-total { align-items: baseline; border-top: 3px solid var(--mui-t-charcoal); display: flex; font-weight: 700; justify-content: space-between; padding-top: 0.75rem; }\n.mui-v-CartDrawer-totalAmount { font-family: var(--mui-t-fontDisplay); font-size: 1.875rem; font-weight: 800; }\n.mui-v-CategoryStockTile-arrow { background: var(--mui-t-charcoal); color: var(--mui-t-onDark); display: grid; height: 2.5rem; place-items: center; position: absolute; right: 0; top: 0; width: 2.5rem; z-index: 2; }\n.mui-v-CategoryStockTile-tile:is(:hover, :focus-within) .mui-v-CategoryStockTile-arrow { background: var(--mui-t-brand); color: var(--mui-t-onBrand); }\n.mui-v-CategoryStockTile-count { color: var(--mui-t-brandText); font-size: 0.875rem; font-weight: 700; }\n.mui-v-CategoryStockTile-img { height: calc(100% - 2rem); left: 1rem; mix-blend-mode: multiply; object-fit: contain; opacity: 0; position: absolute; top: 1rem; transition: opacity 800ms ease, transform 400ms ease; width: calc(100% - 2rem); }\n.mui-v-CategoryStockTile-tile:is(:hover, :focus-within) .mui-v-CategoryStockTile-img { transform: scale(1.06); }\n@media (prefers-reduced-motion: reduce) { .mui-v-CategoryStockTile-img { transition: none; } }\n.mui-v-CategoryStockTile-img--on.mui-v-CategoryStockTile-img--on.mui-v-CategoryStockTile-img--on { opacity: 1; }\n.mui-v-CategoryStockTile-media { align-items: center; aspect-ratio: 4 / 3; background: var(--mui-t-surface); color: var(--mui-t-muted); display: flex; justify-content: center; overflow: hidden; position: relative; }\n.mui-v-CategoryStockTile-name { font-family: var(--mui-t-fontDisplay); font-size: 1.375rem; font-weight: 800; line-height: 1; text-transform: uppercase; }\n.mui-v-CategoryStockTile-text { border-top: 3px solid var(--mui-t-charcoal); display: grid; gap: 0.25rem; padding: 0.875rem 1rem 1rem; }\n.mui-v-CategoryStockTile-tile { background: var(--mui-t-surface); border: 2px solid var(--mui-t-charcoal); color: var(--mui-t-ink); display: grid; position: relative; text-decoration: none; transition: box-shadow 200ms ease, transform 200ms ease; }\n.mui-v-CategoryStockTile-tile:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { box-shadow: 6px 6px 0 var(--mui-t-brand); transform: translate(-3px, -3px); }\n.mui-v-CategoryStockTile-tile:focus-visible { outline: 3px solid var(--mui-t-focus); outline-offset: 3px; }\n@media (prefers-reduced-motion: reduce) { .mui-v-CategoryStockTile-tile { transition: none; } }\n.mui-v-ContactPage-about { background: var(--mui-t-sunken); border-top: 1px solid var(--mui-t-line); padding: 3.5rem 0; }\n@media (min-width: 768px) { .mui-v-ContactPage-about { padding: 5rem 0; } }\n.mui-v-ContactPage-aboutBody { align-content: center; display: grid; gap: 1rem; }\n.mui-v-ContactPage-aboutGrid { align-items: center; display: grid; gap: 2rem; }\n@media (min-width: 1024px) { .mui-v-ContactPage-aboutGrid { gap: 3.5rem; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }\n.mui-v-ContactPage-aboutText { color: var(--mui-t-muted); font-size: 1.0625rem; line-height: 1.7; margin: 0; }\n.mui-v-ContactPage-address { color: var(--mui-t-onDark); font-style: normal; font-weight: 600; line-height: 1.6; }\n.mui-v-ContactPage-alert { background: #fbe9e7; border: 2px solid var(--mui-t-danger); display: flex; gap: 0.625rem; padding: 0.75rem; }\n.mui-v-ContactPage-alertText { display: grid; font-size: 0.9375rem; gap: 0.125rem; }\n.mui-v-ContactPage-aside { align-content: start; display: grid; gap: 1rem; }\n@media (min-width: 1024px) { .mui-v-ContactPage-aside { position: sticky; top: 1.5rem; } }\n.mui-v-ContactPage-band { background: linear-gradient(90deg, rgba(22,25,23,0.95) 0%, rgba(22,25,23,0.75) 100%), repeating-linear-gradient(-45deg, rgba(244,81,32,0.12) 0 2px, transparent 2px 16px), var(--mui-t-charcoalDeep); border-bottom: 6px solid var(--mui-t-brand); color: var(--mui-t-onDark); }\n.mui-v-ContactPage-bandInner { display: grid; gap: 1rem; padding: 3rem 0; }\n@media (min-width: 768px) { .mui-v-ContactPage-bandInner { padding: 4.5rem 0; } }\n.mui-v-ContactPage-err { color: var(--mui-t-danger); font-size: 0.875rem; font-weight: 600; margin: 0; }\n.mui-v-ContactPage-field { display: grid; gap: 0.375rem; min-width: 0; }\n.mui-v-ContactPage-form { display: grid; gap: 1.125rem; }\n.mui-v-ContactPage-formCard { background: var(--mui-t-surface); border: 2px solid var(--mui-t-charcoal); box-shadow: 8px 8px 0 var(--mui-t-charcoal); padding: 1.25rem; }\n@media (min-width: 768px) { .mui-v-ContactPage-formCard { padding: 2rem; } }\n.mui-v-ContactPage-formTitle { font-family: var(--mui-t-fontDisplay); font-size: 2rem; font-weight: 800; line-height: 1; margin: 0; text-transform: uppercase; }\n.mui-v-ContactPage-grid { align-items: start; display: grid; gap: 2rem; padding: 2.5rem 0; }\n@media (min-width: 768px) { .mui-v-ContactPage-grid { padding: 4rem 0; } }\n@media (min-width: 1024px) { .mui-v-ContactPage-grid { gap: 2.5rem; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); } }\n.mui-v-ContactPage-infoCard { background: var(--mui-t-charcoal); border-top: 6px solid var(--mui-t-brand); color: var(--mui-t-onDark); display: grid; gap: 0.875rem; padding: 1.5rem; }\n.mui-v-ContactPage-infoTitle { font-family: var(--mui-t-fontDisplay); font-size: 1.75rem; font-weight: 800; margin: 0; text-transform: uppercase; }\n.mui-v-ContactPage-kicker { align-items: center; background: var(--mui-t-brand); color: var(--mui-t-onBrand); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-size: 0.9375rem; font-weight: 700; gap: 0.5rem; justify-self: start; letter-spacing: 0.2em; margin: 0; padding: 0.375rem 0.75rem; text-transform: uppercase; }\n.mui-v-ContactPage-labelRow { align-items: baseline; display: flex; justify-content: space-between; }\n.mui-v-ContactPage-lead { color: var(--mui-t-onDarkMuted); font-size: 1.125rem; line-height: 1.6; margin: 0; max-width: 38rem; }\n.mui-v-ContactPage-mail { align-items: center; color: var(--mui-t-onDark); display: inline-flex; font-weight: 600; gap: 0.5rem; min-height: var(--mui-t-tap); text-decoration: none; }\n.mui-v-ContactPage-mail:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { color: var(--mui-t-brand); }\n.mui-v-ContactPage-mail:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-ContactPage-note { background: var(--mui-t-surface); border-left: 4px solid var(--mui-t-brand); display: flex; gap: 0.75rem; padding: 1rem; }\n.mui-v-ContactPage-noteText { display: grid; font-size: 0.9375rem; gap: 0.25rem; line-height: 1.5; }\n.mui-v-ContactPage-okIcon { background: var(--mui-t-brand); color: var(--mui-t-onBrand); display: grid; height: 3.5rem; place-items: center; width: 3.5rem; }\n.mui-v-ContactPage-optional { color: var(--mui-t-muted); font-family: var(--mui-t-fontBody); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.04em; }\n.mui-v-ContactPage-pair { display: grid; gap: 1.125rem; }\n@media (min-width: 768px) { .mui-v-ContactPage-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n.mui-v-ContactPage-photo { display: block; height: 100%; object-fit: cover; width: 100%; }\n.mui-v-ContactPage-photoFrame { aspect-ratio: 16 / 9; border: 2px solid var(--mui-t-charcoal); box-shadow: 10px 10px 0 var(--mui-t-brand); overflow: hidden; }\n.mui-v-ContactPage-pillar { align-items: center; background: var(--mui-t-surface); border: 2px solid var(--mui-t-charcoal); color: var(--mui-t-ink); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-size: 1.0625rem; font-weight: 700; gap: 0.5rem; letter-spacing: 0.06em; padding: 0.5rem 0.875rem; text-transform: uppercase; }\n.mui-v-ContactPage-pillars { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0.5rem 0 0; padding: 0; }\n.mui-v-ContactPage-row { display: flex; flex-wrap: wrap; gap: 0.75rem; }\n.mui-v-ContactPage-sent { display: grid; gap: 1rem; justify-items: start; }\n.mui-v-ContactPage-submit { width: 100%; }\n@media (min-width: 768px) { .mui-v-ContactPage-submit { justify-self: start; width: auto; } }\n.mui-v-ContactPage-textarea { line-height: 1.5; min-height: 8rem; padding-bottom: 0.75rem; padding-top: 0.75rem; resize: vertical; }\n.mui-v-ContactPage-title { font-family: var(--mui-t-fontDisplay); font-size: clamp(2.75rem, 1.8rem + 4vw, 5.5rem); font-weight: 800; line-height: 0.88; margin: 0; text-transform: uppercase; text-wrap: balance; }\n.mui-v-FinanceDisclosureDialog-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: flex-end; }\n.mui-v-FinanceDisclosureDialog-close { background: transparent; border: 2px solid var(--mui-t-charcoal); border-radius: var(--mui-t-radius); color: var(--mui-t-charcoal); cursor: pointer; display: inline-grid; flex-shrink: 0; height: var(--mui-t-tap); place-items: center; width: var(--mui-t-tap); }\n.mui-v-FinanceDisclosureDialog-close:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-charcoal); color: var(--mui-t-onDark); }\n.mui-v-FinanceDisclosureDialog-close:focus-visible { outline: 3px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-FinanceDisclosureDialog-head { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }\n.mui-v-FinanceDisclosureDialog-layer { align-items: flex-end; background: var(--mui-t-scrim); display: flex; inset: 0; justify-content: center; position: fixed; z-index: 70; }\n@media (min-width: 768px) { .mui-v-FinanceDisclosureDialog-layer { align-items: center; padding: 2rem; } }\n.mui-v-FinanceDisclosureDialog-panel { background: var(--mui-t-canvas); border: 2px solid var(--mui-t-charcoal); border-top: 6px solid var(--mui-t-brand); box-shadow: var(--mui-t-shadowLift); color: var(--mui-t-ink); display: grid; gap: 1.25rem; max-height: 88dvh; max-width: 34rem; overflow-y: auto; padding: 1.5rem; width: 100%; }\n@media (min-width: 768px) { .mui-v-FinanceDisclosureDialog-panel { border-bottom: 2px solid var(--mui-t-charcoal); } }\n.mui-v-FinanceDisclosureDialog-program { font-weight: 700; margin: 0; }\n.mui-v-FinanceDisclosureDialog-stat { background: var(--mui-t-surface); border: 1px solid var(--mui-t-line); padding: 0.625rem 0.75rem; }\n.mui-v-FinanceDisclosureDialog-stats { display: grid; gap: 0.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }\n.mui-v-FinanceDisclosureDialog-term { color: var(--mui-t-muted); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }\n.mui-v-FinanceDisclosureDialog-text { color: var(--mui-t-muted); font-size: 0.875rem; line-height: 1.6; margin: 0; white-space: pre-line; }\n.mui-v-FinanceDisclosureDialog-title { font-family: var(--mui-t-fontDisplay); font-size: 1.875rem; font-weight: 800; line-height: 1; margin: 0.25rem 0 0; text-transform: uppercase; }\n.mui-v-FinanceDisclosureDialog-value { font-family: var(--mui-t-fontDisplay); font-size: 1.375rem; font-weight: 800; margin: 0; }\n.mui-v-Home-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.5rem; }\n.mui-v-Home-band { padding: 4rem 0; }\n@media (min-width: 768px) { .mui-v-Home-band { padding: 5.5rem 0; } }\n.mui-v-Home-bandSunken { background: var(--mui-t-sunken); border-top: 1px solid var(--mui-t-line); }\n.mui-v-Home-catGrid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }\n@media (min-width: 768px) { .mui-v-Home-catGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n@media (min-width: 1024px) { .mui-v-Home-catGrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }\n.mui-v-Home-content { display: grid; gap: 1.25rem; padding-bottom: 3.5rem; padding-top: 7rem; position: relative; }\n@media (min-width: 1024px) { .mui-v-Home-content { max-width: 46rem; padding-bottom: 6rem; padding-top: 6rem; } }\n.mui-v-Home-fact { align-items: center; color: var(--mui-t-onDark); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-size: 1.0625rem; font-weight: 600; gap: 0.5rem; letter-spacing: 0.08em; text-transform: uppercase; }\n.mui-v-Home-factIcon { color: var(--mui-t-brand); display: inline-flex; }\n.mui-v-Home-facts { border-top: 1px solid rgba(247,245,240,0.22); display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; list-style: none; margin: 0.75rem 0 0; padding: 1rem 0 0; }\n.mui-v-Home-grain { background-image: repeating-linear-gradient(0deg, rgba(247,245,240,0.06) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(0,0,0,0.12) 0 1px, transparent 1px 4px); inset: 0; opacity: 0.18; pointer-events: none; position: absolute; z-index: -1; }\n.mui-v-Home-hero { align-items: flex-end; background: var(--mui-t-charcoalDeep); color: var(--mui-t-onDark); display: flex; isolation: isolate; min-height: min(88svh, 52rem); overflow: hidden; position: relative; }\n@media (min-width: 1024px) { .mui-v-Home-hero { align-items: center; } }\n.mui-v-Home-kicker { align-items: center; background: var(--mui-t-brand); color: var(--mui-t-onBrand); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-size: 0.9375rem; font-weight: 700; gap: 0.5rem; justify-self: start; letter-spacing: 0.2em; padding: 0.375rem 0.75rem; text-transform: uppercase; }\n.mui-v-Home-lead { color: var(--mui-t-onDarkMuted); font-size: 1.0625rem; line-height: 1.6; margin: 0; max-width: 36rem; }\n@media (min-width: 768px) { .mui-v-Home-lead { font-size: 1.1875rem; } }\n.mui-v-Home-media { background: linear-gradient(180deg, #3a403c 0%, #161917 100%); inset: 0; overflow: hidden; position: absolute; z-index: -3; }\n.mui-v-Home-mediaImg { height: 100%; inset: 0; object-fit: cover; object-position: 65% 50%; position: absolute; transform-origin: 70% 45%; width: 100%; }\n.mui-v-Home-promoGrid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); }\n@media (min-width: 768px) { .mui-v-Home-promoGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n@media (min-width: 1024px) { .mui-v-Home-promoGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n.mui-v-Home-rule { background: var(--mui-t-brand); height: 6px; transform-origin: left center; width: 7rem; }\n.mui-v-Home-scrim { background: linear-gradient(180deg, rgba(22,25,23,0.15) 0%, rgba(22,25,23,0.35) 45%, rgba(22,25,23,0.92) 100%); inset: 0; position: absolute; z-index: -2; }\n@media (min-width: 1024px) { .mui-v-Home-scrim { background: linear-gradient(90deg, rgba(22,25,23,0.92) 0%, rgba(22,25,23,0.7) 42%, rgba(22,25,23,0.1) 75%); } }\n.mui-v-Home-sectionHead { display: grid; gap: 0.75rem; margin-bottom: 2rem; }\n.mui-v-Home-stripes { background-image: repeating-linear-gradient(-45deg, var(--mui-t-brand) 0 14px, var(--mui-t-charcoalDeep) 14px 28px); background-size: 39.6px 100%; bottom: 0; height: 0.75rem; left: 0; position: absolute; right: 0; }\n.mui-v-Home-title { font-family: var(--mui-t-fontDisplay); font-size: clamp(3.5rem, 1.8rem + 8vw, 8rem); font-weight: 800; letter-spacing: -0.005em; line-height: 0.84; margin: 0; text-transform: uppercase; }\n.mui-v-Home-titleAccent { color: var(--mui-t-brand); display: block; }\n.mui-v-Home-titleLine { display: block; }\n.mui-v-InventoryPage-count { color: var(--mui-t-muted); font-weight: 700; margin: 0; }\n.mui-v-InventoryPage-field { display: grid; gap: 0.375rem; min-width: 0; }\n.mui-v-InventoryPage-grid { display: grid; gap: 1.25rem; list-style: none; margin: 0; padding: 0; }\n@media (min-width: 640px) { .mui-v-InventoryPage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n@media (min-width: 1024px) { .mui-v-InventoryPage-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n.mui-v-InventoryPage-head { align-items: flex-end; display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; justify-content: space-between; }\n.mui-v-InventoryPage-page { display: grid; gap: 1.75rem; padding: 2rem 0 4rem; }\n@media (min-width: 768px) { .mui-v-InventoryPage-page { padding: 3rem 0 5rem; } }\n.mui-v-InventoryPage-promoBand { background: var(--mui-t-charcoalDeep); border-bottom: 3px solid var(--mui-t-brand); color: var(--mui-t-onDark); }\n.mui-v-InventoryPage-promoBar { display: flex; flex-direction: column; gap: 1.25rem; padding: 1.75rem 0; }\n@media (min-width: 768px) { .mui-v-InventoryPage-promoBar { align-items: flex-end; flex-direction: row; justify-content: space-between; } }\n.mui-v-InventoryPage-promoDesc { color: var(--mui-t-onDarkMuted); line-height: 1.55; margin: 0; max-width: 42rem; }\n.mui-v-InventoryPage-promoEnds { color: var(--mui-t-brand); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.06em; margin: 0; text-transform: uppercase; }\n.mui-v-InventoryPage-promoImg { display: block; height: auto; width: 100%; }\n.mui-v-InventoryPage-promoPicture { display: block; width: 100%; }\n.mui-v-InventoryPage-promoText { display: grid; gap: 0.625rem; justify-items: start; }\n.mui-v-InventoryPage-promoTitle { font-family: var(--mui-t-fontDisplay); font-size: clamp(2.25rem, 1.5rem + 3vw, 4rem); font-weight: 800; line-height: 0.9; margin: 0; text-transform: uppercase; text-wrap: balance; }\n@media (min-width: 768px) { .mui-v-InventoryPage-searchField { grid-column: 1 / -1; } }\n@media (min-width: 1024px) { .mui-v-InventoryPage-searchField { grid-column: auto; } }\n.mui-v-InventoryPage-titleBlock { display: grid; gap: 0.625rem; }\n.mui-v-InventoryPage-toolbar { background: var(--mui-t-surface); border: 2px solid var(--mui-t-charcoal); box-shadow: 6px 6px 0 var(--mui-t-charcoal); display: grid; gap: 1rem; padding: 1rem; }\n@media (min-width: 768px) { .mui-v-InventoryPage-toolbar { grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n@media (min-width: 1024px) { .mui-v-InventoryPage-toolbar { grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); } }\n.mui-v-ListingCard-body { align-content: start; display: grid; flex: 1; gap: 0.5rem; justify-items: start; padding: 1rem 1rem 1.125rem; }\n.mui-v-ListingCard-card { background: var(--mui-t-surface); border: 2px solid var(--mui-t-charcoal); display: flex; flex-direction: column; height: 100%; transition: box-shadow 200ms ease, transform 200ms ease; }\n.mui-v-ListingCard-card:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { box-shadow: 6px 6px 0 var(--mui-t-brand); transform: translate(-3px, -3px); }\n@media (prefers-reduced-motion: reduce) { .mui-v-ListingCard-card { transition: none; } }\n.mui-v-ListingCard-img { display: block; height: 100%; object-fit: contain; transition: transform 400ms ease; width: 100%; }\n.mui-v-ListingCard-card:is(:hover, :focus-within) .mui-v-ListingCard-img { transform: scale(1.04); }\n@media (prefers-reduced-motion: reduce) { .mui-v-ListingCard-img { transition: none; } }\n.mui-v-ListingCard-media { aspect-ratio: 1 / 1; background: #ffffff; border-bottom: 3px solid var(--mui-t-charcoal); display: block; overflow: hidden; position: relative; }\n.mui-v-ListingCard-meta { color: var(--mui-t-muted); font-size: 0.875rem; margin: 0; }\n.mui-v-ListingCard-name { font-family: var(--mui-t-fontDisplay); font-size: 1.5rem; font-weight: 800; line-height: 1; margin: 0; text-transform: uppercase; }\n.mui-v-ListingCard-nameLink { color: var(--mui-t-ink); text-decoration: none; }\n.mui-v-ListingCard-nameLink:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { text-decoration: underline; text-decoration-color: var(--mui-t-brand); text-decoration-thickness: 3px; }\n.mui-v-ListingCard-nameLink:focus-visible { outline: 3px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-ListingCard-noImg { align-items: center; color: var(--mui-t-muted); display: flex; height: 100%; justify-content: center; }\n.mui-v-ListingCard-pay { align-items: center; background: var(--mui-t-sunken); display: flex; gap: 0.5rem; justify-content: space-between; padding: 0.375rem 0.25rem 0.375rem 0.75rem; width: 100%; }\n.mui-v-ListingCard-payAmount { color: var(--mui-t-ink); font-family: var(--mui-t-fontDisplay); font-size: 1.375rem; font-weight: 800; }\n.mui-v-ListingCard-payTerms { color: var(--mui-t-muted); font-size: 0.8125rem; font-weight: 600; }\n.mui-v-ListingCard-priceBig { color: var(--mui-t-ink); display: block; font-family: var(--mui-t-fontDisplay); font-size: 1.875rem; font-weight: 800; line-height: 1; }\n.mui-v-ListingCard-priceBig--secondary.mui-v-ListingCard-priceBig--secondary.mui-v-ListingCard-priceBig--secondary { color: var(--mui-t-muted); font-size: 1.375rem; }\n.mui-v-ListingCard-priceLabel { color: var(--mui-t-muted); display: block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }\n.mui-v-ListingCard-prices { align-items: flex-end; border-top: 1px solid var(--mui-t-line); display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; margin-top: auto; padding-top: 0.75rem; width: 100%; }\n.mui-v-ListingCard-tags { display: flex; gap: 0.375rem; left: 0.625rem; position: absolute; top: 0.625rem; }\n.mui-v-ProductPage-actions { display: grid; gap: 0.75rem; }\n.mui-v-ProductPage-addOn { align-items: center; background: var(--mui-t-surface); border: 2px solid var(--mui-t-line); cursor: pointer; display: flex; gap: 0.75rem; padding: 0.625rem 0.75rem; }\n.mui-v-ProductPage-addOn:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { border-color: var(--mui-t-charcoal); }\n.mui-v-ProductPage-addOn--on.mui-v-ProductPage-addOn--on.mui-v-ProductPage-addOn--on { background: var(--mui-t-brandSoft); border-color: var(--mui-t-brand); }\n.mui-v-ProductPage-addOnImg { background: #fff; height: 3rem; object-fit: contain; width: 3rem; }\n.mui-v-ProductPage-addOnName { font-weight: 700; line-height: 1.3; }\n.mui-v-ProductPage-addOnPrice { color: var(--mui-t-muted); font-size: 0.875rem; }\n.mui-v-ProductPage-addOnText { display: grid; gap: 0.125rem; min-width: 0; }\n.mui-v-ProductPage-addOns { display: grid; gap: 0.5rem; }\n.mui-v-ProductPage-back { align-items: center; color: var(--mui-t-ink); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-weight: 700; gap: 0.375rem; letter-spacing: 0.08em; min-height: var(--mui-t-tap); text-decoration: none; text-transform: uppercase; }\n.mui-v-ProductPage-back:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { color: var(--mui-t-brandText); }\n.mui-v-ProductPage-back:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-ProductPage-check { accent-color: var(--mui-t-brand); flex-shrink: 0; height: 1.25rem; width: 1.25rem; }\n.mui-v-ProductPage-check:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-ProductPage-desc { color: var(--mui-t-muted); line-height: 1.7; margin: 0; max-width: 48rem; white-space: pre-line; }\n.mui-v-ProductPage-feature { align-items: start; background: var(--mui-t-surface); border-left: 4px solid var(--mui-t-brand); display: grid; gap: 1rem; grid-template-columns: auto 1fr; padding: 1rem; }\n.mui-v-ProductPage-featureImg { background: #fff; height: 4.5rem; object-fit: cover; width: 4.5rem; }\n.mui-v-ProductPage-featureName { font-family: var(--mui-t-fontDisplay); font-size: 1.25rem; font-weight: 800; line-height: 1.05; margin: 0 0 0.375rem; text-transform: uppercase; }\n.mui-v-ProductPage-featureText { color: var(--mui-t-muted); font-size: 0.9375rem; line-height: 1.55; margin: 0; }\n.mui-v-ProductPage-features { display: grid; gap: 0.75rem; list-style: none; margin: 0; padding: 0; }\n@media (min-width: 768px) { .mui-v-ProductPage-features { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n.mui-v-ProductPage-fieldset { border: 0; display: grid; gap: 0.5rem; margin: 0; min-width: 0; padding: 0; }\n.mui-v-ProductPage-gallery { display: grid; gap: 0.75rem; min-width: 0; }\n.mui-v-ProductPage-hint { color: var(--mui-t-muted); font-size: 0.875rem; margin: 0; }\n.mui-v-ProductPage-info { align-content: start; display: grid; gap: 1rem; min-width: 0; }\n@media (min-width: 1024px) { .mui-v-ProductPage-info { align-self: start; position: sticky; top: 1.5rem; } }\n.mui-v-ProductPage-loading { background: var(--mui-t-sunken); height: 28rem; }\n.mui-v-ProductPage-mainImg { display: block; height: 100%; object-fit: contain; width: 100%; }\n.mui-v-ProductPage-mainMedia { aspect-ratio: 1 / 1; background: #ffffff; border: 2px solid var(--mui-t-charcoal); box-shadow: 8px 8px 0 var(--mui-t-charcoal); overflow: hidden; position: relative; }\n.mui-v-ProductPage-mainTag { left: 0.75rem; position: absolute; top: 0.75rem; }\n.mui-v-ProductPage-meta { color: var(--mui-t-muted); font-size: 0.875rem; font-weight: 600; letter-spacing: 0.04em; margin: 0; }\n.mui-v-ProductPage-moreGrid { display: grid; gap: 1.25rem; list-style: none; margin: 0; padding: 0; }\n@media (min-width: 640px) { .mui-v-ProductPage-moreGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n@media (min-width: 1024px) { .mui-v-ProductPage-moreGrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }\n.mui-v-ProductPage-noImg { align-items: center; color: var(--mui-t-muted); display: flex; height: 100%; justify-content: center; }\n.mui-v-ProductPage-page { display: grid; gap: 2.5rem; padding: 1rem 0 4rem; }\n@media (min-width: 768px) { .mui-v-ProductPage-page { padding: 1.5rem 0 5rem; } }\n.mui-v-ProductPage-pay { align-items: center; background: var(--mui-t-charcoal); color: var(--mui-t-onDark); display: flex; gap: 1rem; justify-content: space-between; padding: 0.875rem 1rem; }\n.mui-v-ProductPage-payAmount { font-family: var(--mui-t-fontDisplay); font-size: 2rem; font-weight: 800; line-height: 1; }\n.mui-v-ProductPage-payInfo { align-items: center; background: transparent; border: 2px solid var(--mui-t-lineDark); border-radius: var(--mui-t-radius); color: var(--mui-t-onDark); cursor: pointer; display: inline-flex; font: inherit; font-size: 0.875rem; font-weight: 700; gap: 0.375rem; min-height: var(--mui-t-tap); padding: 0 0.75rem; }\n.mui-v-ProductPage-payInfo:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-steel); border-color: var(--mui-t-brand); color: var(--mui-t-onDark); }\n.mui-v-ProductPage-payInfo:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-ProductPage-payPer { color: var(--mui-t-onDarkMuted); font-weight: 700; }\n.mui-v-ProductPage-payTerms { color: var(--mui-t-onDarkMuted); font-size: 0.875rem; }\n.mui-v-ProductPage-payText { display: grid; gap: 0.125rem; }\n.mui-v-ProductPage-pickupNote { align-items: flex-start; color: var(--mui-t-muted); display: flex; font-size: 0.875rem; gap: 0.5rem; line-height: 1.5; margin: 0; }\n.mui-v-ProductPage-priceBig { display: block; font-family: var(--mui-t-fontDisplay); font-size: 2.75rem; font-weight: 800; line-height: 1; }\n.mui-v-ProductPage-priceBig--secondary.mui-v-ProductPage-priceBig--secondary.mui-v-ProductPage-priceBig--secondary { color: var(--mui-t-muted); font-size: 1.75rem; }\n.mui-v-ProductPage-priceLabel { color: inherit; display: block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; opacity: 0.8; text-transform: uppercase; }\n.mui-v-ProductPage-prices { align-items: flex-end; border-top: 3px solid var(--mui-t-charcoal); display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; padding-top: 1rem; }\n.mui-v-ProductPage-promo { background: var(--mui-t-charcoalDeep); border-left: 6px solid var(--mui-t-brand); color: var(--mui-t-onDark); display: grid; gap: 0.375rem; justify-items: start; padding: 1rem 1.125rem; }\n.mui-v-ProductPage-promoDesc { color: var(--mui-t-onDarkMuted); font-size: 0.9375rem; line-height: 1.5; margin: 0; }\n.mui-v-ProductPage-promoLink { align-items: center; color: var(--mui-t-brand); display: inline-flex; font-weight: 700; gap: 0.25rem; min-height: 2rem; text-decoration: none; }\n.mui-v-ProductPage-promoLink:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { color: var(--mui-t-brandHover); }\n.mui-v-ProductPage-promoLink:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-ProductPage-promoMeta { align-items: center; color: var(--mui-t-onDarkMuted); display: flex; flex-wrap: wrap; font-size: 0.875rem; gap: 0.25rem 1rem; margin: 0; }\n.mui-v-ProductPage-promoName { font-family: var(--mui-t-fontDisplay); font-size: 1.625rem; font-weight: 800; line-height: 1; margin: 0; text-transform: uppercase; }\n.mui-v-ProductPage-resource { align-items: center; background: var(--mui-t-surface); border: 2px solid var(--mui-t-charcoal); color: var(--mui-t-ink); display: flex; font-weight: 700; gap: 0.625rem; min-height: 3.25rem; padding: 0 1rem; text-decoration: none; }\n.mui-v-ProductPage-resource:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-charcoal); color: var(--mui-t-onDark); }\n.mui-v-ProductPage-resource:focus-visible { outline: 3px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-ProductPage-resources { display: grid; gap: 0.75rem; list-style: none; margin: 0; padding: 0; }\n@media (min-width: 768px) { .mui-v-ProductPage-resources { grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n.mui-v-ProductPage-section { border-top: 2px solid var(--mui-t-charcoal); display: grid; gap: 1.25rem; padding-top: 1.75rem; }\n.mui-v-ProductPage-sectionTitle { font-family: var(--mui-t-fontDisplay); font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem); font-weight: 800; line-height: 0.95; margin: 0; text-transform: uppercase; }\n.mui-v-ProductPage-soldNote { background: var(--mui-t-sunken); font-weight: 600; margin: 0; padding: 0.75rem 1rem; }\n.mui-v-ProductPage-specGrid { align-items: start; display: grid; gap: 1.5rem 2rem; }\n@media (min-width: 768px) { .mui-v-ProductPage-specGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n.mui-v-ProductPage-specGroup { display: grid; gap: 0.5rem; }\n.mui-v-ProductPage-specGroupTitle { color: var(--mui-t-brandText); font-family: var(--mui-t-fontDisplay); font-size: 1.125rem; font-weight: 800; letter-spacing: 0.1em; margin: 0; text-transform: uppercase; }\n.mui-v-ProductPage-specHead { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; }\n.mui-v-ProductPage-specList { background: var(--mui-t-surface); border: 1px solid var(--mui-t-line); margin: 0; }\n.mui-v-ProductPage-specName { color: var(--mui-t-muted); font-size: 0.9375rem; }\n.mui-v-ProductPage-specRow { border-bottom: 1px solid var(--mui-t-line); display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 0.625rem 0.875rem; }\n.mui-v-ProductPage-specValue { font-weight: 700; margin: 0; text-align: right; }\n.mui-v-ProductPage-subtitle { color: var(--mui-t-muted); font-size: 1.0625rem; margin: 0; }\n.mui-v-ProductPage-thumb { background: #fff; border: 2px solid var(--mui-t-line); cursor: pointer; display: block; height: 4.5rem; padding: 0; width: 4.5rem; }\n.mui-v-ProductPage-thumb:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { border-color: var(--mui-t-charcoal); }\n.mui-v-ProductPage-thumb:focus-visible { outline: 3px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-ProductPage-thumb--on.mui-v-ProductPage-thumb--on.mui-v-ProductPage-thumb--on { border-color: var(--mui-t-brand); box-shadow: 0 0 0 2px var(--mui-t-brand); }\n.mui-v-ProductPage-thumbImg { display: block; height: 100%; object-fit: cover; width: 100%; }\n.mui-v-ProductPage-thumbs { display: flex; gap: 0.5rem; list-style: none; margin: 0; overflow-x: auto; padding: 0.25rem; }\n.mui-v-ProductPage-title { font-family: var(--mui-t-fontDisplay); font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem); font-weight: 800; line-height: 0.92; margin: 0; text-transform: uppercase; text-wrap: balance; }\n.mui-v-ProductPage-top { display: grid; gap: 2rem; }\n@media (min-width: 1024px) { .mui-v-ProductPage-top { gap: 3rem; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }\n.mui-v-ProductPage-unitBtn { background: var(--mui-t-surface); border: 0; color: var(--mui-t-ink); cursor: pointer; font-family: var(--mui-t-fontDisplay); font-size: 1rem; font-weight: 700; letter-spacing: 0.08em; min-height: 2.5rem; padding: 0 1rem; text-transform: uppercase; }\n.mui-v-ProductPage-unitBtn:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-sunken); color: var(--mui-t-ink); }\n.mui-v-ProductPage-unitBtn:focus-visible { outline: 3px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-ProductPage-unitBtn--on.mui-v-ProductPage-unitBtn--on.mui-v-ProductPage-unitBtn--on { background: var(--mui-t-charcoal); color: var(--mui-t-onDark); }\n.mui-v-ProductPage-unitToggle { border: 2px solid var(--mui-t-charcoal); display: inline-flex; }\n.mui-v-PromoArtCard-badge { align-items: center; background: var(--mui-t-brand); color: var(--mui-t-onBrand); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-size: 0.9375rem; font-weight: 800; gap: 0.375rem; letter-spacing: 0.08em; padding: 0.25rem 0.5rem; text-transform: uppercase; }\n.mui-v-PromoArtCard-body { align-content: start; display: grid; flex: 1; gap: 0.625rem; padding: 1rem 1rem 1.125rem; }\n.mui-v-PromoArtCard-card { background: var(--mui-t-surface); border: 2px solid var(--mui-t-charcoal); color: var(--mui-t-ink); display: flex; flex-direction: column; height: 100%; overflow: hidden; text-decoration: none; transition: box-shadow 200ms ease, transform 200ms ease; }\n.mui-v-PromoArtCard-card:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { box-shadow: 6px 6px 0 var(--mui-t-brand); transform: translate(-3px, -3px); }\n.mui-v-PromoArtCard-card:focus-visible { outline: 3px solid var(--mui-t-focus); outline-offset: 3px; }\n@media (prefers-reduced-motion: reduce) { .mui-v-PromoArtCard-card { transition: none; } }\n.mui-v-PromoArtCard-cta { align-items: center; color: var(--mui-t-brandText); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-size: 1.0625rem; font-weight: 800; gap: 0.375rem; letter-spacing: 0.08em; text-transform: uppercase; }\n.mui-v-PromoArtCard-card:is(:hover, :focus-within) .mui-v-PromoArtCard-cta { color: var(--mui-t-charcoal); }\n.mui-v-PromoArtCard-desc { -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: var(--mui-t-muted); display: -webkit-box; font-size: 0.9375rem; line-height: 1.5; margin: 0; overflow: hidden; }\n.mui-v-PromoArtCard-ends { background: var(--mui-t-sunken); color: var(--mui-t-ink); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.04em; padding: 0.25rem 0.5rem; text-transform: uppercase; }\n.mui-v-PromoArtCard-foot { align-items: center; border-top: 1px solid var(--mui-t-line); color: var(--mui-t-muted); display: flex; flex-wrap: wrap; font-size: 0.875rem; font-weight: 600; gap: 0.5rem 1rem; justify-content: space-between; margin-top: auto; padding-top: 0.75rem; }\n.mui-v-PromoArtCard-img { display: block; height: 100%; object-fit: cover; transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1); width: 100%; }\n.mui-v-PromoArtCard-card:is(:hover, :focus-within) .mui-v-PromoArtCard-img { transform: scale(1.04); }\n@media (prefers-reduced-motion: reduce) { .mui-v-PromoArtCard-img { transition: none; } }\n.mui-v-PromoArtCard-media { aspect-ratio: 8 / 3; background: var(--mui-t-charcoalDeep); border-bottom: 3px solid var(--mui-t-charcoal); overflow: hidden; position: relative; }\n.mui-v-PromoArtCard-name { font-family: var(--mui-t-fontDisplay); font-size: 1.625rem; font-weight: 800; line-height: 0.95; margin: 0; text-transform: uppercase; text-wrap: balance; }\n.mui-v-PromoArtCard-pattern { background-image: radial-gradient(ellipse 60% 70% at 85% 20%, rgba(244,81,32,0.55), transparent 70%), repeating-linear-gradient(-45deg, rgba(247,245,240,0.05) 0 2px, transparent 2px 14px); inset: 0; position: absolute; }\n.mui-v-PromoArtCard-top { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: space-between; }\n.mui-v-SiteFooter-address { color: var(--mui-t-onDark); font-style: normal; line-height: 1.6; margin-bottom: 0.5rem; }\n.mui-v-SiteFooter-body { font-size: 0.9375rem; line-height: 1.6; margin: 0; max-width: 24rem; }\n.mui-v-SiteFooter-bottom { align-items: center; border-top: 1px solid var(--mui-t-lineDark); display: flex; flex-wrap: wrap; font-size: 0.875rem; gap: 0.5rem 1.5rem; justify-content: space-between; padding: 1.25rem 0 1.5rem; }\n.mui-v-SiteFooter-brandCol { align-content: start; display: grid; gap: 1rem; }\n.mui-v-SiteFooter-credit { color: var(--mui-t-onDark); font-weight: 700; text-decoration: underline; text-decoration-color: var(--mui-t-brand); text-underline-offset: 3px; }\n.mui-v-SiteFooter-credit:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { color: var(--mui-t-brand); }\n.mui-v-SiteFooter-credit:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-SiteFooter-grid { display: grid; gap: 2.5rem; padding: 3.5rem 0 2.5rem; }\n@media (min-width: 768px) { .mui-v-SiteFooter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n@media (min-width: 1024px) { .mui-v-SiteFooter-grid { gap: 3rem; grid-template-columns: 1.4fr 1fr 1.2fr 1.2fr; } }\n.mui-v-SiteFooter-head { color: var(--mui-t-onDark); font-family: var(--mui-t-fontDisplay); font-size: 1.125rem; font-weight: 700; letter-spacing: 0.16em; margin: 0 0 1rem; text-transform: uppercase; }\n.mui-v-SiteFooter-link { align-items: center; color: var(--mui-t-onDark); display: inline-flex; font-weight: 600; gap: 0.5rem; min-height: var(--mui-t-tap); text-decoration: none; }\n.mui-v-SiteFooter-link:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { color: var(--mui-t-brand); }\n.mui-v-SiteFooter-link:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-SiteFooter-list { display: grid; gap: 0.25rem; list-style: none; margin: 0; padding: 0; }\n.mui-v-SiteFooter-note { align-content: start; border: 1px solid var(--mui-t-lineDark); border-left: 4px solid var(--mui-t-brand); display: grid; font-size: 0.9375rem; gap: 0.75rem; line-height: 1.55; padding: 1.25rem; }\n.mui-v-SiteFooter-noteTitle { align-items: center; color: var(--mui-t-onDark); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-size: 1.25rem; font-weight: 700; gap: 0.5rem; letter-spacing: 0.06em; text-transform: uppercase; }\n.mui-v-SiteFooter-root { background: var(--mui-t-charcoalDeep); color: var(--mui-t-onDarkMuted); margin-top: 0; position: relative; }\n.mui-v-SiteFooter-stripe { background-image: repeating-linear-gradient(-45deg, var(--mui-t-brand) 0 12px, var(--mui-t-charcoalDeep) 12px 24px); height: 0.5rem; }\n.mui-v-SiteFooter-tag { color: var(--mui-t-onDark); font-family: var(--mui-t-fontDisplay); font-size: 2.25rem; font-weight: 800; line-height: 0.9; margin: 0; text-transform: uppercase; }\n.mui-v-SiteFooter-tagAccent { color: var(--mui-t-brand); display: block; }\n.mui-v-appFrame { -webkit-font-smoothing: antialiased; background: var(--mui-t-canvas); color: var(--mui-t-ink); color-scheme: light; display: flex; flex-direction: column; font-family: var(--mui-t-fontBody); font-size: 1rem; height: 100dvh; line-height: 1.5; overflow: hidden; }\n.mui-v-bodyMuted { color: var(--mui-t-muted); line-height: 1.6; margin: 0; max-width: 34rem; }\n.mui-v-brandFallback { align-items: center; display: inline-flex; gap: 0.625rem; }\n.mui-v-brandLink { align-items: center; color: var(--mui-t-onDark); display: inline-flex; gap: 0.625rem; min-height: var(--mui-t-tap); text-decoration: none; }\n.mui-v-brandLink:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 3px; }\n.mui-v-brandLogo { display: block; filter: brightness(0) invert(1); height: 2.5rem; max-width: 11rem; object-fit: contain; transition: opacity 160ms ease; width: auto; }\n.mui-v-brandLink:is(:hover, :focus-within) .mui-v-brandLogo { opacity: 0.82; }\n@media (min-width: 768px) { .mui-v-brandLogo { height: 2.875rem; max-width: 14rem; } }\n.mui-v-brandMark { background: var(--mui-t-brand); clip-path: polygon(0 0, 78% 0, 100% 50%, 78% 100%, 0 100%); color: var(--mui-t-onBrand); display: grid; font-family: var(--mui-t-fontDisplay); font-size: 1.5rem; font-weight: 800; height: 2.375rem; place-items: center; width: 2.375rem; }\n.mui-v-brandName { font-family: var(--mui-t-fontDisplay); font-size: 1.5rem; font-weight: 800; letter-spacing: 0.02em; text-transform: uppercase; }\n.mui-v-brandSub { color: var(--mui-t-onDarkMuted); font-family: var(--mui-t-fontDisplay); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; }\n.mui-v-brandWord { display: grid; line-height: 0.95; }\n.mui-v-button { align-items: center; border: 2px solid transparent; border-radius: var(--mui-t-radius); cursor: pointer; display: inline-flex; font: inherit; font-family: var(--mui-t-fontDisplay); font-size: 1.1875rem; font-weight: 700; gap: 0.5rem; justify-content: center; letter-spacing: 0.06em; line-height: 1; min-height: 3rem; padding: 0 1.5rem; text-decoration: none; text-transform: uppercase; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease; white-space: nowrap; }\n.mui-v-button:focus-visible { outline: 3px solid var(--mui-t-focus); outline-offset: 3px; }\n.mui-v-button:active:not(:disabled, [aria-disabled=\"true\"]) { transform: translateY(1px); }\n.mui-v-button:is(:disabled, [aria-disabled=\"true\"]) { cursor: not-allowed; opacity: 0.55; }\n@media (prefers-reduced-motion: reduce) { .mui-v-button { transition: none; } }\n.mui-v-buttonBlock { width: 100%; }\n.mui-v-buttonGhostDark { background: transparent; border-color: var(--mui-t-onDark); color: var(--mui-t-onDark); }\n.mui-v-buttonGhostDark:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-onDark); border-color: var(--mui-t-onDark); color: var(--mui-t-charcoal); }\n.mui-v-buttonOutline { background: transparent; border-color: var(--mui-t-charcoal); color: var(--mui-t-charcoal); }\n.mui-v-buttonOutline:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-charcoal); border-color: var(--mui-t-charcoal); color: var(--mui-t-onDark); }\n.mui-v-buttonPrimary { background: var(--mui-t-brand); border-color: var(--mui-t-brand); color: var(--mui-t-onBrand); }\n.mui-v-buttonPrimary:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-brandHover); border-color: var(--mui-t-brandHover); color: var(--mui-t-onBrand); }\n.mui-v-cartButton { align-items: center; background: transparent; border: 2px solid var(--mui-t-lineDark); border-radius: var(--mui-t-radius); color: var(--mui-t-onDark); cursor: pointer; display: inline-flex; font: inherit; font-family: var(--mui-t-fontDisplay); font-size: 1.0625rem; font-weight: 700; gap: 0.5rem; letter-spacing: 0.06em; min-height: var(--mui-t-tap); padding: 0 0.875rem; position: relative; text-transform: uppercase; }\n.mui-v-cartButton:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-steel); border-color: var(--mui-t-brand); color: var(--mui-t-onDark); }\n.mui-v-cartButton:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-cartCount { background: var(--mui-t-brand); border-radius: 999px; color: var(--mui-t-onBrand); display: inline-grid; font-family: var(--mui-t-fontBody); font-size: 0.8125rem; font-weight: 800; height: 1.5rem; letter-spacing: 0; min-width: 1.5rem; padding: 0 0.375rem; place-items: center; }\n.mui-v-cartLabel { display: none; }\n@media (min-width: 640px) { .mui-v-cartLabel { display: inline; } }\n.mui-v-conditionTag { background: var(--mui-t-charcoal); color: var(--mui-t-onDark); font-family: var(--mui-t-fontDisplay); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.1em; padding: 0.25rem 0.5rem; text-transform: uppercase; }\n.mui-v-conditionTag--sold.mui-v-conditionTag--sold.mui-v-conditionTag--sold { background: var(--mui-t-danger); color: var(--mui-t-surface); }\n.mui-v-container { margin: 0 auto; max-width: var(--mui-t-maxW); padding-inline: 1rem; width: 100%; }\n@media (min-width: 768px) { .mui-v-container { padding-inline: 1.5rem; } }\n@media (min-width: 1024px) { .mui-v-container { padding-inline: 2rem; } }\n.mui-v-deskNav { align-items: center; display: none; gap: 0.375rem; }\n@media (min-width: 1024px) { .mui-v-deskNav { display: flex; } }\n.mui-v-drawerCall { align-items: center; color: var(--mui-t-brand); display: inline-flex; font-weight: 700; gap: 0.5rem; min-height: var(--mui-t-tap); text-decoration: none; }\n.mui-v-drawerCall:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { color: var(--mui-t-brandHover); }\n.mui-v-drawerCall:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-drawerHead { align-items: center; border-bottom: 1px solid var(--mui-t-lineDark); display: flex; gap: 1rem; justify-content: space-between; padding-bottom: 1rem; }\n.mui-v-drawerLayer { background: var(--mui-t-scrim); display: flex; inset: 0; justify-content: flex-end; overscroll-behavior: contain; padding-left: 3rem; position: fixed; z-index: 60; }\n.mui-v-drawerLink { align-items: center; border: 2px solid var(--mui-t-lineDark); border-radius: var(--mui-t-radius); color: var(--mui-t-onDark); display: flex; font-family: var(--mui-t-fontDisplay); font-size: 1.5rem; font-weight: 700; justify-content: space-between; letter-spacing: 0.05em; min-height: 3.5rem; padding: 0 1rem; text-decoration: none; text-transform: uppercase; }\n.mui-v-drawerLink:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-steel); border-color: var(--mui-t-lineStrong); color: var(--mui-t-onDark); }\n.mui-v-drawerLink:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-drawerLink--active.mui-v-drawerLink--active.mui-v-drawerLink--active { background: var(--mui-t-brand); border-color: var(--mui-t-brand); color: var(--mui-t-onBrand); }\n.mui-v-drawerList { display: grid; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }\n.mui-v-drawerNote { border: 1px dashed var(--mui-t-lineDark); color: var(--mui-t-onDarkMuted); display: grid; font-size: 0.9375rem; gap: 0.75rem; line-height: 1.5; margin-top: auto; padding: 1rem; }\n.mui-v-drawerPanel { background: var(--mui-t-charcoal); border-left: 4px solid var(--mui-t-brand); box-shadow: var(--mui-t-shadowLift); color: var(--mui-t-onDark); display: flex; flex-direction: column; gap: 1.5rem; height: 100%; overflow-y: auto; padding: 1rem 1.25rem 1.5rem; width: min(24rem, 100%); }\n.mui-v-drawerTitle { font-family: var(--mui-t-fontDisplay); font-size: 1.5rem; font-weight: 800; letter-spacing: 0.06em; margin: 0; text-transform: uppercase; }\n.mui-v-eyebrow { align-items: center; color: var(--mui-t-brandText); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-size: 0.9375rem; font-weight: 700; gap: 0.5rem; letter-spacing: 0.22em; margin: 0; text-transform: uppercase; }\n.mui-v-fieldControl { appearance: none; background: var(--mui-t-surface); border: 2px solid var(--mui-t-charcoal); border-radius: var(--mui-t-radius); color: var(--mui-t-ink); font: inherit; font-size: 1rem; min-height: 3rem; padding-left: var(--mui-v-fieldControl-pad-start); padding-right: var(--mui-v-fieldControl-pad-end); transition: box-shadow 160ms ease; width: 100%; }\n.mui-v-fieldControl:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { box-shadow: 3px 3px 0 var(--mui-t-charcoal); }\n.mui-v-fieldControl:focus-visible { border-color: var(--mui-t-charcoal); outline: 3px solid var(--mui-t-focus); outline-offset: 1px; }\n@media (prefers-reduced-motion: reduce) { .mui-v-fieldControl { transition: none; } }\n.mui-v-fieldControl--invalid.mui-v-fieldControl--invalid.mui-v-fieldControl--invalid { border-color: var(--mui-t-danger); box-shadow: 3px 3px 0 var(--mui-t-danger); }\n.mui-v-fieldIconEnd { color: var(--mui-t-charcoal); pointer-events: none; position: absolute; right: 0.875rem; }\n.mui-v-fieldIconStart { color: var(--mui-t-muted); left: 0.875rem; pointer-events: none; position: absolute; }\n.mui-v-fieldLabel { color: var(--mui-t-ink); font-family: var(--mui-t-fontDisplay); font-size: 1rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }\n.mui-v-fieldWrap { align-items: center; display: flex; position: relative; }\n.mui-v-headerActions { align-items: center; display: flex; gap: 0.5rem; }\n.mui-v-headerBar { align-items: center; display: flex; gap: 1rem; justify-content: space-between; min-height: 4.25rem; }\n.mui-v-iconButtonDark { background: transparent; border: 2px solid var(--mui-t-lineDark); border-radius: var(--mui-t-radius); color: var(--mui-t-onDark); cursor: pointer; display: inline-grid; height: var(--mui-t-tap); padding: 0; place-items: center; width: var(--mui-t-tap); }\n.mui-v-iconButtonDark:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-steel); border-color: var(--mui-t-brand); color: var(--mui-t-onDark); }\n.mui-v-iconButtonDark:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n.mui-v-iconLg { flex-shrink: 0; height: 1.5rem; width: 1.5rem; }\n.mui-v-iconMd { flex-shrink: 0; height: 1.25rem; width: 1.25rem; }\n.mui-v-iconSm { flex-shrink: 0; height: 1rem; width: 1rem; }\n.mui-v-infoButton { align-items: center; background: transparent; border: 0; border-radius: 999px; color: var(--mui-t-muted); cursor: pointer; display: inline-flex; height: 2rem; justify-content: center; padding: 0; width: 2rem; }\n.mui-v-infoButton:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-sunken); color: var(--mui-t-brandText); }\n.mui-v-infoButton:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 1px; }\n.mui-v-menuButton { background: transparent; border: 2px solid var(--mui-t-lineDark); border-radius: var(--mui-t-radius); color: var(--mui-t-onDark); cursor: pointer; display: inline-grid; height: var(--mui-t-tap); padding: 0; place-items: center; width: var(--mui-t-tap); }\n.mui-v-menuButton:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-steel); border-color: var(--mui-t-brand); color: var(--mui-t-onDark); }\n.mui-v-menuButton:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n@media (min-width: 1024px) { .mui-v-menuButton { display: none; } }\n.mui-v-navButton { align-items: center; border: 2px solid transparent; border-radius: var(--mui-t-radius); color: var(--mui-t-onDark); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-size: 1.125rem; font-weight: 700; letter-spacing: 0.06em; min-height: var(--mui-t-tap); padding: 0 1.125rem; text-decoration: none; text-transform: uppercase; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease; }\n.mui-v-navButton:hover:where(:not(:disabled, [aria-disabled=\"true\"])) { background: var(--mui-t-steel); border-color: var(--mui-t-lineDark); color: var(--mui-t-onDark); }\n.mui-v-navButton:focus-visible { outline: 2px solid var(--mui-t-focus); outline-offset: 2px; }\n@media (prefers-reduced-motion: reduce) { .mui-v-navButton { transition: none; } }\n.mui-v-navButton--active.mui-v-navButton--active.mui-v-navButton--active { background: var(--mui-t-brand); border-color: var(--mui-t-brand); color: var(--mui-t-onBrand); }\n.mui-v-promoTag { align-items: center; background: var(--mui-t-brand); color: var(--mui-t-onBrand); display: inline-flex; font-family: var(--mui-t-fontDisplay); font-size: 0.875rem; font-weight: 800; gap: 0.3125rem; letter-spacing: 0.06em; max-width: 100%; overflow: hidden; padding: 0.25rem 0.5rem; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }\n.mui-v-scroller { flex: 1; min-height: 0; outline: none; overflow-x: clip; overflow-y: auto; scroll-behavior: smooth; }\n@media (prefers-reduced-motion: reduce) { .mui-v-scroller { scroll-behavior: auto; } }\n.mui-v-sectionTitle { font-family: var(--mui-t-fontDisplay); font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem); font-weight: 800; letter-spacing: 0.01em; line-height: 0.95; margin: 0; text-transform: uppercase; text-wrap: balance; }\n.mui-v-siteHeader { background: var(--mui-t-charcoal); border-bottom: 3px solid var(--mui-t-brand); color: var(--mui-t-onDark); flex-shrink: 0; position: relative; z-index: 30; }\n.mui-v-skeleton { aspect-ratio: 3 / 4; background: linear-gradient(180deg, var(--mui-t-sunken) 0 55%, var(--mui-t-surface) 55%); border: 2px solid var(--mui-t-line); }\n.mui-v-skipLink { background: var(--mui-t-brand); color: var(--mui-t-onBrand); font-weight: 700; left: 1rem; padding: 0.75rem 1rem; position: fixed; text-decoration: none; top: -5rem; z-index: 90; }\n.mui-v-skipLink:focus-visible { outline: 2px solid var(--mui-t-charcoal); outline-offset: 2px; top: 1rem; }\n.mui-v-srOnly { border: 0; clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }\n.mui-v-statusPanel { background: var(--mui-t-surface); border: 2px dashed var(--mui-t-lineStrong); display: grid; gap: 0.75rem; justify-items: center; padding: 3rem 1.5rem; text-align: center; }\n.mui-v-statusTitle { font-family: var(--mui-t-fontDisplay); font-size: 1.75rem; font-weight: 800; margin: 0; text-transform: uppercase; }"]},{"tag":"a","text":"Skip to content","props":{"href":"#main","class":"mui-v-skipLink"}},{"children":[{"children":[{"children":[{"props":{"alt":"","height":"100","src":{"$t":98},"width":"300","class":"mui-v-brandLogo"},"tag":"img","when":{"$t":143}},{"children":[{"tag":"span","text":"I","props":{"class":"mui-v-brandMark"}},{"children":[{"tag":"span","text":"Ironline","props":{"class":"mui-v-brandName"}},{"tag":"span","text":"Equipment Co.","props":{"class":"mui-v-brandSub"}}],"tag":"span","props":{"class":"mui-v-brandWord"}}],"props":{"aria-hidden":"true","class":"mui-v-brandFallback"},"tag":"span","when":{"$t":144}}],"props":{"aria-label":{"$t":145},"href":"/","class":"mui-v-brandLink"},"tag":"a","on":{"click":[{"call":"navigate","to":"/"}]},"$demand":[]},{"children":[{"props":{"aria-current":{"$t":198},"href":{"$t":197},"class":{"$t":15}},"repeat":{"as":"item","items":{"$t":123},"key":"id"},"tag":"a","text":{"$t":202},"on":{"click":[{"call":"navigate","to":"{{ item.href }}"}]},"$demand":[]}],"props":{"aria-label":"Primary","class":"mui-v-deskNav"},"tag":"nav"},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"circle","props":{"cx":"8","cy":"21","r":"1"}},{"tag":"circle","props":{"cx":"19","cy":"21","r":"1"}},{"tag":"path","props":{"d":"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"}}]},{"tag":"span","text":"Cart","props":{"class":"mui-v-cartLabel"}},{"props":{"aria-hidden":"true","class":"mui-v-cartCount"},"tag":"span","text":{"$t":70}}],"on":{"click":[{"op":"set","path":"cartOpen","value":true}]},"props":{"aria-haspopup":"dialog","aria-label":{"$t":42},"type":"button","class":"mui-v-cartButton"},"tag":"button","$demand":[]},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M4 5h16"}},{"tag":"path","props":{"d":"M4 12h16"}},{"tag":"path","props":{"d":"M4 19h16"}}]}],"on":{"click":[{"op":"set","path":"navOpen","value":true}]},"props":{"aria-controls":"site-drawer","aria-expanded":{"$t":343},"aria-haspopup":"dialog","aria-label":"Open menu","type":"button","class":"mui-v-menuButton"},"tag":"button","$demand":[]}],"tag":"div","props":{"class":"mui-v-headerActions"}}],"tag":"div","props":{"class":"mui-v-container mui-v-headerBar"}}],"tag":"header","props":{"class":"mui-v-siteHeader"}},{"children":[{"children":[{"children":[{"children":[{"props":{"alt":"","decoding":"async","fetchpriority":"high","height":"1365","src":{"$t":354},"width":"2048","class":"mui-v-Home-mediaImg mui-m-kenBurns"},"tag":"img"}],"props":{"aria-hidden":"true","class":"mui-v-Home-media"},"tag":"div"},{"props":{"aria-hidden":"true","class":"mui-v-Home-scrim"},"tag":"div"},{"props":{"aria-hidden":"true","class":"mui-v-Home-grain"},"tag":"div"},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"}},{"tag":"circle","props":{"cx":"12","cy":"10","r":"3"}}]},{"tag":"span","text":"Fort Worth, Texas"}],"tag":"p","props":{"class":"mui-v-Home-kicker mui-m-riseIn"}},{"children":[{"tag":"span","text":"Gear up.","props":{"class":"mui-v-Home-titleLine"}},{"tag":"span","text":"Get to work.","props":{"class":"mui-v-Home-titleAccent"}}],"props":{"id":"hero-title","class":"mui-v-Home-title mui-m-riseInLate"},"tag":"h1"},{"props":{"aria-hidden":"true","class":"mui-v-Home-rule mui-m-wipeIn"},"tag":"div"},{"tag":"p","text":"Outdoor power equipment, parts and service for landscape pros, property managers and hardworking homeowners — with straightforward advice from people who know the job.","props":{"class":"mui-v-Home-lead mui-m-riseInLater"}},{"children":[{"children":[{"tag":"span","text":"Shop inventory"},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M5 12h14"}},{"tag":"path","props":{"d":"m12 5 7 7-7 7"}}]}],"tag":"a","props":{"href":"/inventory","class":"mui-v-button mui-v-buttonPrimary"},"on":{"click":[{"call":"navigate","to":"/inventory"}]},"$demand":[]},{"tag":"a","text":"Talk to our team","props":{"href":"/contact","class":"mui-v-button mui-v-buttonGhostDark"},"on":{"click":[{"call":"navigate","to":"/contact"}]},"$demand":[]}],"tag":"div","props":{"class":"mui-v-Home-actions mui-m-riseInLater"}},{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"}},{"tag":"path","props":{"d":"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"}},{"tag":"path","props":{"d":"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"}}]}],"tag":"span","props":{"class":"mui-v-Home-factIcon"}},{"tag":"span","text":"Pickup orders"}],"tag":"li","props":{"class":"mui-v-Home-fact"}},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}}]}],"tag":"span","props":{"class":"mui-v-Home-factIcon"}},{"tag":"span","text":"Parts & service"}],"tag":"li","props":{"class":"mui-v-Home-fact"}},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"m11 17 2 2a1 1 0 1 0 3-3"}},{"tag":"path","props":{"d":"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4"}},{"tag":"path","props":{"d":"m21 3 1 11h-2"}},{"tag":"path","props":{"d":"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3"}},{"tag":"path","props":{"d":"M3 4h8"}}]}],"tag":"span","props":{"class":"mui-v-Home-factIcon"}},{"tag":"span","text":"Straight advice"}],"tag":"li","props":{"class":"mui-v-Home-fact"}}],"tag":"ul","props":{"class":"mui-v-Home-facts mui-m-riseInLater"}}],"tag":"div","props":{"class":"mui-v-container mui-v-Home-content"}},{"props":{"aria-hidden":"true","class":"mui-v-Home-stripes mui-m-stripeSlide"},"tag":"div"}],"props":{"aria-labelledby":"hero-title","class":"mui-v-Home-hero"},"tag":"section"},{"children":[{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4"}}]},{"tag":"span","text":"Hot right now"}],"tag":"p","props":{"class":"mui-v-eyebrow"}},{"props":{"id":"promos-title","class":"mui-v-sectionTitle"},"tag":"h2","text":"Current deals"}],"tag":"div","props":{"class":"mui-v-Home-sectionHead"}},{"children":[{"children":[{"children":[{"props":{"alt":"","loading":"lazy","src":{"$t":99},"class":"mui-v-PromoArtCard-img"},"tag":"img","when":{"$t":262}},{"props":{"aria-hidden":"true","class":"mui-v-PromoArtCard-pattern"},"tag":"div","when":{"$t":263}}],"tag":"div","props":{"class":"mui-v-PromoArtCard-media"}},{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"}},{"tag":"circle","props":{"cx":"7.5","cy":"7.5","r":".5","fill":"currentColor"}}]},{"tag":"span","text":{"$t":266}}],"tag":"span","props":{"class":"mui-v-PromoArtCard-badge"}},{"tag":"span","text":{"$t":38},"props":{"class":"mui-v-PromoArtCard-ends"}}],"tag":"div","props":{"class":"mui-v-PromoArtCard-top"}},{"tag":"h3","text":{"$t":265},"props":{"class":"mui-v-PromoArtCard-name"}},{"tag":"p","text":{"$t":261},"when":{"$t":260},"props":{"class":"mui-v-PromoArtCard-desc"}},{"children":[{"tag":"span","text":{"$t":264}},{"children":[{"tag":"span","text":"Shop the deal"},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M5 12h14"}},{"tag":"path","props":{"d":"m12 5 7 7-7 7"}}]}],"tag":"span","props":{"class":"mui-v-PromoArtCard-cta"}}],"tag":"div","props":{"class":"mui-v-PromoArtCard-foot"}}],"tag":"div","props":{"class":"mui-v-PromoArtCard-body"}}],"tag":"a","props":{"href":{"$t":34},"class":"mui-v-PromoArtCard-card"},"on":{"click":[{"call":"navigate","to":"{{ '/inventory?promotionId=' + promo.id }}"}]},"repeat":{"as":"promo","index":"i","items":{"$t":274},"key":"id"},"$demand":[]}],"tag":"div","props":{"class":"mui-v-Home-promoGrid"}}],"tag":"div","props":{"class":"mui-v-container"}}],"props":{"aria-labelledby":"promos-title","class":"mui-v-Home-band"},"tag":"section","when":{"$t":137}},{"children":[{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"rect","props":{"width":"7","height":"7","x":"3","y":"3","rx":"1"}},{"tag":"rect","props":{"width":"7","height":"7","x":"14","y":"3","rx":"1"}},{"tag":"rect","props":{"width":"7","height":"7","x":"14","y":"14","rx":"1"}},{"tag":"rect","props":{"width":"7","height":"7","x":"3","y":"14","rx":"1"}}]},{"tag":"span","text":"In stock now"}],"tag":"p","props":{"class":"mui-v-eyebrow"}},{"props":{"id":"cats-title","class":"mui-v-sectionTitle"},"tag":"h2","text":"Shop by category"}],"tag":"div","props":{"class":"mui-v-Home-sectionHead"}},{"children":[{"children":[{"children":[{"children":[{"props":{"alt":"","loading":"lazy","src":{"$t":103},"class":{"$t":0}},"repeat":{"as":"pic","index":"pi","items":{"$t":73},"key":true},"tag":"img"},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"path","props":{"d":"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}}],"when":{"$t":19}},{"key":{"$t":50},"props":{"aria-hidden":"true"},"tag":"span","use":[{"action":{"op":"set","path":"$inst.catTile[{{ cat.id }}].tick","value":"{{ (state.$inst.catTile[cat.id].tick ?? state.$default.catTile.tick) + 1 }}"},"behavior":"delay","ms":3500}],"when":{"$t":20},"$demand":[]}],"tag":"div","props":{"class":"mui-v-CategoryStockTile-media"}},{"children":[{"tag":"span","text":{"$t":75},"props":{"class":"mui-v-CategoryStockTile-name"}},{"tag":"span","text":{"$t":76},"props":{"class":"mui-v-CategoryStockTile-count"}}],"tag":"div","props":{"class":"mui-v-CategoryStockTile-text"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M7 7h10v10"}},{"tag":"path","props":{"d":"M7 17 17 7"}}]}],"tag":"span","props":{"class":"mui-v-CategoryStockTile-arrow"}}],"tag":"a","props":{"href":{"$t":32},"class":"mui-v-CategoryStockTile-tile"},"on":{"click":[{"call":"navigate","to":"{{ '/inventory?category=' + cat.id }}"}]},"$demand":[]}],"repeat":{"as":"cat","items":{"$t":350},"key":"id"},"tag":"li"}],"tag":"ul","props":{"class":"mui-v-Home-catGrid"}}],"tag":"div","props":{"class":"mui-v-container"}}],"props":{"aria-labelledby":"cats-title","class":"mui-v-Home-band mui-v-Home-bandSunken"},"tag":"section","when":{"$t":141}}],"tag":"div","when":{"$t":277}},{"children":[{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"}}]},{"tag":"span","text":"Contact"}],"tag":"p","props":{"class":"mui-v-ContactPage-kicker"}},{"props":{"id":"contact-title","class":"mui-v-ContactPage-title"},"tag":"h1","text":"Let's get you to work."},{"tag":"p","text":"Questions about a machine, parts or service? Send a note or give us a call — you'll get a straight answer from someone who knows the job.","props":{"class":"mui-v-ContactPage-lead"}}],"tag":"div","props":{"class":"mui-v-container mui-v-ContactPage-bandInner"}}],"props":{"aria-labelledby":"contact-title","class":"mui-v-ContactPage-band"},"tag":"section"},{"children":[{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"circle","props":{"cx":"12","cy":"12","r":"10"}},{"tag":"path","props":{"d":"m9 12 2 2 4-4"}}]}],"tag":"span","props":{"class":"mui-v-ContactPage-okIcon"}},{"tag":"h2","text":{"$t":46},"props":{"class":"mui-v-ContactPage-formTitle"}},{"tag":"p","text":"Our team will reply by email soon. Need it faster? Give the shop a call.","props":{"class":"mui-v-bodyMuted"}},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384"}}]},{"tag":"span","text":{"$t":221}}],"tag":"a","props":{"href":{"$t":353},"class":"mui-v-button mui-v-buttonPrimary"},"on":{"click":[{"call":"navigate","to":"{{ telHref }}"}]},"$demand":[{"consumer":"root.children[4].children[1].children[1].children[0].children[0].children[3].children[0].on.click[0].to","guards":[],"expression":{"source":"telHref","writes":[],"deferred":true},"reads":[{"path":"telHref","dynamic":false}]}]},{"on":{"click":[{"op":"set","path":"contactSent","value":""}]},"props":{"type":"button","class":"mui-v-button mui-v-buttonOutline"},"tag":"button","text":"Send another","$demand":[]}],"tag":"div","props":{"class":"mui-v-ContactPage-row"}}],"props":{"role":"status","class":"mui-v-ContactPage-sent"},"tag":"div","when":{"$t":323}},{"children":[{"props":{"id":"form-title","class":"mui-v-ContactPage-formTitle"},"tag":"h2","text":"Send us a message"},{"children":[{"children":[{"props":{"for":"cf-name","class":"mui-v-fieldLabel"},"tag":"label","text":"Name"},{"on":{"input":[{"op":"set","path":"contactForm.name","value":"{{ event.value }}"}]},"props":{"aria-describedby":{"$t":95},"aria-invalid":{"$t":96},"autocomplete":"name","disabled":{"$t":80},"id":"cf-name","type":"text","value":{"$t":319},"class":{"$t":12},"style":"--mui-v-fieldControl-pad-end: 0.875rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"input","$demand":[]},{"props":{"id":"cf-name-err","class":"mui-v-ContactPage-err"},"tag":"p","text":{"$t":84},"when":{"$t":97}}],"tag":"div","props":{"class":"mui-v-ContactPage-field"}},{"children":[{"props":{"for":"cf-email","class":"mui-v-fieldLabel"},"tag":"label","text":"Email"},{"on":{"input":[{"op":"set","path":"contactForm.email","value":"{{ event.value }}"}]},"props":{"aria-describedby":{"$t":89},"aria-invalid":{"$t":90},"autocomplete":"email","disabled":{"$t":80},"id":"cf-email","inputmode":"email","type":"email","value":{"$t":317},"class":{"$t":10},"style":"--mui-v-fieldControl-pad-end: 0.875rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"input","$demand":[]},{"props":{"id":"cf-email-err","class":"mui-v-ContactPage-err"},"tag":"p","text":{"$t":81},"when":{"$t":91}}],"tag":"div","props":{"class":"mui-v-ContactPage-field"}},{"children":[{"children":[{"tag":"span","text":"Phone"},{"tag":"span","text":"Optional","props":{"class":"mui-v-ContactPage-optional"}}],"props":{"for":"cf-phone","class":"mui-v-fieldLabel mui-v-ContactPage-labelRow"},"tag":"label"},{"on":{"input":[{"op":"set","path":"contactForm.phone","value":"{{ event.value }}"}]},"props":{"autocomplete":"tel","disabled":{"$t":80},"id":"cf-phone","inputmode":"tel","type":"tel","value":{"$t":320},"class":"mui-v-fieldControl","style":"--mui-v-fieldControl-pad-end: 0.875rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"input","$demand":[]}],"tag":"div","props":{"class":"mui-v-ContactPage-field"}},{"children":[{"props":{"for":"cf-topic","class":"mui-v-fieldLabel"},"tag":"label","text":"Topic"},{"children":[{"children":[{"props":{"selected":{"$t":321},"value":"{{ t }}"},"repeat":{"as":"t","items":{"$t":126},"key":true},"tag":"option","text":"{{ t }}"}],"on":{"change":[{"op":"set","path":"contactForm.topic","value":"{{ event.value }}"}]},"props":{"disabled":{"$t":80},"id":"cf-topic","value":{"$t":322},"class":"mui-v-fieldControl","style":"--mui-v-fieldControl-pad-end: 2.75rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"select","$demand":[]},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd mui-v-fieldIconEnd"},"children":[{"tag":"path","props":{"d":"m6 9 6 6 6-6"}}]}],"tag":"div","props":{"class":"mui-v-fieldWrap"}}],"tag":"div","props":{"class":"mui-v-ContactPage-field"}}],"tag":"div","props":{"class":"mui-v-ContactPage-pair"}},{"children":[{"props":{"for":"cf-message","class":"mui-v-fieldLabel"},"tag":"label","text":"How can we help?"},{"on":{"input":[{"op":"set","path":"contactForm.message","value":"{{ event.value }}"}]},"props":{"aria-describedby":{"$t":92},"aria-invalid":{"$t":93},"disabled":{"$t":80},"id":"cf-message","rows":"5","value":{"$t":318},"class":{"$t":11},"style":"--mui-v-fieldControl-pad-end: 0.875rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"textarea","$demand":[]},{"props":{"id":"cf-message-err","class":"mui-v-ContactPage-err"},"tag":"p","text":{"$t":82},"when":{"$t":94}}],"tag":"div","props":{"class":"mui-v-ContactPage-field"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"circle","props":{"cx":"12","cy":"12","r":"10"}},{"tag":"line","props":{"x1":"12","x2":"12","y1":"8","y2":"12"}},{"tag":"line","props":{"x1":"12","x2":"12.01","y1":"16","y2":"16"}}]},{"children":[{"tag":"strong","text":{"$t":87}},{"tag":"span","text":{"$t":86}}],"tag":"div","props":{"class":"mui-v-ContactPage-alertText"}}],"props":{"role":"alert","class":"mui-v-ContactPage-alert"},"tag":"div","when":{"$t":85}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd mui-m-spinning"},"children":[{"tag":"path","props":{"d":"M21 12a9 9 0 1 1-6.219-8.56"}}],"when":{"$t":80}},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"}},{"tag":"path","props":{"d":"m21.854 2.147-10.94 10.939"}}],"when":{"$t":16}},{"tag":"span","text":{"$t":78}}],"props":{"aria-busy":{"$t":79},"disabled":{"$t":80},"type":"submit","class":"mui-v-button mui-v-buttonPrimary mui-v-ContactPage-submit"},"tag":"button"}],"on":{"submit":[{"op":"set","path":"contactForm.attempted","value":true},{"call":"contact.create","onSuccess":[{"op":"set","path":"contactSent","value":"{{ trim(state.contactForm.name) }}"},{"op":"set","path":"contactForm","value":{"attempted":false,"email":"","message":"","name":"","phone":"","topic":"Sales"}}],"value":{"email":"{{ trim(state.contactForm.email) }}","message":"{{ trim(state.contactForm.message) }}","name":"{{ trim(state.contactForm.name) }}","phone":"{{ trim(state.contactForm.phone) }}","topic":"{{ state.contactForm.topic }}"},"when":"{{ cfReady && !cfBusy }}"}]},"props":{"aria-labelledby":"form-title","novalidate":true,"class":"mui-v-ContactPage-form"},"tag":"form","when":{"$t":324},"$demand":[]}],"tag":"div","props":{"class":"mui-v-ContactPage-formCard"}},{"children":[{"children":[{"tag":"h2","text":"Visit the shop","props":{"class":"mui-v-ContactPage-infoTitle"}},{"children":[{"tag":"span","text":{"$t":148}},{"tag":"br"},{"tag":"span","text":{"$t":214}},{"tag":"br"},{"tag":"span","text":{"$t":215}}],"tag":"address","props":{"class":"mui-v-ContactPage-address"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384"}}]},{"tag":"span","text":{"$t":36}}],"tag":"a","props":{"href":{"$t":353},"class":"mui-v-button mui-v-buttonPrimary mui-v-buttonBlock"},"on":{"click":[{"call":"navigate","to":"{{ telHref }}"}]},"$demand":[{"consumer":"root.children[4].children[1].children[1].children[1].children[0].children[2].on.click[0].to","guards":[],"expression":{"source":"telHref","writes":[],"deferred":true},"reads":[{"path":"telHref","dynamic":false}]}]},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"polygon","props":{"points":"3 11 22 2 13 21 11 13 3 11"}}]},{"tag":"span","text":"Get directions"},{"tag":"span","text":"(opens Google Maps in a new tab)","props":{"class":"mui-v-srOnly"}}],"props":{"rel":"noopener noreferrer","target":"_blank","href":{"$t":149},"class":"mui-v-button mui-v-buttonGhostDark mui-v-buttonBlock"},"tag":"a"},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"}},{"tag":"rect","props":{"x":"2","y":"4","width":"20","height":"16","rx":"2"}}]},{"tag":"span","text":{"$t":217}}],"tag":"a","when":{"$t":216},"props":{"href":{"$t":48},"class":"mui-v-ContactPage-mail"},"on":{"click":[{"call":"navigate","to":"{{ 'mailto:' + locEmail }}"}]},"$demand":[{"consumer":"root.children[4].children[1].children[1].children[1].children[0].children[4].on.click[0].to","guards":[],"expression":{"source":"'mailto:' + locEmail","writes":[],"deferred":true},"reads":[{"path":"locEmail","dynamic":false}]}]}],"tag":"div","props":{"class":"mui-v-ContactPage-infoCard"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"}},{"tag":"path","props":{"d":"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"}},{"tag":"path","props":{"d":"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"}}]},{"children":[{"tag":"strong","text":"We accept pickup orders"},{"tag":"span","text":"Add machines to your cart online and we'll have them ready at the shop."}],"tag":"div","props":{"class":"mui-v-ContactPage-noteText"}}],"tag":"div","props":{"class":"mui-v-ContactPage-note"}}],"tag":"aside","props":{"class":"mui-v-ContactPage-aside"}}],"tag":"div","props":{"class":"mui-v-container mui-v-ContactPage-grid"}},{"children":[{"children":[{"children":[{"props":{"alt":"The Ironline Equipment Co. shop: a dark metal building with bright orange trim, glass storefront and two service bays.","loading":"lazy","src":{"$t":355},"class":"mui-v-ContactPage-photo"},"tag":"img"}],"tag":"div","props":{"class":"mui-v-ContactPage-photoFrame"}},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}},{"tag":"path","props":{"d":"M16 3.128a4 4 0 0 1 0 7.744"}},{"tag":"path","props":{"d":"M22 21v-2a4 4 0 0 0-3-3.87"}},{"tag":"circle","props":{"cx":"9","cy":"7","r":"4"}}]},{"tag":"span","text":"About us"}],"tag":"p","props":{"class":"mui-v-eyebrow"}},{"props":{"id":"about-title","class":"mui-v-sectionTitle"},"tag":"h2","text":"Gear up. Get to work."},{"tag":"p","text":{"$t":146},"props":{"class":"mui-v-ContactPage-aboutText"}},{"tag":"p","text":"Whether you're outfitting a crew or choosing your next mower, our team helps you get down to business.","props":{"class":"mui-v-ContactPage-aboutText"}},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}},{"tag":"path","props":{"d":"M12 22V12"}},{"tag":"polyline","props":{"points":"3.29 7 12 12 20.71 7"}},{"tag":"path","props":{"d":"m7.5 4.27 9 5.15"}}]},{"tag":"span","text":"Equipment"}],"tag":"li","props":{"class":"mui-v-ContactPage-pillar"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}}]},{"tag":"span","text":"Parts & service"}],"tag":"li","props":{"class":"mui-v-ContactPage-pillar"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"m11 17 2 2a1 1 0 1 0 3-3"}},{"tag":"path","props":{"d":"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4"}},{"tag":"path","props":{"d":"m21 3 1 11h-2"}},{"tag":"path","props":{"d":"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3"}},{"tag":"path","props":{"d":"M3 4h8"}}]},{"tag":"span","text":"Straight advice"}],"tag":"li","props":{"class":"mui-v-ContactPage-pillar"}}],"tag":"ul","props":{"class":"mui-v-ContactPage-pillars"}}],"tag":"div","props":{"class":"mui-v-ContactPage-aboutBody"}}],"tag":"div","props":{"class":"mui-v-container mui-v-ContactPage-aboutGrid"}}],"props":{"aria-labelledby":"about-title","class":"mui-v-ContactPage-about"},"tag":"section"}],"tag":"div","when":{"$t":276}},{"children":[{"children":[{"children":[{"props":{"media":"(min-width: 768px)","srcset":{"$t":100}},"tag":"source"},{"props":{"alt":{"$t":270},"src":{"$t":272},"class":"mui-v-InventoryPage-promoImg"},"tag":"img"}],"tag":"picture","when":{"$t":269},"props":{"class":"mui-v-InventoryPage-promoPicture"}},{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"}},{"tag":"circle","props":{"cx":"7.5","cy":"7.5","r":".5","fill":"currentColor"}}]},{"tag":"span","text":{"$t":62}}],"tag":"span","props":{"class":"mui-v-promoTag"}},{"props":{"id":"inventory-title","class":"mui-v-InventoryPage-promoTitle"},"tag":"h1","text":{"$t":61}},{"tag":"p","text":{"$t":60},"when":{"$t":59},"props":{"class":"mui-v-InventoryPage-promoDesc"}},{"tag":"p","text":{"$t":40},"props":{"class":"mui-v-InventoryPage-promoEnds"}}],"tag":"div","props":{"class":"mui-v-InventoryPage-promoText"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M18 6 6 18"}},{"tag":"path","props":{"d":"m6 6 12 12"}}]},{"tag":"span","text":"See all inventory"}],"on":{"click":[{"call":"navigate","query":{"promotionId":null},"replace":true}]},"props":{"type":"button","class":"mui-v-button mui-v-buttonGhostDark"},"tag":"button","$demand":[]}],"tag":"div","props":{"class":"mui-v-container mui-v-InventoryPage-promoBar"}}],"props":{"aria-labelledby":"inventory-title","class":"mui-v-InventoryPage-promoBand"},"tag":"section","when":{"$t":57}},{"children":[{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"}},{"tag":"path","props":{"d":"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"}},{"tag":"path","props":{"d":"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"}}]},{"tag":"span","text":"Order online · pick up at the shop"}],"tag":"p","props":{"class":"mui-v-eyebrow"}},{"props":{"id":"inventory-title","class":"mui-v-sectionTitle"},"tag":"h1","text":"Inventory"}],"tag":"div","when":{"$t":58},"props":{"class":"mui-v-InventoryPage-titleBlock"}},{"props":{"role":"status","class":"mui-v-InventoryPage-count"},"tag":"p","text":{"$t":187}}],"tag":"div","props":{"class":"mui-v-InventoryPage-head"}},{"children":[{"children":[{"props":{"for":"inv-search","class":"mui-v-fieldLabel"},"tag":"label","text":"Search"},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd mui-v-fieldIconStart"},"children":[{"tag":"path","props":{"d":"m21 21-4.34-4.34"}},{"tag":"circle","props":{"cx":"11","cy":"11","r":"8"}}]},{"on":{"input":[{"op":"set","path":"invQuery","value":"{{ event.value }}"}]},"props":{"autocomplete":"off","enterkeyhint":"search","id":"inv-search","placeholder":"Model, brand or stock #","type":"search","value":{"$t":335},"class":"mui-v-fieldControl","style":"--mui-v-fieldControl-pad-end: 0.875rem; --mui-v-fieldControl-pad-start: 2.75rem"},"tag":"input","$demand":[]}],"tag":"div","props":{"class":"mui-v-fieldWrap"}}],"tag":"div","props":{"class":"mui-v-InventoryPage-field mui-v-InventoryPage-searchField"}},{"children":[{"props":{"for":"inv-category","class":"mui-v-fieldLabel"},"tag":"label","text":"Category"},{"children":[{"children":[{"props":{"selected":{"$t":183},"value":""},"tag":"option","text":"All categories"},{"props":{"selected":{"$t":184},"value":{"$t":72}},"repeat":{"as":"cat","items":{"$t":350},"key":"id"},"tag":"option","text":{"$t":74}}],"on":{"change":[{"call":"navigate","query":{"category":"{{ event.value == '' ? null : event.value }}"},"replace":true}]},"props":{"id":"inv-category","value":{"$t":185},"class":"mui-v-fieldControl","style":"--mui-v-fieldControl-pad-end: 2.75rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"select","$demand":[]},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd mui-v-fieldIconEnd"},"children":[{"tag":"path","props":{"d":"m6 9 6 6 6-6"}}]}],"tag":"div","props":{"class":"mui-v-fieldWrap"}}],"tag":"div","props":{"class":"mui-v-InventoryPage-field"}},{"children":[{"props":{"for":"inv-condition","class":"mui-v-fieldLabel"},"tag":"label","text":"Condition"},{"children":[{"children":[{"props":{"selected":{"$t":333},"value":{"$t":68}},"repeat":{"as":"c","items":{"$t":122},"key":"id"},"tag":"option","text":{"$t":69}}],"on":{"change":[{"op":"set","path":"invCondition","value":"{{ event.value }}"}]},"props":{"id":"inv-condition","value":{"$t":334},"class":"mui-v-fieldControl","style":"--mui-v-fieldControl-pad-end: 2.75rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"select","$demand":[]},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd mui-v-fieldIconEnd"},"children":[{"tag":"path","props":{"d":"m6 9 6 6 6-6"}}]}],"tag":"div","props":{"class":"mui-v-fieldWrap"}}],"tag":"div","props":{"class":"mui-v-InventoryPage-field"}},{"children":[{"props":{"for":"inv-sort","class":"mui-v-fieldLabel"},"tag":"label","text":"Sort"},{"children":[{"children":[{"props":{"selected":{"$t":337},"value":{"$t":296}},"repeat":{"as":"s","items":{"$t":125},"key":"id"},"tag":"option","text":{"$t":297}}],"on":{"change":[{"op":"set","path":"invSort","value":"{{ event.value }}"}]},"props":{"id":"inv-sort","value":{"$t":338},"class":"mui-v-fieldControl","style":"--mui-v-fieldControl-pad-end: 2.75rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"select","$demand":[]},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd mui-v-fieldIconEnd"},"children":[{"tag":"path","props":{"d":"m6 9 6 6 6-6"}}]}],"tag":"div","props":{"class":"mui-v-fieldWrap"}}],"tag":"div","props":{"class":"mui-v-InventoryPage-field"}}],"props":{"aria-label":"Filter inventory","role":"search","class":"mui-v-InventoryPage-toolbar"},"tag":"div"},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"path","props":{"d":"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}},{"tag":"path","props":{"d":"M12 9v4"}},{"tag":"path","props":{"d":"M12 17h.01"}}]},{"tag":"h2","text":{"$t":223},"props":{"class":"mui-v-statusTitle"}},{"tag":"p","text":{"$t":222},"props":{"class":"mui-v-bodyMuted"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}},{"tag":"path","props":{"d":"M21 3v5h-5"}},{"tag":"path","props":{"d":"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}},{"tag":"path","props":{"d":"M8 16H3v5"}}]},{"tag":"span","text":"Try again"}],"on":{"click":[{"call":"data.refresh","value":"inventory"}]},"props":{"type":"button","class":"mui-v-button mui-v-buttonOutline"},"tag":"button","when":{"$t":224},"$demand":[]}],"fallback":true,"props":{"role":"alert","class":"mui-v-statusPanel"},"tag":"div"},{"children":[{"props":{"aria-hidden":"true","class":"mui-v-skeleton mui-m-pulse"},"repeat":{"as":"slot","items":{"$t":124},"key":true},"tag":"li"}],"tag":"ul","when":{"$t":188},"props":{"class":"mui-v-InventoryPage-grid"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"path","props":{"d":"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}},{"tag":"path","props":{"d":"M12 22V12"}},{"tag":"polyline","props":{"points":"3.29 7 12 12 20.71 7"}},{"tag":"path","props":{"d":"m7.5 4.27 9 5.15"}}]},{"tag":"h2","text":"New machines are on the way","props":{"class":"mui-v-statusTitle"}},{"tag":"p","text":"Nothing is listed online right now. Call the shop — we can tell you what's on the lot and what's coming in.","props":{"class":"mui-v-bodyMuted"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384"}}]},{"tag":"span","text":{"$t":36}}],"tag":"a","props":{"href":{"$t":353},"class":"mui-v-button mui-v-buttonPrimary"},"on":{"click":[{"call":"navigate","to":"{{ telHref }}"}]},"$demand":[{"consumer":"root.children[4].children[2].children[1].children[2].children[2].children[3].on.click[0].to","guards":[],"expression":{"source":"telHref","writes":[],"deferred":true},"reads":[{"path":"telHref","dynamic":false}]}]}],"tag":"div","when":{"$t":170},"props":{"class":"mui-v-statusPanel"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"path","props":{"d":"m21 21-4.34-4.34"}},{"tag":"circle","props":{"cx":"11","cy":"11","r":"8"}}]},{"tag":"h2","text":"No machines match","props":{"class":"mui-v-statusTitle"}},{"tag":"p","text":"Try a different search or widen your filters.","props":{"class":"mui-v-bodyMuted"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M18 6 6 18"}},{"tag":"path","props":{"d":"m6 6 12 12"}}]},{"tag":"span","text":"Clear filters"}],"on":{"click":[{"op":"set","path":"invQuery","value":""},{"op":"set","path":"invCondition","value":"all"},{"call":"navigate","query":{"category":null},"replace":true}]},"props":{"type":"button","class":"mui-v-button mui-v-buttonOutline"},"tag":"button","$demand":[]}],"tag":"div","when":{"$t":193},"props":{"class":"mui-v-statusPanel"}},{"children":[{"children":[{"children":[{"children":[{"props":{"alt":"","loading":"lazy","src":{"$t":102},"class":"mui-v-ListingCard-img"},"tag":"img","when":{"$t":200}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"rect","props":{"width":"18","height":"18","x":"3","y":"3","rx":"2","ry":"2"}},{"tag":"circle","props":{"cx":"9","cy":"9","r":"2"}},{"tag":"path","props":{"d":"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"}}]}],"tag":"span","when":{"$t":201},"props":{"class":"mui-v-ListingCard-noImg"}},{"children":[{"tag":"span","text":{"$t":54},"props":{"class":{"$t":7}}}],"tag":"div","props":{"class":"mui-v-ListingCard-tags"}}],"props":{"aria-hidden":"true","tabindex":"-1","href":{"$t":30},"class":"mui-v-ListingCard-media"},"tag":"a","on":{"click":[{"call":"navigate","to":"{{ '/inventory/' + item.id }}"}]},"$demand":[]},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"}},{"tag":"circle","props":{"cx":"7.5","cy":"7.5","r":".5","fill":"currentColor"}}]},{"tag":"span","text":{"$t":206}}],"tag":"span","when":{"$t":205},"props":{"class":"mui-v-promoTag"}},{"children":[{"tag":"a","text":{"$t":203},"props":{"href":{"$t":30},"class":"mui-v-ListingCard-nameLink"},"on":{"click":[{"call":"navigate","to":"{{ '/inventory/' + item.id }}"}]},"$demand":[]}],"tag":"h3","props":{"class":"mui-v-ListingCard-name"}},{"tag":"p","text":{"$t":208},"when":{"$t":207},"props":{"class":"mui-v-ListingCard-meta"}},{"children":[{"children":[{"tag":"span","text":"Cash price","props":{"class":"mui-v-ListingCard-priceLabel"}},{"tag":"span","text":{"$t":23},"props":{"class":"mui-v-ListingCard-priceBig"}}],"tag":"div","when":{"$t":196}},{"children":[{"tag":"span","text":{"$t":195},"props":{"class":"mui-v-ListingCard-priceLabel"}},{"tag":"span","text":{"$t":25},"props":{"class":{"$t":1}}}],"tag":"div"}],"tag":"div","props":{"class":"mui-v-ListingCard-prices"}},{"children":[{"children":[{"tag":"span","text":{"$t":24},"props":{"class":"mui-v-ListingCard-payAmount"}},{"tag":"span","text":{"$t":35},"props":{"class":"mui-v-ListingCard-payTerms"}}],"tag":"span"},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"circle","props":{"cx":"12","cy":"12","r":"10"}},{"tag":"path","props":{"d":"M12 16v-4"}},{"tag":"path","props":{"d":"M12 8h.01"}}]}],"on":{"click":[{"op":"set","path":"disclosureId","value":"{{ item.id }}"}]},"props":{"aria-haspopup":"dialog","aria-label":{"$t":39},"type":"button","class":"mui-v-infoButton"},"tag":"button","$demand":[]}],"tag":"div","when":{"$t":204},"props":{"class":"mui-v-ListingCard-pay"}}],"tag":"div","props":{"class":"mui-v-ListingCard-body"}}],"tag":"article","props":{"class":"mui-v-ListingCard-card"}}],"repeat":{"as":"item","items":{"$t":194},"key":"id"},"tag":"li"}],"tag":"ul","when":{"$t":186},"props":{"class":"mui-v-InventoryPage-grid"}}],"tag":"div","$region":["dealer","inventory","promotions"]}],"tag":"div","props":{"class":"mui-v-container mui-v-InventoryPage-page"}}],"tag":"div","when":{"$t":278}},{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"m12 19-7-7 7-7"}},{"tag":"path","props":{"d":"M19 12H5"}}]},{"tag":"span","text":"All inventory"}],"tag":"a","props":{"href":"/inventory","class":"mui-v-ProductPage-back"},"on":{"click":[{"call":"navigate","to":"/inventory"}]},"$demand":[]}],"props":{"aria-label":"Breadcrumb"},"tag":"nav"},{"props":{"aria-label":"Loading machine","role":"status","class":"mui-v-ProductPage-loading mui-m-pulse"},"tag":"div","when":{"$t":237}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"path","props":{"d":"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}},{"tag":"path","props":{"d":"M12 22V12"}},{"tag":"polyline","props":{"points":"3.29 7 12 12 20.71 7"}},{"tag":"path","props":{"d":"m7.5 4.27 9 5.15"}}]},{"tag":"h1","text":"This machine isn't listed anymore","props":{"class":"mui-v-statusTitle"}},{"tag":"p","text":"It may have sold or been moved. Browse what's on the lot now, or call and we'll help you find a match.","props":{"class":"mui-v-bodyMuted"}},{"tag":"a","text":"Browse inventory","props":{"href":"/inventory","class":"mui-v-button mui-v-buttonPrimary"},"on":{"click":[{"call":"navigate","to":"/inventory"}]},"$demand":[]}],"tag":"div","when":{"$t":238},"props":{"class":"mui-v-statusPanel"}},{"children":[{"children":[{"children":[{"props":{"alt":{"$t":249},"src":{"$t":101},"class":"mui-v-ProductPage-mainImg"},"tag":"img","when":{"$t":175}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"rect","props":{"width":"18","height":"18","x":"3","y":"3","rx":"2","ry":"2"}},{"tag":"circle","props":{"cx":"9","cy":"9","r":"2"}},{"tag":"path","props":{"d":"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"}}]}],"tag":"span","when":{"$t":176},"props":{"class":"mui-v-ProductPage-noImg"}},{"tag":"span","text":{"$t":252},"props":{"class":{"$t":8}}}],"tag":"div","props":{"class":"mui-v-ProductPage-mainMedia"}},{"children":[{"children":[{"children":[{"props":{"alt":"","loading":"lazy","src":{"$t":106},"class":"mui-v-ProductPage-thumbImg"},"tag":"img"}],"on":{"click":[{"op":"set","path":"galleryId","value":"{{ gid }}"}]},"props":{"aria-label":{"$t":45},"aria-pressed":{"$t":178},"type":"button","class":{"$t":4}},"tag":"button","$demand":[]}],"repeat":{"as":"gid","index":"gi","items":{"$t":177},"key":true},"tag":"li"}],"props":{"aria-label":"Photos","class":"mui-v-ProductPage-thumbs"},"tag":"ul","when":{"$t":132}}],"tag":"div","props":{"class":"mui-v-ProductPage-gallery"}},{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"}},{"tag":"circle","props":{"cx":"7.5","cy":"7.5","r":".5","fill":"currentColor"}}]},{"tag":"span","text":{"$t":233}}],"tag":"span","props":{"class":"mui-v-promoTag"}},{"tag":"p","text":{"$t":232},"props":{"class":"mui-v-ProductPage-promoName"}},{"tag":"p","text":{"$t":231},"when":{"$t":230},"props":{"class":"mui-v-ProductPage-promoDesc"}},{"children":[{"tag":"span","text":{"$t":37}},{"children":[{"tag":"span","text":"See the deal"},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M5 12h14"}},{"tag":"path","props":{"d":"m12 5 7 7-7 7"}}]}],"tag":"a","props":{"href":{"$t":33},"class":"mui-v-ProductPage-promoLink"},"on":{"click":[{"call":"navigate","to":"{{ '/inventory?promotionId=' + productPromo.id }}"}]},"$demand":[{"consumer":"root.children[4].children[3].children[3].children[1].children[0].children[3].children[1].on.click[0].to","guards":[],"expression":{"source":"'/inventory?promotionId=' + productPromo.id","writes":[],"deferred":true},"reads":[{"path":"productPromo.id","dynamic":false}]}]}],"tag":"p","props":{"class":"mui-v-ProductPage-promoMeta"}}],"tag":"div","when":{"$t":229},"props":{"class":"mui-v-ProductPage-promo"}},{"tag":"p","text":{"$t":254},"props":{"class":"mui-v-ProductPage-meta"}},{"props":{"id":"product-title","class":"mui-v-ProductPage-title"},"tag":"h1","text":{"$t":249}},{"tag":"p","text":{"$t":259},"when":{"$t":255},"props":{"class":"mui-v-ProductPage-subtitle"}},{"children":[{"children":[{"tag":"span","text":"Cash price","props":{"class":"mui-v-ProductPage-priceLabel"}},{"tag":"span","text":{"$t":27},"props":{"class":"mui-v-ProductPage-priceBig"}}],"tag":"div","when":{"$t":247}},{"children":[{"tag":"span","text":{"$t":246},"props":{"class":"mui-v-ProductPage-priceLabel"}},{"tag":"span","text":{"$t":29},"props":{"class":{"$t":3}}}],"tag":"div"}],"tag":"div","props":{"class":"mui-v-ProductPage-prices"}},{"children":[{"children":[{"tag":"span","text":"Est. payment","props":{"class":"mui-v-ProductPage-priceLabel"}},{"children":[{"tag":"span","text":{"$t":28},"props":{"class":"mui-v-ProductPage-payAmount"}},{"tag":"span","text":"/mo","props":{"class":"mui-v-ProductPage-payPer"}}],"tag":"span"},{"tag":"span","text":{"$t":245},"props":{"class":"mui-v-ProductPage-payTerms"}}],"tag":"div","props":{"class":"mui-v-ProductPage-payText"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"circle","props":{"cx":"12","cy":"12","r":"10"}},{"tag":"path","props":{"d":"M12 16v-4"}},{"tag":"path","props":{"d":"M12 8h.01"}}]},{"tag":"span","text":"Details"}],"on":{"click":[{"op":"set","path":"disclosureId","value":"{{ productId }}"}]},"props":{"aria-haspopup":"dialog","aria-label":"Financing details and disclosure","type":"button","class":"mui-v-ProductPage-payInfo"},"tag":"button","$demand":[]}],"tag":"div","when":{"$t":250},"props":{"class":"mui-v-ProductPage-pay"}},{"children":[{"tag":"legend","text":"Add-ons","props":{"class":"mui-v-fieldLabel"}},{"tag":"p","text":"Optional extras, priced separately from the machine.","props":{"class":"mui-v-ProductPage-hint"}},{"children":[{"children":[{"on":{"change":[{"op":"toggleInList","path":"addOnSel","value":"{{ addOn.id }}"}]},"props":{"checked":{"$t":66},"disabled":{"$t":228},"type":"checkbox","class":"mui-v-ProductPage-check"},"tag":"input","$demand":[]},{"props":{"alt":"","loading":"lazy","src":{"$t":104},"class":"mui-v-ProductPage-addOnImg"},"tag":"img","when":{"$t":64}},{"children":[{"tag":"span","text":{"$t":65},"props":{"class":"mui-v-ProductPage-addOnName"}},{"tag":"span","text":{"$t":52},"props":{"class":"mui-v-ProductPage-addOnPrice"}}],"tag":"span","props":{"class":"mui-v-ProductPage-addOnText"}}],"repeat":{"as":"addOn","items":{"$t":67},"key":"id"},"tag":"label","props":{"class":{"$t":2}}}],"tag":"div","props":{"class":"mui-v-ProductPage-addOns"}}],"tag":"fieldset","when":{"$t":127},"props":{"class":"mui-v-ProductPage-fieldset"}},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"circle","props":{"cx":"8","cy":"21","r":"1"}},{"tag":"circle","props":{"cx":"19","cy":"21","r":"1"}},{"tag":"path","props":{"d":"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"}}]},{"tag":"span","text":"Add to cart for pickup"}],"on":{"click":[{"op":"pushUnique","path":"cart","value":"{{ productId }}"},{"key":"inventoryId","op":"removeWhere","path":"cartAddOns","value":"{{ productId }}"},{"op":"append","path":"cartAddOns","value":{"addOnIds":"{{ state.addOnSel }}","inventoryId":"{{ productId }}"},"when":"{{ count(state.addOnSel) > 0 }}"},{"op":"set","path":"cartOpen","value":true}]},"props":{"type":"button","class":"mui-v-button mui-v-buttonPrimary mui-v-buttonBlock"},"tag":"button","when":{"$t":251},"$demand":[]},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"circle","props":{"cx":"12","cy":"12","r":"10"}},{"tag":"path","props":{"d":"m9 12 2 2 4-4"}}]},{"tag":"span","text":"In your cart — view cart"}],"on":{"click":[{"op":"set","path":"cartOpen","value":true}]},"props":{"type":"button","class":"mui-v-button mui-v-buttonOutline mui-v-buttonBlock"},"tag":"button","when":{"$t":228},"$demand":[]},{"tag":"p","text":"This unit has sold. Call the shop and we'll help you find another like it.","when":{"$t":253},"props":{"class":"mui-v-ProductPage-soldNote"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384"}}]},{"tag":"span","text":{"$t":43}}],"tag":"a","props":{"href":{"$t":353},"class":"mui-v-button mui-v-buttonOutline mui-v-buttonBlock"},"on":{"click":[{"call":"navigate","to":"{{ telHref }}"}]},"$demand":[{"consumer":"root.children[4].children[3].children[3].children[1].children[7].children[3].on.click[0].to","guards":[],"expression":{"source":"telHref","writes":[],"deferred":true},"reads":[{"path":"telHref","dynamic":false}]}]},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"}},{"tag":"path","props":{"d":"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"}},{"tag":"path","props":{"d":"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"}}]},{"tag":"span","text":"Pickup orders only. We'll confirm availability and schedule pickup at the shop."}],"tag":"p","props":{"class":"mui-v-ProductPage-pickupNote"}}],"tag":"div","props":{"class":"mui-v-ProductPage-actions"}}],"tag":"div","props":{"class":"mui-v-ProductPage-info"}}],"props":{"aria-labelledby":"product-title","class":"mui-v-ProductPage-top"},"tag":"section","when":{"$t":236}},{"children":[{"tag":"h2","text":"About this unit","props":{"class":"mui-v-ProductPage-sectionTitle"}},{"tag":"p","text":{"$t":248},"props":{"class":"mui-v-ProductPage-desc"}}],"tag":"section","when":{"$t":235},"props":{"class":"mui-v-ProductPage-section"}},{"children":[{"tag":"h2","text":"Features","props":{"class":"mui-v-ProductPage-sectionTitle"}},{"children":[{"children":[{"props":{"alt":"","loading":"lazy","src":{"$t":105},"class":"mui-v-ProductPage-featureImg"},"tag":"img","when":{"$t":162}},{"children":[{"tag":"h3","text":{"$t":163},"props":{"class":"mui-v-ProductPage-featureName"}},{"tag":"p","text":{"$t":161},"props":{"class":"mui-v-ProductPage-featureText"}}],"tag":"div"}],"repeat":{"as":"f","items":{"$t":164}},"tag":"li","props":{"class":"mui-v-ProductPage-feature"}}],"tag":"ul","props":{"class":"mui-v-ProductPage-features"}}],"tag":"section","when":{"$t":131},"props":{"class":"mui-v-ProductPage-section"}},{"children":[{"children":[{"tag":"h2","text":"Specifications","props":{"class":"mui-v-ProductPage-sectionTitle"}},{"children":[{"on":{"click":[{"op":"set","path":"metric","value":false}]},"props":{"aria-pressed":{"$t":340},"type":"button","class":{"$t":5}},"tag":"button","text":"Imperial","$demand":[]},{"on":{"click":[{"op":"set","path":"metric","value":true}]},"props":{"aria-pressed":{"$t":341},"type":"button","class":{"$t":6}},"tag":"button","text":"Metric","$demand":[]}],"props":{"aria-label":"Units","role":"group","class":"mui-v-ProductPage-unitToggle"},"tag":"div"}],"tag":"div","props":{"class":"mui-v-ProductPage-specHead"}},{"children":[{"children":[{"tag":"h3","text":{"$t":173},"props":{"class":"mui-v-ProductPage-specGroupTitle"}},{"children":[{"children":[{"tag":"dt","text":{"$t":298},"props":{"class":"mui-v-ProductPage-specName"}},{"tag":"dd","text":{"$t":342},"props":{"class":"mui-v-ProductPage-specValue"}}],"repeat":{"as":"s","items":{"$t":174},"key":"id"},"tag":"div","props":{"class":"mui-v-ProductPage-specRow"}}],"tag":"dl","props":{"class":"mui-v-ProductPage-specList"}}],"repeat":{"as":"g","items":{"$t":301},"key":"id"},"tag":"div","props":{"class":"mui-v-ProductPage-specGroup"}}],"tag":"div","props":{"class":"mui-v-ProductPage-specGrid"}}],"tag":"section","when":{"$t":136},"props":{"class":"mui-v-ProductPage-section"}},{"children":[{"tag":"h2","text":"Resources","props":{"class":"mui-v-ProductPage-sectionTitle"}},{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"}},{"tag":"path","props":{"d":"M14 2v5a1 1 0 0 0 1 1h5"}},{"tag":"path","props":{"d":"M10 9H8"}},{"tag":"path","props":{"d":"M16 13H8"}},{"tag":"path","props":{"d":"M16 17H8"}}]},{"tag":"span","text":{"$t":218}},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M15 3h6v6"}},{"tag":"path","props":{"d":"M10 14 21 3"}},{"tag":"path","props":{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}}]},{"tag":"span","text":"(opens in a new tab)","props":{"class":"mui-v-srOnly"}}],"props":{"rel":"noopener noreferrer","target":"_blank","href":{"$t":275},"class":"mui-v-ProductPage-resource"},"tag":"a"}],"repeat":{"as":"r","items":{"$t":234}},"tag":"li"}],"tag":"ul","props":{"class":"mui-v-ProductPage-resources"}}],"tag":"section","when":{"$t":135},"props":{"class":"mui-v-ProductPage-section"}},{"children":[{"tag":"h2","text":"More like this","props":{"class":"mui-v-ProductPage-sectionTitle"}},{"children":[{"children":[{"children":[{"children":[{"props":{"alt":"","loading":"lazy","src":{"$t":102},"class":"mui-v-ListingCard-img"},"tag":"img","when":{"$t":200}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"rect","props":{"width":"18","height":"18","x":"3","y":"3","rx":"2","ry":"2"}},{"tag":"circle","props":{"cx":"9","cy":"9","r":"2"}},{"tag":"path","props":{"d":"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"}}]}],"tag":"span","when":{"$t":201},"props":{"class":"mui-v-ListingCard-noImg"}},{"children":[{"tag":"span","text":{"$t":54},"props":{"class":{"$t":7}}}],"tag":"div","props":{"class":"mui-v-ListingCard-tags"}}],"props":{"aria-hidden":"true","tabindex":"-1","href":{"$t":30},"class":"mui-v-ListingCard-media"},"tag":"a","on":{"click":[{"call":"navigate","to":"{{ '/inventory/' + item.id }}"}]},"$demand":[]},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"}},{"tag":"circle","props":{"cx":"7.5","cy":"7.5","r":".5","fill":"currentColor"}}]},{"tag":"span","text":{"$t":206}}],"tag":"span","when":{"$t":205},"props":{"class":"mui-v-promoTag"}},{"children":[{"tag":"a","text":{"$t":203},"props":{"href":{"$t":30},"class":"mui-v-ListingCard-nameLink"},"on":{"click":[{"call":"navigate","to":"{{ '/inventory/' + item.id }}"}]},"$demand":[]}],"tag":"h3","props":{"class":"mui-v-ListingCard-name"}},{"tag":"p","text":{"$t":208},"when":{"$t":207},"props":{"class":"mui-v-ListingCard-meta"}},{"children":[{"children":[{"tag":"span","text":"Cash price","props":{"class":"mui-v-ListingCard-priceLabel"}},{"tag":"span","text":{"$t":23},"props":{"class":"mui-v-ListingCard-priceBig"}}],"tag":"div","when":{"$t":196}},{"children":[{"tag":"span","text":{"$t":195},"props":{"class":"mui-v-ListingCard-priceLabel"}},{"tag":"span","text":{"$t":25},"props":{"class":{"$t":1}}}],"tag":"div"}],"tag":"div","props":{"class":"mui-v-ListingCard-prices"}},{"children":[{"children":[{"tag":"span","text":{"$t":24},"props":{"class":"mui-v-ListingCard-payAmount"}},{"tag":"span","text":{"$t":35},"props":{"class":"mui-v-ListingCard-payTerms"}}],"tag":"span"},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"circle","props":{"cx":"12","cy":"12","r":"10"}},{"tag":"path","props":{"d":"M12 16v-4"}},{"tag":"path","props":{"d":"M12 8h.01"}}]}],"on":{"click":[{"op":"set","path":"disclosureId","value":"{{ item.id }}"}]},"props":{"aria-haspopup":"dialog","aria-label":{"$t":39},"type":"button","class":"mui-v-infoButton"},"tag":"button","$demand":[]}],"tag":"div","when":{"$t":204},"props":{"class":"mui-v-ListingCard-pay"}}],"tag":"div","props":{"class":"mui-v-ListingCard-body"}}],"tag":"article","props":{"class":"mui-v-ListingCard-card"}}],"repeat":{"as":"item","items":{"$t":219},"key":"id"},"tag":"li"}],"tag":"ul","props":{"class":"mui-v-ProductPage-moreGrid"}}],"tag":"section","when":{"$t":134},"props":{"class":"mui-v-ProductPage-section"}}],"tag":"div","when":{"$t":279},"props":{"class":"mui-v-container mui-v-ProductPage-page"}},{"children":[{"props":{"aria-hidden":"true","class":"mui-v-SiteFooter-stripe"},"tag":"div"},{"children":[{"children":[{"children":[{"tag":"span","text":"Gear up."},{"tag":"span","text":"Get to work.","props":{"class":"mui-v-SiteFooter-tagAccent"}}],"tag":"p","props":{"class":"mui-v-SiteFooter-tag"}},{"tag":"p","text":{"$t":147},"props":{"class":"mui-v-SiteFooter-body"}}],"tag":"div","props":{"class":"mui-v-SiteFooter-brandCol"}},{"children":[{"props":{"id":"footer-links","class":"mui-v-SiteFooter-head"},"tag":"h2","text":"Site"},{"children":[{"children":[{"tag":"a","text":{"$t":202},"props":{"href":{"$t":197},"class":"mui-v-SiteFooter-link"},"on":{"click":[{"call":"navigate","to":"{{ item.href }}"}]},"$demand":[]}],"repeat":{"as":"item","items":{"$t":123},"key":"id"},"tag":"li"}],"tag":"ul","props":{"class":"mui-v-SiteFooter-list"}}],"props":{"aria-labelledby":"footer-links"},"tag":"nav"},{"children":[{"tag":"h2","text":"Visit the shop","props":{"class":"mui-v-SiteFooter-head"}},{"children":[{"tag":"span","text":{"$t":214}},{"tag":"br"},{"tag":"span","text":{"$t":215}}],"tag":"address","props":{"class":"mui-v-SiteFooter-address"}},{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384"}}]},{"tag":"span","text":{"$t":221}}],"tag":"a","props":{"href":{"$t":353},"class":"mui-v-SiteFooter-link"},"on":{"click":[{"call":"navigate","to":"{{ telHref }}"}]},"$demand":[{"consumer":"root.children[4].children[4].children[1].children[2].children[2].children[0].children[0].on.click[0].to","guards":[],"expression":{"source":"telHref","writes":[],"deferred":true},"reads":[{"path":"telHref","dynamic":false}]}]}],"tag":"li"},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"}},{"tag":"rect","props":{"x":"2","y":"4","width":"20","height":"16","rx":"2"}}]},{"tag":"span","text":{"$t":217}}],"tag":"a","props":{"href":{"$t":48},"class":"mui-v-SiteFooter-link"},"on":{"click":[{"call":"navigate","to":"{{ 'mailto:' + locEmail }}"}]},"$demand":[{"consumer":"root.children[4].children[4].children[1].children[2].children[2].children[1].children[0].on.click[0].to","guards":[],"expression":{"source":"'mailto:' + locEmail","writes":[],"deferred":true},"reads":[{"path":"locEmail","dynamic":false}]}]}],"tag":"li","when":{"$t":216}},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"polygon","props":{"points":"3 11 22 2 13 21 11 13 3 11"}}]},{"tag":"span","text":"Get directions"},{"tag":"span","text":"(opens Google Maps in a new tab)","props":{"class":"mui-v-srOnly"}}],"props":{"rel":"noopener noreferrer","target":"_blank","href":{"$t":149},"class":"mui-v-SiteFooter-link"},"tag":"a"}],"tag":"li"}],"tag":"ul","props":{"class":"mui-v-SiteFooter-list"}}],"tag":"div"},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"}},{"tag":"path","props":{"d":"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"}},{"tag":"path","props":{"d":"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"}}]},{"tag":"span","text":"Pickup orders"}],"tag":"span","props":{"class":"mui-v-SiteFooter-noteTitle"}},{"tag":"span","text":"Add machines to your cart, send the order, and our team will reach out to confirm and schedule your pickup at the shop."}],"tag":"div","props":{"class":"mui-v-SiteFooter-note"}}],"tag":"div","props":{"class":"mui-v-container mui-v-SiteFooter-grid"}},{"children":[{"tag":"span","text":{"$t":51}},{"children":["Site by ",{"props":{"rel":"noopener","target":"_blank","href":"https://makefl.com","class":"mui-v-SiteFooter-credit"},"tag":"a","text":"First Light"}],"tag":"span"}],"tag":"div","props":{"class":"mui-v-container mui-v-SiteFooter-bottom"}}],"tag":"footer","props":{"class":"mui-v-SiteFooter-root"}}],"props":{"data-mui-scroll-root":"","id":"main","tabindex":"-1","class":"mui-v-scroller"},"tag":"main"},{"children":[{"children":[{"children":[{"props":{"id":"drawer-title","class":"mui-v-drawerTitle"},"tag":"h2","text":"Menu"},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M18 6 6 18"}},{"tag":"path","props":{"d":"m6 6 12 12"}}]}],"on":{"click":[{"op":"set","path":"navOpen","value":false}]},"props":{"aria-label":"Close menu","data-close":"","type":"button","class":"mui-v-iconButtonDark"},"tag":"button","$demand":[]}],"tag":"div","props":{"class":"mui-v-drawerHead"}},{"children":[{"children":[{"children":[{"children":[{"tag":"span","text":{"$t":202}},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"m9 18 6-6-6-6"}}]}],"on":{"click":[{"op":"set","path":"navOpen","value":false},{"call":"navigate","to":"{{ item.href }}"}]},"props":{"aria-current":{"$t":198},"href":{"$t":197},"class":{"$t":9}},"tag":"a","$demand":[]}],"repeat":{"as":"item","items":{"$t":123},"key":"id"},"tag":"li"}],"tag":"ul","props":{"class":"mui-v-drawerList"}}],"props":{"aria-label":"Primary"},"tag":"nav"},{"children":[{"tag":"span","text":"Order online, pick up at the shop. Questions about the right machine? Give us a call."},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384"}}]},{"tag":"span","text":{"$t":221}}],"tag":"a","props":{"href":{"$t":353},"class":"mui-v-drawerCall"},"on":{"click":[{"call":"navigate","to":"{{ telHref }}"}]},"$demand":[{"consumer":"root.children[5].children[0].children[2].children[1].on.click[0].to","guards":[],"expression":{"source":"telHref","writes":[],"deferred":true},"reads":[{"path":"telHref","dynamic":false}]}]}],"tag":"div","props":{"class":"mui-v-drawerNote"}}],"props":{"aria-labelledby":"drawer-title","aria-modal":"true","id":"site-drawer","role":"dialog","tabindex":"-1","class":"mui-v-drawerPanel mui-m-drawerIn"},"tag":"section"}],"tag":"div","use":[{"action":{"op":"set","path":"navOpen","value":false},"behavior":"modalSurface","initialFocus":"[data-close]","surface":"[role='dialog']"}],"when":{"$t":344},"props":{"class":"mui-v-drawerLayer mui-m-scrimIn","data-mui-exit":"scrimOut"},"$demand":[]},{"children":[{"children":[{"children":[{"children":[{"tag":"p","text":"Financing details","props":{"class":"mui-v-eyebrow"}},{"props":{"id":"disclosure-title","class":"mui-v-FinanceDisclosureDialog-title"},"tag":"h2","text":{"$t":158}}],"tag":"div"},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M18 6 6 18"}},{"tag":"path","props":{"d":"m6 6 12 12"}}]}],"on":{"click":[{"op":"set","path":"disclosureId","value":""}]},"props":{"aria-label":"Close financing details","type":"button","class":"mui-v-FinanceDisclosureDialog-close"},"tag":"button","$demand":[]}],"tag":"div","props":{"class":"mui-v-FinanceDisclosureDialog-head"}},{"children":[{"children":[{"tag":"dt","text":"Est. payment","props":{"class":"mui-v-FinanceDisclosureDialog-term"}},{"tag":"dd","text":{"$t":22},"props":{"class":"mui-v-FinanceDisclosureDialog-value"}}],"tag":"div","props":{"class":"mui-v-FinanceDisclosureDialog-stat"}},{"children":[{"tag":"dt","text":"Interest rate","props":{"class":"mui-v-FinanceDisclosureDialog-term"}},{"tag":"dd","text":{"$t":152},"props":{"class":"mui-v-FinanceDisclosureDialog-value"}}],"tag":"div","props":{"class":"mui-v-FinanceDisclosureDialog-stat"}},{"children":[{"tag":"dt","text":"Term","props":{"class":"mui-v-FinanceDisclosureDialog-term"}},{"tag":"dd","text":{"$t":155},"props":{"class":"mui-v-FinanceDisclosureDialog-value"}}],"tag":"div","props":{"class":"mui-v-FinanceDisclosureDialog-stat"}}],"tag":"dl","props":{"class":"mui-v-FinanceDisclosureDialog-stats"}},{"tag":"p","text":{"$t":154},"props":{"class":"mui-v-FinanceDisclosureDialog-program"}},{"props":{"id":"disclosure-body","class":"mui-v-FinanceDisclosureDialog-text"},"tag":"p","text":{"$t":153}},{"children":[{"on":{"click":[{"op":"set","path":"disclosureId","value":""}]},"props":{"data-initial-focus":"","type":"button","class":"mui-v-button mui-v-buttonOutline"},"tag":"button","text":"Close","$demand":[]},{"children":[{"tag":"span","text":"Apply for financing"},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M15 3h6v6"}},{"tag":"path","props":{"d":"M10 14 21 3"}},{"tag":"path","props":{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}}]}],"props":{"rel":"noopener noreferrer","target":"_blank","href":{"$t":151},"class":"mui-v-button mui-v-buttonPrimary"},"tag":"a","when":{"$t":53}}],"tag":"div","props":{"class":"mui-v-FinanceDisclosureDialog-actions"}}],"props":{"aria-describedby":"disclosure-body","aria-labelledby":"disclosure-title","aria-modal":"true","role":"dialog","tabindex":"-1","class":"mui-v-FinanceDisclosureDialog-panel mui-m-riseIn"},"tag":"section"}],"tag":"div","use":[{"action":{"op":"set","path":"disclosureId","value":""},"behavior":"modalSurface","initialFocus":"[data-initial-focus]","surface":"[role='dialog']"}],"when":{"$t":150},"props":{"class":"mui-v-FinanceDisclosureDialog-layer mui-m-scrimIn","data-mui-exit":"scrimOut"},"$demand":[]},{"children":[{"children":[{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"circle","props":{"cx":"8","cy":"21","r":"1"}},{"tag":"circle","props":{"cx":"19","cy":"21","r":"1"}},{"tag":"path","props":{"d":"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"}}]},{"props":{"id":"cart-title","class":"mui-v-CartDrawer-title"},"tag":"h2","text":"Pickup cart"}],"tag":"div","props":{"class":"mui-v-CartDrawer-titleRow"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M18 6 6 18"}},{"tag":"path","props":{"d":"m6 6 12 12"}}]}],"on":{"click":[{"op":"set","path":"cartOpen","value":false}]},"props":{"aria-label":"Close cart","data-close":"","type":"button","class":"mui-v-CartDrawer-close"},"tag":"button","$demand":[]}],"tag":"div","props":{"class":"mui-v-CartDrawer-head"}},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"circle","props":{"cx":"12","cy":"12","r":"10"}},{"tag":"path","props":{"d":"m9 12 2 2 4-4"}}]}],"tag":"span","props":{"class":"mui-v-CartDrawer-okIcon"}},{"tag":"h3","text":{"$t":41},"props":{"class":"mui-v-CartDrawer-stateTitle"}},{"tag":"p","text":"Our team will reach out to confirm availability, final pricing and a pickup time at the shop. No payment is taken online.","props":{"class":"mui-v-bodyMuted"}},{"on":{"click":[{"op":"set","path":"orderSent","value":""},{"op":"set","path":"cartOpen","value":false}]},"props":{"type":"button","class":"mui-v-button mui-v-buttonOutline"},"tag":"button","text":"Keep browsing","$demand":[]}],"props":{"role":"status","class":"mui-v-CartDrawer-state"},"tag":"div","when":{"$t":345}},{"children":[{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconLg"},"children":[{"tag":"circle","props":{"cx":"8","cy":"21","r":"1"}},{"tag":"circle","props":{"cx":"19","cy":"21","r":"1"}},{"tag":"path","props":{"d":"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"}}]}],"tag":"span","props":{"class":"mui-v-CartDrawer-emptyIcon"}},{"tag":"h3","text":"Your cart is empty","props":{"class":"mui-v-CartDrawer-stateTitle"}},{"tag":"p","text":"Find the machine you need, add it to your cart and send a pickup order. We'll have it ready.","props":{"class":"mui-v-bodyMuted"}},{"children":[{"tag":"span","text":"Shop inventory"},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M5 12h14"}},{"tag":"path","props":{"d":"m12 5 7 7-7 7"}}]}],"on":{"click":[{"op":"set","path":"cartOpen","value":false},{"call":"navigate","to":"/inventory"}]},"tag":"a","props":{"href":"/inventory","class":"mui-v-button mui-v-buttonPrimary"},"$demand":[]}],"tag":"div","when":{"$t":346},"props":{"class":"mui-v-CartDrawer-state"}},{"children":[{"children":[{"children":[{"children":[{"props":{"alt":"","src":{"$t":107},"class":"mui-v-CartDrawer-thumbImg"},"tag":"img","when":{"$t":210}}],"tag":"span","props":{"class":"mui-v-CartDrawer-thumb"}},{"children":[{"on":{"click":[{"op":"set","path":"cartOpen","value":false},{"call":"navigate","to":"{{ '/inventory/' + line.id }}"}]},"tag":"a","text":{"$t":211},"props":{"href":{"$t":31},"class":"mui-v-CartDrawer-lineName"},"$demand":[]},{"tag":"span","text":{"$t":26},"props":{"class":"mui-v-CartDrawer-linePrice"}},{"tag":"span","text":{"$t":212},"when":{"$t":213},"props":{"class":"mui-v-CartDrawer-lineNote"}}],"tag":"div","props":{"class":"mui-v-CartDrawer-lineText"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconSm"},"children":[{"tag":"path","props":{"d":"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}},{"tag":"path","props":{"d":"M3 6h18"}},{"tag":"path","props":{"d":"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}}]}],"on":{"click":[{"op":"removeFromList","path":"cart","value":"{{ line.id }}"},{"key":"inventoryId","op":"removeWhere","path":"cartAddOns","value":"{{ line.id }}"}]},"props":{"aria-label":{"$t":44},"disabled":{"$t":110},"type":"button","class":"mui-v-CartDrawer-remove"},"tag":"button","$demand":[]}],"repeat":{"as":"line","items":{"$t":71},"key":"id"},"tag":"li","props":{"class":"mui-v-CartDrawer-line"}}],"tag":"ul","props":{"class":"mui-v-CartDrawer-lines"}},{"children":[{"tag":"span","text":"Machine subtotal"},{"tag":"span","text":{"$t":21},"props":{"class":"mui-v-CartDrawer-totalAmount"}}],"tag":"div","props":{"class":"mui-v-CartDrawer-total"}},{"tag":"p","text":"Before tax. Add-ons are priced separately and your final quote is confirmed by our team.","props":{"class":"mui-v-CartDrawer-fine"}},{"children":[{"tag":"h3","text":"Send your pickup order","props":{"class":"mui-v-CartDrawer-formTitle"}},{"children":[{"props":{"for":"co-name","class":"mui-v-fieldLabel"},"tag":"label","text":"Name"},{"on":{"input":[{"op":"set","path":"checkout.name","value":"{{ event.value }}"}]},"props":{"aria-describedby":{"$t":308},"aria-invalid":{"$t":309},"autocomplete":"name","disabled":{"$t":110},"id":"co-name","type":"text","value":{"$t":312},"class":{"$t":14},"style":"--mui-v-fieldControl-pad-end: 0.875rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"input","$demand":[]},{"props":{"id":"co-name-err","class":"mui-v-CartDrawer-err"},"tag":"p","text":{"$t":113},"when":{"$t":310}}],"tag":"div","props":{"class":"mui-v-CartDrawer-field"}},{"children":[{"props":{"for":"co-email","class":"mui-v-fieldLabel"},"tag":"label","text":"Email"},{"on":{"input":[{"op":"set","path":"checkout.email","value":"{{ event.value }}"},{"op":"set","path":"leadContact.email","value":"{{ trim(event.value) }}","when":"{{ trim(event.value) != '' }}"},{"op":"unsetPath","path":"leadContact.email","when":"{{ trim(event.value) == '' && state.leadContact != null }}"}]},"props":{"autocomplete":"email","disabled":{"$t":110},"id":"co-email","inputmode":"email","type":"email","value":{"$t":311},"class":{"$t":13},"style":"--mui-v-fieldControl-pad-end: 0.875rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"input","$demand":[]}],"tag":"div","props":{"class":"mui-v-CartDrawer-field"}},{"children":[{"props":{"for":"co-phone","class":"mui-v-fieldLabel"},"tag":"label","text":"Phone"},{"on":{"input":[{"op":"set","path":"checkout.phone","value":"{{ event.value }}"},{"op":"set","path":"leadContact.phone","value":"{{ trim(event.value) }}","when":"{{ trim(event.value) != '' }}"},{"op":"unsetPath","path":"leadContact.phone","when":"{{ trim(event.value) == '' && state.leadContact != null }}"}]},"props":{"aria-describedby":{"$t":306},"autocomplete":"tel","disabled":{"$t":110},"id":"co-phone","inputmode":"tel","type":"tel","value":{"$t":313},"class":{"$t":13},"style":"--mui-v-fieldControl-pad-end: 0.875rem; --mui-v-fieldControl-pad-start: 0.875rem"},"tag":"input","$demand":[]},{"props":{"id":"co-contact-err","class":"mui-v-CartDrawer-err"},"tag":"p","text":{"$t":111},"when":{"$t":307}}],"tag":"div","props":{"class":"mui-v-CartDrawer-field"}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"circle","props":{"cx":"12","cy":"12","r":"10"}},{"tag":"line","props":{"x1":"12","x2":"12","y1":"8","y2":"12"}},{"tag":"line","props":{"x1":"12","x2":"12.01","y1":"16","y2":"16"}}]},{"children":[{"tag":"strong","text":{"$t":116}},{"tag":"span","text":{"$t":115}}],"tag":"div","props":{"class":"mui-v-CartDrawer-alertText"}}],"props":{"role":"alert","class":"mui-v-CartDrawer-alert"},"tag":"div","when":{"$t":114}},{"children":[{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd mui-m-spinning"},"children":[{"tag":"path","props":{"d":"M21 12a9 9 0 1 1-6.219-8.56"}}],"when":{"$t":110}},{"tag":"svg","props":{"xmlns":"http://www.w3.org/2000/svg","width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true","focusable":"false","class":"mui-v-iconMd"},"children":[{"tag":"path","props":{"d":"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"}},{"tag":"path","props":{"d":"m21.854 2.147-10.94 10.939"}}],"when":{"$t":17}},{"tag":"span","text":{"$t":108}}],"props":{"aria-busy":{"$t":109},"disabled":{"$t":110},"type":"submit","class":"mui-v-button mui-v-buttonPrimary mui-v-buttonBlock"},"tag":"button"},{"tag":"p","text":"Used only to confirm this order. No payment is taken online.","props":{"class":"mui-v-CartDrawer-fine"}}],"on":{"submit":[{"op":"set","path":"checkout.attempted","value":true},{"call":"pickupOrders.create","onSuccess":[{"op":"set","path":"orderSent","value":"{{ trim(state.checkout.name) }}"},{"op":"setList","path":"cart","value":[]},{"op":"setList","path":"cartAddOns","value":[]},{"op":"set","path":"checkout","value":{"attempted":false,"email":"","name":"","phone":""}},{"op":"set","path":"leadContact","value":null}],"value":{"addOnSelections":"{{ state.cartAddOns }}","contact":"{{ state.leadContact }}","customerName":"{{ trim(state.checkout.name) }}","inventoryIds":"{{ state.cart }}"},"when":"{{ coReady && !coBusy && count(state.cartAddOns) > 0 }}"},{"call":"pickupOrders.create","onSuccess":[{"op":"set","path":"orderSent","value":"{{ trim(state.checkout.name) }}"},{"op":"setList","path":"cart","value":[]},{"op":"set","path":"checkout","value":{"attempted":false,"email":"","name":"","phone":""}},{"op":"set","path":"leadContact","value":null}],"value":{"contact":"{{ state.leadContact }}","customerName":"{{ trim(state.checkout.name) }}","inventoryIds":"{{ state.cart }}"},"when":"{{ coReady && !coBusy && count(state.cartAddOns) == 0 }}"}]},"props":{"aria-labelledby":"cart-title","novalidate":true,"class":"mui-v-CartDrawer-form"},"tag":"form","$demand":[]}],"tag":"div","when":{"$t":347},"props":{"class":"mui-v-CartDrawer-body"}}],"props":{"aria-labelledby":"cart-title","aria-modal":"true","role":"dialog","tabindex":"-1","class":"mui-v-CartDrawer-panel mui-m-drawerIn"},"tag":"section"}],"tag":"div","use":[{"action":{"op":"set","path":"cartOpen","value":false},"behavior":"modalSurface","initialFocus":"[data-close]","surface":"[role='dialog']"}],"when":{"$t":305},"props":{"class":"mui-v-drawerLayer mui-m-scrimIn","data-mui-exit":"scrimOut"},"$demand":[]}],"tag":"div","props":{"class":"mui-v-appFrame"}}},"operations":{"id":"operations:06749f1363735511","entries":[{"id":"intent:clipboard.copy","name":"clipboard.copy","lineage":"clipboard.copy","kind":"intent","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"copy a value to the host clipboard","input":{"type":"object","additionalProperties":false,"properties":{"value":{}}},"result":null,"effect":"external","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":["clipboard"],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"irreversible"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":null,"source":null,"provider":null},{"id":"intent:commands.checkStatus","name":"commands.checkStatus","lineage":"commands.checkStatus","kind":"intent","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"check the outcome of one journal-accepted command without repeating it; value is its notification id or fx occurrence. Unknown or already terminal identities are inert.","input":{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"string","description":"the accepted command's own identity"}}},"result":null,"effect":"read","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"irreversible"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":null,"source":null,"provider":null},{"id":"intent:contact.create","name":"contact.create","lineage":"contact","kind":"intent","owner":"data","availability":"executable","exposed":true,"emitted":true,"description":"create one row in the `contact` collection — the fields ride UNDER `value`","input":{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"topic":{"type":"string"},"message":{"type":"string"},"id":{}},"description":"the new row's fields"}}},"result":null,"effect":"write","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"compensating"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":{"worldId":"world:56dd8019042e14eb","operationId":"intent:contact.create","actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}],"grant":[{"actors":["visitor"]}],"id":"authority:263d8a688b7c6566"},"source":null,"provider":{"source":"formEmail","owner":"app.form-email.web via capability `formEmail`","collection":"messages","anonymousCapable":null}},{"id":"intent:data.refresh","name":"data.refresh","lineage":"data.refresh","kind":"intent","owner":"data","availability":"executable","exposed":true,"emitted":true,"description":"retry acquisition of one declared data binding","input":{"type":"object","additionalProperties":false,"properties":{"value":{"type":"string"}}},"result":null,"effect":"read","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"irreversible"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":null,"source":null,"provider":null},{"id":"intent:inbox.post","name":"inbox.post","lineage":"inbox.post","kind":"intent","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"post a payload to a host-wired inbox channel","input":{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"object","additionalProperties":false,"required":["to","payload"],"properties":{"to":{"type":"string"},"payload":{}}}}},"result":null,"effect":"external","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":["inbox"],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"irreversible"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":null,"source":null,"provider":null},{"id":"intent:manifest.edit","name":"manifest.edit","lineage":"manifest.edit","kind":"intent","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"submit a governed manifest patch","input":{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"result":null,"effect":"write","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"irreversible"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":null,"source":null,"provider":null},{"id":"intent:media.remove","name":"media.remove","lineage":"media","kind":"intent","owner":"asset","availability":"executable","exposed":true,"emitted":false,"description":"detach the `media` asset reference at `path`","input":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"path":{"type":"string","description":"the state path of the asset reference cell"}}},"result":null,"effect":"write","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":["asset:tenantMedia"],"command":null,"notify":{"ok":null,"problem":"auto"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"retry-idempotent","reversibility":"compensating"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":null,"source":null,"provider":null},{"id":"intent:media.upload","name":"media.upload","lineage":"media","kind":"intent","owner":"asset","availability":"executable","exposed":true,"emitted":false,"description":"upload a user-chosen file into `media`; the bytes ride a user file-input event and cannot be supplied by a model call","input":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"path":{"type":"string","description":"the state path of the asset reference cell"}}},"result":null,"effect":"external","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":["asset:tenantMedia"],"command":null,"notify":{"ok":null,"problem":"auto"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"irreversible"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":null,"source":null,"provider":null},{"id":"intent:media.uploadUrl","name":"media.uploadUrl","lineage":"media","kind":"intent","owner":"asset","availability":"executable","exposed":true,"emitted":false,"description":"ask the selected provider to import an http(s) URL into `media`; the provider owns SSRF, timeout, and byte limits","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"path":{"type":"string","description":"the state path of the asset reference cell"},"value":{"type":"string","description":"the http(s) URL to import"}}},"result":null,"effect":"external","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":["asset:tenantMedia"],"command":null,"notify":{"ok":null,"problem":"auto"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"irreversible"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":null,"source":null,"provider":null},{"id":"intent:navigate","name":"navigate","lineage":"navigate","kind":"intent","owner":"engine","availability":"executable","exposed":true,"emitted":true,"description":"navigate within the declared route graph","input":{"type":"object","additionalProperties":false,"properties":{"to":{"type":"string"},"query":{"type":"object","additionalProperties":true},"replace":{"type":"boolean"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"irreversible"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":null,"source":null,"provider":null},{"id":"intent:notifications.dismiss","name":"notifications.dismiss","lineage":"notifications.dismiss","kind":"intent","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"close one notification the engine's stream is carrying; `value` is that entry's `id`. Idempotent — an id already closed or never seen settles ok.","input":{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"string","description":"the `id` of the notification row being closed"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"irreversible"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":null,"source":null,"provider":null},{"id":"intent:pickupOrders.create","name":"pickupOrders.create","lineage":"pickupOrders","kind":"intent","owner":"data","availability":"executable","exposed":true,"emitted":true,"description":"create one row in the `pickupOrders` collection — the fields ride UNDER `value`","input":{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"object","additionalProperties":false,"properties":{"customerName":{"type":"string"},"contact":{"type":"object"},"inventoryIds":{"type":"array"},"addOnSelections":{"type":"array"},"id":{}},"required":["customerName","contact","inventoryIds"],"description":"the new row's fields"}}},"result":null,"effect":"write","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":{"capability":"host-intent","action":"intent.dispatch","policy":{"authorization":"manifest.intent","audit":"app","cost":"none","recovery":"reconcile","reversibility":"compensating"},"problemCodes":["INTENT_FAILED","INTENT_REJECTED","CALL_UNHANDLED"]},"authority":{"worldId":"world:56dd8019042e14eb","operationId":"intent:pickupOrders.create","actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}],"grant":[{"actors":["visitor"]}],"id":"authority:222099cdea21771f"},"source":null,"provider":{"source":"opehubLeads","owner":"opehub.rest via capability `opehub`","collection":"websiteLeads","anonymousCapable":true}},{"id":"op:append","name":"append","lineage":"append","kind":"op","owner":"engine","availability":"executable","exposed":true,"emitted":true,"description":"append the item to the end of the list at path","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to append to","type":"string"},"value":{"description":"the item to append"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:choose","name":"choose","lineage":"choose","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"branch: run `then` when cond is truthy, else `else` (lazy — only the taken branch runs)","input":{"type":"object","additionalProperties":false,"required":["cond"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"cond":{"description":"a {{ }} condition: runs `then` if truthy, else `else`","type":"string"},"then":{"description":"the action run when cond is truthy","type":"object","default":null},"else":{"description":"the action run when cond is falsy","type":"object","default":null}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:clear","name":"clear","lineage":"clear","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"reset a list path to [] (a provided `value` list replaces instead — but prefer setList for that; clear is the empty case)","input":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to reset","type":"string"},"value":{"description":"the list to reset to","type":"array","default":[]}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:decr","name":"decr","lineage":"decr","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"subtract an amount (default 1) from a number at a state path","input":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the numeric state path to subtract from","type":"string"},"by":{"description":"amount to subtract","type":"number","default":1}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:dedupe","name":"dedupe","lineage":"dedupe","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"remove duplicate items from the list at path (by a key field when given, else by value)","input":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to dedupe","type":"string"},"key":{"description":"the field to dedupe by; omit to dedupe by whole value","type":"string","default":null}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:deepMerge","name":"deepMerge","lineage":"deepMerge","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"recursively merge an object into the object at path (nested plain objects merge; arrays and scalars replace)","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the object path to deep-merge into","type":"string"},"value":{"description":"the object recursively merged in (nested objects merge; arrays/scalars replace)","type":"object"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:delete","name":"delete","lineage":"delete","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"remove one own key from the object at path","input":{"type":"object","additionalProperties":false,"required":["path","key"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the object path to remove a key from","type":"string"},"key":{"description":"the own key to remove","type":"string"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:incr","name":"incr","lineage":"incr","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"add an amount (default 1) to a number at a state path","input":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the numeric state path to add to","type":"string"},"by":{"description":"amount to add","type":"number","default":1}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:insertAt","name":"insertAt","lineage":"insertAt","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"insert the item at a position in the list at path (index clamps to the ends)","input":{"type":"object","additionalProperties":false,"required":["path","index","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to insert into","type":"string"},"index":{"description":"position to insert at (number or {{ }} expression; clamped to [0, length])","type":"number"},"value":{"description":"the item to insert"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:merge","name":"merge","lineage":"merge","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"shallow-merge an object into the object at path (top-level keys overwrite)","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the object path to merge into","type":"string"},"value":{"description":"the object whose keys are shallow-merged in","type":"object"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:move","name":"move","lineage":"move","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"move a list item from one position to another (positions clamp; same-position is a no-op)","input":{"type":"object","additionalProperties":false,"required":["path","from","to"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to reorder","type":"string"},"from":{"description":"index to move from (number or {{ }} expression)","type":"number"},"to":{"description":"index to move to (number or {{ }} expression)","type":"number"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:patchWhere","name":"patchWhere","lineage":"patchWhere","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"in the list at path, shallow-merge an object into the row whose idKey matches id (untouched fields survive)","input":{"type":"object","additionalProperties":false,"required":["path","id","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path","type":"string"},"id":{"description":"the id value to match"},"idKey":{"description":"the field matched against id (read own-only)","type":"string","default":"id"},"value":{"description":"the object shallow-merged into the matched row (top-level keys overwrite)","type":"object"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:prepend","name":"prepend","lineage":"prepend","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"insert the item at the start of the list at path","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to prepend to","type":"string"},"value":{"description":"the item to prepend"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:pushUnique","name":"pushUnique","lineage":"pushUnique","kind":"op","owner":"engine","availability":"executable","exposed":true,"emitted":true,"description":"append the item to the list only if it is not already present","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to append to","type":"string"},"value":{"description":"the item to append if absent"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:removeAt","name":"removeAt","lineage":"removeAt","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"remove the item at a position from the list at path","input":{"type":"object","additionalProperties":false,"required":["path","index"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to remove from","type":"string"},"index":{"description":"position to remove (number or {{ }} expression)","type":"number"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:removeFromList","name":"removeFromList","lineage":"removeFromList","kind":"op","owner":"engine","availability":"executable","exposed":true,"emitted":true,"description":"remove every occurrence of the item from the list","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to update","type":"string"},"value":{"description":"the item to remove"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:removeWhere","name":"removeWhere","lineage":"removeWhere","kind":"op","owner":"engine","availability":"executable","exposed":true,"emitted":true,"description":"remove every row whose key field equals the value from the list at path","input":{"type":"object","additionalProperties":false,"required":["path","key","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to filter","type":"string"},"key":{"description":"the field compared on each item (read own-only)","type":"string"},"value":{"description":"items whose key equals this are dropped"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:selectAll","name":"selectAll","lineage":"selectAll","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"write the key of every non-disabled option object from `from` into the list at path","input":{"type":"object","additionalProperties":false,"required":["path","from"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the path to write the selection to","type":"string"},"from":{"description":"the source list to select from","type":"array"},"key":{"description":"the field read from each item","type":"string","default":"value"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:set","name":"set","lineage":"set","kind":"op","owner":"engine","availability":"executable","exposed":true,"emitted":true,"description":"write a value to a state path","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the state path to write","type":"string"},"value":{"description":"the value to write"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:setIfEmpty","name":"setIfEmpty","lineage":"setIfEmpty","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"write the value only when the path is empty (null/undefined/empty string)","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the path to default","type":"string"},"value":{"description":"the value to set when the path is null/absent"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:setList","name":"setList","lineage":"setList","kind":"op","owner":"engine","availability":"executable","exposed":true,"emitted":true,"description":"write a whole list to a state path (a non-array value becomes [])","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to write","type":"string"},"value":{"description":"the list value to set","type":"array"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:setMinMax","name":"setMinMax","lineage":"setMinMax","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"sort the pair: write the lesser of a/b to minPath and the greater to maxPath","input":{"type":"object","additionalProperties":false,"required":["a","b","minPath","maxPath"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"a":{"description":"first value to compare"},"b":{"description":"second value to compare"},"minPath":{"description":"path to write the lesser of a and b","type":"string"},"maxPath":{"description":"path to write the greater of a and b","type":"string"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:sortList","name":"sortList","lineage":"sortList","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"reorder the list at path by a field (through the sortBy helper), ascending or descending","input":{"type":"object","additionalProperties":false,"required":["path","key"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to sort","type":"string"},"key":{"description":"the field to sort by","type":"string"},"dir":{"description":"'desc' reverses; otherwise ascending","type":"string","default":"asc"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:swap","name":"swap","lineage":"swap","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"exchange the values at two state paths","input":{"type":"object","additionalProperties":false,"required":["pathA","pathB"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"pathA":{"description":"one state path","type":"string"},"pathB":{"description":"the other state path","type":"string"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:toggle","name":"toggle","lineage":"toggle","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"flip a boolean at a state path","input":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the boolean state path to flip","type":"string"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:toggleInList","name":"toggleInList","lineage":"toggleInList","kind":"op","owner":"engine","availability":"executable","exposed":true,"emitted":true,"description":"add the item to the list if absent, remove it if present","input":{"type":"object","additionalProperties":false,"required":["path","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to update","type":"string"},"value":{"description":"the item to add if absent or remove if present"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:unsetPath","name":"unsetPath","lineage":"unsetPath","kind":"op","owner":"engine","availability":"executable","exposed":true,"emitted":true,"description":"remove the state slot at path entirely (the key is deleted, not set to undefined)","input":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the property path to remove; dynamic-keyed brackets are resolved against scope at dispatch","type":"string"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:updateWhere","name":"updateWhere","lineage":"updateWhere","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"in the list at path, set one field on the row whose idKey matches id","input":{"type":"object","additionalProperties":false,"required":["path","id","field","value"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path to update","type":"string"},"id":{"description":"the id value to match"},"idKey":{"description":"the field matched against id","type":"string","default":"id"},"field":{"description":"the field written on the matched row","type":"string"},"value":{"description":"the value written to field"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"op:upsert","name":"upsert","lineage":"upsert","kind":"op","owner":"engine","availability":"executable","exposed":false,"emitted":false,"description":"in the list at path, replace the row with a matching id or append it when absent","input":{"type":"object","additionalProperties":false,"required":["path","value","key"],"properties":{"when":{"type":"string","description":"optional whole {{ }} guard; it reads the evolving transaction draft, including earlier sibling writes, and the action runs only if it is truthy"},"debounce":{"type":"number","description":"optional trailing-edge debounce in ms — the DOM host coalesces rapid events and dispatches once after this quiet period (headless runners and source pushes ignore it)"},"andThen":{"oneOf":[{"type":"object"},{"type":"null"}],"description":"optional coupled follow-up op; it runs only when this op ran. A chained follow-up with its own when must be terminal because a false guard stops its tail; keep independent guards as siblings or use choose"},"path":{"description":"the list path","type":"string"},"value":{"description":"the row to insert or replace","type":"object"},"key":{"description":"the field matched to find an existing row (own-only)","type":"string"}}},"result":null,"effect":"local","staticWrites":[],"dynamicWrites":false,"capability":null,"hostRequirements":[],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":null,"source":null,"provider":null},{"id":"source:categories.read","name":"categories.read","lineage":"categories","kind":"source","owner":"data","availability":"executable","exposed":true,"emitted":false,"description":"acquire the reviewed `categories` binding projection","input":{"type":"object","additionalProperties":false},"result":{"type":"object","additionalProperties":false,"properties":{"count":{"type":"number","description":"number of rows admitted by this acquisition"},"hasMore":{"type":"boolean","description":"whether another reviewed page may be available"}}},"effect":"read","staticWrites":["categories"],"dynamicWrites":false,"capability":null,"hostRequirements":["source:opehub"],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":{"worldId":"world:56dd8019042e14eb","operationId":"source:categories.read","actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}],"grant":[{"actors":["visitor"]}],"id":"authority:f6b563113fac00e3"},"source":{"name":"opehub","owner":"opehub.rest via capability `opehub`","definition":"source:b6e1d3823ea865a4","collection":"categories"},"provider":null},{"id":"source:contact.read","name":"contact.read","lineage":"contact","kind":"source","owner":"data","availability":"executable","exposed":true,"emitted":false,"description":"acquire the reviewed `contact` binding projection","input":{"type":"object","additionalProperties":false},"result":{"type":"object","additionalProperties":false,"properties":{"count":{"type":"number","description":"number of rows admitted by this acquisition"},"hasMore":{"type":"boolean","description":"whether another reviewed page may be available"}}},"effect":"read","staticWrites":["contact"],"dynamicWrites":false,"capability":null,"hostRequirements":["source:formEmail"],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":{"worldId":"world:56dd8019042e14eb","operationId":"source:contact.read","actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}],"grant":[{"actors":["visitor"]}],"id":"authority:30d3080fd4a7d1c1"},"source":{"name":"formEmail","owner":"app.form-email.web via capability `formEmail`","definition":"source:f23e6304d2eab38e","collection":"messages"},"provider":null},{"id":"source:dealer.read","name":"dealer.read","lineage":"dealer","kind":"source","owner":"data","availability":"executable","exposed":true,"emitted":false,"description":"acquire the reviewed `dealer` binding projection","input":{"type":"object","additionalProperties":false},"result":{"type":"object","additionalProperties":false,"properties":{"count":{"type":"number","description":"number of rows admitted by this acquisition"},"hasMore":{"type":"boolean","description":"whether another reviewed page may be available"}}},"effect":"read","staticWrites":["dealer"],"dynamicWrites":false,"capability":null,"hostRequirements":["source:opehub"],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":{"worldId":"world:56dd8019042e14eb","operationId":"source:dealer.read","actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}],"grant":[{"actors":["visitor"]}],"id":"authority:76f13c2cda4e802e"},"source":{"name":"opehub","owner":"opehub.rest via capability `opehub`","definition":"source:b6e1d3823ea865a4","collection":"dealer"},"provider":null},{"id":"source:inventory.read","name":"inventory.read","lineage":"inventory","kind":"source","owner":"data","availability":"executable","exposed":true,"emitted":false,"description":"acquire the reviewed `inventory` binding projection","input":{"type":"object","additionalProperties":false},"result":{"type":"object","additionalProperties":false,"properties":{"count":{"type":"number","description":"number of rows admitted by this acquisition"},"hasMore":{"type":"boolean","description":"whether another reviewed page may be available"}}},"effect":"read","staticWrites":["inventory"],"dynamicWrites":false,"capability":null,"hostRequirements":["source:opehub"],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":{"worldId":"world:56dd8019042e14eb","operationId":"source:inventory.read","actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}],"grant":[{"actors":["visitor"]}],"id":"authority:d5a959d773f4c64d"},"source":{"name":"opehub","owner":"opehub.rest via capability `opehub`","definition":"source:b6e1d3823ea865a4","collection":"inventory"},"provider":null},{"id":"source:pickupOrders.read","name":"pickupOrders.read","lineage":"pickupOrders","kind":"source","owner":"data","availability":"executable","exposed":true,"emitted":false,"description":"acquire the reviewed `pickupOrders` binding projection","input":{"type":"object","additionalProperties":false},"result":{"type":"object","additionalProperties":false,"properties":{"count":{"type":"number","description":"number of rows admitted by this acquisition"},"hasMore":{"type":"boolean","description":"whether another reviewed page may be available"}}},"effect":"read","staticWrites":["pickupOrders"],"dynamicWrites":false,"capability":null,"hostRequirements":["source:opehubLeads"],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":{"worldId":"world:56dd8019042e14eb","operationId":"source:pickupOrders.read","actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}],"grant":[{"actors":["visitor"]}],"id":"authority:c79cfdc80b8da7d6"},"source":{"name":"opehubLeads","owner":"opehub.rest via capability `opehub`","definition":"source:8a1d0a53dea1c7d9","collection":"websiteLeads"},"provider":null},{"id":"source:promotions.read","name":"promotions.read","lineage":"promotions","kind":"source","owner":"data","availability":"executable","exposed":true,"emitted":false,"description":"acquire the reviewed `promotions` binding projection","input":{"type":"object","additionalProperties":false},"result":{"type":"object","additionalProperties":false,"properties":{"count":{"type":"number","description":"number of rows admitted by this acquisition"},"hasMore":{"type":"boolean","description":"whether another reviewed page may be available"}}},"effect":"read","staticWrites":["promotions"],"dynamicWrites":false,"capability":null,"hostRequirements":["source:opehub"],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":{"worldId":"world:56dd8019042e14eb","operationId":"source:promotions.read","actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}],"grant":[{"actors":["visitor"]}],"id":"authority:2d2b204bcff4afc9"},"source":{"name":"opehub","owner":"opehub.rest via capability `opehub`","definition":"source:b6e1d3823ea865a4","collection":"promotions"},"provider":null},{"id":"source:websiteContent.read","name":"websiteContent.read","lineage":"websiteContent","kind":"source","owner":"data","availability":"executable","exposed":true,"emitted":false,"description":"acquire the reviewed `websiteContent` binding projection","input":{"type":"object","additionalProperties":false},"result":{"type":"object","additionalProperties":false,"properties":{"count":{"type":"number","description":"number of rows admitted by this acquisition"},"hasMore":{"type":"boolean","description":"whether another reviewed page may be available"}}},"effect":"read","staticWrites":["websiteContent"],"dynamicWrites":false,"capability":null,"hostRequirements":["source:opehub"],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":{"worldId":"world:56dd8019042e14eb","operationId":"source:websiteContent.read","actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}],"grant":[{"actors":["visitor"]}],"id":"authority:5c97f41747674b91"},"source":{"name":"opehub","owner":"opehub.rest via capability `opehub`","definition":"source:b6e1d3823ea865a4","collection":"websiteContent"},"provider":null},{"id":"source:wholegoods.read","name":"wholegoods.read","lineage":"wholegoods","kind":"source","owner":"data","availability":"executable","exposed":true,"emitted":false,"description":"acquire the reviewed `wholegoods` binding projection","input":{"type":"object","additionalProperties":false},"result":{"type":"object","additionalProperties":false,"properties":{"count":{"type":"number","description":"number of rows admitted by this acquisition"},"hasMore":{"type":"boolean","description":"whether another reviewed page may be available"}}},"effect":"read","staticWrites":["wholegoods"],"dynamicWrites":false,"capability":null,"hostRequirements":["source:opehub"],"command":null,"notify":{"ok":null,"problem":"silent"},"plan":null,"authority":{"worldId":"world:56dd8019042e14eb","operationId":"source:wholegoods.read","actors":[{"name":"administrator","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-administrator"}},{"name":"visitor","matcher":"first-light-actor.has","matcherId":"first-light-actor@1.0.0:has@c6067841bc80f0b3","config":{"actor":"first-light.app-visitor"}}],"grant":[{"actors":["visitor"]}],"id":"authority:f204fc923600d300"},"source":{"name":"opehub","owner":"opehub.rest via capability `opehub`","definition":"source:b6e1d3823ea865a4","collection":"wholegoods"},"provider":null}],"errors":[]},"references":{"schema":"singularity.manifest-reference-graph.v1","version":"1","worldContractId":"world-contract:5ce759d4a4e8abbe","vocabulary":{"helpers":["capitalize","cloudinary__constrainedHeightUrl","cloudinary__heroUrl","cloudinary__mobileHeroUrl","cloudinary__productImageUrl","cloudinary__thumbnailUrl","compact","concat","contains","count","countBy","datePart","endsWith","filterBy","findBy","first","formatDate","groupRows","includes","lookup","mod","nth","opehub__formatPhone","partition","pluck","pluralize","replace","round","searchBy","sortBy","sumBy","take","tenant_media__imageUrl","thousands","trim","unique","words"],"operations":["append","pushUnique","removeFromList","removeWhere","set","setList","toggleInList","unsetPath"],"namespaces":["cloudinary","opehub","tenant-media"]},"components":{"names":["lucide__ArrowLeft","lucide__ArrowRight","lucide__ArrowUpRight","lucide__ChevronDown","lucide__ChevronRight","lucide__CircleAlert","lucide__CircleCheck","lucide__ExternalLink","lucide__FileText","lucide__Flame","lucide__Handshake","lucide__Image","lucide__Info","lucide__LayoutGrid","lucide__LoaderCircle","lucide__Mail","lucide__MapPin","lucide__Menu","lucide__MessageSquare","lucide__Navigation","lucide__Package","lucide__Phone","lucide__RefreshCw","lucide__Search","lucide__Send","lucide__ShoppingCart","lucide__Store","lucide__Tag","lucide__Trash","lucide__TriangleAlert","lucide__Users","lucide__Wrench","lucide__X"],"namespaces":["lucide"]},"behaviors":["delay","modalSurface"],"lifecycle":{"triggers":[],"agents":[]},"policy":{"actorMatchers":["first-light-actor.has"]},"capabilities":{"declarations":[{"name":"firstLight","kind":"first-light.builder"},{"name":"formEmail","kind":"app.form-email.web"},{"name":"media","kind":"cloudflare.r2.tenant-media.web"},{"name":"opehub","kind":"opehub.rest"}],"dependencies":[],"actions":[],"problems":[],"provisions":[{"capability":"media","kind":"assets","name":"tenantMedia"},{"capability":"formEmail","kind":"data","name":"formEmail"},{"capability":"opehub","kind":"data","name":"opehub"},{"capability":"opehub","kind":"data","name":"opehubLeads"}],"hostRequirements":["asset:tenantMedia","capability:formEmail:app-id","capability:formEmail:mount:capabilityData","capability:formEmail:source-authority","capability:formEmail:source-authority-identity","capability:formEmail:source-resource-identity:formEmail","capability:media:app-id","capability:media:mount:media","capability:opehub:app-id","capability:opehub:mount:capabilityData","capability:opehub:source-authority","capability:opehub:source-resource-identity:opehub","capability:opehub:source-resource-identity:opehubLeads","clipboard","inbox","source:formEmail","source:opehub","source:opehubLeads"]},"resources":{"data":["formEmail","opehub","opehubLeads"],"assets":["media@tenantMedia"],"ai":[],"directSources":[],"elements":[]},"optional":{"models":[],"agents":[]},"diagnostics":[],"resolved":true,"id":"references:502533107f9fb21e"},"sourceNames":["formEmail","opehub","opehubLeads"],"manifestContentAddress":"manifest:953162bd9c473c8f"}