PageSourceSearch

https://pipoly.app/assets/AdminSettings-PQlhuWZj.js

js pipoly.app collected 2026-10-02 01:15:08 UTC 19,871 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DWFe9eMF.js","assets/ui-vendor-7ksmbWQe.js","assets/react-vendor-LSUMIZ7H.js","assets/i18n-vendor-Cq4PMOpV.js","assets/index-D8yDuZbt.css"])))=>i.map(i=>d[i]);
2import{j as e}from"./ui-vendor-7ksmbWQe.js";import{r as u,e as K}from"./react-vendor-LSUMIZ7H.js";import{T as X,a as Q,b as Y,c as k}from"./tabs-BERL4pnv.js";import{A as Z}from"./AdminPageHeader-D1GhEgWR.js";import{B as S}from"./badge-DRLeqBN9.js";import{c as I,j as N,ae as x,C as P,a as O,ac as q,b as W,aM as $,e as M,ad as C,P as ee,n as ae,f as se,q as te,B as L,aa as F,b8 as ne,b5 as le}from"./index-DWFe9eMF.js";import{S as T}from"./skeleton-Dk-mLo5I.js";import{A as G,a as J}from"./alert-DW7avT1o.js";import{C as A,a as ie}from"./cryptoNetworks-C6hYosea.js";import{p as re}from"./paypal-DkutbGnW.js";import{S as V}from"./switch-CJCZf25B.js";import{L as j}from"./label-BcuwxRqT.js";import{I as ce}from"./info-BoTAzIVC.js";import{W as z}from"./wallet-jaqBq8tb.js";import{C as R}from"./coins-TsAva_4Q.js";import{C as de}from"./chart-column-CWd3O-py.js";import{L as E}from"./layers-DMnk9stk.js";import{U as oe}from"./users-2RT-GKgj.js";import{f as D}from"./formatDistanceToNow-CkVDFqJ-.js";import{f as me}from"./format-DAOhRAHy.js";import{S as H}from"./save-BEHqKiTh.js";import{S as he}from"./settings-DAKFZkot.js";import"./i18n-vendor-Cq4PMOpV.js";const ue=I("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);const U=I("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);const pe=I("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);function fe(){const[a,l]=u.useState([]),[i,m]=u.useState(!0),[d,t]=u.useState(null),c=u.useCallback(async()=>{m(!0);try{const h=await N.getAdminAppSettings();l(h.settings||[])}catch(h){x.error(h?.message||"Failed to load settings")}finally{m(!1)}},[]);u.useEffect(()=>{c()},[c]);const s=u.useCallback((h,n)=>{const o=a.find(b=>b.key===h);return o?o.value??n:n},[a]),r=u.useCallback((h,n=!0)=>{const o=s(h,n);return o===!0||o==="true"},[s]),y=u.useCallback(h=>a.some(n=>n.key===h),[a]),g=u.useCallback(async(h,n,o)=>{const b=a;t(h),l(f=>f.some(_=>_.key===h)?f.map(_=>_.key===h?{..._,value:n}:_):[...f,{key:h,value:n,description:null,updated_at:new Date().toISOString()}]);try{await N.updateAdminAppSettings([{key:h,value:n}]),x.success(o?`${o} saved`:`Updated ${h}`)}catch(f){l(b),x.error(f?.message||"Failed to update")}finally{t(null)}},[a]),v=u.useCallback(async(h,n)=>{if(!h.length)return x.info("No changes");t("__bulk__");try{const o=await N.updateAdminAppSettings(h);l(o.settings||[]),x.success(n||`${h.length} setting(s) updated`)}catch(o){x.error(o?.message||"Failed to update")}finally{t(null)}},[]);return{rows:a,loading:i,savingKey:d,load:c,get:s,getBool:r,has:y,setValue:g,setMany:v}}function w({title:a,description:l,icon:i,action:m,children:d,tone:t="default"}){return e.jsxs(P,{className:q(t==="danger"&&"border-destructive/40"),children:[e.jsx(O,{className:"pb-3",children:e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex items-start gap-3 min-w-0",children:[i&&e.jsx("div",{className:q("h-9 w-9 rounded-xl flex items-center justify-center shrink-0",t==="danger"?"bg-destructive/10 text-destructive":"bg-primary/10 text-primary"),children:i}),e.jsxs("div",{className:"min-w-0",children:[e.jsx(W,{className:"text-base",children:a}),l&&e.jsx($,{className:"mt-0.5",children:l})]})]}),m]})}),e.jsx(M,{className:"space-y-1",children:d})]})}function p({id:a,label:l,help:i,checked:m,disabled:d,onChange:t,badge:c,leading:s}){return e.jsxs("div",{className:"flex items-center justify-between gap-4 py-2.5 border-b border-border/50 last:border-0",children:[e.jsxs("div",{className:"flex items-start gap-3 min-w-0",children:[s,e.jsxs("div",{className:"min-w-0",children:[e.jsxs(j,{htmlFor:a,className:"text-sm font-medium flex items-center gap-2 cursor-pointer",children:[l,c]}),i&&e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:i})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[e.jsx("span",{className:q("text-[10px] font-semibold uppercase tracking-wide",m?"text-primary":"text-muted-foreground"),children:m?"Visible":"Hidden"}),e.jsx(V,{id:a,checked:m,disabled:d,onCheckedChange:t})]})]})}function xe({on:a,onLabel:l="On",offLabel:i="Off"}){return e.jsx(S,{variant:a?"default":"secondary",className:"text-[10px]",children:a?l:i})}function ge({s:a}){const{loading:l,getBool:i,savingKey:m,setValue:d}=a,t=i("crypto_withdraw_enabled",!1);if(l)return e.jsxs("div",{className:"space-y-3",children:[e.jsx(T,{className:"h-32 w-full"}),e.jsx(T,{className:"h-64 w-full"})]});const c=A.filter(s=>i(`withdraw_coin_${s.toLowerCase()}_enabled`,!0)).length;return e.jsxs("div",{className:"space-y-4",children:[e.jsxs(G,{children:[e.jsx(ce,{className:"h-4 w-4"}),e.jsxs(J,{className:"text-xs",children:["These switches only change what users ",e.jsx("strong",{children:"see"})," on the Cash out page. Balances, pending requests and payout processing are untouched. Changes go live within ~15 seconds — native apps need no update."]})]}),e.jsx(w,{title:"PayPal",description:"The default payout tile on /withdraw.",icon:e.jsx(z,{className:"h-4 w-4"}),children:e.jsx(p,{id:"pm-paypal",label:"PayPal tile",help:"When hidden, /withdraw drops the tile and direct links to /withdraw/paypal show an 'unavailable' notice.",checked:i("withdraw_paypal_enabled",!0),disabled:m==="withdraw_paypal_enabled",onChange:s=>d("withdraw_paypal_enabled",s,"PayPal visibility"),leading:e.jsx("div",{className:"h-9 w-9 rounded-lg bg-[#0a1a2e] flex items-center justify-center shrink-0",children:e.jsx("img",{src:re,alt:"",className:"h-3.5 object-contain"})})})}),e.jsxs(w,{title:"Crypto",description:"Master switch first, then per-coin visibility.",icon:e.jsx(R,{className:"h-4 w-4"}),action:e.jsx(xe,{on:t,onLabel:`${c}/${A.length} coins live`,offLabel:"All crypto off"}),children:[e.jsx(p,{id:"pm-crypto-master",label:"Crypto withdrawals (master)",help:"Off hides every coin tile and makes the crypto submit route reject requests server-side.",checked:t,disabled:m==="crypto_withdraw_enabled",onChange:s=>d("crypto_withdraw_enabled",s,"Crypto withdrawals"),leading:e.jsx("div",{className:"h-9 w-9 rounded-lg bg-muted flex items-center justify-center shrink-0",children:e.jsx(R,{className:"h-4 w-4 text-muted-foreground"})})}),e.jsx("div",{className:t?"":"opacity-50 pointer-events-none",children:A.map(s=>{const r=ie[s],y=`withdraw_coin_${s.toLowerCase()}_enabled`;return e.jsx(p,{id:`pm-${s}`,label:`${r.name} (${r.symbol})`,help:r.networks.map(g=>g.label).join(" · "),checked:i(y,!0),disabled:m===y||!t,onChange:g=>d(y,g,`${r.symbol} visibility`),leading:e.jsx("div",{className:"h-9 w-9 rounded-lg flex items-center justify-center shrink-0 text-[10px] font-black",style:{background:r.color,color:r.fg},children:r.symbol})},s)})}),!t&&e.jsx("p",{className:"text-xs text-muted-foreground pt-2",children:"Per-coin switches are saved but have no effect while the master switch is off."})]})]})}function ye({s:a}){const{loading:l,getBool:i,get:m,savingKey:d,setValue:t}=a;if(l)return e.jsxs("div",{className:"space-y-3",children:[e.jsx(T,{className:"h-48 w-full"}),e.jsx(T,{className:"h-48 w-full"})]});const c=Number(m("qualifications_pollmatic_max",12))||12;return e.jsxs("div",{className:"space-y-4",children:[e.jsx(w,{title:"CPX Research",description:"Where the CPX survey panel appears.",icon:e.jsx(de,{className:"h-4 w-4"}),children:e.jsx(p,{id:"sf-cpx-community",label:"Community → Offerwalls panel",help:"When off, the CPX card disappears from the public Offerwalls tab. The CPX route and eligibility logic are unaffected.",checked:i("community_offerwall_cpx_enabled",!0),disabled:d==="community_offerwall_cpx_enabled",onChange:s=>t("community_offerwall_cpx_enabled",s,"CPX community panel")})}),e.jsxs(w,{title:"Pollmatic",description:"Tiles on /offers, the community offerwalls panel, and qualification cards.",icon:e.jsx(E,{className:"h-4 w-4"}),children:[e.jsx(p,{id:"sf-poll-offers",label:"Offers hub tile",help:"Shows Pollmatic on /offers and /offers/surveys.",checked:i("offers_pollmatic_enabled",!0),disabled:d==="offers_pollmatic_enabled",onChange:s=>t("offers_pollmatic_enabled",s,"Pollmatic offers tile")}),e.jsx(p,{id:"sf-poll-community",label:"Community offerwalls panel",checked:i("community_offerwall_pollmatic_enabled",!0),disabled:d==="community_offerwall_pollmatic_enabled",onChange:s=>t("community_offerwall_pollmatic_enabled",s,"Pollmatic community panel")}),e.jsx(p,{id:"sf-poll-quals",label:"Show as Qualification tasks",help:"Surfaces Pollmatic screeners inside the Invited qualifications tab.",checked:i("qualifications_pollmatic_enabled",!0),disabled:d==="qualifications_pollmatic_enabled",onChange:s=>t("qualifications_pollmatic_enabled",s,"Pollmatic qualifications")}),e.jsxs("div",{className:"flex items-center justify-between gap-4 pt-3",children:[e.jsxs("div",{children:[e.jsx(j,{htmlFor:"sf-poll-max",className:"text-sm font-medium",children:"Max quals in Invited tab"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"0–50. Applied on the next page load."})]}),e.jsx(C,{id:"sf-poll-max",type:"number",min:0,max:50,defaultValue:c,onBlur:s=>{const r=Math.max(0,Math.min(50,Math.floor(Number(s.target.value))||0));r!==c&&t("qualifications_pollmatic_max",r,"Max Pollmatic qualifications")},className:"w-24 h-9"})]})]}),e.jsxs(w,{title:"GemiWall",description:"GemiAd placements: the offerwall tile (iframe), the native API offers section, and the Pipoly Says strip.",icon:e.jsx(E,{className:"h-4 w-4"}),children:[e.jsx(p,{id:"sf-gemiwall-tile",label:"Offerwall tile (iframe placement)",help:"Shows the GemiWall tile on /offers/apps, which opens the hosted offerwall.",checked:i("offers_gemiwall_enabled",!0),disabled:d==="offers_gemiwall_enabled",onChange:s=>t("offers_gemiwall_enabled",s,"GemiWall offerwall tile")}),e.jsx(p,{id:"sf-gemiwall-api",label:"Native offers section (API placement)",help:"Renders GemiWall offers directly inside /offers/apps below the partner tiles.",checked:i("offers_gemiwall_api_enabled",!0),disabled:d==="offers_gemiwall_api_enabled",onChange:s=>t("offers_gemiwall_api_enabled",s,"GemiWall native offers")}),e.jsx(p,{id:"sf-gemiwall-says",label:"Pipoly Says featured offers strip",help:"Rotates GemiWall offers into Says feed slots. Requires the native offers section to be on.",checked:i("says_gemiwall_enabled",!0),disabled:d==="says_gemiwall_enabled",onChange:s=>t("says_gemiwall_enabled",s,"GemiWall Says strip")})]}),e.jsxs(w,{title:"Community payments",description:"The Payments surface inside Community and its Hub entry point.",icon:e.jsx(oe,{className:"h-4 w-4"}),children:[e.jsx(p,{id:"sf-payments-tab",label:"Payments tab",checked:i("payments_tab_enabled",!0),disabled:d==="payments_tab_enabled",onChange:s=>t("payments_tab_enabled",s,"Payments tab")}),e.jsx(p,{id:"sf-payments-hub",label:"Hub shortcut to Payments",checked:i("payments_tab_hub_visible",!0),disabled:d==="payments_tab_hub_visible",onCh
2ange:s=>t("payments_tab_hub_visible",s,"Payments hub shortcut")})]})]})}function be(){const[a,l]=u.useState({is_enabled:!1,title:"Scheduled Maintenance",message:"We are currently performing scheduled maintenance. Please check back soon.",started_at:null,expected_end_at:null}),[i,m]=u.useState(!0),[d,t]=u.useState(!1),c=async()=>{try{const r=await N.getMaintenanceSettings();l(r)}catch(r){console.error("Error loading maintenance settings:",r),x.error("Failed to load maintenance settings")}finally{m(!1)}};u.useEffect(()=>{c()},[]);const s=async()=>{t(!0);try{await N.updateMaintenanceSettings({is_enabled:a.is_enabled,title:a.title,message:a.message,expected_end_at:a.expected_end_at}),x.success(a.is_enabled?"Maintenance mode enabled":"Settings saved"),c()}catch(r){x.error(r.message||"Failed to save settings")}finally{t(!1)}};return i?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(ee,{size:32,speed:1.2})}):e.jsxs("div",{className:"space-y-4",children:[e.jsxs(P,{className:a.is_enabled?"border-primary":"",children:[e.jsx(O,{className:"pb-4",children:e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:`p-2 rounded-full ${a.is_enabled?"bg-primary/20":"bg-green-500/20"}`,children:a.is_enabled?e.jsx(ae,{className:"h-5 w-5 text-primary"}):e.jsx(ue,{className:"h-5 w-5 text-green-500"})}),e.jsxs("div",{children:[e.jsx(W,{className:"text-lg",children:"Platform Status"}),e.jsx($,{children:a.is_enabled?"Users see the maintenance page when trying to access authenticated pages":"Platform is operating normally"})]})]}),e.jsx(S,{variant:a.is_enabled?"destructive":"default",children:a.is_enabled?"Under Maintenance":"Online"})]})}),e.jsxs(M,{children:[e.jsxs("div",{className:"flex items-center justify-between py-2 gap-4",children:[e.jsxs("div",{children:[e.jsx(j,{className:"text-base",children:"Enable Maintenance Mode"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"When enabled, authenticated users will see the maintenance page"})]}),e.jsx(V,{checked:a.is_enabled,onCheckedChange:r=>l({...a,is_enabled:r})})]}),a.started_at&&a.is_enabled&&e.jsxs("div",{className:"flex items-center gap-2 mt-4 text-sm text-muted-foreground",children:[e.jsx(se,{className:"h-4 w-4"}),e.jsxs("span",{children:["Maintenance started ",D(new Date(a.started_at),{addSuffix:!0})]})]})]})]}),e.jsxs(P,{children:[e.jsxs(O,{children:[e.jsx(W,{className:"text-base",children:"Maintenance Page Content"}),e.jsx($,{children:"Customize the message shown to users during maintenance"})]}),e.jsxs(M,{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(j,{children:"Title"}),e.jsx(C,{value:a.title,onChange:r=>l({...a,title:r.target.value}),placeholder:"Scheduled Maintenance"})]}),e.jsxs("div",{children:[e.jsx(j,{children:"Message"}),e.jsx(te,{value:a.message,onChange:r=>l({...a,message:r.target.value}),placeholder:"We are currently performing scheduled maintenance...",rows:4})]}),e.jsxs("div",{children:[e.jsx(j,{children:"Expected End Time"}),e.jsx(C,{type:"datetime-local",value:a.expected_end_at?me(new Date(a.expected_end_at),"yyyy-MM-dd'T'HH:mm"):"",onChange:r=>l({...a,expected_end_at:r.target.value?new Date(r.target.value).toISOString():null})}),e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Leave empty if the end time is unknown"})]}),e.jsxs(L,{onClick:s,disabled:d,className:"w-full",children:[e.jsx(H,{className:"h-4 w-4 mr-2"}),d?"Saving...":"Save Settings"]}),a.updated_at&&e.jsxs("p",{className:"text-xs text-muted-foreground text-center",children:["Last updated ",D(new Date(a.updated_at),{addSuffix:!0}),a.updated_by_display_id&&` by ${a.updated_by_display_id}`]})]})]})]})}function je({s:a}){const{rows:l,loading:i,savingKey:m,load:d,setMany:t}=a,[c,s]=u.useState({}),[r,y]=u.useState("");u.useEffect(()=>{const n={};for(const o of l)n[o.key]=JSON.stringify(o.value);s(n)},[l]);const g=u.useMemo(()=>{const n=r.trim().toLowerCase();return n?l.filter(o=>o.key.toLowerCase().includes(n)||(o.description||"").toLowerCase().includes(n)):l},[l,r]),v=l.filter(n=>(c[n.key]??"")!==JSON.stringify(n.value)).length,h=async()=>{const n=[];for(const o of l){const b=c[o.key]??"";let f;try{f=JSON.parse(b)}catch{return we(o.key)}JSON.stringify(f)!==JSON.stringify(o.value)&&n.push({key:o.key,value:f})}await t(n,`${n.length} setting(s) updated. Live within ~15s.`)};return e.jsx(P,{children:e.jsxs(M,{className:"p-4 space-y-4",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("h3",{className:"text-sm font-semibold flex items-center gap-2",children:[e.jsx(U,{className:"h-4 w-4"})," Raw settings",v>0&&e.jsxs(S,{variant:"secondary",className:"text-[10px]",children:[v," unsaved"]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["JSON values: numbers ",e.jsx("code",{children:"0"}),", strings ",e.jsx("code",{children:'"hello"'}),", booleans ",e.jsx("code",{children:"true"}),"."]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(L,{size:"sm",variant:"outline",onClick:d,disabled:i||!!m,children:[e.jsx(F,{className:`h-4 w-4 mr-1 ${i?"animate-spin":""}`})," Refresh"]}),e.jsxs(L,{size:"sm",onClick:h,disabled:i||!!m||v===0,children:[e.jsx(H,{className:"h-4 w-4 mr-1"})," Save"]})]})]}),e.jsxs("div",{className:"relative",children:[e.jsx(ne,{className:"h-4 w-4 absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),e.jsx(C,{value:r,onChange:n=>y(n.target.value),placeholder:"Filter keys…",className:"pl-9 h-9"})]}),i?e.jsx("div",{className:"text-center py-8 text-muted-foreground text-sm",children:"Loading…"}):g.length===0?e.jsx("div",{className:"text-center py-8 text-muted-foreground text-sm",children:"No matching settings."}):e.jsx("div",{className:"space-y-4",children:g.map(n=>{const o=(c[n.key]??"")!==JSON.stringify(n.value);return e.jsxs("div",{className:"space-y-1 border-b pb-3 last:border-0",children:[e.jsxs(j,{className:"text-xs font-mono flex items-center gap-2",children:[n.key,o&&e.jsx(S,{variant:"outline",className:"text-[9px]",children:"edited"})]}),n.description&&e.jsx("p",{className:"text-xs text-muted-foreground",children:n.description}),e.jsx(C,{value:c[n.key]??"",onChange:b=>s(f=>({...f,[n.key]:b.target.value})),className:"font-mono text-sm"}),e.jsxs("p",{className:"text-[10px] text-muted-foreground",children:["Updated ",new Date(n.updated_at).toLocaleStr
2ing()]})]},n.key)})}),e.jsx(G,{children:e.jsx(J,{className:"text-xs",children:"Editing a key here is identical to using its dedicated control — the same server cache invalidation applies (~15s propagation)."})})]})})}function we(a){le(async()=>{const{toast:l}=await import("./index-DWFe9eMF.js").then(i=>i.bj);return{toast:l}},__vite__mapDeps([0,1,2,3,4])).then(({toast:l})=>l.error(`Value for ${a} is not valid JSON.`))}const B=[{value:"payouts",label:"Payouts",icon:z},{value:"surfaces",label:"Surfaces",icon:E},{value:"maintenance",label:"Maintenance",icon:pe},{value:"advanced",label:"Advanced",icon:U}];function Ve(){const[a,l]=K(),i=B.some(c=>c.value===a.get("tab"))?a.get("tab"):"payouts",[m,d]=u.useState(i),t=fe();return u.useEffect(()=>{const c=new URLSearchParams(a);c.set("tab",m),l(c,{replace:!0})},[m]),e.jsxs("div",{className:"space-y-6",children:[e.jsx(Z,{title:"Settings",subtitle:"Every platform switch in one place — payout visibility, partner surfaces, maintenance and raw keys",icon:e.jsx(he,{className:"h-6 w-6"}),actions:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(S,{variant:"secondary",className:"text-[10px]",children:[t.rows.length," keys"]}),e.jsx(L,{size:"sm",variant:"outline",onClick:t.load,disabled:t.loading,children:e.jsx(F,{className:`h-4 w-4 ${t.loading?"animate-spin":""}`})})]})}),e.jsxs(X,{value:m,onValueChange:d,className:"space-y-5",children:[e.jsx("div",{className:"-mx-2 px-2 overflow-x-auto scrollbar-none",children:e.jsx(Q,{className:"inline-flex w-max gap-1",children:B.map(c=>e.jsxs(Y,{value:c.value,className:"whitespace-nowrap",children:[e.jsx(c.icon,{className:"h-4 w-4 mr-1"})," ",c.label]},c.value))})}),e.jsx(k,{value:"payouts",className:"mt-0",children:e.jsx(ge,{s:t})}),e.jsx(k,{value:"surfaces",className:"mt-0",children:e.jsx(ye,{s:t})}),e.jsx(k,{value:"maintenance",className:"mt-0",children:e.jsx(be,{})}),e.jsx(k,{value:"advanced",className:"mt-0",children:e.jsx(je,{s:t})})]})]})}export{Ve as default};

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.