PageSourceSearch

https://xpressnotes.com/assets/EditSubscriptionPlan-D-SV3LAh.js

js xpressnotes.com collected 2026-10-02 01:52:39 UTC 19,040 bytes, 1 lines download raw bytes

1import{b as g,D as A,o as x,m as V,y,x as F,e as k,f as t,z as S,I as h,J as s,L as n,a3 as c,M as d,A as f,B as C}from"./vue-C6nllh_u.js";import{a as E,u as B}from"./vue-router-A_znAoLq.js";import{m as P}from"./api-C_0bJB54.js";import{invalidatePublicPlansCache as L}from"./usePublicPlans-BoyscrUv.js";import{_ as R}from"./AppPageLayout-C6MCFS4v.js";import{_ as H}from"./AdminMobileNavDropdown-8YeEPbtM.js";import{ae as I}from"./public-shell-DffRkNN5.js";import"./axios-pRYd_7-C.js";import"./content-Eu3Uj9Gq.js";import"./guestSession-DwsUpiJF.js";import"./mixpanel-CC0U2lnZ.js";import"./timezone-8aG20R5G.js";import"./Sidebar-WOp6ER8K.js";import"./usePressOrLongPress-BLGANpVn.js";import"./notesListScopeCache-DUQWKTiv.js";import"./useNoteLock-UGVyiA1O.js";import"./reminderNotificationPlatformCopy-B7yvW0jJ.js";import"./reminderNotificationSupport-B2Xa-C6g.js";import"./nativeReminderNotifications-CV2TYauu.js";import"./useSearchDialog-QlBzUUyw.js";import"./useNotesLayoutUi-RPtysoL9.js";import"./adminNavItems-B9s4DUA6.js";(function(){try{var o=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};o.SENTRY_RELEASE={id:"7c7a840cab72dfbf1e05cb33c0b815fac74b80f2"};var u=new o.Error().stack;u&&(o._sentryDebugIds=o._sentryDebugIds||{},o._sentryDebugIds[u]="4b734cf7-30f0-43f3-b1aa-33140d61bcdf",o._sentryDebugIdIdentifier="sentry-dbid-4b734cf7-30f0-43f3-b1aa-33140d61bcdf")}catch{}})();function T(o,u){if(o==null||!Object.prototype.hasOwnProperty.call(o,u))return!1;const m=o[u];return m!=null&&m!==""}function N(o,u){return T(o,u)?o[u]:null}function U(o){return o==null||o===""||Number.isNaN(o)}function O(o={}){const u={...o};return U(u.maxMcpCallsPerMonth)&&delete u.maxMcpCallsPerMonth,U(u.mcpAccess)&&delete u.mcpAccess,u}const $={key:0,class:"flex justify-center items-center py-12"},j={key:1,class:"bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4 mb-6"},z={class:"text-red-800 dark:text-red-200"},G={key:2,class:"max-w-3xl mx-auto"},q={class:"card p-6 space-y-6"},J={class:"grid grid-cols-2 gap-4"},Y={class:"space-y-4"},K={class:"grid grid-cols-2 gap-4"},Q={class:"flex gap-2"},W={class:"space-y-4"},X={class:"grid grid-cols-2 gap-4"},Z={class:"flex items-center"},_={class:"flex items-center"},ee={class:"flex items-center"},te={class:"flex items-center"},ae={class:"flex items-center"},re={class:"flex items-center"},le={class:"flex items-center"},se={class:"flex items-center"},oe={class:"flex items-center"},ue={class:"grid grid-cols-2 gap-4"},ne={class:"flex items-center space-x-6"},de={class:"flex items-center"},ie={class:"flex items-center"},me={class:"flex justify-end space-x-3"},pe=["disabled"],Le={__name:"EditSubscriptionPlan",setup(o){const u=E(),m=B(),v=g(!0),b=g(!1),p=g(null),l=g(null),a=g({name:"",displayName:"",description:"",price:0,currency:"USD",features:{maxNotes:-1,maxDiaries:-1,maxNotebooks:-1,maxStorage:-1,maxStorageUnit:"MB",maxPagesPerNote:-1,versionHistoryDepth:1,maxAiSummariesPerMonth:10,maxMcpCallsPerMonth:null,mcpAccess:"",searchFunctionality:!1,tagsSupport:!1,notesShares:!1,appLock:!1,twoFactorAuth:!1,sync:"Standard",deleteRetentionDays:0,exportNotes:!1,markdownEditor:!1,reminders:!1,customStyling:"None",supportHours:0,ssoSamlAuthentication:!1},isActive:!0,isDefault:!1,sortOrder:0}),D=async()=>{try{v.value=!0,p.value=null;const i=u.params.id,e=await P.getPlan(i);if(l.value=e.plan||e,!l.value)throw new Error("Plan not found");a.value={name:l.value.name,displayName:l.value.displayName,description:l.value.description||"",price:l.value.price||0,currency:l.value.currency||"USD",features:{maxNotes:l.value.features?.maxNotes??l.value.limits?.maxNotes??-1,maxDiaries:l.value.features?.maxDiaries??l.value.limits?.maxDiaries??-1,maxNotebooks:l.value.features?.maxNotebooks??l.value.limits?.maxNotebooks??-1,maxStorage:l.value.features?.maxStorage??l.value.limits?.maxStorage??-1,maxStorageUnit:l.value.features?.maxStorageUnit??l.value.limits?.maxStorageUnit??"MB",maxPagesPerNote:l.value.features?.maxPagesPerNote??l.value.limits?.maxPagesPerNote??-1,versionHistoryDepth:l.value.features?.versionHistoryDepth??1,maxAiSummariesPerMonth:l.value.features?.maxAiSummariesPerMonth??10,maxMcpCallsPerMonth:N(l.value.features,"maxMcpCallsPerMonth"),mcpAccess:N(l.value.features,"mcpAccess")??"",searchFunctionality:l.value.features?.searchFunctionality??l.value.searchFunctionality??!1,tagsSupport:l.value.features?.tagsSupport??l.value.tagsSupport??!1,notesShares:l.value.features?.notesShares??l.value.notesShares??!1,appLock:l.value.features?.appLock??l.value.features?.noteLock??l.value.a
1ppLock??l.value.noteLock??!1,twoFactorAuth:l.value.features?.twoFactorAuth??l.value.twoFactorAuth??!1,sync:l.value.features?.sync??l.value.sync??"Standard",deleteRetentionDays:l.value.features?.deleteRetentionDays??l.value.deleteRetentionDays??0,exportNotes:l.value.features?.exportNotes??l.value.exportNotes??!1,markdownEditor:l.value.features?.markdownEditor??l.value.markdownEditor??!1,reminders:l.value.features?.reminders??l.value.reminders??!1,customStyling:l.value.features?.customStyling??l.value.customStyling??"None",supportHours:l.value.features?.supportHours??l.value.supportHours??0,ssoSamlAuthentication:l.value.features?.ssoSamlAuthentication??l.value.ssoSamlAuthentication??!1},isActive:l.value.isActive!==!1,isDefault:l.value.isDefault||!1,sortOrder:l.value.sortOrder||0}}catch(i){p.value=i.response?.data?.error||"Failed to load subscription plan"}finally{v.value=!1}},M=async()=>{try{b.value=!0,p.value=null,await P.updatePlan(u.params.id,{...a.value,features:O(a.value.features)}),L(),m.push("/app/admin/subscription")}catch(i){p.value=i.response?.data?.error||"Failed to save plan"}finally{b.value=!1}};return A(async()=>{await D()}),(i,e)=>{const w=F("router-link");return x(),V(R,{title:"Edit Subscription Plan","show-sidebar":!1,"account-manage-chrome":!0},{"header-actions":y(()=>[f(H)]),"back-button":y(()=>[f(w,{to:"/app/admin/subscription",class:"hidden md:flex w-9 h-9 rounded-lg border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 hover:border-gray-400 dark:hover:border-gray-500 transition-colors items-center justify-center",title:"Back to Subscription Plans"},{default:y(()=>[f(I,{name:"chevron-left",size:20})]),_:1})]),default:y(()=>[v.value&&!l.value?(x(),k("div",$,[...e[30]||(e[30]=[t("div",{class:"text-gray-600 dark:text-gray-400"},"Loading plan...",-1)])])):p.value?(x(),k("div",j,[t("p",z,S(p.value),1),t("button",{onClick:e[0]||(e[0]=r=>i.$router.push("/app/admin/subscription")),class:"mt-4 px-4 py-2 border border-red-300 dark:border-red-600 rounded-lg hover:bg-red-50 dark:hover:bg-red-900/20 transition-colors text-sm font-medium text-red-600 dark:text-red-400"}," Go Back ")])):(x(),k("div",G,[t("form",{onSubmit:h(M,["prevent"]),class:"space-y-6"},[t("div",q,[t("div",null,[e[31]||(e[31]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Plan Name (ID) ",-1)),s(t("input",{"onUpdate:modelValue":e[1]||(e[1]=r=>a.value.name=r),type:"text",required:"",disabled:"",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-400 cursor-not-allowed",placeholder:"free, pro, ultimate"},null,512),[[n,a.value.name]]),e[32]||(e[32]=t("p",{class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},"Plan ID cannot be changed",-1))]),t("div",null,[e[33]||(e[33]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Display Name ",-1)),s(t("input",{"onUpdate:modelValue":e[2]||(e[2]=r=>a.value.displayName=r),type:"text",required:"",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100",placeholder:"Free Plan"},null,512),[[n,a.value.displayName]])]),t("div",null,[e[34]||(e[34]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Description ",-1)),s(t("textarea",{"onUpdate:modelValue":e[3]||(e[3]=r=>a.value.description=r),rows:"3",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100",placeholder:"Plan description"},null,512),[[n,a.value.description]])]),t("div",J,[t("div",null,[e[35]||(e[35]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Price ",-1)),s(t("input",{"onUpdate:modelValue":e[4]||(e[4]=r=>a.value.price=r),type:"number",step:"0.01",min:"0",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.price,void 0,{number:!0}]])]),t("div",null,[e[36]||(e[36]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Currency ",-1)),s(t("input",{"onUpdate:modelValue":e[5]||(e[5]=r=>a.value.currency=r),type:"text",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100",placeholder:"USD"},null,512),[[n,a.value.currency]])])]),t("div",Y,[e[49]||(e[49]=t("h4",{class:"font-medium text-gray-700 dark:text-gray-300"},"Limits (-1 for unlimited)",-1)),t("div",K,[t("div",null,[e[37]||(e[37]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Max notes ",-1)),s(t("input",{"onUpdate:modelValue":e[6]||(e[6]=r=>a.value.features.maxNotes=r),type:"number",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.features.maxNotes,void 0,{number:!0}]])]),t("div",null,[e[38]||(e[38]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Max pages per note ",-1)),s(t("input",{"onUpdate:modelValue":e[7]||
1(e[7]=r=>a.value.features.maxPagesPerNote=r),type:"number",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.features.maxPagesPerNote,void 0,{number:!0}]])]),t("div",null,[e[39]||(e[39]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Version history depth ",-1)),s(t("input",{"onUpdate:modelValue":e[8]||(e[8]=r=>a.value.features.versionHistoryDepth=r),type:"number",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.features.versionHistoryDepth,void 0,{number:!0}]])]),t("div",null,[e[40]||(e[40]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Max notebooks ",-1)),s(t("input",{"onUpdate:modelValue":e[9]||(e[9]=r=>a.value.features.maxNotebooks=r),type:"number",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.features.maxNotebooks,void 0,{number:!0}]])]),t("div",null,[e[41]||(e[41]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Max diary ",-1)),s(t("input",{"onUpdate:modelValue":e[10]||(e[10]=r=>a.value.features.maxDiaries=r),type:"number",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.features.maxDiaries,void 0,{number:!0}]])]),t("div",null,[e[43]||(e[43]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Storage limit ",-1)),t("div",Q,[s(t("input",{"onUpdate:modelValue":e[11]||(e[11]=r=>a.value.features.maxStorage=r),type:"number",class:"flex-1 p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.features.maxStorage,void 0,{number:!0}]]),s(t("select",{"onUpdate:modelValue":e[12]||(e[12]=r=>a.value.features.maxStorageUnit=r),class:"px-3 py-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},[...e[42]||(e[42]=[t("option",{value:"MB"},"MB",-1),t("option",{value:"GB"},"GB",-1)])],512),[[c,a.value.features.maxStorageUnit]])])]),t("div",null,[e[44]||(e[44]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Max AI summaries / month ",-1)),s(t("input",{"onUpdate:modelValue":e[13]||(e[13]=r=>
1a.value.features.maxAiSummariesPerMonth=r),type:"number",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.features.maxAiSummariesPerMonth,void 0,{number:!0}]])]),t("div",null,[e[45]||(e[45]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Max MCP calls / month ",-1)),s(t("input",{"onUpdate:modelValue":e[14]||(e[14]=r=>a.value.features.maxMcpCallsPerMonth=r),type:"number",placeholder:"Not set",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.features.maxMcpCallsPerMonth,void 0,{number:!0}]]),e[46]||(e[46]=t("p",{class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},"Use -1 for unlimited.",-1))]),t("div",null,[e[48]||(e[48]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," MCP access ",-1)),s(t("select",{"onUpdate:modelValue":e[15]||(e[15]=r=>a.value.features.mcpAccess=r),class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},[...e[47]||(e[47]=[t("option",{value:""},"Not set",-1),t("option",{value:"none"},"None",-1),t("option",{value:"read"},"Read",-1),t("option",{value:"readwrite"},"Read & write",-1)])],512),[[c,a.value.features.mcpAccess]])])])]),t("div",W,[e[63]||(e[63]=t("h4",{class:"font-medium text-gray-700 dark:text-gray-300"},"Features",-1)),t("div",X,[t("label",Z,[s(t("input",{"onUpdate:modelValue":e[16]||(e[16]=r=>a.value.features.searchFunctionality=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.features.searchFunctionality]]),e[50]||(e[50]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"Search functionality",-1))]),t("label",_,[s(t("input",{"onUpdate:modelValue":e[17]||(e[17]=r=>a.value.features.tagsSupport=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.features.tagsSupport]]),e[51]||(e[51]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"Tags support",-1))]),t("label",ee,[s(t("input",{"onUpdate:modelValue":e[18]||(e[18]=r=>a.value.features.notesShares=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.features.notesShares]]),e[52]||(e[52]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"Notes shares",-1))]),t("label",te,[s(t("input",{"onUpdate:modelValue":e[19]||(e[19]=r=>a.value.features.appLock=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.features.appLock]]),e[53]||(e[53]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"App lock",-1))]),t("label",ae,[s(t("input",{"onUpdate:modelValue":e[20]||(e[20]=r=>a.value.features.twoFactorAuth=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.features.twoFactorAuth]]),e[54]||(e[54]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"Two-step verification",-1))]),t("label",re,[s(t("input",{"onUpdate:modelValue":e[21]||(e[21]=r=>a.value.features.exportNotes=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.features.exportNotes]]),e[55]||(e[55]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"Export notes",-1))]),t("label",le,[s(t("input",{"onUpdate:modelValue":e[22]||(e[22]=r=>a.value.features.markdownEditor=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.features.markdownEditor]]),e[56]||(e[56]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"Markdown editor",-1))]),t("label",se,[s(t("input",{"onUpdate:modelValue":e[23]||(e[23]=r=>a.value.features.reminders=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.features.reminders]]),e[57]||(e[57]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"Reminders",-1))]),t("label",oe,[s(t("input",{"onUpdate:modelValue":e[24]||(e[24]=r=>a.value.features.ssoSamlAuthentication=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.features.ssoSamlAuthentication]]),e[58]||(e[58]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"SSO/SAML authentication",-1))])]),t("div",ue,[t("div",null,[e[60]||(e[60]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Custom styling ",-1)),s(t("select",{"onUpdate:modelValue":e[25]||(e[25]=r=>a.value.features.customStyling=r),class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},[...e[59]||(e[59]=[t("option",{value:"None"},"None",-1),t("option",{value:"Font Size"},"Font Size",-1)])],512),[[c,a.value.features.customStyling]])]),t("div",null,[e[61]||(e[61]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Delete retention (Days) ",-1)),s(t("input",{"onUpdate:modelValue":e[26]||(e[26]=r=>a.value.features.deleteRetentionDays=r),type:"number",min:"0",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.features.deleteRetentionDays,void 0,{number:!0}]])]),t("div",null,[e[62]||(e[62]=t("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2"}," Support (Hours) ",-1)),s(t("input",{"onUpdate:modelValue":e[27]||(e[27]=r=>a.value.features.supportHours=r),type:"number",min:"0",class:"w-full p-3 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100"},null,512),[[n,a.value.features.supportHours,void 0,{number:!0}]])])])]),t("div",ne,[t("label",de,[s(t("input",{"onUpdate:modelValue":e[28]||(e[28]=r=>a.value.isActive=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.isActive]]),e[64]||(e[64]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"Active",-1))]),t("label",ie,[s(t("input",{"onUpdate:modelValue":e[29]||(e[29]=r=>a.value.isDefault=r),type:"checkbox",class:"mr-2 w-4 h-4"},null,512),[[d,a.value.isDefault]]),e[65]||(e[65]=t("span",{class:"text-sm text-gray-700 dark:text-gray-300"},"Default Plan",-1))])])]),t("div",me,[f(w,{to:"/app/admin/subscription",class:"px-6 py-2 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors"},{default:y(()=>[...e[66]||(e[66]=[C(" Cancel ",-1)])]),_:1}),t("button",{type:"submit",disabled:b.value,class:"px-6 py-2 bg-xn-
1primary text-white rounded-lg hover:bg-xn-primary-dark transition-colors disabled:opacity-50 disabled:cursor-not-allowed"},S(b.value?"Saving...":"Update Plan"),9,pe)])],32)]))]),_:1})}}};export{Le 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.