PageSourceSearch

https://rolandic.ai/assets/subscriptionState-Tnph3LVC.js

js rolandic.ai collected 2026-10-05 14:40:56 UTC 2,554 bytes, 1 lines download raw bytes

1const i={pricing:"/pricing",contact:"/contact",privacyTerms:"/privacy-terms",privacyPolicy:"/privacy-terms?section=privacy",attributions:"/attributions",anatomy:"/anatomy/"},d={brandName:"Rolandic"},I=[{href:i.anatomy,label:"Anatomy Index"},{href:i.pricing,label:"Pricing"},{href:i.contact,label:"Contact"},{href:i.privacyPolicy,label:"Privacy Policy"},{href:i.privacyTerms,label:"Terms of Service"},{href:i.attributions,label:"Attributions"}],c=["50 queries / day","Unlimited model access","Full access to 3D engine","Intelligent anatomy assistant","Save and customize scenes"],r={free:{id:"free",title:"Free Plan",priceUsd:0,priceLabel:"$0",periodLabel:"/ month",billingIntervalMonths:1,billingDescription:"Monthly access",features:["5 queries / day","5 model access / day","Full access to 3D engine","Intelligent anatomy assistant"]},pro:{id:"pro",title:"Pro Plan (Monthly)",priceUsd:5.99,priceLabel:"$5.99",periodLabel:"/ month",billingIntervalMonths:1,billingDescription:"Monthly subscription",features:c},"pro-quarterly":{id:"pro-quarterly",title:"Pro Plan (Q3Month)",priceUsd:14.4,priceLabel:"$14.40",periodLabel:"/ 3 months",billingIntervalMonths:3,billingDescription:"Quarterly subscription",badgeLabel:"20% off",isPrimary:!0,features:c}},P={brand:d,homepage:{headline:"Interactive 3D anatomy with AI",supportCopy:"Rolandic Anatomy helps you explore human anatomy with interactive 3D models, AI-guided explanations, and clinically grounded context."}},g={free:{...r.free,id:"free"},pro:{...r.pro,id:"pro"},"pro-quarterly":{...r["pro-quarterly"],id:"pro-quarterly"}},u=["pro","pro-quarterly"],o="pro",s=t=>u.includes(t),m=t=>t&&s(t)?t:o,b=new Set(["trialing","active","past_due","unpaid","incomplete"]),_=t=>{if(!t||typeof t!="object")return{};const e=t.app_metadata;return e&&typeof e=="object"?e:{}},a=t=>typeof t=="string"?t.trim().toLowerCase():"",l=t=>{const e=_(t);return{appMetadata:e,subscriptionStatus:a(e.subscription_status),subscriptionTier:a(e.subscription_tier),subscriptionPlanId:a(e.subscription_plan_id),subscriptionCurrentPeriodEnd:typeof e.subscription_current_period_end=="string"?e.subscription_current_period_end:"",cancelAtPeriodEnd:typeof e.subscription_cancel_at_period_end=="boolean"?e.subscription_cancel_at_period_end:!1}},y=t=>{const{subscriptionStatus:e,subscriptionPlanId:n,subscriptionTier:p}=l(t);return b.has(e)?s(n)||p==="pro":!1},f=(t,e=o)=>{if(!y(t))return null;const{subscriptionPlanId:n}=l(t);return s(n)?n:e},L=t=>t?t.replace(/_/g," "):"";export{g as B,P,I as a,u as b,l as c,L as f,f as g,y as h,m as r};

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.