1var e=[`manager`,`employee`,`subcontractor`],t={manager:`Manager`,employee:`Employee`,subcontractor:`Subcontractor`},n={manager:`Runs the day to day. Can add and edit Employees and Subcontractors.`,employee:`Your own team. Works the jobs and tasks they're given.`,subcontractor:`Outside help. The least reach of anyone who can sign in.`};function r(e){return e!==`subcontractor`}var i=`manageLeads.manageTasks.manageCustomers.manageEvents.manageTerms.signContracts.manageEmailTemplates.manageQuoteTemplates.manageInvoiceTemplates.manageFlows.manageContactForms.manageJobRoles.manageContacts.manageLeadStatuses.managePaymentPlans.manageTokens.managePayments.manageStaffRoles.inviteUsers.manageBrand.manageIntakeForms.manageJobBundles.manageMembersAccess.managePortalAccess.manageEmails.manageTaskDates.manageFreedomForms.reopenFreedomForms.releaseGatedItems.runStepByHand.manageChatMembers.manageCalendarFeeds`.split(`.`),a={manageLeads:`Manage leads`,manageTasks:`Manage tasks`,manageCustomers:`Manage customers`,manageEvents:`Manage jobs`,manageTerms:`Manage terms & conditions`,signContracts:`Sign contracts`,manageEmailTemplates:`Manage email templates`,manageQuoteTemplates:`Manage quote templates`,manageInvoiceTemplates:`Manage invoice design templates`,manageFlows:`Manage flows`,manageContactForms:`Manage contact forms`,manageJobRoles:`Manage job roles`,manageContacts:`Manage contacts`,manageLeadStatuses:`Manage lead statuses & closed reasons`,managePaymentPlans:`Manage payment plans`,manageTokens:`Manage tokens`,managePayments:`Manage payments`,manageStaffRoles:`Manage staff roles`,inviteUsers:`Invite users`,manageBrand:`Manage brand`,manageIntakeForms:`Manage intake forms`,manageJobBundles:`Manage job bundles`,manageMembersAccess:`Manage members access`,managePortalAccess:`Manage portal access`,manageEmails:`Manage emails`,manageTaskDates:`Can change tasks (dates, repeats, other people's tasks)`,manageFreedomForms:`Manage Freedom Form Templates`,reopenFreedomForms:`Reopen a Freedom Form (and add rows to one)`,releaseGatedItems:`Release gated items (send, change, delay, throw away)`,runStepByHand:`Run a step by hand`,manageChatMembers:`Manage chat members (invite and remove, in channels you're in)`,manageCalendarFeeds:`Manage calendar feeds`},o=Object.fromEntries(i.map(e=>[e,!1]));function s(e,t){if(e===void 0&&t===void 0)return{...o};let n=e??{},r={...o,...e};for(let[e,t]of Object.entries(c))n[e]===void 0&&n[t]!==void 0&&(r[e]=n[t]===!0);if(t){let a={role:t.role,permissions:e};for(let e of i)n[e]===void 0&&l[e]!==void 0&&(r[e]=u(a,e,t.level))}return r}var c={manageEvents:`manageJobs`},l={manageBrand:{from:`levels`,levels:[`manager`]},manageIntakeForms:{from:`nobody`},manageJobBundles:{from:`tick`,key:`manageQuoteTemplates`},manageMembersAccess:{from:`levels`,levels:[`manager`]},managePortalAccess:{from:`levels`,levels:[`manager`]},manageEmails:{from:`nobody`},manageTaskDates:{from:`tick`,key:`manageTasks`},manageFreedomForms:{from:`nobody`},reopenFreedomForms:{from:`levels`,levels:[`manager`]},releaseGatedItems:{from:`levels`,levels:[`manager`]},runStepByHand:{from:`nobody`},manageChatMembers:{from:`nobody`},manageCalendarFeeds:{from:`nobody`}};function u(e,t,n){if(e.role===`owner`)return!0;if(e.role!==`user`||n!==void 0&&!r(n))return!1;let i=e.permissions;
1if(i?.[t]!==void 0)return i[t]===!0;let a=l[t];if(a!==void 0)return a.from===`nobody`?!1:a.from===`tick`?u(e,a.key,n):n===`owner`?!0:n==null?!1:a.levels.includes(n);let o=c[t];return o?i?.[o]===!0:!1}export{e as a,r as c,s as i,a as n,n as o,u as r,t as s,i as 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.