1import { t as e } from "./rolldown-runtime-BEVGH_SI.esm.min.js"; 2var t = e((e, t) => { 3 var n = e, r = function() { 4 let e = (e, ...t) => { 5 if (typeof Object.assign == "function") return Object.assign(e, ...t); 6 if (e == null) throw TypeError("Cannot convert undefined or null to object"); 7 let n = Object(e); 8 for (let e = 0; e < t.length; e++) { 9 let r = t[e]; 10 if (r != null) for (let e in r) Object.prototype.hasOwnProperty.call(r, e) && (n[e] = r[e]); 11 } 12 return n; 13 }, t = (e) => { 14 let t = e.match(/[^/]*$/); 15 return t ? t[0] : ""; 16 }, n = (e) => e.substring(0, e.length - t(e).length).replace(/\/$/, ""), r = (e) => { 17 let t = e.match(/\.\w+$/), n = t && t[0] || ""; 18 return [e.substr(0, e.length - n.length), n]; 19 }, i = /^(.*:?\/\/[^/]+)?(\/?[^?#]+)?(\?[^#]+)?(#.*)?/, a = (e) => { 20 let t = e.match(i); 21 if (!t) throw Error(`Failed to parse URL '${e}'`); 22 if ((t[2] || "") === "") throw Error(`Invalid URL '${e}'`); 23 return { 24 base: t[1] || "", 25 path: t[2] || "", 26 search: t[3] || "", 27 hash: t[4] || "" 28 }; 29 }, o = (e) => { 30 if (e.length < 2) return {}; 31 let t = {}; 32 return e.substr(1).split("&").forEach((e) => { 33 let n = e.indexOf("="); 34 n === -1 ? t[e] = "" : t[e.substr(0, n)] = e.substr(n + 1); 35 }), t; 36 }, s = (e) => { 37 let t = Object.entries(e); 38 return t.length === 0 ? "" : "#" + t.map(([e, t]) => e + "=" + t).join("&"); 39 }, c = (e) => `${e.base}${e.path}${e.search}${e.hash}`, l = (e, t, n, i, a = "") => ({ 40 path: e, 41 type: t, 42 id: n, 43 params: i, 44 name: a, 45 ext: r(e)[1] 46 }), u = (e, t) => ((e) => btoa(e).replace(/[/+]/g, (e) => ({ 47 "/": "_", 48 "+": "-" 49 })[e]))(`${((e) => e.map((e) => e.join(" ")).join("�"))(t)}�${((e) => e.split("").reduce((e, t, n) => (n % 3 == 0 && e.push(t), e), []).join(""))(e)}`), d = (e) => e.length && ((e) => e.length && e.split("�").map((e) => e.split(" ")) || [])(((e) => atob(e.replace(/[-_]/g, (e) => ({ 50 "-": "+", 51 _: "/" 52 })[e])))(e).split("�", 1)[0]) || [], f = /^\/?(\w+\/)?(?:[a-z0-9]{3}\/){4}(?:[a-z0-9_]{2,}\/)?([a-z0-9]+)_?([a-z0-9]+=?=?)?\..*$/i, p = /^\/?(?:\w+\/)?(?:[0-9a-f]{2}\/){3}([0-9a-f]{6}_[0-9a-f]{13})_?([a-z0-9]+=?=?)?\..*$/i, m = /^\/?(?:[0-9a-f]{2}\/){3}[0-9a-f]{26}_/, h = /(^.*\/)([^/]+)\.(gif|png|jpg|jpeg|mp3)$/, g = /^(.*)-(r[lcr][tmb])(\d+)x(\d+)(u?)$/, _ = /^(.*)-(fc)([0-9a-f]{12})_(\d+)x(\d+)$/, v = [ 53 (e) => { 54 let t = null, n = e.match(f), r = []; 55 return n && (r = d(n[3] || ""), t = l(e, "sti-v1", (n[1] || "") + n[2], r)), t; 56 }, 57 (e) => { 58 let t = null, n = e.match(p), r = []; 59 return n && (r = d(n[2] || ""), t = l(e, "sti-v2", n[1], r)), t; 60 }, 61 (e) => { 62 let t, n = null, i = []; 63 return e.match(m) && (t = r(e)[0].split("_"), i = d(t[1]), n = l(e, "sti-v3", t[0].replace(/\//g, ""), i, t.slice(2).join("_"))), n; 64 }, 65 (e) => { 66 let t = e.match(h); 67 if (!t) return null; 68 let n = "", r = []; 69 if (t) { 70 let e = t[2].match(g); 71 e ? (n = `${e[1]}.${t[3]}`, r = [[ 72 e[2], 73 e[3], 74 e[4], 75 e[5] || "" 76 ]]) : (e = t[2].match(_), e ? (n = `${e[1]}.${t[3]}`, r = [[ 77 e[2], 78 e[3], 79 e[4], 80 e[5] 81 ]]) : n = `${t[2]}.${t[3]}`); 82 } 83 return l(e, "shuttle-v2", "", r, n); 84 } 85 ], y = (e) => { 86 for (let t, n = 0, r = v.length; n < r; n += 1) if (t = v[n](e), t !== null) return t; 87 throw Error(`Unknown path format: '${e}'`); 88 }, b = (e) => e.params.length > 0, x = (e, i, a) => { 89 let o = r(t(e.path))[0]; 90 return b(e) && (o = o.substr(0, o.lastIndexOf("_"))), a ||= e.ext, i.length && (o += `_${u(e.id, i)}`), `${n(e.path)}/${o}${a}`; 91 }, S = (e) => e.length > 0 && typeof e[0] != "object", C = (e) => (S(e) && (e = [e]), e.forEach((e) => { 92 let t = e[0].match("^r([lcr])([tmb])$"); 93 t && (e[0] = "re", e[3] = t[1], e[4] = t[2]); 94 }), e), w = { 95 "sti-v1": x, 96 "sti-v2": x, 97 "sti-v3": (e, i, a) => { 98 let o = r(t(e.path))[0], s = o.split("_"), c = C(i); 99 return a ||= e.ext, o = `${s[0]}_${u(e.id, c)}`, s.length > 2 && (o += `_${s.slice(2).join("_")}`), `${n(e.path)}/${o}${a}`; 100 }, 101 "shuttle-v2": (e, t, i) => { 102 let a = r(e.name)[0]; 103 i ||= e.ext; 104 let o = ((e) => { 105 let t, n = ""; 106 if (e.length && e[0].length >= 3) if (t = e[0], t[0] === "fc") n = `-fc${t[1]}_${Math.max(0, parseInt(`${t[2]}`, 10))}x${Math.max(0, parseInt(`${t[3]}`, 10))}`; 107 else { 108 let e = "cm"; 109 if (t[0] !== "r") { 110 let n = t[0].match("^r([lcr][tmb])$"); 111 n && (e = n[1]); 112 } 113 let r = Math.max(0, parseInt(`${t[1]}`, 10)), i = Math.max(0, parseInt(`${t[2]}`, 10)), a = ""; 114 t.length >= 4 && t[3] === "u" && (a = t[3]), n = `-r${e}${r}x${i}${a}`; 115 } 116 return n; 117 })(t); 118 return `${n(e.path)}/${a}${o}${i}`; 119 } 120 }, T = (e) => { 121 if (!(e in w)) throw Error(`No path builder found for type '${e}'`); 122 return w[e]; 123 }, E = (e, t) => T(e.type)(e, [], t), D = (e) => typeof e > "u" ? [] : (e || []).filter((e) => e.length > 0).map((e) => [].concat(e)), O = (e) => e.type.match(/^sti-v\d+$/) !== null, k = (t, n, r) => { 124 let i = a(t), o = y(i.path), s = D(n); 125 if (!s.length) throw Error("Require valid set of path parameters"); 126 return c(e({}, i, { path: T(o.type)(o, s, r) })); 127 }, A = (e) => (e || "").replace(/^\.*/, ""), j = (e, t) => { 128 if (S(t)) return -1; 129 for (let n in t) if (t[n][0] === e) return parseInt(n); 130 return -1; 131 }, M = (e, t, n) => { 132 let r = a(e), i = y(r.path), o = D(i.params); 133 if (P(e)) { 134 let [[r, ...i], ...a] = t; 135 if (["re", "r"].includes(r)) { 136 let [t, r] = i, o = F(e, parseInt(`${t}`, 10), parseInt(`${r}`, 10)); 137 return a.length > 0 ? M(o, a, n) : o; 138 } 139 } 140 if (!b(i) || i.type && i.type.match(/^sti-/) === null) return k(e, t, n); 141 let [l] = o.slice(o.length - 1, 1); 142 if (l) { 143 let [e, ...r] = l; 144 if (e === "fc") { 145 let [e] = r, l = o.slice(0, o.length - 1), u = E(i, n), d = l.length ? k(u, l, n) : u, f = a(d); 146 f.hash = s({ fp: e }); 147 let p = c(f); 148 return M(p, t, n); 149 } 150 } 151 let u = j("c", o) > -1 || j("c", t) > -1 || j("re", t) > -1; 152 for (let e in o) o[e][0] = u && o[e][0] === "r" ? "re" : o[e][0]; 153 let d = o.reduce((e, t, n) => (e[t[0]] = n, e), {}); 154 if (!S(t)) for (let e in t) { 155 let n = t[e]; 156 n[0] = u && n[0] === "r" ? "re" : n[0], d.hasOwnProperty(n[0]) ? o.splice(d[n[0]], 1, n) : o.push(n); 157 } 158 return k(e, o, n); 159 }, N = 65535, P = (e) => { 160 let t = a(e), n = o(t.hash); 161 if (n.fp) { 162 let e = `${n.fp}`.match("([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})"); 163 if (e) return { 164 x: parseInt(e[1], 16) / N, 165 y: parseInt(e[2], 16) / N, 166 scale: parseInt(e[3], 16) / N 167 }; 168 } 169 return null; 170 }, F = (e, t, n) => { 171 let r = a(e), i = o(r.hash), l = i.fp || "7fff7fffffff"; 172 return delete i.fp, r.hash = s(i), M(c(r), [[ 173 "fc", 174 l, 175 t, 176 n 177 ]]); 178 }; 179 return { 180 createShuttlePath: (e, t = "", n = "") => { 181 let r = ((e) => { 182 let t = ""; 183 for (; t.length < e;) t += Math.random().toString(32).slice(2); 184 return t.slice(0, e); 185 })(32); 186 return t ||= `${r.substr(0, 2)}/${r.substr(2, 2)}`, n &&= `-${n}`, e = A(e), `${t.replace(/^\/*|\/*$/g, "")}/${r.substr(4)}${n}.${e}`; 187 }, 188 createSTIPath: (e, t = "") => { 189 let n = ((e) => { 190 let t = ""; 191 for (; t.length < e;) t += Math.random().toString(16).slice(2); 192 return t.slice(0, e); 193 })(32), r = u(n, []); 194 return t &&= `_${t}`, e = A(e), `${n.substr(0, 2)}/${n.substr(2, 2)}/${n.substr(4, 2)}/${n.substr(6)}_${r}${t}.${e}`; 195 }, 196 createVariantUrl: k, 197 extendPathParams: (t, n) => { 198 let r = a(t), i = y(r.path), o = D(n); 199 if (!o.length) throw Error("Require valid set of path parameters"); 200 if (!O(i)) throw Error(`Parameter extension of type '${i.type}' paths not implemented`); 201 return c(e({}, r, { path: T(i.type)(i, i.params.concat(o)) })); 202 }, 203 getPathParams: (e) => y(e).params, 204 getSourceUrl: (t, n) => { 205 let r = a(t), i = y(r.path), o = E(i, n); 206 return c(e({}, r, { path: o })); 207 }, 208 isShuttlePath: (e) => e.type.match(/^shuttle-v\d+$/) !== null, 209 isShuttleUrl: (e) => h.test(e.split("/").slice(3).join("/")), 210 isSTIPath: O, 211 isSTIUrl: (e) => { 212 let t = e.split("/").slice(3).join("/"), n = [ 213 m, 214 p, 215 f 216 ]; 217 for (let e = 0; e < n.length; e++) if (n[e].test(t)) return !0; 218 return !1; 219 }, 220 isSTIv1Url: (e) => f.test(e.split("/").slice(3).join("/")), 221 isSTIv2Url: (e) => p.test(e.split("/").slice(3).join("/")), 222 isSTIv3Url: (e) => m.test(e.split("/").slice(3).join("/")), 223 parsePath: y, 224 parseUrl: a, 225 indexOfActionInParams: j,
226 updateVariantUrl: M, 227 convertShuttleToStiParams: C, 228 getFocalPoint: P, 229 setFocalPoint: (e, t) => { 230 let n = a(e), r = o(n.hash); 231 return r.fp = [ 232 t.x, 233 t.y, 234 t.scale 235 ].map((e) => Math.round(e * N).toString(16).padStart(4, "0")).join(""), n.hash = s(r), c(n); 236 }, 237 focalCrop: F, 238 calculateFocalCropArea: (e, t, n) => { 239 let { x: r, y: i, scale: a } = e, { width: o, height: s } = t, { width: c, height: l } = n, u = o / s, d = c / o; 240 d > a && (a = d); 241 let f = l / s; 242 f > a && (a = f), c === 0 && l === 0 ? (c = o * a, l = s * a) : c === 0 ? c = l * u : l === 0 && (l = c / u), a > 1 && (a = 1); 243 let p = o * a, m = s * a; 244 r = o * r - p / 2, i = s * i - m / 2; 245 let h = c / l; 246 if (u < h) { 247 let e = p / h; 248 i += (m - e) / 2, m = e; 249 } else if (u > h) { 250 let e = m * h; 251 r += (p - e) / 2, p = e; 252 } 253 return r + p > o ? r = o - p : r < 0 && (r = 0), i + m > s ? i = s - m : i < 0 && (i = 0), (c > p || l > m) && (l = m, c = p), { 254 width: p, 255 height: m, 256 x: r, 257 y: i, 258 size: { 259 width: c, 260 height: l 261 } 262 }; 263 }, 264 normalizePathParams: D 265 }; 266 }; 267 typeof e == "object" && typeof t < "u" ? t.exports = r() : typeof define == "function" && define.amd ? define(r) : (n = typeof globalThis < "u" ? globalThis : n || self).filer = r(); 268}); 269export { t };
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.