1import { r as reactExports, d as reactDomExports, j as jsxRuntimeExports, e as useParams, b as useNavigate } from "./index-CO2A7lNr.js"; 2import { P as PageHeader } from "./PageHeader-BvQOkKw3.js"; 3import { l as loadPickerFilters, s as savePickerFilters, u as useFocusTrap, c as clearPickerFilters, a as useCustomPriceVersion, b as syncLibrary, d as decodeBuild, B as Bookmark, S as Share2, F as FolderOpen, e as SavedBuilds, O as OutcomesPanel, E as ExecutePanel, f as buildShareUrl, g as saveBuild, h as listSaved, r as renameSaved, i as deleteSaved, j as customPriceOf, k as setCustomPrice, C as CUSTOM_PRICE_TTL_MS } from "./SavedBuilds-FqgHk9vi.js"; 4import { a as usePriceVersion, b as useCollectionArt, f as fetchPrices, p as priceRow, u as useAppStore, c as fetchCaps } from "./store-B4UZEsAv.js"; 5import { c as createLucideIcon, m as matchesQuery, j as RARITY_ORDER, S as Search, k as ChevronDown, C as Check, l as WEAR_BRACKETS, R as RARITY_COLOR, e as RarityDot, n as Select, Q as QualityBadge, f as fmtUsd, o as CaseArt, q as isFullFloatRange, r as FullFloatBadge, M as MEDIA, s as adjFloatOf, t as FloatField, a as FloatBar, v as SiteLink, w as wearOfFloat, x as RARITY_WEIGHT, y as SiteBadge, g as WEAR_ABBR } from "./ui-BZv9aSLy.js"; 6import { e as economyPrice, P as Package, i as iconUrl, B as BuilderInventory, S as SITES } from "./BuilderInventory-CRR_G0Ky.js"; 7import { X } from "./x-COyS8qtV.js"; 8import { G as GlowCard } from "./GlowCard-DkxF6sC8.js"; 9import { t as track } from "./events-B9XmdxXJ.js"; 10import { T as Trash2 } from "./tradeHistory-C5FBUcb-.js"; 11import { m as motion, c as Plus } from "./proxy-DKaCgO57.js"; 12import { C as Copy } from "./copy-ClWOoJRf.js"; 13import "./refresh-cw-DNdYq-mt.js"; 14import "./chart-line-Ghw5NM1A.js"; 15import "./cpu-umBzJeUN.js"; 16import "./sampleData-DfOPndTc.js"; 17import "./shield-check-DH2MaQZz.js"; 18/** 19 * @license lucide-react v0.454.0 - ISC 20 * 21 * This source code is licensed under the ISC license. 22 * See the LICENSE file in the root directory of this source tree. 23 */ 24const Layers = createLucideIcon("Layers", [ 25 [ 26 "path", 27 { 28 d: "m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z", 29 key: "8b97xw" 30 } 31 ], 32 ["path", { d: "m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65", key: "dd6zsq" }], 33 ["path", { d: "m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65", key: "ep9fru" }] 34]); 35/** 36 * @license lucide-react v0.454.0 - ISC 37 * 38 * This source code is licensed under the ISC license. 39 * See the LICENSE file in the root directory of this source tree. 40 */ 41const Link2 = createLucideIcon("Link2", [ 42 ["path", { d: "M9 17H7A5 5 0 0 1 7 7h2", key: "8i5ue5" }], 43 ["path", { d: "M15 7h2a5 5 0 1 1 0 10h-2", key: "1b9ql8" }], 44 ["line", { x1: "8", x2: "16", y1: "12", y2: "12", key: "1jonct" }] 45]); 46const _0x4b66f0 = _0x22a6; 47(function(_0x40b362, _0x194e06) { 48 const _0x4a793d = _0x22a6, _0x58de19 = _0x40b362(); 49 while (!![]) { 50 try { 51 const _0x315205 = -parseInt(_0x4a793d(394)) / 1 * (-parseInt(_0x4a793d(396)) / 2) + parseInt(_0x4a793d(494)) / 3 * (parseInt(_0x4a793d(497)) / 4) + -parseInt(_0x4a793d(480)) / 5 * (parseInt(_0x4a793d(434)) / 6) + -parseInt(_0x4a793d(418)) / 7 + -parseInt(_0x4a793d(429)) / 8 + -parseInt(_0x4a793d(516)) / 9 * (-parseInt(_0x4a793d(454)) / 10) + -parseInt(_0x4a793d(425)) / 11; 52 if (_0x315205 === _0x194e06) break; 53 else _0x58de19["push"](_0x58de19["shift"]()); 54 } catch (_0x1762e3) { 55 _0x58de19["push"](_0x58de19["shift"]()); 56 } 57 } 58})(_0x12a3, 889950); 59function _0x22a6(_0x1f7a5c, _0x26c8ab) { 60 _0x1f7a5c = _0x1f7a5c - 389; 61 const _0x12a3cc = _0x12a3(); 62 let _0x22a6be = _0x12a3cc[_0x1f7a5c]; 63 return _0x22a6be; 64} 65function wearFor(_0x36d20c, _0x6d40d8) { 66 const _0x45a1c4 = _0x22a6, _0x5cbed8 = WEAR_BRACKETS[_0x45a1c4(451)]((_0x52571a) => _0x52571a[_0x45a1c4(495)] === _0x6d40d8), _0x4a6f52 = Math["max"](_0x36d20c[_0x45a1c4(461)], _0x5cbed8 === 0 ? 0 : WEAR_BRACKETS[_0x5cbed8 - 1][_0x45a1c4(448)]), _0xc5b33f = Math[_0x45a1c4(461)](_0x36d20c[_0x45a1c4(448)], WEAR_BRACKETS[_0x5cbed8][_0x45a1c4(448)]); 67 if (_0x4a6f52 >= _0xc5b33f) return null; 68 return { "name": WEAR_BRACKETS[_0x5cbed8][_0x45a1c4(520)], "abbr": _0x6d40d8, "float": +((_0
68x4a6f52 + _0xc5b33f) / 2)["toFixed"](4) }; 69} 70function _0x12a3() { 71 const _0x2dedfe = ["h-10 w-full rounded", "Steam prices", "flex items-center justify-between border-b border-line px-5 py-4", "flex flex-1 items-center justify-center gap-1.5 rounded-full border px-2.5 py-1 text-[11px] font-medium transition-colors ", "Rarity: common to rare", "2TEWQkt", "shrink-0 text-pink", "331390oppeKR", "num flex min-w-0 items-center gap-1 text-xs font-semibold text-gold", "flex w-full items-center justify-between rounded-md px-2.5 py-1.5 text-left text-xs text-dim hover:bg-surface2", "px-2.5 py-2 text-xs text-faint", "focus", "current", "font-display text-lg font-bold uppercase tracking-wide text-text", "shrink-0 text-faint", "Collections", "rarity", "add", "removeEventListener", "key", "group", " left)", "All collections", "max-h-16 max-w-full object-contain drop-shadow", "filter", "bg-pink/15 text-pink", "Enter", "Select a skin", " left, stays open while you pick", "3710700HqdNAS", "Select skin", "trim", "Collection (groups)", "Type a collection name...", "h-10 w-full rounded-lg border border-violet/60 bg-surface px-3 text-sm text-text placeholder:text-faint focus:outline-none", "length", "10234950mxhbOv", "flex-1 rounded-md px-2.5 py-1.5 text-xs font-semibold transition-colors ", "truncate", "flex items-center justify-between gap-3 px-5 pb-2 pt-3 text-xs text-faint", "4053000XcYLEl", "Search skin name", "image", "bg-violet/20 text-violet", "meta", "6PHYMdP", "sort", "num flex shrink-0 items-center gap-1", "flex min-w-[200px] flex-auto items-center gap-1 rounded-lg border border-line bg-surface p-1", "Souvenir ", "stopPropagation", "inset 0 -2px 0 ", "StatTrak locks the whole contract; Souvenir mixes with Normal", "max-h-56 overflow-y-auto p-1", "collections", "div", "flex min-w-0 items-center gap-1", " of ", "true", "max", "includes", "indexOf", "findIndex", "keydown", "mt-1 shrink-0", "93470DNRCXK", "absolute z-30 mt-1.5 w-full animate-[picker-in_.15s_ease-out] overflow-hidden rounded-lg border border-line bg-bg1 shadow-2xl", "collection", "currentTarget", "toLowerCase", "body", "mt-1 flex items-center justify-between gap-1 text-[9px] text-faint", "min", "img", "Close", "addEventListener", "py-14 text-center text-sm text-loss", "lazy", "Normal", "flex min-w-[240px] flex-auto items-center gap-1.5", "value", "error", "text-[10px] text-faint", "Sort results", "localeCompare", "Showing ", "replace", "max-h-[64vh] overflow-y-auto px-5 pb-5", "text-pink", "Could not load the skin database. Is the API server running? Reload the page to retry.", "Reset filters", "2732195qTALiM", "shrink-0 opacity-70", "text-faint hover:text-dim", "Escape", "text-xs text-faint", "Cheapest first", "expensive", "uppercase tracking-widest", "right", "mt-1 flex items-center justify-between gap-1", "py-14 text-center text-sm text-faint", "label", "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-faint", "Loading the skin database...", "4421511LVVPAg", "abbr", "Rarity", "4yNIRzV", "flex h-10 w-full items-center justify-between rounded-lg border border-line bg-surface px-3 text-sm text-dim hover:border-violet/40", "wear", "price", "border-line text-dim hover:text-text", "num text-dim", "join", "StatTrakâ¢", "normal", "span", "cheapest 3rd-party", "fixed inset-0 z-[60] flex items-center justify-center overflow-y-auto bg-bg0/80 p-4 backdrop-blur-sm sm:p-8", "slice", "map", "loading", "flex min-w-[240px] flex-auto items-center gap-1 rounded-lg border border-line bg-surface p-1", " · ", "ready", "cheap", "1539sIWhhN", " more (", "grid h-9 w-9 place-items-center rounded-lg text-faint hover:bg-surface2 hover:text-text", "Quality is locked by your first input", "name", "relative", "steam", "text-xs text-dim underline decoration-line hover:text-text", "Expensive first", "my-1.5 grid h-16 place-items-center", "button", "mt-3 w-full rounded-xl border border-dashed border-line py-2.5 text-xs font-medium text-dim transition-colors hover:border-pink/40 hover:text-pink", "listbox", "target", "input", "No skins match those filters. Try another condition or collection.", "h-10 w-full rounded-lg border border-line bg-surface pl-9 pr-3 text-sm text-text placeholder:text-faint focus:border-violet/60 focus:outline-none", "rounded bg-surface2 px-1.5 py-0.5 text-[10px] font-semibold text-dim", "Filter collections"]; 72 _0x12a3 = function() { 73 return _0x2dedfe; 74 }; 75 return _0x12a3(); 76} 77const SORTS = [{ "v": _0x4b66f0(405), "label": _0x4b66f0(393) }, { "v": "collection", "label": _0x4b66f0(421) }, { "v": _0x4b66f0(515), "label": _0x4b66f0(485) }, { "v": _0x4b66f0(486), "label": _0x4b66f0(524) }]; 78function SkinPicker({ universe: _0x183a99, lockedRarity: _0x11fb81, stattrak: _0x58fa87, preferSouvenir = ![], qualityLocked = ![], economy: _0x37307e, capsState = _0x4b66f0(514), slotsFree: _0x57d505, onPick: _0x4beb24, onClose: _0x4358d3 }) { 79 const _0x1bd334 = _0x4b66f0, _0x31f24a = reactExports.useRef(loadPickerFilters())[_0x1bd334(401)], [_0x1cfa3d, _0x2f44ea] = reactExports.useState((_0x31f24a == null ? void 0 : _0x31f24a["q"]) ?? ""), [_0x10f0f8, _0x247df2] = reactExports.useState(_0x58fa87 ? "st" : preferSouvenir ? "sv" : _0x1bd334(505)), [_0x44ade7, _0x2ac788] = reactExports.useState((_0x31f24a == null ? void 0 : _0x31f24a[_0x1bd334(456)]) ?? ""), [_0x51779d, _0x418e08] = reactExports.useState(""), [_0x207c3d, _0x1bb043] = reactExports.useState(![]), [_0x4e14a7, _0x59a5d5] = reactExports.useState((_0x31f24a == null ? void 0 : _0x31f24a["condition"]) ?? "FN"), [_0x372475, _0x2fa3f3] = reactExports.useState((_0x31f24a == null ? void 0 : _0x31f24a[_0x1bd334(435)]) ?? _0x1bd334(405)), [_0x4a3f1f, _0x27fdf2] = reactExports.useState((_0x31f24a == null ? void 0 : _0x31f24a["rarity"]) ?? ""), [_0x41b3ce, _0x42301e] = reactExports.useState(60), _0x3968ff = reactExports.useRef(null), _0x515a2f = reactExports.useRef(null), _0x2e43fd = usePriceVersion(), _0x58d865 = useCollectionArt(); 80 reactExports.useEffect(() => { 81 _0x42301e(60); 82 }, [_0x1cfa3d, _0x44ade7, _0x4e14a7, _0x372475, _0x11fb81, _0x4a3f1f, _0x10f0f8]), reactExports.useEffect(() => { 83 savePickerFilters({ "q": _0x1cfa3d, "collection": _0x44ade7, "condition": _0x4e14a7, "sort": _0x372475, "rarity": _
830x4a3f1f }); 84 }, [_0x1cfa3d, _0x44ade7, _0x4e14a7, _0x372475, _0x4a3f1f]), reactExports.useEffect(() => { 85 var _a; 86 const _0xc54deb = _0x1bd334; 87 (_a = _0x3968ff[_0xc54deb(401)]) == null ? void 0 : _a[_0xc54deb(400)](); 88 }, []), reactExports.useEffect(() => { 89 const _0x214717 = _0x1bd334; 90 if (!qualityLocked) return; 91 _0x247df2((_0x3be69f) => _0x58fa87 ? "st" : _0x3be69f === "sv" ? "sv" : _0x214717(505)); 92 }, [qualityLocked, _0x58fa87]), reactExports.useEffect(() => { 93 const _0x4ea978 = _0x1bd334, _0x3f238b = (_0x569821) => { 94 const _0xfdcc5 = _0x22a6; 95 if (_0x569821[_0xfdcc5(408)] === _0xfdcc5(483)) _0x4358d3(); 96 }; 97 return window[_0x4ea978(464)]("keydown", _0x3f238b), () => window[_0x4ea978(407)](_0x4ea978(452), _0x3f238b); 98 }, [_0x4358d3]), useFocusTrap(_0x515a2f); 99 const _0x476d4d = () => { 100 _0x2f44ea(""), _0x2ac788(""), _0x59a5d5("FN"), _0x2fa3f3("rarity"), _0x27fdf2(""), clearPickerFilters(); 101 }, _0x24843f = _0x10f0f8 === "st" ? "StatTrak⢠" : _0x10f0f8 === "sv" ? _0x1bd334(438) : "", _0xc26a68 = qualityLocked ? _0x58fa87 ? [{ "v": "st", "label": _0x1bd334(504) }] : [{ "v": _0x1bd334(505), "label": "Normal" }, { "v": "sv", "label": "Souvenir" }] : [{ "v": _0x1bd334(505), "label": _0x1bd334(467) }, { "v": "st", "label": _0x1bd334(504) }, { "v": "sv", "label": "Souvenir" }], _0x54bdc2 = (_0x5006c6) => "" + _0x24843f + _0x5006c6[_0x1bd334(433)][_0x1bd334(520)] + " (" + _0x5006c6["wear"][_0x1bd334(520)] + ")", _0x38b46d = reactExports.useMemo(() => { 102 const _0x5aeb6a = _0x1bd334, _0x5aea41 = /* @__PURE__ */ new Set(); 103 for (const _0x44a18f of _0x183a99) if (!_0x11fb81 || _0x44a18f["rarity"] === _0x11fb81) _0x44a18f[_0x5aeb6a(443)]["forEach"]((_0x198669) => _0x5aea41[_0x5aeb6a(406)](_0x198669)); 104 return [..._0x5aea41]["sort"](); 105 }, [_0x183a99, _0x11fb81]); 106 reactExports.useEffect(() => { 107 const _0x301b6d = _0x1bd334; 108 if (_0x44ade7 && _0x38b46d[_0x301b6d(424)] && !_0x38b46d["includes"](_0x44ade7)) _0x2ac788(""); 109 }, [_0x44ade7, _0x38b46d]); 110 const _0x3f0315 = reactExports.useMemo(() => { 111 const _0x5741ea = _0x1bd334, _0x155c18 = _0x51779d[_0x5741ea(420)]()["toLowerCase"](); 112 return _0x155c18 ? _0x38b46d[_0x5741ea(413)]((_0x5a7839) => _0x5a7839[_0x5741ea(458)]()[_0x5741ea(449)](_0x155c18)) : _0x38b46d; 113 }, [_0x38b46d, _0x51779d]), _0x317132 = reactExports.useMemo(() => { 114 const _0x59cb20 = _0x1bd334, _0x3ca51b = []; 115 for (const _0x3880b9 of _0x183a99) { 116 if (_0x11fb81 && _0x3880b9[_0x59cb20(405)] !== _0x11fb81) continue; 117 if (!_0x11fb81 && _0x4a3f1f && _0x3880b9[_0x59cb20(405)] !== _0x4a3f1f) continue; 118 if (_0x44ade7 && !_0x3880b9[_0x59cb20(443)][_0x59cb20(449)](_0x44ade7)) continue; 119 if (!matchesQuery([_0x3880b9[_0x59cb20(520)], ..._0x3880b9["collections"] || [], _0x3880b9[_0x59cb20(405)]], _0x1cfa3d)) continue; 120 const _0x28bea4 = wearFor(_0x3880b9, _0x4e14a7); 121 if (!_0x28bea4) continue; 122 _0x3ca51b["push"]({ "meta": _0x3880b9, "wear": _0x28bea4 }); 123 } 124 const _0x3b305d = (_0x297552) => { 125 const _0x3bef44 = _0x59cb20, _0x77c1f = economyPrice(priceRow(_0x54bdc2(_0x297552)), _0x37307e); 126 return _0x77c1f ? _0x77c1f[_0x3bef44(500)] : null; 127 }; 128 return _0x3ca51b["sort"]((_0x599cd9, _0x437445) => { 129 const _0x3d5d08 = _0x59cb20; 130 if (_0x372475 === _0x3d5d08(405)) { 131 const _0x1268fa = RARITY_ORDER[_0x3d5d08(450)](_0x599cd9[_0x3d5d08(433)][_0x3d5d08(405)]), _0x53d3f8 = RARITY_ORDER[_0x3d5d08(450)](_0x437445[_0x3d5d08(433)]["rarity"]); 132 return _0x1268fa - _0x53d3f8 || _0x599cd9[_0x3d5d08(433)][_0x3d5d08(520)][_0x3d5d08(473)](_0x437445[_0x3d5d08(433)][_0x3d5d08(520)]); 133 } 134 if (_0x372475 === _0x3d5d08(515) || _0x372475 === "expensive") { 135 const _0x258150 = _0x3b305d(_0x599cd9), _0x4c3ad1 = _0x3b305d(_0x437445); 136 if (_0x258150 == null && _0x4c3ad1 == null) return _0x599cd9[_0x3d5d08(433)][_0x3d5d08(520)][_0x3d5d08(473)](_0x437445[_0x3d5d08(433)][_0x3d5d08(520)]); 137 if (_0x258150 == null) return 1; 138 if (_0x4c3ad1 == null) return -1; 139 return _0x372475 === "cheap" ? _0x258150 - _0x4c3ad1 : _0x4c3ad1 - _0x258150; 140 } 141 const _0x1bebf0 = _0x599cd9[_0x3d5d08(433)]["collections"][0] || "", _0x3daa
141a3 = _0x437445[_0x3d5d08(433)][_0x3d5d08(443)][0] || ""; 142 return _0x1bebf0["localeCompare"](_0x3daaa3) || _0x599cd9["meta"][_0x3d5d08(520)][_0x3d5d08(473)](_0x437445[_0x3d5d08(433)]["name"]); 143 }), _0x3ca51b; 144 }, [_0x183a99, _0x11fb81, _0x4a3f1f, _0x44ade7, _0x4e14a7, _0x1cfa3d, _0x372475, _0x37307e, _0x10f0f8, _0x2e43fd]), _0x53464b = _0x317132[_0x1bd334(509)](0, _0x41b3ce); 145 return reactExports.useEffect(() => { 146 const _0x174f2c = _0x1bd334, _0x484eb2 = (_0x372475 === _0x174f2c(515) || _0x372475 === _0x174f2c(486) ? _0x317132 : _0x53464b)[_0x174f2c(510)](_0x54bdc2); 147 if (_0x484eb2["length"]) fetchPrices(_0x484eb2); 148 }, [_0x372475, _0x317132[_0x1bd334(424)], _0x53464b["map"](_0x54bdc2)[_0x1bd334(503)]("|")]), reactDomExports.createPortal(jsxRuntimeExports.jsx(_0x1bd334(444), { "ref": _0x515a2f, "className": _0x1bd334(508), "role": "dialog", "aria-modal": _0x1bd334(447), "aria-label": _0x1bd334(416), "onMouseDown": (_0x5a188e) => { 149 const _0x1d7951 = _0x1bd334; 150 if (_0x5a188e["target"] === _0x5a188e[_0x1d7951(457)]) _0x4358d3(); 151 }, "children": jsxRuntimeExports.jsxs(_0x1bd334(444), { "className": "my-auto w-full max-w-6xl animate-[picker-in_.2s_ease-out] rounded-2xl border border-line bg-bg1/95 shadow-2xl backdrop-blur-xl", "onMouseDown": (_0x57896a) => _0x57896a[_0x1bd334(439)](), "children": [jsxRuntimeExports.jsxs(_0x1bd334(444), { "className": _0x1bd334(391), "children": [jsxRuntimeExports.jsxs(_0x1bd334(444), { "children": [jsxRuntimeExports.jsx("h2", { "className": _0x1bd334(402), "children": _0x1bd334(419) }), jsxRuntimeExports.jsxs("p", { "className": _0x1bd334(484), "children": [_0x24843f ? _0x24843f[_0x1bd334(420)]() + _0x1bd334(513) : "", _0x11fb81 ? _0x11fb81 + _0x1bd334(513) : "", _0x37307e === _0x1bd334(522) ? _0x1bd334(390) : _0x1bd334(507), _0x57d505 != null && jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { "children": [_0x1bd334(513), jsxRuntimeExports.jsx(_0x1bd334(506), { "className": _0x1bd334(502), "children": _0x57d505 }), " slot", _0x57d505 === 1 ? "" : "s", _0x1bd334(417)] })] })] }), jsxRuntimeExports.jsx(_0x1bd334(526), { "onClick": _0x4358d3, "aria-label": _0x1bd334(463), "className": _0x1bd334(518), "children": jsxRuntimeExports.jsx(X, { "size": 18 }) })] }), jsxRuntimeExports.jsxs(_0x1bd334(444), { "className": "space-y-3 border-b border-line px-5 py-4", "children": [jsxRuntimeExports.jsxs(_0x1bd334(444), { "className": "grid gap-3 lg:grid-cols-[1.5fr_1fr]", "children": [jsxRuntimeExports.jsxs(_0x1bd334(444), { "className": _0x1bd334(521), "children": [jsxRuntimeExports.jsx(Search, { "size": 15, "className": _0x1bd334(492), "aria-hidden": !![] }), jsxRuntimeExports.jsx(_0x1bd334(530), { "ref": _0x3968ff, "value": _0x1cfa3d, "onChange": (_0x16734d) => _0x2f44ea(_0x16734d[_0x1bd334(529)][_0x1bd334(469)]), "placeholder": "Skin nameâ¦", "aria-label": _0x1bd334(430), "className": _0x1bd334(532) })] }), jsxRuntimeExports.jsxs("div", { "className": _0x1bd334(521), "children": [_0x207c3d ? jsxRuntimeExports.jsx(_0x1bd334(530), { "autoFocus": !![], "value": _0x51779d, "onChange": (_0x2979fa) => _0x418e08(_0x2979fa[_0x1bd334(529)]["value"]), "onKeyDown": (_0x1c2715) => { 152 const _0x36cef9 = _0x1bd334; 153 if (_0x1c2715[_0x36cef9(408)] === _0x36cef9(483)) _0x1c2715[_0x36cef9(439)](), _0x1bb043(![]); 154 else _0x1c2715[_0x36cef9(408)] === _0x36cef9(415) && _0x3f0315[_0x36cef9(424)] === 1 && (_0x2ac788(_0x3f0315[0]), _0x1bb043(![])); 155 }, "onBlur": () => setTimeout(() => _0x1bb043(![]), 150), "placeholder": _0x1bd334(422), "aria-label": _0x1bd334(534), "className": _0x1bd334(423) }) : jsxRuntimeExports.jsxs(_0x1bd334(526), { "onClick": () => { 156 _0x1bb043(!![]), _0x418e08(""); 157 }, "aria-haspopup": _0x1bd334(528), "aria-expanded": _0x207c3d, "className": _0x1bd334(498), "children": [jsxRuntimeExports.jsx(_0x1bd334(506), { "className": _0x1bd334(427), "children": _0x44ade7 || _0x1bd334(411) }), jsxRuntimeExports.jsx(ChevronDown, { "size": 15, "className": _0x1bd334(403), "aria-hidden": !![] })] }), _0x207c3d && jsxRuntimeExports.jsx(_0x1bd334(444), { "className": _0x1bd334(455), "children": jsxRuntimeExports.jsxs("ul", { "className": _0x1bd334(442), "role": "listbox", "aria-label": _0x1bd334(404), "children": [jsxRuntimeExports.jsx("li", { "children": jsxRuntimeExports.jsxs(_0x1bd334(526), { "onMouseDown": () => { 158 _0x2ac788(""), _0x1bb043(![]); 159 }, "className": _0x1bd334(398), "children": ["All collections ", !_0x44ade7 && jsxRuntimeExports.jsx(Check, { "size": 13, "className": _0x1bd334(477), "aria-hidden": !![] })] }) }), _0x3f0315["map"]((_0x50669f) => jsxRuntimeExports.jsx("li", { "children": jsxRuntimeExports.jsxs("button", { "onMouseDown": () => { 160 _0x2ac788(_0x50669f), _0x1bb043(![]); 161 }, "className": "flex w-full items-center justify-between gap-2 rounded-md px-2.5 py-1.5 text-left text-xs text-dim hover:bg-surface2", "children": [jsxRuntimeExports.jsx(_0x1bd334(506), { "className": _0x1bd334(427), "children": _
1610x50669f }), _0x44ade7 === _0x50669f && jsxRuntimeExports.jsx(Check, { "size": 13, "className": _0x1bd334(395), "aria-hidden": !![] })] }) }, _0x50669f)), _0x3f0315["length"] === 0 && jsxRuntimeExports.jsxs("li", { "className": _0x1bd334(399), "children": ['No collection matches "', _0x51779d, '".'] })] }) })] })] }), jsxRuntimeExports.jsxs("div", { "className": "flex flex-wrap items-stretch gap-3", "children": [jsxRuntimeExports.jsx("div", { "className": _0x1bd334(512), "role": _0x1bd334(409), "aria-label": "Condition", "children": WEAR_BRACKETS[_0x1bd334(510)]((_0x324b0a) => jsxRuntimeExports.jsx("button", { "onClick": () => _0x59a5d5(_0x324b0a[_0x1bd334(495)]), "aria-pressed": _0x4e14a7 === _0x324b0a[_0x1bd334(495)], "className": _0x1bd334(426) + (_0x4e14a7 === _0x324b0a["abbr"] ? "bg-pink/15 text-pink" : _0x1bd334(482)), "children": _0x324b0a[_0x1bd334(495)] }, _0x324b0a[_0x1bd334(495)])) }), !_0x11fb81 && jsxRuntimeExports.jsx(_0x1bd334(444), { "className": _0x1bd334(468), "role": "group", "aria-label": _0x1bd334(496), "children": RARITY_ORDER[_0x1bd334(509)](0, 6)[_0x1bd334(510)]((_0x3f01f9) => { 162 const _0x1b3897 = _0x1bd334, _0x4eae72 = _0x4a3f1f === _0x3f01f9; 163 return jsxRuntimeExports.jsxs(_0x1b3897(526), { "type": _0x1b3897(526), "onClick": () => _0x27fdf2((_0x350159) => _0x350159 === _0x3f01f9 ? "" : _0x3f01f9), "aria-pressed": _0x4eae72, "className": _0x1b3897(392) + (_0x4eae72 ? "border-transparent text-bg0" : _0x1b3897(501)), "style": _0x4eae72 ? { "background": RARITY_COLOR[_0x3f01f9] } : void 0, "children": [jsxRuntimeExports.jsx(RarityDot, { "rarity": _0x3f01f9 }), " ", _0x3f01f9[_0x1b3897(475)](" Grade", "")] }, _0x3f01f9); 164 }) }), jsxRuntimeExports.jsx(_0x1bd334(444), { "className": _0x1bd334(437), "role": _0x1bd334(409), "aria-label": "Quality", "children": _0xc26a68[_0x1bd334(510)]((_0x349c1a) => jsxRuntimeExports.jsx(_0x1bd334(526), { "onClick": () => _0x247df2(_0x349c1a["v"]), "aria-pressed": _0x10f0f8 === _0x349c1a["v"], "className": "flex-1 rounded-md px-2.5 py-1.5 text-xs font-semibold transition-all duration-200 " + (_0x10f0f8 === _0x349c1a["v"] ? _0x349c1a["v"] === "sv" ? "bg-gold/15 text-gold" : _0x349c1a["v"] === "st" ? _0x1bd334(432) : _0x1bd334(414) : "text-faint hover:text-dim"), "children": _0x349c1a[_0x1bd334(491)] }, _0x349c1a["v"])) })] }), jsxRuntimeExports.jsx("p", { "className": _0x1bd334(471), "children": qualityLocked ? _0x1bd334(519) : _0x1bd334(441) })] }), jsxRuntimeExports.jsxs(_0x1bd334(444), { "className": _0x1bd334(428), "children": [jsxRuntimeExports.jsxs("span", { "children": [_0x1bd334(474), _0x53464b[_0x1bd334(424)], _0x1bd334(446), _0x317132["length"]] }), jsxRuntimeExports.jsxs(_0x1bd334(444), { "className": "flex items-center gap-3", "children": [jsxRuntimeExports.jsx(_0x1bd334(526), { "type": _0x1bd334(526), "onClick": _0x476d4d, "className": _0x1bd334(523), "children": _0x1bd334(479) }), jsxRuntimeExports.jsxs(_0x1bd334(491), { "className": "flex items-center gap-2", "children": [jsxRuntimeExports.jsx("span", { "className": _0x1bd334(487), "children": "Sort" }), jsxRuntimeExports.jsx(Select, { "value": _0x372475, "onChange": _0x2fa3f3, "options": SORTS, "label": _0x1bd334(472), "className": "w-44", "align": _0x1bd334(488) })] })] })] }), jsxRuntimeExports.jsxs(_0x1bd334(444), { "className": _0x1bd334(476), "children": [_0x53464b["length"] === 0 ? capsState === _0x1bd334(511) ? jsxRuntimeExports.jsx("p", { "className": _0x1bd334(490), "children": _0x1bd334(493) }) : capsState === _0x1bd334(470) ? jsxRuntimeExports.jsx("p", { "className": _0x1bd334(465), "children": _0x1bd334(478) }) : jsxRuntimeExports.jsx("p", { "className": "py-14 text-center text-sm text-faint", "children": _0x1bd334(531) }) : jsxRuntimeExports.jsx("div", { "className": "grid grid-cols-2 gap-2.5 sm:grid-cols-3 lg:grid-cols-5 xl:grid-cols-6", "children": _0x53464b["map"]((_0x55fa39) => { 165 const _0x5ce01e = _0x1bd334, _0x4ef93b = economyPrice(priceRow(_0x54bdc2(_0x55fa39)), _0x37307e), _0x3e0ff2 = RARITY_COLOR[_0x55fa39[_0x5ce01e(433)]["rarity"]]; 166 return jsxRuntimeExports.jsxs(_0x5ce01e(526), { "onClick": () => _0x4beb24({ ..._0x55fa39, "souvenir": _0x10f0f8 === "sv", "stattrak": _0x10f0f8 === "st" }), "className": "group relative overflow-hidden rounded-xl border border-line bg-surface/70 p-2.5 text-left transition-all hover:-translate-y-0.5 hover:border-pink/50 hover:bg-surface2", "style": { "boxShadow": _0x5ce01e(440) + _0x3e0ff2 }, "children": [jsxRuntimeExports.jsxs(_0x5ce01e(444), { "className": "flex items-start justify-between gap-1", "children": [jsxRuntimeExports.jsx(_0x5ce01e(506), { "className": "line-clamp-2 pr-6 text-[12px] font-medium leading-tight text-text", "children": _
1660x55fa39[_0x5ce01e(433)][_0x5ce01e(520)] }), jsxRuntimeExports.jsx(RarityDot, { "rarity": _0x55fa39[_0x5ce01e(433)][_0x5ce01e(405)], "className": _0x5ce01e(453) })] }), jsxRuntimeExports.jsx(_0x5ce01e(444), { "className": _0x5ce01e(525), "children": _0x55fa39[_0x5ce01e(433)][_0x5ce01e(431)] ? jsxRuntimeExports.jsx(_0x5ce01e(462), { "src": _0x55fa39[_0x5ce01e(433)]["image"], "alt": "", "loading": _0x5ce01e(466), "className": _0x5ce01e(412) }) : jsxRuntimeExports.jsx(_0x5ce01e(444), { "className": _0x5ce01e(389), "style": { "background": _0x3e0ff2 + "22" } }) }), jsxRuntimeExports.jsxs(_0x5ce01e(444), { "className": _0x5ce01e(489), "children": [jsxRuntimeExports.jsxs(_0x5ce01e(506), { "className": _0x5ce01e(445), "children": [jsxRuntimeExports.jsx(QualityBadge, { "stattrak": _0x10f0f8 === "st", "souvenir": _0x10f0f8 === "sv", "size": 9 }), jsxRuntimeExports.jsx(_0x5ce01e(506), { "className": _0x5ce01e(533), "children": _0x55fa39[_0x5ce01e(499)]["abbr"] })] }), jsxRuntimeExports.jsx(_0x5ce01e(506), { "className": _0x5ce01e(397), "children": jsxRuntimeExports.jsx(_0x5ce01e(506), { "className": "shrink-0", "children": _0x4ef93b ? fmtUsd(_0x4ef93b[_0x5ce01e(500)]) : "-" }) })] }), jsxRuntimeExports.jsxs(_0x5ce01e(444), { "className": _0x5ce01e(460), "children": [jsxRuntimeExports.jsxs("span", { "className": "flex min-w-0 items-center gap-1", "title": _0x55fa39[_0x5ce01e(433)][_0x5ce01e(443)][0], "children": [(_0x58d865 == null ? void 0 : _0x58d865[_0x55fa39["meta"]["collections"][0]]) ? jsxRuntimeExports.jsx(CaseArt, { ..._0x58d865[_0x55fa39[_0x5ce01e(433)][_0x5ce01e(443)][0]], "name": _0x55fa39[_0x5ce01e(433)]["collections"][0], "size": 26 }) : jsxRuntimeExports.jsx(Package, { "size": 12, "className": _0x5ce01e(481), "aria-hidden": !![] }), jsxRuntimeExports.jsx(_0x5ce01e(506), { "className": _0x5ce01e(427), "children": _0x55fa39["meta"][_0x5ce01e(443)][0] })] }), jsxRuntimeExports.jsxs(_0x5ce01e(506), { "className": _0x5ce01e(436), "children": [isFullFloatRange(_0x55fa39[_0x5ce01e(433)][_0x5ce01e(461)], _0x55fa39[_0x5ce01e(433)]["max"]) ? jsxRuntimeExports.jsx(FullFloatBadge, { "min": _0x55fa39[_0x5ce01e(433)]["min"], "max": _0x55fa39[_0x5ce01e(433)][_0x5ce01e(448)], "size": 9 }) : jsxRuntimeExports.jsx(_0x5ce01e(506), { "aria-hidden": !![], "children": "Æ" }), _0x55fa39[_0x5ce01e(433)][_0x5ce01e(461)], "â", _0x55fa39["meta"][_0x5ce01e(448)]] })] })] }, _0x55fa39[_0x5ce01e(433)][_0x5ce01e(520)]); 167 }) }), _0x317132[_0x1bd334(424)] > _0x53464b["length"] && jsxRuntimeExports.jsxs(_0x1bd334(526), { "onClick": () => _0x42301e((_0x131185) => _0x131185 + 120), "className": _0x1bd334(527), "children": ["Load ", Math[_0x1bd334(461)](120, _0x317132[_0x1bd334(424)] - _0x53464b[_0x1bd334(424)]), _0x1bd334(517), _0x317132[_0x1bd334(424)] - _0x53464b["length"], _0x1bd334(410)] })] })] }) }), document[_0x1bd334(459)]); 168} 169const _0x4648ba = _0x386a; 170(function(_0x2df02d, _0x1fb337) { 171 const _0x9b59a8 = _0x386a, _0x536575 = _0x2df02d(); 172 while (!![]) { 173 try { 174 const _0x20f630 = -parseInt(_0x9b59a8(434)) / 1 * (-parseInt(_0x9b59a8(338)) / 2) + parseInt(_0x9b59a8(419)) / 3 + -parseInt(_0x9b59a8(246)) / 4 + -parseInt(_0x9b59a8(266)) / 5 + -parseInt(_0x9b59a8(394)) / 6 + -parseInt(_0x9b59a8(350)) / 7 + parseInt(_0x9b59a8(225)) / 8; 175 if (_0x20f630 === _0x1fb337) break; 176 else _0x536575["push"](_0x536575["shift"]()); 177 } catch (_0x506c44) { 178 _0x536575["push"](_0x536575["shift"]()); 179 } 180 } 181})(_0x1a24, 970758); 182function _0x1a24() { 183 const _0x1eb3c3 = ["rounded-bl-[8px] border-l border-b", "text-right text-sm", "71857TZPChp", "num font-semibold text-text", " Souvenir", "flex flex-wrap items-center justify-center gap-2", "min", "push", "font-medium text-text", "action:save_build", "flex min-w-0 flex-1 basis-24 items-center justify-center gap-1.5 rounded-full border px-3 py-1.5 text-xs font-medium transition-all duration-200 ", " · caps ", "savedAt", "slot-", "flex-1", "num font-semibold text-violet", "key", "catch", "Dismiss", " for", "float", "h-12 w-full rounded", "mt-3 flex flex-wrap items-center justify-between gap-3", "pointer-events-none absolute inset-0 z-[1] rounded-[inherit]", "Covert", "border-line bg-surface2 text-dim hover:border-violet/50 hover:text-text", "souvenir", ", transparent 58%), linear-gradient(180deg, #15121d 0%, #0e0c15 52%, #08070d 100%)", "font-display text-[9px] font-bold uppercase tracking-[.16em]", "pointer-events-none absolute inset-0 z-0 rounded-[inherit]", "slice", " unpriced)", "forEach", "mt-3 flex flex-wrap items-center gap-2", "ready", "fixed inset-0 z-[120] grid place-items-center bg-bg0/80 px-4 backdrop-blur-sm", "lazy", "border-gold/50 bg-gold/10 text-gold", "Reset to live price", "text-text", "map", "image", "entries", "transition-transform group-hover:scale-110", "pointer-events-none absolute inset-[3px] z-[1] rounded-[10px]", "violet", "border-transparent text-bg0", "custom", "tradeHoldUntil", "flex items-center gap-1 rounded px-1 py-0.5 hover:bg-surface2/60", "border-line text-dim hover:border-pink/40 hover:text-text", "collection", "originLabel", "div", "findIndex", "live", 'Saved as "', "reason", "repeating-linear-gradient(118deg, transparent 0 6px, rgba(255,94,154,.14) 6px 10px, rgba(139,92,246,.14) 10px 14px, rgba(255,184,77,.14) 14px 18px, rgba(74,222,156,.14) 18px 22px, transparent 22px 30px)", "That shared build references skins this app does not know.", "text-profit", " removed to stay under the limit.", "error", "group", "warn", "Rarity", "grid h-7 w-7 place-items-center rounded-md text-faint hover:bg-surface2 hover:text-text", "slots", "0 -1px 0 0 ", "relative mx-2.5 my-1 flex flex-1 place-items-center justify-center rounded-[10px]", "hover:bg-surface2 hover:text-text", "Escape", "replace", "Contract builder", "text-faint hover:bg-surface2 hover:text-dim", "mt-1.5 flex items-center justify-between gap-1", "num font-semibold ", "Set a custom price", "dialog", "Float slider for ", "minFloat", "Pick a rarity, or just slot a skin to lock it", "join", "loading", "rarity", "max", "min-w-[280px] flex-1", "url", "mt-2 text-sm leading-relaxed text-dim", "num text-[8px] leading-none text-faint [text-shadow:0_1px_3px_rgba(0,0,0,0.9)]", "Float for ", "input", " Clear all", "Ten real skins, ten real floats, live prices and true odds. Know the EV before you buy a single input.", "27383864VrpCvW", " cost", "action:share_build", "/app", "text-sm", "Apply this price?", "filter", "#0e0c15", "!w-[76px] !px-1 !py-0 !text-[12px]", "slab group relative flex aspect-[4/5] w-full cursor-pointer flex-col !overflow-hidden p-0 ", "flex gap-1", "Prices", "text-faint", "absolute bottom-1 left-1", "then", "steam", "mt-0.5 line-clamp-2 pr-11 font-display text-[11px] font-semibold leading-[1.15] text-text", "reduce", "icon", "evicted", "relative z-10 flex h-full flex-col", "2818932OQZEVc", " Saved", "collectionImage", "color-dodge", "padStart", " · adjusted ", "rounded-md px-3 py-1.5 text-xs font-semibold transition-all duration-200 ", "rgba(255,255,255,0.035)", "Apply price", "flex flex-wrap gap-1.5", "grid h-6 w-6 place-items-center rounded-md bg-bg0/80 text-faint shadow-[inset_0_1px_0_rgba(255,255,255,.08)] ring-1 ring-white/10 transition-colors ", "Extraordinary", "mr-1 text-[10px] uppercase tracking-widest text-faint", "collections", "right-[3px]", "flex flex-wrap items-end gap-x-6 gap-y-3", "find", "Souvenir ", "flex items-center gap-1", "flex-1 rounded-lg border border-violet/50 bg-vi
183olet/15 px-3 py-2 text-sm font-semibold text-violet transition-colors hover:bg-violet/25", "8699060GpobEd", "inset 0 1px 0 rgba(255,255,255,.5), 0 0 8px ", "decimal", "font-display text-sm font-bold uppercase tracking-widest text-text", "That shared link is not valid. It may have been cut short when it was copied.", "truncate", "holdKind", "label", "border-violet/60 bg-violet/15 text-violet", "#ff5e9a", "img", "Open contracts saved in this browser", "flex items-center gap-2 rounded-full border px-4 py-2 text-sm font-semibold transition-colors ", "rounded-br-[8px] border-r border-b", "pointer-events-none absolute inset-0 z-0 opacity-50", "entry", "text-violet", "text-gold slab-glow-gold", "absolute bottom-14 left-0 top-0 z-40 flex w-[54px] flex-col justify-center gap-1 px-1 py-2 opacity-0 transition-opacity duration-200 group-hover:opacity-100", "err", "group relative grid aspect-[4/5] w-full place-items-center overflow-hidden rounded-[14px] border border-dashed border-line bg-[#08080e] text-faint transition-all hover:border-pink/40 hover:text-pink shadow-[inset_0_1px_0_rgba(255,255,255,0.04),inset_0_-30px_50px_-20px_rgba(4,4,8,0.85)]", "src", "writeText", " inputs. Skipped: ", "flex items-center gap-2 rounded-full border border-line bg-surface2 px-4 py-2 text-sm font-semibold text-dim transition-colors hover:border-violet/50 hover:text-text", "span", "addEventListener", " other slot", "ring-1 ring-pink/50", "left-[3px] bottom-[3px] rounded-bl-[8px] border-l border-b", "slab-rake", "mb-1.5 text-[10px] font-semibold uppercase tracking-widest text-faint", " minutes.", "absolute right-1.5 top-14 z-30 flex flex-col gap-1 opacity-0 transition-opacity group-hover:opacity-100", "bg-surface2 text-text shadow-[inset_0_0_0_1px_rgba(255,94,154,0.35)]", "border-t border-white/5 bg-black/20 px-2.5 pb-2 pt-1", "select", "bottom-[3px]", "Loaded ", "current", "grid grid-cols-3 items-center gap-3 border-t border-line pt-3", "num text-[10px] font-semibold text-profit", "grid h-4 w-4 place-items-center rounded text-violet/70 hover:bg-violet/15 hover:text-violet", "mt-1", "Adjusted float (after caps)", "num text-[14px] font-bold hover:underline ", "left-[3px] top-[3px] rounded-tl-[8px] border-l border-t", "fill", "Close editor", " hold this exact skin. Applying to all covers those too, plus the outcome cards and any copy you add later.", "59 7px 11px, transparent 11px 19px)", "flex items-center gap-1.5 text-dim", "market", "flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-[11px] font-medium transition-colors ", "pink", "true", "top-[3px]", "pointer-events-none absolute z-30 h-3 w-3 ", "price", "inline-flex rounded-lg border border-line bg-bg1 p-1 ", "flex items-center gap-2 rounded-full border border-loss/40 bg-loss/10 px-4 py-2 text-sm font-semibold text-loss transition-colors hover:border-loss/60 hover:bg-loss/20", "mt-3 flex items-start gap-2 rounded-xl border px-4 py-2.5 text-sm ", "toFixed", "action:fill_slot", "1a, transparent)", "caseImage", "indexOf", "Duplicate", "meta", "normal", " of ", "clipboard", "8kvUeSp", "slab-foil", "right-[3px] bottom-[3px] rounded-br-[8px] border-r border-b", "radial-gradient(135% 80% at 50% -12%, ", "toString", "Normal", "mt-4 text-center text-sm text-faint", " Share", "video", "radial-gradient(120% 80% at 50% 44%, #000 32%, transparent 72%)", "mt-2 text-[11px] leading-relaxed text-faint", "border-gold/30 bg-gold/5 text-gold", "9080246sKIXDC", "text", "value", "Quality", "mt-0.5 flex justify-between", ", inset 0 1px 0 rgba(255,255,255,.05), inset 0 -2px 6px rgba(0,0,0,.5), inset 0 0 22px rgba(0,0,0,.4)", " Oldest ", "flex items-center gap-2 text-sm font-medium text-text", ", inset 0 0 0 2px rgba(255,255,255,0.03), inset 0 1px 0 0 rgba(255,255,255,0.06)", "emboss rounded bg-surface2 px-2 py-0.5 font-display text-[11px] font-bold uppercase tracking-wider text-text", "border-profit/25 bg-profit/5 text-profit", "Close share link", "flex flex-col gap-3 p-4", "ml-auto flex items-center gap-1.5", "max-h-32 max-w-full object-contain drop-shadow-[0_10px_18px_rgba(0,0,0,.6)] transition-transform duration-500 ease-[
183cubic-bezier(.16,1,.3,1)] group-hover:scale-[1.04]", "Copy a link that rebuilds this exact contract", "tone", "mx-auto max-w-app px-6 py-6 lg:px-10", "wear", " · 5 inputs â knife/glove", "text-faint hover:text-dim", "slot ", "others", "Click a slot to open the picker. Each slot is one real skin at one real float - tune every input to match the listing you'd actually buy.", " Copied", "_blank", "round", "button", "target", "StatTrak⢠", "maxFloat", "noopener noreferrer", "Remove", "name", "length", " input", "mt-6", "Nothing saved yet. Build a contract and press Save, and it will be here next time you open this browser.", "flex items-center justify-between gap-1", "Could not save: ", "abbr", "All instances", "w-24", "emboss px-2.5 pt-2 pb-1.5", "5009844XGyDdO", "View on ", "flex items-center gap-1 text-[11px] text-dim", "skinName", "border-line text-faint hover:border-loss/40 hover:text-loss", "stattrak", "flex-1 rounded-lg border border-line bg-surface2 px-3 py-2 text-sm font-semibold text-dim transition-colors hover:text-text", "0 1px 2px rgba(0,0,0,.9)", "num mt-2 w-full rounded-lg border border-line bg-bg0 px-3 py-2 text-xs text-dim outline-none focus:border-violet/50", "stats", "range", "mt-2 text-xs leading-relaxed text-faint", "builder", "flex items-center gap-2 text-xs font-semibold uppercase tracking-widest text-violet", "None of those skins are in the database any more.", "num text-[9px] text-faint", "tradeHold", "num mt-1 text-[11px] text-faint", "rounded-tl-[8px] border-l border-t", "hover:bg-loss/20 hover:text-loss", "customPrice", "1px solid ", "· locked", "mt-4 flex flex-col gap-2 sm:flex-row", "pointer-events-none absolute left-1/2 top-[46%] z-0 h-24 w-24 -translate-x-1/2 -translate-y-1/2 rounded-full blur-2xl", "5511132HUwftk", "grid h-4 w-4 shrink-0 place-items-center rounded-[5px]", "flex items-center gap-0.5", "mt-3 rounded-xl border border-violet/30 bg-violet/5 px-4 py-3", "spring", "Either way it is saved on this device only, and it expires after ", " Grade", "assetid", "cost", "flex items-center gap-2", "absolute inset-x-0 -inset-y-1 h-auto w-full cursor-ew-resize opacity-0", "You set ", "pointer-events-none absolute z-10 h-3 w-3 border-white/15 group-hover:border-pink/50 "]; 184 _0x1a24 = function() { 185 return _0x1eb3c3; 186 }; 187 return _0x1a24(); 188} 189function _0x386a(_0x1450a5, _0x3ff049) { 190 _0x1450a5 = _0x1450a5 - 134; 191 const _0x1a2464 = _0x1a24(); 192 let _0x386ab6 = _0x1a2464[_0x1450a5]; 193 return _0x386ab6; 194} 195const SLOTS = 10, RARITIES = RARITY_ORDER["slice"](0, 6), a2 = (_0x1fcf72) => Math[_0x4648ba(376)](Math[_0x4648ba(216)](0, Math[_0x4648ba(137)](1, _0x1fcf72)) * 255)[_0x4648ba(342)](16)[_0x4648ba(250)](2, "0"); 196function Builder() { 197 var _a; 198 const _0xccd817 = _0x4648ba, { buffer: _0x41429d, invSource: _0x4c4b46, refreshLive: _0x34c42e, items: _0x319918, selection: _0x380d17, setSelection: _0x53ce46, steamid: _0x5dc0f3 } = useAppStore(), [_0x4b1d8e, _0x1b6adf] = reactExports.useState(null), [_0x48599b, _0x98f577] = reactExports.useState(() => Array(SLOTS)[_0xccd817(313)](null)), [_0x54ddb9, _0x4bd6da] = reactExports.useState(![]), [_0x26a014, _0xcf29af] = reactExports.useState(![]), [_0x31a5ea, _0x2f3e40] = reactExports.useState(null), [_0xf91205, _0x4e2108] = reactExports.useState(_0xccd817(240)), [_0x321fe5, _0x250494] = reactExports.useState(![]), [_0x42f3ce, _0x8da2e5] = reactExports.useState(null), [_0x147b21, _0x2014eb] = reactExports.useState(null), [_0x4578e8, _0x32ab54] = reactExports.useState(![]), [_0x3dbe77, _0x55a4a4] = reactExports.useState(null), [_0x12e88b, _0x3562da] = reactExports.useState(null), _0x408071 = reactExports.useRef(0); 199 usePriceVersion(); 200 const _0x5eb8fe = useCustomPriceVersion(), [_0x31c44b, _0x4e25ea] = reactExports.useState(null); 201 reactExports.useEffect(() => { 202 const _0x271fbc = _0xccd817; 203 fetchCaps()[_0x271fbc(239)](_0x1b6adf)["catch"](() => { 204 _0x1b6adf({}), _0x32ab54(!![]); 205 }); 206 }, []); 207 const { code: _0xeb17e2 } = useParams(), _0x4d0fa8 = useNavigate(), [_0x6842bd, _0x12e65b] = reactExports.useState(null), [_0x437f01, _0x1bb9f4] = reactExports.useState(![]), [_0x5b6d0b, _0x49f77e] = reactExports.useState(![]), [_0x36da5f, _0x5b2aab] = reactExports.useState([]), [_0x38a30a, _0x41e14d] = reactExports.useState(null); 208 reactExports.useEffect(() => { 209 const _0x2e85a9 = _0xccd817; 210 if (!_0x5dc0f3) return; 211 let _0x22f825 = !![]; 212 return syncLibrary(_0x5dc0f3)[_0x2e85a9(239)]((_0x27cf60) => { 213 if (_0x22f825 && _0x27cf60["ok"]) _0x5b2aab(_0x27cf60["builds"]); 214 })["catch"](() => { 215 }), () => { 216 _0x22f825 = ![]; 217 }; 218 }, [_0x5dc0f3]); 219 const _0x4e4d9b = reactExports.useRef(null), _0x5a491c = (_0x1493a2) => { 220 const _0x437e4a = _0xccd817; 221 if (!_0x1493a2 || !_0x4b1d8e) return { "applied": 0, "missing": [] }; 222 const _0x3ef3b2 = [], _0x5a8a5c = Array(SLOTS)[_0x437e4a(313)](null); 223 let _0x39b27b = 0; 224 for (const _0x3ec78b of _0x1493a2[_0x437e4a(198)]) { 225 const _0x1b3f95 = _0x4b1d8e[_0x3ec78b[_0x437e4a(383)]]; 226 if (!_0x1b3f95) { 227 _0x3ef3b2[_0x437e4a(138)](_0x3ec78b[_0x437e4a(383)]); 228 continue; 229 } 230 if (_0x39b27b >= SLOTS) break; 231 _0x5a8a5c[_0x39b27b] = { "id": ++_0x408071[_0x437e4a(305)], "meta": { "name": _0x3ec78b[_0x437e4a(383)], "min": _0x1b3f95["min"], "max": _
2310x1b3f95[_0x437e4a(216)], "rarity": _0x1b3f95["rarity"], "collections": _0x1b3f95[_0x437e4a(259)] || [], "image": _0x1b3f95[_0x437e4a(172)] || null, "caseImage": _0x1b3f95[_0x437e4a(331)] || null, "collectionImage": _0x1b3f95[_0x437e4a(248)] || null }, "wear": _0x3ec78b[_0x437e4a(368)], "float": Math["min"](Math["max"](_0x3ec78b["float"], _0x1b3f95[_0x437e4a(137)] ?? 0), _0x1b3f95[_0x437e4a(216)] ?? 1), "souvenir": !!_0x3ec78b[_0x437e4a(157)], "customPrice": null, "src": null }, _0x39b27b++; 232 } 233 return _0x39b27b && (_0x4bd6da(!!_0x1493a2[_0x437e4a(399)]), _0x2f3e40(_0x5a8a5c[0][_0x437e4a(334)][_0x437e4a(215)]), _0x98f577(_0x5a8a5c), _0x2014eb(null)), { "applied": _0x39b27b, "missing": _0x3ef3b2 }; 234 }; 235 reactExports.useEffect(() => { 236 const _0x35021c = _0xccd817; 237 if (!_0xeb17e2 || !_0x4b1d8e || _0x4e4d9b["current"] === _0xeb17e2) return; 238 _0x4e4d9b[_0x35021c(305)] = _0xeb17e2; 239 const _0x20acf4 = decodeBuild(_0xeb17e2); 240 if (!_0x20acf4) { 241 _0x41e14d({ "tone": _0x35021c(285), "text": _0x35021c(270) }), _0x4d0fa8("/app", { "replace": !![] }); 242 return; 243 } 244 const { applied: _0x3d41e5, missing: _0x193290 } = _0x5a491c(_0x20acf4); 245 _0x4d0fa8(_0x35021c(228), { "replace": !![] }); 246 if (!_0x3d41e5) _0x41e14d({ "tone": "err", "text": _0x35021c(190) }); 247 else _0x193290[_0x35021c(384)] ? _0x41e14d({ "tone": _0x35021c(195), "text": _0x35021c(304) + _0x3d41e5 + _0x35021c(336) + (_0x3d41e5 + _0x193290[_0x35021c(384)]) + _0x35021c(289) + _0x193290[_0x35021c(213)](", ") + "." }) : _0x41e14d({ "tone": "ok", "text": "Loaded a shared contract with " + _0x3d41e5 + _0x35021c(385) + (_0x3d41e5 === 1 ? "" : "s") + "." }); 248 }, [_0xeb17e2, _0x4b1d8e]); 249 const _0x2762ae = () => { 250 var _a2; 251 const _0x417287 = _0xccd817, _0x5ee189 = buildShareUrl(_0x48599b, _0x54ddb9); 252 if (!_0x5ee189) return; 253 track(_0x417287(227)), _0x12e65b(_0x5ee189), _0x1bb9f4(![]), (_a2 = navigator[_0x417287(337)]) == null ? void 0 : _a2[_0x417287(288)](_0x5ee189)[_0x417287(239)](() => { 254 _0x1bb9f4(!![]), setTimeout(() => _0x1bb9f4(![]), 2500); 255 })[_0x417287(148)](() => { 256 }); 257 }, _0x2685ae = () => { 258 const _0x3d3d7a = _0xccd817, _0x43dfc9 = saveBuild(_0x48599b, _0x54ddb9, "", { "stats": _0x12e88b, "source": _0x3d3d7a(406) }); 259 if (!_0x43dfc9["ok"]) { 260 _0x41e14d({ "tone": "err", "text": _0x3d3d7a(389) + _0x43dfc9[_0x3d3d7a(188)] + "." }); 261 return; 262 } 263 track(_0x3d3d7a(140)), _0x5b2aab(listSaved()); 264 const _0x1860d0 = !_0x43dfc9[_0x3d3d7a(281)]["stats"] || _0x43dfc9[_0x3d3d7a(281)][_0x3d3d7a(403)][_0x3d3d7a(427)] == null; 265 _0x41e14d({ "tone": "ok", "text": _0x3d3d7a(187) + _0x43dfc9["entry"][_0x3d3d7a(383)] + '".' + (_0x1860d0 ? " Cost and EV were not recorded: not every skin here has a price yet." : "") + (_0x43dfc9[_0x3d3d7a(244)] ? _0x3d3d7a(356) + _0x43dfc9["evicted"] + _0x3d3d7a(192) : "") }); 266 }, _0x192c3e = () => { 267 _0x5b2aab(listSaved()), _0x49f77e((_0x171179) => !_0x171179); 268 }, _0x323072 = (_0x59a223, _0x4c72ef) => { 269 const _0x48b653 = _0xccd817; 270 _0x5b2aab(renameSaved(_0x59a223, _0x4c72ef)["sort"]((_0x4a7195, _0x337f56) => (_0x337f56[_0x48b653(143)] || 0) - (_0x4a7195[_0x48b653(143)] || 0))); 271 }, _0x3f8a4f = (_0x4931cf) => { 272 var _a2; 273 const _0x69fbe7 = _0xccd817, _0x3ed777 = buildShareUrl(_0x4931cf["slots"][_0x69fbe7(171)]((_0xa3dacd) => ({ "meta": { "name": _0xa3dacd["name"] }, "wear": _0xa3dacd[_0x69fbe7(368)], "float": _0xa3dacd[_0x69fbe7(151)], "souvenir": _0xa3dacd[_0x69fbe7(157)] })), _0x4931cf[_0x69fbe7(399)]); 274 if (!_0x3ed777) return; 275 _0x12e65b(_0x3ed777), _0x1bb9f4(![]), (_a2 = navigator[_0x69fbe7(337)]) == null ? void 0 : _a2["writeText"](_0x3ed777)[_0x69fbe7(239)](() => { 276 _0x1bb9f4(!![]), setTimeout(() => _0x1bb9f4(![]), 2500); 277 })[_0x69fbe7(148)](() => { 278 }); 279 }, _0x4b71f9 = (_0x532906) => { 280 const _0xc7d5d0 = _0xccd817, { applied: _0x3e220d, missing: _0x374d04 } = _0x5a491c({ "stattrak": _0x532906["stattrak"], "slots": _0x532906[_0xc7d5d0(198)] }); 281 _0x49f77e(![]), _0x41e14d(_0x3e220d ? { "tone": _0x374d04[_0xc7d5d0(384)] ? "warn" : "ok", "text": _0x374d04[_0xc
2817d5d0(384)] ? _0xc7d5d0(304) + _0x3e220d + " of " + _0x532906[_0xc7d5d0(198)][_0xc7d5d0(384)] + ". Skipped: " + _0x374d04[_0xc7d5d0(213)](", ") + "." : 'Loaded "' + _0x532906[_0xc7d5d0(383)] + '".' } : { "tone": _0xc7d5d0(285), "text": _0xc7d5d0(408) }); 282 }, _0x306823 = (_0x431eba) => { 283 const _0x46af63 = _0xccd817; 284 _0x5b2aab(deleteSaved(_0x431eba)["sort"]((_0x366120, _0x33ecaa) => (_0x33ecaa["savedAt"] || 0) - (_0x366120[_0x46af63(143)] || 0))); 285 }; 286 reactExports.useEffect(() => { 287 const _0x79b2ed = _0xccd817; 288 if (!_0x380d17[_0x79b2ed(384)] || !_0x319918[_0x79b2ed(384)]) return; 289 const _0x4225bc = _0x380d17[_0x79b2ed(171)]((_0x5775db) => _0x319918[_0x79b2ed(262)]((_0x4e8f6e) => _0x4e8f6e[_0x79b2ed(426)] === _0x5775db))[_0x79b2ed(231)](Boolean); 290 if (_0x4225bc["length"]) { 291 const _0x5d7e9d = _0x4225bc[0]; 292 _0x4bd6da(!!_0x5d7e9d[_0x79b2ed(399)]), _0xcf29af(!!_0x5d7e9d[_0x79b2ed(157)]), _0x2f3e40(_0x5d7e9d["rarity"]), _0x98f577(() => { 293 const _0x435187 = _0x79b2ed, _0x239780 = Array(SLOTS)[_0x435187(313)](null); 294 return _0x4225bc[_0x435187(161)](0, SLOTS)[_0x435187(163)]((_0x280cc3, _0x1f8d1d) => { 295 const _0x38422f = _0x435187, _0x544306 = _0x4b1d8e == null ? void 0 : _0x4b1d8e[_0x280cc3[_0x38422f(397)]]; 296 _0x239780[_0x1f8d1d] = { "id": ++_0x408071["current"], "meta": { "name": _0x280cc3[_0x38422f(397)], "min": _0x280cc3[_0x38422f(211)], "max": _0x280cc3[_0x38422f(380)], "rarity": _0x280cc3[_0x38422f(215)], "collections": _0x280cc3[_0x38422f(182)] ? [_0x280cc3[_0x38422f(182)]] : (_0x544306 == null ? void 0 : _0x544306[_0x38422f(259)]) || [], "image": (_0x544306 == null ? void 0 : _0x544306[_0x38422f(172)]) || iconUrl(_0x280cc3[_0x38422f(243)]), "caseImage": (_0x544306 == null ? void 0 : _0x544306[_0x38422f(331)]) || null, "collectionImage": (_0x544306 == null ? void 0 : _0x544306["collectionImage"]) || null }, "wear": _0x280cc3[_0x38422f(368)], "float": _0x280cc3[_0x38422f(151)], "souvenir": !!_0x280cc3[_0x38422f(157)] && !_0x280cc3[_0x38422f(399)], "customPrice": null, "src": _0x280cc3[_0x38422f(426)], "tradeHold": !!_0x280cc3[_0x38422f(410)], "tradeHoldUntil": _0x280cc3[_0x38422f(179)] || null, "holdKind": _0x280cc3[_0x38422f(272)] || null, "originLabel": _0x280cc3[_0x38422f(183)] || null }; 297 }), _0x239780; 298 }); 299 } 300 _0x53ce46([]); 301 }, [_0x319918, _0x380d17, _0x4b1d8e]); 302 const _0x19935a = reactExports.useMemo(() => { 303 var _a2; 304 const _0x34835d = _0xccd817; 305 if (!_0x4b1d8e) return []; 306 const _0x16d75d = []; 307 for (const [_0x5525d0, _0x41506e] of Object[_0x34835d(173)](_0x4b1d8e)) { 308 if (!((_a2 = _0x41506e[_0x34835d(259)]) == null ? void 0 : _a2[_0x34835d(384)])) continue; 309 const _0x512b1d = RARITY_ORDER[_0x34835d(332)](_0x41506e[_0x34835d(215)]); 310 if (_0x512b1d < 0 || _0x512b1d >= RARITY_ORDER[_0x34835d(332)](_0x34835d(257))) continue; 311 _0x16d75d["push"]({ "name": _0x5525d0, ..._0x41506e }); 312 } 313 return _0x16d75d; 314 }, [_0x4b1d8e]), _0x1b1ad5 = _0x48599b[_0xccd817(231)](Boolean), _0x3db619 = ((_a = _0x1b1ad5[0]) == null ? void 0 : _a[_0xccd817(334)][_0xccd817(215)]) || null, _0x543a02 = _0x3db619 || _0x31a5ea, _0xfcd46d = _0x543a02 === _0xccd817(155) ? 5 : SLOTS; 315 reactExports.useEffect(() => { 316 _0x98f577((_0x1ee59c) => { 317 const _0x2570b4 = _0x386a; 318 if (_0x1ee59c[_0x2570b4(384)] === _0xfcd46d) return _0x1ee59c; 319 const _0x1895b6 = Array(_0xfcd46d)[_0x2570b4(313)](null); 320 for (let _0x3cf25a = 0; _0x3cf25a < Math[_0x2570b4(137)](_0xfcd46d, _0x1ee59c["length"]); _0x3cf25a++) _0x1895b6[_0x3cf25a] = _0x1ee59c[_0x3cf25a]; 321 return _0x1895b6; 322 }); 323 }, [_0xfcd46d]); 324 const _0x570965 = _0x48599b["findIndex"]((_0x50207d) => !_0x50207d), _0x28eebc = (_0x585168) => "" + (_0x54ddb9 ? _0xccd817(379) : _0x585168[_0xccd817(157)] ? _0xccd817(263) : "") + _0x585168["meta"][_0xccd817(383)] + " (" + _0x585168[_0xccd817(368)] + ")", _0x5da3ff = (_0x5e79c2) => { 325 const _0x4cb549 = _0xccd817; 326 if (_0x5e79c2[_0x4cb549(414)] != null) return { "price": _0x5e79c2[_0x4cb549(414)], "market": _0x4cb549(178) }; 327 const _0x311305 = customPriceOf(_0x28eebc(_0x5e79c2)); 328 if (_0x311305 != null) return { "price": _0x311305, "market": _0x4cb549(178) }; 329 return economyPrice(priceRow(_0x28eebc(_0x5e79c2)), _0xf91205); 330 }, _0x48cd44 = (_0x3fdc80) => _0x3fdc80[_0xccd817(414)] != null ? _0x3fdc80[_0xccd817(414)] : customPriceOf(_0x28eebc(_0x3fdc80)), _0x9f9e8d = ({ meta: _0x20b801, wear: _0x56a264, souvenir = ![], stattrak: _0x43eb2d }) => { 331 const _0x1d682d = _0xccd817, _0x54858e = _0x1b1ad5["length"] ? _0x54ddb9 : !!_0x43eb2d; 332 !_0x1b1ad5[_0x1d682d(384)] && _0x43eb2d !== void 0 && (_0x4bd6da(!!_0x43eb2d), _0xcf29af(!!souvenir)); 333 _0x98f577((_0x2beec9) => { 334 const _0x395756 = _0x1d682d; 335 let _0x3c09a6 = _0x42f3ce != null && !_0x2beec9[_0x42f3ce] ? _0x42f3ce : _0x2beec9[_0x395756(185)]((_0x366814) => !_0x366814); 336 if (_0x3c09a6 < 0) return _0x2beec9; 337 const _0x102966 = [..._0x2beec9]; 338 return _0x102966[_0x3c09a6] = { "id": ++_0x408071[_0x395756(305)], "meta": _0x20b801, "wear": _0x56a264["name"], "float": _0x56a264[_0x395756(151)], "souvenir": !_0x54858e && souvenir, "customPrice": null }, _0x102966; 339 }), _0x8da2e5(null); 340 if (_0x1b1ad5[_0x1d682d(384)] + 1 >= _0xfcd46d) _0x250494(![]); 341 }, _0x535aa2 = (_0x7462bf) => { 342 _0x98f577((_0x2b1e6e) => { 343 const _0x5cfc45 = _0x386a, _0x15a412 = _0x2b1e6e["filter"]((_0x1ecfef, _0x30f3ce) => _0x30f3ce !== _0x7462bf);
344 while (_0x15a412[_0x5cfc45(384)] < _0x2b1e6e["length"]) _0x15a412[_0x5cfc45(138)](null); 345 return _0x15a412; 346 }), _0x2014eb(null); 347 }, _0x1003da = () => { 348 _0x98f577(Array(_0xfcd46d)["fill"](null)), _0x2014eb(null); 349 }, _0x39ae98 = (_0xa8a621, _0x137888) => _0x98f577((_0x5b0540) => _0x5b0540[_0xccd817(171)]((_0x217c3f, _0x367b90) => _0x367b90 === _0xa8a621 && _0x217c3f ? { ..._0x217c3f, ..._0x137888 } : _0x217c3f)), _0x16c391 = (_0x3b483d, _0xd7147) => { 350 const _0x2bdf73 = _0xccd817; 351 _0x39ae98(_0x3b483d, { "customPrice": _0xd7147 }); 352 const _0x36cd7d = _0x48599b[_0x3b483d]; 353 if (!_0x36cd7d) return; 354 const _0x529725 = _0x28eebc(_0x36cd7d); 355 if (_0xd7147 == null) { 356 setCustomPrice(_0x529725, null), _0x4e25ea(null); 357 return; 358 } 359 _0x4e25ea({ "index": _0x3b483d, "name": _0x529725, "price": _0xd7147, "others": _0x48599b[_0x2bdf73(231)]((_0x40cbe5, _0x29cdb5) => _0x40cbe5 && _0x29cdb5 !== _0x3b483d && _0x28eebc(_0x40cbe5) === _0x529725)[_0x2bdf73(384)] }); 360 }, _0x59b4dd = () => { 361 const _0x1af7ca = _0xccd817; 362 if (!_0x31c44b) return; 363 const { name: _0x2621fb, price: _0x587f26 } = _0x31c44b; 364 setCustomPrice(_0x2621fb, _0x587f26), _0x98f577((_0x15636f) => _0x15636f[_0x1af7ca(171)]((_0x46f104) => _0x46f104 && _0x28eebc(_0x46f104) === _0x2621fb ? { ..._0x46f104, "customPrice": null } : _0x46f104)), _0x4e25ea(null); 365 }, _0x29d0fc = (_0x111aa4, _0x5b01c2) => _0x98f577((_0x1db67e) => _0x1db67e[_0xccd817(171)]((_0xc8b343, _0x5a36cf) => { 366 const _0x58e786 = _0xccd817; 367 if (_0x5a36cf !== _0x111aa4 || !_0xc8b343) return _0xc8b343; 368 const _0x1c49d2 = Math[_0x58e786(137)](_0xc8b343[_0x58e786(334)][_0x58e786(216)], Math[_0x58e786(216)](_0xc8b343[_0x58e786(334)][_0x58e786(137)], _0x5b01c2)); 369 return { ..._0xc8b343, "float": _0x1c49d2, "wear": wearOfFloat(_0x1c49d2) }; 370 })), _0x5198b4 = (_0x440bf9, _0x59070b) => _0x98f577((_0x15543b) => _0x15543b[_0xccd817(171)]((_0x3d2544, _0x1014ea) => { 371 const _0xc7d7f9 = _0xccd817; 372 if (_0x1014ea !== _0x440bf9 || !_0x3d2544) return _0x3d2544; 373 const _0xd14a51 = WEAR_BRACKETS[_0xc7d7f9(185)]((_0x71e591) => _0x71e591[_0xc7d7f9(390)] === _0x59070b), _0x3497e9 = Math[_0xc7d7f9(216)](_0x3d2544[_0xc7d7f9(334)]["min"], _0xd14a51 === 0 ? 0 : WEAR_BRACKETS[_0xd14a51 - 1][_0xc7d7f9(216)]), _0x3ac6f7 = Math["min"](_0x3d2544["meta"][_0xc7d7f9(216)], WEAR_BRACKETS[_0xd14a51][_0xc7d7f9(216)]); 374 if (_0x3497e9 >= _0x3ac6f7) return _0x3d2544; 375 return { ..._0x3d2544, "wear": WEAR_BRACKETS[_0xd14a51][_0xc7d7f9(383)], "float": +((_0x3497e9 + _0x3ac6f7) / 2)["toFixed"](4) }; 376 })), _0x103c4c = (_0x8c8bb7) => _0x98f577((_0x5b6592) => { 377 const _0x475d34 = _0xccd817, _0x22492f = _0x5b6592[_0x8c8bb7]; 378 if (!_0x22492f) return _0x5b6592; 379 const _0x5dc542 = _0x5b6592[_0x475d34(185)]((_0x4665ef) => !_0x4665ef); 380 if (_0x5dc542 < 0) return _0x5b6592; 381 const _0x42d460 = [..._0x5b6592]; 382 return _0x42d460[_0x5dc542] = { ..._0x22492f, "id": ++_0x408071[_0x475d34(305)], "src": null }, _0x42d460; 383 }), _0x290aad = (_0x4da2a1) => _0x98f577((_0x314b00) => { 384 const _0x480838 = _0xccd817, _0x43b9d5 = _0x314b00[_0x4da2a1]; 385 if (!_0x43b9d5) return _0x314b00; 386 return _0x314b00[_0x480838(171)]((_0x399964) => _0x399964 || { ..._0x43b9d5, "id": ++_0x408071["current"], "src": null }); 387 }), _0x4d17f6 = reactExports.useMemo(() => new Set(_0x1b1ad5[_0xccd817(171)]((_0x333c30) => _0x333c30[_0xccd817(287)])["filter"](Boolean)), [_0x48599b]), _0x565864 = _0x1b1ad5["length"] ? { "rarity": _0x3db619, "stattrak": _0x54ddb9 } : null, _0x1efbed = (_0x43ca38) => { 388 const _0x2f8c2f = _0xccd817, _0x164001 = _0x48599b[_0x2f8c2f(185)]((_0x5f22c7) => _0x5f22c7 && _0x5f22c7[_0x2f8c2f(287)] === _0x43ca38[_0x2f8c2f(426)]); 389 if (_0x164001 >= 0) { 390 _0x535aa2(_0x164001); 391 return; 392 } 393 const _0x96406a = _0x48599b[_0x2f8c2f(185)]((_0x17820a) => !_0x17820a); 394 if (_0x96406a < 0) return; 395 if (_0x1b1ad5[_0x2f8c2f(384)] === 0) _0x4bd6da(!!_0x43ca38[_0x2f8c2f(399)]), _0xcf29af(!!_0x43ca38[_0x2f8c2f(157)]), _0x2f3e40(_0x43ca38[_0x2f8c2f(215)]); 396 else { 397 if (_0x3db619 !== _0x43ca38[_0x2f8c2f(215)] || _0x54ddb9 !== !!_0x43ca38[_0x2f8c2f(399)]) return; 398 }
399 const _0x524c7e = _0x4b1d8e == null ? void 0 : _0x4b1d8e[_0x43ca38["skinName"]], _0x68cf31 = { "name": _0x43ca38["skinName"], "min": _0x43ca38[_0x2f8c2f(211)], "max": _0x43ca38[_0x2f8c2f(380)], "rarity": _0x43ca38["rarity"], "collections": _0x43ca38[_0x2f8c2f(182)] ? [_0x43ca38[_0x2f8c2f(182)]] : (_0x524c7e == null ? void 0 : _0x524c7e[_0x2f8c2f(259)]) || [], "image": (_0x524c7e == null ? void 0 : _0x524c7e[_0x2f8c2f(172)]) || iconUrl(_0x43ca38["icon"]), "caseImage": (_0x524c7e == null ? void 0 : _0x524c7e[_0x2f8c2f(331)]) || null, "collectionImage": (_0x524c7e == null ? void 0 : _0x524c7e[_0x2f8c2f(248)]) || null }; 400 track(_0x2f8c2f(329)), _0x98f577((_0x2ca608) => { 401 const _0x5b4f52 = _0x2f8c2f, _0x252569 = _0x2ca608["findIndex"]((_0x92f867) => !_0x92f867); 402 if (_0x252569 < 0) return _0x2ca608; 403 const _0x1f6b67 = [..._0x2ca608]; 404 return _0x1f6b67[_0x252569] = { "id": ++_0x408071[_0x5b4f52(305)], "meta": _0x68cf31, "wear": _0x43ca38[_0x5b4f52(368)], "float": _0x43ca38[_0x5b4f52(151)], "souvenir": !!_0x43ca38[_0x5b4f52(157)] && !_0x43ca38[_0x5b4f52(399)], "customPrice": null, "src": _0x43ca38["assetid"], "tradeHold": !!_0x43ca38[_0x5b4f52(410)], "tradeHoldUntil": _0x43ca38[_0x5b4f52(179)] || null, "holdKind": _0x43ca38[_0x5b4f52(272)] || null, "originLabel": _0x43ca38[_0x5b4f52(183)] || null }, _0x1f6b67; 405 }); 406 }, _0x443214 = reactExports.useMemo(() => _0x1b1ad5[_0xccd817(171)]((_0x2d4e44) => ({ "name": _0x28eebc(_0x2d4e44), "skinName": _0x2d4e44["meta"]["name"], "collection": _0x2d4e44["meta"]["collections"][0], "rarity": _0x2d4e44[_0xccd817(334)]["rarity"], "stattrak": _0x54ddb9, "souvenir": _0x2d4e44[_0xccd817(157)], "float": _0x2d4e44[_0xccd817(151)], "minFloat": _0x2d4e44[_0xccd817(334)][_0xccd817(137)], "maxFloat": _0x2d4e44[_0xccd817(334)][_0xccd817(216)], "assetid": _0xccd817(144) + _0x2d4e44["id"], "customPrice": _0x48cd44(_0x2d4e44) })), [_0x48599b, _0x54ddb9, _0x5eb8fe]); 407 reactExports.useEffect(() => { 408 const _0x395581 = _0xccd817; 409 if (_0x1b1ad5[_0x395581(384)]) fetchPrices(_0x1b1ad5[_0x395581(171)](_0x28eebc)); 410 }, [_0x48599b, _0x54ddb9]); 411 const _0x4fb927 = _0x1b1ad5[_0xccd817(171)]((_0xdde627) => _0x5da3ff(_0xdde627)), _0x21ea0a = _0x4fb927[_0xccd817(242)]((_0x38b25c, _0x2f17d9) => _0x38b25c + (_0x2f17d9 ? _0x2f17d9[_0xccd817(324)] : 0), 0), _0x578761 = _0x4fb927["filter"]((_0x4eea21) => !_0x4eea21)[_0xccd817(384)], _0x1d4342 = _0x1b1ad5[_0xccd817(384)] > 0 && _0x578761 === 0, _0x4f9140 = _0x147b21 != null ? _0x48599b[_0x147b21] : null; 412 return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { "children": [jsxRuntimeExports.jsx(PageHeader, { "video": MEDIA[_0xccd817(346)]["ritual"], "eyebrow": _0xccd817(204), "title": "Build the trade-up", "sub": _0xccd817(224) }), jsxRuntimeExports.jsxs(_0xccd817(184), { "className": _0xccd817(367), "children": [jsxRuntimeExports.jsxs(GlowCard, { "glow": _0xccd817(176), "className": _0xccd817(362), "children": [jsxRuntimeExports.jsxs(_0xccd817(184), { "className": _0xccd817(261), "children": [jsxRuntimeExports.jsx(Segmented, { "label": _0xccd817(353), "value": _0x54ddb9 ? "st" : _0x26a014 ? "sv" : _0xccd817(335), "onChange": (_0x374685) => { 413 const _0x348942 = _0xccd817; 414 if (_0x1b1ad5[_0x348942(384)]) return; 415 _0x4bd6da(_0x374685 === "st"), _0xcf29af(_0x374685 === "sv"); 416 }, "disabled": _0x1b1ad5["length"] > 0, "options": [{ "v": _0xccd817(335), "label": _0xccd817(343) }, { "v": "st", "label": "StatTrakâ¢" }, { "v": "sv", "label": "Souvenir" }] }), jsxRuntimeExports.jsx(Segmented, { "label": _0xccd817(236), "value": _0xf91205, "onChange": _0x4e2108, "options": [{ "v": _0xccd817(240), "label": "Steam" }, { "v": _0xccd817(318), "label": "3rd-party" }] }), jsxRuntimeExports.jsxs(_0xccd817(184), { "className": _0xccd817(217), "children": [jsxRuntimeExports.jsx(_0xccd817(184), { "className": _0xccd817(297), "children": _0xccd817(196) }), jsxRuntimeExports.jsx(_0xccd817(184), { "className": _0xccd817(255), "children": RARITIES[_0xccd817(171)]((_0xf3690c) => { 417 const _0x5b4a62 = _0xccd817, _0x39fedf = _0x543a02 === _0xf3690c, _0x2a1355 = !!_0x3db619 && _0x3db619 !== _0xf3690c; 418 return jsxRuntimeExports.jsxs(_0x5b4a62(377), { "onClick": () => !_0x3db619 && _0x2f3e40(_0x39fedf ? null : _0xf3690c), "disabled": _0x2a1355, "aria-pressed": _0x39fedf, "className": _0x5b4a62(141) + (_0x39fedf ? _0x5b4a62(177) : _0x2a1355 ? "border-line text-faint/30" : "border-line text-dim hover:border-violet/40 hover:text-text"), "style": _0x39fedf ? { "background": RARITY_COLOR[_0xf3690c] } : void 0, "children": [jsxRuntimeExports.jsx(RarityDot, { "rarity": _
4180xf3690c }), " ", _0xf3690c["replace"](_0x5b4a62(425), "")] }, _0xf3690c); 419 }) })] })] }), jsxRuntimeExports.jsxs(_0xccd817(184), { "className": _0xccd817(306), "children": [jsxRuntimeExports.jsx(_0xccd817(291), { "className": _0xccd817(229), "children": _0x3db619 ? jsxRuntimeExports.jsxs(_0xccd817(291), { "className": _0xccd817(317), "children": [jsxRuntimeExports.jsx(RarityDot, { "rarity": _0x3db619 }), " ", _0x3db619, " ", jsxRuntimeExports.jsxs(_0xccd817(291), { "className": _0xccd817(237), "children": [_0xccd817(416), _0x3db619 === "Covert" ? _0xccd817(369) : ""] })] }) : _0x543a02 === "Covert" ? jsxRuntimeExports.jsx(_0xccd817(291), { "className": "text-faint", "children": "Covert = 5-input knife/glove contract" }) : jsxRuntimeExports.jsx(_0xccd817(291), { "className": _0xccd817(237), "children": _0xccd817(212) }) }), jsxRuntimeExports.jsxs("span", { "className": _0xccd817(136), "children": [_0x1b1ad5[_0xccd817(384)] > 0 && jsxRuntimeExports.jsxs(_0xccd817(377), { "type": _0xccd817(377), "onClick": _0x1003da, "className": _0xccd817(326), "children": [jsxRuntimeExports.jsx(Trash2, { "size": 15, "aria-hidden": !![] }), _0xccd817(223)] }), _0x1b1ad5[_0xccd817(384)] > 0 && jsxRuntimeExports.jsxs(_0xccd817(377), { "type": _0xccd817(377), "onClick": _0x2685ae, "title": "Save this contract to this browser", "className": "flex items-center gap-2 rounded-full border border-line bg-surface2 px-4 py-2 text-sm font-semibold text-dim transition-colors hover:border-violet/50 hover:text-text", "children": [jsxRuntimeExports.jsx(Bookmark, { "size": 15, "aria-hidden": !![] }), " Save"] }), _0x1b1ad5[_0xccd817(384)] > 0 && jsxRuntimeExports.jsxs(_0xccd817(377), { "type": _0xccd817(377), "onClick": _0x2762ae, "title": _0xccd817(365), "className": _0xccd817(290), "children": [jsxRuntimeExports.jsx(Share2, { "size": 15, "aria-hidden": !![] }), _0xccd817(345)] }), jsxRuntimeExports.jsxs(_0xccd817(377), { "type": _0xccd817(377), "onClick": _0x192c3e, "aria-expanded": _0x5b6d0b, "title": _0xccd817(277), "className": _0xccd817(278) + (_0x5b6d0b ? _0xccd817(274) : _0xccd817(156)), "children": [jsxRuntimeExports.jsx(FolderOpen, { "size": 15, "aria-hidden": !![] }), _0xccd817(247)] })] }), jsxRuntimeExports.jsxs(_0xccd817(291), { "className": _0xccd817(433), "children": [jsxRuntimeExports.jsx(_0xccd817(291), { "className": _0xccd817(207) + (_0x1b1ad5[_0xccd817(384)] === _0xfcd46d ? _0xccd817(191) : _0xccd817(170)), "children": _0x1b1ad5[_0xccd817(384)] }), jsxRuntimeExports.jsxs(_0xccd817(291), { "className": _0xccd817(237), "children": ["/", _0xfcd46d] }), _0x1b1ad5["length"] > 0 && jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { "children": [jsxRuntimeExports.jsx(_0xccd817(291), { "className": "mx-2 text-faint", "children": "·" }), jsxRuntimeExports.jsx(_0xccd817(291), { "className": _0xccd817(134), "children": _0x1d4342 ? fmtUsd(_0x21ea0a) : "⥠" + fmtUsd(_0x21ea0a) }), jsxRuntimeExports.jsxs(_0xccd817(291), { "className": _0xccd817(237), "children": [_0xccd817(226), _0x578761 ? " (" + _0x578761 + _0xccd817(162) : ""] })] })] })] }), _0x38a30a && jsxRuntimeExports.jsxs(_0xccd817(184), { "className": _0xccd817(327) + (_0x38a30a[_0xccd817(366)] === _0xccd817(285) ? "border-loss/30 bg-loss/5 text-loss" : _0x38a30a[_0xccd817(366)] === _0xccd817(195) ? _0xccd817(349) : _0xccd817(360)), "children": [jsxRuntimeExports.jsx(_0xccd817(291), { "className": _0xccd817(145), "children": _0x38a30a[_0xccd817(351)] }), jsxRuntimeExports.jsx(_0xccd817(377), { "type": _0xccd817(377), "onClick": () => _0x41e14d(null), "aria-label": _0xccd817(149), "className": "shrink-0 opacity-70 hover:opacity-100", "children": jsxRuntimeExports.jsx(X, { "size": 14, "aria-hidden": !![] }) })] }), _0x6842bd && jsxRuntimeExports.jsxs(_0xccd817(184), { "className": _0xccd817(422), "children": [jsxRuntimeExports.jsxs(_0xccd817(184), { "className": "flex items-center justify-between gap-3", "children": [jsxRuntimeExports.jsxs(_0xccd817(291), { "className": _0xccd817(407), "children": [jsxRuntimeExports.jsx(Link2, { "size": 14, "aria-hidden": !![] }), " Share link"] }), jsxRuntimeExports.jsxs("span", { "className": _0xccd817(428), "children": [_0x437f01 && jsxRuntimeExports.jsxs(_0xccd817(291), { "className": "flex items-center gap-1 text-xs font-semibold text-profit", "children": [jsxRuntimeExports.jsx(Check, { "size": 13, "aria-hidden": !![] }), _0xccd817(374)] }), jsxRuntimeExports.jsx(_0xccd817(377), { "type": _0xccd817(377), "onClick": () => _0x12e65b(null), "aria-label": _0xccd817(361), "className": _0xccd817(370), "children": jsxRuntimeExports.jsx(X, { "size": 14, "aria-hidden": !![] }) })] })] }), jsxRuntimeExports.jsx(_0xccd817(222), { "readOnly": !![], "value": _0x6842bd, "onFocus": (_0x4d88
41909) => _0x4d8809[_0xccd817(378)][_0xccd817(302)](), "className": _0xccd817(402) }), jsxRuntimeExports.jsx("p", { "className": _0xccd817(348), "children": "The whole contract travels inside this link, so it keeps working forever and needs no account to open. Anyone who opens it lands on the builder with these exact skins and floats already in place." })] }), _0x5b6d0b && jsxRuntimeExports.jsx(SavedBuilds, { "entries": _0x36da5f, "items": _0x319918, "economy": _0xf91205, "onClose": () => _0x49f77e(![]), "onLoad": _0x4b71f9, "onDelete": _0x306823, "onRename": _0x323072, "onShare": _0x3f8a4f, "emptyHint": _0xccd817(387) })] }), jsxRuntimeExports.jsx(BuilderInventory, { "lock": _0x565864, "usedIds": _0x4d17f6, "slotsFree": _0xfcd46d - _0x1b1ad5[_0xccd817(384)], "slotCount": _0xfcd46d, "economy": _0xf91205, "onPick": _0x1efbed }), jsxRuntimeExports.jsx(_0xccd817(184), { "className": "mt-5 grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-5", "children": _0x48599b[_0xccd817(171)]((_0x1fe3d5, _0x4ab842) => jsxRuntimeExports.jsx(motion[_0xccd817(184)], { "layout": !![], "transition": { "type": _0xccd817(423), "stiffness": 1400, "damping": 60, "mass": 0.3 }, "children": jsxRuntimeExports.jsx(Slot, { "slot": _0x1fe3d5, "index": _0x4ab842, "active": _0x147b21 === _0x4ab842, "stattrak": _0x54ddb9, "price": _0x1fe3d5 ? _0x5da3ff(_0x1fe3d5) : null, "hashName": _0x1fe3d5 ? _0x28eebc(_0x1fe3d5) : "", "useBuffer": _0x41429d, "hasEmpty": _0x570965 >= 0, "onAdd": () => { 420 _0x2014eb(null), _0x8da2e5(_0x4ab842), _0x250494(!![]); 421 }, "onSelect": () => _0x2014eb(_0x147b21 === _0x4ab842 ? null : _0x4ab842), "onRemove": () => _0x535aa2(_0x4ab842), "onDuplicate": () => _0x103c4c(_0x4ab842), "onFill": () => _0x290aad(_0x4ab842), "onFloat": (_0x2be689) => _0x29d0fc(_0x4ab842, _0x2be689), "onPrice": (_0x3ab7c5) => _0x16c391(_0x4ab842, _0x3ab7c5) }) }, _0x4ab842)) }), _0x4f9140 && jsxRuntimeExports.jsxs(_0xccd817(184), { "className": "mt-4 rounded-2xl border border-pink/30 bg-surface/70 p-4 backdrop-blur", "children": [jsxRuntimeExports.jsxs("div", { "className": "flex items-start justify-between gap-3", "children": [jsxRuntimeExports.jsxs(_0xccd817(184), { "className": _0xccd817(357), "children": [jsxRuntimeExports.jsx(RarityDot, { "rarity": _0x4f9140[_0xccd817(334)][_0xccd817(215)] }), jsxRuntimeExports.jsx(_0xccd817(291), { "className": _0xccd817(271), "children": _0x4f9140["meta"][_0xccd817(383)] }), jsxRuntimeExports.jsxs(_0xccd817(291), { "className": "text-[11px] text-faint", "children": [_0xccd817(371), _0x147b21 + 1] })] }), jsxRuntimeExports.jsx(_0xccd817(377), { "onClick": () => _0x2014eb(null), "aria-label": _0xccd817(314), "className": _0xccd817(197), "children": jsxRuntimeExports.jsx(X, { "size": 14 }) })] }), jsxRuntimeExports.jsxs(_0xccd817(184), { "className": _0xccd817(411), "children": [_0x4f9140[_0xccd817(334)]["collections"][0], _0xccd817(142), _0x4f9140[_0xccd817(334)]["min"], "â", _0x4f9140["meta"][_0xccd817(216)], _0xccd817(251), adjFloatOf(_0x4f9140["float"], _0x4f9140[_0xccd817(334)][_0xccd817(137)], _0x4f9140["meta"][_0xccd817(216)], _0x41429d)[_0xccd817(328)](4)] }), jsxRuntimeExports.jsxs(_0xccd817(184), { "className": _0xccd817(153), "children": [jsxRuntimeExports.jsx(_0xccd817(184), { "className": _0xccd817(235), "children": WEAR_BRACKETS[_0xccd817(171)]((_0x13e5c0) => { 422 var _a2; 423 const _0x50241b = _0xccd817, _0x492cf3 = Math[_0x50241b(216)](_0x4f9140[_0x50241b(334)][_0x50241b(137)], ((_a2 = WEAR_BRACKETS[WEAR_BRACKETS[_0x50241b(332)](_0x13e5c0) - 1]) == null ? void 0 : _a2["max"]) ?? 0), _0xcafb1a = _0x492cf3 < Math[_0x50241b(137)](_0x4f9140[_0x50241b(334)][_0x50241b(216)], _0x13e5c0[_0x50241b(216)]); 424 return jsxRuntimeExports.jsx("button", { "onClick": () => _0x5198b4(_0x147b21, _0x13e5c0[_0x50241b(390)]), "disabled": !_0xcafb1a, "className": "rounded-md px-2 py-0.5 text-[11px] font-semibold transition-colors " + (_0x4f9140[_0x50241b(368)] === _0x13e5c0[_0x50241b(383)] ? "bg-pink/15 text-pink" : _0xcafb1a ? _0x50241b(205) : "text-faint/30"), "children": _0x13e5c0[_0x50241b(390)] }, _0x13e5c0["abbr"]); 425 }) }), !_0x54ddb9 && jsxRuntimeExports.jsxs(_0xccd817(377), { "onClick": () => _0x39ae98(_0x147b21, { "souvenir": !_0x4f9140[_0xccd817(157)] }), "className": _0xccd817(319) + (_0x4f9140[_0xccd817(157)] ? _0xccd817(168) : "border-line text-faint hover:text-dim"), "children": [_0x4f9140[_0xccd817(157)] && jsxRuntimeExports.jsx(Check, { "size": 11 }), _0xccd817(135)] }), jsxRuntimeExports.jsx(FloatField, { "value": _0x4f9140[_0xccd817(151)], "min": _0x4f9140[_0xccd817(334)][_0xccd817(137)], "max": _
4250x4f9140[_0xccd817(334)][_0xccd817(216)], "onCommit": (_0x331651) => _0x29d0fc(_0x147b21, _0x331651), "label": _0xccd817(221) + _0x4f9140["meta"]["name"], "className": _0xccd817(392) })] }), jsxRuntimeExports.jsxs(_0xccd817(184), { "className": "relative mt-2", "children": [jsxRuntimeExports.jsx(FloatBar, { "float": _0x4f9140[_0xccd817(151)], "minCap": _0x4f9140[_0xccd817(334)][_0xccd817(137)], "maxCap": _0x4f9140["meta"][_0xccd817(216)] }), jsxRuntimeExports.jsx(_0xccd817(222), { "type": _0xccd817(404), "min": _0x4f9140[_0xccd817(334)][_0xccd817(137)], "max": _0x4f9140["meta"][_0xccd817(216)], "step": "0.0001", "value": _0x4f9140["float"], "onChange": (_0xc1d043) => _0x29d0fc(_0x147b21, parseFloat(_0xc1d043[_0xccd817(378)]["value"])), "aria-label": _0xccd817(210) + _0x4f9140["meta"]["name"], "className": _0xccd817(429) })] }), jsxRuntimeExports.jsxs("div", { "className": _0xccd817(164), "children": [_0x570965 >= 0 && jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { "children": [jsxRuntimeExports.jsx(ActionBtn, { "onClick": () => _0x103c4c(_0x147b21), "icon": Copy, "children": _0xccd817(333) }), jsxRuntimeExports.jsx(ActionBtn, { "onClick": () => _0x290aad(_0x147b21), "icon": Layers, "children": "Fill empty slots" })] }), jsxRuntimeExports.jsx(ActionBtn, { "onClick": () => _0x535aa2(_0x147b21), "icon": Trash2, "danger": !![], "children": _0xccd817(382) }), jsxRuntimeExports.jsxs(_0xccd817(291), { "className": _0xccd817(363), "children": [jsxRuntimeExports.jsx(_0xccd817(291), { "className": _0xccd817(258), "children": "Listings" }), SITES[_0xccd817(171)]((_0x5c674e) => jsxRuntimeExports.jsx(SiteLink, { "site": _0x5c674e, "name": _0x28eebc(_0x4f9140) }, _0x5c674e[_0xccd817(147)]))] })] })] }), _0x1b1ad5[_0xccd817(384)] === 0 && jsxRuntimeExports.jsx("p", { "className": _0xccd817(344), "children": _0xccd817(373) }), jsxRuntimeExports.jsx(_0xccd817(184), { "className": _0xccd817(386), "children": jsxRuntimeExports.jsx(OutcomesPanel, { "inputs": _0x443214, "useBuffer": _0x41429d, "economy": _0xf91205, "onOddsProfit": _0x55a4a4, "onStats": _0x3562da }) }), _0x1b1ad5[_0xccd817(384)] > 0 && jsxRuntimeExports.jsx(ExecutePanel, { "slots": _0x48599b, "inputs": _0x443214, "rarity": _0x3db619, "stattrak": _0x54ddb9, "economy": _0xf91205, "buffer": _0x41429d, "totalCost": _0x21ea0a, "contractSize": _0xfcd46d, "oddsProfit": _0x3dbe77, "live": _0x4c4b46 === _0xccd817(186), "onBuildAnother": _0x1003da, "onRefreshLive": _0x34c42e })] }), _0x321fe5 && jsxRuntimeExports.jsx(SkinPicker, { "universe": _0x19935a, "lockedRarity": _0x543a02, "stattrak": _0x54ddb9, "preferSouvenir": _0x26a014, "qualityLocked": _0x1b1ad5["length"] > 0, "economy": _0xf91205, "capsState": !_0x4b1d8e ? _0xccd817(214) : _0x4578e8 ? _0xccd817(193) : _0xccd817(165), "slotsFree": _0xfcd46d - _0x1b1ad5[_0xccd817(384)], "onPick": _0x9f9e8d, "onClose": () => { 426 _0x250494(![]), _0x8da2e5(null); 427 } }), _0x31c44b && jsxRuntimeExports.jsx(ApplyPriceDialog, { "prompt": _0x31c44b, "onAll": _0x59b4dd, "onOne": () => _0x4e25ea(null) })] }); 428} 429function ApplyPriceDialog({ prompt: _0x42de87, onAll: _0x3a3a0, onOne: _0x162b1c }) { 430 const _0x1c8168 = _0x4648ba, _0x439b2d = reactExports.useRef(null); 431 reactExports.useEffect(() => { 432 const _0x3377f4 = _0x386a, _0x279b8e = (_0x36c82d) => { 433 const _0x44a031 = _0x386a; 434 if (_0x36c82d[_0x44a031(147)] === _0x44a031(202)) _0x162b1c(); 435 }; 436 return window[_0x3377f4(292)]("keydown", _0x279b8e), () => window["removeEventListener"]("keydown", _0x279b8e); 437 }, [_0x162b1c]); 438 const _0x250711 = Math[_0x1c8168(376)](CUSTOM_PRICE_TTL_MS / 6e4); 439 return jsxRuntimeExports.jsx(_0x1c8168(184), { "className": _0x1c8168(166), "role": _0x1c8168(209), "aria-modal": _0x1c8168(321), "aria-label": _0x1c8168(254), "children": jsxRuntimeExports.jsxs(_0x1c8168(184), { "ref": _0x439b2d, "className": "w-full max-w-sm rounded-2xl border border-line bg-surface/95 p-5 shadow-2xl backdrop-blur", "children": [jsxRuntimeExports.jsx("h3", { "className": _0x1c8168(269), "children": _0x1c8168(230) }), jsxRuntimeExports.jsxs("p", { "className": _0x1c8168(219), "children": [_0x1c8168(430), jsxRuntimeExports.jsx(_0x1c8168(291), { "className": _0x1c8168(146), "children": fmtUsd(_0x42de87[_0x1c8168(324)]) }), _0x1c8168(150), " ", jsxRuntimeExports.jsx("span", { "className": _0x1c8168(139), "children": _
4390x42de87["name"] }), "."] }), jsxRuntimeExports.jsxs("p", { "className": _0x1c8168(405), "children": [_0x42de87[_0x1c8168(372)] > 0 ? _0x42de87["others"] + _0x1c8168(293) + (_0x42de87[_0x1c8168(372)] === 1 ? "" : "s") + _0x1c8168(315) : "Applying to all covers the outcome cards and any copy of this skin you add later.", " ", _0x1c8168(424), _0x250711, _0x1c8168(298)] }), jsxRuntimeExports.jsxs(_0x1c8168(184), { "className": _0x1c8168(417), "children": [jsxRuntimeExports.jsx("button", { "type": _0x1c8168(377), "onClick": _0x3a3a0, "autoFocus": !![], "className": _0x1c8168(265), "children": _0x1c8168(391) }), jsxRuntimeExports.jsx(_0x1c8168(377), { "type": "button", "onClick": _0x162b1c, "className": _0x1c8168(400), "children": "This slot only" })] })] }) }); 440} 441function Slot({ slot: _0x505883, index = 0, active: _0x3e82d0, stattrak = ![], price: _0x1e34b4, hashName: _0xc634ed, useBuffer: _0x3b711b, hasEmpty: _0x57b1a0, onAdd: _0x1ee80c, onSelect: _0x4cc628, onRemove: _0x1cbb5b, onDuplicate: _0x460ad0, onFill: _0x1ba9b2, onFloat: _0x393290, onPrice: _0x2ed614 }) { 442 var _a; 443 const _0xacfc5b = _0x4648ba, [_0x22a525, _0x405eae] = reactExports.useState(![]), _0x16602c = (_0x1e34b4 == null ? void 0 : _0x1e34b4[_0xacfc5b(318)]) === "custom"; 444 if (!_0x505883) return jsxRuntimeExports.jsxs(_0xacfc5b(377), { "onClick": _0x1ee80c, "className": _0xacfc5b(286), "children": [jsxRuntimeExports.jsx(_0xacfc5b(184), { "className": _0xacfc5b(280), "style": { "background": "repeating-linear-gradient(125deg, transparent 0 9px, rgba(255,255,255,.02) 9px 10px)" } }), [_0xacfc5b(312), "right-[3px] top-[3px] rounded-tr-[8px] border-r border-t", _0xacfc5b(295), _0xacfc5b(340)]["map"]((_0x5f4f37, _0x475b1e) => jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": _0xacfc5b(431) + _0x5f4f37 }, _0x475b1e)), jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": "num absolute left-2 top-2 z-10 text-[8px] text-faint/70", "children": String(index + 1)[_0xacfc5b(250)](2, "0") }), jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": "relative z-10 grid h-9 w-9 place-items-center rounded-lg border border-line bg-surface/40 emboss", "children": jsxRuntimeExports.jsx(Plus, { "size": 20, "className": _0xacfc5b(174), "aria-hidden": !![] }) })] }); 445 const _0xdb08e3 = RARITY_COLOR[_0x505883["meta"][_0xacfc5b(215)]], _0xdeaa20 = RARITY_WEIGHT[_0x505883[_0xacfc5b(334)][_0xacfc5b(215)]] ?? 0.34, _0x1e9474 = _0x3e82d0 ? _0xacfc5b(275) : _0xdb08e3, _0x2ddc9d = _0x3e82d0 ? _0xacfc5b(275) : _0xdb08e3, _0x1edbad = adjFloatOf(_0x505883["float"], _0x505883[_0xacfc5b(334)][_0xacfc5b(137)], _0x505883[_0xacfc5b(334)][_0xacfc5b(216)], _0x3b711b), _0x2ed38a = (_0x99d2f2) => _0x99d2f2["stopPropagation"](), _0x37344b = priceRow(_0xc634ed); 446 return jsxRuntimeExports.jsxs(GlowCard, { "onClick": _0x4cc628, "glow": _0x3e82d0 ? _0xacfc5b(320) : "violet", "colors": [_0xdb08e3, _0xdb08e3, _0xdb08e3], "radius": 12, "bg": _0xacfc5b(232), "glowRadius": 16, "wrapClassName": "w-full", "style": { "--foil": _0xdeaa20 }, "className": _0xacfc5b(234) + (_0x3e82d0 ? _0xacfc5b(294) : ""), "children": [jsxRuntimeExports.jsx("div", { "className": _0xacfc5b(160), "style": { "background": _0xacfc5b(341) + _0xdb08e3 + a2(0.1 + _0xdeaa20 * 0.16) + _0xacfc5b(158) } }), jsxRuntimeExports.jsx(_0xacfc5b(184), { "className": _0xacfc5b(418), "style": { "background": _0xdb08e3 + "22" } }), jsxRuntimeExports.jsx(_0xacfc5b(291), { "aria-hidden": !![], "className": "pointer-events-none absolute bottom-1 right-2 z-0 font-display text-[64px] font-bold leading-none lg:text-[80px]", "style": { "color": _0xacfc5b(253) }, "children": index + 1 }), jsxRuntimeExports.jsx("div", { "className": _0xacfc5b(154), "style": { "background": "repeating-linear-gradient(118deg, transparent 0 7px, " + _0xdb08e3 + _0xacfc5b(316), "mixBlendMode": "color-dodge", "opacity": 0.12 + _0xdeaa20 * 0.28, "WebkitMaskImage": _0xacfc5b(347), "maskImage": _0xacfc5b(347) } }), _0xdeaa20 >= 0.7 && jsxRuntimeExports.jsx(_0xacfc5b(184), { "className": _0xacfc5b(154), "style": { "background": _0xacfc5b(189), "mixBlendMode": _0xacfc5b(249), "opacity": (_0xdeaa20 - 0.6
446) * 0.6, "WebkitMaskImage": _0xacfc5b(347), "maskImage": _0xacfc5b(347) } }), jsxRuntimeExports.jsx(_0xacfc5b(184), { "className": _0xacfc5b(175), "style": { "boxShadow": "inset 0 0 0 1px " + _0xdb08e3 + a2(0.15 + _0xdeaa20 * 0.45) + _0xacfc5b(358) } }), jsxRuntimeExports.jsx(_0xacfc5b(184), { "className": _0xacfc5b(339), "style": { "--foil": _0xdeaa20 } }), jsxRuntimeExports.jsx(_0xacfc5b(184), { "className": _0xacfc5b(296) }), [["left-[3px]", _0xacfc5b(322), _0xacfc5b(412)], [_0xacfc5b(260), _0xacfc5b(322), "rounded-tr-[8px] border-r border-t"], ["left-[3px]", _0xacfc5b(303), _0xacfc5b(432)], [_0xacfc5b(260), _0xacfc5b(303), _0xacfc5b(279)]][_0xacfc5b(171)](([_0x42babb, _0x1c8426, _0x9c5b3], _0x209f24) => jsxRuntimeExports.jsx(_0xacfc5b(291), { "aria-hidden": !![], "className": _0xacfc5b(323) + _0x42babb + " " + _0x1c8426 + " " + _0x9c5b3, "style": { "borderColor": "" + _0x1e9474 + a2(0.35 + _0xdeaa20 * 0.4) } }, _0x209f24)), jsxRuntimeExports.jsxs(_0xacfc5b(184), { "className": _0xacfc5b(299), "children": [_0x57b1a0 && jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { "children": [jsxRuntimeExports.jsx(IconBtn, { "title": _0xacfc5b(333), "onClick": (_0x33a94d) => { 447 _0x2ed38a(_0x33a94d), _0x460ad0(); 448 }, "children": jsxRuntimeExports.jsx(Copy, { "size": 12 }) }), jsxRuntimeExports.jsx(IconBtn, { "title": "Fill empty slots with this", "onClick": (_0x4de57b) => { 449 _0x2ed38a(_0x4de57b), _0x1ba9b2(); 450 }, "children": jsxRuntimeExports.jsx(Layers, { "size": 12 }) })] }), jsxRuntimeExports.jsx(IconBtn, { "title": _0xacfc5b(382), "danger": !![], "onClick": (_0x4eb495) => { 451 _0x2ed38a(_0x4eb495), _0x1cbb5b(); 452 }, "children": jsxRuntimeExports.jsx(X, { "size": 12 }) })] }), jsxRuntimeExports.jsx(_0xacfc5b(184), { "className": _0xacfc5b(284), "onClick": _0x2ed38a, "children": SITES[_0xacfc5b(171)]((_0x440133) => jsxRuntimeExports.jsxs("a", { "href": _0x440133[_0xacfc5b(218)](_0xc634ed), "target": _0xacfc5b(375), "rel": _0xacfc5b(381), "onClick": _0x2ed38a, "title": _0xacfc5b(395) + _0x440133[_0xacfc5b(273)], "aria-label": _0xacfc5b(395) + _0x440133[_0xacfc5b(273)], "className": _0xacfc5b(180), "children": [jsxRuntimeExports.jsx(SiteBadge, { "site": _0x440133, "size": 16 }), jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": _0xacfc5b(220), "children": (_0x37344b == null ? void 0 : _0x37344b[_0x440133["key"]]) != null ? fmtUsd(_0x37344b[_0x440133["key"]]) : "-" })] }, _0x440133[_0xacfc5b(147)])) }), jsxRuntimeExports.jsxs(_0xacfc5b(184), { "className": _0xacfc5b(245), "children": [jsxRuntimeExports.jsxs(_0xacfc5b(184), { "className": _0xacfc5b(393), "style": { "background": "linear-gradient(180deg, " + _0xdb08e3 + _0xacfc5b(330), "borderBottom": _0xacfc5b(415) + _0xdb08e3 + "33" }, "children": [jsxRuntimeExports.jsxs("div", { "className": "flex items-center gap-1.5", "children": [jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": _0xacfc5b(420), "style": { "background": _0xdb08e3, "boxShadow": _0xacfc5b(267) + _0xdb08e3 + "88" }, "children": jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": "h-1.5 w-1.5 rounded-full bg-white/90", "aria-hidden": !![] }) }), jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": _0xacfc5b(159), "style": { "color": _0xdb08e3, "textShadow": _0xacfc5b(401) }, "children": _0x505883[_0xacfc5b(334)][_0xacfc5b(215)][_0xacfc5b(203)](_0xacfc5b(425), "") })] }), jsxRuntimeExports.jsx(_0xacfc5b(184), { "className": _0xacfc5b(241), "children": _0x505883["meta"]["name"] })] }), jsxRuntimeExports.jsxs(_0xacfc5b(184), { "className": _0xacfc5b(200), "style": { "boxShadow": "inset 0 0 0 1px " + _0xdb08e3 + a2(0.35 + _0xdeaa20 * 0.25) + _0xacfc5b(355) }, "children": [_0x505883[_0xacfc5b(334)][_0xacfc5b(172)] ? jsxRuntimeExports.jsx(_0xacfc5b(276), { "src": _0x505883[_0xacfc5b(334)][_0xacfc5b(172)], "alt": "", "loading": _0xacfc5b(167), "className": _0xacfc5b(364) }) : jsxRuntimeExports.jsx(_0xacfc5b(184), { "className": _0xacfc5b(152), "style": { "background": _0xdb08e3 + "22" } }), jsxRuntimeExports.jsx(CaseArt, { "caseImage": _0x505883[_0xacfc5b(334)]["caseImage"], "collectionImage": _0x505883[_0xacfc5b(334)][_0xacfc5b(248)], "name": (_a = _0x505883[_0xacfc5b(334)][_0xacfc5b(259)]) == null ? void 0 : _a[0], "size": 34, "className": _0xacfc5b(238) })] }), jsxRuntimeExports.jsxs("div", { "className": _0xacfc5b(301), "children": [jsxRuntimeExports.jsxs("div", { "className": _0xacfc5b(388), "children": [jsxRuntimeExports.jsxs(_0xacfc5b(291), { "className": _0xacfc5b(264), "children": [jsxRuntimeExports.jsx(QualityBadge, { "stattrak": stattrak, "souvenir": _0x505883[_0xacfc5b(157)], "size": 10 }), jsxRuntimeExports.jsx(FullFloatBadge, { "min": _0x505883[_0xacfc5b(334)][_0xacfc5b(137)], "max": _
4520x505883["meta"][_0xacfc5b(216)], "size": 9 }), jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": _0xacfc5b(359), "children": WEAR_ABBR[_0x505883["wear"]] })] }), _0x22a525 ? jsxRuntimeExports.jsx(_0xacfc5b(291), { "onClick": _0x2ed38a, "children": jsxRuntimeExports.jsx(PriceInput, { "value": _0x1e34b4 == null ? void 0 : _0x1e34b4[_0xacfc5b(324)], "onCommit": (_0x60c269) => { 453 _0x2ed614(_0x60c269), _0x405eae(![]); 454 }, "onCancel": () => _0x405eae(![]) }) }) : jsxRuntimeExports.jsxs(_0xacfc5b(291), { "className": _0xacfc5b(421), "children": [jsxRuntimeExports.jsx(_0xacfc5b(377), { "onClick": (_0xbaf4c8) => { 455 _0x2ed38a(_0xbaf4c8), _0x405eae(!![]); 456 }, "title": _0x16602c ? "Custom price (overrides live price)" : _0xacfc5b(208), "className": _0xacfc5b(311) + (_0x16602c ? _0xacfc5b(282) : _0xacfc5b(283)), "children": _0x1e34b4 ? fmtUsd(_0x1e34b4["price"]) : "-" }), _0x16602c && jsxRuntimeExports.jsx(_0xacfc5b(377), { "onClick": (_0x21f82e) => { 457 _0x2ed38a(_0x21f82e), _0x2ed614(null); 458 }, "title": "Reset to live price", "aria-label": _0xacfc5b(169), "className": _0xacfc5b(308), "children": jsxRuntimeExports.jsx(X, { "size": 10, "aria-hidden": !![] }) })] })] }), jsxRuntimeExports.jsxs(_0xacfc5b(184), { "className": _0xacfc5b(206), "onClick": _0x2ed38a, "children": [jsxRuntimeExports.jsxs("span", { "className": _0xacfc5b(396), "children": [jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": _0xacfc5b(237), "children": "Æ" }), jsxRuntimeExports.jsx(FloatField, { "value": _0x505883[_0xacfc5b(151)], "min": _0x505883[_0xacfc5b(334)][_0xacfc5b(137)], "max": _0x505883[_0xacfc5b(334)][_0xacfc5b(216)], "onCommit": _0x393290, "label": _0xacfc5b(221) + _0x505883[_0xacfc5b(334)][_0xacfc5b(383)], "className": _0xacfc5b(233) })] }), jsxRuntimeExports.jsxs("span", { "className": _0xacfc5b(307), "title": _0xacfc5b(310), "children": ["adj ", _0x1edbad[_0xacfc5b(328)](4)] })] }), jsxRuntimeExports.jsx(FloatBar, { "float": _0x505883[_0xacfc5b(151)], "minCap": _0x505883[_0xacfc5b(334)][_0xacfc5b(137)], "maxCap": _0x505883[_0xacfc5b(334)][_0xacfc5b(216)], "className": _0xacfc5b(309) }), jsxRuntimeExports.jsxs("div", { "className": _0xacfc5b(354), "children": [jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": _0xacfc5b(409), "children": _0x505883[_0xacfc5b(334)]["min"] }), jsxRuntimeExports.jsx(_0xacfc5b(291), { "className": _0xacfc5b(409), "children": _0x505883[_0xacfc5b(334)][_0xacfc5b(216)] })] })] })] }), jsxRuntimeExports.jsx(_0xacfc5b(291), { "aria-hidden": !![], "className": "pointer-events-none absolute inset-x-0 bottom-0 z-10 h-[3px]", "style": { "background": "linear-gradient(90deg, transparent, " + _0x2ddc9d + ", transparent)", "boxShadow": _0xacfc5b(199) + _0x2ddc9d + "40, 0 0 10px 0 " + _0x2ddc9d + "55" } })] }); 459} 460function IconBtn({ children: _0x5a2bd7, title: _0x7bec61, onClick: _0x145425, danger: _0x45c400 }) { 461 const _0x30a4d9 = _0x4648ba; 462 return jsxRuntimeExports.jsx(_0x30a4d9(377), { "title": _0x7bec61, "onClick": _0x145425, "className": _0x30a4d9(256) + (_0x45c400 ? _0x30a4d9(413) : _0x30a4d9(201)), "children": _0x5a2bd7 }); 463} 464function ActionBtn({ children: _0x39b51f, icon: _0x53ac68, onClick: _0x1b8b31, danger: _0x3a58ae }) { 465 const _0x1d608c = _0x4648ba; 466 return jsxRuntimeExports.jsxs("button", { "onClick": _0x1b8b31, "className": "flex items-center gap-1.5 rounded-md border px-2.5 py-1.5 text-[11px] font-medium transition-colors " + (_0x3a58ae ? _0x1d608c(398) : _0x1d608c(181)), "children": [jsxRuntimeExports.jsx(_0x53ac68, { "size": 12 }), " ", _0x39b51f] }); 467} 468function PriceInput({ value: _0xac7c18, onCommit: _0x1302fa, onCancel: _0x3f5bab }) { 469 const _0x129c2e = _0x4648ba, [_0x520107, _0x52b738] = reactExports.useState(_0xac7c18 != null ? String(_0xac7c18[_0x129c2e(328)](2)) : ""), _0x5877db = () => { 470 const _0x3568ae = parseFloat(_0x520107); 471 _0x1302fa(isFinite(_0x3568ae) && _0x3568ae >= 0 ? _0x3568ae : null); 472 }; 473 return jsxRuntimeExports.jsx(_0x129c2e(222), { "autoFocus": !![], "type": _0x129c2e(351), "inputMode": _0x129c2e(268), "value": _0x520107, "onChange": (_0x25678c) =>
473 _0x52b738(_0x25678c[_0x129c2e(378)][_0x129c2e(352)]), "onBlur": _0x5877db, "onKeyDown": (_0x41bd65) => { 474 const _0x1181b4 = _0x129c2e; 475 if (_0x41bd65[_0x1181b4(147)] === "Enter") _0x5877db(); 476 else { 477 if (_0x41bd65[_0x1181b4(147)] === _0x1181b4(202)) _0x3f5bab(); 478 } 479 }, "className": "num w-16 rounded border border-violet/50 bg-bg1 px-1 py-0.5 text-right text-[11px] text-text focus:outline-none" }); 480} 481function Segmented({ label: _0x3fef01, value: _0x49a87f, onChange: _0x388e9a, options: _0x502edd, disabled: _0x2529d4 }) { 482 const _0x1c3770 = _0x4648ba; 483 return jsxRuntimeExports.jsxs(_0x1c3770(184), { "children": [jsxRuntimeExports.jsx(_0x1c3770(184), { "className": "mb-1.5 text-[10px] font-semibold uppercase tracking-widest text-faint", "children": _0x3fef01 }), jsxRuntimeExports.jsx(_0x1c3770(184), { "className": _0x1c3770(325) + (_0x2529d4 ? "opacity-60" : ""), "role": _0x1c3770(194), "aria-label": _0x3fef01, "children": _0x502edd[_0x1c3770(171)]((_0x591881) => jsxRuntimeExports.jsx(_0x1c3770(377), { "onClick": () => _0x388e9a(_0x591881["v"]), "disabled": _0x2529d4, "aria-pressed": _0x49a87f === _0x591881["v"], "className": _0x1c3770(252) + (_0x49a87f === _0x591881["v"] ? _0x1c3770(300) : _0x1c3770(370)), "children": _0x591881[_0x1c3770(273)] }, _0x591881["v"])) })] }); 484} 485export { 486 Builder as default 487};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.