@overmap-ai/core 2.0.5-form-submission-comments.0 → 2.0.6-comment-attachment-improvements.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/overmap-core.js +5104 -4945
- package/dist/overmap-core.umd.cjs +6 -6
- package/dist/sdk/services/AssetCommentAttachmentService.d.ts +31 -0
- package/dist/sdk/services/IssueCommentAttachmentService.d.ts +1 -0
- package/dist/sdk/services/IssueUpdateService.d.ts +2 -0
- package/dist/sdk/services/index.d.ts +1 -0
- package/dist/store/reducers.d.ts +3 -0
- package/dist/store/slices/assetCommentAttachmentSlice.d.ts +22 -0
- package/dist/store/slices/assetSlice.d.ts +1 -0
- package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +1 -0
- package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/assetTypeFieldsSlice.d.ts +1 -0
- package/dist/store/slices/assetTypeStatusSlice.d.ts +1 -0
- package/dist/store/slices/emailDomainsSlice.d.ts +1 -0
- package/dist/store/slices/formRevisionAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/formRevisionSlice.d.ts +1 -0
- package/dist/store/slices/formSlice.d.ts +1 -0
- package/dist/store/slices/geoImageSlice.d.ts +1 -0
- package/dist/store/slices/index.d.ts +1 -0
- package/dist/store/slices/issueAssociationSlice.d.ts +1 -0
- package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +1 -0
- package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/issueTypeFieldsSlice.d.ts +1 -0
- package/dist/store/slices/issueTypePrioritySlice.d.ts +1 -0
- package/dist/store/slices/issueTypeStatusSlice.d.ts +1 -0
- package/dist/store/slices/issueUpdateSlice.d.ts +3 -0
- package/dist/store/slices/organizationSlice.d.ts +1 -0
- package/dist/store/slices/procedureFieldValuesSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepAssigneeSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepCommentSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepDefaultAssigneeSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepDefaultReviewerSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepEventSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepFieldValuesAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepFieldValuesReviewSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepFieldValuesSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepFieldsAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepFieldsSlice.d.ts +2 -0
- package/dist/store/slices/procedureStepReviewerSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepSlice.d.ts +1 -0
- package/dist/store/slices/procedureTypeAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/procedureTypeFieldValuesAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/procedureTypeFieldsAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/projectFileSlice.d.ts +1 -0
- package/dist/store/slices/projectSlice.d.ts +1 -0
- package/dist/store/slices/reportSlice.d.ts +1 -0
- package/dist/store/slices/userSlice.d.ts +1 -0
- package/package.json +3 -3
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
(function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("@overmap-ai/common"),require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("idb"),require("jwt-decode"),require("dependency-graph")):typeof define=="function"&&define.amd?define(["exports","@overmap-ai/common","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","idb","jwt-decode","dependency-graph"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s["overmap-core"]={},s.common,null,s.toolkit,s.request,s.uuid,s.reduxOffline,s.offlineConfig,s.localforage,s.idb,s.jwtDecode,s.dependencyGraph))})(this,(function(s,l,CR,u,mt,rt,UF,mn,kF,LF,HF,GF){"use strict";const fn=["created_at","updated_at","index","revision"];var o=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(o||{});function O(t){return{addOne:(f,A)=>{const I=t(A.payload);I in f.instances||(f.instances[I]=A.payload)},addMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances||(f.instances[S]=I)}},updateOne:(f,A)=>{const I=t(A.payload);I in f.instances&&(f.instances[I]=A.payload)},setMany:(f,A)=>{for(const I of A.payload){const S=t(I);f.instances[S]=I}},setOne:(f,A)=>{const I=t(A.payload);f.instances[I]=A.payload},updateMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances&&(f.instances[S]=I)}},deleteOne:(f,A)=>{delete f.instances[A.payload]},deleteMany:(f,A)=>{for(const I of A.payload)delete f.instances[I]},initialize:(f,A)=>{f.instances={};const I=new Set;for(const S of A.payload){const P=t(S);I.add(P),f.instances[P]=S}I.size!==A.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function NF(t){return{initializeSelection:(p,h)=>{p[t]=Array.from(new Set(h.payload))},selectOne:(p,h)=>{console.debug(p,p[t]),!new Set(p[t]).has(h.payload)&&p[t].push(h.payload)},selectMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)||f.add(A);p[t]=Array.from(f)},unselectOne:(p,h)=>{const f=new Set(p[t]);f.has(h.payload)&&(f.delete(h.payload),p[t]=Array.from(f))},unselectMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)&&f.delete(A);p[t]=Array.from(f)},toggleOne:(p,h)=>{const f=new Set(p[t]);f.has(h.payload)?f.delete(h.payload):f.add(h.payload),p[t]=Array.from(f)},toggleMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)?f.delete(A):f.add(A);p[t]=Array.from(f)}}}const T=u.createAction("RESET"),E=u.createAction("RESET_PROJECT_STATE"),b=u.createAction("RESET_ORGANIZATION_STATE"),y=(t=>(...e)=>i=>t(i,...e)),$=O(t=>t.uuid),Sn={instances:{}},rs=u.createSlice({name:"agents",initialState:Sn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Sn)),reducers:{initializeConversations:$.initialize,addConversation:$.addOne,addConversations:$.addMany,setConversation:$.setOne,setConversations:$.setMany,updateConversation:$.updateOne,updateConversations:$.updateMany,deleteConversation:$.deleteOne,deleteConversations:$.deleteMany}}),{initializeConversations:An,addConversation:Tn,addConversations:KF,setConversation:In,setConversations:WF,updateConversation:On,updateConversations:XF,deleteConversation:YF,deleteConversations:ZF}=rs.actions,ds=t=>t.agentsReducer.instances,JF=u.createSelector([ds],t=>Object.values(t)),QF=y(u.createSelector([ds,(t,e)=>e],(t,e)=>t[e])),Pn=rs.reducer,U=O(t=>t.uuid),bn={instances:{}},us=u.createSlice({name:"assetAttachments",initialState:bn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,bn)),reducers:{initializeAssetAttachments:U.initialize,addAssetAttachment:U.addOne,addAssetAttachments:U.addMany,setAssetAttachment:U.setOne,setAssetAttachments:U.setMany,updateAssetAttachment:U.updateOne,updateAssetAttachments:U.updateMany,deleteAssetAttachment:U.deleteOne,deleteAssetAttachments:U.deleteMany}}),{initializeAssetAttachments:Fn,addAssetAttachment:_n,addAssetAttachments:ls,setAssetAttachment:Mn,setAssetAttachments:gn,updateAssetAttachment:Rn,updateAssetAttachments:wn,deleteAssetAttachment:En,deleteAssetAttachments:os}=us.actions,vn=t=>t.assetAttachmentReducer.instances,hs=u.createSelector([vn],t=>Object.values(t)),Vn=t=>e=>e.assetAttachmentReducer.instances[t],Bn=y(u.createSelector([hs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),zn=y(u.createSelector([hs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>e===i)))),jn=us.reducer,k=O(t=>t.uuid),Dn={instances:{}},ps=u.createSlice({name:"assetComments",initialState:Dn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Dn)),reducers:{initializeAssetComments:k.initialize,addAssetComment:k.addOne,addAssetComments:k.addMany,setAssetComment:k.setOne,setAssetComments:k.setMany,updateAssetComment:k.updateOne,updateAssetComments:k.updateMany,deleteAssetComment:k.deleteOne,deleteAssetComments:k.deleteMany}}),{initializeAssetComments:Cn,addAssetComment:qn,addAssetComments:zt,setAssetComment:$n,setAssetComments:Un,updateAssetComment:kn,updateAssetComments:Ln,deleteAssetComment:Hn,deleteAssetComments:jt}=ps.actions,Gn=t=>t.assetCommentReducer.instances,Dt=u.createSelector([Gn],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),Nn=t=>e=>e.assetCommentReducer.instances[t],Kn=y(u.createSelector([Dt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Wn=y(u.createSelector([Dt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),Xn=y(u.createSelector([Dt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.asset)))})),Yn=ps.reducer,L=O(t=>t.uuid),Zn={instances:{}},ys=u.createSlice({name:"assets",initialState:Zn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Zn)),reducers:{initializeAssets:L.initialize,addAsset:L.addOne,addAssets:L.addMany,setAsset:L.setOne,setAssets:L.setMany,updateAsset:L.updateOne,updateAssets:L.updateMany,deleteAsset:L.deleteOne,deleteAssets:L.deleteMany}}),{initializeAssets:Jn,addAsset:Qn,addAssets:ms,updateAsset:xn,updateAssets:ec,deleteAsset:tc,deleteAssets:fs,setAsset:sc,setAssets:ic}=ys.actions,ac=t=>t.assetReducer.instances,Ct=u.createSelector([ac],t=>l.fallbackToEmptyArray(Object.values(t))),xF=y(u.createSelector([Ct,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),nc=y(u.createSelector([Ct,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),cc=t=>e=>e.assetReducer.instances[t],rc=y(u.createSelector([Ct,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dc=ys.reducer,H=O(t=>t.uuid),uc={instances:{}},Ss=u.createSlice({name:"assetTypeAttachments",initialState:uc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,uc)),reducers:{initializeAssetTypeAttachments:H.initialize,addAssetTypeAttachment:H.addOne,addAssetTypeAttachments:H.addMany,setAssetTypeAttachment:H.setOne,setAssetTypeAttachments:H.setMany,updateAssetTypeAttachment:H.updateOne,updateAssetTypeAttachments:H.updateMany,deleteAssetTypeAttachment:H.deleteOne,deleteAssetTypeAttachments:H.deleteMany}}),{initializeAssetTypeAttachments:lc,addAssetTypeAttachment:oc,addAssetTypeAttachments:As,setAssetTypeAttachment:hc,setAssetTypeAttachments:pc,updateAssetTypeAttachment:yc,updateAssetTypeAttachments:mc,deleteAssetTypeAttachment:fc,deleteAssetTypeAttachments:Ts}=Ss.actions,Sc=t=>t.assetTypeAttachmentReducer.instances,Is=u.createSelector([Sc],t=>Object.values(t)),Ac=t=>e=>e.assetTypeAttachmentReducer.instances[t],Tc=y(u.createSelector([Is,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ic=y(u.createSelector([Is,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_type:i})=>e===i)))),Oc=Ss.reducer,G=O(t=>t.uuid),Pc={instances:{}},Os=u.createSlice({name:"assetTypeFieldsAttachments",initialState:Pc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Pc)),reducers:{initializeAssetTypeFieldsAttachments:G.initialize,addAssetTypeFieldsAttachment:G.addOne,addAssetTypeFieldsAttachments:G.addMany,setAssetTypeFieldsAttachment:G.setOne,setAssetTypeFieldsAttachments:G.setMany,updateAssetTypeFieldsAttachment:G.updateOne,updateAssetTypeFieldsAttachments:G.updateMany,deleteAssetTypeFieldsAttachment:G.deleteOne,deleteAssetTypeFieldsAttachments:G.deleteMany}}),{initializeAssetTypeFieldsAttachments:bc,addAssetTypeFieldsAttachment:Fc,addAssetTypeFieldsAttachments:_c,setAssetTypeFieldsAttachment:Mc,setAssetTypeFieldsAttachments:gc,updateAssetTypeFieldsAttachment:Rc,updateAssetTypeFieldsAttachments:wc,deleteAssetTypeFieldsAttachment:Ec,deleteAssetTypeFieldsAttachments:vc}=Os.actions,Vc=t=>t.assetTypeFieldsAttachmentReducer.instances,Ps=u.createSelector([Vc],t=>Object.values(t)),e_=y(u.createSelector([Ps,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),Bc=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],zc=y(u.createSelector([Ps,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),jc=Os.reducer,N=O(t=>t.uuid),Dc={instances:{}},bs=u.createSlice({name:"assetTypeFields",initialState:Dc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Dc)),reducers:{initializeAssetTypeFields:N.initialize,addAssetTypeFields:N.addOne,addAssetTypeFieldsMany:N.addMany,setAssetTypeFields:N.setOne,setAssetTypeFieldsMany:N.setMany,updateAssetTypeFields:N.updateOne,updateAssetTypeFieldsMany:N.updateMany,deleteAssetTypeFields:N.deleteOne,deleteAssetTypeFieldsMany:N.deleteMany}}),{initializeAssetTypeFields:Cc,addAssetTypeFields:qc,addAssetTypeFieldsMany:$c,setAssetTypeFields:Uc,setAssetTypeFieldsMany:kc,updateAssetTypeFields:Lc,updateAssetTypeFieldsMany:Hc,deleteAssetTypeFields:Gc,deleteAssetTypeFieldsMany:Nc}=bs.actions,Kc=t=>t.assetTypeFieldsReducer.instances,Ft=u.createSelector([Kc],t=>Object.values(t)),t_=y(u.createSelector([Ft,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),s_=y(u.createSelector([Ft,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).toSorted(l.submittedAtModelSortFn).pop())),Wc=t=>e=>e.assetTypeFieldsReducer.instances[t],Xc=y(u.createSelector([Ft,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Yc=bs.reducer,K=O(t=>t.uuid),Zc={instances:{}},Fs=u.createSlice({name:"assetTypeFieldValuesAttachments",initialState:Zc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Zc)),reducers:{initializeAssetTypeFieldValuesAttachments:K.initialize,addAssetTypeFieldValuesAttachment:K.addOne,addAssetTypeFieldValuesAttachments:K.addMany,setAssetTypeFieldValuesAttachment:K.setOne,setAssetTypeFieldValuesAttachments:K.setMany,updateAssetTypeFieldValuesAttachment:K.updateOne,updateAssetTypeFieldValuesAttachments:K.updateMany,deleteAssetTypeFieldValuesAttachment:K.deleteOne,deleteAssetTypeFieldValuesAttachments:K.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Jc,addAssetTypeFieldValuesAttachment:Qc,addAssetTypeFieldValuesAttachments:_s,setAssetTypeFieldValuesAttachment:xc,setAssetTypeFieldValuesAttachments:er,updateAssetTypeFieldValuesAttachment:tr,updateAssetTypeFieldValuesAttachments:sr,deleteAssetTypeFieldValuesAttachment:ir,deleteAssetTypeFieldValuesAttachments:Ms}=Fs.actions,ar=t=>t.assetTypeFieldValuesAttachmentReducer.instances,gs=u.createSelector([ar],t=>Object.values(t)),nr=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],cr=y(u.createSelector([gs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),rr=y(u.createSelector([gs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),dr=Fs.reducer,W=O(t=>t.uuid),ur={instances:{}},Rs=u.createSlice({name:"assetTypeFieldValues",initialState:ur,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,ur)),reducers:{initializeAssetTypeFieldValues:W.initialize,addAssetTypeFieldValues:W.addOne,addAssetTypeFieldValuesMany:W.addMany,setAssetTypeFieldValues:W.setOne,setAssetTypeFieldValuesMany:W.setMany,updateAssetTypeFieldValues:W.updateOne,updateAssetTypeFieldValuesMany:W.updateMany,deleteAssetTypeFieldValues:W.deleteOne,deleteAssetTypeFieldValuesMany:W.deleteMany}}),{initializeAssetTypeFieldValues:lr,addAssetTypeFieldValues:or,addAssetTypeFieldValuesMany:hr,setAssetTypeFieldValues:pr,setAssetTypeFieldValuesMany:yr,updateAssetTypeFieldValues:mr,updateAssetTypeFieldValuesMany:fr,deleteAssetTypeFieldValues:Sr,deleteAssetTypeFieldValuesMany:Ar}=Rs.actions,Tr=t=>t.assetTypeFieldValuesReducer.instances,qt=u.createSelector([Tr],t=>Object.values(t)),i_=y(u.createSelector([qt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),a_=y(u.createSelector([Ft,qt,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.asset_type===i).map(n=>n.uuid));return l.fallbackToEmptyArray(e.filter(n=>a.has(n.fields_revision)))})),Ir=t=>e=>e.assetTypeFieldValuesReducer.instances[t],Or=y(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Pr=Rs.reducer,X=O(t=>t.uuid),br={instances:{}},ws=u.createSlice({name:"assetTypeIdentifiers",initialState:br,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,br)),reducers:{initializeAssetTypeIdentifiers:X.initialize,addAssetTypeIdentifier:X.addOne,addAssetTypeIdentifiers:X.addMany,setAssetTypeIdentifier:X.setOne,setAssetTypeIdentifiers:X.setMany,updateAssetTypeIdentifier:X.updateOne,updateAssetTypeIdentifiers:X.updateMany,deleteAssetTypeIdentifier:X.deleteOne,deleteAssetTypeIdentifiers:X.deleteMany}}),{initializeAssetTypeIdentifiers:Fr,addAssetTypeIdentifier:_r,addAssetTypeIdentifiers:Mr,setAssetTypeIdentifier:gr,setAssetTypeIdentifiers:Rr,updateAssetTypeIdentifier:wr,updateAssetTypeIdentifiers:Er,deleteAssetTypeIdentifier:vr,deleteAssetTypeIdentifiers:Vr}=ws.actions,Br=t=>t.assetTypeIdentifierReducer.instances,Es=u.createSelector([Br],t=>Object.values(t)),zr=t=>e=>e.assetTypeIdentifierReducer.instances[t],jr=y(u.createSelector([Es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),n_=y(u.createSelector([Es,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),Dr=ws.reducer,Y=O(t=>t.uuid),Cr={instances:{}},vs=u.createSlice({name:"assetTypeIdentifierValues",initialState:Cr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Cr)),reducers:{initializeAssetTypeIdentifierValues:Y.initialize,addAssetTypeIdentifierValue:Y.addOne,addAssetTypeIdentifierValues:Y.addMany,setAssetTypeIdentifierValue:Y.setOne,setAssetTypeIdentifierValues:Y.setMany,updateAssetTypeIdentifierValue:Y.updateOne,updateAssetTypeIdentifierValues:Y.updateMany,deleteAssetTypeIdentifierValue:Y.deleteOne,deleteAssetTypeIdentifierValues:Y.deleteMany}}),{initializeAssetTypeIdentifierValues:qr,addAssetTypeIdentifierValue:$r,addAssetTypeIdentifierValues:Ur,setAssetTypeIdentifierValue:kr,setAssetTypeIdentifierValues:Lr,updateAssetTypeIdentifierValue:Hr,updateAssetTypeIdentifierValues:Gr,deleteAssetTypeIdentifierValue:Nr,deleteAssetTypeIdentifierValues:Kr}=vs.actions,Wr=t=>t.assetTypeIdentifierValueReducer.instances,$t=u.createSelector([Wr],t=>Object.values(t)),Xr=t=>e=>e.assetTypeIdentifierValueReducer.instances[t],Yr=y(u.createSelector([$t,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),c_=y(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),r_=y(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type_identifier===e)))),Zr=vs.reducer,Z=O(t=>t.uuid),Jr={instances:{}},Vs=u.createSlice({name:"assetTypes",initialState:Jr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Jr)),reducers:{initializeAssetTypes:Z.initialize,setAssetType:Z.setOne,setAssetTypes:Z.setMany,addAssetType:Z.addOne,addAssetTypes:Z.addMany,updateAssetType:Z.updateOne,updateAssetTypes:Z.updateMany,deleteAssetType:Z.deleteOne,deleteAssetTypes:Z.deleteMany}}),{initializeAssetTypes:Qr,setAssetType:xr,setAssetTypes:ed,addAssetType:td,addAssetTypes:sd,updateAssetType:id,updateAssetTypes:ad,deleteAssetType:nd,deleteAssetTypes:cd}=Vs.actions,rd=t=>t.assetTypeReducer.instances,Bs=u.createSelector([rd],t=>Object.values(t)),dd=t=>e=>e.assetTypeReducer.instances[t],ud=y(u.createSelector([Bs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),d_=y(u.createSelector([Bs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),ld=Vs.reducer,J=O(t=>t.uuid),od={instances:{}},zs=u.createSlice({name:"assetTypeStatuses",initialState:od,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,od)),reducers:{initializeAssetTypeStatuses:J.initialize,addAssetTypeStatus:J.addOne,addAssetTypeStatuses:J.addMany,setAssetTypeStatus:J.setOne,setAssetTypeStatuses:J.setMany,updateAssetTypeStatus:J.updateOne,updateAssetTypeStatuses:J.updateMany,deleteAssetTypeStatus:J.deleteOne,deleteAssetTypeStatuses:J.deleteMany}}),{initializeAssetTypeStatuses:hd,addAssetTypeStatus:pd,addAssetTypeStatuses:yd,setAssetTypeStatus:md,setAssetTypeStatuses:fd,updateAssetTypeStatus:Sd,updateAssetTypeStatuses:Ad,deleteAssetTypeStatus:Td,deleteAssetTypeStatuses:Id}=zs.actions,Od=t=>t.assetTypeStatusReducer.instances,js=u.createSelector([Od],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.assetTypeStatusSortFn))),Pd=t=>e=>e.assetTypeStatusReducer.instances[t],bd=y(u.createSelector([js,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),u_=y(u.createSelector([js,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),Fd=zs.reducer,_d={accessToken:"",refreshToken:"",isLoggedIn:!1},Ut=u.createSlice({name:"auth",initialState:_d,extraReducers:t=>t.addCase(T,e=>Object.assign(e,_d)),reducers:{setTokens:(t,e)=>{t.accessToken=e.payload.accessToken,t.refreshToken=e.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,e)=>{e.payload||Ut.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:l_,clearTokens:o_,setLoggedIn:Md}=Ut.actions,h_=t=>t.authReducer.accessToken,p_=t=>t.authReducer.isLoggedIn,gd=Ut.reducer,Q=O(t=>t.uuid),Rd={instances:{}},Ds=u.createSlice({name:"documentAttachments",initialState:Rd,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Rd)),reducers:{initializeDocumentAttachments:Q.initialize,addDocumentAttachment:Q.addOne,addDocumentAttachments:Q.addMany,setDocumentAttachment:Q.setOne,setDocumentAttachments:Q.setMany,updateDocumentAttachment:Q.updateOne,updateDocumentAttachments:Q.updateMany,deleteDocumentAttachment:Q.deleteOne,deleteDocumentAttachments:Q.deleteMany}}),{initializeDocumentAttachments:wd,addDocumentAttachment:Ed,addDocumentAttachments:vd,setDocumentAttachment:Vd,setDocumentAttachments:Bd,updateDocumentAttachment:zd,updateDocumentAttachments:jd,deleteDocumentAttachment:Dd,deleteDocumentAttachments:Cd}=Ds.actions,qd=t=>t.documentAttachmentReducer.instances,Cs=u.createSelector([qd],t=>Object.values(t)),$d=t=>e=>e.documentAttachmentReducer.instances[t],Ud=y(u.createSelector([Cs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),y_=y(u.createSelector([Cs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({document:i})=>e===i)))),kd=Ds.reducer,x=O(({uuid:t})=>t),Ld={instances:{}},qs=u.createSlice({name:"documents",initialState:Ld,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>{Object.assign(e,Ld)}),reducers:{initializeDocuments:x.initialize,addDocument:x.addOne,addDocuments:x.addMany,setDocument:x.setOne,setDocuments:x.setMany,updateDocument:x.updateOne,updateDocuments:x.updateMany,deleteDocument:x.deleteOne,deleteDocuments:x.deleteMany}}),{initializeDocuments:Hd,addDocument:Gd,addDocuments:Nd,setDocument:Kd,setDocuments:Wd,updateDocument:Xd,updateDocuments:Yd,deleteDocument:Zd,deleteDocuments:Jd}=qs.actions,Qd=qs.reducer,$s=t=>t.documentsReducer.instances,kt=u.createSelector([$s],t=>Object.values(t)),xd=t=>e=>e.documentsReducer.instances[t],eu=y(u.createSelector([kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),m_=y(u.createSelector([kt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),f_=y(u.createSelector([kt,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),tu=y(u.createSelector([$s,(t,e)=>e],(t,e)=>{if(!t[e])return l.fallbackToEmptyArray([]);const n=l.getDocumentSubTree(e,Object.values(t)).all().map(({model:c})=>c);return l.fallbackToEmptyArray(n)})),ee=O(t=>t.uuid),su={instances:{}},Us=u.createSlice({name:"emailDomains",initialState:su,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,su)),reducers:{initializeEmailDomains:ee.initialize,addEmailDomain:ee.addOne,addEmailDomains:ee.addMany,setEmailDomain:ee.setOne,setEmailDomains:ee.setMany,updateEmailDomain:ee.updateOne,updateEmailDomains:ee.updateMany,deleteEmailDomain:ee.deleteOne,deleteEmailDomains:ee.deleteMany}}),{initializeEmailDomains:iu,addEmailDomain:au,addEmailDomains:nu,setEmailDomain:cu,setEmailDomains:ru,updateEmailDomain:du,updateEmailDomains:uu,deleteEmailDomain:lu,deleteEmailDomains:ou}=Us.actions,hu=t=>t.emailDomainsReducer.instances,ks=u.createSelector([hu],t=>Object.values(t)),pu=t=>e=>e.emailDomainsReducer.instances[t],yu=y(u.createSelector([ks,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),S_=y(u.createSelector([ks,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),mu=Us.reducer,te=O(t=>t.uuid),fu={instances:{}},Ls=u.createSlice({name:"formIdentifiers",initialState:fu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,fu)),reducers:{initializeFormIdentifiers:te.initialize,addFormIdentifier:te.addOne,addFormIdentifiers:te.addMany,setFormIdentifier:te.setOne,setFormIdentifiers:te.setMany,updateFormIdentifier:te.updateOne,updateFormIdentifiers:te.updateMany,deleteFormIdentifier:te.deleteOne,deleteFormIdentifiers:te.deleteMany}}),{initializeFormIdentifiers:Su,addFormIdentifier:Au,addFormIdentifiers:Tu,setFormIdentifier:Iu,setFormIdentifiers:Ou,updateFormIdentifier:Pu,updateFormIdentifiers:bu,deleteFormIdentifier:Fu,deleteFormIdentifiers:_u}=Ls.actions,Mu=t=>t.formIdentifierReducer.instances,Hs=u.createSelector([Mu],t=>Object.values(t)),gu=t=>e=>e.formIdentifierReducer.instances[t],Ru=y(u.createSelector([Hs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),A_=y(u.createSelector([Hs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),wu=Ls.reducer,se=O(t=>t.uuid),Eu={instances:{}},Gs=u.createSlice({name:"formIdentifierValues",initialState:Eu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Eu)),reducers:{initializeFormIdentifierValues:se.initialize,addFormIdentifierValue:se.addOne,addFormIdentifierValues:se.addMany,setFormIdentifierValue:se.setOne,setFormIdentifierValues:se.setMany,updateFormIdentifierValue:se.updateOne,updateFormIdentifierValues:se.updateMany,deleteFormIdentifierValue:se.deleteOne,deleteFormIdentifierValues:se.deleteMany}}),{initializeFormIdentifierValues:vu,addFormIdentifierValue:Vu,addFormIdentifierValues:Bu,setFormIdentifierValue:zu,setFormIdentifierValues:ju,updateFormIdentifierValue:Du,updateFormIdentifierValues:Cu,deleteFormIdentifierValue:qu,deleteFormIdentifierValues:$u}=Gs.actions,Uu=t=>t.formIdentifierValueReducer.instances,Lt=u.createSelector([Uu],t=>Object.values(t)),ku=t=>e=>e.formIdentifierValueReducer.instances[t],Lu=y(u.createSelector([Lt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),T_=y(u.createSelector([Lt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),I_=y(u.createSelector([Lt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_identifier===e)))),Hu=Gs.reducer,ie=O(t=>t.uuid),Gu={instances:{}},Ns=u.createSlice({name:"formRevisionAttachments",initialState:Gu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Gu)),reducers:{initializeFormRevisionAttachments:ie.initialize,addFormRevisionAttachment:ie.addOne,addFormRevisionAttachments:ie.addMany,setFormRevisionAttachment:ie.setOne,setFormRevisionAttachments:ie.setMany,updateFormRevisionAttachment:ie.updateOne,updateFormRevisionAttachments:ie.updateMany,deleteFormRevisionAttachment:ie.deleteOne,deleteFormRevisionAttachments:ie.deleteMany}}),{initializeFormRevisionAttachments:Nu,addFormRevisionAttachment:Ku,addFormRevisionAttachments:Wu,setFormRevisionAttachment:Xu,setFormRevisionAttachments:Yu,updateFormRevisionAttachment:Zu,updateFormRevisionAttachments:Ju,deleteFormRevisionAttachment:Qu,deleteFormRevisionAttachments:xu}=Ns.actions,Ht=t=>t.formRevisionAttachmentReducer.instances,el=u.createSelector([Ht],t=>Object.values(t)),tl=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>t[e])),sl=y(u.createSelector([el,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),O_=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.form_revision===e)))),il=Ns.reducer,ae=O(t=>t.uuid),al={instances:{}},Ks=u.createSlice({name:"formRevisions",initialState:al,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,al)),reducers:{initializeFormRevisions:ae.initialize,addFormRevision:ae.addOne,addFormRevisions:ae.addMany,setFormRevision:ae.setOne,setFormRevisions:ae.setMany,updateFormRevision:ae.updateOne,updateFormRevisions:ae.updateMany,deleteFormRevision:ae.deleteOne,deleteFormRevisions:ae.deleteMany}}),{initializeFormRevisions:nl,addFormRevision:cl,addFormRevisions:Ws,setFormRevision:rl,setFormRevisions:dl,updateFormRevision:ul,updateFormRevisions:ll,deleteFormRevision:ol,deleteFormRevisions:Xs}=Ks.actions,hl=t=>t.formRevisionReducer.instances,Gt=u.createSelector([hl],t=>Object.values(t)),pl=t=>e=>e.formRevisionReducer.instances[t],yl=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),P_=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).toSorted(l.submittedAtModelSortFn).pop())),ml=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),fl=Ks.reducer,ne=O(t=>t.uuid),Sl={instances:{}},Ys=u.createSlice({name:"formSubscribers",initialState:Sl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Sl)),reducers:{initializeFormSubscribers:ne.initialize,addFormSubscriber:ne.addOne,addFormSubscribers:ne.addMany,setFormSubscriber:ne.setOne,setFormSubscribers:ne.setMany,updateFormSubscriber:ne.updateOne,updateFormSubscribers:ne.updateMany,deleteFormSubscriber:ne.deleteOne,deleteFormSubscribers:ne.deleteMany}}),{initializeFormSubscribers:Al,addFormSubscriber:Tl,addFormSubscribers:Zs,setFormSubscriber:Il,setFormSubscribers:Ol,updateFormSubscriber:Pl,updateFormSubscribers:bl,deleteFormSubscriber:Fl,deleteFormSubscribers:Js}=Ys.actions,_l=t=>t.formSubscriberReducer.instances,Nt=u.createSelector([_l],t=>Object.values(t)),Ml=t=>e=>e.formSubscriberReducer.instances[t],gl=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Rl=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),b_=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.user===e)))),wl=Ys.reducer,ce=O(t=>t.uuid),El={instances:{}},Qs=u.createSlice({name:"forms",initialState:El,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,El)),reducers:{initializeForms:ce.initialize,addForm:ce.addOne,addForms:ce.addMany,setForm:ce.setOne,setForms:ce.setMany,updateForm:ce.updateOne,updateForms:ce.updateMany,deleteForm:ce.deleteOne,deleteForms:ce.deleteMany}}),{initializeForms:vl,addForm:Vl,addForms:Bl,setForm:zl,setForms:jl,updateForm:Dl,updateForms:Cl,deleteForm:ql,deleteForms:$l}=Qs.actions,Ul=Qs.reducer,kl=t=>t.formReducer.instances,xs=u.createSelector([kl],t=>Object.values(t)),Ll=t=>e=>e.formReducer.instances[t],Hl=y(u.createSelector([xs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),F_=y(u.createSelector([xs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),re=O(({uuid:t})=>t),Gl={instances:{}},ei=u.createSlice({name:"formSubmissionFieldValuesAttachments",initialState:Gl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Gl)),reducers:{initializeFormSubmissionFieldValuesAttachments:re.initialize,addFormSubmissionFieldValuesAttachment:re.addOne,addFormSubmissionFieldValuesAttachments:re.addMany,setFormSubmissionFieldValuesAttachment:re.setOne,setFormSubmissionFieldValuesAttachments:re.setMany,updateFormSubmissionFieldValuesAttachment:re.updateOne,updateFormSubmissionFieldValuesAttachments:re.updateMany,deleteFormSubmissionFieldValuesAttachment:re.deleteOne,deleteFormSubmissionFieldValuesAttachments:re.deleteMany}}),{initializeFormSubmissionFieldValuesAttachments:Nl,addFormSubmissionFieldValuesAttachment:Kl,addFormSubmissionFieldValuesAttachments:ti,setFormSubmissionFieldValuesAttachment:Wl,setFormSubmissionFieldValuesAttachments:Xl,updateFormSubmissionFieldValuesAttachment:Yl,updateFormSubmissionFieldValuesAttachments:Zl,deleteFormSubmissionFieldValuesAttachment:Jl,deleteFormSubmissionFieldValuesAttachments:si}=ei.actions,ii=t=>t.formSubmissionFieldValuesAttachmentReducer.instances,ai=u.createSelector([ii],t=>Object.values(t)),Ql=y(u.createSelector([ii,(t,e)=>e],(t,e)=>t[e])),ni=y(u.createSelector([ai,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.uuid)))})),xl=y(u.createSelector([ai,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),eo=ei.reducer,de=O(({uuid:t})=>t),to={instances:{}},ci=u.createSlice({name:"formSubmissionFieldValues",initialState:to,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,to)),reducers:{initializeFormSubmissionFieldValues:de.initialize,addFormSubmissionFieldValues:de.addOne,addFormSubmissionFieldValuesMany:de.addMany,setFormSubmissionFieldValues:de.setOne,setFormSubmissionFieldValuesMany:de.setMany,updateFormSubmissionFieldValues:de.updateOne,updateFormSubmissionFieldValuesMany:de.updateMany,deleteFormSubmissionFieldValues:de.deleteOne,deleteFormSubmissionFieldValuesMany:de.deleteMany}}),{initializeFormSubmissionFieldValues:so,addFormSubmissionFieldValues:io,addFormSubmissionFieldValuesMany:ri,setFormSubmissionFieldValues:ao,setFormSubmissionFieldValuesMany:no,updateFormSubmissionFieldValues:co,updateFormSubmissionFieldValuesMany:ro,deleteFormSubmissionFieldValues:uo,deleteFormSubmissionFieldValuesMany:di}=ci.actions,lo=t=>t.formSubmissionFieldValuesReducer.instances,ui=u.createSelector([lo],t=>Object.values(t)),oo=t=>e=>e.formSubmissionFieldValuesReducer.instances[t],ho=y(u.createSelector([ui,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),po=y(u.createSelector([ui,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),yo=ci.reducer,ue=O(t=>t.uuid),mo={instances:{}},li=u.createSlice({name:"formSubmissionComments",initialState:mo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,mo)),reducers:{initializeFormSubmissionComments:ue.initialize,addFormSubmissionComment:ue.addOne,addFormSubmissionComments:ue.addMany,setFormSubmissionComment:ue.setOne,setFormSubmissionComments:ue.setMany,updateFormSubmissionComment:ue.updateOne,updateFormSubmissionComments:ue.updateMany,deleteFormSubmissionComment:ue.deleteOne,deleteFormSubmissionComments:ue.deleteMany}}),{initializeFormSubmissionComments:fo,addFormSubmissionComment:So,addFormSubmissionComments:oi,setFormSubmissionComment:Ao,setFormSubmissionComments:To,updateFormSubmissionComment:Io,updateFormSubmissionComments:Oo,deleteFormSubmissionComment:Po,deleteFormSubmissionComments:hi}=li.actions,bo=t=>t.formSubmissionCommentReducer.instances,Kt=u.createSelector([bo],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),Fo=t=>e=>e.formSubmissionCommentReducer.instances[t],_o=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Mo=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),__=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.form_submission)))})),go=li.reducer,le=O(t=>t.uuid),Ro={instances:{}},pi=u.createSlice({name:"formSubmissions",initialState:Ro,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Ro)),reducers:{initializeFormSubmissions:le.initialize,setFormSubmission:le.setOne,setFormSubmissions:le.setMany,addFormSubmission:le.addOne,addFormSubmissions:le.addMany,updateFormSubmission:le.updateOne,updateFormSubmissions:le.updateMany,deleteFormSubmission:le.deleteOne,deleteFormSubmissions:le.deleteMany}}),{initializeFormSubmissions:wo,setFormSubmission:Eo,setFormSubmissions:vo,addFormSubmission:Vo,addFormSubmissions:dt,updateFormSubmission:Bo,updateFormSubmissions:zo,deleteFormSubmission:jo,deleteFormSubmissions:ut}=pi.actions,Do=t=>t.formSubmissionReducer.instances,D=u.createSelector([Do],t=>Object.values(t)),Co=t=>e=>e.formSubmissionReducer.instances[t],qo=y(u.createSelector([D,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$o=y(u.createSelector([D,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),M_=y(u.createSelector([D,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({organization:i})=>i===e)))),g_=y(u.createSelector([D,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),R_=y(u.createSelector([D,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({project:a,form:n})=>a===e&&n===i)))),w_=y(u.createSelector([D,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({organization:a,form:n})=>a===e&&n===i)))),Uo=y(u.createSelector([D,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),ko=y(u.createSelector([D,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>a&&i.has(a)))})),Lo=y(u.createSelector([D,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),Ho=y(u.createSelector([D,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>a&&i.has(a)))})),Go=pi.reducer,oe=O(t=>t.uuid),No={instances:{}},yi=u.createSlice({name:"geoImages",initialState:No,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,No)),reducers:{initializeGeoImages:oe.initialize,setGeoImage:oe.setOne,setGeoImages:oe.setMany,addGeoImage:oe.addOne,addGeoImages:oe.addMany,updateGeoImage:oe.updateOne,updateGeoImages:oe.updateMany,deleteGeoImage:oe.deleteOne,deleteGeoImages:oe.deleteMany}}),{initializeGeoImages:Ko,setGeoImage:Wo,setGeoImages:Xo,addGeoImage:Yo,addGeoImages:Zo,updateGeoImage:Jo,updateGeoImages:Qo,deleteGeoImage:xo,deleteGeoImages:eh}=yi.actions,th=t=>t.geoImageReducer.instances,mi=u.createSelector([th],t=>Object.values(t)),sh=t=>e=>e.geoImageReducer.instances[t],ih=y(u.createSelector([mi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),E_=y(u.createSelector([mi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),ah=yi.reducer,he=O(t=>t.uuid),nh={instances:{}},fi=u.createSlice({name:"issueAssociations",initialState:nh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,nh)),reducers:{initializeIssueAssociations:he.initialize,addIssueAssociation:he.addOne,addIssueAssociations:he.addMany,setIssueAssociation:he.setOne,setIssueAssociations:he.setMany,updateIssueAssociation:he.updateOne,updateIssueAssociations:he.updateMany,deleteIssueAssociation:he.deleteOne,deleteIssueAssociations:he.deleteMany}}),{initializeIssueAssociations:ch,setIssueAssociations:rh,setIssueAssociation:dh,updateIssueAssociation:uh,updateIssueAssociations:lh,addIssueAssociation:oh,addIssueAssociations:ft,deleteIssueAssociation:hh,deleteIssueAssociations:St}=fi.actions,ph=t=>t.issueAssociationReducer.instances,At=u.createSelector([ph],t=>Object.values(t)),yh=t=>e=>e.issueAssociationReducer.instances[t],mh=y(u.createSelector([At,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fh=y(u.createSelector([At,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>i.has(a)))})),Sh=y(u.createSelector([At,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),Ah=y(u.createSelector([At,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),Th=y(u.createSelector([At,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),Ih=fi.reducer,pe=O(t=>t.uuid),Oh={instances:{}},Si=u.createSlice({name:"issueAttachments",initialState:Oh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Oh)),reducers:{initializeIssueAttachments:pe.initialize,addIssueAttachment:pe.addOne,addIssueAttachments:pe.addMany,setIssueAttachment:pe.setOne,setIssueAttachments:pe.setMany,updateIssueAttachment:pe.updateOne,updateIssueAttachments:pe.updateMany,deleteIssueAttachment:pe.deleteOne,deleteIssueAttachments:pe.deleteMany}}),{initializeIssueAttachments:Ph,addIssueAttachment:bh,addIssueAttachments:Ai,setIssueAttachment:Fh,setIssueAttachments:_h,updateIssueAttachment:Mh,updateIssueAttachments:gh,deleteIssueAttachment:Rh,deleteIssueAttachments:Ti}=Si.actions,wh=t=>t.issueAttachmentReducer.instances,Ii=u.createSelector([wh],t=>Object.values(t)),Eh=y(u.createSelector([Ii,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>e===i)))),vh=t=>e=>e.issueAttachmentReducer.instances[t],Vh=y(u.createSelector([Ii,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Bh=Si.reducer,ye=O(t=>t.uuid),zh={instances:{}},Oi=u.createSlice({name:"issueCommentAttachments",initialState:zh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,zh)),reducers:{initializeIssueCommentAttachments:ye.initialize,addIssueCommentAttachment:ye.addOne,addIssueCommentAttachments:ye.addMany,setIssueCommentAttachment:ye.setOne,setIssueCommentAttachments:ye.setMany,updateIssueCommentAttachment:ye.updateOne,updateIssueCommentAttachments:ye.updateMany,deleteIssueCommentAttachment:ye.deleteOne,deleteIssueCommentAttachments:ye.deleteMany}}),{initializeIssueCommentAttachments:jh,addIssueCommentAttachment:Dh,addIssueCommentAttachments:Ch,setIssueCommentAttachment:qh,setIssueCommentAttachments:$h,updateIssueCommentAttachment:Uh,updateIssueCommentAttachments:kh,deleteIssueCommentAttachment:Lh,deleteIssueCommentAttachments:Hh}=Oi.actions,Gh=t=>t.issueCommentAttachmentReducer.instances,Pi=u.createSelector([Gh],t=>Object.values(t)),Nh=t=>e=>e.issueCommentAttachmentReducer.instances[t],Kh=y(u.createSelector([Pi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),v_=y(u.createSelector([Pi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_comment:i})=>e===i)))),Wh=Oi.reducer,me=O(t=>t.uuid),Xh={instances:{}},bi=u.createSlice({name:"issueComments",initialState:Xh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Xh)),reducers:{initializeIssueComments:me.initialize,addIssueComment:me.addOne,addIssueComments:me.addMany,setIssueComment:me.setOne,setIssueComments:me.setMany,updateIssueComment:me.updateOne,updateIssueComments:me.updateMany,deleteIssueComment:me.deleteOne,deleteIssueComments:me.deleteMany}}),{initializeIssueComments:Yh,addIssueComment:Zh,addIssueComments:Jh,setIssueComment:Qh,setIssueComments:xh,updateIssueComment:ep,updateIssueComments:tp,deleteIssueComment:sp,deleteIssueComments:ip}=bi.actions,Fi=t=>t.issueCommentReducer.instances,ap=t=>e=>e.issueCommentReducer.instances[t],np=y(u.createSelector([Fi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),V_=y(u.createSelector([Fi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.issue===e)))),cp=bi.reducer,fe=O(t=>t.uuid),rp={instances:{}},_i=u.createSlice({name:"issues",initialState:rp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,rp)),reducers:{initializeIssues:fe.initialize,addIssue:fe.addOne,addIssues:fe.addMany,setIssue:fe.setOne,setIssues:fe.setMany,updateIssue:fe.updateOne,updateIssues:fe.updateMany,deleteIssue:fe.deleteOne,deleteIssues:fe.deleteMany}}),{initializeIssues:dp,addIssue:up,addIssues:Mi,setIssue:lp,setIssues:op,updateIssue:hp,updateIssues:pp,deleteIssue:yp,deleteIssues:gi}=_i.actions,mp=t=>t.issueReducer.instances,Wt=u.createSelector([mp],t=>Object.values(t)),fp=t=>e=>e.issueReducer.instances[t],Sp=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),B_=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),Ap=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),Tp=_i.reducer,Se=O(t=>t.uuid),Ip={instances:{}},Ri=u.createSlice({name:"issueTypeAttachments",initialState:Ip,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Ip)),reducers:{initializeIssueTypeAttachments:Se.initialize,addIssueTypeAttachment:Se.addOne,addIssueTypeAttachments:Se.addMany,setIssueTypeAttachment:Se.setOne,setIssueTypeAttachments:Se.setMany,updateIssueTypeAttachment:Se.updateOne,updateIssueTypeAttachments:Se.updateMany,deleteIssueTypeAttachment:Se.deleteOne,deleteIssueTypeAttachments:Se.deleteMany}}),{initializeIssueTypeAttachments:Op,addIssueTypeAttachment:Pp,addIssueTypeAttachments:bp,setIssueTypeAttachment:Fp,setIssueTypeAttachments:_p,updateIssueTypeAttachment:Mp,updateIssueTypeAttachments:gp,deleteIssueTypeAttachment:Rp,deleteIssueTypeAttachments:wp}=Ri.actions,Ep=t=>t.issueTypeAttachmentReducer.instances,wi=u.createSelector([Ep],t=>Object.values(t)),vp=t=>e=>e.issueTypeAttachmentReducer.instances[t],Vp=y(u.createSelector([wi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),z_=y(u.createSelector([wi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_type:i})=>e===i)))),Bp=Ri.reducer,Ae=O(t=>t.uuid),zp={instances:{}},Ei=u.createSlice({name:"issueTypeFieldsAttachments",initialState:zp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,zp)),reducers:{initializeIssueTypeFieldsAttachments:Ae.initialize,addIssueTypeFieldsAttachment:Ae.addOne,addIssueTypeFieldsAttachments:Ae.addMany,setIssueTypeFieldsAttachment:Ae.setOne,setIssueTypeFieldsAttachments:Ae.setMany,updateIssueTypeFieldsAttachment:Ae.updateOne,updateIssueTypeFieldsAttachments:Ae.updateMany,deleteIssueTypeFieldsAttachment:Ae.deleteOne,deleteIssueTypeFieldsAttachments:Ae.deleteMany}}),{initializeIssueTypeFieldsAttachments:jp,addIssueTypeFieldsAttachment:Dp,addIssueTypeFieldsAttachments:Cp,setIssueTypeFieldsAttachment:qp,setIssueTypeFieldsAttachments:$p,updateIssueTypeFieldsAttachment:Up,updateIssueTypeFieldsAttachments:kp,deleteIssueTypeFieldsAttachment:Lp,deleteIssueTypeFieldsAttachments:Hp}=Ei.actions,Gp=t=>t.issueTypeFieldsAttachmentReducer.instances,vi=u.createSelector([Gp],t=>Object.values(t)),j_=y(u.createSelector([vi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),Np=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],Kp=y(u.createSelector([vi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Wp=Ei.reducer,Te=O(t=>t.uuid),Xp={instances:{}},Vi=u.createSlice({name:"issueTypeFieldValues",initialState:Xp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Xp)),reducers:{initializeIssueTypeFieldValues:Te.initialize,addIssueTypeFieldValues:Te.addOne,addIssueTypeFieldValuesMany:Te.addMany,setIssueTypeFieldValues:Te.setOne,setIssueTypeFieldValuesMany:Te.setMany,updateIssueTypeFieldValues:Te.updateOne,updateIssueTypeFieldValuesMany:Te.updateMany,deleteIssueTypeFieldValues:Te.deleteOne,deleteIssueTypeFieldValuesMany:Te.deleteMany}}),{initializeIssueTypeFieldValues:Yp,addIssueTypeFieldValues:Zp,addIssueTypeFieldValuesMany:Jp,setIssueTypeFieldValues:Qp,setIssueTypeFieldValuesMany:xp,updateIssueTypeFieldValues:ey,updateIssueTypeFieldValuesMany:ty,deleteIssueTypeFieldValues:sy,deleteIssueTypeFieldValuesMany:iy}=Vi.actions,ay=t=>t.issueTypeFieldValuesReducer.instances,Xt=u.createSelector([ay],t=>Object.values(t)),D_=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),ny=t=>e=>e.issueTypeFieldValuesReducer.instances[t],cy=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ry=Vi.reducer,Ie=O(t=>t.uuid),dy={instances:{}},Bi=u.createSlice({name:"issueTypeFields",initialState:dy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,dy)),reducers:{initializeIssueTypeFields:Ie.initialize,addIssueTypeFields:Ie.addOne,addIssueTypeFieldsMany:Ie.addMany,setIssueTypeFields:Ie.setOne,setIssueTypeFieldsMany:Ie.setMany,updateIssueTypeFields:Ie.updateOne,updateIssueTypeFieldsMany:Ie.updateMany,deleteIssueTypeFields:Ie.deleteOne,deleteIssueTypeFieldsMany:Ie.deleteMany}}),{initializeIssueTypeFields:uy,addIssueTypeFields:ly,addIssueTypeFieldsMany:oy,setIssueTypeFields:hy,setIssueTypeFieldsMany:py,updateIssueTypeFields:yy,updateIssueTypeFieldsMany:my,deleteIssueTypeFields:fy,deleteIssueTypeFieldsMany:Sy}=Bi.actions,Ay=t=>t.issueTypeFieldsReducer.instances,_t=u.createSelector([Ay],t=>Object.values(t)),C_=y(u.createSelector([_t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),q_=y(u.createSelector([_t,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),$_=y(u.createSelector([_t,Xt,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.issue_type===i).map(n=>n.uuid));return l.fallbackToEmptyArray(e.filter(n=>a.has(n.fields_revision)))})),Ty=t=>e=>e.issueTypeFieldsReducer.instances[t],Iy=y(u.createSelector([_t,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Oy=Bi.reducer,Oe=O(t=>t.uuid),Py={instances:{}},zi=u.createSlice({name:"issueTypeFieldValuesAttachments",initialState:Py,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Py)),reducers:{initializeIssueTypeFieldValuesAttachments:Oe.initialize,addIssueTypeFieldValuesAttachment:Oe.addOne,addIssueTypeFieldValuesAttachments:Oe.addMany,setIssueTypeFieldValuesAttachment:Oe.setOne,setIssueTypeFieldValuesAttachments:Oe.setMany,updateIssueTypeFieldValuesAttachment:Oe.updateOne,updateIssueTypeFieldValuesAttachments:Oe.updateMany,deleteIssueTypeFieldValuesAttachment:Oe.deleteOne,deleteIssueTypeFieldValuesAttachments:Oe.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:by,addIssueTypeFieldValuesAttachment:Fy,addIssueTypeFieldValuesAttachments:ji,setIssueTypeFieldValuesAttachment:_y,setIssueTypeFieldValuesAttachments:My,updateIssueTypeFieldValuesAttachment:gy,updateIssueTypeFieldValuesAttachments:Ry,deleteIssueTypeFieldValuesAttachment:wy,deleteIssueTypeFieldValuesAttachments:Di}=zi.actions,Ey=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Ci=u.createSelector([Ey],t=>Object.values(t)),vy=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],Vy=y(u.createSelector([Ci,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),By=y(u.createSelector([Ci,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),zy=zi.reducer,Pe=O(t=>t.uuid),jy={instances:{}},qi=u.createSlice({name:"issueTypeIdentifiers",initialState:jy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,jy)),reducers:{initializeIssueTypeIdentifiers:Pe.initialize,addIssueTypeIdentifier:Pe.addOne,addIssueTypeIdentifiers:Pe.addMany,setIssueTypeIdentifier:Pe.setOne,setIssueTypeIdentifiers:Pe.setMany,updateIssueTypeIdentifier:Pe.updateOne,updateIssueTypeIdentifiers:Pe.updateMany,deleteIssueTypeIdentifier:Pe.deleteOne,deleteIssueTypeIdentifiers:Pe.deleteMany}}),{initializeIssueTypeIdentifiers:Dy,addIssueTypeIdentifier:Cy,addIssueTypeIdentifiers:qy,setIssueTypeIdentifier:$y,setIssueTypeIdentifiers:Uy,updateIssueTypeIdentifier:ky,updateIssueTypeIdentifiers:Ly,deleteIssueTypeIdentifier:Hy,deleteIssueTypeIdentifiers:Gy}=qi.actions,Ny=t=>t.issueTypeIdentifierReducer.instances,$i=u.createSelector([Ny],t=>Object.values(t)),Ky=t=>e=>e.issueTypeIdentifierReducer.instances[t],Wy=y(u.createSelector([$i,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),U_=y(u.createSelector([$i,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Xy=qi.reducer,be=O(t=>t.uuid),Yy={instances:{}},Ui=u.createSlice({name:"issueTypeIdentifierValues",initialState:Yy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Yy)),reducers:{initializeIssueTypeIdentifierValues:be.initialize,addIssueTypeIdentifierValue:be.addOne,addIssueTypeIdentifierValues:be.addMany,setIssueTypeIdentifierValue:be.setOne,setIssueTypeIdentifierValues:be.setMany,updateIssueTypeIdentifierValue:be.updateOne,updateIssueTypeIdentifierValues:be.updateMany,deleteIssueTypeIdentifierValue:be.deleteOne,deleteIssueTypeIdentifierValues:be.deleteMany}}),{initializeIssueTypeIdentifierValues:Zy,addIssueTypeIdentifierValue:Jy,addIssueTypeIdentifierValues:Qy,setIssueTypeIdentifierValue:xy,setIssueTypeIdentifierValues:em,updateIssueTypeIdentifierValue:tm,updateIssueTypeIdentifierValues:sm,deleteIssueTypeIdentifierValue:im,deleteIssueTypeIdentifierValues:am}=Ui.actions,nm=t=>t.issueTypeIdentifierValueReducer.instances,Yt=u.createSelector([nm],t=>Object.values(t)),cm=t=>e=>e.issueTypeIdentifierValueReducer.instances[t],rm=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),k_=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),L_=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type_identifier===e)))),dm=Ui.reducer,Fe=O(t=>t.uuid),um={instances:{}},ki=u.createSlice({name:"issueTypePriorities",initialState:um,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,um)),reducers:{initializeIssueTypePriorities:Fe.initialize,addIssueTypePriority:Fe.addOne,addIssueTypePriorities:Fe.addMany,setIssueTypePriority:Fe.setOne,setIssueTypePriorities:Fe.setMany,updateIssueTypePriority:Fe.updateOne,updateIssueTypePriorities:Fe.updateMany,deleteIssueTypePriority:Fe.deleteOne,deleteIssueTypePriorities:Fe.deleteMany}}),{initializeIssueTypePriorities:lm,addIssueTypePriority:om,addIssueTypePriorities:hm,setIssueTypePriority:pm,setIssueTypePriorities:ym,updateIssueTypePriority:mm,updateIssueTypePriorities:fm,deleteIssueTypePriority:Sm,deleteIssueTypePriorities:Am}=ki.actions,Tm=t=>t.issueTypePriorityReducer.instances,Li=u.createSelector([Tm],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypePrioritySortFn))),Hi=t=>e=>e.issueTypePriorityReducer.instances[t],Im=y(u.createSelector([Li,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),H_=y(u.createSelector([Li,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Om=ki.reducer,_e=O(t=>t.uuid),Pm={instances:{}},Gi=u.createSlice({name:"issueTypes",initialState:Pm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Pm)),reducers:{initializeIssueTypes:_e.initialize,addIssueType:_e.addOne,addIssueTypes:_e.addMany,setIssueType:_e.setOne,setIssueTypes:_e.setMany,updateIssueType:_e.updateOne,updateIssueTypes:_e.updateMany,deleteIssueType:_e.deleteOne,deleteIssueTypes:_e.deleteMany}}),{initializeIssueTypes:bm,addIssueType:Fm,addIssueTypes:_m,setIssueType:Mm,setIssueTypes:gm,updateIssueType:Rm,updateIssueTypes:wm,deleteIssueType:Em,deleteIssueTypes:vm}=Gi.actions,Vm=t=>t.issueTypeReducer.instances,Ni=u.createSelector(Vm,t=>Object.values(t)),Bm=t=>e=>e.issueTypeReducer.instances[t],zm=y(u.createSelector([Ni,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),G_=y(u.createSelector([Ni,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),jm=Gi.reducer,Me=O(t=>t.uuid),Dm={instances:{}},Ki=u.createSlice({name:"issueTypeStatuses",initialState:Dm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Dm)),reducers:{initializeIssueTypeStatuses:Me.initialize,addIssueTypeStatus:Me.addOne,addIssueTypeStatuses:Me.addMany,setIssueTypeStatus:Me.setOne,setIssueTypeStatuses:Me.setMany,updateIssueTypeStatus:Me.updateOne,updateIssueTypeStatuses:Me.updateMany,deleteIssueTypeStatus:Me.deleteOne,deleteIssueTypeStatuses:Me.deleteMany}}),{initializeIssueTypeStatuses:Cm,addIssueTypeStatus:qm,addIssueTypeStatuses:$m,setIssueTypeStatus:Um,setIssueTypeStatuses:km,updateIssueTypeStatus:Lm,updateIssueTypeStatuses:Hm,deleteIssueTypeStatus:Gm,deleteIssueTypeStatuses:Nm}=Ki.actions,Km=t=>t.issueTypeStatusReducer.instances,Wi=u.createSelector([Km],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypeStatusSortFn))),Xi=t=>e=>e.issueTypeStatusReducer.instances[t],Wm=y(u.createSelector([Wi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),N_=y(u.createSelector([Wi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Xm=Ki.reducer,ge=O(t=>t.uuid),Ym={instances:{}},Yi=u.createSlice({name:"issueUpdates",initialState:Ym,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Ym)),reducers:{initializeIssueUpdates:ge.initialize,addIssueUpdate:ge.addOne,addIssueUpdates:ge.addMany,setIssueUpdate:ge.setOne,setIssueUpdates:ge.setMany,updateIssueUpdate:ge.updateOne,updateIssueUpdates:ge.updateMany,deleteIssueUpdate:ge.deleteOne,deleteIssueUpdates:ge.deleteMany}}),{initializeIssueUpdates:Zm,addIssueUpdate:Zi,addIssueUpdates:Ji,setIssueUpdate:Jm,setIssueUpdates:Qm,updateIssueUpdate:xm,updateIssueUpdates:ef,deleteIssueUpdate:Qi,deleteIssueUpdates:xi}=Yi.actions,ea=t=>t.issueUpdateReducer.instances,ta=u.createSelector([ea],t=>Object.values(t)),tf=y(u.createSelector([ea,(t,e)=>e],(t,e)=>t[e])),sf=y(u.createSelector([ta,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),af=y(u.createSelector([ta,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),nf=Yi.reducer,Re=O(t=>t.id),cf={instances:{},currentUser:null},sa=u.createSlice({name:"users",initialState:cf,extraReducers:t=>t.addCase(T,e=>Object.assign(e,cf)).addCase(b,e=>Object.assign(e,{...e,instances:[]})),reducers:{initializeUsers:Re.initialize,setUsers:Re.setMany,setUser:Re.setOne,addUsers:Re.addMany,addUser:Re.addOne,updateUsers:Re.updateMany,updateUser:Re.updateOne,deleteUser:Re.deleteOne,deleteUsers:Re.deleteMany,setCurrentUser:(t,e)=>{t.currentUser=e.payload},setCurrentUserProfile:(t,e)=>{if(!t.currentUser)return;t.currentUser.profile=e.payload;const i=t.instances[t.currentUser.id];if(!i)throw new Error("Unable to find current user in users slice");i.profile=e.payload}}}),{initializeUsers:rf,setUsers:df,setUser:uf,addUsers:lf,addUser:ia,updateUsers:of,updateUser:hf,deleteUser:aa,deleteUsers:pf,setCurrentUser:K_,setCurrentUserProfile:W_}=sa.actions,yf=sa.reducer,mf=t=>t.userReducer.currentUser,na=t=>t.userReducer.instances,Zt=u.createSelector([na],t=>Object.values(t)),Jt=t=>e=>e.userReducer.instances[t],ff=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({id:a})=>i.has(a)))})),we=O(t=>t.uuid),Sf={instances:{}},ca=u.createSlice({name:"organizationAccess",initialState:Sf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Sf)),reducers:{initializeOrganizationAccesses:we.initialize,addOrganizationAccess:we.addOne,addOrganizationAccesses:we.addMany,setOrganizationAccess:we.setOne,setOrganizationAccesses:we.setMany,updateOrganizationAccess:we.updateOne,updateOrganizationAccesses:we.updateMany,deleteOrganizationAccess:we.deleteOne,deleteOrganizationAccesses:we.deleteMany}}),{initializeOrganizationAccesses:Af,addOrganizationAccess:Tf,addOrganizationAccesses:If,setOrganizationAccess:Of,setOrganizationAccesses:Pf,updateOrganizationAccess:bf,updateOrganizationAccesses:Ff,deleteOrganizationAccess:_f,deleteOrganizationAccesses:Mf}=ca.actions,gf=ca.reducer,Qt=t=>t.organizationAccessReducer.instances,Rf=t=>e=>e.organizationAccessReducer.instances[t],wf=y(u.createSelector([Qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),X_=u.createSelector([mf,Qt],(t,e)=>Object.values(e).find(a=>a.user===t?.id)??null),Ef=u.createSelector([Qt],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return l.fallbackToEmptyObject(e)}),Y_=y(u.createSelector([na,Ef,(t,e)=>e],(t,e,i)=>l.fallbackToEmptyArray(Object.values(t).filter(a=>{const n=e[a.id];return!!n&&n.organization===i})))),Ee=O(t=>t.uuid),vf={instances:{}},ra=u.createSlice({name:"organizations",initialState:vf,extraReducers:t=>t.addMatcher(u.isAnyOf(T),e=>Object.assign(e,vf)),reducers:{initializeOrganizations:Ee.initialize,setOrganizations:Ee.setMany,setOrganization:Ee.setOne,addOrganizations:Ee.addMany,addOrganization:Ee.addOne,updateOrganizations:Ee.updateMany,updateOrganization:Ee.updateOne,deleteOrganization:Ee.deleteOne,deleteOrganizations:Ee.deleteMany}}),{initializeOrganizations:Vf,setOrganizations:Bf,setOrganization:zf,addOrganizations:jf,addOrganization:Df,updateOrganizations:Cf,updateOrganization:qf,deleteOrganization:$f,deleteOrganizations:Uf}=ra.actions,kf=t=>t.organizationReducer.instances,Lf=u.createSelector([kf],t=>Object.values(t)),Hf=t=>e=>e.organizationReducer.instances[t],Gf=y(u.createSelector([Lf,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Nf=ra.reducer,Kf=(t,e,i)=>{const a=t.uuid?t:{...t,uuid:rt.v4()};return{payload:a,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:a,BASE_URL:e,serviceName:i}}}}},Wf={deletedRequests:[],latestRetryTime:0},da=u.createSlice({name:"outbox",initialState:Wf,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Wf)),reducers:{enqueueRequest:{reducer:(t,e)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:e,serviceName:i,...a}=t;return Kf(a,e,i)}},markForDeletion(t,e){t.deletedRequests.push(e.payload)},markAsDeleted(t,e){const i=t.deletedRequests.indexOf(e.payload);i!==-1&&t.deletedRequests.splice(i,1)},_setLatestRetryTime:(t,e)=>{t.latestRetryTime=e.payload}}}),Z_=t=>t.outboxReducer.deletedRequests,J_=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:Xf,markForDeletion:Q_,markAsDeleted:Yf,_setLatestRetryTime:Zf}=da.actions,Jf=da.reducer,ve=O(t=>t.uuid),Qf={instances:{}},ua=u.createSlice({name:"projectAccess",initialState:Qf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Qf)),reducers:{initializeProjectAccesses:ve.initialize,addProjectAccess:ve.addOne,addProjectAccesses:ve.addMany,setProjectAccess:ve.setOne,setProjectAccesses:ve.setMany,updateProjectAccess:ve.updateOne,updateProjectAccesses:ve.updateMany,deleteProjectAccess:ve.deleteOne,deleteProjectAccesses:ve.deleteMany}}),{initializeProjectAccesses:xf,addProjectAccess:eS,addProjectAccesses:tS,setProjectAccess:sS,setProjectAccesses:iS,updateProjectAccess:aS,updateProjectAccesses:nS,deleteProjectAccess:cS,deleteProjectAccesses:rS}=ua.actions,dS=ua.reducer,la=t=>t.projectAccessReducer.instances,Mt=u.createSelector(la,t=>Object.values(t)),uS=t=>e=>e.projectAccessReducer.instances[t],lS=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),x_=y(u.createSelector([la,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.project===e)))),eM=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.project===e))i[a.user]=a;return i})),tM=y(u.createSelector([Zt,Mt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.project===i).map(n=>n.user));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.id)))})),Ve=O(t=>t.uuid),oS={instances:{}},oa=u.createSlice({name:"projectAttachments",initialState:oS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,oS)),reducers:{initializeProjectAttachments:Ve.initialize,addProjectAttachment:Ve.addOne,addProjectAttachments:Ve.addMany,setProjectAttachment:Ve.setOne,setProjectAttachments:Ve.setMany,updateProjectAttachment:Ve.updateOne,updateProjectAttachments:Ve.updateMany,deleteProjectAttachment:Ve.deleteOne,deleteProjectAttachments:Ve.deleteMany}}),{initializeProjectAttachments:hS,addProjectAttachment:pS,addProjectAttachments:yS,setProjectAttachment:mS,setProjectAttachments:fS,updateProjectAttachment:SS,updateProjectAttachments:AS,deleteProjectAttachment:TS,deleteProjectAttachments:IS}=oa.actions,OS=t=>t.projectAttachmentReducer.instances,ha=u.createSelector([OS],t=>Object.values(t)),PS=t=>e=>e.projectAttachmentReducer.instances[t],bS=y(u.createSelector([ha,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),sM=y(u.createSelector([ha,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>e===i)))),FS=oa.reducer,Be=O(t=>t.uuid),_S={instances:{}},pa=u.createSlice({name:"projectComments",initialState:_S,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,_S)),reducers:{initializeProjectComments:Be.initialize,addProjectComment:Be.addOne,addProjectComments:Be.addMany,setProjectComment:Be.setOne,setProjectComments:Be.setMany,updateProjectComment:Be.updateOne,updateProjectComments:Be.updateMany,deleteProjectComment:Be.deleteOne,deleteProjectComments:Be.deleteMany}}),{initializeProjectComments:MS,addProjectComment:gS,addProjectComments:RS,setProjectComment:wS,setProjectComments:ES,updateProjectComment:vS,updateProjectComments:VS,deleteProjectComment:BS,deleteProjectComments:zS}=pa.actions,jS=t=>t.projectCommentReducer.instances,xt=u.createSelector([jS],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),DS=t=>e=>e.projectCommentReducer.instances[t],CS=y(u.createSelector([xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),iM=y(u.createSelector([xt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),aM=y(u.createSelector([xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.project)))})),qS=pa.reducer,ze=O(t=>t.uuid),$S={instances:{}},ya=u.createSlice({name:"projectFiles",initialState:$S,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,$S)),reducers:{initializeProjectFiles:ze.initialize,setProjectFile:ze.setOne,setProjectFiles:ze.setMany,addProjectFile:ze.addOne,addProjectFiles:ze.addMany,updateProjectFile:ze.updateOne,updateProjectFiles:ze.updateMany,deleteProjectFile:ze.deleteOne,deleteProjectFiles:ze.deleteMany}}),{initializeProjectFiles:US,setProjectFile:kS,setProjectFiles:LS,addProjectFile:HS,addProjectFiles:GS,updateProjectFile:NS,updateProjectFiles:KS,deleteProjectFile:WS,deleteProjectFiles:XS}=ya.actions,YS=t=>t.projectFileReducer.instances,ZS=u.createSelector([YS],t=>l.fallbackToEmptyArray(Object.values(t).toSorted((e,i)=>e.z_index-i.z_index))),JS=t=>e=>e.projectFileReducer.instances[t],QS=y(u.createSelector([ZS,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),xS=ya.reducer,je=O(t=>t.uuid),eA={instances:{}},ma=u.createSlice({name:"projects",initialState:eA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,eA)),reducers:{initializeProjects:je.initialize,setProjects:je.setMany,setProject:je.setOne,addProjects:je.addMany,addProject:je.addOne,updateProjects:je.updateMany,updateProject:je.updateOne,deleteProject:je.deleteOne,deleteProjects:je.deleteMany}}),{initializeProjects:tA,setProjects:sA,setProject:iA,addProjects:aA,addProject:nA,updateProjects:cA,updateProject:rA,deleteProject:dA,deleteProjects:uA}=ma.actions,lA=ma.reducer,oA=t=>t.projectReducer.instances,es=u.createSelector([oA],t=>Object.values(t)),hA=t=>e=>e.projectReducer.instances[t],pA=y(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),nM=y(u.createSelector([es,Mt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.user===i).map(n=>n.project));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.uuid)))})),cM=y(u.createSelector([es,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),De=O(({uuid:t})=>t),yA={instances:{}},fa=u.createSlice({name:"procedureInitiatives",initialState:yA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,yA)),reducers:{initializeProcedureInitiatives:De.initialize,addProcedureInitiative:De.addOne,addProcedureInitiatives:De.addMany,setProcedureInitiative:De.setOne,setProcedureInitiatives:De.setMany,updateProcedureInitiative:De.updateOne,updateProcedureInitiatives:De.updateMany,deleteProcedureInitiative:De.deleteOne,deleteProcedureInitiatives:De.deleteMany}}),{initializeProcedureInitiatives:mA,addProcedureInitiative:fA,addProcedureInitiatives:SA,setProcedureInitiative:AA,setProcedureInitiatives:TA,updateProcedureInitiative:IA,updateProcedureInitiatives:OA,deleteProcedureInitiative:PA,deleteProcedureInitiatives:bA}=fa.actions,FA=fa.reducer,_A=t=>t.procedureInitiativeReducer.instances,ts=u.createSelector([_A],t=>Object.values(t)),MA=t=>e=>e.procedureInitiativeReducer.instances[t],gA=y(u.createSelector([ts,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),rM=y(u.createSelector([ts,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),dM=y(u.createSelector([ts,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),Ce=O(({uuid:t})=>t),RA={instances:{}},Sa=u.createSlice({name:"procedures",initialState:RA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,RA)),reducers:{initializeProcedures:Ce.initialize,addProcedure:Ce.addOne,addProcedures:Ce.addMany,setProcedure:Ce.setOne,setProcedures:Ce.setMany,updateProcedure:Ce.updateOne,updateProcedures:Ce.updateMany,deleteProcedure:Ce.deleteOne,deleteProcedures:Ce.deleteMany}}),{initializeProcedures:wA,addProcedure:EA,addProcedures:Tt,setProcedure:vA,setProcedures:VA,updateProcedure:BA,updateProcedures:zA,deleteProcedure:jA,deleteProcedures:It}=Sa.actions,DA=Sa.reducer,CA=t=>t.procedureReducer.instances,lt=u.createSelector([CA],t=>Object.values(t)),qA=t=>e=>e.procedureReducer.instances[t],$A=y(u.createSelector([lt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),uM=y(u.createSelector([lt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),UA=y(u.createSelector([lt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),kA=y(u.createSelector([lt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),LA=y(u.createSelector([lt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),HA=y(u.createSelector([lt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_initiative===e)))),qe=O(t=>t.uuid),GA={instances:{}},Aa=u.createSlice({name:"procedureStepAssignees",initialState:GA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,GA)),reducers:{initializeProcedureStepAssignees:qe.initialize,addProcedureStepAssignee:qe.addOne,addProcedureStepAssignees:qe.addMany,setProcedureStepAssignee:qe.setOne,setProcedureStepAssignees:qe.setMany,updateProcedureStepAssignee:qe.updateOne,updateProcedureStepAssignees:qe.updateMany,deleteProcedureStepAssignee:qe.deleteOne,deleteProcedureStepAssignees:qe.deleteMany}}),{initializeProcedureStepAssignees:NA,addProcedureStepAssignee:KA,addProcedureStepAssignees:WA,setProcedureStepAssignee:XA,setProcedureStepAssignees:YA,updateProcedureStepAssignee:ZA,updateProcedureStepAssignees:JA,deleteProcedureStepAssignee:QA,deleteProcedureStepAssignees:xA}=Aa.actions,eT=t=>t.procedureStepAssigneeReducer.instances,gt=u.createSelector([eT],t=>Object.values(t)),tT=t=>e=>e.procedureStepAssigneeReducer.instances[t],sT=y(u.createSelector([gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),lM=y(u.createSelector([gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),oM=y(u.createSelector([gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),hM=y(u.createSelector([gt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),iT=Aa.reducer,$e=O(t=>t.uuid),aT={instances:{}},Ta=u.createSlice({name:"procedureStepComments",initialState:aT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,aT)),reducers:{initializeProcedureStepComments:$e.initialize,addProcedureStepComment:$e.addOne,addProcedureStepComments:$e.addMany,setProcedureStepComment:$e.setOne,setProcedureStepComments:$e.setMany,updateProcedureStepComment:$e.updateOne,updateProcedureStepComments:$e.updateMany,deleteProcedureStepComment:$e.deleteOne,deleteProcedureStepComments:$e.deleteMany}}),{initializeProcedureStepComments:nT,addProcedureStepComment:cT,addProcedureStepComments:rT,setProcedureStepComment:dT,setProcedureStepComments:uT,updateProcedureStepComment:lT,updateProcedureStepComments:oT,deleteProcedureStepComment:hT,deleteProcedureStepComments:pT}=Ta.actions,yT=t=>t.procedureStepCommentReducer.instances,Rt=u.createSelector([yT],t=>Object.values(t)),mT=t=>e=>e.procedureStepCommentReducer.instances[t],fT=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),pM=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),yM=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),mM=y(u.createSelector([Rt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),ST=Ta.reducer,Ue=O(t=>t.uuid),AT={instances:{}},Ia=u.createSlice({name:"procedureStepDefaultAssignees",initialState:AT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,AT)),reducers:{initializeProcedureStepDefaultAssignees:Ue.initialize,addProcedureStepDefaultAssignee:Ue.addOne,addProcedureStepDefaultAssignees:Ue.addMany,setProcedureStepDefaultAssignee:Ue.setOne,setProcedureStepDefaultAssignees:Ue.setMany,updateProcedureStepDefaultAssignee:Ue.updateOne,updateProcedureStepDefaultAssignees:Ue.updateMany,deleteProcedureStepDefaultAssignee:Ue.deleteOne,deleteProcedureStepDefaultAssignees:Ue.deleteMany}}),{initializeProcedureStepDefaultAssignees:TT,addProcedureStepDefaultAssignee:IT,addProcedureStepDefaultAssignees:OT,setProcedureStepDefaultAssignee:PT,setProcedureStepDefaultAssignees:bT,updateProcedureStepDefaultAssignee:FT,updateProcedureStepDefaultAssignees:_T,deleteProcedureStepDefaultAssignee:MT,deleteProcedureStepDefaultAssignees:gT}=Ia.actions,RT=t=>t.procedureStepDefaultAssigneeReducer.instances,Oa=u.createSelector([RT],t=>Object.values(t)),wT=t=>e=>e.procedureStepDefaultAssigneeReducer.instances[t],ET=y(u.createSelector([Oa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fM=y(u.createSelector([Oa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),vT=Ia.reducer,ke=O(t=>t.uuid),VT={instances:{}},Pa=u.createSlice({name:"procedureStepDefaultReviewers",initialState:VT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,VT)),reducers:{initializeProcedureStepDefaultReviewers:ke.initialize,addProcedureStepDefaultReviewer:ke.addOne,addProcedureStepDefaultReviewers:ke.addMany,setProcedureStepDefaultReviewer:ke.setOne,setProcedureStepDefaultReviewers:ke.setMany,updateProcedureStepDefaultReviewer:ke.updateOne,updateProcedureStepDefaultReviewers:ke.updateMany,deleteProcedureStepDefaultReviewer:ke.deleteOne,deleteProcedureStepDefaultReviewers:ke.deleteMany}}),{initializeProcedureStepDefaultReviewers:BT,addProcedureStepDefaultReviewer:zT,addProcedureStepDefaultReviewers:jT,setProcedureStepDefaultReviewer:DT,setProcedureStepDefaultReviewers:CT,updateProcedureStepDefaultReviewer:qT,updateProcedureStepDefaultReviewers:$T,deleteProcedureStepDefaultReviewer:UT,deleteProcedureStepDefaultReviewers:kT}=Pa.actions,LT=t=>t.procedureStepDefaultReviewerReducer.instances,ba=u.createSelector([LT],t=>Object.values(t)),HT=t=>e=>e.procedureStepDefaultReviewerReducer.instances[t],GT=y(u.createSelector([ba,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),SM=y(u.createSelector([ba,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),NT=Pa.reducer,Le=O(t=>t.uuid),KT={instances:{}},Fa=u.createSlice({name:"procedureStepEvents",initialState:KT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,KT)),reducers:{initializeProcedureStepEvents:Le.initialize,addProcedureStepEvent:Le.addOne,addProcedureStepEvents:Le.addMany,setProcedureStepEvent:Le.setOne,setProcedureStepEvents:Le.setMany,updateProcedureStepEvent:Le.updateOne,updateProcedureStepEvents:Le.updateMany,deleteProcedureStepEvent:Le.deleteOne,deleteProcedureStepEvents:Le.deleteMany}}),{initializeProcedureStepEvents:WT,addProcedureStepEvent:XT,addProcedureStepEvents:YT,setProcedureStepEvent:ZT,setProcedureStepEvents:JT,updateProcedureStepEvent:QT,updateProcedureStepEvents:xT,deleteProcedureStepEvent:eI,deleteProcedureStepEvents:tI}=Fa.actions,sI=t=>t.procedureStepEventReducer.instances,wt=u.createSelector([sI],t=>Object.values(t)),iI=t=>e=>e.procedureStepEventReducer.instances[t],aI=y(u.createSelector([wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),AM=y(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),TM=y(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),IM=y(u.createSelector([wt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),nI=Fa.reducer,He=O(t=>t.uuid),cI={instances:{}},_a=u.createSlice({name:"procedureStepFieldsAttachments",initialState:cI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,cI)),reducers:{initializeProcedureStepFieldsAttachments:He.initialize,addProcedureStepFieldsAttachment:He.addOne,addProcedureStepFieldsAttachments:He.addMany,setProcedureStepFieldsAttachment:He.setOne,setProcedureStepFieldsAttachments:He.setMany,updateProcedureStepFieldsAttachment:He.updateOne,updateProcedureStepFieldsAttachments:He.updateMany,deleteProcedureStepFieldsAttachment:He.deleteOne,deleteProcedureStepFieldsAttachments:He.deleteMany}}),{initializeProcedureStepFieldsAttachments:rI,addProcedureStepFieldsAttachment:dI,addProcedureStepFieldsAttachments:Ma,setProcedureStepFieldsAttachment:uI,setProcedureStepFieldsAttachments:lI,updateProcedureStepFieldsAttachment:oI,updateProcedureStepFieldsAttachments:hI,deleteProcedureStepFieldsAttachment:pI,deleteProcedureStepFieldsAttachments:ga}=_a.actions,yI=t=>t.procedureStepFieldsAttachmentReducer.instances,Ra=u.createSelector([yI],t=>Object.values(t)),mI=y(u.createSelector([Ra,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),fI=t=>e=>e.procedureStepFieldsAttachmentReducer.instances[t],SI=y(u.createSelector([Ra,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),AI=_a.reducer,Ge=O(t=>t.uuid),TI={instances:{}},wa=u.createSlice({name:"procedureStepFields",initialState:TI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,TI)),reducers:{initializeProcedureStepFields:Ge.initialize,addProcedureStepFields:Ge.addOne,addProcedureStepFieldsMany:Ge.addMany,setProcedureStepFields:Ge.setOne,setProcedureStepFieldsMany:Ge.setMany,updateProcedureStepFields:Ge.updateOne,updateProcedureStepFieldsMany:Ge.updateMany,deleteProcedureStepFields:Ge.deleteOne,deleteProcedureStepFieldsMany:Ge.deleteMany}}),{initializeProcedureStepFields:II,addProcedureStepFields:OI,addProcedureStepFieldsMany:PI,setProcedureStepFields:bI,setProcedureStepFieldsMany:FI,updateProcedureStepFields:_I,updateProcedureStepFieldsMany:MI,deleteProcedureStepFields:gI,deleteProcedureStepFieldsMany:RI}=wa.actions,Ea=t=>t.procedureStepFieldsReducer.instances,ss=u.createSelector([Ea],t=>Object.values(t)),OM=y(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),PM=y(u.createSelector([ss,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_step===e).toSorted(l.submittedAtModelSortFn).pop())),bM=u.createSelector([Ea],t=>{const e={};for(const i of Object.values(t)){const a=e[i.procedure_step];(!a||a.submitted_at<i.submitted_at)&&(e[i.procedure_step]=i)}return e}),wI=t=>e=>e.procedureStepFieldsReducer.instances[t],EI=y(u.createSelector([ss,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),vI=wa.reducer,Ne=O(t=>t.uuid),VI={instances:{}},va=u.createSlice({name:"procedureStepFieldValuesAttachments",initialState:VI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,VI)),reducers:{initializeProcedureStepFieldValuesAttachments:Ne.initialize,addProcedureStepFieldValuesAttachment:Ne.addOne,addProcedureStepFieldValuesAttachments:Ne.addMany,setProcedureStepFieldValuesAttachment:Ne.setOne,setProcedureStepFieldValuesAttachments:Ne.setMany,updateProcedureStepFieldValuesAttachment:Ne.updateOne,updateProcedureStepFieldValuesAttachments:Ne.updateMany,deleteProcedureStepFieldValuesAttachment:Ne.deleteOne,deleteProcedureStepFieldValuesAttachments:Ne.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:BI,addProcedureStepFieldValuesAttachment:zI,addProcedureStepFieldValuesAttachments:Va,setProcedureStepFieldValuesAttachment:jI,setProcedureStepFieldValuesAttachments:DI,updateProcedureStepFieldValuesAttachment:CI,updateProcedureStepFieldValuesAttachments:qI,deleteProcedureStepFieldValuesAttachment:$I,deleteProcedureStepFieldValuesAttachments:Ba}=va.actions,UI=t=>t.procedureStepFieldValuesAttachmentReducer.instances,za=u.createSelector([UI],t=>Object.values(t)),kI=t=>e=>e.procedureStepFieldValuesAttachmentReducer.instances[t],LI=y(u.createSelector([za,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),HI=y(u.createSelector([za,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),GI=va.reducer,Ke=O(t=>t.uuid),NI={instances:{}},ja=u.createSlice({name:"procedureStepFieldValues",initialState:NI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,NI)),reducers:{initializeProcedureStepFieldValues:Ke.initialize,addProcedureStepFieldValues:Ke.addOne,addProcedureStepFieldValuesMany:Ke.addMany,setProcedureStepFieldValues:Ke.setOne,setProcedureStepFieldValuesMany:Ke.setMany,updateProcedureStepFieldValues:Ke.updateOne,updateProcedureStepFieldValuesMany:Ke.updateMany,deleteProcedureStepFieldValues:Ke.deleteOne,deleteProcedureStepFieldValuesMany:Ke.deleteMany}}),{initializeProcedureStepFieldValues:KI,addProcedureStepFieldValues:WI,addProcedureStepFieldValuesMany:XI,setProcedureStepFieldValues:YI,setProcedureStepFieldValuesMany:ZI,updateProcedureStepFieldValues:JI,updateProcedureStepFieldValuesMany:QI,deleteProcedureStepFieldValues:xI,deleteProcedureStepFieldValuesMany:eO}=ja.actions,tO=ja.reducer,sO=t=>t.procedureStepFieldValuesReducer.instances,ot=u.createSelector([sO],t=>Object.values(t)),FM=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),_M=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),iO=t=>e=>e.procedureStepFieldValuesReducer.instances[t],aO=y(u.createSelector([ot,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),MM=y(u.createSelector([ot,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),We=O(t=>t.uuid),nO={instances:{}},Da=u.createSlice({name:"procedureStepFieldValuesReviews",initialState:nO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,nO)),reducers:{initializeProcedureStepFieldValuesReviews:We.initialize,addProcedureStepFieldValuesReview:We.addOne,addProcedureStepFieldValuesReviews:We.addMany,setProcedureStepFieldValuesReview:We.setOne,setProcedureStepFieldValuesReviews:We.setMany,updateProcedureStepFieldValuesReview:We.updateOne,updateProcedureStepFieldValuesReviews:We.updateMany,deleteProcedureStepFieldValuesReview:We.deleteOne,deleteProcedureStepFieldValuesReviews:We.deleteMany}}),{initializeProcedureStepFieldValuesReviews:cO,addProcedureStepFieldValuesReview:rO,addProcedureStepFieldValuesReviews:Ca,setProcedureStepFieldValuesReview:dO,setProcedureStepFieldValuesReviews:uO,updateProcedureStepFieldValuesReview:lO,updateProcedureStepFieldValuesReviews:oO,deleteProcedureStepFieldValuesReview:hO,deleteProcedureStepFieldValuesReviews:qa}=Da.actions,pO=t=>t.procedureStepFieldValuesReviewReducer.instances,ht=u.createSelector([pO],t=>Object.values(t)),yO=t=>e=>e.procedureStepFieldValuesReviewReducer.instances[t],mO=y(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fO=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),gM=y(u.createSelector([ht,(t,e)=>e],(t,e)=>{let i;for(const a of t){const{field_values:n}=a;n===e&&(!i||i.submitted_at<=a.submitted_at)&&(i=a)}return i})),RM=y(u.createSelector([ot,ht,(t,e)=>e],(t,e,i)=>{const a=new Set(l.toUuidArray(t.filter(({procedure:n})=>i===n)));return l.fallbackToEmptyArray(e.filter(({field_values:n})=>a.has(n)))})),wM=y(u.createSelector([ot,ht,(t,e)=>e,(t,e,i)=>i],(t,e,i,a)=>{const n=new Set(l.toUuidArray(t.filter(({procedure_step:c,procedure:d})=>i===d&&c===a)));return l.fallbackToEmptyArray(e.filter(({field_values:c})=>n.has(c)))})),EM=u.createSelector([ht],t=>{const e={};for(const i of t){const{field_values:a}=i,n=e[a];(!n||n.submitted_at<=i.submitted_at)&&(e[a]=i)}return e}),SO=Da.reducer,Xe=O(t=>t.uuid),AO={instances:{}},$a=u.createSlice({name:"procedureStepReviewers",initialState:AO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,AO)),reducers:{initializeProcedureStepReviewers:Xe.initialize,addProcedureStepReviewer:Xe.addOne,addProcedureStepReviewers:Xe.addMany,setProcedureStepReviewer:Xe.setOne,setProcedureStepReviewers:Xe.setMany,updateProcedureStepReviewer:Xe.updateOne,updateProcedureStepReviewers:Xe.updateMany,deleteProcedureStepReviewer:Xe.deleteOne,deleteProcedureStepReviewers:Xe.deleteMany}}),{initializeProcedureStepReviewers:TO,addProcedureStepReviewer:IO,addProcedureStepReviewers:OO,setProcedureStepReviewer:PO,setProcedureStepReviewers:bO,updateProcedureStepReviewer:FO,updateProcedureStepReviewers:_O,deleteProcedureStepReviewer:MO,deleteProcedureStepReviewers:gO}=$a.actions,RO=t=>t.procedureStepReviewerReducer.instances,Et=u.createSelector([RO],t=>Object.values(t)),wO=t=>e=>e.procedureStepReviewerReducer.instances[t],EO=y(u.createSelector([Et,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),vM=y(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),VM=y(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),BM=y(u.createSelector([Et,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),vO=$a.reducer,Ye=O(t=>t.uuid),VO={instances:{}},Ua=u.createSlice({name:"procedureSteps",initialState:VO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,VO)),reducers:{initializeProcedureSteps:Ye.initialize,setProcedureStep:Ye.setOne,setProcedureSteps:Ye.setMany,addProcedureStep:Ye.addOne,addProcedureSteps:Ye.addMany,updateProcedureStep:Ye.updateOne,updateProcedureSteps:Ye.updateMany,deleteProcedureStep:Ye.deleteOne,deleteProcedureSteps:Ye.deleteMany}}),{initializeProcedureSteps:BO,setProcedureStep:zO,setProcedureSteps:jO,addProcedureStep:DO,addProcedureSteps:CO,updateProcedureStep:qO,updateProcedureSteps:$O,deleteProcedureStep:UO,deleteProcedureSteps:kO}=Ua.actions,LO=Ua.reducer,ka=t=>t.procedureStepReducer.instances,HO=t=>e=>e.procedureStepReducer.instances[t],La=u.createSelector([ka],t=>Object.values(t).toSorted((e,i)=>e.order-i.order)),zM=y(u.createSelector([ka,(t,e)=>e],(t,e)=>{const i={};for(const[a,n]of Object.entries(t))n.procedure_type===e&&(i[a]=n);return l.fallbackToEmptyObject(i)})),jM=y(u.createSelector([La,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),GO=y(u.createSelector([La,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ze=O(({uuid:t})=>t),NO={instances:{}},Ha=u.createSlice({name:"procedureTypeAttachments",initialState:NO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,NO)),reducers:{initializeProcedureTypeAttachments:Ze.initialize,addProcedureTypeAttachment:Ze.addOne,addProcedureTypeAttachments:Ze.addMany,setProcedureTypeAttachment:Ze.setOne,setProcedureTypeAttachments:Ze.setMany,updateProcedureTypeAttachment:Ze.updateOne,updateProcedureTypeAttachments:Ze.updateMany,deleteProcedureTypeAttachment:Ze.deleteOne,deleteProcedureTypeAttachments:Ze.deleteMany}}),{initializeProcedureTypeAttachments:KO,addProcedureTypeAttachment:WO,addProcedureTypeAttachments:XO,setProcedureTypeAttachment:YO,setProcedureTypeAttachments:ZO,updateProcedureTypeAttachment:JO,updateProcedureTypeAttachments:QO,deleteProcedureTypeAttachment:xO,deleteProcedureTypeAttachments:eP}=Ha.actions,tP=Ha.reducer,sP=t=>t.procedureTypeAttachmentReducer.instances,Ga=u.createSelector([sP],t=>Object.values(t)),iP=t=>e=>e.procedureTypeAttachmentReducer.instances[t],aP=y(u.createSelector([Ga,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),DM=y(u.createSelector([Ga,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({procedure_type:i})=>e===i)))),Je=O(({uuid:t})=>t),nP={instances:{}},Na=u.createSlice({name:"procedureTypeFieldsAttachments",initialState:nP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,nP)),reducers:{initializeProcedureTypeFieldsAttachments:Je.initialize,addProcedureTypeFieldsAttachment:Je.addOne,addProcedureTypeFieldsAttachments:Je.addMany,setProcedureTypeFieldsAttachment:Je.setOne,setProcedureTypeFieldsAttachments:Je.setMany,updateProcedureTypeFieldsAttachment:Je.updateOne,updateProcedureTypeFieldsAttachments:Je.updateMany,deleteProcedureTypeFieldsAttachment:Je.deleteOne,deleteProcedureTypeFieldsAttachments:Je.deleteMany}}),{initializeProcedureTypeFieldsAttachments:cP,addProcedureTypeFieldsAttachment:rP,addProcedureTypeFieldsAttachments:dP,setProcedureTypeFieldsAttachment:uP,setProcedureTypeFieldsAttachments:lP,updateProcedureTypeFieldsAttachment:oP,updateProcedureTypeFieldsAttachments:hP,deleteProcedureTypeFieldsAttachment:pP,deleteProcedureTypeFieldsAttachments:yP}=Na.actions,mP=Na.reducer,fP=t=>t.procedureTypeFieldsAttachmentReducer.instances,Ka=u.createSelector([fP],t=>Object.values(t)),CM=y(u.createSelector([Ka,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),SP=t=>e=>e.procedureTypeFieldsAttachmentReducer.instances[t],AP=y(u.createSelector([Ka,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Qe=O(({uuid:t})=>t),TP={instances:{}},Wa=u.createSlice({name:"procedureTypeFields",initialState:TP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,TP)),reducers:{initializeProcedureTypeFields:Qe.initialize,addProcedureTypeFields:Qe.addOne,addProcedureTypeFieldsMany:Qe.addMany,setProcedureTypeFields:Qe.setOne,setProcedureTypeFieldsMany:Qe.setMany,updateProcedureTypeFields:Qe.updateOne,updateProcedureTypeFieldsMany:Qe.updateMany,deleteProcedureTypeFields:Qe.deleteOne,deleteProcedureTypeFieldsMany:Qe.deleteMany}}),{initializeProcedureTypeFields:IP,addProcedureTypeFields:OP,addProcedureTypeFieldsMany:PP,setProcedureTypeFields:bP,setProcedureTypeFieldsMany:FP,updateProcedureTypeFields:_P,updateProcedureTypeFieldsMany:MP,deleteProcedureTypeFields:gP,deleteProcedureTypeFieldsMany:RP}=Wa.actions,wP=Wa.reducer,EP=t=>t.procedureTypeFieldsReducer.instances,is=u.createSelector([EP],t=>Object.values(t)),qM=y(u.createSelector([is,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),$M=y(u.createSelector([is,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),vP=t=>e=>e.procedureTypeFieldsReducer.instances[t],VP=y(u.createSelector([is,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),xe=O(({uuid:t})=>t),BP={instances:{}},Xa=u.createSlice({name:"procedureFieldValuesAttachments",initialState:BP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,BP)),reducers:{initializeProcedureFieldValuesAttachments:xe.initialize,addProcedureFieldValuesAttachment:xe.addOne,addProcedureFieldValuesAttachments:xe.addMany,setProcedureFieldValuesAttachment:xe.setOne,setProcedureFieldValuesAttachments:xe.setMany,updateProcedureFieldValuesAttachment:xe.updateOne,updateProcedureFieldValuesAttachments:xe.updateMany,deleteProcedureFieldValuesAttachment:xe.deleteOne,deleteProcedureFieldValuesAttachments:xe.deleteMany}}),{initializeProcedureFieldValuesAttachments:zP,addProcedureFieldValuesAttachment:jP,addProcedureFieldValuesAttachments:Ya,setProcedureFieldValuesAttachment:DP,setProcedureFieldValuesAttachments:CP,updateProcedureFieldValuesAttachment:qP,updateProcedureFieldValuesAttachments:$P,deleteProcedureFieldValuesAttachment:UP,deleteProcedureFieldValuesAttachments:Za}=Xa.actions,kP=Xa.reducer,LP=t=>t.procedureFieldValuesAttachmentReducer.instances,Ja=u.createSelector([LP],t=>Object.values(t)),HP=t=>e=>e.procedureFieldValuesAttachmentReducer.instances[t],GP=y(u.createSelector([Ja,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),NP=y(u.createSelector([Ja,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),et=O(({uuid:t})=>t),KP={instances:{}},Qa=u.createSlice({name:"procedureFieldValues",initialState:KP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,KP)),reducers:{initializeProcedureFieldValues:et.initialize,addProcedureFieldValues:et.addOne,addProcedureFieldValuesMany:et.addMany,setProcedureFieldValues:et.setOne,setProcedureFieldValuesMany:et.setMany,updateProcedureFieldValues:et.updateOne,updateProcedureFieldValuesMany:et.updateMany,deleteProcedureFieldValues:et.deleteOne,deleteProcedureFieldValuesMany:et.deleteMany}}),{initializeProcedureFieldValues:WP,addProcedureFieldValues:XP,addProcedureFieldValuesMany:YP,setProcedureFieldValues:ZP,setProcedureFieldValuesMany:JP,updateProcedureFieldValues:QP,updateProcedureFieldValuesMany:xP,deleteProcedureFieldValues:eb,deleteProcedureFieldValuesMany:tb}=Qa.actions,sb=Qa.reducer,ib=t=>t.procedureFieldValuesReducer.instances,xa=u.createSelector([ib],t=>Object.values(t)),UM=y(u.createSelector([xa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),ab=t=>e=>e.procedureFieldValuesReducer.instances[t],nb=y(u.createSelector([xa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tt=O(t=>t.uuid),cb={instances:{}},en=u.createSlice({name:"procedureTypes",initialState:cb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,cb)),reducers:{initializeProcedureTypes:tt.initialize,addProcedureType:tt.addOne,addProcedureTypes:tt.addMany,setProcedureType:tt.setOne,setProcedureTypes:tt.setMany,updateProcedureType:tt.updateOne,updateProcedureTypes:tt.updateMany,deleteProcedureType:tt.deleteOne,deleteProcedureTypes:tt.deleteMany}}),{initializeProcedureTypes:rb,addProcedureType:db,addProcedureTypes:ub,setProcedureType:lb,setProcedureTypes:ob,updateProcedureType:hb,updateProcedureTypes:pb,deleteProcedureType:yb,deleteProcedureTypes:mb}=en.actions,fb=en.reducer,Sb=t=>t.procedureTypeReducer.instances,tn=u.createSelector([Sb],t=>Object.values(t)),Ab=t=>e=>e.procedureTypeReducer.instances[t],Tb=y(u.createSelector([tn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),kM=y(u.createSelector([tn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),LM={isRehydrated:!1},sn=u.createSlice({name:"rehydrated",initialState:LM,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:HM}=sn.actions,GM=t=>t.rehydratedReducer.isRehydrated,Ib=sn.reducer,st=O(t=>t.uuid),Ob={instances:{}},an=u.createSlice({name:"reports",initialState:Ob,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Ob)),reducers:{initializeReports:st.initialize,addReport:st.addOne,addReports:st.addMany,setReport:st.setOne,setReports:st.setMany,updateReport:st.updateOne,updateReports:st.updateMany,deleteReport:st.deleteOne,deleteReports:st.deleteMany}}),{initializeReports:Pb,addReport:bb,addReports:Fb,setReport:_b,setReports:Mb,updateReport:gb,updateReports:Rb,deleteReport:wb,deleteReports:Eb}=an.actions,vb=t=>t.reportReducer.instances,Vb=u.createSelector([vb],t=>l.fallbackToEmptyArray(Object.values(t))),Bb=t=>e=>e.reportReducer.instances[t],zb=y(u.createSelector([Vb,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),jb=an.reducer,it=O(t=>t.uuid),Db={instances:{}},nn=u.createSlice({name:"teamMemberships",initialState:Db,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Db)),reducers:{initializeTeamMemberships:it.initialize,addTeamMembership:it.addOne,addTeamMemberships:it.addMany,setTeamMembership:it.setOne,setTeamMemberships:it.setMany,updateTeamMembership:it.updateOne,updateTeamMemberships:it.updateMany,deleteTeamMembership:it.deleteOne,deleteTeamMemberships:it.deleteMany}}),{initializeTeamMemberships:Cb,addTeamMembership:qb,addTeamMemberships:$b,setTeamMembership:Ub,setTeamMemberships:kb,updateTeamMembership:Lb,updateTeamMemberships:Hb,deleteTeamMembership:Gb,deleteTeamMemberships:Nb}=nn.actions,Kb=nn.reducer,Wb=t=>t.teamMembershipReducer.instances,as=u.createSelector([Wb],t=>Object.values(t)),Xb=t=>e=>e.teamMembershipReducer.instances[t],Yb=y(u.createSelector([as,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),NM=y(u.createSelector([as,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.team===e))i[a.user]=a;return i})),KM=y(u.createSelector([Zt,as,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.team===i).map(n=>n.user));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.id)))})),at=O(t=>t.uuid),Zb={instances:{}},cn=u.createSlice({name:"teams",initialState:Zb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Zb)),reducers:{initializeTeams:at.initialize,addTeam:at.addOne,addTeams:at.addMany,setTeam:at.setOne,setTeams:at.setMany,updateTeam:at.updateOne,updateTeams:at.updateMany,deleteTeam:at.deleteOne,deleteTeams:at.deleteMany}}),{initializeTeams:Jb,addTeam:Qb,addTeams:xb,setTeam:eF,setTeams:tF,updateTeam:sF,updateTeams:iF,deleteTeam:aF,deleteTeams:nF}=cn.actions,cF=t=>t.teamReducer.instances,rn=u.createSelector([cF],t=>Object.values(t)),rF=t=>e=>e.teamReducer.instances[t],dF=y(u.createSelector([rn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),WM=y(u.createSelector([rn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),uF=cn.reducer,dn={outboxReducer:Jf,authReducer:gd},XM=u.combineReducers(dn),lF={...dn,assetReducer:dc,assetAttachmentReducer:jn,assetCommentReducer:Yn,assetTypeReducer:ld,assetTypeAttachmentReducer:Oc,issueReducer:Tp,issueAttachmentReducer:Bh,issueTypeReducer:jm,issueTypeAttachmentReducer:Bp,organizationReducer:Nf,projectReducer:lA,projectAttachmentReducer:FS,projectCommentReducer:qS,projectAccessReducer:dS,organizationAccessReducer:gf,projectFileReducer:xS,procedureTypeReducer:fb,procedureInitiativeReducer:FA,procedureReducer:DA,procedureTypeFieldsReducer:wP,procedureFieldValuesReducer:sb,procedureTypeAttachmentReducer:tP,procedureTypeFieldsAttachmentReducer:mP,procedureFieldValuesAttachmentReducer:kP,procedureStepFieldsAttachmentReducer:AI,procedureStepFieldsReducer:vI,procedureStepFieldValuesAttachmentReducer:GI,procedureStepFieldValuesReducer:tO,procedureStepFieldValuesReviewReducer:SO,procedureStepAssigneeReducer:iT,procedureStepCommentReducer:ST,procedureStepDefaultAssigneeReducer:vT,procedureStepDefaultReviewerReducer:NT,procedureStepEventReducer:nI,procedureStepReviewerReducer:vO,procedureStepReducer:LO,rehydratedReducer:Ib,reportReducer:jb,formReducer:Ul,formRevisionReducer:fl,formRevisionAttachmentReducer:il,formSubscriberReducer:wl,formSubmissionFieldValuesAttachmentReducer:eo,formSubmissionFieldValuesReducer:yo,formSubmissionCommentReducer:go,formSubmissionReducer:Go,formIdentifierReducer:wu,formIdentifierValueReducer:Hu,userReducer:yf,emailDomainsReducer:mu,documentsReducer:Qd,documentAttachmentReducer:kd,teamReducer:uF,agentsReducer:Pn,issueCommentReducer:cp,issueCommentAttachmentReducer:Wh,issueUpdateReducer:nf,geoImageReducer:ah,issueAssociationReducer:Ih,issueTypeFieldsReducer:Oy,issueTypeFieldValuesReducer:ry,issueTypeFieldsAttachmentReducer:Wp,issueTypeFieldValuesAttachmentReducer:zy,issueTypeIdentifierReducer:Xy,issueTypeIdentifierValueReducer:dm,issueTypePriorityReducer:Om,issueTypeStatusReducer:Xm,assetTypeFieldsReducer:Yc,assetTypeFieldValuesReducer:Pr,assetTypeFieldsAttachmentReducer:jc,assetTypeFieldValuesAttachmentReducer:dr,assetTypeIdentifierReducer:Dr,assetTypeIdentifierValueReducer:Zr,assetTypeStatusReducer:Fd,teamMembershipReducer:Kb},YM=u.combineReducers(lF),oF=1e4,un=[400,409,403,404,405,500],C=1e4,hF={};class pF{client;pageSize=oF;constructor(e){hF[this.constructor.name]=this,this.client=e}async performRequest(e,i){return this.client.performRequest(this.host,e,this,i)}async enqueueRequest(e){return this.client.enqueueRequest(e,this.host,this.constructor.name)}async performPagination(e,i){return this.client.performPagination(this.host,e,this.pageSize,this,i)}dispatch(e){this.client.store.dispatch(e)}select(e){return e(this.client.store.getState())}}const ZM=t=>{if(t)throw t;const e=Pt();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},yF=(t,e,i)=>{const a=yt();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},mF=(t,e,i)=>{const a=yt();if(!a)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=e.meta.offlineAction.payload.uuid;return a.remove(c),a.getQueue()};async function JM(t,e){if(!e.payload)throw new Error("Received empty payload");return qF(e)}const QM={...mn,effect:JM,discard:SF,returnPromises:!0,persistCallback:ZM,retry:tg,persistOptions:{storage:kF},queue:{...mn.queue,enqueue:yF,dequeue:mF,peek:(...t)=>eg(...t)}},xM=UF.offline(QM);async function fF(t,e,i){if(e.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const n=hF[t.meta.offline.effect.serviceName];if(!n)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return hn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,e,n,i)}function SF(t,e,i=0){if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
|
|
1
|
+
(function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("@overmap-ai/common"),require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("idb"),require("jwt-decode"),require("dependency-graph")):typeof define=="function"&&define.amd?define(["exports","@overmap-ai/common","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","idb","jwt-decode","dependency-graph"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s["overmap-core"]={},s.common,null,s.toolkit,s.request,s.uuid,s.reduxOffline,s.offlineConfig,s.localforage,s.idb,s.jwtDecode,s.dependencyGraph))})(this,(function(s,l,sw,u,ft,dt,i_,An,a_,n_,c_,r_){"use strict";const Tn=["created_at","updated_at","index","revision"];var o=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(o||{});function O(t){return{addOne:(f,A)=>{const I=t(A.payload);I in f.instances||(f.instances[I]=A.payload)},addMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances||(f.instances[S]=I)}},updateOne:(f,A)=>{const I=t(A.payload);I in f.instances&&(f.instances[I]=A.payload)},setMany:(f,A)=>{for(const I of A.payload){const S=t(I);f.instances[S]=I}},setOne:(f,A)=>{const I=t(A.payload);f.instances[I]=A.payload},updateMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances&&(f.instances[S]=I)}},deleteOne:(f,A)=>{delete f.instances[A.payload]},deleteMany:(f,A)=>{for(const I of A.payload)delete f.instances[I]},initialize:(f,A)=>{f.instances={};const I=new Set;for(const S of A.payload){const P=t(S);I.add(P),f.instances[P]=S}I.size!==A.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function d_(t){return{initializeSelection:(p,h)=>{p[t]=Array.from(new Set(h.payload))},selectOne:(p,h)=>{console.debug(p,p[t]),!new Set(p[t]).has(h.payload)&&p[t].push(h.payload)},selectMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)||f.add(A);p[t]=Array.from(f)},unselectOne:(p,h)=>{const f=new Set(p[t]);f.has(h.payload)&&(f.delete(h.payload),p[t]=Array.from(f))},unselectMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)&&f.delete(A);p[t]=Array.from(f)},toggleOne:(p,h)=>{const f=new Set(p[t]);f.has(h.payload)?f.delete(h.payload):f.add(h.payload),p[t]=Array.from(f)},toggleMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)?f.delete(A):f.add(A);p[t]=Array.from(f)}}}const T=u.createAction("RESET"),E=u.createAction("RESET_PROJECT_STATE"),b=u.createAction("RESET_ORGANIZATION_STATE"),y=(t=>(...e)=>i=>t(i,...e)),$=O(t=>t.uuid),In={instances:{}},ds=u.createSlice({name:"agents",initialState:In,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,In)),reducers:{initializeConversations:$.initialize,addConversation:$.addOne,addConversations:$.addMany,setConversation:$.setOne,setConversations:$.setMany,updateConversation:$.updateOne,updateConversations:$.updateMany,deleteConversation:$.deleteOne,deleteConversations:$.deleteMany}}),{initializeConversations:On,addConversation:bn,addConversations:u_,setConversation:Pn,setConversations:l_,updateConversation:Fn,updateConversations:o_,deleteConversation:h_,deleteConversations:p_}=ds.actions,us=t=>t.agentsReducer.instances,y_=u.createSelector([us],t=>Object.values(t)),m_=y(u.createSelector([us,(t,e)=>e],(t,e)=>t[e])),_n=ds.reducer,U=O(t=>t.uuid),Mn={instances:{}},ls=u.createSlice({name:"assetAttachments",initialState:Mn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Mn)),reducers:{initializeAssetAttachments:U.initialize,addAssetAttachment:U.addOne,addAssetAttachments:U.addMany,setAssetAttachment:U.setOne,setAssetAttachments:U.setMany,updateAssetAttachment:U.updateOne,updateAssetAttachments:U.updateMany,deleteAssetAttachment:U.deleteOne,deleteAssetAttachments:U.deleteMany}}),{initializeAssetAttachments:gn,addAssetAttachment:Rn,addAssetAttachments:os,setAssetAttachment:wn,setAssetAttachments:En,updateAssetAttachment:vn,updateAssetAttachments:Vn,deleteAssetAttachment:Bn,deleteAssetAttachments:hs}=ls.actions,zn=t=>t.assetAttachmentReducer.instances,ps=u.createSelector([zn],t=>Object.values(t)),jn=t=>e=>e.assetAttachmentReducer.instances[t],Cn=y(u.createSelector([ps,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Dn=y(u.createSelector([ps,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>e===i)))),qn=ls.reducer,k=O(t=>t.uuid),$n={instances:{}},ys=u.createSlice({name:"assetCommentAttachments",initialState:$n,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,$n)),reducers:{initializeAssetCommentAttachments:k.initialize,addAssetCommentAttachment:k.addOne,addAssetCommentAttachments:k.addMany,setAssetCommentAttachment:k.setOne,setAssetCommentAttachments:k.setMany,updateAssetCommentAttachment:k.updateOne,updateAssetCommentAttachments:k.updateMany,deleteAssetCommentAttachment:k.deleteOne,deleteAssetCommentAttachments:k.deleteMany}}),{initializeAssetCommentAttachments:Un,addAssetCommentAttachment:kn,addAssetCommentAttachments:Ln,setAssetCommentAttachment:Hn,setAssetCommentAttachments:Gn,updateAssetCommentAttachment:Nn,updateAssetCommentAttachments:Kn,deleteAssetCommentAttachment:Wn,deleteAssetCommentAttachments:Xn}=ys.actions,Yn=t=>t.assetCommentAttachmentReducer.instances,ms=u.createSelector([Yn],t=>Object.values(t)),Zn=t=>e=>e.assetCommentAttachmentReducer.instances[t],Jn=y(u.createSelector([ms,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),f_=y(u.createSelector([ms,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_comment:i})=>e===i)))),Qn=ys.reducer,L=O(t=>t.uuid),xn={instances:{}},fs=u.createSlice({name:"assetComments",initialState:xn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,xn)),reducers:{initializeAssetComments:L.initialize,addAssetComment:L.addOne,addAssetComments:L.addMany,setAssetComment:L.setOne,setAssetComments:L.setMany,updateAssetComment:L.updateOne,updateAssetComments:L.updateMany,deleteAssetComment:L.deleteOne,deleteAssetComments:L.deleteMany}}),{initializeAssetComments:ec,addAssetComment:tc,addAssetComments:jt,setAssetComment:sc,setAssetComments:ic,updateAssetComment:ac,updateAssetComments:nc,deleteAssetComment:cc,deleteAssetComments:Ct}=fs.actions,rc=t=>t.assetCommentReducer.instances,Dt=u.createSelector([rc],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),dc=t=>e=>e.assetCommentReducer.instances[t],uc=y(u.createSelector([Dt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),lc=y(u.createSelector([Dt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),oc=y(u.createSelector([Dt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.asset)))})),hc=fs.reducer,H=O(t=>t.uuid),pc={instances:{}},Ss=u.createSlice({name:"assets",initialState:pc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,pc)),reducers:{initializeAssets:H.initialize,addAsset:H.addOne,addAssets:H.addMany,setAsset:H.setOne,setAssets:H.setMany,updateAsset:H.updateOne,updateAssets:H.updateMany,deleteAsset:H.deleteOne,deleteAssets:H.deleteMany}}),{initializeAssets:yc,addAsset:mc,addAssets:As,updateAsset:fc,updateAssets:Sc,deleteAsset:Ac,deleteAssets:Ts,setAsset:Tc,setAssets:Ic}=Ss.actions,Oc=t=>t.assetReducer.instances,qt=u.createSelector([Oc],t=>l.fallbackToEmptyArray(Object.values(t))),S_=y(u.createSelector([qt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),bc=y(u.createSelector([qt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),Pc=t=>e=>e.assetReducer.instances[t],Fc=y(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_c=Ss.reducer,G=O(t=>t.uuid),Mc={instances:{}},Is=u.createSlice({name:"assetTypeAttachments",initialState:Mc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Mc)),reducers:{initializeAssetTypeAttachments:G.initialize,addAssetTypeAttachment:G.addOne,addAssetTypeAttachments:G.addMany,setAssetTypeAttachment:G.setOne,setAssetTypeAttachments:G.setMany,updateAssetTypeAttachment:G.updateOne,updateAssetTypeAttachments:G.updateMany,deleteAssetTypeAttachment:G.deleteOne,deleteAssetTypeAttachments:G.deleteMany}}),{initializeAssetTypeAttachments:gc,addAssetTypeAttachment:Rc,addAssetTypeAttachments:Os,setAssetTypeAttachment:wc,setAssetTypeAttachments:Ec,updateAssetTypeAttachment:vc,updateAssetTypeAttachments:Vc,deleteAssetTypeAttachment:Bc,deleteAssetTypeAttachments:bs}=Is.actions,zc=t=>t.assetTypeAttachmentReducer.instances,Ps=u.createSelector([zc],t=>Object.values(t)),jc=t=>e=>e.assetTypeAttachmentReducer.instances[t],Cc=y(u.createSelector([Ps,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Dc=y(u.createSelector([Ps,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_type:i})=>e===i)))),qc=Is.reducer,N=O(t=>t.uuid),$c={instances:{}},Fs=u.createSlice({name:"assetTypeFieldsAttachments",initialState:$c,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,$c)),reducers:{initializeAssetTypeFieldsAttachments:N.initialize,addAssetTypeFieldsAttachment:N.addOne,addAssetTypeFieldsAttachments:N.addMany,setAssetTypeFieldsAttachment:N.setOne,setAssetTypeFieldsAttachments:N.setMany,updateAssetTypeFieldsAttachment:N.updateOne,updateAssetTypeFieldsAttachments:N.updateMany,deleteAssetTypeFieldsAttachment:N.deleteOne,deleteAssetTypeFieldsAttachments:N.deleteMany}}),{initializeAssetTypeFieldsAttachments:Uc,addAssetTypeFieldsAttachment:kc,addAssetTypeFieldsAttachments:Lc,setAssetTypeFieldsAttachment:Hc,setAssetTypeFieldsAttachments:Gc,updateAssetTypeFieldsAttachment:Nc,updateAssetTypeFieldsAttachments:Kc,deleteAssetTypeFieldsAttachment:Wc,deleteAssetTypeFieldsAttachments:Xc}=Fs.actions,Yc=t=>t.assetTypeFieldsAttachmentReducer.instances,_s=u.createSelector([Yc],t=>Object.values(t)),A_=y(u.createSelector([_s,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),Zc=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],Jc=y(u.createSelector([_s,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Qc=Fs.reducer,K=O(t=>t.uuid),xc={instances:{}},Ms=u.createSlice({name:"assetTypeFields",initialState:xc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,xc)),reducers:{initializeAssetTypeFields:K.initialize,addAssetTypeFields:K.addOne,addAssetTypeFieldsMany:K.addMany,setAssetTypeFields:K.setOne,setAssetTypeFieldsMany:K.setMany,updateAssetTypeFields:K.updateOne,updateAssetTypeFieldsMany:K.updateMany,deleteAssetTypeFields:K.deleteOne,deleteAssetTypeFieldsMany:K.deleteMany}}),{initializeAssetTypeFields:er,addAssetTypeFields:tr,addAssetTypeFieldsMany:sr,setAssetTypeFields:ir,setAssetTypeFieldsMany:ar,updateAssetTypeFields:nr,updateAssetTypeFieldsMany:cr,deleteAssetTypeFields:rr,deleteAssetTypeFieldsMany:dr}=Ms.actions,ur=t=>t.assetTypeFieldsReducer.instances,_t=u.createSelector([ur],t=>Object.values(t)),T_=y(u.createSelector([_t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),I_=y(u.createSelector([_t,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).toSorted(l.submittedAtModelSortFn).pop())),lr=t=>e=>e.assetTypeFieldsReducer.instances[t],or=y(u.createSelector([_t,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),hr=Ms.reducer,W=O(t=>t.uuid),pr={instances:{}},gs=u.createSlice({name:"assetTypeFieldValuesAttachments",initialState:pr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,pr)),reducers:{initializeAssetTypeFieldValuesAttachments:W.initialize,addAssetTypeFieldValuesAttachment:W.addOne,addAssetTypeFieldValuesAttachments:W.addMany,setAssetTypeFieldValuesAttachment:W.setOne,setAssetTypeFieldValuesAttachments:W.setMany,updateAssetTypeFieldValuesAttachment:W.updateOne,updateAssetTypeFieldValuesAttachments:W.updateMany,deleteAssetTypeFieldValuesAttachment:W.deleteOne,deleteAssetTypeFieldValuesAttachments:W.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:yr,addAssetTypeFieldValuesAttachment:mr,addAssetTypeFieldValuesAttachments:Rs,setAssetTypeFieldValuesAttachment:fr,setAssetTypeFieldValuesAttachments:Sr,updateAssetTypeFieldValuesAttachment:Ar,updateAssetTypeFieldValuesAttachments:Tr,deleteAssetTypeFieldValuesAttachment:Ir,deleteAssetTypeFieldValuesAttachments:ws}=gs.actions,Or=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Es=u.createSelector([Or],t=>Object.values(t)),br=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],Pr=y(u.createSelector([Es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Fr=y(u.createSelector([Es,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),_r=gs.reducer,X=O(t=>t.uuid),Mr={instances:{}},vs=u.createSlice({name:"assetTypeFieldValues",initialState:Mr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Mr)),reducers:{initializeAssetTypeFieldValues:X.initialize,addAssetTypeFieldValues:X.addOne,addAssetTypeFieldValuesMany:X.addMany,setAssetTypeFieldValues:X.setOne,setAssetTypeFieldValuesMany:X.setMany,updateAssetTypeFieldValues:X.updateOne,updateAssetTypeFieldValuesMany:X.updateMany,deleteAssetTypeFieldValues:X.deleteOne,deleteAssetTypeFieldValuesMany:X.deleteMany}}),{initializeAssetTypeFieldValues:gr,addAssetTypeFieldValues:Rr,addAssetTypeFieldValuesMany:wr,setAssetTypeFieldValues:Er,setAssetTypeFieldValuesMany:vr,updateAssetTypeFieldValues:Vr,updateAssetTypeFieldValuesMany:Br,deleteAssetTypeFieldValues:zr,deleteAssetTypeFieldValuesMany:jr}=vs.actions,Cr=t=>t.assetTypeFieldValuesReducer.instances,$t=u.createSelector([Cr],t=>Object.values(t)),O_=y(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),b_=y(u.createSelector([_t,$t,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.asset_type===i).map(n=>n.uuid));return l.fallbackToEmptyArray(e.filter(n=>a.has(n.fields_revision)))})),Dr=t=>e=>e.assetTypeFieldValuesReducer.instances[t],qr=y(u.createSelector([$t,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$r=vs.reducer,Y=O(t=>t.uuid),Ur={instances:{}},Vs=u.createSlice({name:"assetTypeIdentifiers",initialState:Ur,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Ur)),reducers:{initializeAssetTypeIdentifiers:Y.initialize,addAssetTypeIdentifier:Y.addOne,addAssetTypeIdentifiers:Y.addMany,setAssetTypeIdentifier:Y.setOne,setAssetTypeIdentifiers:Y.setMany,updateAssetTypeIdentifier:Y.updateOne,updateAssetTypeIdentifiers:Y.updateMany,deleteAssetTypeIdentifier:Y.deleteOne,deleteAssetTypeIdentifiers:Y.deleteMany}}),{initializeAssetTypeIdentifiers:kr,addAssetTypeIdentifier:Lr,addAssetTypeIdentifiers:Hr,setAssetTypeIdentifier:Gr,setAssetTypeIdentifiers:Nr,updateAssetTypeIdentifier:Kr,updateAssetTypeIdentifiers:Wr,deleteAssetTypeIdentifier:Xr,deleteAssetTypeIdentifiers:Yr}=Vs.actions,Zr=t=>t.assetTypeIdentifierReducer.instances,Bs=u.createSelector([Zr],t=>Object.values(t)),Jr=t=>e=>e.assetTypeIdentifierReducer.instances[t],Qr=y(u.createSelector([Bs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),P_=y(u.createSelector([Bs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),xr=Vs.reducer,Z=O(t=>t.uuid),ed={instances:{}},zs=u.createSlice({name:"assetTypeIdentifierValues",initialState:ed,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,ed)),reducers:{initializeAssetTypeIdentifierValues:Z.initialize,addAssetTypeIdentifierValue:Z.addOne,addAssetTypeIdentifierValues:Z.addMany,setAssetTypeIdentifierValue:Z.setOne,setAssetTypeIdentifierValues:Z.setMany,updateAssetTypeIdentifierValue:Z.updateOne,updateAssetTypeIdentifierValues:Z.updateMany,deleteAssetTypeIdentifierValue:Z.deleteOne,deleteAssetTypeIdentifierValues:Z.deleteMany}}),{initializeAssetTypeIdentifierValues:td,addAssetTypeIdentifierValue:sd,addAssetTypeIdentifierValues:id,setAssetTypeIdentifierValue:ad,setAssetTypeIdentifierValues:nd,updateAssetTypeIdentifierValue:cd,updateAssetTypeIdentifierValues:rd,deleteAssetTypeIdentifierValue:dd,deleteAssetTypeIdentifierValues:ud}=zs.actions,ld=t=>t.assetTypeIdentifierValueReducer.instances,Ut=u.createSelector([ld],t=>Object.values(t)),od=t=>e=>e.assetTypeIdentifierValueReducer.instances[t],hd=y(u.createSelector([Ut,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),F_=y(u.createSelector([Ut,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),__=y(u.createSelector([Ut,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type_identifier===e)))),pd=zs.reducer,J=O(t=>t.uuid),yd={instances:{}},js=u.createSlice({name:"assetTypes",initialState:yd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,yd)),reducers:{initializeAssetTypes:J.initialize,setAssetType:J.setOne,setAssetTypes:J.setMany,addAssetType:J.addOne,addAssetTypes:J.addMany,updateAssetType:J.updateOne,updateAssetTypes:J.updateMany,deleteAssetType:J.deleteOne,deleteAssetTypes:J.deleteMany}}),{initializeAssetTypes:md,setAssetType:fd,setAssetTypes:Sd,addAssetType:Ad,addAssetTypes:Td,updateAssetType:Id,updateAssetTypes:Od,deleteAssetType:bd,deleteAssetTypes:Pd}=js.actions,Fd=t=>t.assetTypeReducer.instances,Cs=u.createSelector([Fd],t=>Object.values(t)),_d=t=>e=>e.assetTypeReducer.instances[t],Md=y(u.createSelector([Cs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),M_=y(u.createSelector([Cs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),gd=js.reducer,Q=O(t=>t.uuid),Rd={instances:{}},Ds=u.createSlice({name:"assetTypeStatuses",initialState:Rd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Rd)),reducers:{initializeAssetTypeStatuses:Q.initialize,addAssetTypeStatus:Q.addOne,addAssetTypeStatuses:Q.addMany,setAssetTypeStatus:Q.setOne,setAssetTypeStatuses:Q.setMany,updateAssetTypeStatus:Q.updateOne,updateAssetTypeStatuses:Q.updateMany,deleteAssetTypeStatus:Q.deleteOne,deleteAssetTypeStatuses:Q.deleteMany}}),{initializeAssetTypeStatuses:wd,addAssetTypeStatus:Ed,addAssetTypeStatuses:vd,setAssetTypeStatus:Vd,setAssetTypeStatuses:Bd,updateAssetTypeStatus:zd,updateAssetTypeStatuses:jd,deleteAssetTypeStatus:Cd,deleteAssetTypeStatuses:Dd}=Ds.actions,qd=t=>t.assetTypeStatusReducer.instances,qs=u.createSelector([qd],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.assetTypeStatusSortFn))),$d=t=>e=>e.assetTypeStatusReducer.instances[t],Ud=y(u.createSelector([qs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),g_=y(u.createSelector([qs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),kd=Ds.reducer,Ld={accessToken:"",refreshToken:"",isLoggedIn:!1},kt=u.createSlice({name:"auth",initialState:Ld,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Ld)),reducers:{setTokens:(t,e)=>{t.accessToken=e.payload.accessToken,t.refreshToken=e.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,e)=>{e.payload||kt.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:R_,clearTokens:w_,setLoggedIn:Hd}=kt.actions,E_=t=>t.authReducer.accessToken,v_=t=>t.authReducer.isLoggedIn,Gd=kt.reducer,x=O(t=>t.uuid),Nd={instances:{}},$s=u.createSlice({name:"documentAttachments",initialState:Nd,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Nd)),reducers:{initializeDocumentAttachments:x.initialize,addDocumentAttachment:x.addOne,addDocumentAttachments:x.addMany,setDocumentAttachment:x.setOne,setDocumentAttachments:x.setMany,updateDocumentAttachment:x.updateOne,updateDocumentAttachments:x.updateMany,deleteDocumentAttachment:x.deleteOne,deleteDocumentAttachments:x.deleteMany}}),{initializeDocumentAttachments:Kd,addDocumentAttachment:Wd,addDocumentAttachments:Xd,setDocumentAttachment:Yd,setDocumentAttachments:Zd,updateDocumentAttachment:Jd,updateDocumentAttachments:Qd,deleteDocumentAttachment:xd,deleteDocumentAttachments:eu}=$s.actions,tu=t=>t.documentAttachmentReducer.instances,Us=u.createSelector([tu],t=>Object.values(t)),su=t=>e=>e.documentAttachmentReducer.instances[t],iu=y(u.createSelector([Us,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),V_=y(u.createSelector([Us,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({document:i})=>e===i)))),au=$s.reducer,ee=O(({uuid:t})=>t),nu={instances:{}},ks=u.createSlice({name:"documents",initialState:nu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>{Object.assign(e,nu)}),reducers:{initializeDocuments:ee.initialize,addDocument:ee.addOne,addDocuments:ee.addMany,setDocument:ee.setOne,setDocuments:ee.setMany,updateDocument:ee.updateOne,updateDocuments:ee.updateMany,deleteDocument:ee.deleteOne,deleteDocuments:ee.deleteMany}}),{initializeDocuments:cu,addDocument:ru,addDocuments:du,setDocument:uu,setDocuments:lu,updateDocument:ou,updateDocuments:hu,deleteDocument:pu,deleteDocuments:yu}=ks.actions,mu=ks.reducer,Ls=t=>t.documentsReducer.instances,Lt=u.createSelector([Ls],t=>Object.values(t)),fu=t=>e=>e.documentsReducer.instances[t],Su=y(u.createSelector([Lt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),B_=y(u.createSelector([Lt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),z_=y(u.createSelector([Lt,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),Au=y(u.createSelector([Ls,(t,e)=>e],(t,e)=>{if(!t[e])return l.fallbackToEmptyArray([]);const n=l.getDocumentSubTree(e,Object.values(t)).all().map(({model:c})=>c);return l.fallbackToEmptyArray(n)})),te=O(t=>t.uuid),Tu={instances:{}},Hs=u.createSlice({name:"emailDomains",initialState:Tu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Tu)),reducers:{initializeEmailDomains:te.initialize,addEmailDomain:te.addOne,addEmailDomains:te.addMany,setEmailDomain:te.setOne,setEmailDomains:te.setMany,updateEmailDomain:te.updateOne,updateEmailDomains:te.updateMany,deleteEmailDomain:te.deleteOne,deleteEmailDomains:te.deleteMany}}),{initializeEmailDomains:Iu,addEmailDomain:Ou,addEmailDomains:bu,setEmailDomain:Pu,setEmailDomains:Fu,updateEmailDomain:_u,updateEmailDomains:Mu,deleteEmailDomain:gu,deleteEmailDomains:Ru}=Hs.actions,wu=t=>t.emailDomainsReducer.instances,Gs=u.createSelector([wu],t=>Object.values(t)),Eu=t=>e=>e.emailDomainsReducer.instances[t],vu=y(u.createSelector([Gs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),j_=y(u.createSelector([Gs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Vu=Hs.reducer,se=O(t=>t.uuid),Bu={instances:{}},Ns=u.createSlice({name:"formIdentifiers",initialState:Bu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Bu)),reducers:{initializeFormIdentifiers:se.initialize,addFormIdentifier:se.addOne,addFormIdentifiers:se.addMany,setFormIdentifier:se.setOne,setFormIdentifiers:se.setMany,updateFormIdentifier:se.updateOne,updateFormIdentifiers:se.updateMany,deleteFormIdentifier:se.deleteOne,deleteFormIdentifiers:se.deleteMany}}),{initializeFormIdentifiers:zu,addFormIdentifier:ju,addFormIdentifiers:Cu,setFormIdentifier:Du,setFormIdentifiers:qu,updateFormIdentifier:$u,updateFormIdentifiers:Uu,deleteFormIdentifier:ku,deleteFormIdentifiers:Lu}=Ns.actions,Hu=t=>t.formIdentifierReducer.instances,Ks=u.createSelector([Hu],t=>Object.values(t)),Gu=t=>e=>e.formIdentifierReducer.instances[t],Nu=y(u.createSelector([Ks,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),C_=y(u.createSelector([Ks,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Ku=Ns.reducer,ie=O(t=>t.uuid),Wu={instances:{}},Ws=u.createSlice({name:"formIdentifierValues",initialState:Wu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Wu)),reducers:{initializeFormIdentifierValues:ie.initialize,addFormIdentifierValue:ie.addOne,addFormIdentifierValues:ie.addMany,setFormIdentifierValue:ie.setOne,setFormIdentifierValues:ie.setMany,updateFormIdentifierValue:ie.updateOne,updateFormIdentifierValues:ie.updateMany,deleteFormIdentifierValue:ie.deleteOne,deleteFormIdentifierValues:ie.deleteMany}}),{initializeFormIdentifierValues:Xu,addFormIdentifierValue:Yu,addFormIdentifierValues:Zu,setFormIdentifierValue:Ju,setFormIdentifierValues:Qu,updateFormIdentifierValue:xu,updateFormIdentifierValues:el,deleteFormIdentifierValue:tl,deleteFormIdentifierValues:sl}=Ws.actions,il=t=>t.formIdentifierValueReducer.instances,Ht=u.createSelector([il],t=>Object.values(t)),al=t=>e=>e.formIdentifierValueReducer.instances[t],nl=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),D_=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),q_=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_identifier===e)))),cl=Ws.reducer,ae=O(t=>t.uuid),rl={instances:{}},Xs=u.createSlice({name:"formRevisionAttachments",initialState:rl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,rl)),reducers:{initializeFormRevisionAttachments:ae.initialize,addFormRevisionAttachment:ae.addOne,addFormRevisionAttachments:ae.addMany,setFormRevisionAttachment:ae.setOne,setFormRevisionAttachments:ae.setMany,updateFormRevisionAttachment:ae.updateOne,updateFormRevisionAttachments:ae.updateMany,deleteFormRevisionAttachment:ae.deleteOne,deleteFormRevisionAttachments:ae.deleteMany}}),{initializeFormRevisionAttachments:dl,addFormRevisionAttachment:ul,addFormRevisionAttachments:ll,setFormRevisionAttachment:ol,setFormRevisionAttachments:hl,updateFormRevisionAttachment:pl,updateFormRevisionAttachments:yl,deleteFormRevisionAttachment:ml,deleteFormRevisionAttachments:fl}=Xs.actions,Gt=t=>t.formRevisionAttachmentReducer.instances,Sl=u.createSelector([Gt],t=>Object.values(t)),Al=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>t[e])),Tl=y(u.createSelector([Sl,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$_=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.form_revision===e)))),Il=Xs.reducer,ne=O(t=>t.uuid),Ol={instances:{}},Ys=u.createSlice({name:"formRevisions",initialState:Ol,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Ol)),reducers:{initializeFormRevisions:ne.initialize,addFormRevision:ne.addOne,addFormRevisions:ne.addMany,setFormRevision:ne.setOne,setFormRevisions:ne.setMany,updateFormRevision:ne.updateOne,updateFormRevisions:ne.updateMany,deleteFormRevision:ne.deleteOne,deleteFormRevisions:ne.deleteMany}}),{initializeFormRevisions:bl,addFormRevision:Pl,addFormRevisions:Zs,setFormRevision:Fl,setFormRevisions:_l,updateFormRevision:Ml,updateFormRevisions:gl,deleteFormRevision:Rl,deleteFormRevisions:Js}=Ys.actions,wl=t=>t.formRevisionReducer.instances,Nt=u.createSelector([wl],t=>Object.values(t)),El=t=>e=>e.formRevisionReducer.instances[t],vl=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),U_=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).toSorted(l.submittedAtModelSortFn).pop())),Vl=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Bl=Ys.reducer,ce=O(t=>t.uuid),zl={instances:{}},Qs=u.createSlice({name:"formSubscribers",initialState:zl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,zl)),reducers:{initializeFormSubscribers:ce.initialize,addFormSubscriber:ce.addOne,addFormSubscribers:ce.addMany,setFormSubscriber:ce.setOne,setFormSubscribers:ce.setMany,updateFormSubscriber:ce.updateOne,updateFormSubscribers:ce.updateMany,deleteFormSubscriber:ce.deleteOne,deleteFormSubscribers:ce.deleteMany}}),{initializeFormSubscribers:jl,addFormSubscriber:Cl,addFormSubscribers:xs,setFormSubscriber:Dl,setFormSubscribers:ql,updateFormSubscriber:$l,updateFormSubscribers:Ul,deleteFormSubscriber:kl,deleteFormSubscribers:ei}=Qs.actions,Ll=t=>t.formSubscriberReducer.instances,Kt=u.createSelector([Ll],t=>Object.values(t)),Hl=t=>e=>e.formSubscriberReducer.instances[t],Gl=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Nl=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),k_=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.user===e)))),Kl=Qs.reducer,re=O(t=>t.uuid),Wl={instances:{}},ti=u.createSlice({name:"forms",initialState:Wl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Wl)),reducers:{initializeForms:re.initialize,addForm:re.addOne,addForms:re.addMany,setForm:re.setOne,setForms:re.setMany,updateForm:re.updateOne,updateForms:re.updateMany,deleteForm:re.deleteOne,deleteForms:re.deleteMany}}),{initializeForms:Xl,addForm:Yl,addForms:Zl,setForm:Jl,setForms:Ql,updateForm:xl,updateForms:eo,deleteForm:to,deleteForms:so}=ti.actions,io=ti.reducer,ao=t=>t.formReducer.instances,si=u.createSelector([ao],t=>Object.values(t)),no=t=>e=>e.formReducer.instances[t],co=y(u.createSelector([si,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),L_=y(u.createSelector([si,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),de=O(({uuid:t})=>t),ro={instances:{}},ii=u.createSlice({name:"formSubmissionFieldValuesAttachments",initialState:ro,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,ro)),reducers:{initializeFormSubmissionFieldValuesAttachments:de.initialize,addFormSubmissionFieldValuesAttachment:de.addOne,addFormSubmissionFieldValuesAttachments:de.addMany,setFormSubmissionFieldValuesAttachment:de.setOne,setFormSubmissionFieldValuesAttachments:de.setMany,updateFormSubmissionFieldValuesAttachment:de.updateOne,updateFormSubmissionFieldValuesAttachments:de.updateMany,deleteFormSubmissionFieldValuesAttachment:de.deleteOne,deleteFormSubmissionFieldValuesAttachments:de.deleteMany}}),{initializeFormSubmissionFieldValuesAttachments:uo,addFormSubmissionFieldValuesAttachment:lo,addFormSubmissionFieldValuesAttachments:ai,setFormSubmissionFieldValuesAttachment:oo,setFormSubmissionFieldValuesAttachments:ho,updateFormSubmissionFieldValuesAttachment:po,updateFormSubmissionFieldValuesAttachments:yo,deleteFormSubmissionFieldValuesAttachment:mo,deleteFormSubmissionFieldValuesAttachments:ni}=ii.actions,ci=t=>t.formSubmissionFieldValuesAttachmentReducer.instances,ri=u.createSelector([ci],t=>Object.values(t)),fo=y(u.createSelector([ci,(t,e)=>e],(t,e)=>t[e])),di=y(u.createSelector([ri,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.uuid)))})),So=y(u.createSelector([ri,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Ao=ii.reducer,ue=O(({uuid:t})=>t),To={instances:{}},ui=u.createSlice({name:"formSubmissionFieldValues",initialState:To,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,To)),reducers:{initializeFormSubmissionFieldValues:ue.initialize,addFormSubmissionFieldValues:ue.addOne,addFormSubmissionFieldValuesMany:ue.addMany,setFormSubmissionFieldValues:ue.setOne,setFormSubmissionFieldValuesMany:ue.setMany,updateFormSubmissionFieldValues:ue.updateOne,updateFormSubmissionFieldValuesMany:ue.updateMany,deleteFormSubmissionFieldValues:ue.deleteOne,deleteFormSubmissionFieldValuesMany:ue.deleteMany}}),{initializeFormSubmissionFieldValues:Io,addFormSubmissionFieldValues:Oo,addFormSubmissionFieldValuesMany:li,setFormSubmissionFieldValues:bo,setFormSubmissionFieldValuesMany:Po,updateFormSubmissionFieldValues:Fo,updateFormSubmissionFieldValuesMany:_o,deleteFormSubmissionFieldValues:Mo,deleteFormSubmissionFieldValuesMany:oi}=ui.actions,go=t=>t.formSubmissionFieldValuesReducer.instances,hi=u.createSelector([go],t=>Object.values(t)),Ro=t=>e=>e.formSubmissionFieldValuesReducer.instances[t],wo=y(u.createSelector([hi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Eo=y(u.createSelector([hi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),vo=ui.reducer,le=O(t=>t.uuid),Vo={instances:{}},pi=u.createSlice({name:"formSubmissionComments",initialState:Vo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Vo)),reducers:{initializeFormSubmissionComments:le.initialize,addFormSubmissionComment:le.addOne,addFormSubmissionComments:le.addMany,setFormSubmissionComment:le.setOne,setFormSubmissionComments:le.setMany,updateFormSubmissionComment:le.updateOne,updateFormSubmissionComments:le.updateMany,deleteFormSubmissionComment:le.deleteOne,deleteFormSubmissionComments:le.deleteMany}}),{initializeFormSubmissionComments:Bo,addFormSubmissionComment:zo,addFormSubmissionComments:yi,setFormSubmissionComment:jo,setFormSubmissionComments:Co,updateFormSubmissionComment:Do,updateFormSubmissionComments:qo,deleteFormSubmissionComment:$o,deleteFormSubmissionComments:mi}=pi.actions,Uo=t=>t.formSubmissionCommentReducer.instances,Wt=u.createSelector([Uo],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),ko=t=>e=>e.formSubmissionCommentReducer.instances[t],Lo=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ho=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),H_=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.form_submission)))})),Go=pi.reducer,oe=O(t=>t.uuid),No={instances:{}},fi=u.createSlice({name:"formSubmissions",initialState:No,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,No)),reducers:{initializeFormSubmissions:oe.initialize,setFormSubmission:oe.setOne,setFormSubmissions:oe.setMany,addFormSubmission:oe.addOne,addFormSubmissions:oe.addMany,updateFormSubmission:oe.updateOne,updateFormSubmissions:oe.updateMany,deleteFormSubmission:oe.deleteOne,deleteFormSubmissions:oe.deleteMany}}),{initializeFormSubmissions:Ko,setFormSubmission:Wo,setFormSubmissions:Xo,addFormSubmission:Yo,addFormSubmissions:ut,updateFormSubmission:Zo,updateFormSubmissions:Jo,deleteFormSubmission:Qo,deleteFormSubmissions:lt}=fi.actions,xo=t=>t.formSubmissionReducer.instances,C=u.createSelector([xo],t=>Object.values(t)),eh=t=>e=>e.formSubmissionReducer.instances[t],th=y(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),sh=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),G_=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({organization:i})=>i===e)))),N_=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),K_=y(u.createSelector([C,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({project:a,form:n})=>a===e&&n===i)))),W_=y(u.createSelector([C,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({organization:a,form:n})=>a===e&&n===i)))),ih=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),ah=y(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>a&&i.has(a)))})),nh=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),ch=y(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>a&&i.has(a)))})),rh=fi.reducer,he=O(t=>t.uuid),dh={instances:{}},Si=u.createSlice({name:"geoImages",initialState:dh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,dh)),reducers:{initializeGeoImages:he.initialize,setGeoImage:he.setOne,setGeoImages:he.setMany,addGeoImage:he.addOne,addGeoImages:he.addMany,updateGeoImage:he.updateOne,updateGeoImages:he.updateMany,deleteGeoImage:he.deleteOne,deleteGeoImages:he.deleteMany}}),{initializeGeoImages:uh,setGeoImage:lh,setGeoImages:oh,addGeoImage:hh,addGeoImages:ph,updateGeoImage:yh,updateGeoImages:mh,deleteGeoImage:fh,deleteGeoImages:Sh}=Si.actions,Ah=t=>t.geoImageReducer.instances,Ai=u.createSelector([Ah],t=>Object.values(t)),Th=t=>e=>e.geoImageReducer.instances[t],Ih=y(u.createSelector([Ai,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),X_=y(u.createSelector([Ai,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),Oh=Si.reducer,pe=O(t=>t.uuid),bh={instances:{}},Ti=u.createSlice({name:"issueAssociations",initialState:bh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,bh)),reducers:{initializeIssueAssociations:pe.initialize,addIssueAssociation:pe.addOne,addIssueAssociations:pe.addMany,setIssueAssociation:pe.setOne,setIssueAssociations:pe.setMany,updateIssueAssociation:pe.updateOne,updateIssueAssociations:pe.updateMany,deleteIssueAssociation:pe.deleteOne,deleteIssueAssociations:pe.deleteMany}}),{initializeIssueAssociations:Ph,setIssueAssociations:Fh,setIssueAssociation:_h,updateIssueAssociation:Mh,updateIssueAssociations:gh,addIssueAssociation:Rh,addIssueAssociations:St,deleteIssueAssociation:wh,deleteIssueAssociations:At}=Ti.actions,Eh=t=>t.issueAssociationReducer.instances,Tt=u.createSelector([Eh],t=>Object.values(t)),vh=t=>e=>e.issueAssociationReducer.instances[t],Vh=y(u.createSelector([Tt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Bh=y(u.createSelector([Tt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>i.has(a)))})),zh=y(u.createSelector([Tt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),jh=y(u.createSelector([Tt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),Ch=y(u.createSelector([Tt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),Dh=Ti.reducer,ye=O(t=>t.uuid),qh={instances:{}},Ii=u.createSlice({name:"issueAttachments",initialState:qh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,qh)),reducers:{initializeIssueAttachments:ye.initialize,addIssueAttachment:ye.addOne,addIssueAttachments:ye.addMany,setIssueAttachment:ye.setOne,setIssueAttachments:ye.setMany,updateIssueAttachment:ye.updateOne,updateIssueAttachments:ye.updateMany,deleteIssueAttachment:ye.deleteOne,deleteIssueAttachments:ye.deleteMany}}),{initializeIssueAttachments:$h,addIssueAttachment:Uh,addIssueAttachments:Oi,setIssueAttachment:kh,setIssueAttachments:Lh,updateIssueAttachment:Hh,updateIssueAttachments:Gh,deleteIssueAttachment:Nh,deleteIssueAttachments:bi}=Ii.actions,Kh=t=>t.issueAttachmentReducer.instances,Pi=u.createSelector([Kh],t=>Object.values(t)),Wh=y(u.createSelector([Pi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>e===i)))),Xh=t=>e=>e.issueAttachmentReducer.instances[t],Yh=y(u.createSelector([Pi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Zh=Ii.reducer,me=O(t=>t.uuid),Jh={instances:{}},Fi=u.createSlice({name:"issueCommentAttachments",initialState:Jh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Jh)),reducers:{initializeIssueCommentAttachments:me.initialize,addIssueCommentAttachment:me.addOne,addIssueCommentAttachments:me.addMany,setIssueCommentAttachment:me.setOne,setIssueCommentAttachments:me.setMany,updateIssueCommentAttachment:me.updateOne,updateIssueCommentAttachments:me.updateMany,deleteIssueCommentAttachment:me.deleteOne,deleteIssueCommentAttachments:me.deleteMany}}),{initializeIssueCommentAttachments:Qh,addIssueCommentAttachment:xh,addIssueCommentAttachments:ep,setIssueCommentAttachment:tp,setIssueCommentAttachments:sp,updateIssueCommentAttachment:ip,updateIssueCommentAttachments:ap,deleteIssueCommentAttachment:np,deleteIssueCommentAttachments:cp}=Fi.actions,rp=t=>t.issueCommentAttachmentReducer.instances,_i=u.createSelector([rp],t=>Object.values(t)),dp=t=>e=>e.issueCommentAttachmentReducer.instances[t],up=y(u.createSelector([_i,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Y_=y(u.createSelector([_i,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_comment:i})=>e===i)))),lp=Fi.reducer,fe=O(t=>t.uuid),op={instances:{}},Mi=u.createSlice({name:"issueComments",initialState:op,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,op)),reducers:{initializeIssueComments:fe.initialize,addIssueComment:fe.addOne,addIssueComments:fe.addMany,setIssueComment:fe.setOne,setIssueComments:fe.setMany,updateIssueComment:fe.updateOne,updateIssueComments:fe.updateMany,deleteIssueComment:fe.deleteOne,deleteIssueComments:fe.deleteMany}}),{initializeIssueComments:hp,addIssueComment:pp,addIssueComments:yp,setIssueComment:mp,setIssueComments:fp,updateIssueComment:Sp,updateIssueComments:Ap,deleteIssueComment:Tp,deleteIssueComments:Ip}=Mi.actions,gi=t=>t.issueCommentReducer.instances,Op=t=>e=>e.issueCommentReducer.instances[t],bp=y(u.createSelector([gi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),Z_=y(u.createSelector([gi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.issue===e)))),Pp=Mi.reducer,Se=O(t=>t.uuid),Fp={instances:{}},Ri=u.createSlice({name:"issues",initialState:Fp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Fp)),reducers:{initializeIssues:Se.initialize,addIssue:Se.addOne,addIssues:Se.addMany,setIssue:Se.setOne,setIssues:Se.setMany,updateIssue:Se.updateOne,updateIssues:Se.updateMany,deleteIssue:Se.deleteOne,deleteIssues:Se.deleteMany}}),{initializeIssues:_p,addIssue:Mp,addIssues:wi,setIssue:gp,setIssues:Rp,updateIssue:wp,updateIssues:Ep,deleteIssue:vp,deleteIssues:Ei}=Ri.actions,Vp=t=>t.issueReducer.instances,Xt=u.createSelector([Vp],t=>Object.values(t)),Bp=t=>e=>e.issueReducer.instances[t],zp=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),J_=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),jp=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),Cp=Ri.reducer,Ae=O(t=>t.uuid),Dp={instances:{}},vi=u.createSlice({name:"issueTypeAttachments",initialState:Dp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Dp)),reducers:{initializeIssueTypeAttachments:Ae.initialize,addIssueTypeAttachment:Ae.addOne,addIssueTypeAttachments:Ae.addMany,setIssueTypeAttachment:Ae.setOne,setIssueTypeAttachments:Ae.setMany,updateIssueTypeAttachment:Ae.updateOne,updateIssueTypeAttachments:Ae.updateMany,deleteIssueTypeAttachment:Ae.deleteOne,deleteIssueTypeAttachments:Ae.deleteMany}}),{initializeIssueTypeAttachments:qp,addIssueTypeAttachment:$p,addIssueTypeAttachments:Up,setIssueTypeAttachment:kp,setIssueTypeAttachments:Lp,updateIssueTypeAttachment:Hp,updateIssueTypeAttachments:Gp,deleteIssueTypeAttachment:Np,deleteIssueTypeAttachments:Kp}=vi.actions,Wp=t=>t.issueTypeAttachmentReducer.instances,Vi=u.createSelector([Wp],t=>Object.values(t)),Xp=t=>e=>e.issueTypeAttachmentReducer.instances[t],Yp=y(u.createSelector([Vi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Q_=y(u.createSelector([Vi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_type:i})=>e===i)))),Zp=vi.reducer,Te=O(t=>t.uuid),Jp={instances:{}},Bi=u.createSlice({name:"issueTypeFieldsAttachments",initialState:Jp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Jp)),reducers:{initializeIssueTypeFieldsAttachments:Te.initialize,addIssueTypeFieldsAttachment:Te.addOne,addIssueTypeFieldsAttachments:Te.addMany,setIssueTypeFieldsAttachment:Te.setOne,setIssueTypeFieldsAttachments:Te.setMany,updateIssueTypeFieldsAttachment:Te.updateOne,updateIssueTypeFieldsAttachments:Te.updateMany,deleteIssueTypeFieldsAttachment:Te.deleteOne,deleteIssueTypeFieldsAttachments:Te.deleteMany}}),{initializeIssueTypeFieldsAttachments:Qp,addIssueTypeFieldsAttachment:xp,addIssueTypeFieldsAttachments:ey,setIssueTypeFieldsAttachment:ty,setIssueTypeFieldsAttachments:sy,updateIssueTypeFieldsAttachment:iy,updateIssueTypeFieldsAttachments:ay,deleteIssueTypeFieldsAttachment:ny,deleteIssueTypeFieldsAttachments:cy}=Bi.actions,ry=t=>t.issueTypeFieldsAttachmentReducer.instances,zi=u.createSelector([ry],t=>Object.values(t)),x_=y(u.createSelector([zi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),dy=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],uy=y(u.createSelector([zi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ly=Bi.reducer,Ie=O(t=>t.uuid),oy={instances:{}},ji=u.createSlice({name:"issueTypeFieldValues",initialState:oy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,oy)),reducers:{initializeIssueTypeFieldValues:Ie.initialize,addIssueTypeFieldValues:Ie.addOne,addIssueTypeFieldValuesMany:Ie.addMany,setIssueTypeFieldValues:Ie.setOne,setIssueTypeFieldValuesMany:Ie.setMany,updateIssueTypeFieldValues:Ie.updateOne,updateIssueTypeFieldValuesMany:Ie.updateMany,deleteIssueTypeFieldValues:Ie.deleteOne,deleteIssueTypeFieldValuesMany:Ie.deleteMany}}),{initializeIssueTypeFieldValues:hy,addIssueTypeFieldValues:py,addIssueTypeFieldValuesMany:yy,setIssueTypeFieldValues:my,setIssueTypeFieldValuesMany:fy,updateIssueTypeFieldValues:Sy,updateIssueTypeFieldValuesMany:Ay,deleteIssueTypeFieldValues:Ty,deleteIssueTypeFieldValuesMany:Iy}=ji.actions,Oy=t=>t.issueTypeFieldValuesReducer.instances,Yt=u.createSelector([Oy],t=>Object.values(t)),eM=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),by=t=>e=>e.issueTypeFieldValuesReducer.instances[t],Py=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Fy=ji.reducer,Oe=O(t=>t.uuid),_y={instances:{}},Ci=u.createSlice({name:"issueTypeFields",initialState:_y,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,_y)),reducers:{initializeIssueTypeFields:Oe.initialize,addIssueTypeFields:Oe.addOne,addIssueTypeFieldsMany:Oe.addMany,setIssueTypeFields:Oe.setOne,setIssueTypeFieldsMany:Oe.setMany,updateIssueTypeFields:Oe.updateOne,updateIssueTypeFieldsMany:Oe.updateMany,deleteIssueTypeFields:Oe.deleteOne,deleteIssueTypeFieldsMany:Oe.deleteMany}}),{initializeIssueTypeFields:My,addIssueTypeFields:gy,addIssueTypeFieldsMany:Ry,setIssueTypeFields:wy,setIssueTypeFieldsMany:Ey,updateIssueTypeFields:vy,updateIssueTypeFieldsMany:Vy,deleteIssueTypeFields:By,deleteIssueTypeFieldsMany:zy}=Ci.actions,jy=t=>t.issueTypeFieldsReducer.instances,Mt=u.createSelector([jy],t=>Object.values(t)),tM=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),sM=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),iM=y(u.createSelector([Mt,Yt,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.issue_type===i).map(n=>n.uuid));return l.fallbackToEmptyArray(e.filter(n=>a.has(n.fields_revision)))})),Cy=t=>e=>e.issueTypeFieldsReducer.instances[t],Dy=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),qy=Ci.reducer,be=O(t=>t.uuid),$y={instances:{}},Di=u.createSlice({name:"issueTypeFieldValuesAttachments",initialState:$y,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,$y)),reducers:{initializeIssueTypeFieldValuesAttachments:be.initialize,addIssueTypeFieldValuesAttachment:be.addOne,addIssueTypeFieldValuesAttachments:be.addMany,setIssueTypeFieldValuesAttachment:be.setOne,setIssueTypeFieldValuesAttachments:be.setMany,updateIssueTypeFieldValuesAttachment:be.updateOne,updateIssueTypeFieldValuesAttachments:be.updateMany,deleteIssueTypeFieldValuesAttachment:be.deleteOne,deleteIssueTypeFieldValuesAttachments:be.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:Uy,addIssueTypeFieldValuesAttachment:ky,addIssueTypeFieldValuesAttachments:qi,setIssueTypeFieldValuesAttachment:Ly,setIssueTypeFieldValuesAttachments:Hy,updateIssueTypeFieldValuesAttachment:Gy,updateIssueTypeFieldValuesAttachments:Ny,deleteIssueTypeFieldValuesAttachment:Ky,deleteIssueTypeFieldValuesAttachments:$i}=Di.actions,Wy=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Ui=u.createSelector([Wy],t=>Object.values(t)),Xy=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],Yy=y(u.createSelector([Ui,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Zy=y(u.createSelector([Ui,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Jy=Di.reducer,Pe=O(t=>t.uuid),Qy={instances:{}},ki=u.createSlice({name:"issueTypeIdentifiers",initialState:Qy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Qy)),reducers:{initializeIssueTypeIdentifiers:Pe.initialize,addIssueTypeIdentifier:Pe.addOne,addIssueTypeIdentifiers:Pe.addMany,setIssueTypeIdentifier:Pe.setOne,setIssueTypeIdentifiers:Pe.setMany,updateIssueTypeIdentifier:Pe.updateOne,updateIssueTypeIdentifiers:Pe.updateMany,deleteIssueTypeIdentifier:Pe.deleteOne,deleteIssueTypeIdentifiers:Pe.deleteMany}}),{initializeIssueTypeIdentifiers:xy,addIssueTypeIdentifier:em,addIssueTypeIdentifiers:tm,setIssueTypeIdentifier:sm,setIssueTypeIdentifiers:im,updateIssueTypeIdentifier:am,updateIssueTypeIdentifiers:nm,deleteIssueTypeIdentifier:cm,deleteIssueTypeIdentifiers:rm}=ki.actions,dm=t=>t.issueTypeIdentifierReducer.instances,Li=u.createSelector([dm],t=>Object.values(t)),um=t=>e=>e.issueTypeIdentifierReducer.instances[t],lm=y(u.createSelector([Li,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),aM=y(u.createSelector([Li,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),om=ki.reducer,Fe=O(t=>t.uuid),hm={instances:{}},Hi=u.createSlice({name:"issueTypeIdentifierValues",initialState:hm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,hm)),reducers:{initializeIssueTypeIdentifierValues:Fe.initialize,addIssueTypeIdentifierValue:Fe.addOne,addIssueTypeIdentifierValues:Fe.addMany,setIssueTypeIdentifierValue:Fe.setOne,setIssueTypeIdentifierValues:Fe.setMany,updateIssueTypeIdentifierValue:Fe.updateOne,updateIssueTypeIdentifierValues:Fe.updateMany,deleteIssueTypeIdentifierValue:Fe.deleteOne,deleteIssueTypeIdentifierValues:Fe.deleteMany}}),{initializeIssueTypeIdentifierValues:pm,addIssueTypeIdentifierValue:ym,addIssueTypeIdentifierValues:mm,setIssueTypeIdentifierValue:fm,setIssueTypeIdentifierValues:Sm,updateIssueTypeIdentifierValue:Am,updateIssueTypeIdentifierValues:Tm,deleteIssueTypeIdentifierValue:Im,deleteIssueTypeIdentifierValues:Om}=Hi.actions,bm=t=>t.issueTypeIdentifierValueReducer.instances,Zt=u.createSelector([bm],t=>Object.values(t)),Pm=t=>e=>e.issueTypeIdentifierValueReducer.instances[t],Fm=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),nM=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),cM=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type_identifier===e)))),_m=Hi.reducer,_e=O(t=>t.uuid),Mm={instances:{}},Gi=u.createSlice({name:"issueTypePriorities",initialState:Mm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Mm)),reducers:{initializeIssueTypePriorities:_e.initialize,addIssueTypePriority:_e.addOne,addIssueTypePriorities:_e.addMany,setIssueTypePriority:_e.setOne,setIssueTypePriorities:_e.setMany,updateIssueTypePriority:_e.updateOne,updateIssueTypePriorities:_e.updateMany,deleteIssueTypePriority:_e.deleteOne,deleteIssueTypePriorities:_e.deleteMany}}),{initializeIssueTypePriorities:gm,addIssueTypePriority:Rm,addIssueTypePriorities:wm,setIssueTypePriority:Em,setIssueTypePriorities:vm,updateIssueTypePriority:Vm,updateIssueTypePriorities:Bm,deleteIssueTypePriority:zm,deleteIssueTypePriorities:jm}=Gi.actions,Cm=t=>t.issueTypePriorityReducer.instances,Ni=u.createSelector([Cm],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypePrioritySortFn))),Ki=t=>e=>e.issueTypePriorityReducer.instances[t],Dm=y(u.createSelector([Ni,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),rM=y(u.createSelector([Ni,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),qm=Gi.reducer,Me=O(t=>t.uuid),$m={instances:{}},Wi=u.createSlice({name:"issueTypes",initialState:$m,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,$m)),reducers:{initializeIssueTypes:Me.initialize,addIssueType:Me.addOne,addIssueTypes:Me.addMany,setIssueType:Me.setOne,setIssueTypes:Me.setMany,updateIssueType:Me.updateOne,updateIssueTypes:Me.updateMany,deleteIssueType:Me.deleteOne,deleteIssueTypes:Me.deleteMany}}),{initializeIssueTypes:Um,addIssueType:km,addIssueTypes:Lm,setIssueType:Hm,setIssueTypes:Gm,updateIssueType:Nm,updateIssueTypes:Km,deleteIssueType:Wm,deleteIssueTypes:Xm}=Wi.actions,Ym=t=>t.issueTypeReducer.instances,Xi=u.createSelector(Ym,t=>Object.values(t)),Zm=t=>e=>e.issueTypeReducer.instances[t],Jm=y(u.createSelector([Xi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dM=y(u.createSelector([Xi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Qm=Wi.reducer,ge=O(t=>t.uuid),xm={instances:{}},Yi=u.createSlice({name:"issueTypeStatuses",initialState:xm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,xm)),reducers:{initializeIssueTypeStatuses:ge.initialize,addIssueTypeStatus:ge.addOne,addIssueTypeStatuses:ge.addMany,setIssueTypeStatus:ge.setOne,setIssueTypeStatuses:ge.setMany,updateIssueTypeStatus:ge.updateOne,updateIssueTypeStatuses:ge.updateMany,deleteIssueTypeStatus:ge.deleteOne,deleteIssueTypeStatuses:ge.deleteMany}}),{initializeIssueTypeStatuses:ef,addIssueTypeStatus:tf,addIssueTypeStatuses:sf,setIssueTypeStatus:af,setIssueTypeStatuses:nf,updateIssueTypeStatus:cf,updateIssueTypeStatuses:rf,deleteIssueTypeStatus:df,deleteIssueTypeStatuses:uf}=Yi.actions,lf=t=>t.issueTypeStatusReducer.instances,Zi=u.createSelector([lf],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypeStatusSortFn))),Ji=t=>e=>e.issueTypeStatusReducer.instances[t],of=y(u.createSelector([Zi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),uM=y(u.createSelector([Zi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),hf=Yi.reducer,Re=O(t=>t.uuid),pf={instances:{}},Qi=u.createSlice({name:"issueUpdates",initialState:pf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,pf)),reducers:{initializeIssueUpdates:Re.initialize,addIssueUpdate:Re.addOne,addIssueUpdates:Re.addMany,setIssueUpdate:Re.setOne,setIssueUpdates:Re.setMany,updateIssueUpdate:Re.updateOne,updateIssueUpdates:Re.updateMany,deleteIssueUpdate:Re.deleteOne,deleteIssueUpdates:Re.deleteMany}}),{initializeIssueUpdates:yf,addIssueUpdate:xi,addIssueUpdates:ea,setIssueUpdate:mf,setIssueUpdates:ff,updateIssueUpdate:Sf,updateIssueUpdates:Af,deleteIssueUpdate:ta,deleteIssueUpdates:sa}=Qi.actions,ia=t=>t.issueUpdateReducer.instances,aa=u.createSelector([ia],t=>Object.values(t)),Tf=y(u.createSelector([ia,(t,e)=>e],(t,e)=>t[e])),If=y(u.createSelector([aa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Of=y(u.createSelector([aa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),bf=Qi.reducer,we=O(t=>t.id),Pf={instances:{},currentUser:null},na=u.createSlice({name:"users",initialState:Pf,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Pf)).addCase(b,e=>Object.assign(e,{...e,instances:[]})),reducers:{initializeUsers:we.initialize,setUsers:we.setMany,setUser:we.setOne,addUsers:we.addMany,addUser:we.addOne,updateUsers:we.updateMany,updateUser:we.updateOne,deleteUser:we.deleteOne,deleteUsers:we.deleteMany,setCurrentUser:(t,e)=>{t.currentUser=e.payload},setCurrentUserProfile:(t,e)=>{if(!t.currentUser)return;t.currentUser.profile=e.payload;const i=t.instances[t.currentUser.id];if(!i)throw new Error("Unable to find current user in users slice");i.profile=e.payload}}}),{initializeUsers:Ff,setUsers:_f,setUser:Mf,addUsers:gf,addUser:ca,updateUsers:Rf,updateUser:wf,deleteUser:ra,deleteUsers:Ef,setCurrentUser:lM,setCurrentUserProfile:oM}=na.actions,vf=na.reducer,Vf=t=>t.userReducer.currentUser,da=t=>t.userReducer.instances,Jt=u.createSelector([da],t=>Object.values(t)),Qt=t=>e=>e.userReducer.instances[t],Bf=y(u.createSelector([Jt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({id:a})=>i.has(a)))})),Ee=O(t=>t.uuid),zf={instances:{}},ua=u.createSlice({name:"organizationAccess",initialState:zf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,zf)),reducers:{initializeOrganizationAccesses:Ee.initialize,addOrganizationAccess:Ee.addOne,addOrganizationAccesses:Ee.addMany,setOrganizationAccess:Ee.setOne,setOrganizationAccesses:Ee.setMany,updateOrganizationAccess:Ee.updateOne,updateOrganizationAccesses:Ee.updateMany,deleteOrganizationAccess:Ee.deleteOne,deleteOrganizationAccesses:Ee.deleteMany}}),{initializeOrganizationAccesses:jf,addOrganizationAccess:Cf,addOrganizationAccesses:Df,setOrganizationAccess:qf,setOrganizationAccesses:$f,updateOrganizationAccess:Uf,updateOrganizationAccesses:kf,deleteOrganizationAccess:Lf,deleteOrganizationAccesses:Hf}=ua.actions,Gf=ua.reducer,xt=t=>t.organizationAccessReducer.instances,Nf=t=>e=>e.organizationAccessReducer.instances[t],Kf=y(u.createSelector([xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),hM=u.createSelector([Vf,xt],(t,e)=>Object.values(e).find(a=>a.user===t?.id)??null),Wf=u.createSelector([xt],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return l.fallbackToEmptyObject(e)}),pM=y(u.createSelector([da,Wf,(t,e)=>e],(t,e,i)=>l.fallbackToEmptyArray(Object.values(t).filter(a=>{const n=e[a.id];return!!n&&n.organization===i})))),ve=O(t=>t.uuid),Xf={instances:{}},la=u.createSlice({name:"organizations",initialState:Xf,extraReducers:t=>t.addMatcher(u.isAnyOf(T),e=>Object.assign(e,Xf)),reducers:{initializeOrganizations:ve.initialize,setOrganizations:ve.setMany,setOrganization:ve.setOne,addOrganizations:ve.addMany,addOrganization:ve.addOne,updateOrganizations:ve.updateMany,updateOrganization:ve.updateOne,deleteOrganization:ve.deleteOne,deleteOrganizations:ve.deleteMany}}),{initializeOrganizations:Yf,setOrganizations:Zf,setOrganization:Jf,addOrganizations:Qf,addOrganization:xf,updateOrganizations:eS,updateOrganization:tS,deleteOrganization:sS,deleteOrganizations:iS}=la.actions,aS=t=>t.organizationReducer.instances,nS=u.createSelector([aS],t=>Object.values(t)),cS=t=>e=>e.organizationReducer.instances[t],rS=y(u.createSelector([nS,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dS=la.reducer,uS=(t,e,i)=>{const a=t.uuid?t:{...t,uuid:dt.v4()};return{payload:a,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:a,BASE_URL:e,serviceName:i}}}}},lS={deletedRequests:[],latestRetryTime:0},oa=u.createSlice({name:"outbox",initialState:lS,extraReducers:t=>t.addCase(T,e=>Object.assign(e,lS)),reducers:{enqueueRequest:{reducer:(t,e)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:e,serviceName:i,...a}=t;return uS(a,e,i)}},markForDeletion(t,e){t.deletedRequests.push(e.payload)},markAsDeleted(t,e){const i=t.deletedRequests.indexOf(e.payload);i!==-1&&t.deletedRequests.splice(i,1)},_setLatestRetryTime:(t,e)=>{t.latestRetryTime=e.payload}}}),yM=t=>t.outboxReducer.deletedRequests,mM=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:oS,markForDeletion:fM,markAsDeleted:hS,_setLatestRetryTime:pS}=oa.actions,yS=oa.reducer,Ve=O(t=>t.uuid),mS={instances:{}},ha=u.createSlice({name:"projectAccess",initialState:mS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,mS)),reducers:{initializeProjectAccesses:Ve.initialize,addProjectAccess:Ve.addOne,addProjectAccesses:Ve.addMany,setProjectAccess:Ve.setOne,setProjectAccesses:Ve.setMany,updateProjectAccess:Ve.updateOne,updateProjectAccesses:Ve.updateMany,deleteProjectAccess:Ve.deleteOne,deleteProjectAccesses:Ve.deleteMany}}),{initializeProjectAccesses:fS,addProjectAccess:SS,addProjectAccesses:AS,setProjectAccess:TS,setProjectAccesses:IS,updateProjectAccess:OS,updateProjectAccesses:bS,deleteProjectAccess:PS,deleteProjectAccesses:FS}=ha.actions,_S=ha.reducer,pa=t=>t.projectAccessReducer.instances,gt=u.createSelector(pa,t=>Object.values(t)),MS=t=>e=>e.projectAccessReducer.instances[t],gS=y(u.createSelector([gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),SM=y(u.createSelector([pa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.project===e)))),AM=y(u.createSelector([gt,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.project===e))i[a.user]=a;return i})),TM=y(u.createSelector([Jt,gt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.project===i).map(n=>n.user));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.id)))})),Be=O(t=>t.uuid),RS={instances:{}},ya=u.createSlice({name:"projectAttachments",initialState:RS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,RS)),reducers:{initializeProjectAttachments:Be.initialize,addProjectAttachment:Be.addOne,addProjectAttachments:Be.addMany,setProjectAttachment:Be.setOne,setProjectAttachments:Be.setMany,updateProjectAttachment:Be.updateOne,updateProjectAttachments:Be.updateMany,deleteProjectAttachment:Be.deleteOne,deleteProjectAttachments:Be.deleteMany}}),{initializeProjectAttachments:wS,addProjectAttachment:ES,addProjectAttachments:vS,setProjectAttachment:VS,setProjectAttachments:BS,updateProjectAttachment:zS,updateProjectAttachments:jS,deleteProjectAttachment:CS,deleteProjectAttachments:DS}=ya.actions,qS=t=>t.projectAttachmentReducer.instances,ma=u.createSelector([qS],t=>Object.values(t)),$S=t=>e=>e.projectAttachmentReducer.instances[t],US=y(u.createSelector([ma,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),IM=y(u.createSelector([ma,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>e===i)))),kS=ya.reducer,ze=O(t=>t.uuid),LS={instances:{}},fa=u.createSlice({name:"projectComments",initialState:LS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,LS)),reducers:{initializeProjectComments:ze.initialize,addProjectComment:ze.addOne,addProjectComments:ze.addMany,setProjectComment:ze.setOne,setProjectComments:ze.setMany,updateProjectComment:ze.updateOne,updateProjectComments:ze.updateMany,deleteProjectComment:ze.deleteOne,deleteProjectComments:ze.deleteMany}}),{initializeProjectComments:HS,addProjectComment:GS,addProjectComments:NS,setProjectComment:KS,setProjectComments:WS,updateProjectComment:XS,updateProjectComments:YS,deleteProjectComment:ZS,deleteProjectComments:JS}=fa.actions,QS=t=>t.projectCommentReducer.instances,es=u.createSelector([QS],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),xS=t=>e=>e.projectCommentReducer.instances[t],eA=y(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),OM=y(u.createSelector([es,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),bM=y(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.project)))})),tA=fa.reducer,je=O(t=>t.uuid),sA={instances:{}},Sa=u.createSlice({name:"projectFiles",initialState:sA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,sA)),reducers:{initializeProjectFiles:je.initialize,setProjectFile:je.setOne,setProjectFiles:je.setMany,addProjectFile:je.addOne,addProjectFiles:je.addMany,updateProjectFile:je.updateOne,updateProjectFiles:je.updateMany,deleteProjectFile:je.deleteOne,deleteProjectFiles:je.deleteMany}}),{initializeProjectFiles:iA,setProjectFile:aA,setProjectFiles:nA,addProjectFile:cA,addProjectFiles:rA,updateProjectFile:dA,updateProjectFiles:uA,deleteProjectFile:lA,deleteProjectFiles:oA}=Sa.actions,hA=t=>t.projectFileReducer.instances,pA=u.createSelector([hA],t=>l.fallbackToEmptyArray(Object.values(t).toSorted((e,i)=>e.z_index-i.z_index))),yA=t=>e=>e.projectFileReducer.instances[t],mA=y(u.createSelector([pA,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fA=Sa.reducer,Ce=O(t=>t.uuid),SA={instances:{}},Aa=u.createSlice({name:"projects",initialState:SA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,SA)),reducers:{initializeProjects:Ce.initialize,setProjects:Ce.setMany,setProject:Ce.setOne,addProjects:Ce.addMany,addProject:Ce.addOne,updateProjects:Ce.updateMany,updateProject:Ce.updateOne,deleteProject:Ce.deleteOne,deleteProjects:Ce.deleteMany}}),{initializeProjects:AA,setProjects:TA,setProject:IA,addProjects:OA,addProject:bA,updateProjects:PA,updateProject:FA,deleteProject:_A,deleteProjects:MA}=Aa.actions,gA=Aa.reducer,RA=t=>t.projectReducer.instances,ts=u.createSelector([RA],t=>Object.values(t)),wA=t=>e=>e.projectReducer.instances[t],EA=y(u.createSelector([ts,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),PM=y(u.createSelector([ts,gt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.user===i).map(n=>n.project));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.uuid)))})),FM=y(u.createSelector([ts,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),De=O(({uuid:t})=>t),vA={instances:{}},Ta=u.createSlice({name:"procedureInitiatives",initialState:vA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,vA)),reducers:{initializeProcedureInitiatives:De.initialize,addProcedureInitiative:De.addOne,addProcedureInitiatives:De.addMany,setProcedureInitiative:De.setOne,setProcedureInitiatives:De.setMany,updateProcedureInitiative:De.updateOne,updateProcedureInitiatives:De.updateMany,deleteProcedureInitiative:De.deleteOne,deleteProcedureInitiatives:De.deleteMany}}),{initializeProcedureInitiatives:VA,addProcedureInitiative:BA,addProcedureInitiatives:zA,setProcedureInitiative:jA,setProcedureInitiatives:CA,updateProcedureInitiative:DA,updateProcedureInitiatives:qA,deleteProcedureInitiative:$A,deleteProcedureInitiatives:UA}=Ta.actions,kA=Ta.reducer,LA=t=>t.procedureInitiativeReducer.instances,ss=u.createSelector([LA],t=>Object.values(t)),HA=t=>e=>e.procedureInitiativeReducer.instances[t],GA=y(u.createSelector([ss,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_M=y(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),MM=y(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),qe=O(({uuid:t})=>t),NA={instances:{}},Ia=u.createSlice({name:"procedures",initialState:NA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,NA)),reducers:{initializeProcedures:qe.initialize,addProcedure:qe.addOne,addProcedures:qe.addMany,setProcedure:qe.setOne,setProcedures:qe.setMany,updateProcedure:qe.updateOne,updateProcedures:qe.updateMany,deleteProcedure:qe.deleteOne,deleteProcedures:qe.deleteMany}}),{initializeProcedures:KA,addProcedure:WA,addProcedures:It,setProcedure:XA,setProcedures:YA,updateProcedure:ZA,updateProcedures:JA,deleteProcedure:QA,deleteProcedures:Ot}=Ia.actions,xA=Ia.reducer,eT=t=>t.procedureReducer.instances,ot=u.createSelector([eT],t=>Object.values(t)),tT=t=>e=>e.procedureReducer.instances[t],sT=y(u.createSelector([ot,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gM=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),iT=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),aT=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),nT=y(u.createSelector([ot,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),cT=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_initiative===e)))),$e=O(t=>t.uuid),rT={instances:{}},Oa=u.createSlice({name:"procedureStepAssignees",initialState:rT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,rT)),reducers:{initializeProcedureStepAssignees:$e.initialize,addProcedureStepAssignee:$e.addOne,addProcedureStepAssignees:$e.addMany,setProcedureStepAssignee:$e.setOne,setProcedureStepAssignees:$e.setMany,updateProcedureStepAssignee:$e.updateOne,updateProcedureStepAssignees:$e.updateMany,deleteProcedureStepAssignee:$e.deleteOne,deleteProcedureStepAssignees:$e.deleteMany}}),{initializeProcedureStepAssignees:dT,addProcedureStepAssignee:uT,addProcedureStepAssignees:lT,setProcedureStepAssignee:oT,setProcedureStepAssignees:hT,updateProcedureStepAssignee:pT,updateProcedureStepAssignees:yT,deleteProcedureStepAssignee:mT,deleteProcedureStepAssignees:fT}=Oa.actions,ST=t=>t.procedureStepAssigneeReducer.instances,Rt=u.createSelector([ST],t=>Object.values(t)),AT=t=>e=>e.procedureStepAssigneeReducer.instances[t],TT=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),RM=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),wM=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),EM=y(u.createSelector([Rt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),IT=Oa.reducer,Ue=O(t=>t.uuid),OT={instances:{}},ba=u.createSlice({name:"procedureStepComments",initialState:OT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,OT)),reducers:{initializeProcedureStepComments:Ue.initialize,addProcedureStepComment:Ue.addOne,addProcedureStepComments:Ue.addMany,setProcedureStepComment:Ue.setOne,setProcedureStepComments:Ue.setMany,updateProcedureStepComment:Ue.updateOne,updateProcedureStepComments:Ue.updateMany,deleteProcedureStepComment:Ue.deleteOne,deleteProcedureStepComments:Ue.deleteMany}}),{initializeProcedureStepComments:bT,addProcedureStepComment:PT,addProcedureStepComments:FT,setProcedureStepComment:_T,setProcedureStepComments:MT,updateProcedureStepComment:gT,updateProcedureStepComments:RT,deleteProcedureStepComment:wT,deleteProcedureStepComments:ET}=ba.actions,vT=t=>t.procedureStepCommentReducer.instances,wt=u.createSelector([vT],t=>Object.values(t)),VT=t=>e=>e.procedureStepCommentReducer.instances[t],BT=y(u.createSelector([wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),vM=y(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),VM=y(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),BM=y(u.createSelector([wt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),zT=ba.reducer,ke=O(t=>t.uuid),jT={instances:{}},Pa=u.createSlice({name:"procedureStepDefaultAssignees",initialState:jT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,jT)),reducers:{initializeProcedureStepDefaultAssignees:ke.initialize,addProcedureStepDefaultAssignee:ke.addOne,addProcedureStepDefaultAssignees:ke.addMany,setProcedureStepDefaultAssignee:ke.setOne,setProcedureStepDefaultAssignees:ke.setMany,updateProcedureStepDefaultAssignee:ke.updateOne,updateProcedureStepDefaultAssignees:ke.updateMany,deleteProcedureStepDefaultAssignee:ke.deleteOne,deleteProcedureStepDefaultAssignees:ke.deleteMany}}),{initializeProcedureStepDefaultAssignees:CT,addProcedureStepDefaultAssignee:DT,addProcedureStepDefaultAssignees:qT,setProcedureStepDefaultAssignee:$T,setProcedureStepDefaultAssignees:UT,updateProcedureStepDefaultAssignee:kT,updateProcedureStepDefaultAssignees:LT,deleteProcedureStepDefaultAssignee:HT,deleteProcedureStepDefaultAssignees:GT}=Pa.actions,NT=t=>t.procedureStepDefaultAssigneeReducer.instances,Fa=u.createSelector([NT],t=>Object.values(t)),KT=t=>e=>e.procedureStepDefaultAssigneeReducer.instances[t],WT=y(u.createSelector([Fa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),zM=y(u.createSelector([Fa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),XT=Pa.reducer,Le=O(t=>t.uuid),YT={instances:{}},_a=u.createSlice({name:"procedureStepDefaultReviewers",initialState:YT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,YT)),reducers:{initializeProcedureStepDefaultReviewers:Le.initialize,addProcedureStepDefaultReviewer:Le.addOne,addProcedureStepDefaultReviewers:Le.addMany,setProcedureStepDefaultReviewer:Le.setOne,setProcedureStepDefaultReviewers:Le.setMany,updateProcedureStepDefaultReviewer:Le.updateOne,updateProcedureStepDefaultReviewers:Le.updateMany,deleteProcedureStepDefaultReviewer:Le.deleteOne,deleteProcedureStepDefaultReviewers:Le.deleteMany}}),{initializeProcedureStepDefaultReviewers:ZT,addProcedureStepDefaultReviewer:JT,addProcedureStepDefaultReviewers:QT,setProcedureStepDefaultReviewer:xT,setProcedureStepDefaultReviewers:eI,updateProcedureStepDefaultReviewer:tI,updateProcedureStepDefaultReviewers:sI,deleteProcedureStepDefaultReviewer:iI,deleteProcedureStepDefaultReviewers:aI}=_a.actions,nI=t=>t.procedureStepDefaultReviewerReducer.instances,Ma=u.createSelector([nI],t=>Object.values(t)),cI=t=>e=>e.procedureStepDefaultReviewerReducer.instances[t],rI=y(u.createSelector([Ma,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),jM=y(u.createSelector([Ma,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),dI=_a.reducer,He=O(t=>t.uuid),uI={instances:{}},ga=u.createSlice({name:"procedureStepEvents",initialState:uI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,uI)),reducers:{initializeProcedureStepEvents:He.initialize,addProcedureStepEvent:He.addOne,addProcedureStepEvents:He.addMany,setProcedureStepEvent:He.setOne,setProcedureStepEvents:He.setMany,updateProcedureStepEvent:He.updateOne,updateProcedureStepEvents:He.updateMany,deleteProcedureStepEvent:He.deleteOne,deleteProcedureStepEvents:He.deleteMany}}),{initializeProcedureStepEvents:lI,addProcedureStepEvent:oI,addProcedureStepEvents:hI,setProcedureStepEvent:pI,setProcedureStepEvents:yI,updateProcedureStepEvent:mI,updateProcedureStepEvents:fI,deleteProcedureStepEvent:SI,deleteProcedureStepEvents:AI}=ga.actions,TI=t=>t.procedureStepEventReducer.instances,Et=u.createSelector([TI],t=>Object.values(t)),II=t=>e=>e.procedureStepEventReducer.instances[t],OI=y(u.createSelector([Et,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),CM=y(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),DM=y(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),qM=y(u.createSelector([Et,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),bI=ga.reducer,Ge=O(t=>t.uuid),PI={instances:{}},Ra=u.createSlice({name:"procedureStepFieldsAttachments",initialState:PI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,PI)),reducers:{initializeProcedureStepFieldsAttachments:Ge.initialize,addProcedureStepFieldsAttachment:Ge.addOne,addProcedureStepFieldsAttachments:Ge.addMany,setProcedureStepFieldsAttachment:Ge.setOne,setProcedureStepFieldsAttachments:Ge.setMany,updateProcedureStepFieldsAttachment:Ge.updateOne,updateProcedureStepFieldsAttachments:Ge.updateMany,deleteProcedureStepFieldsAttachment:Ge.deleteOne,deleteProcedureStepFieldsAttachments:Ge.deleteMany}}),{initializeProcedureStepFieldsAttachments:FI,addProcedureStepFieldsAttachment:_I,addProcedureStepFieldsAttachments:wa,setProcedureStepFieldsAttachment:MI,setProcedureStepFieldsAttachments:gI,updateProcedureStepFieldsAttachment:RI,updateProcedureStepFieldsAttachments:wI,deleteProcedureStepFieldsAttachment:EI,deleteProcedureStepFieldsAttachments:Ea}=Ra.actions,vI=t=>t.procedureStepFieldsAttachmentReducer.instances,va=u.createSelector([vI],t=>Object.values(t)),VI=y(u.createSelector([va,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),BI=t=>e=>e.procedureStepFieldsAttachmentReducer.instances[t],zI=y(u.createSelector([va,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),jI=Ra.reducer,Ne=O(t=>t.uuid),CI={instances:{}},Va=u.createSlice({name:"procedureStepFields",initialState:CI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,CI)),reducers:{initializeProcedureStepFields:Ne.initialize,addProcedureStepFields:Ne.addOne,addProcedureStepFieldsMany:Ne.addMany,setProcedureStepFields:Ne.setOne,setProcedureStepFieldsMany:Ne.setMany,updateProcedureStepFields:Ne.updateOne,updateProcedureStepFieldsMany:Ne.updateMany,deleteProcedureStepFields:Ne.deleteOne,deleteProcedureStepFieldsMany:Ne.deleteMany}}),{initializeProcedureStepFields:DI,addProcedureStepFields:qI,addProcedureStepFieldsMany:$I,setProcedureStepFields:UI,setProcedureStepFieldsMany:kI,updateProcedureStepFields:LI,updateProcedureStepFieldsMany:HI,deleteProcedureStepFields:GI,deleteProcedureStepFieldsMany:NI}=Va.actions,Ba=t=>t.procedureStepFieldsReducer.instances,is=u.createSelector([Ba],t=>Object.values(t)),$M=y(u.createSelector([is,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),UM=y(u.createSelector([is,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_step===e).toSorted(l.submittedAtModelSortFn).pop())),kM=u.createSelector([Ba],t=>{const e={};for(const i of Object.values(t)){const a=e[i.procedure_step];(!a||a.submitted_at<i.submitted_at)&&(e[i.procedure_step]=i)}return e}),KI=t=>e=>e.procedureStepFieldsReducer.instances[t],WI=y(u.createSelector([is,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),XI=Va.reducer,Ke=O(t=>t.uuid),YI={instances:{}},za=u.createSlice({name:"procedureStepFieldValuesAttachments",initialState:YI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,YI)),reducers:{initializeProcedureStepFieldValuesAttachments:Ke.initialize,addProcedureStepFieldValuesAttachment:Ke.addOne,addProcedureStepFieldValuesAttachments:Ke.addMany,setProcedureStepFieldValuesAttachment:Ke.setOne,setProcedureStepFieldValuesAttachments:Ke.setMany,updateProcedureStepFieldValuesAttachment:Ke.updateOne,updateProcedureStepFieldValuesAttachments:Ke.updateMany,deleteProcedureStepFieldValuesAttachment:Ke.deleteOne,deleteProcedureStepFieldValuesAttachments:Ke.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:ZI,addProcedureStepFieldValuesAttachment:JI,addProcedureStepFieldValuesAttachments:ja,setProcedureStepFieldValuesAttachment:QI,setProcedureStepFieldValuesAttachments:xI,updateProcedureStepFieldValuesAttachment:eO,updateProcedureStepFieldValuesAttachments:tO,deleteProcedureStepFieldValuesAttachment:sO,deleteProcedureStepFieldValuesAttachments:Ca}=za.actions,iO=t=>t.procedureStepFieldValuesAttachmentReducer.instances,Da=u.createSelector([iO],t=>Object.values(t)),aO=t=>e=>e.procedureStepFieldValuesAttachmentReducer.instances[t],nO=y(u.createSelector([Da,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),cO=y(u.createSelector([Da,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),rO=za.reducer,We=O(t=>t.uuid),dO={instances:{}},qa=u.createSlice({name:"procedureStepFieldValues",initialState:dO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,dO)),reducers:{initializeProcedureStepFieldValues:We.initialize,addProcedureStepFieldValues:We.addOne,addProcedureStepFieldValuesMany:We.addMany,setProcedureStepFieldValues:We.setOne,setProcedureStepFieldValuesMany:We.setMany,updateProcedureStepFieldValues:We.updateOne,updateProcedureStepFieldValuesMany:We.updateMany,deleteProcedureStepFieldValues:We.deleteOne,deleteProcedureStepFieldValuesMany:We.deleteMany}}),{initializeProcedureStepFieldValues:uO,addProcedureStepFieldValues:lO,addProcedureStepFieldValuesMany:oO,setProcedureStepFieldValues:hO,setProcedureStepFieldValuesMany:pO,updateProcedureStepFieldValues:yO,updateProcedureStepFieldValuesMany:mO,deleteProcedureStepFieldValues:fO,deleteProcedureStepFieldValuesMany:SO}=qa.actions,AO=qa.reducer,TO=t=>t.procedureStepFieldValuesReducer.instances,ht=u.createSelector([TO],t=>Object.values(t)),LM=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),HM=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),IO=t=>e=>e.procedureStepFieldValuesReducer.instances[t],OO=y(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),GM=y(u.createSelector([ht,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),Xe=O(t=>t.uuid),bO={instances:{}},$a=u.createSlice({name:"procedureStepFieldValuesReviews",initialState:bO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,bO)),reducers:{initializeProcedureStepFieldValuesReviews:Xe.initialize,addProcedureStepFieldValuesReview:Xe.addOne,addProcedureStepFieldValuesReviews:Xe.addMany,setProcedureStepFieldValuesReview:Xe.setOne,setProcedureStepFieldValuesReviews:Xe.setMany,updateProcedureStepFieldValuesReview:Xe.updateOne,updateProcedureStepFieldValuesReviews:Xe.updateMany,deleteProcedureStepFieldValuesReview:Xe.deleteOne,deleteProcedureStepFieldValuesReviews:Xe.deleteMany}}),{initializeProcedureStepFieldValuesReviews:PO,addProcedureStepFieldValuesReview:FO,addProcedureStepFieldValuesReviews:Ua,setProcedureStepFieldValuesReview:_O,setProcedureStepFieldValuesReviews:MO,updateProcedureStepFieldValuesReview:gO,updateProcedureStepFieldValuesReviews:RO,deleteProcedureStepFieldValuesReview:wO,deleteProcedureStepFieldValuesReviews:ka}=$a.actions,EO=t=>t.procedureStepFieldValuesReviewReducer.instances,pt=u.createSelector([EO],t=>Object.values(t)),vO=t=>e=>e.procedureStepFieldValuesReviewReducer.instances[t],VO=y(u.createSelector([pt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),BO=y(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),NM=y(u.createSelector([pt,(t,e)=>e],(t,e)=>{let i;for(const a of t){const{field_values:n}=a;n===e&&(!i||i.submitted_at<=a.submitted_at)&&(i=a)}return i})),KM=y(u.createSelector([ht,pt,(t,e)=>e],(t,e,i)=>{const a=new Set(l.toUuidArray(t.filter(({procedure:n})=>i===n)));return l.fallbackToEmptyArray(e.filter(({field_values:n})=>a.has(n)))})),WM=y(u.createSelector([ht,pt,(t,e)=>e,(t,e,i)=>i],(t,e,i,a)=>{const n=new Set(l.toUuidArray(t.filter(({procedure_step:c,procedure:d})=>i===d&&c===a)));return l.fallbackToEmptyArray(e.filter(({field_values:c})=>n.has(c)))})),XM=u.createSelector([pt],t=>{const e={};for(const i of t){const{field_values:a}=i,n=e[a];(!n||n.submitted_at<=i.submitted_at)&&(e[a]=i)}return e}),zO=$a.reducer,Ye=O(t=>t.uuid),jO={instances:{}},La=u.createSlice({name:"procedureStepReviewers",initialState:jO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,jO)),reducers:{initializeProcedureStepReviewers:Ye.initialize,addProcedureStepReviewer:Ye.addOne,addProcedureStepReviewers:Ye.addMany,setProcedureStepReviewer:Ye.setOne,setProcedureStepReviewers:Ye.setMany,updateProcedureStepReviewer:Ye.updateOne,updateProcedureStepReviewers:Ye.updateMany,deleteProcedureStepReviewer:Ye.deleteOne,deleteProcedureStepReviewers:Ye.deleteMany}}),{initializeProcedureStepReviewers:CO,addProcedureStepReviewer:DO,addProcedureStepReviewers:qO,setProcedureStepReviewer:$O,setProcedureStepReviewers:UO,updateProcedureStepReviewer:kO,updateProcedureStepReviewers:LO,deleteProcedureStepReviewer:HO,deleteProcedureStepReviewers:GO}=La.actions,NO=t=>t.procedureStepReviewerReducer.instances,vt=u.createSelector([NO],t=>Object.values(t)),KO=t=>e=>e.procedureStepReviewerReducer.instances[t],WO=y(u.createSelector([vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),YM=y(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),ZM=y(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),JM=y(u.createSelector([vt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),XO=La.reducer,Ze=O(t=>t.uuid),YO={instances:{}},Ha=u.createSlice({name:"procedureSteps",initialState:YO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,YO)),reducers:{initializeProcedureSteps:Ze.initialize,setProcedureStep:Ze.setOne,setProcedureSteps:Ze.setMany,addProcedureStep:Ze.addOne,addProcedureSteps:Ze.addMany,updateProcedureStep:Ze.updateOne,updateProcedureSteps:Ze.updateMany,deleteProcedureStep:Ze.deleteOne,deleteProcedureSteps:Ze.deleteMany}}),{initializeProcedureSteps:ZO,setProcedureStep:JO,setProcedureSteps:QO,addProcedureStep:xO,addProcedureSteps:eb,updateProcedureStep:tb,updateProcedureSteps:sb,deleteProcedureStep:ib,deleteProcedureSteps:ab}=Ha.actions,nb=Ha.reducer,Ga=t=>t.procedureStepReducer.instances,cb=t=>e=>e.procedureStepReducer.instances[t],Na=u.createSelector([Ga],t=>Object.values(t).toSorted((e,i)=>e.order-i.order)),QM=y(u.createSelector([Ga,(t,e)=>e],(t,e)=>{const i={};for(const[a,n]of Object.entries(t))n.procedure_type===e&&(i[a]=n);return l.fallbackToEmptyObject(i)})),xM=y(u.createSelector([Na,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),rb=y(u.createSelector([Na,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Je=O(({uuid:t})=>t),db={instances:{}},Ka=u.createSlice({name:"procedureTypeAttachments",initialState:db,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,db)),reducers:{initializeProcedureTypeAttachments:Je.initialize,addProcedureTypeAttachment:Je.addOne,addProcedureTypeAttachments:Je.addMany,setProcedureTypeAttachment:Je.setOne,setProcedureTypeAttachments:Je.setMany,updateProcedureTypeAttachment:Je.updateOne,updateProcedureTypeAttachments:Je.updateMany,deleteProcedureTypeAttachment:Je.deleteOne,deleteProcedureTypeAttachments:Je.deleteMany}}),{initializeProcedureTypeAttachments:ub,addProcedureTypeAttachment:lb,addProcedureTypeAttachments:ob,setProcedureTypeAttachment:hb,setProcedureTypeAttachments:pb,updateProcedureTypeAttachment:yb,updateProcedureTypeAttachments:mb,deleteProcedureTypeAttachment:fb,deleteProcedureTypeAttachments:Sb}=Ka.actions,Ab=Ka.reducer,Tb=t=>t.procedureTypeAttachmentReducer.instances,Wa=u.createSelector([Tb],t=>Object.values(t)),Ib=t=>e=>e.procedureTypeAttachmentReducer.instances[t],Ob=y(u.createSelector([Wa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),eg=y(u.createSelector([Wa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({procedure_type:i})=>e===i)))),Qe=O(({uuid:t})=>t),bb={instances:{}},Xa=u.createSlice({name:"procedureTypeFieldsAttachments",initialState:bb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,bb)),reducers:{initializeProcedureTypeFieldsAttachments:Qe.initialize,addProcedureTypeFieldsAttachment:Qe.addOne,addProcedureTypeFieldsAttachments:Qe.addMany,setProcedureTypeFieldsAttachment:Qe.setOne,setProcedureTypeFieldsAttachments:Qe.setMany,updateProcedureTypeFieldsAttachment:Qe.updateOne,updateProcedureTypeFieldsAttachments:Qe.updateMany,deleteProcedureTypeFieldsAttachment:Qe.deleteOne,deleteProcedureTypeFieldsAttachments:Qe.deleteMany}}),{initializeProcedureTypeFieldsAttachments:Pb,addProcedureTypeFieldsAttachment:Fb,addProcedureTypeFieldsAttachments:_b,setProcedureTypeFieldsAttachment:Mb,setProcedureTypeFieldsAttachments:gb,updateProcedureTypeFieldsAttachment:Rb,updateProcedureTypeFieldsAttachments:wb,deleteProcedureTypeFieldsAttachment:Eb,deleteProcedureTypeFieldsAttachments:vb}=Xa.actions,Vb=Xa.reducer,Bb=t=>t.procedureTypeFieldsAttachmentReducer.instances,Ya=u.createSelector([Bb],t=>Object.values(t)),tg=y(u.createSelector([Ya,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),zb=t=>e=>e.procedureTypeFieldsAttachmentReducer.instances[t],jb=y(u.createSelector([Ya,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),xe=O(({uuid:t})=>t),Cb={instances:{}},Za=u.createSlice({name:"procedureTypeFields",initialState:Cb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Cb)),reducers:{initializeProcedureTypeFields:xe.initialize,addProcedureTypeFields:xe.addOne,addProcedureTypeFieldsMany:xe.addMany,setProcedureTypeFields:xe.setOne,setProcedureTypeFieldsMany:xe.setMany,updateProcedureTypeFields:xe.updateOne,updateProcedureTypeFieldsMany:xe.updateMany,deleteProcedureTypeFields:xe.deleteOne,deleteProcedureTypeFieldsMany:xe.deleteMany}}),{initializeProcedureTypeFields:Db,addProcedureTypeFields:qb,addProcedureTypeFieldsMany:$b,setProcedureTypeFields:Ub,setProcedureTypeFieldsMany:kb,updateProcedureTypeFields:Lb,updateProcedureTypeFieldsMany:Hb,deleteProcedureTypeFields:Gb,deleteProcedureTypeFieldsMany:Nb}=Za.actions,Kb=Za.reducer,Wb=t=>t.procedureTypeFieldsReducer.instances,as=u.createSelector([Wb],t=>Object.values(t)),sg=y(u.createSelector([as,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),ig=y(u.createSelector([as,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),Xb=t=>e=>e.procedureTypeFieldsReducer.instances[t],Yb=y(u.createSelector([as,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),et=O(({uuid:t})=>t),Zb={instances:{}},Ja=u.createSlice({name:"procedureFieldValuesAttachments",initialState:Zb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Zb)),reducers:{initializeProcedureFieldValuesAttachments:et.initialize,addProcedureFieldValuesAttachment:et.addOne,addProcedureFieldValuesAttachments:et.addMany,setProcedureFieldValuesAttachment:et.setOne,setProcedureFieldValuesAttachments:et.setMany,updateProcedureFieldValuesAttachment:et.updateOne,updateProcedureFieldValuesAttachments:et.updateMany,deleteProcedureFieldValuesAttachment:et.deleteOne,deleteProcedureFieldValuesAttachments:et.deleteMany}}),{initializeProcedureFieldValuesAttachments:Jb,addProcedureFieldValuesAttachment:Qb,addProcedureFieldValuesAttachments:Qa,setProcedureFieldValuesAttachment:xb,setProcedureFieldValuesAttachments:eP,updateProcedureFieldValuesAttachment:tP,updateProcedureFieldValuesAttachments:sP,deleteProcedureFieldValuesAttachment:iP,deleteProcedureFieldValuesAttachments:xa}=Ja.actions,aP=Ja.reducer,nP=t=>t.procedureFieldValuesAttachmentReducer.instances,en=u.createSelector([nP],t=>Object.values(t)),cP=t=>e=>e.procedureFieldValuesAttachmentReducer.instances[t],rP=y(u.createSelector([en,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dP=y(u.createSelector([en,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),tt=O(({uuid:t})=>t),uP={instances:{}},tn=u.createSlice({name:"procedureFieldValues",initialState:uP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,uP)),reducers:{initializeProcedureFieldValues:tt.initialize,addProcedureFieldValues:tt.addOne,addProcedureFieldValuesMany:tt.addMany,setProcedureFieldValues:tt.setOne,setProcedureFieldValuesMany:tt.setMany,updateProcedureFieldValues:tt.updateOne,updateProcedureFieldValuesMany:tt.updateMany,deleteProcedureFieldValues:tt.deleteOne,deleteProcedureFieldValuesMany:tt.deleteMany}}),{initializeProcedureFieldValues:lP,addProcedureFieldValues:oP,addProcedureFieldValuesMany:hP,setProcedureFieldValues:pP,setProcedureFieldValuesMany:yP,updateProcedureFieldValues:mP,updateProcedureFieldValuesMany:fP,deleteProcedureFieldValues:SP,deleteProcedureFieldValuesMany:AP}=tn.actions,TP=tn.reducer,IP=t=>t.procedureFieldValuesReducer.instances,sn=u.createSelector([IP],t=>Object.values(t)),ag=y(u.createSelector([sn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),OP=t=>e=>e.procedureFieldValuesReducer.instances[t],bP=y(u.createSelector([sn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),st=O(t=>t.uuid),PP={instances:{}},an=u.createSlice({name:"procedureTypes",initialState:PP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,PP)),reducers:{initializeProcedureTypes:st.initialize,addProcedureType:st.addOne,addProcedureTypes:st.addMany,setProcedureType:st.setOne,setProcedureTypes:st.setMany,updateProcedureType:st.updateOne,updateProcedureTypes:st.updateMany,deleteProcedureType:st.deleteOne,deleteProcedureTypes:st.deleteMany}}),{initializeProcedureTypes:FP,addProcedureType:_P,addProcedureTypes:MP,setProcedureType:gP,setProcedureTypes:RP,updateProcedureType:wP,updateProcedureTypes:EP,deleteProcedureType:vP,deleteProcedureTypes:VP}=an.actions,BP=an.reducer,zP=t=>t.procedureTypeReducer.instances,nn=u.createSelector([zP],t=>Object.values(t)),jP=t=>e=>e.procedureTypeReducer.instances[t],CP=y(u.createSelector([nn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ng=y(u.createSelector([nn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),cg={isRehydrated:!1},cn=u.createSlice({name:"rehydrated",initialState:cg,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:rg}=cn.actions,dg=t=>t.rehydratedReducer.isRehydrated,DP=cn.reducer,it=O(t=>t.uuid),qP={instances:{}},rn=u.createSlice({name:"reports",initialState:qP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,qP)),reducers:{initializeReports:it.initialize,addReport:it.addOne,addReports:it.addMany,setReport:it.setOne,setReports:it.setMany,updateReport:it.updateOne,updateReports:it.updateMany,deleteReport:it.deleteOne,deleteReports:it.deleteMany}}),{initializeReports:$P,addReport:UP,addReports:kP,setReport:LP,setReports:HP,updateReport:GP,updateReports:NP,deleteReport:KP,deleteReports:WP}=rn.actions,XP=t=>t.reportReducer.instances,YP=u.createSelector([XP],t=>l.fallbackToEmptyArray(Object.values(t))),ZP=t=>e=>e.reportReducer.instances[t],JP=y(u.createSelector([YP,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),QP=rn.reducer,at=O(t=>t.uuid),xP={instances:{}},dn=u.createSlice({name:"teamMemberships",initialState:xP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,xP)),reducers:{initializeTeamMemberships:at.initialize,addTeamMembership:at.addOne,addTeamMemberships:at.addMany,setTeamMembership:at.setOne,setTeamMemberships:at.setMany,updateTeamMembership:at.updateOne,updateTeamMemberships:at.updateMany,deleteTeamMembership:at.deleteOne,deleteTeamMemberships:at.deleteMany}}),{initializeTeamMemberships:eF,addTeamMembership:tF,addTeamMemberships:sF,setTeamMembership:iF,setTeamMemberships:aF,updateTeamMembership:nF,updateTeamMemberships:cF,deleteTeamMembership:rF,deleteTeamMemberships:dF}=dn.actions,uF=dn.reducer,lF=t=>t.teamMembershipReducer.instances,ns=u.createSelector([lF],t=>Object.values(t)),oF=t=>e=>e.teamMembershipReducer.instances[t],hF=y(u.createSelector([ns,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ug=y(u.createSelector([ns,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.team===e))i[a.user]=a;return i})),lg=y(u.createSelector([Jt,ns,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.team===i).map(n=>n.user));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.id)))})),nt=O(t=>t.uuid),pF={instances:{}},un=u.createSlice({name:"teams",initialState:pF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,pF)),reducers:{initializeTeams:nt.initialize,addTeam:nt.addOne,addTeams:nt.addMany,setTeam:nt.setOne,setTeams:nt.setMany,updateTeam:nt.updateOne,updateTeams:nt.updateMany,deleteTeam:nt.deleteOne,deleteTeams:nt.deleteMany}}),{initializeTeams:yF,addTeam:mF,addTeams:fF,setTeam:SF,setTeams:AF,updateTeam:TF,updateTeams:IF,deleteTeam:OF,deleteTeams:bF}=un.actions,PF=t=>t.teamReducer.instances,ln=u.createSelector([PF],t=>Object.values(t)),FF=t=>e=>e.teamReducer.instances[t],_F=y(u.createSelector([ln,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),og=y(u.createSelector([ln,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),MF=un.reducer,on={outboxReducer:yS,authReducer:Gd},hg=u.combineReducers(on),gF={...on,assetReducer:_c,assetAttachmentReducer:qn,assetCommentAttachmentReducer:Qn,assetCommentReducer:hc,assetTypeReducer:gd,assetTypeAttachmentReducer:qc,issueReducer:Cp,issueAttachmentReducer:Zh,issueTypeReducer:Qm,issueTypeAttachmentReducer:Zp,organizationReducer:dS,projectReducer:gA,projectAttachmentReducer:kS,projectCommentReducer:tA,projectAccessReducer:_S,organizationAccessReducer:Gf,projectFileReducer:fA,procedureTypeReducer:BP,procedureInitiativeReducer:kA,procedureReducer:xA,procedureTypeFieldsReducer:Kb,procedureFieldValuesReducer:TP,procedureTypeAttachmentReducer:Ab,procedureTypeFieldsAttachmentReducer:Vb,procedureFieldValuesAttachmentReducer:aP,procedureStepFieldsAttachmentReducer:jI,procedureStepFieldsReducer:XI,procedureStepFieldValuesAttachmentReducer:rO,procedureStepFieldValuesReducer:AO,procedureStepFieldValuesReviewReducer:zO,procedureStepAssigneeReducer:IT,procedureStepCommentReducer:zT,procedureStepDefaultAssigneeReducer:XT,procedureStepDefaultReviewerReducer:dI,procedureStepEventReducer:bI,procedureStepReviewerReducer:XO,procedureStepReducer:nb,rehydratedReducer:DP,reportReducer:QP,formReducer:io,formRevisionReducer:Bl,formRevisionAttachmentReducer:Il,formSubscriberReducer:Kl,formSubmissionFieldValuesAttachmentReducer:Ao,formSubmissionFieldValuesReducer:vo,formSubmissionCommentReducer:Go,formSubmissionReducer:rh,formIdentifierReducer:Ku,formIdentifierValueReducer:cl,userReducer:vf,emailDomainsReducer:Vu,documentsReducer:mu,documentAttachmentReducer:au,teamReducer:MF,agentsReducer:_n,issueCommentReducer:Pp,issueCommentAttachmentReducer:lp,issueUpdateReducer:bf,geoImageReducer:Oh,issueAssociationReducer:Dh,issueTypeFieldsReducer:qy,issueTypeFieldValuesReducer:Fy,issueTypeFieldsAttachmentReducer:ly,issueTypeFieldValuesAttachmentReducer:Jy,issueTypeIdentifierReducer:om,issueTypeIdentifierValueReducer:_m,issueTypePriorityReducer:qm,issueTypeStatusReducer:hf,assetTypeFieldsReducer:hr,assetTypeFieldValuesReducer:$r,assetTypeFieldsAttachmentReducer:Qc,assetTypeFieldValuesAttachmentReducer:_r,assetTypeIdentifierReducer:xr,assetTypeIdentifierValueReducer:pd,assetTypeStatusReducer:kd,teamMembershipReducer:uF},pg=u.combineReducers(gF),RF=1e4,hn=[400,409,403,404,405,500],D=1e4,wF={};class EF{client;pageSize=RF;constructor(e){wF[this.constructor.name]=this,this.client=e}async performRequest(e,i){return this.client.performRequest(this.host,e,this,i)}async enqueueRequest(e){return this.client.enqueueRequest(e,this.host,this.constructor.name)}async performPagination(e,i){return this.client.performPagination(this.host,e,this.pageSize,this,i)}dispatch(e){this.client.store.dispatch(e)}select(e){return e(this.client.store.getState())}}const yg=t=>{if(t)throw t;const e=Pt();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},vF=(t,e,i)=>{const a=mt();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},VF=(t,e,i)=>{const a=mt();if(!a)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=e.meta.offlineAction.payload.uuid;return a.remove(c),a.getQueue()};async function mg(t,e){if(!e.payload)throw new Error("Received empty payload");return t_(e)}const fg={...An,effect:mg,discard:zF,returnPromises:!0,persistCallback:yg,retry:Tg,persistOptions:{storage:a_},queue:{...An.queue,enqueue:vF,dequeue:VF,peek:(...t)=>Ag(...t)}},Sg=i_.offline(fg);async function BF(t,e,i){if(e.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const n=wF[t.meta.offline.effect.serviceName];if(!n)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return mn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,e,n,i)}function zF(t,e,i=0){if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
|
|
2
2
|
Url:`,e.payload.url,`
|
|
3
|
-
Retries:`,i),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const a=Pt(),c=a.getState().outboxReducer.deletedRequests,d=e.payload.uuid;function r(){a.dispatch(
|
|
4
|
-
Action:`,e);const f=
|
|
3
|
+
Retries:`,i),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const a=Pt(),c=a.getState().outboxReducer.deletedRequests,d=e.payload.uuid;function r(){a.dispatch(hS(d));const h=mt();if(!h)throw new Error("Outbox coordinator not set");h.remove(e.payload.uuid);const f=e.meta.offline.rollback;throw f&&(console.warn("Rolling back request due to SDK error:",e),a.dispatch(f)),t}if(t instanceof z&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",e.payload.url),r()),c.includes(d)&&(console.debug("Discarding request due to deletion:",e.payload.url),r()),t instanceof z){const h=t.status||t.response?.status;if(h||console.warn("Error has no status code:",t),t.options.discard!==!1&&h!==void 0&&hn.includes(h)){console.warn("Discarding request due to error:",t,`
|
|
4
|
+
Action:`,e);const f=mt();if(!f)throw new Error("Outbox coordinator not set");f.remove(e.payload.uuid),t.options.discard=!0,r()}}console.debug("Registering a retry for request:",e.payload.uuid);const p=mt();if(!p)throw new Error("Outbox coordinator not set");return p.registerRetry(e.payload.uuid),!1}function Ag(t,e,i){return mt()?.peek()}function Tg(t,e){return Pt().dispatch(pS(new Date().getTime())),6e4}const Ig=500,jF=["non_field_errors","detail"];function Og(t,e){let i;if(t?.body)if(typeof t.body=="object"){const a=t.body;if(typeof a.error=="string")i=a.error;else if(typeof a.message=="string")i=a.message;else try{i=Object.entries(a).map(([n,c])=>typeof c=="string"?jF.includes(n)?c:`${n}: ${c}`:Array.isArray(c)?jF.includes(n)?c.join(`
|
|
5
5
|
`):c.map(d=>`${n}: ${d}`).join(`
|
|
6
6
|
`):`${n}: ${JSON.stringify(c)}`).join(`
|
|
7
|
-
`)}catch(n){console.error("Failed to extract error message from response body",n)}}else typeof t.body=="string"&&(i=t.body);else t?.text?i=t.text:e instanceof Error&&(i=e.message);return!i||i.length>sg?l.ERROR_MSG_UNEXPECTED:i}class z extends Error{status;response;message;options;constructor(e){super(l.ERROR_MSG_UNEXPECTED);const{response:i,innerError:a}=e;this.message=e.message??ig(i,a)??l.ERROR_MSG_UNEXPECTED,this.status=i?.status??0,this.response=i,this.options=e}}function TF(t){function e(i){return typeof i=="object"&&i!==null&&["ok","redirect","clientError","serverError","error"].every(n=>n in i)}if(e(t))return t;if(typeof t=="object"&&t!==null){const i=t;if(e(i.response))return i.response;if(i.response&&e(i.response.response))return i.response.response}}function ag(t){return new Uint8Array(t).reduce((i,a)=>i+a.toString(16).padStart(2,"0"),"")}function ns(t){return new Promise((e,i)=>{const a=new FileReader;a.onload=()=>{const n=a.result;if(!n){i(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",n).then(c=>{const d=ag(c);e(d)})},a.readAsArrayBuffer(t)})}const IF=async t=>{const e=await t.arrayBuffer();return new Blob([e],{type:t.type})},ng=(t,e)=>`${t}${e?`.${e}`:""}`;function cg(t,e){return new File([t],e,{type:t.type})}function OF(t){const e=t.name;return e.includes(".")?e.split(".").pop():""}const PF=async t=>(await fetch(t)).blob(),bF=async(t,e)=>{const i=await PF(t);return new File([i],e,{type:i.type})};function FF(t){return typeof t=="string"&&t.startsWith("blob:")}function _F(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function MF(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function gF(t){if(_F(t)){const i=new URLSearchParams(t).get("Expires");if(!i)return null;const a=parseInt(i,10);return new Date(a*1e3)}if(MF(t)){const e=new URLSearchParams(t),i=e.get("X-Amz-Date"),a=e.get("X-Amz-Expires");if(!i||!a)return null;const n=new Date(i.replace(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/,"$1-$2-$3T$4:$5:$6Z")),c=parseInt(a);return new Date(n.getTime()+c*1e3)}return null}function RF(t,e=30){const i=gF(t);if(!i)return!1;const a=Date.now(),n=i.getTime(),c=e*1e3;return a+c>=n}function rg(t){return t.type.startsWith("image/")}class wF extends pF{constructor(e){super(e)}applyAuth(e){const i=this.getAuthHeader();return i?e.set("Authorization",i):e}isAuthFailure(e){return e.status===401}}class pt extends pF{auth;constructor(e,i){super(e),this.auth=i}}class dg extends pt{async startConversation(e,i){return this.enqueueRequest({description:"Start agent conversation",method:o.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:i},blockers:["prompt"],blocks:["prompt"]}).then(a=>(this.dispatch(Tn(a)),a))}async continueConversation(e,i,a){return this.enqueueRequest({description:"Prompt agent",method:o.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:a},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:i}}).then(n=>{this.dispatch(On(n))})}async fetchDetails(e){return this.enqueueRequest({description:"Get agent conversation",method:o.GET,url:`/agents/conversations/${e}/`,blockers:["conversation"],blocks:["conversation"]}).then(i=>{this.dispatch(In(i))})}async rate(e,i){return this.enqueueRequest({description:"Rate agent response",method:o.PUT,url:`/agents/responses/${e}/rate/`,payload:{rating:i},blockers:["rate"],blocks:["rate"]})}async list(e,i){return this.performRequest({method:o.GET,url:"/agents/conversations/",...e},i)}async refreshStore(e,i){const a=await this.list({queryParams:{project:e}},i);return this.dispatch(An(a)),a}}function m(t,e,i){const a=`${e}${i?"s":""}`;switch(t){case o.GET:return`Get ${a}`;case o.POST:return`Create ${a}`;case o.PATCH:return`Update ${a}`;case o.PUT:return`Update ${a}`;case o.DELETE:return`Delete ${a}`}}function M(t){const e={...t};for(const i of[...fn,"created_by"])i in e&&delete e[i];return e}class g extends pt{async get(e,i){return this.performRequest({url:`${this.url}/${e}/`,method:o.GET},i)}async list(e,i){return this.performRequest({url:`${this.url}/`,method:o.GET,...e},i)}async listPaginated(e,i){return this.performPagination({url:`${this.url}/`,method:o.GET,...e},i)}}class v extends g{async getPresignedUrl(e,i){const{selectById:a}=this.selectors,n=this.select(a(e));if(!n)throw new Error(`Could not find ${this.name}: ${e} in store.`);if(n.object_url)return n.object_url;const c=await this.client.files.getPresignedUrlFromCache(n.file_sha1);if(c)return c;const d=await this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:o.GET},i);return await this.client.files.cachePresignedUrl(n.file_sha1,d),d}async add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions;let c,d=null,r=null;if("file"in e){const{file:S,...P}=e;d=await this.client.files.getFilePayload(S),r=URL.createObjectURL(S),c={...P,file_sha1:d.sha1,file_type:d.file_type,file_name:S.name,file_extension:d.extension,object_url:r}}else c=e;const p=this.buildModel(c),h=this.buildPayload(p);this.dispatch(i(p));const f=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...h,...d?{file:d}:{}},blockers:this.getBlockers(p),blocks:this.getBlocks(p)});f.then(({instance:S})=>{this.dispatch(a(S))}).catch(()=>{this.dispatch(n(this.getId(p)))}).finally(()=>{r&&URL.revokeObjectURL(r)});const A=f.then(({instance:S})=>S),I=f.then(async({instance:S,presigned_url:P})=>{try{return P&&await this.client.files.processPresignedUrl(S.file_sha1,P),S.file_sha1}catch(_){throw console.error("Upload to s3 using presigned url failed.",_),_}});return[p,A,I]}async bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=[],p=new Set,h=l.chunkArray(e,Math.min(i??e.length,C)),f=[];for(const P of h){const _=[],F={},w=[],V=[];for(const nt of P){let Vt;if("file"in nt){const{file:Bt,...DR}=nt,bt=await this.client.files.getFilePayload(Bt);bt.sha1 in F||(F[bt.sha1]=bt);const $F=URL.createObjectURL(Bt);p.add($F),Vt={...DR,file_sha1:bt.sha1,file_type:bt.file_type,file_name:Bt.name,file_extension:bt.extension,object_url:$F}}else Vt=nt;const j=this.buildModel(Vt);r.push(j);const cs=this.buildBulkPayload(j);_.push(cs);const B=this.getBlockers(j);w.push(...B);const q=this.getBlocks(j);V.push(...q)}const R={payloads:_,submittedAt:d,files:Object.values(F),blockers:w,blocks:V};f.push(R)}this.dispatch(a(r));const A=f.map(P=>{const{submittedAt:_,files:F,payloads:w,blocks:V,blockers:R}=P;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,files:F,payloads:w},blockers:R,blocks:V})});Promise.all(A).then(P=>{const _=P.flatMap(F=>F.instances);this.dispatch(n(_))}).catch(P=>{throw this.dispatch(c(r.map(_=>this.getId(_)))),console.error(P),P}).finally(()=>{for(const P of p)URL.revokeObjectURL(P)});const I=Promise.all(A).then(P=>P.flatMap(({instances:_})=>_)),S=Promise.all(A).then(async P=>{const _=[];for(const{presigned_urls:F}of P){const w=this.client.files.processPresignedUrls(F);for(const[V,R]of Object.entries(w))try{await R,_.push(V)}catch(nt){throw console.error("Upload to s3 using presigned url failed.",nt),nt}}return _});return[r,I,S]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Attempting to delete ${this.name} with pk ${e} that does not exist in the store`);this.dispatch(a(this.getId(c)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}}class ug extends v{name="Asset attachment";url="/asset-attachments";actions={addOne:_n,addMany:ls,setOne:Mn,setMany:gn,updateOne:Rn,updateMany:wn,deleteOne:En,deleteMany:os,initialize:Fn};selectors={selectById:Vn,selectByIds:Bn};getId(e){return e.uuid}getBlockers(e){const{asset:i}=e;return[i]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class lg extends g{name="Asset Comment";url="/asset-comments";actions={addOne:qn,addMany:zt,setOne:$n,setMany:Un,updateOne:kn,updateMany:Ln,deleteOne:Hn,deleteMany:jt,initialize:Cn};selectors={selectById:Nn,selectByIds:Kn};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.asset],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Asset comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Asset comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class og extends g{url="/assets";name="Asset";actions={addOne:Qn,addMany:ms,setOne:sc,setMany:ic,updateOne:xn,updateMany:ec,deleteOne:tc,deleteMany:fs,initialize:Jn};selectors={selectById:cc,selectByIds:rc};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No asset with uuid ${e} found in the store`);const d=this.select(zn(e)),r=this.select(Wn(e)),p=this.select(Ah(e)),h=this.select(kA(e)),f=this.select(Lo(e));this.dispatch(a(e)),this.dispatch(os(l.toUuidArray(d))),this.dispatch(jt(l.toUuidArray(r))),this.dispatch(St(l.toUuidArray(p))),this.dispatch(It(l.toUuidArray(h))),this.dispatch(ut(l.toUuidArray(f)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(i(c)),this.dispatch(ls(d)),this.dispatch(zt(r)),this.dispatch(ft(p)),this.dispatch(Tt(h)),this.dispatch(dt(f)),A}}bulkAdd(e,i){const{addMany:a}=this.actions,n=new Date().toISOString(),c=l.chunkArray(e,Math.min(i??e.length,C)).map(p=>{const h=p.map(f=>l.uuidObj(f));return{batchId:rt.v4(),payload:{submitted_at:n,assets:h}}}),d=[];let r=null;for(const p of c){const{batchId:h,payload:f}=p,A=f.assets.map(({uuid:F})=>F),I=f.assets.map(({asset_type:F})=>F),S=f.assets.map(({project:F})=>F),P=f.assets.map(({status:F})=>F),_=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(r?[r]:[]).concat(I).concat(S).concat(P),blocks:[h].concat(A)});r=p.batchId,d.push(_)}return Promise.all(d).then(p=>{const h=p.flat();this.dispatch(a(h))}),d}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} assets that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,C)),A=[];let I=null;for(const S of f){const P=rt.v4(),_=l.toUuidArray(S),F=S.map(({status:V})=>V).filter(Boolean),w=this.enqueueRequest({description:m(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F),blocks:[P].concat(_)});A.push(w),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(Xn(e)),r=this.select(Th(e)),p=this.select(LA(e)),h=this.select(Ho(e));this.dispatch(a(e)),this.dispatch(jt(l.toUuidArray(d))),this.dispatch(St(l.toUuidArray(r))),this.dispatch(It(l.toUuidArray(p))),this.dispatch(ut(l.toUuidArray(h)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(f){throw this.dispatch(i(c)),this.dispatch(zt(d)),this.dispatch(ft(r)),this.dispatch(Tt(p)),this.dispatch(dt(h)),f}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class hg extends v{name="Asset Type Attachment";url="/asset-type-attachments";actions={addOne:oc,addMany:As,setOne:hc,setMany:pc,updateOne:yc,updateMany:mc,deleteOne:fc,deleteMany:Ts,initialize:lc};selectors={selectById:Ac,selectByIds:Tc};getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class pg extends v{name="Asset Type Fields Attachment";url="/asset-type-fields-attachments";actions={addOne:Fc,addMany:_c,setOne:Mc,setMany:gc,updateOne:Rc,updateMany:wc,deleteOne:Ec,deleteMany:vc,initialize:bc};selectors={selectById:Bc,selectByIds:zc};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class yg extends g{name="Asset Type Fields";url="/asset-type-fields";actions={addOne:qc,addMany:$c,setOne:Uc,setMany:kc,updateOne:Lc,updateMany:Hc,deleteOne:Gc,deleteMany:Nc,initialize:Cc};selectors={selectById:Wc,selectByIds:Xc};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class mg extends v{name="Asset Type Field Values Attachment";url="/asset-type-field-values-attachments";actions={addOne:Qc,addMany:_s,setOne:xc,setMany:er,updateOne:tr,updateMany:sr,deleteOne:ir,deleteMany:Ms,initialize:Jc};selectors={selectById:nr,selectByIds:cr};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class fg extends g{name="Asset Type Field Values";url="/asset-type-field-values";actions={addOne:or,addMany:hr,setOne:pr,setMany:yr,updateOne:mr,updateMany:fr,deleteOne:Sr,deleteMany:Ar,initialize:lr};selectors={selectById:Ir,selectByIds:Or};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{payloads:a,values:n}=e,{addMany:c,updateMany:d,deleteMany:r}=this.actions,p=new Date().toISOString(),h=[],f=l.chunkArray(a,Math.min(i??a.length,C)),A=[];for(const S of f){const P=[];for(const _ of S){const F=l.uuidObj({..._,values:_.values,created_by:this.select(w=>w.userReducer.currentUser?.id??null),submitted_at:p});h.push(F),P.push({uuid:F.uuid,asset:_.asset,fields_revision:_.fields_revision,published_at:_.published_at,values:F.values})}A.push({submitted_at:p,values:n,field_values:P})}this.dispatch(c(h));const I=[];for(const S of A){const{field_values:P}=S,_=P.map(({asset:R})=>R),F=P.map(({fields_revision:R})=>R),w=P.map(({uuid:R})=>R),V=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_.concat(F),blocks:w});I.push(V)}return Promise.all(I).then(S=>{this.dispatch(d(S.flat()))}).catch(()=>{this.dispatch(r(l.toUuidArray(h)))}),[h,I]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.asset],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(rr(e));this.dispatch(i(e)),this.dispatch(Ms(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(_s(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class Sg extends g{name="Asset Type Identifier";url="/asset-type-identifiers";actions={addOne:_r,addMany:Mr,setOne:gr,setMany:Rr,updateOne:wr,updateMany:Er,deleteOne:vr,deleteMany:Vr,initialize:Fr};selectors={selectById:zr,selectByIds:jr};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Ag extends g{name="Asset Type Identifier Value";url="/asset-type-identifier-values";actions={addOne:$r,addMany:Ur,setOne:kr,setMany:Lr,updateOne:Hr,updateMany:Gr,deleteOne:Nr,deleteMany:Kr,initialize:qr};selectors={selectById:Xr,selectByIds:Yr};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.asset_type_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(S=>S.userReducer.currentUser?.id??null),p=l.chunkArray(e,Math.min(i??e.length,C)),h=[],f=[];for(const S of p){const P=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:d,created_by:r});f.push(R);const nt={uuid:R.uuid,asset:R.asset,asset_type_identifier:R.asset_type_identifier,value:R.value};P.push(nt),_.push(R.asset),_.push(R.asset_type_identifier),F.push(R.uuid)}const w={payloads:P,submitted_at:d,blockers:_,blocks:F};h.push(w)}this.dispatch(a(f));const A=h.map(S=>{const{payloads:P,submitted_at:_,blockers:F,blocks:w}=S;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,payloads:P},blockers:F,blocks:w})});Promise.all(A).then(S=>{this.dispatch(n(S.flat()))}).catch(S=>{throw this.dispatch(c(l.toUuidArray(f))),S});const I=Promise.all(A).then(S=>S.flat());return[f,I]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class Tg extends g{name="Asset Type";url="/asset-types";actions={addOne:td,addMany:sd,setOne:xr,setMany:ed,updateOne:id,updateMany:ad,deleteOne:nd,deleteMany:cd,initialize:Qr};selectors={selectById:dd,selectByIds:ud};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type with uuid ${e} to exist`);const d=this.select(nc(e)),r=this.select(Ic(e));this.dispatch(i(e)),this.dispatch(fs(l.toUuidArray(d))),this.dispatch(Ts(l.toUuidArray(r)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(ms(d)),this.dispatch(As(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class Ig extends g{name="Asset Type Status";url="/asset-type-statuses";actions={addOne:pd,addMany:yd,setOne:md,setMany:fd,updateOne:Sd,updateMany:Ad,deleteOne:Td,deleteMany:Id,initialize:hd};selectors={selectById:Pd,selectByIds:bd};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Og extends v{name="Document Attachment";url="/document-attachments";actions={addOne:Ed,addMany:vd,setOne:Vd,setMany:Bd,updateOne:zd,updateMany:jd,deleteOne:Dd,deleteMany:Cd,initialize:wd};selectors={selectById:$d,selectByIds:Ud};getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}async bulkAdd(e,i){const[a,n,c]=await super.bulkAdd(e,i),d={};for(const{file_sha1:r,uuid:p}of a)r in d||(d[r]=[]),d[r].push(p);return c.then(r=>{const p=r.flatMap(h=>d[h]??[]);for(const h of p)this.makeReadable(h)}),[a,n,c]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:o.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,i){const{initialize:a}=this.actions,n=this.list({queryParams:{document__project__organization:e}},i),c=this.list({queryParams:{document__organization:e}},i),r=(await Promise.all([n,c])).flat();return this.dispatch(a(r)),r}}class Pg extends g{name="Document";url="/documents";actions={addOne:Gd,addMany:Nd,setOne:Kd,setMany:Wd,updateOne:Xd,updateMany:Yd,deleteOne:Zd,deleteMany:Jd,initialize:Hd};selectors={selectById:xd,selectByIds:eu};add(e){const{addOne:i,deleteOne:a,updateOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:r.parent_document?[r.parent_document]:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(n(h))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a,addMany:n,deleteMany:c}=this.actions,{selectById:d}=this.selectors,r=this.select(d(e));if(!r)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=this.select(tu(e));this.dispatch(i(e)),this.dispatch(c(l.toUuidArray(p)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(r)),this.dispatch(n(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,n=this.list({queryParams:{project__organization:e}},i),c=this.list({queryParams:{organization:e}},i),r=(await Promise.all([n,c])).flat();return this.dispatch(a(r)),r}}class ct extends pt{async get(e,i){return this.performRequest({url:`${this.url}/${e}/`,method:o.GET},i)}async list(e,i){return this.performRequest({url:`${this.url}/`,method:o.GET,...e},i)}async listPaginated(e,i){return this.performPagination({url:`${this.url}/`,method:o.GET,...e},i)}}class bg extends ct{name="Email Domains";url="/organization-email-domains";actions={addOne:au,addMany:nu,setOne:cu,setMany:ru,updateOne:du,updateMany:uu,deleteOne:lu,deleteMany:ou,initialize:iu};selectors={selectById:pu,selectByIds:yu};async add(e,i){return this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{email:i,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:i,addOne:a}=this.actions;this.dispatch(i(e.uuid));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(n){throw this.dispatch(a(e)),n}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class Fg extends pt{async getVerificationCode(e){return this.enqueueRequest({description:"Get verification code",method:o.GET,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(e,i){return this.enqueueRequest({description:"Validate verification code",method:o.POST,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,payload:i,blockers:[],blocks:[]})}}const vt={},ln=new Set,on=new Set;class _g extends pt{host=void 0;dbPromise=LF.openDB("fileCache",2,{upgrade(e,i){i<1&&e.createObjectStore("files"),i<2&&e.createObjectStore("presignedUrls")}});async getDB(){return await this.dbPromise}async cacheFile(e){if(!e.name)throw new Error(`Cant add a file without a name to cache: ${e.name}`);if(!e.type)throw new Error(`Cant add a file without a type to cache: ${e.name}`);if(!e.size)throw new Error(`Cant add an empty file to cache: ${e.name}`);const i=await ns(e);if(ln.has(i))return;const a=await this.getDB();!!await a.get("files",i)?console.warn(`Attempting to add a file already cached, ${e.name}`):await a.put("files",e,i),ln.add(i)}async uncacheFile(e){await(await this.getDB()).delete("files",e),ln.delete(e)}async getFileFromCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,i,a=i,n){const c=e.split("?")[0]??e,d=await this.getFileFromCache(i);if(d)return d;let r;c in vt?r=vt[c]:FF(e)?(r=bF(e,a),vt[c]=r):(r=this.performRequest({method:o.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1},n).then(f=>new File([f],a,{type:f.type})),vt[c]=r);let p;try{p=await r}catch(f){throw f instanceof z&&delete vt[c],f}const h=await ns(p);if(h!==i){const f=`The hash of the file returned from the server (${h}) does not match the
|
|
7
|
+
`)}catch(n){console.error("Failed to extract error message from response body",n)}}else typeof t.body=="string"&&(i=t.body);else t?.text?i=t.text:e instanceof Error&&(i=e.message);return!i||i.length>Ig?l.ERROR_MSG_UNEXPECTED:i}class z extends Error{status;response;message;options;constructor(e){super(l.ERROR_MSG_UNEXPECTED);const{response:i,innerError:a}=e;this.message=e.message??Og(i,a)??l.ERROR_MSG_UNEXPECTED,this.status=i?.status??0,this.response=i,this.options=e}}function CF(t){function e(i){return typeof i=="object"&&i!==null&&["ok","redirect","clientError","serverError","error"].every(n=>n in i)}if(e(t))return t;if(typeof t=="object"&&t!==null){const i=t;if(e(i.response))return i.response;if(i.response&&e(i.response.response))return i.response.response}}function bg(t){return new Uint8Array(t).reduce((i,a)=>i+a.toString(16).padStart(2,"0"),"")}function cs(t){return new Promise((e,i)=>{const a=new FileReader;a.onload=()=>{const n=a.result;if(!n){i(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",n).then(c=>{const d=bg(c);e(d)})},a.readAsArrayBuffer(t)})}const DF=async t=>{const e=await t.arrayBuffer();return new Blob([e],{type:t.type})},Pg=(t,e)=>`${t}${e?`.${e}`:""}`;function Fg(t,e){return new File([t],e,{type:t.type})}function qF(t){const e=t.name;return e.includes(".")?e.split(".").pop():""}const $F=async t=>(await fetch(t)).blob(),UF=async(t,e)=>{const i=await $F(t);return new File([i],e,{type:i.type})};function kF(t){return typeof t=="string"&&t.startsWith("blob:")}function LF(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function HF(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function GF(t){if(LF(t)){const i=new URLSearchParams(t).get("Expires");if(!i)return null;const a=parseInt(i,10);return new Date(a*1e3)}if(HF(t)){const e=new URLSearchParams(t),i=e.get("X-Amz-Date"),a=e.get("X-Amz-Expires");if(!i||!a)return null;const n=new Date(i.replace(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/,"$1-$2-$3T$4:$5:$6Z")),c=parseInt(a);return new Date(n.getTime()+c*1e3)}return null}function NF(t,e=30){const i=GF(t);if(!i)return!1;const a=Date.now(),n=i.getTime(),c=e*1e3;return a+c>=n}function _g(t){return t.type.startsWith("image/")}class KF extends EF{constructor(e){super(e)}applyAuth(e){const i=this.getAuthHeader();return i?e.set("Authorization",i):e}isAuthFailure(e){return e.status===401}}class yt extends EF{auth;constructor(e,i){super(e),this.auth=i}}class Mg extends yt{async startConversation(e,i){return this.enqueueRequest({description:"Start agent conversation",method:o.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:i},blockers:["prompt"],blocks:["prompt"]}).then(a=>(this.dispatch(bn(a)),a))}async continueConversation(e,i,a){return this.enqueueRequest({description:"Prompt agent",method:o.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:a},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:i}}).then(n=>{this.dispatch(Fn(n))})}async fetchDetails(e){return this.enqueueRequest({description:"Get agent conversation",method:o.GET,url:`/agents/conversations/${e}/`,blockers:["conversation"],blocks:["conversation"]}).then(i=>{this.dispatch(Pn(i))})}async rate(e,i){return this.enqueueRequest({description:"Rate agent response",method:o.PUT,url:`/agents/responses/${e}/rate/`,payload:{rating:i},blockers:["rate"],blocks:["rate"]})}async list(e,i){return this.performRequest({method:o.GET,url:"/agents/conversations/",...e},i)}async refreshStore(e,i){const a=await this.list({queryParams:{project:e}},i);return this.dispatch(On(a)),a}}function m(t,e,i){const a=`${e}${i?"s":""}`;switch(t){case o.GET:return`Get ${a}`;case o.POST:return`Create ${a}`;case o.PATCH:return`Update ${a}`;case o.PUT:return`Update ${a}`;case o.DELETE:return`Delete ${a}`}}function M(t){const e={...t};for(const i of[...Tn,"created_by"])i in e&&delete e[i];return e}class g extends yt{async get(e,i){return this.performRequest({url:`${this.url}/${e}/`,method:o.GET},i)}async list(e,i){return this.performRequest({url:`${this.url}/`,method:o.GET,...e},i)}async listPaginated(e,i){return this.performPagination({url:`${this.url}/`,method:o.GET,...e},i)}}class v extends g{async getPresignedUrl(e,i){const{selectById:a}=this.selectors,n=this.select(a(e));if(!n)throw new Error(`Could not find ${this.name}: ${e} in store.`);if(n.object_url)return n.object_url;const c=await this.client.files.getPresignedUrlFromCache(n.file_sha1);if(c)return c;const d=await this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:o.GET},i);return await this.client.files.cachePresignedUrl(n.file_sha1,d),d}async add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions;let c,d=null,r=null;if("file"in e){const{file:S,...P}=e;d=await this.client.files.getFilePayload(S),r=URL.createObjectURL(S),c={...P,file_sha1:d.sha1,file_type:d.file_type,file_name:S.name,file_extension:d.extension,object_url:r}}else c=e;const p=this.buildModel(c),h=this.buildPayload(p);this.dispatch(i(p));const f=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...h,...d?{file:d}:{}},blockers:this.getBlockers(p),blocks:this.getBlocks(p)});f.then(({instance:S})=>{this.dispatch(a(S))}).catch(()=>{this.dispatch(n(this.getId(p)))}).finally(()=>{r&&URL.revokeObjectURL(r)});const A=f.then(({instance:S})=>S),I=f.then(async({instance:S,presigned_url:P})=>{try{return P&&await this.client.files.processPresignedUrl(S.file_sha1,P),S.file_sha1}catch(_){throw console.error("Upload to s3 using presigned url failed.",_),_}});return[p,A,I]}async bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=[],p=new Set,h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const P of h){const _=[],F={},w=[],V=[];for(const ct of P){let Bt;if("file"in ct){const{file:zt,...tw}=ct,Ft=await this.client.files.getFilePayload(zt);Ft.sha1 in F||(F[Ft.sha1]=Ft);const s_=URL.createObjectURL(zt);p.add(s_),Bt={...tw,file_sha1:Ft.sha1,file_type:Ft.file_type,file_name:zt.name,file_extension:Ft.extension,object_url:s_}}else Bt=ct;const j=this.buildModel(Bt);r.push(j);const rs=this.buildBulkPayload(j);_.push(rs);const B=this.getBlockers(j);w.push(...B);const q=this.getBlocks(j);V.push(...q)}const R={payloads:_,submittedAt:d,files:Object.values(F),blockers:w,blocks:V};f.push(R)}this.dispatch(a(r));const A=f.map(P=>{const{submittedAt:_,files:F,payloads:w,blocks:V,blockers:R}=P;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,files:F,payloads:w},blockers:R,blocks:V})});Promise.all(A).then(P=>{const _=P.flatMap(F=>F.instances);this.dispatch(n(_))}).catch(P=>{throw this.dispatch(c(r.map(_=>this.getId(_)))),console.error(P),P}).finally(()=>{for(const P of p)URL.revokeObjectURL(P)});const I=Promise.all(A).then(P=>P.flatMap(({instances:_})=>_)),S=Promise.all(A).then(async P=>{const _=[];for(const{presigned_urls:F}of P){const w=this.client.files.processPresignedUrls(F);for(const[V,R]of Object.entries(w))try{await R,_.push(V)}catch(ct){throw console.error("Upload to s3 using presigned url failed.",ct),ct}}return _});return[r,I,S]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Attempting to delete ${this.name} with pk ${e} that does not exist in the store`);this.dispatch(a(this.getId(c)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}}class gg extends v{name="Asset attachment";url="/asset-attachments";actions={addOne:Rn,addMany:os,setOne:wn,setMany:En,updateOne:vn,updateMany:Vn,deleteOne:Bn,deleteMany:hs,initialize:gn};selectors={selectById:jn,selectByIds:Cn};getId(e){return e.uuid}getBlockers(e){const{asset:i}=e;return[i]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Rg extends v{name="Asset Comment Attachment";url="/asset-comment-attachments";actions={addOne:kn,addMany:Ln,setOne:Hn,setMany:Gn,updateOne:Nn,updateMany:Kn,deleteOne:Wn,deleteMany:Xn,initialize:Un};selectors={selectById:Zn,selectByIds:Jn};getId(e){return e.uuid}getBlockers(e){return[e.asset_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_comment:e.asset_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_comment:e.asset_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset_comment__asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class wg extends g{name="Asset Comment";url="/asset-comments";actions={addOne:tc,addMany:jt,setOne:sc,setMany:ic,updateOne:ac,updateMany:nc,deleteOne:cc,deleteMany:Ct,initialize:ec};selectors={selectById:dc,selectByIds:uc};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.asset],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Asset comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Asset comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Eg extends g{url="/assets";name="Asset";actions={addOne:mc,addMany:As,setOne:Tc,setMany:Ic,updateOne:fc,updateMany:Sc,deleteOne:Ac,deleteMany:Ts,initialize:yc};selectors={selectById:Pc,selectByIds:Fc};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No asset with uuid ${e} found in the store`);const d=this.select(Dn(e)),r=this.select(lc(e)),p=this.select(jh(e)),h=this.select(aT(e)),f=this.select(nh(e));this.dispatch(a(e)),this.dispatch(hs(l.toUuidArray(d))),this.dispatch(Ct(l.toUuidArray(r))),this.dispatch(At(l.toUuidArray(p))),this.dispatch(Ot(l.toUuidArray(h))),this.dispatch(lt(l.toUuidArray(f)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(i(c)),this.dispatch(os(d)),this.dispatch(jt(r)),this.dispatch(St(p)),this.dispatch(It(h)),this.dispatch(ut(f)),A}}bulkAdd(e,i){const{addMany:a}=this.actions,n=new Date().toISOString(),c=l.chunkArray(e,Math.min(i??e.length,D)).map(p=>{const h=p.map(f=>l.uuidObj(f));return{batchId:dt.v4(),payload:{submitted_at:n,assets:h}}}),d=[];let r=null;for(const p of c){const{batchId:h,payload:f}=p,A=f.assets.map(({uuid:F})=>F),I=f.assets.map(({asset_type:F})=>F),S=f.assets.map(({project:F})=>F),P=f.assets.map(({status:F})=>F),_=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(r?[r]:[]).concat(I).concat(S).concat(P),blocks:[h].concat(A)});r=p.batchId,d.push(_)}return Promise.all(d).then(p=>{const h=p.flat();this.dispatch(a(h))}),d}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} assets that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=dt.v4(),_=l.toUuidArray(S),F=S.map(({status:V})=>V).filter(Boolean),w=this.enqueueRequest({description:m(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F),blocks:[P].concat(_)});A.push(w),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(oc(e)),r=this.select(Ch(e)),p=this.select(nT(e)),h=this.select(ch(e));this.dispatch(a(e)),this.dispatch(Ct(l.toUuidArray(d))),this.dispatch(At(l.toUuidArray(r))),this.dispatch(Ot(l.toUuidArray(p))),this.dispatch(lt(l.toUuidArray(h)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(f){throw this.dispatch(i(c)),this.dispatch(jt(d)),this.dispatch(St(r)),this.dispatch(It(p)),this.dispatch(ut(h)),f}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class vg extends v{name="Asset Type Attachment";url="/asset-type-attachments";actions={addOne:Rc,addMany:Os,setOne:wc,setMany:Ec,updateOne:vc,updateMany:Vc,deleteOne:Bc,deleteMany:bs,initialize:gc};selectors={selectById:jc,selectByIds:Cc};getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Vg extends v{name="Asset Type Fields Attachment";url="/asset-type-fields-attachments";actions={addOne:kc,addMany:Lc,setOne:Hc,setMany:Gc,updateOne:Nc,updateMany:Kc,deleteOne:Wc,deleteMany:Xc,initialize:Uc};selectors={selectById:Zc,selectByIds:Jc};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Bg extends g{name="Asset Type Fields";url="/asset-type-fields";actions={addOne:tr,addMany:sr,setOne:ir,setMany:ar,updateOne:nr,updateMany:cr,deleteOne:rr,deleteMany:dr,initialize:er};selectors={selectById:lr,selectByIds:or};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class zg extends v{name="Asset Type Field Values Attachment";url="/asset-type-field-values-attachments";actions={addOne:mr,addMany:Rs,setOne:fr,setMany:Sr,updateOne:Ar,updateMany:Tr,deleteOne:Ir,deleteMany:ws,initialize:yr};selectors={selectById:br,selectByIds:Pr};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class jg extends g{name="Asset Type Field Values";url="/asset-type-field-values";actions={addOne:Rr,addMany:wr,setOne:Er,setMany:vr,updateOne:Vr,updateMany:Br,deleteOne:zr,deleteMany:jr,initialize:gr};selectors={selectById:Dr,selectByIds:qr};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{payloads:a,values:n}=e,{addMany:c,updateMany:d,deleteMany:r}=this.actions,p=new Date().toISOString(),h=[],f=l.chunkArray(a,Math.min(i??a.length,D)),A=[];for(const S of f){const P=[];for(const _ of S){const F=l.uuidObj({..._,values:_.values,created_by:this.select(w=>w.userReducer.currentUser?.id??null),submitted_at:p});h.push(F),P.push({uuid:F.uuid,asset:_.asset,fields_revision:_.fields_revision,published_at:_.published_at,values:F.values})}A.push({submitted_at:p,values:n,field_values:P})}this.dispatch(c(h));const I=[];for(const S of A){const{field_values:P}=S,_=P.map(({asset:R})=>R),F=P.map(({fields_revision:R})=>R),w=P.map(({uuid:R})=>R),V=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_.concat(F),blocks:w});I.push(V)}return Promise.all(I).then(S=>{this.dispatch(d(S.flat()))}).catch(()=>{this.dispatch(r(l.toUuidArray(h)))}),[h,I]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.asset],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(Fr(e));this.dispatch(i(e)),this.dispatch(ws(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(Rs(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class Cg extends g{name="Asset Type Identifier";url="/asset-type-identifiers";actions={addOne:Lr,addMany:Hr,setOne:Gr,setMany:Nr,updateOne:Kr,updateMany:Wr,deleteOne:Xr,deleteMany:Yr,initialize:kr};selectors={selectById:Jr,selectByIds:Qr};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Dg extends g{name="Asset Type Identifier Value";url="/asset-type-identifier-values";actions={addOne:sd,addMany:id,setOne:ad,setMany:nd,updateOne:cd,updateMany:rd,deleteOne:dd,deleteMany:ud,initialize:td};selectors={selectById:od,selectByIds:hd};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.asset_type_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(S=>S.userReducer.currentUser?.id??null),p=l.chunkArray(e,Math.min(i??e.length,D)),h=[],f=[];for(const S of p){const P=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:d,created_by:r});f.push(R);const ct={uuid:R.uuid,asset:R.asset,asset_type_identifier:R.asset_type_identifier,value:R.value};P.push(ct),_.push(R.asset),_.push(R.asset_type_identifier),F.push(R.uuid)}const w={payloads:P,submitted_at:d,blockers:_,blocks:F};h.push(w)}this.dispatch(a(f));const A=h.map(S=>{const{payloads:P,submitted_at:_,blockers:F,blocks:w}=S;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,payloads:P},blockers:F,blocks:w})});Promise.all(A).then(S=>{this.dispatch(n(S.flat()))}).catch(S=>{throw this.dispatch(c(l.toUuidArray(f))),S});const I=Promise.all(A).then(S=>S.flat());return[f,I]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class qg extends g{name="Asset Type";url="/asset-types";actions={addOne:Ad,addMany:Td,setOne:fd,setMany:Sd,updateOne:Id,updateMany:Od,deleteOne:bd,deleteMany:Pd,initialize:md};selectors={selectById:_d,selectByIds:Md};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type with uuid ${e} to exist`);const d=this.select(bc(e)),r=this.select(Dc(e));this.dispatch(i(e)),this.dispatch(Ts(l.toUuidArray(d))),this.dispatch(bs(l.toUuidArray(r)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(As(d)),this.dispatch(Os(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class $g extends g{name="Asset Type Status";url="/asset-type-statuses";actions={addOne:Ed,addMany:vd,setOne:Vd,setMany:Bd,updateOne:zd,updateMany:jd,deleteOne:Cd,deleteMany:Dd,initialize:wd};selectors={selectById:$d,selectByIds:Ud};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Ug extends v{name="Document Attachment";url="/document-attachments";actions={addOne:Wd,addMany:Xd,setOne:Yd,setMany:Zd,updateOne:Jd,updateMany:Qd,deleteOne:xd,deleteMany:eu,initialize:Kd};selectors={selectById:su,selectByIds:iu};getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}async bulkAdd(e,i){const[a,n,c]=await super.bulkAdd(e,i),d={};for(const{file_sha1:r,uuid:p}of a)r in d||(d[r]=[]),d[r].push(p);return c.then(r=>{const p=r.flatMap(h=>d[h]??[]);for(const h of p)this.makeReadable(h)}),[a,n,c]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:o.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,i){const{initialize:a}=this.actions,n=this.list({queryParams:{document__project__organization:e}},i),c=this.list({queryParams:{document__organization:e}},i),r=(await Promise.all([n,c])).flat();return this.dispatch(a(r)),r}}class kg extends g{name="Document";url="/documents";actions={addOne:ru,addMany:du,setOne:uu,setMany:lu,updateOne:ou,updateMany:hu,deleteOne:pu,deleteMany:yu,initialize:cu};selectors={selectById:fu,selectByIds:Su};add(e){const{addOne:i,deleteOne:a,updateOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:r.parent_document?[r.parent_document]:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(n(h))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a,addMany:n,deleteMany:c}=this.actions,{selectById:d}=this.selectors,r=this.select(d(e));if(!r)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=this.select(Au(e));this.dispatch(i(e)),this.dispatch(c(l.toUuidArray(p)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(r)),this.dispatch(n(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,n=this.list({queryParams:{project__organization:e}},i),c=this.list({queryParams:{organization:e}},i),r=(await Promise.all([n,c])).flat();return this.dispatch(a(r)),r}}class rt extends yt{async get(e,i){return this.performRequest({url:`${this.url}/${e}/`,method:o.GET},i)}async list(e,i){return this.performRequest({url:`${this.url}/`,method:o.GET,...e},i)}async listPaginated(e,i){return this.performPagination({url:`${this.url}/`,method:o.GET,...e},i)}}class Lg extends rt{name="Email Domains";url="/organization-email-domains";actions={addOne:Ou,addMany:bu,setOne:Pu,setMany:Fu,updateOne:_u,updateMany:Mu,deleteOne:gu,deleteMany:Ru,initialize:Iu};selectors={selectById:Eu,selectByIds:vu};async add(e,i){return this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{email:i,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:i,addOne:a}=this.actions;this.dispatch(i(e.uuid));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(n){throw this.dispatch(a(e)),n}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class Hg extends yt{async getVerificationCode(e){return this.enqueueRequest({description:"Get verification code",method:o.GET,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(e,i){return this.enqueueRequest({description:"Validate verification code",method:o.POST,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,payload:i,blockers:[],blocks:[]})}}const Vt={},pn=new Set,yn=new Set;class Gg extends yt{host=void 0;dbPromise=n_.openDB("fileCache",2,{upgrade(e,i){i<1&&e.createObjectStore("files"),i<2&&e.createObjectStore("presignedUrls")}});async getDB(){return await this.dbPromise}async cacheFile(e){if(!e.name)throw new Error(`Cant add a file without a name to cache: ${e.name}`);if(!e.type)throw new Error(`Cant add a file without a type to cache: ${e.name}`);if(!e.size)throw new Error(`Cant add an empty file to cache: ${e.name}`);const i=await cs(e);if(pn.has(i))return;const a=await this.getDB();!!await a.get("files",i)?console.warn(`Attempting to add a file already cached, ${e.name}`):await a.put("files",e,i),pn.add(i)}async uncacheFile(e){await(await this.getDB()).delete("files",e),pn.delete(e)}async getFileFromCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,i,a=i,n){const c=e.split("?")[0]??e,d=await this.getFileFromCache(i);if(d)return d;let r;c in Vt?r=Vt[c]:kF(e)?(r=UF(e,a),Vt[c]=r):(r=this.performRequest({method:o.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1},n).then(f=>new File([f],a,{type:f.type})),Vt[c]=r);let p;try{p=await r}catch(f){throw f instanceof z&&delete Vt[c],f}const h=await cs(p);if(h!==i){const f=`The hash of the file returned from the server (${h}) does not match the
|
|
8
8
|
expected hash (${i}). This can happen if you're using a local development server and the
|
|
9
9
|
isExternalUrl flag in the request details is set to true, because instead of requesting the local
|
|
10
10
|
REST API, you will be requesting localhost:80 (where this app runs), resulting in a transformed blob
|
|
11
11
|
(with an uuid attached) being returned. Alternatively, you may be running with
|
|
12
12
|
import.meta.env.PROD, which will result in some file requests being treated as
|
|
13
|
-
external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}return await this.cacheFile(p),p}processPresignedUrl(e,i){if("warning"in i){if(i.warning==="already_uploaded")return Promise.resolve(void 0);throw console.error(i.warning),new Error(i.warning)}return this.enqueueRequest({url:i.url,description:"Upload file to S3",method:o.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${i.fields.key}`,"s3-presigned-upload"],blocks:[e,"s3-presigned-upload"],s3url:i})}processPresignedUrls(e){const i={};for(const[a,n]of Object.entries(e))i[a]=this.processPresignedUrl(a,n);return i}async getFilePayload(e){const a={sha1:await ns(e),file_type:e.type,extension:OF(e),size:e.size};return await this.client.files.cacheFile(e),a}async cachePresignedUrl(e,i){if(on.has(e))return;const a=await this.getDB();!!await a.get("presignedUrls",e)?console.warn(`Attempting to add a presigned url already cached, ${i}`):await a.put("presignedUrls",i,e),on.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),on.delete(e)}async getPresignedUrlFromCache(e){const i=await(await this.getDB()).get("presignedUrls",e);if(!i)return;if(RF(i)){await this.uncachePresignedUrl(e);return}return i}}class Mg extends g{name="Form Identifier";url="/form-identifiers";actions={addOne:Au,addMany:Tu,setOne:Iu,setMany:Ou,updateOne:Pu,updateMany:bu,deleteOne:Fu,deleteMany:_u,initialize:Su};selectors={selectById:gu,selectByIds:Ru};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class gg extends g{name="Form Identifier Value";url="/form-identifier-values";actions={addOne:Vu,addMany:Bu,setOne:zu,setMany:ju,updateOne:Du,updateMany:Cu,deleteOne:qu,deleteMany:$u,initialize:vu};selectors={selectById:ku,selectByIds:Lu};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form_submission,e.form_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class Rg extends v{name="Form Revision Attachment";url="/form-revision-attachments";actions={addOne:Ku,addMany:Wu,setOne:Xu,setMany:Yu,updateOne:Zu,updateMany:Ju,deleteOne:Qu,deleteMany:xu,initialize:Nu};selectors={selectById:tl,selectByIds:sl};getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form_revision__form__organization:e}},i);return this.dispatch(a(n)),n}}class wg extends g{name="Form Revision";url="/form-revisions";actions={addOne:cl,addMany:Ws,setOne:rl,setMany:dl,updateOne:ul,updateMany:ll,deleteOne:ol,deleteMany:Xs,initialize:nl};selectors={selectById:pl,selectByIds:yl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class Eg extends g{name="Form";url="/forms";actions={addOne:Vl,addMany:Bl,setOne:zl,setMany:jl,updateOne:Dl,updateMany:Cl,deleteOne:ql,deleteMany:$l,initialize:vl};selectors={selectById:Ll,selectByIds:Hl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error("Expected form to exist");const d=this.select($o(e)),r=this.select(ml(e)),p=this.select(Rl(e));this.dispatch(i(e)),this.dispatch(ut(l.toUuidArray(d))),this.dispatch(Xs(l.toUuidArray(r))),this.dispatch(Js(l.toUuidArray(p)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(Ws(r)),this.dispatch(dt(d)),this.dispatch(Zs(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class vg extends g{name="Form Subscriber";url="/form-subscribers";actions={addOne:Tl,addMany:Zs,setOne:Il,setMany:Ol,updateOne:Pl,updateMany:bl,deleteOne:Fl,deleteMany:Js,initialize:Al};selectors={selectById:Ml,selectByIds:gl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,created_by:d,submitted_at:c});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form subscriber with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class Vg extends v{name="Form Submission Field Values Attachment";url="/form-submission-field-values-attachments";actions={addOne:Kl,addMany:ti,setOne:Wl,setMany:Xl,updateOne:Yl,updateMany:Zl,deleteOne:Jl,deleteMany:si,initialize:Nl};selectors={selectById:Ql,selectByIds:ni};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,n=this.select(ni(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(a(n)),c}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,field_values__form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,field_values__form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class Bg extends g{name="Form Submission Field Values";url="/form-submission-field-values";actions={addOne:io,addMany:ri,setOne:ao,setMany:no,updateOne:co,updateMany:ro,deleteOne:uo,deleteMany:di,initialize:so};selectors={selectById:oo,selectByIds:ho};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form_submission],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class zg extends g{name="Form Submission Comment";url="/form-submission-comments";actions={addOne:So,addMany:oi,setOne:Ao,setMany:To,updateOne:Io,updateMany:Oo,deleteOne:Po,deleteMany:hi,initialize:fo};selectors={selectById:Fo,selectByIds:_o};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.form_submission],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Form submission comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Form submission comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{form_submission__organization:e}},i),this.listPaginated({queryParams:{form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class jg extends g{name="Form Submission";url="/form-submissions";actions={addOne:Vo,addMany:dt,setOne:Eo,setMany:vo,updateOne:Bo,updateMany:zo,deleteOne:jo,deleteMany:ut,initialize:wo};selectors={selectById:Co,selectByIds:qo};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(po(e)),r=d.flatMap(({uuid:h})=>this.select(xl(h))),p=this.select(Mo(e));this.dispatch(i(e)),this.dispatch(di(l.toUuidArray(d))),this.dispatch(si(l.toUuidArray(r))),this.dispatch(hi(l.toUuidArray(p)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(ri(d)),this.dispatch(ti(r)),this.dispatch(oi(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{organization:e}},i),this.listPaginated({queryParams:{project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class Dg extends v{name="Geo Image";url="/geo-images";actions={addOne:Yo,addMany:Zo,setOne:Wo,setMany:Xo,updateOne:Jo,updateMany:Qo,deleteOne:xo,deleteMany:eh,initialize:Ko};selectors={selectById:sh,selectByIds:ih};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project:e}},i);return this.dispatch(a(n)),n}}class Cg extends g{name="Issue Association";url="/issue-associations";actions={addOne:oh,addMany:ft,setOne:dh,setMany:rh,updateOne:uh,updateMany:lh,deleteOne:hh,deleteMany:St,initialize:ch};selectors={selectById:yh,selectByIds:mh};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.asset],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e){const{addMany:i,deleteMany:a,updateMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,submitted_at:d,created_by:c}));this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{payloads:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.issue,h.asset]),blocks:l.toUuidArray(r)});return p.then(h=>{this.dispatch(n(h))}).catch(()=>{this.dispatch(a(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class qg extends v{name="Issue Attachment";url="/issue-attachments";actions={addOne:bh,addMany:Ai,setOne:Fh,setMany:_h,updateOne:Mh,updateMany:gh,deleteOne:Rh,deleteMany:Ti,initialize:Ph};selectors={selectById:vh,selectByIds:Vh};getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class $g extends v{name="Issue Comment Attachment";url="/issue-comment-attachments";actions={addOne:Dh,addMany:Ch,setOne:qh,setMany:$h,updateOne:Uh,updateMany:kh,deleteOne:Lh,deleteMany:Hh,initialize:jh};selectors={selectById:Nh,selectByIds:Kh};getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Ug extends g{name="Issue Comment";url="/issue-comments";actions={addOne:Zh,addMany:Jh,setOne:Qh,setMany:xh,updateOne:ep,updateMany:tp,deleteOne:sp,deleteMany:ip,initialize:Yh};selectors={selectById:ap,selectByIds:np};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.issue],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class kg extends g{name="Issue";url="/issues";actions={addOne:up,addMany:Mi,setOne:lp,setMany:op,updateOne:hp,updateMany:pp,deleteOne:yp,deleteMany:gi,initialize:dp};selectors={selectById:fp,selectByIds:Sp};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.project,r.issue_type,r.status,r.priority],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const c={...n,...e};this.dispatch(i(c));const d={};for(const h of[l.IssueUpdateChange.TITLE,l.IssueUpdateChange.DESCRIPTION,l.IssueUpdateChange.STATUS,l.IssueUpdateChange.PRIORITY,l.IssueUpdateChange.ASSIGNED_TO,l.IssueUpdateChange.DUE_DATE])if(h in e&&e[h]!==n[h])switch(h){case l.IssueUpdateChange.PRIORITY:{const f=e[h],A=this.select(Hi(f));if(!A)throw new Error(`Trying to update issue type priority with ${f} which does not exist in store`);d[h]={name:A.name,color:A.color,uuid:A.uuid};break}case l.IssueUpdateChange.DUE_DATE:d[h]=e.due_date;break;case l.IssueUpdateChange.DESCRIPTION:d[h]=e.description??"";break;case l.IssueUpdateChange.TITLE:d[h]=e.title??"";break;case l.IssueUpdateChange.STATUS:{const f=e[h],A=this.select(Xi(f));if(!A)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);d[h]={name:A.name,color:A.color,uuid:A.uuid};break}case l.IssueUpdateChange.ASSIGNED_TO:{const f=e[h];if(f===null)d[h]=null;else{const A=this.select(Jt(f));if(!A)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);d[h]={full_name:A.username,id:A.id}}break}}const r=l.uuidObj({created_by:this.select(h=>h.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString(),issue:n.uuid,changes:d});this.dispatch(Zi(r));const p=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return p.then(h=>{this.dispatch(i(h))}).catch(()=>{this.dispatch(i(n)),this.dispatch(Qi(r.uuid))}),[c,p]}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} issues that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,C)),A=[];let I=null;for(const S of f){const P=rt.v4(),_=l.toUuidArray(S),F=S.map(({status:R})=>R).filter(Boolean),w=S.map(({priority:R})=>R).filter(Boolean),V=this.enqueueRequest({description:m(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F).concat(w),blocks:[P].concat(_)});A.push(V),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const d=this.select(Sh(e)),r=this.select(Eh(e)),p=this.select(af(e)),h=this.select(Uo(e));this.dispatch(i(e)),this.dispatch(Ti(l.toUuidArray(r))),this.dispatch(xi(l.toUuidArray(p))),this.dispatch(St(l.toUuidArray(d))),this.dispatch(ut(l.toUuidArray(h)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(a(c)),this.dispatch(Ai(r)),this.dispatch(Ji(p)),this.dispatch(ft(d)),this.dispatch(dt(h)),f}}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(fh(e)),r=this.select(ko(e));this.dispatch(a(e)),this.dispatch(St(l.toUuidArray(d))),this.dispatch(ut(l.toUuidArray(r)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(i(c)),this.dispatch(ft(d)),this.dispatch(dt(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class Lg extends v{name="Issue Type Attachment";url="/issue-type-attachments";actions={addOne:Pp,addMany:bp,setOne:Fp,setMany:_p,updateOne:Mp,updateMany:gp,deleteOne:Rp,deleteMany:wp,initialize:Op};selectors={selectById:vp,selectByIds:Vp};getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class Hg extends v{name="Issue Type Fields Attachment";url="/issue-type-fields-attachments";actions={addOne:Dp,addMany:Cp,setOne:qp,setMany:$p,updateOne:Up,updateMany:kp,deleteOne:Lp,deleteMany:Hp,initialize:jp};selectors={selectById:Np,selectByIds:Kp};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class Gg extends g{name="Issue Type Fields";url="/issue-type-fields";actions={addOne:ly,addMany:oy,setOne:hy,setMany:py,updateOne:yy,updateMany:my,deleteOne:fy,deleteMany:Sy,initialize:uy};selectors={selectById:Ty,selectByIds:Iy};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class Ng extends v{name="Issue Type Field Values Attachment";url="/issue-type-field-values-attachments";actions={addOne:Fy,addMany:ji,setOne:_y,setMany:My,updateOne:gy,updateMany:Ry,deleteOne:wy,deleteMany:Di,initialize:by};selectors={selectById:vy,selectByIds:Vy};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class Kg extends g{name="Issue Type Field Values";url="/issue-type-field-values";actions={addOne:Zp,addMany:Jp,setOne:Qp,setMany:xp,updateOne:ey,updateMany:ty,deleteOne:sy,deleteMany:iy,initialize:Yp};selectors={selectById:ny,selectByIds:cy};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.issue],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(By(e));this.dispatch(i(e)),this.dispatch(Di(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(ji(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class Wg extends g{name="Issue Type Identifier";url="/issue-type-identifiers";actions={addOne:Cy,addMany:qy,setOne:$y,setMany:Uy,updateOne:ky,updateMany:Ly,deleteOne:Hy,deleteMany:Gy,initialize:Dy};selectors={selectById:Ky,selectByIds:Wy};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class Xg extends g{name="Issue Type Identifier Value";url="/issue-type-identifier-values";actions={addOne:Jy,addMany:Qy,setOne:xy,setMany:em,updateOne:tm,updateMany:sm,deleteOne:im,deleteMany:am,initialize:Zy};selectors={selectById:cm,selectByIds:rm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.issue_type_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class Yg extends g{name="Issue Type Priority";url="/issue-type-priorities";actions={addOne:om,addMany:hm,setOne:pm,setMany:ym,updateOne:mm,updateMany:fm,deleteOne:Sm,deleteMany:Am,initialize:lm};selectors={selectById:Hi,selectByIds:Im};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing issue type priority with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue type priority with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class Zg extends g{name="Issue Type";url="/issue-types";actions={addOne:Fm,addMany:_m,setOne:Mm,setMany:gm,updateOne:Rm,updateMany:wm,deleteOne:Em,deleteMany:vm,initialize:bm};selectors={selectById:Bm,selectByIds:zm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,submitted_at:d,created_by:c});this.dispatch(i(r));const p=this.enqueueRequest({method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const d=this.select(Ap(e));this.dispatch(a(e)),this.dispatch(gi(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(i(c)),this.dispatch(Mi(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class Jg extends g{name="Issue Type Status";url="/issue-type-statuses";actions={addOne:qm,addMany:$m,setOne:Um,setMany:km,updateOne:Lm,updateMany:Hm,deleteOne:Gm,deleteMany:Nm,initialize:Cm};selectors={selectById:Xi,selectByIds:Wm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class Qg extends g{name="Issue Update";url="/issue-updates";actions={addOne:Zi,addMany:Ji,setOne:Jm,setMany:Qm,updateOne:xm,updateMany:ef,deleteOne:Qi,deleteMany:xi,initialize:Zm};selectors={selectById:tf,selectByIds:sf};async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}const xg=1800;function eR(t){if(!t.access)throw new Error("Missing access token");if(!t.refresh)throw new Error("Missing refresh token");return{accessToken:t.access,refreshToken:t.refresh}}class tR extends wF{_getRenewedTokens=async e=>{const i=this.performRequest({method:o.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await i}catch(n){console.error("Could not renew tokens; clearing auth",n),this.clearAuth();return}if(!a.access)throw new Error("Missing access token");return{accessToken:a.access,refreshToken:a.refresh??this.getRefreshToken()}};clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(Md(!1)),this.clearTokens(),this.dispatch(T()),this.dispatch(T())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const i=await this._getRenewedTokens(e);if(!i)return;console.debug("Got renewed tokens"),this.setTokens(i)}catch(i){throw console.error("Could not renew tokens; clearing auth",i),this.clearAuth(),i}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const i=Date.now()/1e3;let a;try{a=HF(e).exp??i}catch{a=i}return a-i<xg}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(e){return e instanceof z&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??l.ERROR_MSG_UNEXPECTED).toString()))}}}async handleUnauthorized(e,i){if(e.url.endsWith("/token/refresh/"))throw this.select(a=>a.authReducer.isLoggedIn)&&console.warn("No signed-in user to sign out."),this.clearAuth(),new z({message:"You have been signed out due to inactivity.",response:i,discard:!0});if(this.select(a=>a.authReducer.isLoggedIn))await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new z({message:"Incorrect username or password.",response:i,discard:!0})}async initAuth(e){const i=rt.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:i,method:o.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(eR(a))})}}class sR extends ct{name="Organization Access";url="/organization-accesses";actions={addOne:Tf,addMany:If,setOne:Of,setMany:Pf,updateOne:bf,updateMany:Ff,deleteOne:_f,deleteMany:Mf,initialize:Af};selectors={selectById:Rf,selectByIds:wf};update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid)),c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(r=>{throw this.dispatch(i(n)),r}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e)),d=this.select(Jt(c.user));this.dispatch(i(c.uuid)),this.dispatch(aa(c.user));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${c.uuid}/`,blockers:[c.uuid],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(ia(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class iR extends ct{name="Organization";url="/organizations";actions={addOne:Df,addMany:jf,setOne:zf,setMany:Bf,updateOne:qf,updateMany:Cf,deleteOne:$f,deleteMany:Uf,initialize:Vf};selectors={selectById:Hf,selectByIds:Gf};async add(e){const{addOne:i}=this.actions,a=await this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(i(a)),a}async update(e){const{updateOne:i}=this.actions,a=await this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(i(a)),a}async invite(e,i){return this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/${e}/invite/${i}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:i}=this.actions,a=await this.list({},e);return this.dispatch(i(a)),a}}class aR extends g{name="Project Access";url="/project-accesses";actions={addOne:eS,addMany:tS,setOne:sS,setMany:iS,updateOne:aS,updateMany:nS,deleteOne:cS,deleteMany:rS,initialize:xf};selectors={selectById:uS,selectByIds:lS};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.organization_access,c.project],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(r=>{throw this.dispatch(n(c.uuid)),r}),[c,d]}bulkAdd(e){const{addMany:i,deleteMany:a,updateMany:n}=this.actions,c=this.select(p=>p.userReducer.currentUser?.id??null),d=e.map(p=>l.uuidObj({...p,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{project_accesses:d.map(p=>M(p))},blockers:d.flatMap(p=>[p.project,p.organization_access]),blocks:d.map(p=>p.uuid)});return r.then(p=>{this.dispatch(n(p))}).catch(p=>{throw this.dispatch(a(d.map(h=>h.uuid))),p}),[d,r]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid)),c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return d.then(r=>{this.dispatch(i(r))}).catch(r=>{throw this.dispatch(i(n)),r}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project__organization:e}},i);return this.dispatch(a(n)),n}}class nR extends v{name="Project Attachment";url="/project-attachments";actions={addOne:pS,addMany:yS,setOne:mS,setMany:fS,updateOne:SS,updateMany:AS,deleteOne:TS,deleteMany:IS,initialize:hS};selectors={selectById:PS,selectByIds:bS};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project__organization:e}},i);return this.dispatch(a(n)),n}}class cR extends g{name="Project Comment";url="/project-comments";actions={addOne:gS,addMany:RS,setOne:wS,setMany:ES,updateOne:vS,updateMany:VS,deleteOne:BS,deleteMany:zS,initialize:MS};selectors={selectById:DS,selectByIds:CS};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.project],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Project comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Project comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class rR extends v{name="Project File";url="/project-files";actions={addOne:HS,addMany:GS,setOne:kS,setMany:LS,updateOne:NS,updateMany:KS,deleteOne:WS,deleteMany:XS,initialize:US};selectors={selectById:JS,selectByIds:QS};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class dR extends ct{name="Project";url="/projects";actions={addOne:nA,addMany:aA,setOne:iA,setMany:sA,updateOne:rA,updateMany:cA,deleteOne:dA,deleteMany:uA,initialize:tA};selectors={selectById:hA,selectByIds:pA};async add(e){const{addOne:i}=this.actions,a=await this.performRequest({method:o.POST,url:`${this.url}/`,payload:M(e)});return this.dispatch(i(a)),a}async update(e){const{updateOne:i}=this.actions,a=await this.performRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e)});return this.dispatch(i(a)),a}async delete(e){const{deleteOne:i}=this.actions,a=await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(i(e)),a}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class uR extends ct{name="Report";url="/reports";actions={addOne:bb,addMany:Fb,setOne:_b,setMany:Mb,updateOne:gb,updateMany:Rb,deleteOne:wb,deleteMany:Eb,initialize:Pb};selectors={selectById:Bb,selectByIds:zb};async getPresignedUrl(e,i){return this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:o.GET},i)}async refreshStore(e,i){const n=(await this.listPaginated({queryParams:{organization:e}},i)).flat();return this.dispatch(this.actions.initialize(n)),n}}class lR extends g{name="Procedure";url="/procedures";actions={addOne:EA,addMany:Tt,setOne:vA,setMany:VA,updateOne:BA,updateMany:zA,deleteOne:jA,deleteMany:It,initialize:wA};selectors={selectById:qA,selectByIds:$A};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type,c.project,c.asset,...c.procedure_initiative?[c.procedure_initiative]:[]],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e,i){const{store:a}=this.client,{addMany:n,updateMany:c,deleteMany:d}=this.actions,r=new Date().toISOString(),p=a.getState().userReducer.currentUser?.id??null,h=[],f=l.chunkArray(e,Math.min(i??e.length,C)),A=[];for(const S of f){const P=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:r,created_by:p});h.push(R),P.push(M(R)),_.push(R.procedure_type,R.project,R.asset,...R.procedure_initiative?[R.procedure_initiative]:[]),F.push(R.uuid)}const w={payload:{submitted_at:r,payloads:P},blockers:_,blocks:F};A.push(w)}this.dispatch(n(h));const I=A.map(S=>{const{payload:P,blocks:_,blockers:F}=S;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:P,blockers:F,blocks:_})});return Promise.all(I).then(S=>{this.dispatch(c(S.flat()))}).catch(()=>{this.dispatch(d(l.toUuidArray(h)))}),[h,Promise.all(I).then(S=>S.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(a(l.toUuidArray(c)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class oR extends g{name="Procedure Step Assignee";url="/procedure-step-assignees";actions={addOne:KA,addMany:WA,setOne:XA,setMany:YA,updateOne:ZA,updateMany:JA,deleteOne:QA,deleteMany:xA,initialize:NA};selectors={selectById:tT,selectByIds:sT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,created_by:c,submitted_at:d}));this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_assignees:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.procedure,h.procedure_step]),blocks:l.toUuidArray(r)});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step assignee with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class hR extends g{name="Procedure Step Comment";url="/procedure-step-comments";actions={addOne:cT,addMany:rT,setOne:dT,setMany:uT,updateOne:lT,updateMany:oT,deleteOne:hT,deleteMany:pT,initialize:nT};selectors={selectById:mT,selectByIds:fT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Procedure step comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Procedure step comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class pR extends g{name="Procedure Step Default Assignee";url="/procedure-step-default-assignees";actions={addOne:IT,addMany:OT,setOne:PT,setMany:bT,updateOne:FT,updateMany:_T,deleteOne:MT,deleteMany:gT,initialize:TT};selectors={selectById:wT,selectByIds:ET};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step default assignee with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class yR extends g{name="Procedure Step Default Reviewer";url="/procedure-step-default-reviewers";actions={addOne:zT,addMany:jT,setOne:DT,setMany:CT,updateOne:qT,updateMany:$T,deleteOne:UT,deleteMany:kT,initialize:BT};selectors={selectById:HT,selectByIds:GT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step default reviewer with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class mR extends ct{name="Procedure Step Event";url="/procedure-step-events";actions={addOne:XT,addMany:YT,setOne:ZT,setMany:JT,updateOne:QT,updateMany:xT,deleteOne:eI,deleteMany:tI,initialize:WT};selectors={selectById:iI,selectByIds:aI};async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class fR extends v{name="Procedure Step Fields Attachment";url="/procedure-step-fields-attachments";actions={addOne:dI,addMany:Ma,setOne:uI,setMany:lI,updateOne:oI,updateMany:hI,deleteOne:pI,deleteMany:ga,initialize:rI};selectors={selectById:fI,selectByIds:SI};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){return l.uuidObj({...e,created_by:this.select(i=>i.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class SR extends g{name="Procedure Step Fields";url="/procedure-step-fields";actions={addOne:OI,addMany:PI,setOne:bI,setMany:FI,updateOne:_I,updateMany:MI,deleteOne:gI,deleteMany:RI,initialize:II};selectors={selectById:wI,selectByIds:EI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No procedure step fields with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const d=this.select(mI(e));this.dispatch(i(e)),this.dispatch(ga(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(Ma(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class AR extends v{name="Procedure Step Field Values Attachment";url="/procedure-step-field-values-attachments";actions={addOne:zI,addMany:Va,setOne:jI,setMany:DI,updateOne:CI,updateMany:qI,deleteOne:$I,deleteMany:Ba,initialize:BI};selectors={selectById:kI,selectByIds:LI};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class TR extends g{name="Procedure Step Field Values Review";url="/procedure-step-field-values-reviews";actions={addOne:rO,addMany:Ca,setOne:dO,setMany:uO,updateOne:lO,updateMany:oO,deleteOne:hO,deleteMany:qa,initialize:cO};selectors={selectById:yO,selectByIds:mO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.field_values],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Procedure step field values review with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Procedure step field values review with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class IR extends g{name="Procedure Step Field Values";url="/procedure-step-field-values";actions={addOne:WI,addMany:XI,setOne:YI,setMany:ZI,updateOne:JI,updateMany:QI,deleteOne:xI,deleteMany:eO,initialize:KI};selectors={selectById:iO,selectByIds:aO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,C)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const w=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(w),S.push(M(w)),P.push(w.procedure_step,w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.procedure,c.procedure_step,c.fields_revision],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e} to exist`);const d=this.select(HI(e)),r=this.select(fO(e));this.dispatch(i(e)),this.dispatch(Ba(l.toUuidArray(d))),this.dispatch(qa(l.toUuidArray(r)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(Va(d)),this.dispatch(Ca(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class OR extends g{name="Procedure Step Reviewer";url="/procedure-step-reviewers";actions={addOne:IO,addMany:OO,setOne:PO,setMany:bO,updateOne:FO,updateMany:_O,deleteOne:MO,deleteMany:gO,initialize:TO};selectors={selectById:wO,selectByIds:EO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,created_by:c,submitted_at:d}));this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_reviewers:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.procedure,h.procedure_step]),blocks:r.map(h=>h.uuid)});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step reviewer with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class PR extends g{name="Procedure Initiative";url="/procedure-initiatives";actions={addOne:fA,addMany:SA,setOne:AA,setMany:TA,updateOne:IA,updateMany:OA,deleteOne:PA,deleteMany:bA,initialize:mA};selectors={selectById:MA,selectByIds:gA};add(e){const{store:i}=this.client,{addOne:a,updateOne:n,deleteOne:c}=this.actions,d=l.uuidObj({...e,created_by:i.getState().userReducer.currentUser?.id??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const r=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.procedure_type,d.project],blocks:[d.uuid]});return r.then(p=>{this.dispatch(n(p))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,r]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ${this.name} with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected ${this.name} with uuid ${e} to exist`);const d=this.select(HA(e));this.dispatch(i(e)),this.dispatch(It(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(Tt(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class bR extends g{name="Procedure Step";url="/procedure-steps";actions={addOne:DO,addMany:CO,setOne:zO,setMany:jO,updateOne:qO,updateMany:$O,deleteOne:UO,deleteMany:kO,initialize:BO};selectors={selectById:HO,selectByIds:GO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No procedure step with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${n.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No procedure step with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} ${this.name} that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,C)),A=[];let I=null;for(const S of f){const P=rt.v4(),_=l.toUuidArray(S),F=this.enqueueRequest({description:m(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_),blocks:[P].concat(_)});A.push(F),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class FR extends v{name="Procedure Type Attachment";url="/procedure-type-attachments";actions={addOne:WO,addMany:XO,setOne:YO,setMany:ZO,updateOne:JO,updateMany:QO,deleteOne:xO,deleteMany:eP,initialize:KO};selectors={selectById:iP,selectByIds:aP};getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class _R extends v{name="Procedure Type Fields Attachment";url="/procedure-type-fields-attachments";actions={addOne:rP,addMany:dP,setOne:uP,setMany:lP,updateOne:oP,updateMany:hP,deleteOne:pP,deleteMany:yP,initialize:cP};selectors={selectById:SP,selectByIds:AP};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class MR extends g{name="Procedure Type Fields";url="/procedure-type-fields";actions={addOne:OP,addMany:PP,setOne:bP,setMany:FP,updateOne:_P,updateMany:MP,deleteOne:gP,deleteMany:RP,initialize:IP};selectors={selectById:vP,selectByIds:VP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.procedure_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class gR extends v{name="Procedure Field Values Attachment";url="/procedure-field-values-attachments";actions={addOne:jP,addMany:Ya,setOne:DP,setMany:CP,updateOne:qP,updateMany:$P,deleteOne:UP,deleteMany:Za,initialize:zP};selectors={selectById:HP,selectByIds:GP};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class RR extends g{name="Procedure Field Values";url="/procedure-field-values";actions={addOne:XP,addMany:YP,setOne:ZP,setMany:JP,updateOne:QP,updateMany:xP,deleteOne:eb,deleteMany:tb,initialize:WP};selectors={selectById:ab,selectByIds:nb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.fields_revision,e.procedure],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,C)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const w=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(w),S.push(M(w)),P.push(w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.fields_revision,c.procedure],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(NP(e));this.dispatch(i(e)),this.dispatch(Za(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(Ya(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class wR extends g{name="Procedure Type";url="/procedure-types";actions={addOne:db,addMany:ub,setOne:lb,setMany:ob,updateOne:hb,updateMany:pb,deleteOne:yb,deleteMany:mb,initialize:rb};selectors={selectById:Ab,selectByIds:Tb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected procedure type with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure type with uuid ${e} to exist`);const d=this.select(UA(e));this.dispatch(i(e)),this.dispatch(It(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(Tt(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class ER extends g{name="Team Membership";url="/team-memberships";actions={addOne:qb,addMany:$b,setOne:Ub,setMany:kb,updateOne:Lb,updateMany:Hb,deleteOne:Gb,deleteMany:Nb,initialize:Cb};selectors={selectById:Xb,selectByIds:Yb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.team],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(p=>p.userReducer.currentUser?.id??null),d=e.map(p=>l.uuidObj({...p,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{team_memberships:d.map(p=>M(p))},blockers:d.map(p=>p.team),blocks:d.map(p=>p.uuid)});return r.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(n(d.map(p=>p.uuid)))}),[d,r]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{team__organization:e}},i);return this.dispatch(a(n)),n}}class vR extends g{name="Team";url="/teams";actions={addOne:Qb,addMany:xb,setOne:eF,setMany:tF,updateOne:sF,updateMany:iF,deleteOne:aF,deleteMany:nF,initialize:Jb};selectors={selectById:rF,selectByIds:dF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,submitted_at:new Date().toISOString(),created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e),blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class VR extends ct{name="User";url="/user";actions={addOne:ia,addMany:lf,setOne:uf,setMany:df,updateOne:hf,updateMany:of,deleteOne:aa,deleteMany:pf,initialize:rf};selectors={selectById:Jt,selectByIds:ff};async list(e,i){const{organizationUuid:a,...n}=e,c=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:o.GET,url:c,...n},i)}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({organizationUuid:e},i);return this.dispatch(a(n)),n}}async function hn(t,e,i,a,n){const c=a instanceof pt;c&&e.checkAuth!==!1&&await a.auth.prepareAuth();const d={queryParams:"",isAuthNeeded:!0},{s3url:r,payload:p,headers:h,method:f,queryParams:A,attachmentHash:I,isExternalUrl:S,isAuthNeeded:P,isResponseBlob:_}={...d,...e};let F=e.url;const w=I?await i.files.getFileFromCache(I):void 0,V=w?await IF(w):void 0;if(I){if(!V)throw new Error(`Cannot upload file ${I} because it's not cached.`);if(V.size===0)throw new Error(`Cannot upload file ${I} because its has a size of 0.`)}!S&&!F.startsWith("http")&&(!F.startsWith("/")&&!F.startsWith("blob:")&&(F="/"+F),F=t+F);const R=B=>{if(I){if(!r)throw new Error(`No S3 URL for file ${I}`);if("warning"in r)throw new Error(`S3 URL warning for file ${I}`);if(!V)throw new Error(`No file for file ${I}`);const q=r.fields["x-amz-checksum-sha1"];if(!q)throw new Error(`No checksum for file ${I}`);return B.set("x-amz-checksum-sha1",q).field({...p,...r.fields}).attach("file",V)}return B.send(p)},Vt={[o.GET]:()=>_?mt.get(F.toString()).responseType("blob"):mt.get(F.toString()),[o.POST]:()=>{const B=mt.post(F.toString());return R(B)},[o.PATCH]:()=>{const B=mt.patch(F.toString());return R(B)},[o.PUT]:()=>{const B=mt.put(F.toString());return R(B)},[o.DELETE]:()=>{const B=mt.delete(F.toString());return R(B)}}[f];let j=Vt();const cs=()=>{console.debug("aborting request:",e.url),j.abort()};n?.addEventListener("abort",cs),P&&c&&(j=a.auth.applyAuth(j)),h&&(j=j.set(h));try{return await j.query(A)}catch(B){const q=TF(B),Bt=q?.status;throw c&&q&&a.auth.isAuthFailure(q)?(await a.auth.handleUnauthorized(j,q),new z({response:q,innerError:B,discard:!1})):new z({response:q,innerError:B,discard:un.includes(Bt)})}finally{n?.removeEventListener("abort",cs)}}class BR{store;constructor(e){this.store=e}_performRequest(e,i,a,n){const c=new l.DeferredPromise,d={...i,uuid:i.uuid??rt.v4()};return hn(e,d,this,a,n).then(r=>{c.resolve(r.body)}).catch(r=>{r instanceof Error?c.reject(r):c.reject(new Error((r??l.ERROR_MSG_UNEXPECTED).toString()))}),c}async performRequest(e,i,a,n){return this._performRequest(e,i,a,n).then(c=>{if(c instanceof z)throw c;return c})}async enqueueRequest(e,i,a){return this._enqueueRequest(e,i,a).then(n=>{if(n instanceof z)throw n;return n})}_enqueueRequest(e,i,a){const n=new l.DeferredPromise,c={...e,BASE_URL:i,serviceName:a},d=this.store.dispatch(Xf(c)),r=h=>{if(h)n.resolve(h.body);else{const f=new z({message:"Could not get a response from the server.",response:h,discard:!0});n.reject(f)}},p=h=>{h instanceof z?h.options.discard=!0:(console.error("Received an unexpected error while processing a request:",h,`
|
|
14
|
-
Converting error to APIError and discarding.`),h=new z({message:"An error occurred while processing the request.",innerError:h,discard:!0})),n.reject(h)};return d.then(r,p),n}async performPagination(e,i,a,n,c){const d={...i,queryParams:{...i.queryParams,paginate:!0,limit:a}},{method:r}=d,p=[];let h=await this.performRequest(e,d,n,c);for(p.push(h.results);h.next;)h=await this.performRequest(e,{url:h.next,method:r},n,c),p.push(h.results);return p}}class Ot{graph;requestAttemptCounter;constructor(){this.graph=new GF.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(e){const i=new Ot;for(let a=0;a<e.length;a++){const n=e[a];if(!n){console.error("Outbox item was undefined");continue}i.sneakRequest(n);for(let c=0;c<a;c++){const d=e[c];if(!d){console.error("Previous outbox item was undefined");continue}d.payload.uuid!==n.payload.uuid&&d.payload.blocks.some(r=>n.payload.blockers.includes(r))&&Ot._addDependency(n.payload.uuid,d.payload.uuid,i.graph)}}return i}_addDependency(e,i){Ot._addDependency(e,i,this.graph)}static _addDependency(e,i,a){if(e===i)throw new Error(`Tried to add dependency from node to itself: ${e}`);if(!a.hasNode(e))throw new Error(`Tried to add dependency from non-existent node: ${e} (to node: ${i})`);if(!a.hasNode(i))throw new Error(`Tried to add dependency to non-existent node: ${i} (from node: ${e})`);a.addDependency(e,i)}addRequest(e){if(this.graph.addNode(e.payload.uuid,e),!(e.payload.blockers.length===0||this.graph.size()===1))for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const a=this.graph.getNodeData(i),n=new Set(a.payload.blocks);e.payload.blockers.some(c=>n.has(c))&&this._addDependency(e.payload.uuid,i)}}insertRequest(e){this.graph.addNode(e.payload.uuid,e);for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const a=this.graph.getNodeData(i),n=new Set(e.payload.blocks);a.payload.blockers.some(c=>n.has(c))&&this._addDependency(i,e.payload.uuid)}}sneakRequest(e){this.graph.addNode(e.payload.uuid,e)}_getNextNode(){const e=this.graph.overallOrder(!0);let i=1/0,a;for(const n of e){const c=this.requestAttemptCounter[n]||0;c<i&&(i=c,a=n)}return a}peek(){const e=this._getNextNode();if(e)return this.graph.getNodeData(e)}remove(e){this.graph.removeNode(e),delete this.requestAttemptCounter[e]}pop(){const e=this.peek();return e&&this.graph.removeNode(e.payload.uuid),e}getQueue(){const e=this.graph.overallOrder().map(a=>this.graph.getNodeData(a)),i=this._getNextNode();if(i){const a=this.graph.getNodeData(i),n=e.findIndex(c=>c.payload.uuid===a.payload.uuid);n!==-1&&(e.splice(n,1),e.unshift(a))}return e}getReady(){let e=this.graph.overallOrder(!0).map(i=>this.graph.getNodeData(i));return e=e.sort((i,a)=>i.meta.offline.effect.timestamp.localeCompare(a.meta.offline.effect.timestamp)),e=e.sort((i,a)=>{const n=this.requestAttemptCounter[i.payload.uuid]||0,c=this.requestAttemptCounter[a.payload.uuid]||0;return n-c}),e}registerRetry(e){this.requestAttemptCounter[e]=(this.requestAttemptCounter[e]||0)+1}}let EF;function vF(t){EF=t}function Pt(){return EF}let VF;function BF(t){VF=t}function zF(){return VF}let pn=null;function yt(){const t=Pt();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(pn)return pn;const e=t.getState().offline.outbox,i=Ot._fromOutbox(e);return pn=i,i}const zR=(t,e)=>{const i=new e(t);return BF(i),vF(t),i};class jR{_all;_previous;constructor(e){this._all=[e],this._previous=e,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(e){return this._previous&&(this._previous.next=e),this._all.push(e),this._previous=e,{then:this.then,compile:this.compile}}compile(){return this._all}}class yn{next;constructor(){this.next=null}then(e){return new jR(this).then(e)}async run(e){if(this.next)return this.next.run(e);{if(console.debug("Middleware finished. Performing request:",e.payload.url),!Pt())throw new Error("Client store not set");const a=zF();if(!a)throw new Error("Client SDK not set");return fF(e,a)}}}class jF extends yn{async run(e){return super.run(e)}}class DF extends yn{async run(e){return super.run(e)}}const CF=new jF().then(new DF).compile();function qF(t){return CF[0]?.run(t)}s.ALL_MIDDLEWARE=CF,s.APIError=z,s.AgentService=dg,s.AssetAttachmentService=ug,s.AssetCommentService=lg,s.AssetService=og,s.AssetTypeAttachmentService=hg,s.AssetTypeFieldValuesAttachmentService=mg,s.AssetTypeFieldValuesService=fg,s.AssetTypeFieldsAttachmentService=pg,s.AssetTypeFieldsService=yg,s.AssetTypeIdentifierService=Sg,s.AssetTypeIdentifierValueService=Ag,s.AssetTypeService=Tg,s.AssetTypeStatusService=Ig,s.BaseApiService=pt,s.BaseAuthService=wF,s.BaseModelApiService=ct,s.BaseOfflineFileModelApiService=v,s.BaseOfflineModelApiService=g,s.BaseSDK=BR,s.COMMON_AUTO_FIELDS=fn,s.DEFAULT_PAGE_SIZE=oF,s.DISCARD_HTTP_STATUSES=un,s.DocumentAttachmentService=Og,s.DocumentService=Pg,s.EmailDomainsService=bg,s.EmailVerificationService=Fg,s.FileService=_g,s.FormIdentifierService=Mg,s.FormIdentifierValueService=gg,s.FormRevisionAttachmentService=Rg,s.FormRevisionService=wg,s.FormService=Eg,s.FormSubmissionCommentService=zg,s.FormSubmissionFieldValuesAttachmentService=Vg,s.FormSubmissionFieldValuesService=Bg,s.FormSubmissionService=jg,s.FormSubscriberService=vg,s.GeoImageService=Dg,s.HttpMethod=o,s.IssueAssociationService=Cg,s.IssueAttachmentService=qg,s.IssueCommentAttachmentService=$g,s.IssueCommentService=Ug,s.IssueService=kg,s.IssueTypeAttachmentService=Lg,s.IssueTypeFieldValuesAttachmentService=Ng,s.IssueTypeFieldValuesService=Kg,s.IssueTypeFieldsAttachmentService=Hg,s.IssueTypeFieldsService=Gg,s.IssueTypeIdentifierService=Wg,s.IssueTypeIdentifierValueService=Xg,s.IssueTypePriorityService=Yg,s.IssueTypeService=Zg,s.IssueTypeStatusService=Jg,s.IssueUpdateService=Qg,s.JWTService=tR,s.MAX_SERVICE_BATCH_SIZE=C,s.OUTBOX_RETRY_DELAY=6e4,s.OfflineAnalyticsMiddleware=jF,s.OfflineMiddleware=yn,s.OrganizationAccessService=sR,s.OrganizationService=iR,s.OutboxCoordinator=Ot,s.ProcdureInitiativeService=PR,s.ProcedureFieldValuesAttachmentService=gR,s.ProcedureFieldValuesService=RR,s.ProcedureService=lR,s.ProcedureStepAssigneeService=oR,s.ProcedureStepCommentService=hR,s.ProcedureStepDefaultAssigneeService=pR,s.ProcedureStepDefaultReviewerService=yR,s.ProcedureStepEventService=mR,s.ProcedureStepFieldValuesAttachmentService=AR,s.ProcedureStepFieldValuesReviewService=TR,s.ProcedureStepFieldValuesService=IR,s.ProcedureStepFieldsAttachmentService=fR,s.ProcedureStepFieldsService=SR,s.ProcedureStepReviewerService=OR,s.ProcedureStepService=bR,s.ProcedureTypeAttachmentService=FR,s.ProcedureTypeFieldsAttachmentService=_R,s.ProcedureTypeFieldsService=MR,s.ProcedureTypeService=wR,s.ProjectAccessService=aR,s.ProjectAttachmentService=nR,s.ProjectCommentService=cR,s.ProjectFileService=rR,s.ProjectService=dR,s.RESET_ORGANIZATION_STATE=b,s.RESET_PROJECT_STATE=E,s.RESET_STATE=T,s.RateLimitingMiddleware=DF,s.ReportService=uR,s.TeamMembershipService=ER,s.TeamService=vR,s.UserService=VR,s._setLatestRetryTime=Zf,s.addAsset=Qn,s.addAssetAttachment=_n,s.addAssetAttachments=ls,s.addAssetComment=qn,s.addAssetComments=zt,s.addAssetType=td,s.addAssetTypeAttachment=oc,s.addAssetTypeAttachments=As,s.addAssetTypeFieldValues=or,s.addAssetTypeFieldValuesAttachment=Qc,s.addAssetTypeFieldValuesAttachments=_s,s.addAssetTypeFieldValuesMany=hr,s.addAssetTypeFields=qc,s.addAssetTypeFieldsAttachment=Fc,s.addAssetTypeFieldsAttachments=_c,s.addAssetTypeFieldsMany=$c,s.addAssetTypeIdentifier=_r,s.addAssetTypeIdentifierValue=$r,s.addAssetTypeIdentifierValues=Ur,s.addAssetTypeIdentifiers=Mr,s.addAssetTypeStatus=pd,s.addAssetTypeStatuses=yd,s.addAssetTypes=sd,s.addAssets=ms,s.addConversation=Tn,s.addConversations=KF,s.addDocument=Gd,s.addDocumentAttachment=Ed,s.addDocumentAttachments=vd,s.addDocuments=Nd,s.addEmailDomain=au,s.addEmailDomains=nu,s.addForm=Vl,s.addFormIdentifier=Au,s.addFormIdentifierValue=Vu,s.addFormIdentifierValues=Bu,s.addFormIdentifiers=Tu,s.addFormRevision=cl,s.addFormRevisionAttachment=Ku,s.addFormRevisionAttachments=Wu,s.addFormRevisions=Ws,s.addFormSubmission=Vo,s.addFormSubmissionComment=So,s.addFormSubmissionComments=oi,s.addFormSubmissionFieldValues=io,s.addFormSubmissionFieldValuesAttachment=Kl,s.addFormSubmissionFieldValuesAttachments=ti,s.addFormSubmissionFieldValuesMany=ri,s.addFormSubmissions=dt,s.addFormSubscriber=Tl,s.addFormSubscribers=Zs,s.addForms=Bl,s.addGeoImage=Yo,s.addGeoImages=Zo,s.addIssue=up,s.addIssueAssociation=oh,s.addIssueAssociations=ft,s.addIssueAttachment=bh,s.addIssueAttachments=Ai,s.addIssueComment=Zh,s.addIssueCommentAttachment=Dh,s.addIssueCommentAttachments=Ch,s.addIssueComments=Jh,s.addIssueType=Fm,s.addIssueTypeAttachment=Pp,s.addIssueTypeAttachments=bp,s.addIssueTypeFieldValues=Zp,s.addIssueTypeFieldValuesAttachment=Fy,s.addIssueTypeFieldValuesAttachments=ji,s.addIssueTypeFieldValuesMany=Jp,s.addIssueTypeFields=ly,s.addIssueTypeFieldsAttachment=Dp,s.addIssueTypeFieldsAttachments=Cp,s.addIssueTypeFieldsMany=oy,s.addIssueTypeIdentifier=Cy,s.addIssueTypeIdentifierValue=Jy,s.addIssueTypeIdentifierValues=Qy,s.addIssueTypeIdentifiers=qy,s.addIssueTypePriorities=hm,s.addIssueTypePriority=om,s.addIssueTypeStatus=qm,s.addIssueTypeStatuses=$m,s.addIssueTypes=_m,s.addIssueUpdate=Zi,s.addIssueUpdates=Ji,s.addIssues=Mi,s.addOrganization=Df,s.addOrganizationAccess=Tf,s.addOrganizationAccesses=If,s.addOrganizations=jf,s.addProcedure=EA,s.addProcedureFieldValues=XP,s.addProcedureFieldValuesAttachment=jP,s.addProcedureFieldValuesAttachments=Ya,s.addProcedureFieldValuesMany=YP,s.addProcedureInitiative=fA,s.addProcedureInitiatives=SA,s.addProcedureStep=DO,s.addProcedureStepAssignee=KA,s.addProcedureStepAssignees=WA,s.addProcedureStepComment=cT,s.addProcedureStepComments=rT,s.addProcedureStepDefaultAssignee=IT,s.addProcedureStepDefaultAssignees=OT,s.addProcedureStepDefaultReviewer=zT,s.addProcedureStepDefaultReviewers=jT,s.addProcedureStepEvent=XT,s.addProcedureStepEvents=YT,s.addProcedureStepFieldValues=WI,s.addProcedureStepFieldValuesAttachment=zI,s.addProcedureStepFieldValuesAttachments=Va,s.addProcedureStepFieldValuesMany=XI,s.addProcedureStepFieldValuesReview=rO,s.addProcedureStepFieldValuesReviews=Ca,s.addProcedureStepFields=OI,s.addProcedureStepFieldsAttachment=dI,s.addProcedureStepFieldsAttachments=Ma,s.addProcedureStepFieldsMany=PI,s.addProcedureStepReviewer=IO,s.addProcedureStepReviewers=OO,s.addProcedureSteps=CO,s.addProcedureType=db,s.addProcedureTypeAttachment=WO,s.addProcedureTypeAttachments=XO,s.addProcedureTypeFields=OP,s.addProcedureTypeFieldsAttachment=rP,s.addProcedureTypeFieldsAttachments=dP,s.addProcedureTypeFieldsMany=PP,s.addProcedureTypes=ub,s.addProcedures=Tt,s.addProject=nA,s.addProjectAccess=eS,s.addProjectAccesses=tS,s.addProjectAttachment=pS,s.addProjectAttachments=yS,s.addProjectComment=gS,s.addProjectComments=RS,s.addProjectFile=HS,s.addProjectFiles=GS,s.addProjects=aA,s.addReport=bb,s.addReports=Fb,s.addTeam=Qb,s.addTeamMembership=qb,s.addTeamMemberships=$b,s.addTeams=xb,s.addUser=ia,s.addUsers=lf,s.agentsReducer=Pn,s.agentsSlice=rs,s.assetAttachmentReducer=jn,s.assetAttachmentSlice=us,s.assetCommentReducer=Yn,s.assetCommentSlice=ps,s.assetReducer=dc,s.assetSlice=ys,s.assetTypeAttachmentReducer=Oc,s.assetTypeAttachmentSlice=Ss,s.assetTypeFieldValuesAttachmentReducer=dr,s.assetTypeFieldValuesAttachmentSlice=Fs,s.assetTypeFieldValuesReducer=Pr,s.assetTypeFieldValuesSlice=Rs,s.assetTypeFieldsAttachmentReducer=jc,s.assetTypeFieldsAttachmentSlice=Os,s.assetTypeFieldsReducer=Yc,s.assetTypeFieldsSlice=bs,s.assetTypeIdentifierReducer=Dr,s.assetTypeIdentifierSlice=ws,s.assetTypeIdentifierValueReducer=Zr,s.assetTypeIdentifierValueSlice=vs,s.assetTypeReducer=ld,s.assetTypeSlice=Vs,s.assetTypeStatusReducer=Fd,s.assetTypeStatusSlice=zs,s.authReducer=gd,s.authSlice=Ut,s.baseReducer=XM,s.baseReducers=dn,s.clearTokens=o_,s.createModelAdapter=O,s.createOfflineAction=Kf,s.createPayload=M,s.createSelectionAdapter=NF,s.deleteAsset=tc,s.deleteAssetAttachment=En,s.deleteAssetAttachments=os,s.deleteAssetComment=Hn,s.deleteAssetComments=jt,s.deleteAssetType=nd,s.deleteAssetTypeAttachment=fc,s.deleteAssetTypeAttachments=Ts,s.deleteAssetTypeFieldValues=Sr,s.deleteAssetTypeFieldValuesAttachment=ir,s.deleteAssetTypeFieldValuesAttachments=Ms,s.deleteAssetTypeFieldValuesMany=Ar,s.deleteAssetTypeFields=Gc,s.deleteAssetTypeFieldsAttachment=Ec,s.deleteAssetTypeFieldsAttachments=vc,s.deleteAssetTypeFieldsMany=Nc,s.deleteAssetTypeIdentifier=vr,s.deleteAssetTypeIdentifierValue=Nr,s.deleteAssetTypeIdentifierValues=Kr,s.deleteAssetTypeIdentifiers=Vr,s.deleteAssetTypeStatus=Td,s.deleteAssetTypeStatuses=Id,s.deleteAssetTypes=cd,s.deleteAssets=fs,s.deleteConversation=YF,s.deleteConversations=ZF,s.deleteDocument=Zd,s.deleteDocumentAttachment=Dd,s.deleteDocumentAttachments=Cd,s.deleteDocuments=Jd,s.deleteEmailDomain=lu,s.deleteEmailDomains=ou,s.deleteForm=ql,s.deleteFormIdentifier=Fu,s.deleteFormIdentifierValue=qu,s.deleteFormIdentifierValues=$u,s.deleteFormIdentifiers=_u,s.deleteFormRevision=ol,s.deleteFormRevisionAttachment=Qu,s.deleteFormRevisionAttachments=xu,s.deleteFormRevisions=Xs,s.deleteFormSubmission=jo,s.deleteFormSubmissionComment=Po,s.deleteFormSubmissionComments=hi,s.deleteFormSubmissionFieldValues=uo,s.deleteFormSubmissionFieldValuesAttachment=Jl,s.deleteFormSubmissionFieldValuesAttachments=si,s.deleteFormSubmissionFieldValuesMany=di,s.deleteFormSubmissions=ut,s.deleteFormSubscriber=Fl,s.deleteFormSubscribers=Js,s.deleteForms=$l,s.deleteGeoImage=xo,s.deleteGeoImages=eh,s.deleteIssue=yp,s.deleteIssueAssociation=hh,s.deleteIssueAssociations=St,s.deleteIssueAttachment=Rh,s.deleteIssueAttachments=Ti,s.deleteIssueComment=sp,s.deleteIssueCommentAttachment=Lh,s.deleteIssueCommentAttachments=Hh,s.deleteIssueComments=ip,s.deleteIssueType=Em,s.deleteIssueTypeAttachment=Rp,s.deleteIssueTypeAttachments=wp,s.deleteIssueTypeFieldValues=sy,s.deleteIssueTypeFieldValuesAttachment=wy,s.deleteIssueTypeFieldValuesAttachments=Di,s.deleteIssueTypeFieldValuesMany=iy,s.deleteIssueTypeFields=fy,s.deleteIssueTypeFieldsAttachment=Lp,s.deleteIssueTypeFieldsAttachments=Hp,s.deleteIssueTypeFieldsMany=Sy,s.deleteIssueTypeIdentifier=Hy,s.deleteIssueTypeIdentifierValue=im,s.deleteIssueTypeIdentifierValues=am,s.deleteIssueTypeIdentifiers=Gy,s.deleteIssueTypePriorities=Am,s.deleteIssueTypePriority=Sm,s.deleteIssueTypeStatus=Gm,s.deleteIssueTypeStatuses=Nm,s.deleteIssueTypes=vm,s.deleteIssueUpdate=Qi,s.deleteIssueUpdates=xi,s.deleteIssues=gi,s.deleteOrganization=$f,s.deleteOrganizationAccess=_f,s.deleteOrganizationAccesses=Mf,s.deleteOrganizations=Uf,s.deleteProcedure=jA,s.deleteProcedureFieldValues=eb,s.deleteProcedureFieldValuesAttachment=UP,s.deleteProcedureFieldValuesAttachments=Za,s.deleteProcedureFieldValuesMany=tb,s.deleteProcedureInitiative=PA,s.deleteProcedureInitiatives=bA,s.deleteProcedureStep=UO,s.deleteProcedureStepAssignee=QA,s.deleteProcedureStepAssignees=xA,s.deleteProcedureStepComment=hT,s.deleteProcedureStepComments=pT,s.deleteProcedureStepDefaultAssignee=MT,s.deleteProcedureStepDefaultAssignees=gT,s.deleteProcedureStepDefaultReviewer=UT,s.deleteProcedureStepDefaultReviewers=kT,s.deleteProcedureStepEvent=eI,s.deleteProcedureStepEvents=tI,s.deleteProcedureStepFieldValues=xI,s.deleteProcedureStepFieldValuesAttachment=$I,s.deleteProcedureStepFieldValuesAttachments=Ba,s.deleteProcedureStepFieldValuesMany=eO,s.deleteProcedureStepFieldValuesReview=hO,s.deleteProcedureStepFieldValuesReviews=qa,s.deleteProcedureStepFields=gI,s.deleteProcedureStepFieldsAttachment=pI,s.deleteProcedureStepFieldsAttachments=ga,s.deleteProcedureStepFieldsMany=RI,s.deleteProcedureStepReviewer=MO,s.deleteProcedureStepReviewers=gO,s.deleteProcedureSteps=kO,s.deleteProcedureType=yb,s.deleteProcedureTypeAttachment=xO,s.deleteProcedureTypeAttachments=eP,s.deleteProcedureTypeFields=gP,s.deleteProcedureTypeFieldsAttachment=pP,s.deleteProcedureTypeFieldsAttachments=yP,s.deleteProcedureTypeFieldsMany=RP,s.deleteProcedureTypes=mb,s.deleteProcedures=It,s.deleteProject=dA,s.deleteProjectAccess=cS,s.deleteProjectAccesses=rS,s.deleteProjectAttachment=TS,s.deleteProjectAttachments=IS,s.deleteProjectComment=BS,s.deleteProjectComments=zS,s.deleteProjectFile=WS,s.deleteProjectFiles=XS,s.deleteProjects=uA,s.deleteReport=wb,s.deleteReports=Eb,s.deleteTeam=aF,s.deleteTeamMembership=Gb,s.deleteTeamMemberships=Nb,s.deleteTeams=nF,s.deleteUser=aa,s.deleteUsers=pf,s.dequeue=mF,s.discard=SF,s.documentAttachmentReducer=kd,s.documentAttachmentSlice=Ds,s.documentSlice=qs,s.documentsReducer=Qd,s.emailDomainsReducer=mu,s.emailDomainsSlice=Us,s.enqueue=yF,s.enqueueRequest=Xf,s.extractResponseFromError=TF,s.fetchBlobFromObjectUrl=PF,s.fetchFileFromObjectUrl=bF,s.fileToBlob=IF,s.formIdentifierReducer=wu,s.formIdentifierSlice=Ls,s.formIdentifierValueReducer=Hu,s.formIdentifierValueSlice=Gs,s.formReducer=Ul,s.formRevisionAttachmentReducer=il,s.formRevisionAttachmentSlice=Ns,s.formRevisionReducer=fl,s.formRevisionsSlice=Ks,s.formSlice=Qs,s.formSubmissionCommentReducer=go,s.formSubmissionCommentSlice=li,s.formSubmissionFieldValuesAttachmentReducer=eo,s.formSubmissionFieldValuesAttachmentSlice=ei,s.formSubmissionFieldValuesReducer=yo,s.formSubmissionFieldValuesSlice=ci,s.formSubmissionReducer=Go,s.formSubmissionSlice=pi,s.formSubscriberReducer=wl,s.formSubscriberSlice=Ys,s.geoImageReducer=ah,s.geoImageSlice=yi,s.getClientSDK=zF,s.getClientStore=Pt,s.getFileExtension=OF,s.getOutboxCoordinator=yt,s.getPresignedUrlExpiryDate=gF,s.getRenamedFile=cg,s.getRequestDescription=m,s.getS3FileKey=ng,s.hashFile=ns,s.initSDK=zR,s.initializeAssetAttachments=Fn,s.initializeAssetComments=Cn,s.initializeAssetTypeAttachments=lc,s.initializeAssetTypeFieldValues=lr,s.initializeAssetTypeFieldValuesAttachments=Jc,s.initializeAssetTypeFields=Cc,s.initializeAssetTypeFieldsAttachments=bc,s.initializeAssetTypeIdentifierValues=qr,s.initializeAssetTypeIdentifiers=Fr,s.initializeAssetTypeStatuses=hd,s.initializeAssetTypes=Qr,s.initializeAssets=Jn,s.initializeConversations=An,s.initializeDocumentAttachments=wd,s.initializeDocuments=Hd,s.initializeEmailDomains=iu,s.initializeFormIdentifierValues=vu,s.initializeFormIdentifiers=Su,s.initializeFormRevisionAttachments=Nu,s.initializeFormRevisions=nl,s.initializeFormSubmissionComments=fo,s.initializeFormSubmissionFieldValues=so,s.initializeFormSubmissionFieldValuesAttachments=Nl,s.initializeFormSubmissions=wo,s.initializeFormSubscribers=Al,s.initializeForms=vl,s.initializeGeoImages=Ko,s.initializeIssueAssociations=ch,s.initializeIssueAttachments=Ph,s.initializeIssueCommentAttachments=jh,s.initializeIssueComments=Yh,s.initializeIssueTypeAttachments=Op,s.initializeIssueTypeFieldValues=Yp,s.initializeIssueTypeFieldValuesAttachments=by,s.initializeIssueTypeFields=uy,s.initializeIssueTypeFieldsAttachments=jp,s.initializeIssueTypeIdentifierValues=Zy,s.initializeIssueTypeIdentifiers=Dy,s.initializeIssueTypePriorities=lm,s.initializeIssueTypeStatuses=Cm,s.initializeIssueTypes=bm,s.initializeIssueUpdates=Zm,s.initializeIssues=dp,s.initializeOrganizationAccesses=Af,s.initializeOrganizations=Vf,s.initializeProcedureFieldValues=WP,s.initializeProcedureFieldValuesAttachments=zP,s.initializeProcedureInitiatives=mA,s.initializeProcedureStepAssignees=NA,s.initializeProcedureStepComments=nT,s.initializeProcedureStepDefaultAssignees=TT,s.initializeProcedureStepDefaultReviewers=BT,s.initializeProcedureStepEvents=WT,s.initializeProcedureStepFieldValues=KI,s.initializeProcedureStepFieldValuesAttachments=BI,s.initializeProcedureStepFieldValuesReviews=cO,s.initializeProcedureStepFields=II,s.initializeProcedureStepFieldsAttachments=rI,s.initializeProcedureStepReviewers=TO,s.initializeProcedureSteps=BO,s.initializeProcedureTypeAttachments=KO,s.initializeProcedureTypeFields=IP,s.initializeProcedureTypeFieldsAttachments=cP,s.initializeProcedureTypes=rb,s.initializeProcedures=wA,s.initializeProjectAccesses=xf,s.initializeProjectAttachments=hS,s.initializeProjectComments=MS,s.initializeProjectFiles=US,s.initializeProjects=tA,s.initializeReports=Pb,s.initializeTeamMemberships=Cb,s.initializeTeams=Jb,s.initializeUsers=rf,s.isCloudfrontUrl=_F,s.isImageFile=rg,s.isObjectUrl=FF,s.isPresignedUrlExpired=RF,s.isS3Url=MF,s.issueAssociationReducer=Ih,s.issueAssociationSlice=fi,s.issueAttachmentReducer=Bh,s.issueAttachmentSlice=Si,s.issueCommentAttachmentReducer=Wh,s.issueCommentAttachmentSlice=Oi,s.issueCommentReducer=cp,s.issueCommentSlice=bi,s.issueReducer=Tp,s.issueSlice=_i,s.issueTypeAttachmentReducer=Bp,s.issueTypeAttachmentSlice=Ri,s.issueTypeFieldValuesAttachmentReducer=zy,s.issueTypeFieldValuesAttachmentSlice=zi,s.issueTypeFieldValuesReducer=ry,s.issueTypeFieldValuesSlice=Vi,s.issueTypeFieldsAttachmentReducer=Wp,s.issueTypeFieldsAttachmentSlice=Ei,s.issueTypeFieldsReducer=Oy,s.issueTypeFieldsSlice=Bi,s.issueTypeIdentifierReducer=Xy,s.issueTypeIdentifierSlice=qi,s.issueTypeIdentifierValueReducer=dm,s.issueTypeIdentifierValueSlice=Ui,s.issueTypePriorityReducer=Om,s.issueTypePrioritySlice=ki,s.issueTypeReducer=jm,s.issueTypeSlice=Gi,s.issueTypeStatusReducer=Xm,s.issueTypeStatusSlice=Ki,s.issueUpdateReducer=nf,s.issueUpdateSlice=Yi,s.markAsDeleted=Yf,s.markForDeletion=Q_,s.organizationAccessReducer=gf,s.organizationAccessSlice=ca,s.organizationReducer=Nf,s.organizationSlice=ra,s.outboxReducer=Jf,s.outboxSlice=da,s.overmapEnhancer=xM,s.overmapReducer=YM,s.overmapReducers=lF,s.performRequest=hn,s.performRequestFromAction=fF,s.procedureFieldValuesAttachmentReducer=kP,s.procedureFieldValuesAttachmentSlice=Xa,s.procedureFieldValuesReducer=sb,s.procedureFieldValuesSlice=Qa,s.procedureInitiativeReducer=FA,s.procedureInitiativeSlice=fa,s.procedureReducer=DA,s.procedureSlice=Sa,s.procedureStepAssigneeReducer=iT,s.procedureStepAssigneeSlice=Aa,s.procedureStepCommentReducer=ST,s.procedureStepCommentSlice=Ta,s.procedureStepDefaultAssigneeReducer=vT,s.procedureStepDefaultAssigneeSlice=Ia,s.procedureStepDefaultReviewerReducer=NT,s.procedureStepDefaultReviewerSlice=Pa,s.procedureStepEventReducer=nI,s.procedureStepEventSlice=Fa,s.procedureStepFieldValuesAttachmentReducer=GI,s.procedureStepFieldValuesAttachmentSlice=va,s.procedureStepFieldValuesReducer=tO,s.procedureStepFieldValuesReviewReducer=SO,s.procedureStepFieldValuesReviewSlice=Da,s.procedureStepFieldValuesSlice=ja,s.procedureStepFieldsAttachmentReducer=AI,s.procedureStepFieldsAttachmentSlice=_a,s.procedureStepFieldsReducer=vI,s.procedureStepFieldsSlice=wa,s.procedureStepReducer=LO,s.procedureStepReviewerReducer=vO,s.procedureStepReviewerSlice=$a,s.procedureStepSlice=Ua,s.procedureTypeAttachmentReducer=tP,s.procedureTypeAttachmentSlice=Ha,s.procedureTypeFieldsAttachmentReducer=mP,s.procedureTypeFieldsAttachmentSlice=Na,s.procedureTypeFieldsReducer=wP,s.procedureTypeFieldsSlice=Wa,s.procedureTypeReducer=fb,s.procedureTypeSlice=en,s.projectAccessReducer=dS,s.projectAccessSlice=ua,s.projectAttachmentReducer=FS,s.projectAttachmentSlice=oa,s.projectCommentReducer=qS,s.projectCommentSlice=pa,s.projectFileReducer=xS,s.projectFileSlice=ya,s.projectReducer=lA,s.projectSlice=ma,s.rehydratedReducer=Ib,s.rehydratedSlice=sn,s.reportReducer=jb,s.reportSlice=an,s.restructureSelectorWithArgs=y,s.runMiddleware=qF,s.selectAccessToken=h_,s.selectAccessesByUserOfProject=eM,s.selectAccessibleProjects=nM,s.selectActiveOrganizationAccess=X_,s.selectAllDocumentAttachments=Cs,s.selectAssetAttachmentById=Vn,s.selectAssetAttachmentMapping=vn,s.selectAssetAttachments=hs,s.selectAssetAttachmentsByIds=Bn,s.selectAssetById=cc,s.selectAssetCommentById=Nn,s.selectAssetCommentMapping=Gn,s.selectAssetComments=Dt,s.selectAssetCommentsByIds=Kn,s.selectAssetTypeAttachmentById=Ac,s.selectAssetTypeAttachmentMapping=Sc,s.selectAssetTypeAttachments=Is,s.selectAssetTypeAttachmentsByIds=Tc,s.selectAssetTypeById=dd,s.selectAssetTypeFieldValues=qt,s.selectAssetTypeFieldValuesAttachmentById=nr,s.selectAssetTypeFieldValuesAttachments=gs,s.selectAssetTypeFieldValuesAttachmentsByIds=cr,s.selectAssetTypeFieldValuesAttachmentsMapping=ar,s.selectAssetTypeFieldValuesById=Ir,s.selectAssetTypeFieldValuesByIds=Or,s.selectAssetTypeFieldValuesMapping=Tr,s.selectAssetTypeFieldValuesOfAsset=i_,s.selectAssetTypeFields=Ft,s.selectAssetTypeFieldsAttachmentById=Bc,s.selectAssetTypeFieldsAttachments=Ps,s.selectAssetTypeFieldsAttachmentsByIds=zc,s.selectAssetTypeFieldsAttachmentsMapping=Vc,s.selectAssetTypeFieldsById=Wc,s.selectAssetTypeFieldsByIds=Xc,s.selectAssetTypeFieldsMapping=Kc,s.selectAssetTypeFieldsOfAssetType=t_,s.selectAssetTypeIdentifierById=zr,s.selectAssetTypeIdentifierMapping=Br,s.selectAssetTypeIdentifierValueById=Xr,s.selectAssetTypeIdentifierValueMapping=Wr,s.selectAssetTypeIdentifierValues=$t,s.selectAssetTypeIdentifierValuesByIds=Yr,s.selectAssetTypeIdentifierValuesOfAsset=c_,s.selectAssetTypeIdentifierValuesOfIdentifier=r_,s.selectAssetTypeIdentifiers=Es,s.selectAssetTypeIdentifiersByIds=jr,s.selectAssetTypeIdentifiersOfAssetType=n_,s.selectAssetTypeStatusById=Pd,s.selectAssetTypeStatusMapping=Od,s.selectAssetTypeStatuses=js,s.selectAssetTypeStatusesByIds=bd,s.selectAssetTypeStatusesOfAssetType=u_,s.selectAssetTypeValuesOfAssetType=a_,s.selectAssetTypes=Bs,s.selectAssetTypesByIds=ud,s.selectAssetTypesMapping=rd,s.selectAssetTypesOfOrganization=d_,s.selectAssets=Ct,s.selectAssetsByIds=rc,s.selectAssetsMapping=ac,s.selectAssetsOfAssetType=nc,s.selectAssetsOfProject=xF,s.selectAttachmentsOfAsset=zn,s.selectAttachmentsOfAssetType=Ic,s.selectAttachmentsOfAssetTypeFieldValues=rr,s.selectAttachmentsOfAssetTypeFields=e_,s.selectAttachmentsOfDocument=y_,s.selectAttachmentsOfFormRevision=O_,s.selectAttachmentsOfFormSubmissionFieldValues=xl,s.selectAttachmentsOfIssue=Eh,s.selectAttachmentsOfIssueComment=v_,s.selectAttachmentsOfIssueType=z_,s.selectAttachmentsOfIssueTypeFieldValues=By,s.selectAttachmentsOfIssueTypeFields=j_,s.selectAttachmentsOfProcedureFieldValues=NP,s.selectAttachmentsOfProcedureStepFieldValues=HI,s.selectAttachmentsOfProcedureStepFields=mI,s.selectAttachmentsOfProcedureType=DM,s.selectAttachmentsOfProcedureTypeFields=CM,s.selectAttachmentsOfProject=sM,s.selectCommentsOfAsset=Wn,s.selectCommentsOfAssets=Xn,s.selectCommentsOfFormSubmission=Mo,s.selectCommentsOfFormSubmissions=__,s.selectCommentsOfIssue=V_,s.selectCommentsOfProject=iM,s.selectCommentsOfProjects=aM,s.selectConversation=QF,s.selectConversationMapping=ds,s.selectConversations=JF,s.selectCurrentUser=mf,s.selectDeletedRequests=Z_,s.selectDescendantsOfDocument=tu,s.selectDocumentAttachmentById=$d,s.selectDocumentAttachmentMapping=qd,s.selectDocumentAttachmentsByIds=Ud,s.selectDocumentById=xd,s.selectDocuments=kt,s.selectDocumentsByIds=eu,s.selectDocumentsMapping=$s,s.selectEmailDomainById=pu,s.selectEmailDomains=ks,s.selectEmailDomainsAsMapping=hu,s.selectEmailDomainsByIds=yu,s.selectEmailDomainsOfOrganization=S_,s.selectFieldValuesOfProcedure=UM,s.selectFormById=Ll,s.selectFormIdentifierById=gu,s.selectFormIdentifierMapping=Mu,s.selectFormIdentifierValueById=ku,s.selectFormIdentifierValueMapping=Uu,s.selectFormIdentifierValues=Lt,s.selectFormIdentifierValuesByIds=Lu,s.selectFormIdentifierValuesOfFormSubmission=T_,s.selectFormIdentifierValuesOfIdentifier=I_,s.selectFormIdentifiers=Hs,s.selectFormIdentifiersByIds=Ru,s.selectFormIdentifiersOfForm=A_,s.selectFormMapping=kl,s.selectFormRevisionAttachmentById=tl,s.selectFormRevisionAttachments=el,s.selectFormRevisionAttachmentsByIds=sl,s.selectFormRevisionAttachmentsMapping=Ht,s.selectFormRevisionById=pl,s.selectFormRevisionMapping=hl,s.selectFormRevisions=Gt,s.selectFormRevisionsByIds=yl,s.selectFormRevisionsOfForm=ml,s.selectFormSubmissionById=Co,s.selectFormSubmissionCommentById=Fo,s.selectFormSubmissionCommentMapping=bo,s.selectFormSubmissionComments=Kt,s.selectFormSubmissionCommentsByIds=_o,s.selectFormSubmissionFieldValues=ui,s.selectFormSubmissionFieldValuesAttachmentById=Ql,s.selectFormSubmissionFieldValuesAttachments=ai,s.selectFormSubmissionFieldValuesAttachmentsByIds=ni,s.selectFormSubmissionFieldValuesAttachmentsMapping=ii,s.selectFormSubmissionFieldValuesById=oo,s.selectFormSubmissionFieldValuesByIds=ho,s.selectFormSubmissionFieldValuesMapping=lo,s.selectFormSubmissionFieldValuesOfFormSubmission=po,s.selectFormSubmissions=D,s.selectFormSubmissionsByIds=qo,s.selectFormSubmissionsMapping=Do,s.selectFormSubmissionsOfAsset=Lo,s.selectFormSubmissionsOfAssets=Ho,s.selectFormSubmissionsOfForm=$o,s.selectFormSubmissionsOfIssue=Uo,s.selectFormSubmissionsOfIssues=ko,s.selectFormSubmissionsOfOrganization=M_,s.selectFormSubmissionsOfOrganizationAndForm=w_,s.selectFormSubmissionsOfProject=g_,s.selectFormSubmissionsOfProjectAndForm=R_,s.selectFormSubscriberById=Ml,s.selectFormSubscriberMapping=_l,s.selectFormSubscribers=Nt,s.selectFormSubscribersByIds=gl,s.selectFormSubscribersOfForm=Rl,s.selectFormSubscribersOfUser=b_,s.selectForms=xs,s.selectFormsByIds=Hl,s.selectFormsOfOrganization=F_,s.selectGeoImageById=sh,s.selectGeoImageMapping=th,s.selectGeoImages=mi,s.selectGeoImagesByIds=ih,s.selectGeoImagesOfProject=E_,s.selectIsLoggedIn=p_,s.selectIssueAssociationById=yh,s.selectIssueAssociationMapping=ph,s.selectIssueAssociations=At,s.selectIssueAssociationsByIds=mh,s.selectIssueAssociationsOfAsset=Ah,s.selectIssueAssociationsOfAssets=Th,s.selectIssueAssociationsOfIssue=Sh,s.selectIssueAssociationsOfIssues=fh,s.selectIssueAttachmentById=vh,s.selectIssueAttachmentMapping=wh,s.selectIssueAttachments=Ii,s.selectIssueAttachmentsByIds=Vh,s.selectIssueById=fp,s.selectIssueCommentAttachmentById=Nh,s.selectIssueCommentAttachmentMapping=Gh,s.selectIssueCommentAttachments=Pi,s.selectIssueCommentAttachmentsByIds=Kh,s.selectIssueCommentById=ap,s.selectIssueCommentMapping=Fi,s.selectIssueCommentsByIds=np,s.selectIssueMapping=mp,s.selectIssueTypeAttachmentById=vp,s.selectIssueTypeAttachmentMapping=Ep,s.selectIssueTypeAttachments=wi,s.selectIssueTypeAttachmentsByIds=Vp,s.selectIssueTypeById=Bm,s.selectIssueTypeFieldValues=Xt,s.selectIssueTypeFieldValuesAttachmentById=vy,s.selectIssueTypeFieldValuesAttachments=Ci,s.selectIssueTypeFieldValuesAttachmentsByIds=Vy,s.selectIssueTypeFieldValuesAttachmentsMapping=Ey,s.selectIssueTypeFieldValuesById=ny,s.selectIssueTypeFieldValuesByIds=cy,s.selectIssueTypeFieldValuesMapping=ay,s.selectIssueTypeFieldValuesOfIssue=D_,s.selectIssueTypeFields=_t,s.selectIssueTypeFieldsAttachmentById=Np,s.selectIssueTypeFieldsAttachments=vi,s.selectIssueTypeFieldsAttachmentsByIds=Kp,s.selectIssueTypeFieldsAttachmentsMapping=Gp,s.selectIssueTypeFieldsById=Ty,s.selectIssueTypeFieldsByIds=Iy,s.selectIssueTypeFieldsMapping=Ay,s.selectIssueTypeFieldsOfIssueType=C_,s.selectIssueTypeIdentifierById=Ky,s.selectIssueTypeIdentifierMapping=Ny,s.selectIssueTypeIdentifierValueById=cm,s.selectIssueTypeIdentifierValueMapping=nm,s.selectIssueTypeIdentifierValues=Yt,s.selectIssueTypeIdentifierValuesByIds=rm,s.selectIssueTypeIdentifierValuesOfIdentifier=L_,s.selectIssueTypeIdentifierValuesOfIssue=k_,s.selectIssueTypeIdentifiers=$i,s.selectIssueTypeIdentifiersByIds=Wy,s.selectIssueTypeIdentifiersOfIssueType=U_,s.selectIssueTypeMapping=Vm,s.selectIssueTypePriorities=Li,s.selectIssueTypePrioritiesByIds=Im,s.selectIssueTypePrioritiesOfIssueType=H_,s.selectIssueTypePriorityById=Hi,s.selectIssueTypePriorityMapping=Tm,s.selectIssueTypeStatusById=Xi,s.selectIssueTypeStatusMapping=Km,s.selectIssueTypeStatuses=Wi,s.selectIssueTypeStatusesByIds=Wm,s.selectIssueTypeStatusesOfIssueType=N_,s.selectIssueTypeValuesOfIssueType=$_,s.selectIssueTypes=Ni,s.selectIssueTypesByIds=zm,s.selectIssueTypesOfOrganization=G_,s.selectIssueUpdateById=tf,s.selectIssueUpdateMapping=ea,s.selectIssueUpdates=ta,s.selectIssueUpdatesByIds=sf,s.selectIssueUpdatesOfIssue=af,s.selectIssues=Wt,s.selectIssuesByIds=Sp,s.selectIssuesOfIssueType=Ap,s.selectIssuesOfProject=B_,s.selectLatestAssetTypeFieldsOfAssetType=s_,s.selectLatestFieldsByProcedureStep=bM,s.selectLatestFormRevisionOfForm=P_,s.selectLatestIssueTypeFieldsOfIssueType=q_,s.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=EM,s.selectLatestProcedureStepFieldsOfProcedureStep=PM,s.selectLatestProcedureTypeFieldsOfProcedureType=$M,s.selectLatestRetryTime=J_,s.selectLatestReviewOfProcedureStepFieldValues=gM,s.selectMembershipsByUserOfTeam=NM,s.selectOrganizationAccessById=Rf,s.selectOrganizationAccessMapping=Qt,s.selectOrganizationAccessUserMapping=Ef,s.selectOrganizationAccessesByIds=wf,s.selectOrganizationById=Hf,s.selectOrganizationDocuments=f_,s.selectOrganizations=Lf,s.selectOrganizationsByIds=Gf,s.selectOrganizationsMapping=kf,s.selectProcedureById=qA,s.selectProcedureFieldValues=xa,s.selectProcedureFieldValuesAttachmentById=HP,s.selectProcedureFieldValuesAttachments=Ja,s.selectProcedureFieldValuesAttachmentsByIds=GP,s.selectProcedureFieldValuesAttachmentsMapping=LP,s.selectProcedureFieldValuesById=ab,s.selectProcedureFieldValuesByIds=nb,s.selectProcedureFieldValuesMapping=ib,s.selectProcedureInitiativeById=MA,s.selectProcedureInitiatives=ts,s.selectProcedureInitiativesByIds=gA,s.selectProcedureInitiativesMapping=_A,s.selectProcedureInitiativesOfProcedureType=dM,s.selectProcedureInitiativesOfProject=rM,s.selectProcedureStepAssigneeById=tT,s.selectProcedureStepAssignees=gt,s.selectProcedureStepAssigneesByIds=sT,s.selectProcedureStepAssigneesMapping=eT,s.selectProcedureStepAssigneesOfProcedure=lM,s.selectProcedureStepAssigneesOfProcedureAndProcedureStep=hM,s.selectProcedureStepAssigneesOfProcedureStep=oM,s.selectProcedureStepById=HO,s.selectProcedureStepCommentById=mT,s.selectProcedureStepComments=Rt,s.selectProcedureStepCommentsByIds=fT,s.selectProcedureStepCommentsMapping=yT,s.selectProcedureStepCommentsOfProcedure=pM,s.selectProcedureStepCommentsOfProcedureAndProcedureStep=mM,s.selectProcedureStepCommentsOfProcedureStep=yM,s.selectProcedureStepDefaultAssigneeById=wT,s.selectProcedureStepDefaultAssignees=Oa,s.selectProcedureStepDefaultAssigneesByIds=ET,s.selectProcedureStepDefaultAssigneesMapping=RT,s.selectProcedureStepDefaultAssigneesOfProcedureStep=fM,s.selectProcedureStepDefaultReviewerById=HT,s.selectProcedureStepDefaultReviewers=ba,s.selectProcedureStepDefaultReviewersByIds=GT,s.selectProcedureStepDefaultReviewersMapping=LT,s.selectProcedureStepDefaultReviewersOfProcedureStep=SM,s.selectProcedureStepEventById=iI,s.selectProcedureStepEvents=wt,s.selectProcedureStepEventsByIds=aI,s.selectProcedureStepEventsMapping=sI,s.selectProcedureStepEventsOfProcedure=AM,s.selectProcedureStepEventsOfProcedureAndProcedureStep=IM,s.selectProcedureStepEventsOfProcedureStep=TM,s.selectProcedureStepFieldValues=ot,s.selectProcedureStepFieldValuesAttachmentById=kI,s.selectProcedureStepFieldValuesAttachments=za,s.selectProcedureStepFieldValuesAttachmentsByIds=LI,s.selectProcedureStepFieldValuesAttachmentsMapping=UI,s.selectProcedureStepFieldValuesById=iO,s.selectProcedureStepFieldValuesByIds=aO,s.selectProcedureStepFieldValuesMapping=sO,s.selectProcedureStepFieldValuesOfProcedure=FM,s.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=MM,s.selectProcedureStepFieldValuesOfProcedureStep=_M,s.selectProcedureStepFieldValuesReviewById=yO,s.selectProcedureStepFieldValuesReviews=ht,s.selectProcedureStepFieldValuesReviewsByIds=mO,s.selectProcedureStepFieldValuesReviewsMapping=pO,s.selectProcedureStepFieldValuesReviewsOfProcedure=RM,s.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=wM,s.selectProcedureStepFields=ss,s.selectProcedureStepFieldsAttachmentById=fI,s.selectProcedureStepFieldsAttachments=Ra,s.selectProcedureStepFieldsAttachmentsByIds=SI,s.selectProcedureStepFieldsAttachmentsMapping=yI,s.selectProcedureStepFieldsById=wI,s.selectProcedureStepFieldsByIds=EI,s.selectProcedureStepFieldsMapping=Ea,s.selectProcedureStepFieldsOfProcedureStep=OM,s.selectProcedureStepReviewerById=wO,s.selectProcedureStepReviewers=Et,s.selectProcedureStepReviewersByIds=EO,s.selectProcedureStepReviewersMapping=RO,s.selectProcedureStepReviewersOfProcedure=vM,s.selectProcedureStepReviewersOfProcedureAndProcedureStep=BM,s.selectProcedureStepReviewersOfProcedureStep=VM,s.selectProcedureSteps=La,s.selectProcedureStepsByIds=GO,s.selectProcedureStepsMapping=ka,s.selectProcedureStepsMappingOfProcedureType=zM,s.selectProcedureStepsOfProcedureType=jM,s.selectProcedureTypeAttachmentById=iP,s.selectProcedureTypeAttachmentMapping=sP,s.selectProcedureTypeAttachments=Ga,s.selectProcedureTypeAttachmentsByIds=aP,s.selectProcedureTypeById=Ab,s.selectProcedureTypeFields=is,s.selectProcedureTypeFieldsAttachmentById=SP,s.selectProcedureTypeFieldsAttachments=Ka,s.selectProcedureTypeFieldsAttachmentsByIds=AP,s.selectProcedureTypeFieldsAttachmentsMapping=fP,s.selectProcedureTypeFieldsById=vP,s.selectProcedureTypeFieldsByIds=VP,s.selectProcedureTypeFieldsMapping=EP,s.selectProcedureTypeFieldsOfProcedureType=qM,s.selectProcedureTypes=tn,s.selectProcedureTypesByIds=Tb,s.selectProcedureTypesMapping=Sb,s.selectProcedureTypesOfOrganization=kM,s.selectProcedures=lt,s.selectProceduresByIds=$A,s.selectProceduresMapping=CA,s.selectProceduresOfAsset=kA,s.selectProceduresOfAssets=LA,s.selectProceduresOfProcedureInitiative=HA,s.selectProceduresOfProcedureType=UA,s.selectProceduresOfProject=uM,s.selectProjectAccessById=uS,s.selectProjectAccessMapping=la,s.selectProjectAccesses=Mt,s.selectProjectAccessesByIds=lS,s.selectProjectAccessesOfProject=x_,s.selectProjectAttachmentById=PS,s.selectProjectAttachmentMapping=OS,s.selectProjectAttachments=ha,s.selectProjectAttachmentsByIds=bS,s.selectProjectById=hA,s.selectProjectCommentById=DS,s.selectProjectCommentMapping=jS,s.selectProjectComments=xt,s.selectProjectCommentsByIds=CS,s.selectProjectDocuments=m_,s.selectProjectFileById=JS,s.selectProjectFileMapping=YS,s.selectProjectFiles=ZS,s.selectProjectFilesByIds=QS,s.selectProjectMapping=oA,s.selectProjects=es,s.selectProjectsByIds=pA,s.selectProjectsOfOrganization=cM,s.selectRehydrated=GM,s.selectReportById=Bb,s.selectReportMapping=vb,s.selectReports=Vb,s.selectReportsByIds=zb,s.selectReviewsOfProcedureStepFieldValues=fO,s.selectTeamById=rF,s.selectTeamMembershipById=Xb,s.selectTeamMemberships=as,s.selectTeamMembershipsByIds=Yb,s.selectTeamMembershipsMapping=Wb,s.selectTeams=rn,s.selectTeamsByIds=dF,s.selectTeamsMapping=cF,s.selectTeamsOfOrganization=WM,s.selectUserById=Jt,s.selectUsers=Zt,s.selectUsersByIds=ff,s.selectUsersMapping=na,s.selectUsersOfOrganization=Y_,s.selectUsersOfProject=tM,s.selectUsersOfTeam=KM,s.setAsset=sc,s.setAssetAttachment=Mn,s.setAssetAttachments=gn,s.setAssetComment=$n,s.setAssetComments=Un,s.setAssetType=xr,s.setAssetTypeAttachment=hc,s.setAssetTypeAttachments=pc,s.setAssetTypeFieldValues=pr,s.setAssetTypeFieldValuesAttachment=xc,s.setAssetTypeFieldValuesAttachments=er,s.setAssetTypeFieldValuesMany=yr,s.setAssetTypeFields=Uc,s.setAssetTypeFieldsAttachment=Mc,s.setAssetTypeFieldsAttachments=gc,s.setAssetTypeFieldsMany=kc,s.setAssetTypeIdentifier=gr,s.setAssetTypeIdentifierValue=kr,s.setAssetTypeIdentifierValues=Lr,s.setAssetTypeIdentifiers=Rr,s.setAssetTypeStatus=md,s.setAssetTypeStatuses=fd,s.setAssetTypes=ed,s.setAssets=ic,s.setClientSDK=BF,s.setClientStore=vF,s.setConversation=In,s.setConversations=WF,s.setCurrentUser=K_,s.setCurrentUserProfile=W_,s.setDocument=Kd,s.setDocumentAttachment=Vd,s.setDocumentAttachments=Bd,s.setDocuments=Wd,s.setEmailDomain=cu,s.setEmailDomains=ru,s.setForm=zl,s.setFormIdentifier=Iu,s.setFormIdentifierValue=zu,s.setFormIdentifierValues=ju,s.setFormIdentifiers=Ou,s.setFormRevision=rl,s.setFormRevisionAttachment=Xu,s.setFormRevisionAttachments=Yu,s.setFormRevisions=dl,s.setFormSubmission=Eo,s.setFormSubmissionComment=Ao,s.setFormSubmissionComments=To,s.setFormSubmissionFieldValues=ao,s.setFormSubmissionFieldValuesAttachment=Wl,s.setFormSubmissionFieldValuesAttachments=Xl,s.setFormSubmissionFieldValuesMany=no,s.setFormSubmissions=vo,s.setFormSubscriber=Il,s.setFormSubscribers=Ol,s.setForms=jl,s.setGeoImage=Wo,s.setGeoImages=Xo,s.setIssue=lp,s.setIssueAssociation=dh,s.setIssueAssociations=rh,s.setIssueAttachment=Fh,s.setIssueAttachments=_h,s.setIssueComment=Qh,s.setIssueCommentAttachment=qh,s.setIssueCommentAttachments=$h,s.setIssueComments=xh,s.setIssueType=Mm,s.setIssueTypeAttachment=Fp,s.setIssueTypeAttachments=_p,s.setIssueTypeFieldValues=Qp,s.setIssueTypeFieldValuesAttachment=_y,s.setIssueTypeFieldValuesAttachments=My,s.setIssueTypeFieldValuesMany=xp,s.setIssueTypeFields=hy,s.setIssueTypeFieldsAttachment=qp,s.setIssueTypeFieldsAttachments=$p,s.setIssueTypeFieldsMany=py,s.setIssueTypeIdentifier=$y,s.setIssueTypeIdentifierValue=xy,s.setIssueTypeIdentifierValues=em,s.setIssueTypeIdentifiers=Uy,s.setIssueTypePriorities=ym,s.setIssueTypePriority=pm,s.setIssueTypeStatus=Um,s.setIssueTypeStatuses=km,s.setIssueTypes=gm,s.setIssueUpdate=Jm,s.setIssueUpdates=Qm,s.setIssues=op,s.setLoggedIn=Md,s.setOrganization=zf,s.setOrganizationAccess=Of,s.setOrganizationAccesses=Pf,s.setOrganizations=Bf,s.setProcedure=vA,s.setProcedureFieldValues=ZP,s.setProcedureFieldValuesAttachment=DP,s.setProcedureFieldValuesAttachments=CP,s.setProcedureFieldValuesMany=JP,s.setProcedureInitiative=AA,s.setProcedureInitiatives=TA,s.setProcedureStep=zO,s.setProcedureStepAssignee=XA,s.setProcedureStepAssignees=YA,s.setProcedureStepComment=dT,s.setProcedureStepComments=uT,s.setProcedureStepDefaultAssignee=PT,s.setProcedureStepDefaultAssignees=bT,s.setProcedureStepDefaultReviewer=DT,s.setProcedureStepDefaultReviewers=CT,s.setProcedureStepEvent=ZT,s.setProcedureStepEvents=JT,s.setProcedureStepFieldValues=YI,s.setProcedureStepFieldValuesAttachment=jI,s.setProcedureStepFieldValuesAttachments=DI,s.setProcedureStepFieldValuesMany=ZI,s.setProcedureStepFieldValuesReview=dO,s.setProcedureStepFieldValuesReviews=uO,s.setProcedureStepFields=bI,s.setProcedureStepFieldsAttachment=uI,s.setProcedureStepFieldsAttachments=lI,s.setProcedureStepFieldsMany=FI,s.setProcedureStepReviewer=PO,s.setProcedureStepReviewers=bO,s.setProcedureSteps=jO,s.setProcedureType=lb,s.setProcedureTypeAttachment=YO,s.setProcedureTypeAttachments=ZO,s.setProcedureTypeFields=bP,s.setProcedureTypeFieldsAttachment=uP,s.setProcedureTypeFieldsAttachments=lP,s.setProcedureTypeFieldsMany=FP,s.setProcedureTypes=ob,s.setProcedures=VA,s.setProject=iA,s.setProjectAccess=sS,s.setProjectAccesses=iS,s.setProjectAttachment=mS,s.setProjectAttachments=fS,s.setProjectComment=wS,s.setProjectComments=ES,s.setProjectFile=kS,s.setProjectFiles=LS,s.setProjects=sA,s.setRehydrated=HM,s.setReport=_b,s.setReports=Mb,s.setTeam=eF,s.setTeamMembership=Ub,s.setTeamMemberships=kb,s.setTeams=tF,s.setTokens=l_,s.setUser=uf,s.setUsers=df,s.teamMembershipReducer=Kb,s.teamMembershipSlice=nn,s.teamReducer=uF,s.teamSlice=cn,s.updateAsset=xn,s.updateAssetAttachment=Rn,s.updateAssetAttachments=wn,s.updateAssetComment=kn,s.updateAssetComments=Ln,s.updateAssetType=id,s.updateAssetTypeAttachment=yc,s.updateAssetTypeAttachments=mc,s.updateAssetTypeFieldValues=mr,s.updateAssetTypeFieldValuesAttachment=tr,s.updateAssetTypeFieldValuesAttachments=sr,s.updateAssetTypeFieldValuesMany=fr,s.updateAssetTypeFields=Lc,s.updateAssetTypeFieldsAttachment=Rc,s.updateAssetTypeFieldsAttachments=wc,s.updateAssetTypeFieldsMany=Hc,s.updateAssetTypeIdentifier=wr,s.updateAssetTypeIdentifierValue=Hr,s.updateAssetTypeIdentifierValues=Gr,s.updateAssetTypeIdentifiers=Er,s.updateAssetTypeStatus=Sd,s.updateAssetTypeStatuses=Ad,s.updateAssetTypes=ad,s.updateAssets=ec,s.updateConversation=On,s.updateConversations=XF,s.updateDocument=Xd,s.updateDocumentAttachment=zd,s.updateDocumentAttachments=jd,s.updateDocuments=Yd,s.updateEmailDomain=du,s.updateEmailDomains=uu,s.updateForm=Dl,s.updateFormIdentifier=Pu,s.updateFormIdentifierValue=Du,s.updateFormIdentifierValues=Cu,s.updateFormIdentifiers=bu,s.updateFormRevision=ul,s.updateFormRevisionAttachment=Zu,s.updateFormRevisionAttachments=Ju,s.updateFormRevisions=ll,s.updateFormSubmission=Bo,s.updateFormSubmissionComment=Io,s.updateFormSubmissionComments=Oo,s.updateFormSubmissionFieldValues=co,s.updateFormSubmissionFieldValuesAttachment=Yl,s.updateFormSubmissionFieldValuesAttachments=Zl,s.updateFormSubmissionFieldValuesMany=ro,s.updateFormSubmissions=zo,s.updateFormSubscriber=Pl,s.updateFormSubscribers=bl,s.updateForms=Cl,s.updateGeoImage=Jo,s.updateGeoImages=Qo,s.updateIssue=hp,s.updateIssueAssociation=uh,s.updateIssueAssociations=lh,s.updateIssueAttachment=Mh,s.updateIssueAttachments=gh,s.updateIssueComment=ep,s.updateIssueCommentAttachment=Uh,s.updateIssueCommentAttachments=kh,s.updateIssueComments=tp,s.updateIssueType=Rm,s.updateIssueTypeAttachment=Mp,s.updateIssueTypeAttachments=gp,s.updateIssueTypeFieldValues=ey,s.updateIssueTypeFieldValuesAttachment=gy,s.updateIssueTypeFieldValuesAttachments=Ry,s.updateIssueTypeFieldValuesMany=ty,s.updateIssueTypeFields=yy,s.updateIssueTypeFieldsAttachment=Up,s.updateIssueTypeFieldsAttachments=kp,s.updateIssueTypeFieldsMany=my,s.updateIssueTypeIdentifier=ky,s.updateIssueTypeIdentifierValue=tm,s.updateIssueTypeIdentifierValues=sm,s.updateIssueTypeIdentifiers=Ly,s.updateIssueTypePriorities=fm,s.updateIssueTypePriority=mm,s.updateIssueTypeStatus=Lm,s.updateIssueTypeStatuses=Hm,s.updateIssueTypes=wm,s.updateIssueUpdate=xm,s.updateIssueUpdates=ef,s.updateIssues=pp,s.updateOrganization=qf,s.updateOrganizationAccess=bf,s.updateOrganizationAccesses=Ff,s.updateOrganizations=Cf,s.updateProcedure=BA,s.updateProcedureFieldValues=QP,s.updateProcedureFieldValuesAttachment=qP,s.updateProcedureFieldValuesAttachments=$P,s.updateProcedureFieldValuesMany=xP,s.updateProcedureInitiative=IA,s.updateProcedureInitiatives=OA,s.updateProcedureStep=qO,s.updateProcedureStepAssignee=ZA,s.updateProcedureStepAssignees=JA,s.updateProcedureStepComment=lT,s.updateProcedureStepComments=oT,s.updateProcedureStepDefaultAssignee=FT,s.updateProcedureStepDefaultAssignees=_T,s.updateProcedureStepDefaultReviewer=qT,s.updateProcedureStepDefaultReviewers=$T,s.updateProcedureStepEvent=QT,s.updateProcedureStepEvents=xT,s.updateProcedureStepFieldValues=JI,s.updateProcedureStepFieldValuesAttachment=CI,s.updateProcedureStepFieldValuesAttachments=qI,s.updateProcedureStepFieldValuesMany=QI,s.updateProcedureStepFieldValuesReview=lO,s.updateProcedureStepFieldValuesReviews=oO,s.updateProcedureStepFields=_I,s.updateProcedureStepFieldsAttachment=oI,s.updateProcedureStepFieldsAttachments=hI,s.updateProcedureStepFieldsMany=MI,s.updateProcedureStepReviewer=FO,s.updateProcedureStepReviewers=_O,s.updateProcedureSteps=$O,s.updateProcedureType=hb,s.updateProcedureTypeAttachment=JO,s.updateProcedureTypeAttachments=QO,s.updateProcedureTypeFields=_P,s.updateProcedureTypeFieldsAttachment=oP,s.updateProcedureTypeFieldsAttachments=hP,s.updateProcedureTypeFieldsMany=MP,s.updateProcedureTypes=pb,s.updateProcedures=zA,s.updateProject=rA,s.updateProjectAccess=aS,s.updateProjectAccesses=nS,s.updateProjectAttachment=SS,s.updateProjectAttachments=AS,s.updateProjectComment=vS,s.updateProjectComments=VS,s.updateProjectFile=NS,s.updateProjectFiles=KS,s.updateProjects=cA,s.updateReport=gb,s.updateReports=Rb,s.updateTeam=sF,s.updateTeamMembership=Lb,s.updateTeamMemberships=Hb,s.updateTeams=iF,s.updateUser=hf,s.updateUsers=of,s.userReducer=yf,s.userSlice=sa,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|
|
13
|
+
external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}return await this.cacheFile(p),p}processPresignedUrl(e,i){if("warning"in i){if(i.warning==="already_uploaded")return Promise.resolve(void 0);throw console.error(i.warning),new Error(i.warning)}return this.enqueueRequest({url:i.url,description:"Upload file to S3",method:o.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${i.fields.key}`,"s3-presigned-upload"],blocks:[e,"s3-presigned-upload"],s3url:i})}processPresignedUrls(e){const i={};for(const[a,n]of Object.entries(e))i[a]=this.processPresignedUrl(a,n);return i}async getFilePayload(e){const a={sha1:await cs(e),file_type:e.type,extension:qF(e),size:e.size};return await this.client.files.cacheFile(e),a}async cachePresignedUrl(e,i){if(yn.has(e))return;const a=await this.getDB();!!await a.get("presignedUrls",e)?console.warn(`Attempting to add a presigned url already cached, ${i}`):await a.put("presignedUrls",i,e),yn.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),yn.delete(e)}async getPresignedUrlFromCache(e){const i=await(await this.getDB()).get("presignedUrls",e);if(!i)return;if(NF(i)){await this.uncachePresignedUrl(e);return}return i}}class Ng extends g{name="Form Identifier";url="/form-identifiers";actions={addOne:ju,addMany:Cu,setOne:Du,setMany:qu,updateOne:$u,updateMany:Uu,deleteOne:ku,deleteMany:Lu,initialize:zu};selectors={selectById:Gu,selectByIds:Nu};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class Kg extends g{name="Form Identifier Value";url="/form-identifier-values";actions={addOne:Yu,addMany:Zu,setOne:Ju,setMany:Qu,updateOne:xu,updateMany:el,deleteOne:tl,deleteMany:sl,initialize:Xu};selectors={selectById:al,selectByIds:nl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form_submission,e.form_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class Wg extends v{name="Form Revision Attachment";url="/form-revision-attachments";actions={addOne:ul,addMany:ll,setOne:ol,setMany:hl,updateOne:pl,updateMany:yl,deleteOne:ml,deleteMany:fl,initialize:dl};selectors={selectById:Al,selectByIds:Tl};getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form_revision__form__organization:e}},i);return this.dispatch(a(n)),n}}class Xg extends g{name="Form Revision";url="/form-revisions";actions={addOne:Pl,addMany:Zs,setOne:Fl,setMany:_l,updateOne:Ml,updateMany:gl,deleteOne:Rl,deleteMany:Js,initialize:bl};selectors={selectById:El,selectByIds:vl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class Yg extends g{name="Form";url="/forms";actions={addOne:Yl,addMany:Zl,setOne:Jl,setMany:Ql,updateOne:xl,updateMany:eo,deleteOne:to,deleteMany:so,initialize:Xl};selectors={selectById:no,selectByIds:co};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error("Expected form to exist");const d=this.select(sh(e)),r=this.select(Vl(e)),p=this.select(Nl(e));this.dispatch(i(e)),this.dispatch(lt(l.toUuidArray(d))),this.dispatch(Js(l.toUuidArray(r))),this.dispatch(ei(l.toUuidArray(p)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(Zs(r)),this.dispatch(ut(d)),this.dispatch(xs(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class Zg extends g{name="Form Subscriber";url="/form-subscribers";actions={addOne:Cl,addMany:xs,setOne:Dl,setMany:ql,updateOne:$l,updateMany:Ul,deleteOne:kl,deleteMany:ei,initialize:jl};selectors={selectById:Hl,selectByIds:Gl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,created_by:d,submitted_at:c});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form subscriber with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class Jg extends v{name="Form Submission Field Values Attachment";url="/form-submission-field-values-attachments";actions={addOne:lo,addMany:ai,setOne:oo,setMany:ho,updateOne:po,updateMany:yo,deleteOne:mo,deleteMany:ni,initialize:uo};selectors={selectById:fo,selectByIds:di};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,n=this.select(di(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(a(n)),c}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,field_values__form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,field_values__form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class Qg extends g{name="Form Submission Field Values";url="/form-submission-field-values";actions={addOne:Oo,addMany:li,setOne:bo,setMany:Po,updateOne:Fo,updateMany:_o,deleteOne:Mo,deleteMany:oi,initialize:Io};selectors={selectById:Ro,selectByIds:wo};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form_submission],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class xg extends g{name="Form Submission Comment";url="/form-submission-comments";actions={addOne:zo,addMany:yi,setOne:jo,setMany:Co,updateOne:Do,updateMany:qo,deleteOne:$o,deleteMany:mi,initialize:Bo};selectors={selectById:ko,selectByIds:Lo};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.form_submission],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Form submission comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Form submission comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{form_submission__organization:e}},i),this.listPaginated({queryParams:{form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class eR extends g{name="Form Submission";url="/form-submissions";actions={addOne:Yo,addMany:ut,setOne:Wo,setMany:Xo,updateOne:Zo,updateMany:Jo,deleteOne:Qo,deleteMany:lt,initialize:Ko};selectors={selectById:eh,selectByIds:th};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(Eo(e)),r=d.flatMap(({uuid:h})=>this.select(So(h))),p=this.select(Ho(e));this.dispatch(i(e)),this.dispatch(oi(l.toUuidArray(d))),this.dispatch(ni(l.toUuidArray(r))),this.dispatch(mi(l.toUuidArray(p)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(li(d)),this.dispatch(ai(r)),this.dispatch(yi(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{organization:e}},i),this.listPaginated({queryParams:{project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class tR extends v{name="Geo Image";url="/geo-images";actions={addOne:hh,addMany:ph,setOne:lh,setMany:oh,updateOne:yh,updateMany:mh,deleteOne:fh,deleteMany:Sh,initialize:uh};selectors={selectById:Th,selectByIds:Ih};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project:e}},i);return this.dispatch(a(n)),n}}class sR extends g{name="Issue Association";url="/issue-associations";actions={addOne:Rh,addMany:St,setOne:_h,setMany:Fh,updateOne:Mh,updateMany:gh,deleteOne:wh,deleteMany:At,initialize:Ph};selectors={selectById:vh,selectByIds:Vh};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.asset],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e){const{addMany:i,deleteMany:a,updateMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,submitted_at:d,created_by:c}));this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{payloads:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.issue,h.asset]),blocks:l.toUuidArray(r)});return p.then(h=>{this.dispatch(n(h))}).catch(()=>{this.dispatch(a(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class iR extends v{name="Issue Attachment";url="/issue-attachments";actions={addOne:Uh,addMany:Oi,setOne:kh,setMany:Lh,updateOne:Hh,updateMany:Gh,deleteOne:Nh,deleteMany:bi,initialize:$h};selectors={selectById:Xh,selectByIds:Yh};getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class aR extends v{name="Issue Comment Attachment";url="/issue-comment-attachments";actions={addOne:xh,addMany:ep,setOne:tp,setMany:sp,updateOne:ip,updateMany:ap,deleteOne:np,deleteMany:cp,initialize:Qh};selectors={selectById:dp,selectByIds:up};getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class nR extends g{name="Issue Comment";url="/issue-comments";actions={addOne:pp,addMany:yp,setOne:mp,setMany:fp,updateOne:Sp,updateMany:Ap,deleteOne:Tp,deleteMany:Ip,initialize:hp};selectors={selectById:Op,selectByIds:bp};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.issue],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class cR extends g{name="Issue";url="/issues";actions={addOne:Mp,addMany:wi,setOne:gp,setMany:Rp,updateOne:wp,updateMany:Ep,deleteOne:vp,deleteMany:Ei,initialize:_p};selectors={selectById:Bp,selectByIds:zp};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.project,r.issue_type,r.status,r.priority],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const c={...n,...e};this.dispatch(i(c));const d={};for(const h of[l.IssueUpdateChange.TITLE,l.IssueUpdateChange.DESCRIPTION,l.IssueUpdateChange.STATUS,l.IssueUpdateChange.PRIORITY,l.IssueUpdateChange.ASSIGNED_TO,l.IssueUpdateChange.DUE_DATE])if(h in e&&e[h]!==n[h])switch(h){case l.IssueUpdateChange.PRIORITY:{const f=e[h],A=this.select(Ki(f));if(!A)throw new Error(`Trying to update issue type priority with ${f} which does not exist in store`);d[h]={name:A.name,color:A.color,uuid:A.uuid};break}case l.IssueUpdateChange.DUE_DATE:d[h]=e.due_date;break;case l.IssueUpdateChange.DESCRIPTION:d[h]=e.description??"";break;case l.IssueUpdateChange.TITLE:d[h]=e.title??"";break;case l.IssueUpdateChange.STATUS:{const f=e[h],A=this.select(Ji(f));if(!A)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);d[h]={name:A.name,color:A.color,uuid:A.uuid};break}case l.IssueUpdateChange.ASSIGNED_TO:{const f=e[h];if(f===null)d[h]=null;else{const A=this.select(Qt(f));if(!A)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);d[h]={full_name:A.username,id:A.id}}break}}const r=l.uuidObj({created_by:this.select(h=>h.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString(),issue:n.uuid,changes:d});this.dispatch(xi(r));const p=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return p.then(h=>{this.dispatch(i(h))}).catch(()=>{this.dispatch(i(n)),this.dispatch(ta(r.uuid))}),[c,p]}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} issues that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=dt.v4(),_=l.toUuidArray(S),F=S.map(({status:R})=>R).filter(Boolean),w=S.map(({priority:R})=>R).filter(Boolean),V=this.enqueueRequest({description:m(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F).concat(w),blocks:[P].concat(_)});A.push(V),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const d=this.select(zh(e)),r=this.select(Wh(e)),p=this.select(Of(e)),h=this.select(ih(e));this.dispatch(i(e)),this.dispatch(bi(l.toUuidArray(r))),this.dispatch(sa(l.toUuidArray(p))),this.dispatch(At(l.toUuidArray(d))),this.dispatch(lt(l.toUuidArray(h)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(a(c)),this.dispatch(Oi(r)),this.dispatch(ea(p)),this.dispatch(St(d)),this.dispatch(ut(h)),f}}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(Bh(e)),r=this.select(ah(e));this.dispatch(a(e)),this.dispatch(At(l.toUuidArray(d))),this.dispatch(lt(l.toUuidArray(r)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(i(c)),this.dispatch(St(d)),this.dispatch(ut(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class rR extends v{name="Issue Type Attachment";url="/issue-type-attachments";actions={addOne:$p,addMany:Up,setOne:kp,setMany:Lp,updateOne:Hp,updateMany:Gp,deleteOne:Np,deleteMany:Kp,initialize:qp};selectors={selectById:Xp,selectByIds:Yp};getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class dR extends v{name="Issue Type Fields Attachment";url="/issue-type-fields-attachments";actions={addOne:xp,addMany:ey,setOne:ty,setMany:sy,updateOne:iy,updateMany:ay,deleteOne:ny,deleteMany:cy,initialize:Qp};selectors={selectById:dy,selectByIds:uy};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class uR extends g{name="Issue Type Fields";url="/issue-type-fields";actions={addOne:gy,addMany:Ry,setOne:wy,setMany:Ey,updateOne:vy,updateMany:Vy,deleteOne:By,deleteMany:zy,initialize:My};selectors={selectById:Cy,selectByIds:Dy};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class lR extends v{name="Issue Type Field Values Attachment";url="/issue-type-field-values-attachments";actions={addOne:ky,addMany:qi,setOne:Ly,setMany:Hy,updateOne:Gy,updateMany:Ny,deleteOne:Ky,deleteMany:$i,initialize:Uy};selectors={selectById:Xy,selectByIds:Yy};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class oR extends g{name="Issue Type Field Values";url="/issue-type-field-values";actions={addOne:py,addMany:yy,setOne:my,setMany:fy,updateOne:Sy,updateMany:Ay,deleteOne:Ty,deleteMany:Iy,initialize:hy};selectors={selectById:by,selectByIds:Py};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.issue],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(Zy(e));this.dispatch(i(e)),this.dispatch($i(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(qi(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class hR extends g{name="Issue Type Identifier";url="/issue-type-identifiers";actions={addOne:em,addMany:tm,setOne:sm,setMany:im,updateOne:am,updateMany:nm,deleteOne:cm,deleteMany:rm,initialize:xy};selectors={selectById:um,selectByIds:lm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class pR extends g{name="Issue Type Identifier Value";url="/issue-type-identifier-values";actions={addOne:ym,addMany:mm,setOne:fm,setMany:Sm,updateOne:Am,updateMany:Tm,deleteOne:Im,deleteMany:Om,initialize:pm};selectors={selectById:Pm,selectByIds:Fm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.issue_type_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class yR extends g{name="Issue Type Priority";url="/issue-type-priorities";actions={addOne:Rm,addMany:wm,setOne:Em,setMany:vm,updateOne:Vm,updateMany:Bm,deleteOne:zm,deleteMany:jm,initialize:gm};selectors={selectById:Ki,selectByIds:Dm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing issue type priority with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue type priority with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class mR extends g{name="Issue Type";url="/issue-types";actions={addOne:km,addMany:Lm,setOne:Hm,setMany:Gm,updateOne:Nm,updateMany:Km,deleteOne:Wm,deleteMany:Xm,initialize:Um};selectors={selectById:Zm,selectByIds:Jm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,submitted_at:d,created_by:c});this.dispatch(i(r));const p=this.enqueueRequest({method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const d=this.select(jp(e));this.dispatch(a(e)),this.dispatch(Ei(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(i(c)),this.dispatch(wi(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class fR extends g{name="Issue Type Status";url="/issue-type-statuses";actions={addOne:tf,addMany:sf,setOne:af,setMany:nf,updateOne:cf,updateMany:rf,deleteOne:df,deleteMany:uf,initialize:ef};selectors={selectById:Ji,selectByIds:of};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class SR extends g{name="Issue Update";url="/issue-updates";actions={addOne:xi,addMany:ea,setOne:mf,setMany:ff,updateOne:Sf,updateMany:Af,deleteOne:ta,deleteMany:sa,initialize:yf};selectors={selectById:Tf,selectByIds:If};async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}const AR=1800;function TR(t){if(!t.access)throw new Error("Missing access token");if(!t.refresh)throw new Error("Missing refresh token");return{accessToken:t.access,refreshToken:t.refresh}}class IR extends KF{_getRenewedTokens=async e=>{const i=this.performRequest({method:o.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await i}catch(n){console.error("Could not renew tokens; clearing auth",n),this.clearAuth();return}if(!a.access)throw new Error("Missing access token");return{accessToken:a.access,refreshToken:a.refresh??this.getRefreshToken()}};clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(Hd(!1)),this.clearTokens(),this.dispatch(T()),this.dispatch(T())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const i=await this._getRenewedTokens(e);if(!i)return;console.debug("Got renewed tokens"),this.setTokens(i)}catch(i){throw console.error("Could not renew tokens; clearing auth",i),this.clearAuth(),i}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const i=Date.now()/1e3;let a;try{a=c_(e).exp??i}catch{a=i}return a-i<AR}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(e){return e instanceof z&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??l.ERROR_MSG_UNEXPECTED).toString()))}}}async handleUnauthorized(e,i){if(e.url.endsWith("/token/refresh/"))throw this.select(a=>a.authReducer.isLoggedIn)&&console.warn("No signed-in user to sign out."),this.clearAuth(),new z({message:"You have been signed out due to inactivity.",response:i,discard:!0});if(this.select(a=>a.authReducer.isLoggedIn))await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new z({message:"Incorrect username or password.",response:i,discard:!0})}async initAuth(e){const i=dt.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:i,method:o.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(TR(a))})}}class OR extends rt{name="Organization Access";url="/organization-accesses";actions={addOne:Cf,addMany:Df,setOne:qf,setMany:$f,updateOne:Uf,updateMany:kf,deleteOne:Lf,deleteMany:Hf,initialize:jf};selectors={selectById:Nf,selectByIds:Kf};update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid)),c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(r=>{throw this.dispatch(i(n)),r}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e)),d=this.select(Qt(c.user));this.dispatch(i(c.uuid)),this.dispatch(ra(c.user));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${c.uuid}/`,blockers:[c.uuid],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(ca(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class bR extends rt{name="Organization";url="/organizations";actions={addOne:xf,addMany:Qf,setOne:Jf,setMany:Zf,updateOne:tS,updateMany:eS,deleteOne:sS,deleteMany:iS,initialize:Yf};selectors={selectById:cS,selectByIds:rS};async add(e){const{addOne:i}=this.actions,a=await this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(i(a)),a}async update(e){const{updateOne:i}=this.actions,a=await this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(i(a)),a}async invite(e,i){return this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/${e}/invite/${i}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:i}=this.actions,a=await this.list({},e);return this.dispatch(i(a)),a}}class PR extends g{name="Project Access";url="/project-accesses";actions={addOne:SS,addMany:AS,setOne:TS,setMany:IS,updateOne:OS,updateMany:bS,deleteOne:PS,deleteMany:FS,initialize:fS};selectors={selectById:MS,selectByIds:gS};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.organization_access,c.project],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(r=>{throw this.dispatch(n(c.uuid)),r}),[c,d]}bulkAdd(e){const{addMany:i,deleteMany:a,updateMany:n}=this.actions,c=this.select(p=>p.userReducer.currentUser?.id??null),d=e.map(p=>l.uuidObj({...p,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{project_accesses:d.map(p=>M(p))},blockers:d.flatMap(p=>[p.project,p.organization_access]),blocks:d.map(p=>p.uuid)});return r.then(p=>{this.dispatch(n(p))}).catch(p=>{throw this.dispatch(a(d.map(h=>h.uuid))),p}),[d,r]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid)),c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return d.then(r=>{this.dispatch(i(r))}).catch(r=>{throw this.dispatch(i(n)),r}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project__organization:e}},i);return this.dispatch(a(n)),n}}class FR extends v{name="Project Attachment";url="/project-attachments";actions={addOne:ES,addMany:vS,setOne:VS,setMany:BS,updateOne:zS,updateMany:jS,deleteOne:CS,deleteMany:DS,initialize:wS};selectors={selectById:$S,selectByIds:US};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project__organization:e}},i);return this.dispatch(a(n)),n}}class _R extends g{name="Project Comment";url="/project-comments";actions={addOne:GS,addMany:NS,setOne:KS,setMany:WS,updateOne:XS,updateMany:YS,deleteOne:ZS,deleteMany:JS,initialize:HS};selectors={selectById:xS,selectByIds:eA};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.project],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Project comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Project comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class MR extends v{name="Project File";url="/project-files";actions={addOne:cA,addMany:rA,setOne:aA,setMany:nA,updateOne:dA,updateMany:uA,deleteOne:lA,deleteMany:oA,initialize:iA};selectors={selectById:yA,selectByIds:mA};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class gR extends rt{name="Project";url="/projects";actions={addOne:bA,addMany:OA,setOne:IA,setMany:TA,updateOne:FA,updateMany:PA,deleteOne:_A,deleteMany:MA,initialize:AA};selectors={selectById:wA,selectByIds:EA};async add(e){const{addOne:i}=this.actions,a=await this.performRequest({method:o.POST,url:`${this.url}/`,payload:M(e)});return this.dispatch(i(a)),a}async update(e){const{updateOne:i}=this.actions,a=await this.performRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e)});return this.dispatch(i(a)),a}async delete(e){const{deleteOne:i}=this.actions,a=await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(i(e)),a}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class RR extends rt{name="Report";url="/reports";actions={addOne:UP,addMany:kP,setOne:LP,setMany:HP,updateOne:GP,updateMany:NP,deleteOne:KP,deleteMany:WP,initialize:$P};selectors={selectById:ZP,selectByIds:JP};async getPresignedUrl(e,i){return this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:o.GET},i)}async refreshStore(e,i){const n=(await this.listPaginated({queryParams:{organization:e}},i)).flat();return this.dispatch(this.actions.initialize(n)),n}}class wR extends g{name="Procedure";url="/procedures";actions={addOne:WA,addMany:It,setOne:XA,setMany:YA,updateOne:ZA,updateMany:JA,deleteOne:QA,deleteMany:Ot,initialize:KA};selectors={selectById:tT,selectByIds:sT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type,c.project,c.asset,...c.procedure_initiative?[c.procedure_initiative]:[]],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e,i){const{store:a}=this.client,{addMany:n,updateMany:c,deleteMany:d}=this.actions,r=new Date().toISOString(),p=a.getState().userReducer.currentUser?.id??null,h=[],f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];for(const S of f){const P=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:r,created_by:p});h.push(R),P.push(M(R)),_.push(R.procedure_type,R.project,R.asset,...R.procedure_initiative?[R.procedure_initiative]:[]),F.push(R.uuid)}const w={payload:{submitted_at:r,payloads:P},blockers:_,blocks:F};A.push(w)}this.dispatch(n(h));const I=A.map(S=>{const{payload:P,blocks:_,blockers:F}=S;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:P,blockers:F,blocks:_})});return Promise.all(I).then(S=>{this.dispatch(c(S.flat()))}).catch(()=>{this.dispatch(d(l.toUuidArray(h)))}),[h,Promise.all(I).then(S=>S.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(a(l.toUuidArray(c)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class ER extends g{name="Procedure Step Assignee";url="/procedure-step-assignees";actions={addOne:uT,addMany:lT,setOne:oT,setMany:hT,updateOne:pT,updateMany:yT,deleteOne:mT,deleteMany:fT,initialize:dT};selectors={selectById:AT,selectByIds:TT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,created_by:c,submitted_at:d}));this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_assignees:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.procedure,h.procedure_step]),blocks:l.toUuidArray(r)});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step assignee with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class vR extends g{name="Procedure Step Comment";url="/procedure-step-comments";actions={addOne:PT,addMany:FT,setOne:_T,setMany:MT,updateOne:gT,updateMany:RT,deleteOne:wT,deleteMany:ET,initialize:bT};selectors={selectById:VT,selectByIds:BT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Procedure step comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Procedure step comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class VR extends g{name="Procedure Step Default Assignee";url="/procedure-step-default-assignees";actions={addOne:DT,addMany:qT,setOne:$T,setMany:UT,updateOne:kT,updateMany:LT,deleteOne:HT,deleteMany:GT,initialize:CT};selectors={selectById:KT,selectByIds:WT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step default assignee with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class BR extends g{name="Procedure Step Default Reviewer";url="/procedure-step-default-reviewers";actions={addOne:JT,addMany:QT,setOne:xT,setMany:eI,updateOne:tI,updateMany:sI,deleteOne:iI,deleteMany:aI,initialize:ZT};selectors={selectById:cI,selectByIds:rI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step default reviewer with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class zR extends rt{name="Procedure Step Event";url="/procedure-step-events";actions={addOne:oI,addMany:hI,setOne:pI,setMany:yI,updateOne:mI,updateMany:fI,deleteOne:SI,deleteMany:AI,initialize:lI};selectors={selectById:II,selectByIds:OI};async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class jR extends v{name="Procedure Step Fields Attachment";url="/procedure-step-fields-attachments";actions={addOne:_I,addMany:wa,setOne:MI,setMany:gI,updateOne:RI,updateMany:wI,deleteOne:EI,deleteMany:Ea,initialize:FI};selectors={selectById:BI,selectByIds:zI};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){return l.uuidObj({...e,created_by:this.select(i=>i.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class CR extends g{name="Procedure Step Fields";url="/procedure-step-fields";actions={addOne:qI,addMany:$I,setOne:UI,setMany:kI,updateOne:LI,updateMany:HI,deleteOne:GI,deleteMany:NI,initialize:DI};selectors={selectById:KI,selectByIds:WI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No procedure step fields with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const d=this.select(VI(e));this.dispatch(i(e)),this.dispatch(Ea(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(wa(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class DR extends v{name="Procedure Step Field Values Attachment";url="/procedure-step-field-values-attachments";actions={addOne:JI,addMany:ja,setOne:QI,setMany:xI,updateOne:eO,updateMany:tO,deleteOne:sO,deleteMany:Ca,initialize:ZI};selectors={selectById:aO,selectByIds:nO};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class qR extends g{name="Procedure Step Field Values Review";url="/procedure-step-field-values-reviews";actions={addOne:FO,addMany:Ua,setOne:_O,setMany:MO,updateOne:gO,updateMany:RO,deleteOne:wO,deleteMany:ka,initialize:PO};selectors={selectById:vO,selectByIds:VO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.field_values],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Procedure step field values review with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Procedure step field values review with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class $R extends g{name="Procedure Step Field Values";url="/procedure-step-field-values";actions={addOne:lO,addMany:oO,setOne:hO,setMany:pO,updateOne:yO,updateMany:mO,deleteOne:fO,deleteMany:SO,initialize:uO};selectors={selectById:IO,selectByIds:OO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const w=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(w),S.push(M(w)),P.push(w.procedure_step,w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.procedure,c.procedure_step,c.fields_revision],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e} to exist`);const d=this.select(cO(e)),r=this.select(BO(e));this.dispatch(i(e)),this.dispatch(Ca(l.toUuidArray(d))),this.dispatch(ka(l.toUuidArray(r)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(ja(d)),this.dispatch(Ua(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class UR extends g{name="Procedure Step Reviewer";url="/procedure-step-reviewers";actions={addOne:DO,addMany:qO,setOne:$O,setMany:UO,updateOne:kO,updateMany:LO,deleteOne:HO,deleteMany:GO,initialize:CO};selectors={selectById:KO,selectByIds:WO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,created_by:c,submitted_at:d}));this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_reviewers:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.procedure,h.procedure_step]),blocks:r.map(h=>h.uuid)});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step reviewer with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class kR extends g{name="Procedure Initiative";url="/procedure-initiatives";actions={addOne:BA,addMany:zA,setOne:jA,setMany:CA,updateOne:DA,updateMany:qA,deleteOne:$A,deleteMany:UA,initialize:VA};selectors={selectById:HA,selectByIds:GA};add(e){const{store:i}=this.client,{addOne:a,updateOne:n,deleteOne:c}=this.actions,d=l.uuidObj({...e,created_by:i.getState().userReducer.currentUser?.id??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const r=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.procedure_type,d.project],blocks:[d.uuid]});return r.then(p=>{this.dispatch(n(p))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,r]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ${this.name} with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected ${this.name} with uuid ${e} to exist`);const d=this.select(cT(e));this.dispatch(i(e)),this.dispatch(Ot(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(It(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class LR extends g{name="Procedure Step";url="/procedure-steps";actions={addOne:xO,addMany:eb,setOne:JO,setMany:QO,updateOne:tb,updateMany:sb,deleteOne:ib,deleteMany:ab,initialize:ZO};selectors={selectById:cb,selectByIds:rb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No procedure step with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${n.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No procedure step with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} ${this.name} that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=dt.v4(),_=l.toUuidArray(S),F=this.enqueueRequest({description:m(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_),blocks:[P].concat(_)});A.push(F),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class HR extends v{name="Procedure Type Attachment";url="/procedure-type-attachments";actions={addOne:lb,addMany:ob,setOne:hb,setMany:pb,updateOne:yb,updateMany:mb,deleteOne:fb,deleteMany:Sb,initialize:ub};selectors={selectById:Ib,selectByIds:Ob};getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class GR extends v{name="Procedure Type Fields Attachment";url="/procedure-type-fields-attachments";actions={addOne:Fb,addMany:_b,setOne:Mb,setMany:gb,updateOne:Rb,updateMany:wb,deleteOne:Eb,deleteMany:vb,initialize:Pb};selectors={selectById:zb,selectByIds:jb};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class NR extends g{name="Procedure Type Fields";url="/procedure-type-fields";actions={addOne:qb,addMany:$b,setOne:Ub,setMany:kb,updateOne:Lb,updateMany:Hb,deleteOne:Gb,deleteMany:Nb,initialize:Db};selectors={selectById:Xb,selectByIds:Yb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.procedure_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class KR extends v{name="Procedure Field Values Attachment";url="/procedure-field-values-attachments";actions={addOne:Qb,addMany:Qa,setOne:xb,setMany:eP,updateOne:tP,updateMany:sP,deleteOne:iP,deleteMany:xa,initialize:Jb};selectors={selectById:cP,selectByIds:rP};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class WR extends g{name="Procedure Field Values";url="/procedure-field-values";actions={addOne:oP,addMany:hP,setOne:pP,setMany:yP,updateOne:mP,updateMany:fP,deleteOne:SP,deleteMany:AP,initialize:lP};selectors={selectById:OP,selectByIds:bP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.fields_revision,e.procedure],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const w=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(w),S.push(M(w)),P.push(w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.fields_revision,c.procedure],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(dP(e));this.dispatch(i(e)),this.dispatch(xa(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(Qa(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class XR extends g{name="Procedure Type";url="/procedure-types";actions={addOne:_P,addMany:MP,setOne:gP,setMany:RP,updateOne:wP,updateMany:EP,deleteOne:vP,deleteMany:VP,initialize:FP};selectors={selectById:jP,selectByIds:CP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected procedure type with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure type with uuid ${e} to exist`);const d=this.select(iT(e));this.dispatch(i(e)),this.dispatch(Ot(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(It(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class YR extends g{name="Team Membership";url="/team-memberships";actions={addOne:tF,addMany:sF,setOne:iF,setMany:aF,updateOne:nF,updateMany:cF,deleteOne:rF,deleteMany:dF,initialize:eF};selectors={selectById:oF,selectByIds:hF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.team],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(p=>p.userReducer.currentUser?.id??null),d=e.map(p=>l.uuidObj({...p,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{team_memberships:d.map(p=>M(p))},blockers:d.map(p=>p.team),blocks:d.map(p=>p.uuid)});return r.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(n(d.map(p=>p.uuid)))}),[d,r]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{team__organization:e}},i);return this.dispatch(a(n)),n}}class ZR extends g{name="Team";url="/teams";actions={addOne:mF,addMany:fF,setOne:SF,setMany:AF,updateOne:TF,updateMany:IF,deleteOne:OF,deleteMany:bF,initialize:yF};selectors={selectById:FF,selectByIds:_F};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,submitted_at:new Date().toISOString(),created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e),blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class JR extends rt{name="User";url="/user";actions={addOne:ca,addMany:gf,setOne:Mf,setMany:_f,updateOne:wf,updateMany:Rf,deleteOne:ra,deleteMany:Ef,initialize:Ff};selectors={selectById:Qt,selectByIds:Bf};async list(e,i){const{organizationUuid:a,...n}=e,c=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:o.GET,url:c,...n},i)}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({organizationUuid:e},i);return this.dispatch(a(n)),n}}async function mn(t,e,i,a,n){const c=a instanceof yt;c&&e.checkAuth!==!1&&await a.auth.prepareAuth();const d={queryParams:"",isAuthNeeded:!0},{s3url:r,payload:p,headers:h,method:f,queryParams:A,attachmentHash:I,isExternalUrl:S,isAuthNeeded:P,isResponseBlob:_}={...d,...e};let F=e.url;const w=I?await i.files.getFileFromCache(I):void 0,V=w?await DF(w):void 0;if(I){if(!V)throw new Error(`Cannot upload file ${I} because it's not cached.`);if(V.size===0)throw new Error(`Cannot upload file ${I} because its has a size of 0.`)}!S&&!F.startsWith("http")&&(!F.startsWith("/")&&!F.startsWith("blob:")&&(F="/"+F),F=t+F);const R=B=>{if(I){if(!r)throw new Error(`No S3 URL for file ${I}`);if("warning"in r)throw new Error(`S3 URL warning for file ${I}`);if(!V)throw new Error(`No file for file ${I}`);const q=r.fields["x-amz-checksum-sha1"];if(!q)throw new Error(`No checksum for file ${I}`);return B.set("x-amz-checksum-sha1",q).field({...p,...r.fields}).attach("file",V)}return B.send(p)},Bt={[o.GET]:()=>_?ft.get(F.toString()).responseType("blob"):ft.get(F.toString()),[o.POST]:()=>{const B=ft.post(F.toString());return R(B)},[o.PATCH]:()=>{const B=ft.patch(F.toString());return R(B)},[o.PUT]:()=>{const B=ft.put(F.toString());return R(B)},[o.DELETE]:()=>{const B=ft.delete(F.toString());return R(B)}}[f];let j=Bt();const rs=()=>{console.debug("aborting request:",e.url),j.abort()};n?.addEventListener("abort",rs),P&&c&&(j=a.auth.applyAuth(j)),h&&(j=j.set(h));try{return await j.query(A)}catch(B){const q=CF(B),zt=q?.status;throw c&&q&&a.auth.isAuthFailure(q)?(await a.auth.handleUnauthorized(j,q),new z({response:q,innerError:B,discard:!1})):new z({response:q,innerError:B,discard:hn.includes(zt)})}finally{n?.removeEventListener("abort",rs)}}class QR{store;constructor(e){this.store=e}_performRequest(e,i,a,n){const c=new l.DeferredPromise,d={...i,uuid:i.uuid??dt.v4()};return mn(e,d,this,a,n).then(r=>{c.resolve(r.body)}).catch(r=>{r instanceof Error?c.reject(r):c.reject(new Error((r??l.ERROR_MSG_UNEXPECTED).toString()))}),c}async performRequest(e,i,a,n){return this._performRequest(e,i,a,n).then(c=>{if(c instanceof z)throw c;return c})}async enqueueRequest(e,i,a){return this._enqueueRequest(e,i,a).then(n=>{if(n instanceof z)throw n;return n})}_enqueueRequest(e,i,a){const n=new l.DeferredPromise,c={...e,BASE_URL:i,serviceName:a},d=this.store.dispatch(oS(c)),r=h=>{if(h)n.resolve(h.body);else{const f=new z({message:"Could not get a response from the server.",response:h,discard:!0});n.reject(f)}},p=h=>{h instanceof z?h.options.discard=!0:(console.error("Received an unexpected error while processing a request:",h,`
|
|
14
|
+
Converting error to APIError and discarding.`),h=new z({message:"An error occurred while processing the request.",innerError:h,discard:!0})),n.reject(h)};return d.then(r,p),n}async performPagination(e,i,a,n,c){const d={...i,queryParams:{...i.queryParams,paginate:!0,limit:a}},{method:r}=d,p=[];let h=await this.performRequest(e,d,n,c);for(p.push(h.results);h.next;)h=await this.performRequest(e,{url:h.next,method:r},n,c),p.push(h.results);return p}}class bt{graph;requestAttemptCounter;constructor(){this.graph=new r_.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(e){const i=new bt;for(let a=0;a<e.length;a++){const n=e[a];if(!n){console.error("Outbox item was undefined");continue}i.sneakRequest(n);for(let c=0;c<a;c++){const d=e[c];if(!d){console.error("Previous outbox item was undefined");continue}d.payload.uuid!==n.payload.uuid&&d.payload.blocks.some(r=>n.payload.blockers.includes(r))&&bt._addDependency(n.payload.uuid,d.payload.uuid,i.graph)}}return i}_addDependency(e,i){bt._addDependency(e,i,this.graph)}static _addDependency(e,i,a){if(e===i)throw new Error(`Tried to add dependency from node to itself: ${e}`);if(!a.hasNode(e))throw new Error(`Tried to add dependency from non-existent node: ${e} (to node: ${i})`);if(!a.hasNode(i))throw new Error(`Tried to add dependency to non-existent node: ${i} (from node: ${e})`);a.addDependency(e,i)}addRequest(e){if(this.graph.addNode(e.payload.uuid,e),!(e.payload.blockers.length===0||this.graph.size()===1))for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const a=this.graph.getNodeData(i),n=new Set(a.payload.blocks);e.payload.blockers.some(c=>n.has(c))&&this._addDependency(e.payload.uuid,i)}}insertRequest(e){this.graph.addNode(e.payload.uuid,e);for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const a=this.graph.getNodeData(i),n=new Set(e.payload.blocks);a.payload.blockers.some(c=>n.has(c))&&this._addDependency(i,e.payload.uuid)}}sneakRequest(e){this.graph.addNode(e.payload.uuid,e)}_getNextNode(){const e=this.graph.overallOrder(!0);let i=1/0,a;for(const n of e){const c=this.requestAttemptCounter[n]||0;c<i&&(i=c,a=n)}return a}peek(){const e=this._getNextNode();if(e)return this.graph.getNodeData(e)}remove(e){this.graph.removeNode(e),delete this.requestAttemptCounter[e]}pop(){const e=this.peek();return e&&this.graph.removeNode(e.payload.uuid),e}getQueue(){const e=this.graph.overallOrder().map(a=>this.graph.getNodeData(a)),i=this._getNextNode();if(i){const a=this.graph.getNodeData(i),n=e.findIndex(c=>c.payload.uuid===a.payload.uuid);n!==-1&&(e.splice(n,1),e.unshift(a))}return e}getReady(){let e=this.graph.overallOrder(!0).map(i=>this.graph.getNodeData(i));return e=e.sort((i,a)=>i.meta.offline.effect.timestamp.localeCompare(a.meta.offline.effect.timestamp)),e=e.sort((i,a)=>{const n=this.requestAttemptCounter[i.payload.uuid]||0,c=this.requestAttemptCounter[a.payload.uuid]||0;return n-c}),e}registerRetry(e){this.requestAttemptCounter[e]=(this.requestAttemptCounter[e]||0)+1}}let WF;function XF(t){WF=t}function Pt(){return WF}let YF;function ZF(t){YF=t}function JF(){return YF}let fn=null;function mt(){const t=Pt();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(fn)return fn;const e=t.getState().offline.outbox,i=bt._fromOutbox(e);return fn=i,i}const xR=(t,e)=>{const i=new e(t);return ZF(i),XF(t),i};class ew{_all;_previous;constructor(e){this._all=[e],this._previous=e,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(e){return this._previous&&(this._previous.next=e),this._all.push(e),this._previous=e,{then:this.then,compile:this.compile}}compile(){return this._all}}class Sn{next;constructor(){this.next=null}then(e){return new ew(this).then(e)}async run(e){if(this.next)return this.next.run(e);{if(console.debug("Middleware finished. Performing request:",e.payload.url),!Pt())throw new Error("Client store not set");const a=JF();if(!a)throw new Error("Client SDK not set");return BF(e,a)}}}class QF extends Sn{async run(e){return super.run(e)}}class xF extends Sn{async run(e){return super.run(e)}}const e_=new QF().then(new xF).compile();function t_(t){return e_[0]?.run(t)}s.ALL_MIDDLEWARE=e_,s.APIError=z,s.AgentService=Mg,s.AssetAttachmentService=gg,s.AssetCommentAttachmentService=Rg,s.AssetCommentService=wg,s.AssetService=Eg,s.AssetTypeAttachmentService=vg,s.AssetTypeFieldValuesAttachmentService=zg,s.AssetTypeFieldValuesService=jg,s.AssetTypeFieldsAttachmentService=Vg,s.AssetTypeFieldsService=Bg,s.AssetTypeIdentifierService=Cg,s.AssetTypeIdentifierValueService=Dg,s.AssetTypeService=qg,s.AssetTypeStatusService=$g,s.BaseApiService=yt,s.BaseAuthService=KF,s.BaseModelApiService=rt,s.BaseOfflineFileModelApiService=v,s.BaseOfflineModelApiService=g,s.BaseSDK=QR,s.COMMON_AUTO_FIELDS=Tn,s.DEFAULT_PAGE_SIZE=RF,s.DISCARD_HTTP_STATUSES=hn,s.DocumentAttachmentService=Ug,s.DocumentService=kg,s.EmailDomainsService=Lg,s.EmailVerificationService=Hg,s.FileService=Gg,s.FormIdentifierService=Ng,s.FormIdentifierValueService=Kg,s.FormRevisionAttachmentService=Wg,s.FormRevisionService=Xg,s.FormService=Yg,s.FormSubmissionCommentService=xg,s.FormSubmissionFieldValuesAttachmentService=Jg,s.FormSubmissionFieldValuesService=Qg,s.FormSubmissionService=eR,s.FormSubscriberService=Zg,s.GeoImageService=tR,s.HttpMethod=o,s.IssueAssociationService=sR,s.IssueAttachmentService=iR,s.IssueCommentAttachmentService=aR,s.IssueCommentService=nR,s.IssueService=cR,s.IssueTypeAttachmentService=rR,s.IssueTypeFieldValuesAttachmentService=lR,s.IssueTypeFieldValuesService=oR,s.IssueTypeFieldsAttachmentService=dR,s.IssueTypeFieldsService=uR,s.IssueTypeIdentifierService=hR,s.IssueTypeIdentifierValueService=pR,s.IssueTypePriorityService=yR,s.IssueTypeService=mR,s.IssueTypeStatusService=fR,s.IssueUpdateService=SR,s.JWTService=IR,s.MAX_SERVICE_BATCH_SIZE=D,s.OUTBOX_RETRY_DELAY=6e4,s.OfflineAnalyticsMiddleware=QF,s.OfflineMiddleware=Sn,s.OrganizationAccessService=OR,s.OrganizationService=bR,s.OutboxCoordinator=bt,s.ProcdureInitiativeService=kR,s.ProcedureFieldValuesAttachmentService=KR,s.ProcedureFieldValuesService=WR,s.ProcedureService=wR,s.ProcedureStepAssigneeService=ER,s.ProcedureStepCommentService=vR,s.ProcedureStepDefaultAssigneeService=VR,s.ProcedureStepDefaultReviewerService=BR,s.ProcedureStepEventService=zR,s.ProcedureStepFieldValuesAttachmentService=DR,s.ProcedureStepFieldValuesReviewService=qR,s.ProcedureStepFieldValuesService=$R,s.ProcedureStepFieldsAttachmentService=jR,s.ProcedureStepFieldsService=CR,s.ProcedureStepReviewerService=UR,s.ProcedureStepService=LR,s.ProcedureTypeAttachmentService=HR,s.ProcedureTypeFieldsAttachmentService=GR,s.ProcedureTypeFieldsService=NR,s.ProcedureTypeService=XR,s.ProjectAccessService=PR,s.ProjectAttachmentService=FR,s.ProjectCommentService=_R,s.ProjectFileService=MR,s.ProjectService=gR,s.RESET_ORGANIZATION_STATE=b,s.RESET_PROJECT_STATE=E,s.RESET_STATE=T,s.RateLimitingMiddleware=xF,s.ReportService=RR,s.TeamMembershipService=YR,s.TeamService=ZR,s.UserService=JR,s._setLatestRetryTime=pS,s.addAsset=mc,s.addAssetAttachment=Rn,s.addAssetAttachments=os,s.addAssetComment=tc,s.addAssetCommentAttachment=kn,s.addAssetCommentAttachments=Ln,s.addAssetComments=jt,s.addAssetType=Ad,s.addAssetTypeAttachment=Rc,s.addAssetTypeAttachments=Os,s.addAssetTypeFieldValues=Rr,s.addAssetTypeFieldValuesAttachment=mr,s.addAssetTypeFieldValuesAttachments=Rs,s.addAssetTypeFieldValuesMany=wr,s.addAssetTypeFields=tr,s.addAssetTypeFieldsAttachment=kc,s.addAssetTypeFieldsAttachments=Lc,s.addAssetTypeFieldsMany=sr,s.addAssetTypeIdentifier=Lr,s.addAssetTypeIdentifierValue=sd,s.addAssetTypeIdentifierValues=id,s.addAssetTypeIdentifiers=Hr,s.addAssetTypeStatus=Ed,s.addAssetTypeStatuses=vd,s.addAssetTypes=Td,s.addAssets=As,s.addConversation=bn,s.addConversations=u_,s.addDocument=ru,s.addDocumentAttachment=Wd,s.addDocumentAttachments=Xd,s.addDocuments=du,s.addEmailDomain=Ou,s.addEmailDomains=bu,s.addForm=Yl,s.addFormIdentifier=ju,s.addFormIdentifierValue=Yu,s.addFormIdentifierValues=Zu,s.addFormIdentifiers=Cu,s.addFormRevision=Pl,s.addFormRevisionAttachment=ul,s.addFormRevisionAttachments=ll,s.addFormRevisions=Zs,s.addFormSubmission=Yo,s.addFormSubmissionComment=zo,s.addFormSubmissionComments=yi,s.addFormSubmissionFieldValues=Oo,s.addFormSubmissionFieldValuesAttachment=lo,s.addFormSubmissionFieldValuesAttachments=ai,s.addFormSubmissionFieldValuesMany=li,s.addFormSubmissions=ut,s.addFormSubscriber=Cl,s.addFormSubscribers=xs,s.addForms=Zl,s.addGeoImage=hh,s.addGeoImages=ph,s.addIssue=Mp,s.addIssueAssociation=Rh,s.addIssueAssociations=St,s.addIssueAttachment=Uh,s.addIssueAttachments=Oi,s.addIssueComment=pp,s.addIssueCommentAttachment=xh,s.addIssueCommentAttachments=ep,s.addIssueComments=yp,s.addIssueType=km,s.addIssueTypeAttachment=$p,s.addIssueTypeAttachments=Up,s.addIssueTypeFieldValues=py,s.addIssueTypeFieldValuesAttachment=ky,s.addIssueTypeFieldValuesAttachments=qi,s.addIssueTypeFieldValuesMany=yy,s.addIssueTypeFields=gy,s.addIssueTypeFieldsAttachment=xp,s.addIssueTypeFieldsAttachments=ey,s.addIssueTypeFieldsMany=Ry,s.addIssueTypeIdentifier=em,s.addIssueTypeIdentifierValue=ym,s.addIssueTypeIdentifierValues=mm,s.addIssueTypeIdentifiers=tm,s.addIssueTypePriorities=wm,s.addIssueTypePriority=Rm,s.addIssueTypeStatus=tf,s.addIssueTypeStatuses=sf,s.addIssueTypes=Lm,s.addIssueUpdate=xi,s.addIssueUpdates=ea,s.addIssues=wi,s.addOrganization=xf,s.addOrganizationAccess=Cf,s.addOrganizationAccesses=Df,s.addOrganizations=Qf,s.addProcedure=WA,s.addProcedureFieldValues=oP,s.addProcedureFieldValuesAttachment=Qb,s.addProcedureFieldValuesAttachments=Qa,s.addProcedureFieldValuesMany=hP,s.addProcedureInitiative=BA,s.addProcedureInitiatives=zA,s.addProcedureStep=xO,s.addProcedureStepAssignee=uT,s.addProcedureStepAssignees=lT,s.addProcedureStepComment=PT,s.addProcedureStepComments=FT,s.addProcedureStepDefaultAssignee=DT,s.addProcedureStepDefaultAssignees=qT,s.addProcedureStepDefaultReviewer=JT,s.addProcedureStepDefaultReviewers=QT,s.addProcedureStepEvent=oI,s.addProcedureStepEvents=hI,s.addProcedureStepFieldValues=lO,s.addProcedureStepFieldValuesAttachment=JI,s.addProcedureStepFieldValuesAttachments=ja,s.addProcedureStepFieldValuesMany=oO,s.addProcedureStepFieldValuesReview=FO,s.addProcedureStepFieldValuesReviews=Ua,s.addProcedureStepFields=qI,s.addProcedureStepFieldsAttachment=_I,s.addProcedureStepFieldsAttachments=wa,s.addProcedureStepFieldsMany=$I,s.addProcedureStepReviewer=DO,s.addProcedureStepReviewers=qO,s.addProcedureSteps=eb,s.addProcedureType=_P,s.addProcedureTypeAttachment=lb,s.addProcedureTypeAttachments=ob,s.addProcedureTypeFields=qb,s.addProcedureTypeFieldsAttachment=Fb,s.addProcedureTypeFieldsAttachments=_b,s.addProcedureTypeFieldsMany=$b,s.addProcedureTypes=MP,s.addProcedures=It,s.addProject=bA,s.addProjectAccess=SS,s.addProjectAccesses=AS,s.addProjectAttachment=ES,s.addProjectAttachments=vS,s.addProjectComment=GS,s.addProjectComments=NS,s.addProjectFile=cA,s.addProjectFiles=rA,s.addProjects=OA,s.addReport=UP,s.addReports=kP,s.addTeam=mF,s.addTeamMembership=tF,s.addTeamMemberships=sF,s.addTeams=fF,s.addUser=ca,s.addUsers=gf,s.agentsReducer=_n,s.agentsSlice=ds,s.assetAttachmentReducer=qn,s.assetAttachmentSlice=ls,s.assetCommentAttachmentReducer=Qn,s.assetCommentAttachmentSlice=ys,s.assetCommentReducer=hc,s.assetCommentSlice=fs,s.assetReducer=_c,s.assetSlice=Ss,s.assetTypeAttachmentReducer=qc,s.assetTypeAttachmentSlice=Is,s.assetTypeFieldValuesAttachmentReducer=_r,s.assetTypeFieldValuesAttachmentSlice=gs,s.assetTypeFieldValuesReducer=$r,s.assetTypeFieldValuesSlice=vs,s.assetTypeFieldsAttachmentReducer=Qc,s.assetTypeFieldsAttachmentSlice=Fs,s.assetTypeFieldsReducer=hr,s.assetTypeFieldsSlice=Ms,s.assetTypeIdentifierReducer=xr,s.assetTypeIdentifierSlice=Vs,s.assetTypeIdentifierValueReducer=pd,s.assetTypeIdentifierValueSlice=zs,s.assetTypeReducer=gd,s.assetTypeSlice=js,s.assetTypeStatusReducer=kd,s.assetTypeStatusSlice=Ds,s.authReducer=Gd,s.authSlice=kt,s.baseReducer=hg,s.baseReducers=on,s.clearTokens=w_,s.createModelAdapter=O,s.createOfflineAction=uS,s.createPayload=M,s.createSelectionAdapter=d_,s.deleteAsset=Ac,s.deleteAssetAttachment=Bn,s.deleteAssetAttachments=hs,s.deleteAssetComment=cc,s.deleteAssetCommentAttachment=Wn,s.deleteAssetCommentAttachments=Xn,s.deleteAssetComments=Ct,s.deleteAssetType=bd,s.deleteAssetTypeAttachment=Bc,s.deleteAssetTypeAttachments=bs,s.deleteAssetTypeFieldValues=zr,s.deleteAssetTypeFieldValuesAttachment=Ir,s.deleteAssetTypeFieldValuesAttachments=ws,s.deleteAssetTypeFieldValuesMany=jr,s.deleteAssetTypeFields=rr,s.deleteAssetTypeFieldsAttachment=Wc,s.deleteAssetTypeFieldsAttachments=Xc,s.deleteAssetTypeFieldsMany=dr,s.deleteAssetTypeIdentifier=Xr,s.deleteAssetTypeIdentifierValue=dd,s.deleteAssetTypeIdentifierValues=ud,s.deleteAssetTypeIdentifiers=Yr,s.deleteAssetTypeStatus=Cd,s.deleteAssetTypeStatuses=Dd,s.deleteAssetTypes=Pd,s.deleteAssets=Ts,s.deleteConversation=h_,s.deleteConversations=p_,s.deleteDocument=pu,s.deleteDocumentAttachment=xd,s.deleteDocumentAttachments=eu,s.deleteDocuments=yu,s.deleteEmailDomain=gu,s.deleteEmailDomains=Ru,s.deleteForm=to,s.deleteFormIdentifier=ku,s.deleteFormIdentifierValue=tl,s.deleteFormIdentifierValues=sl,s.deleteFormIdentifiers=Lu,s.deleteFormRevision=Rl,s.deleteFormRevisionAttachment=ml,s.deleteFormRevisionAttachments=fl,s.deleteFormRevisions=Js,s.deleteFormSubmission=Qo,s.deleteFormSubmissionComment=$o,s.deleteFormSubmissionComments=mi,s.deleteFormSubmissionFieldValues=Mo,s.deleteFormSubmissionFieldValuesAttachment=mo,s.deleteFormSubmissionFieldValuesAttachments=ni,s.deleteFormSubmissionFieldValuesMany=oi,s.deleteFormSubmissions=lt,s.deleteFormSubscriber=kl,s.deleteFormSubscribers=ei,s.deleteForms=so,s.deleteGeoImage=fh,s.deleteGeoImages=Sh,s.deleteIssue=vp,s.deleteIssueAssociation=wh,s.deleteIssueAssociations=At,s.deleteIssueAttachment=Nh,s.deleteIssueAttachments=bi,s.deleteIssueComment=Tp,s.deleteIssueCommentAttachment=np,s.deleteIssueCommentAttachments=cp,s.deleteIssueComments=Ip,s.deleteIssueType=Wm,s.deleteIssueTypeAttachment=Np,s.deleteIssueTypeAttachments=Kp,s.deleteIssueTypeFieldValues=Ty,s.deleteIssueTypeFieldValuesAttachment=Ky,s.deleteIssueTypeFieldValuesAttachments=$i,s.deleteIssueTypeFieldValuesMany=Iy,s.deleteIssueTypeFields=By,s.deleteIssueTypeFieldsAttachment=ny,s.deleteIssueTypeFieldsAttachments=cy,s.deleteIssueTypeFieldsMany=zy,s.deleteIssueTypeIdentifier=cm,s.deleteIssueTypeIdentifierValue=Im,s.deleteIssueTypeIdentifierValues=Om,s.deleteIssueTypeIdentifiers=rm,s.deleteIssueTypePriorities=jm,s.deleteIssueTypePriority=zm,s.deleteIssueTypeStatus=df,s.deleteIssueTypeStatuses=uf,s.deleteIssueTypes=Xm,s.deleteIssueUpdate=ta,s.deleteIssueUpdates=sa,s.deleteIssues=Ei,s.deleteOrganization=sS,s.deleteOrganizationAccess=Lf,s.deleteOrganizationAccesses=Hf,s.deleteOrganizations=iS,s.deleteProcedure=QA,s.deleteProcedureFieldValues=SP,s.deleteProcedureFieldValuesAttachment=iP,s.deleteProcedureFieldValuesAttachments=xa,s.deleteProcedureFieldValuesMany=AP,s.deleteProcedureInitiative=$A,s.deleteProcedureInitiatives=UA,s.deleteProcedureStep=ib,s.deleteProcedureStepAssignee=mT,s.deleteProcedureStepAssignees=fT,s.deleteProcedureStepComment=wT,s.deleteProcedureStepComments=ET,s.deleteProcedureStepDefaultAssignee=HT,s.deleteProcedureStepDefaultAssignees=GT,s.deleteProcedureStepDefaultReviewer=iI,s.deleteProcedureStepDefaultReviewers=aI,s.deleteProcedureStepEvent=SI,s.deleteProcedureStepEvents=AI,s.deleteProcedureStepFieldValues=fO,s.deleteProcedureStepFieldValuesAttachment=sO,s.deleteProcedureStepFieldValuesAttachments=Ca,s.deleteProcedureStepFieldValuesMany=SO,s.deleteProcedureStepFieldValuesReview=wO,s.deleteProcedureStepFieldValuesReviews=ka,s.deleteProcedureStepFields=GI,s.deleteProcedureStepFieldsAttachment=EI,s.deleteProcedureStepFieldsAttachments=Ea,s.deleteProcedureStepFieldsMany=NI,s.deleteProcedureStepReviewer=HO,s.deleteProcedureStepReviewers=GO,s.deleteProcedureSteps=ab,s.deleteProcedureType=vP,s.deleteProcedureTypeAttachment=fb,s.deleteProcedureTypeAttachments=Sb,s.deleteProcedureTypeFields=Gb,s.deleteProcedureTypeFieldsAttachment=Eb,s.deleteProcedureTypeFieldsAttachments=vb,s.deleteProcedureTypeFieldsMany=Nb,s.deleteProcedureTypes=VP,s.deleteProcedures=Ot,s.deleteProject=_A,s.deleteProjectAccess=PS,s.deleteProjectAccesses=FS,s.deleteProjectAttachment=CS,s.deleteProjectAttachments=DS,s.deleteProjectComment=ZS,s.deleteProjectComments=JS,s.deleteProjectFile=lA,s.deleteProjectFiles=oA,s.deleteProjects=MA,s.deleteReport=KP,s.deleteReports=WP,s.deleteTeam=OF,s.deleteTeamMembership=rF,s.deleteTeamMemberships=dF,s.deleteTeams=bF,s.deleteUser=ra,s.deleteUsers=Ef,s.dequeue=VF,s.discard=zF,s.documentAttachmentReducer=au,s.documentAttachmentSlice=$s,s.documentSlice=ks,s.documentsReducer=mu,s.emailDomainsReducer=Vu,s.emailDomainsSlice=Hs,s.enqueue=vF,s.enqueueRequest=oS,s.extractResponseFromError=CF,s.fetchBlobFromObjectUrl=$F,s.fetchFileFromObjectUrl=UF,s.fileToBlob=DF,s.formIdentifierReducer=Ku,s.formIdentifierSlice=Ns,s.formIdentifierValueReducer=cl,s.formIdentifierValueSlice=Ws,s.formReducer=io,s.formRevisionAttachmentReducer=Il,s.formRevisionAttachmentSlice=Xs,s.formRevisionReducer=Bl,s.formRevisionsSlice=Ys,s.formSlice=ti,s.formSubmissionCommentReducer=Go,s.formSubmissionCommentSlice=pi,s.formSubmissionFieldValuesAttachmentReducer=Ao,s.formSubmissionFieldValuesAttachmentSlice=ii,s.formSubmissionFieldValuesReducer=vo,s.formSubmissionFieldValuesSlice=ui,s.formSubmissionReducer=rh,s.formSubmissionSlice=fi,s.formSubscriberReducer=Kl,s.formSubscriberSlice=Qs,s.geoImageReducer=Oh,s.geoImageSlice=Si,s.getClientSDK=JF,s.getClientStore=Pt,s.getFileExtension=qF,s.getOutboxCoordinator=mt,s.getPresignedUrlExpiryDate=GF,s.getRenamedFile=Fg,s.getRequestDescription=m,s.getS3FileKey=Pg,s.hashFile=cs,s.initSDK=xR,s.initializeAssetAttachments=gn,s.initializeAssetCommentAttachments=Un,s.initializeAssetComments=ec,s.initializeAssetTypeAttachments=gc,s.initializeAssetTypeFieldValues=gr,s.initializeAssetTypeFieldValuesAttachments=yr,s.initializeAssetTypeFields=er,s.initializeAssetTypeFieldsAttachments=Uc,s.initializeAssetTypeIdentifierValues=td,s.initializeAssetTypeIdentifiers=kr,s.initializeAssetTypeStatuses=wd,s.initializeAssetTypes=md,s.initializeAssets=yc,s.initializeConversations=On,s.initializeDocumentAttachments=Kd,s.initializeDocuments=cu,s.initializeEmailDomains=Iu,s.initializeFormIdentifierValues=Xu,s.initializeFormIdentifiers=zu,s.initializeFormRevisionAttachments=dl,s.initializeFormRevisions=bl,s.initializeFormSubmissionComments=Bo,s.initializeFormSubmissionFieldValues=Io,s.initializeFormSubmissionFieldValuesAttachments=uo,s.initializeFormSubmissions=Ko,s.initializeFormSubscribers=jl,s.initializeForms=Xl,s.initializeGeoImages=uh,s.initializeIssueAssociations=Ph,s.initializeIssueAttachments=$h,s.initializeIssueCommentAttachments=Qh,s.initializeIssueComments=hp,s.initializeIssueTypeAttachments=qp,s.initializeIssueTypeFieldValues=hy,s.initializeIssueTypeFieldValuesAttachments=Uy,s.initializeIssueTypeFields=My,s.initializeIssueTypeFieldsAttachments=Qp,s.initializeIssueTypeIdentifierValues=pm,s.initializeIssueTypeIdentifiers=xy,s.initializeIssueTypePriorities=gm,s.initializeIssueTypeStatuses=ef,s.initializeIssueTypes=Um,s.initializeIssueUpdates=yf,s.initializeIssues=_p,s.initializeOrganizationAccesses=jf,s.initializeOrganizations=Yf,s.initializeProcedureFieldValues=lP,s.initializeProcedureFieldValuesAttachments=Jb,s.initializeProcedureInitiatives=VA,s.initializeProcedureStepAssignees=dT,s.initializeProcedureStepComments=bT,s.initializeProcedureStepDefaultAssignees=CT,s.initializeProcedureStepDefaultReviewers=ZT,s.initializeProcedureStepEvents=lI,s.initializeProcedureStepFieldValues=uO,s.initializeProcedureStepFieldValuesAttachments=ZI,s.initializeProcedureStepFieldValuesReviews=PO,s.initializeProcedureStepFields=DI,s.initializeProcedureStepFieldsAttachments=FI,s.initializeProcedureStepReviewers=CO,s.initializeProcedureSteps=ZO,s.initializeProcedureTypeAttachments=ub,s.initializeProcedureTypeFields=Db,s.initializeProcedureTypeFieldsAttachments=Pb,s.initializeProcedureTypes=FP,s.initializeProcedures=KA,s.initializeProjectAccesses=fS,s.initializeProjectAttachments=wS,s.initializeProjectComments=HS,s.initializeProjectFiles=iA,s.initializeProjects=AA,s.initializeReports=$P,s.initializeTeamMemberships=eF,s.initializeTeams=yF,s.initializeUsers=Ff,s.isCloudfrontUrl=LF,s.isImageFile=_g,s.isObjectUrl=kF,s.isPresignedUrlExpired=NF,s.isS3Url=HF,s.issueAssociationReducer=Dh,s.issueAssociationSlice=Ti,s.issueAttachmentReducer=Zh,s.issueAttachmentSlice=Ii,s.issueCommentAttachmentReducer=lp,s.issueCommentAttachmentSlice=Fi,s.issueCommentReducer=Pp,s.issueCommentSlice=Mi,s.issueReducer=Cp,s.issueSlice=Ri,s.issueTypeAttachmentReducer=Zp,s.issueTypeAttachmentSlice=vi,s.issueTypeFieldValuesAttachmentReducer=Jy,s.issueTypeFieldValuesAttachmentSlice=Di,s.issueTypeFieldValuesReducer=Fy,s.issueTypeFieldValuesSlice=ji,s.issueTypeFieldsAttachmentReducer=ly,s.issueTypeFieldsAttachmentSlice=Bi,s.issueTypeFieldsReducer=qy,s.issueTypeFieldsSlice=Ci,s.issueTypeIdentifierReducer=om,s.issueTypeIdentifierSlice=ki,s.issueTypeIdentifierValueReducer=_m,s.issueTypeIdentifierValueSlice=Hi,s.issueTypePriorityReducer=qm,s.issueTypePrioritySlice=Gi,s.issueTypeReducer=Qm,s.issueTypeSlice=Wi,s.issueTypeStatusReducer=hf,s.issueTypeStatusSlice=Yi,s.issueUpdateReducer=bf,s.issueUpdateSlice=Qi,s.markAsDeleted=hS,s.markForDeletion=fM,s.organizationAccessReducer=Gf,s.organizationAccessSlice=ua,s.organizationReducer=dS,s.organizationSlice=la,s.outboxReducer=yS,s.outboxSlice=oa,s.overmapEnhancer=Sg,s.overmapReducer=pg,s.overmapReducers=gF,s.performRequest=mn,s.performRequestFromAction=BF,s.procedureFieldValuesAttachmentReducer=aP,s.procedureFieldValuesAttachmentSlice=Ja,s.procedureFieldValuesReducer=TP,s.procedureFieldValuesSlice=tn,s.procedureInitiativeReducer=kA,s.procedureInitiativeSlice=Ta,s.procedureReducer=xA,s.procedureSlice=Ia,s.procedureStepAssigneeReducer=IT,s.procedureStepAssigneeSlice=Oa,s.procedureStepCommentReducer=zT,s.procedureStepCommentSlice=ba,s.procedureStepDefaultAssigneeReducer=XT,s.procedureStepDefaultAssigneeSlice=Pa,s.procedureStepDefaultReviewerReducer=dI,s.procedureStepDefaultReviewerSlice=_a,s.procedureStepEventReducer=bI,s.procedureStepEventSlice=ga,s.procedureStepFieldValuesAttachmentReducer=rO,s.procedureStepFieldValuesAttachmentSlice=za,s.procedureStepFieldValuesReducer=AO,s.procedureStepFieldValuesReviewReducer=zO,s.procedureStepFieldValuesReviewSlice=$a,s.procedureStepFieldValuesSlice=qa,s.procedureStepFieldsAttachmentReducer=jI,s.procedureStepFieldsAttachmentSlice=Ra,s.procedureStepFieldsReducer=XI,s.procedureStepFieldsSlice=Va,s.procedureStepReducer=nb,s.procedureStepReviewerReducer=XO,s.procedureStepReviewerSlice=La,s.procedureStepSlice=Ha,s.procedureTypeAttachmentReducer=Ab,s.procedureTypeAttachmentSlice=Ka,s.procedureTypeFieldsAttachmentReducer=Vb,s.procedureTypeFieldsAttachmentSlice=Xa,s.procedureTypeFieldsReducer=Kb,s.procedureTypeFieldsSlice=Za,s.procedureTypeReducer=BP,s.procedureTypeSlice=an,s.projectAccessReducer=_S,s.projectAccessSlice=ha,s.projectAttachmentReducer=kS,s.projectAttachmentSlice=ya,s.projectCommentReducer=tA,s.projectCommentSlice=fa,s.projectFileReducer=fA,s.projectFileSlice=Sa,s.projectReducer=gA,s.projectSlice=Aa,s.rehydratedReducer=DP,s.rehydratedSlice=cn,s.reportReducer=QP,s.reportSlice=rn,s.restructureSelectorWithArgs=y,s.runMiddleware=t_,s.selectAccessToken=E_,s.selectAccessesByUserOfProject=AM,s.selectAccessibleProjects=PM,s.selectActiveOrganizationAccess=hM,s.selectAllDocumentAttachments=Us,s.selectAssetAttachmentById=jn,s.selectAssetAttachmentMapping=zn,s.selectAssetAttachments=ps,s.selectAssetAttachmentsByIds=Cn,s.selectAssetById=Pc,s.selectAssetCommentAttachmentById=Zn,s.selectAssetCommentAttachmentMapping=Yn,s.selectAssetCommentAttachments=ms,s.selectAssetCommentAttachmentsByIds=Jn,s.selectAssetCommentById=dc,s.selectAssetCommentMapping=rc,s.selectAssetComments=Dt,s.selectAssetCommentsByIds=uc,s.selectAssetTypeAttachmentById=jc,s.selectAssetTypeAttachmentMapping=zc,s.selectAssetTypeAttachments=Ps,s.selectAssetTypeAttachmentsByIds=Cc,s.selectAssetTypeById=_d,s.selectAssetTypeFieldValues=$t,s.selectAssetTypeFieldValuesAttachmentById=br,s.selectAssetTypeFieldValuesAttachments=Es,s.selectAssetTypeFieldValuesAttachmentsByIds=Pr,s.selectAssetTypeFieldValuesAttachmentsMapping=Or,s.selectAssetTypeFieldValuesById=Dr,s.selectAssetTypeFieldValuesByIds=qr,s.selectAssetTypeFieldValuesMapping=Cr,s.selectAssetTypeFieldValuesOfAsset=O_,s.selectAssetTypeFields=_t,s.selectAssetTypeFieldsAttachmentById=Zc,s.selectAssetTypeFieldsAttachments=_s,s.selectAssetTypeFieldsAttachmentsByIds=Jc,s.selectAssetTypeFieldsAttachmentsMapping=Yc,s.selectAssetTypeFieldsById=lr,s.selectAssetTypeFieldsByIds=or,s.selectAssetTypeFieldsMapping=ur,s.selectAssetTypeFieldsOfAssetType=T_,s.selectAssetTypeIdentifierById=Jr,s.selectAssetTypeIdentifierMapping=Zr,s.selectAssetTypeIdentifierValueById=od,s.selectAssetTypeIdentifierValueMapping=ld,s.selectAssetTypeIdentifierValues=Ut,s.selectAssetTypeIdentifierValuesByIds=hd,s.selectAssetTypeIdentifierValuesOfAsset=F_,s.selectAssetTypeIdentifierValuesOfIdentifier=__,s.selectAssetTypeIdentifiers=Bs,s.selectAssetTypeIdentifiersByIds=Qr,s.selectAssetTypeIdentifiersOfAssetType=P_,s.selectAssetTypeStatusById=$d,s.selectAssetTypeStatusMapping=qd,s.selectAssetTypeStatuses=qs,s.selectAssetTypeStatusesByIds=Ud,s.selectAssetTypeStatusesOfAssetType=g_,s.selectAssetTypeValuesOfAssetType=b_,s.selectAssetTypes=Cs,s.selectAssetTypesByIds=Md,s.selectAssetTypesMapping=Fd,s.selectAssetTypesOfOrganization=M_,s.selectAssets=qt,s.selectAssetsByIds=Fc,s.selectAssetsMapping=Oc,s.selectAssetsOfAssetType=bc,s.selectAssetsOfProject=S_,s.selectAttachmentsOfAsset=Dn,s.selectAttachmentsOfAssetComment=f_,s.selectAttachmentsOfAssetType=Dc,s.selectAttachmentsOfAssetTypeFieldValues=Fr,s.selectAttachmentsOfAssetTypeFields=A_,s.selectAttachmentsOfDocument=V_,s.selectAttachmentsOfFormRevision=$_,s.selectAttachmentsOfFormSubmissionFieldValues=So,s.selectAttachmentsOfIssue=Wh,s.selectAttachmentsOfIssueComment=Y_,s.selectAttachmentsOfIssueType=Q_,s.selectAttachmentsOfIssueTypeFieldValues=Zy,s.selectAttachmentsOfIssueTypeFields=x_,s.selectAttachmentsOfProcedureFieldValues=dP,s.selectAttachmentsOfProcedureStepFieldValues=cO,s.selectAttachmentsOfProcedureStepFields=VI,s.selectAttachmentsOfProcedureType=eg,s.selectAttachmentsOfProcedureTypeFields=tg,s.selectAttachmentsOfProject=IM,s.selectCommentsOfAsset=lc,s.selectCommentsOfAssets=oc,s.selectCommentsOfFormSubmission=Ho,s.selectCommentsOfFormSubmissions=H_,s.selectCommentsOfIssue=Z_,s.selectCommentsOfProject=OM,s.selectCommentsOfProjects=bM,s.selectConversation=m_,s.selectConversationMapping=us,s.selectConversations=y_,s.selectCurrentUser=Vf,s.selectDeletedRequests=yM,s.selectDescendantsOfDocument=Au,s.selectDocumentAttachmentById=su,s.selectDocumentAttachmentMapping=tu,s.selectDocumentAttachmentsByIds=iu,s.selectDocumentById=fu,s.selectDocuments=Lt,s.selectDocumentsByIds=Su,s.selectDocumentsMapping=Ls,s.selectEmailDomainById=Eu,s.selectEmailDomains=Gs,s.selectEmailDomainsAsMapping=wu,s.selectEmailDomainsByIds=vu,s.selectEmailDomainsOfOrganization=j_,s.selectFieldValuesOfProcedure=ag,s.selectFormById=no,s.selectFormIdentifierById=Gu,s.selectFormIdentifierMapping=Hu,s.selectFormIdentifierValueById=al,s.selectFormIdentifierValueMapping=il,s.selectFormIdentifierValues=Ht,s.selectFormIdentifierValuesByIds=nl,s.selectFormIdentifierValuesOfFormSubmission=D_,s.selectFormIdentifierValuesOfIdentifier=q_,s.selectFormIdentifiers=Ks,s.selectFormIdentifiersByIds=Nu,s.selectFormIdentifiersOfForm=C_,s.selectFormMapping=ao,s.selectFormRevisionAttachmentById=Al,s.selectFormRevisionAttachments=Sl,s.selectFormRevisionAttachmentsByIds=Tl,s.selectFormRevisionAttachmentsMapping=Gt,s.selectFormRevisionById=El,s.selectFormRevisionMapping=wl,s.selectFormRevisions=Nt,s.selectFormRevisionsByIds=vl,s.selectFormRevisionsOfForm=Vl,s.selectFormSubmissionById=eh,s.selectFormSubmissionCommentById=ko,s.selectFormSubmissionCommentMapping=Uo,s.selectFormSubmissionComments=Wt,s.selectFormSubmissionCommentsByIds=Lo,s.selectFormSubmissionFieldValues=hi,s.selectFormSubmissionFieldValuesAttachmentById=fo,s.selectFormSubmissionFieldValuesAttachments=ri,s.selectFormSubmissionFieldValuesAttachmentsByIds=di,s.selectFormSubmissionFieldValuesAttachmentsMapping=ci,s.selectFormSubmissionFieldValuesById=Ro,s.selectFormSubmissionFieldValuesByIds=wo,s.selectFormSubmissionFieldValuesMapping=go,s.selectFormSubmissionFieldValuesOfFormSubmission=Eo,s.selectFormSubmissions=C,s.selectFormSubmissionsByIds=th,s.selectFormSubmissionsMapping=xo,s.selectFormSubmissionsOfAsset=nh,s.selectFormSubmissionsOfAssets=ch,s.selectFormSubmissionsOfForm=sh,s.selectFormSubmissionsOfIssue=ih,s.selectFormSubmissionsOfIssues=ah,s.selectFormSubmissionsOfOrganization=G_,s.selectFormSubmissionsOfOrganizationAndForm=W_,s.selectFormSubmissionsOfProject=N_,s.selectFormSubmissionsOfProjectAndForm=K_,s.selectFormSubscriberById=Hl,s.selectFormSubscriberMapping=Ll,s.selectFormSubscribers=Kt,s.selectFormSubscribersByIds=Gl,s.selectFormSubscribersOfForm=Nl,s.selectFormSubscribersOfUser=k_,s.selectForms=si,s.selectFormsByIds=co,s.selectFormsOfOrganization=L_,s.selectGeoImageById=Th,s.selectGeoImageMapping=Ah,s.selectGeoImages=Ai,s.selectGeoImagesByIds=Ih,s.selectGeoImagesOfProject=X_,s.selectIsLoggedIn=v_,s.selectIssueAssociationById=vh,s.selectIssueAssociationMapping=Eh,s.selectIssueAssociations=Tt,s.selectIssueAssociationsByIds=Vh,s.selectIssueAssociationsOfAsset=jh,s.selectIssueAssociationsOfAssets=Ch,s.selectIssueAssociationsOfIssue=zh,s.selectIssueAssociationsOfIssues=Bh,s.selectIssueAttachmentById=Xh,s.selectIssueAttachmentMapping=Kh,s.selectIssueAttachments=Pi,s.selectIssueAttachmentsByIds=Yh,s.selectIssueById=Bp,s.selectIssueCommentAttachmentById=dp,s.selectIssueCommentAttachmentMapping=rp,s.selectIssueCommentAttachments=_i,s.selectIssueCommentAttachmentsByIds=up,s.selectIssueCommentById=Op,s.selectIssueCommentMapping=gi,s.selectIssueCommentsByIds=bp,s.selectIssueMapping=Vp,s.selectIssueTypeAttachmentById=Xp,s.selectIssueTypeAttachmentMapping=Wp,s.selectIssueTypeAttachments=Vi,s.selectIssueTypeAttachmentsByIds=Yp,s.selectIssueTypeById=Zm,s.selectIssueTypeFieldValues=Yt,s.selectIssueTypeFieldValuesAttachmentById=Xy,s.selectIssueTypeFieldValuesAttachments=Ui,s.selectIssueTypeFieldValuesAttachmentsByIds=Yy,s.selectIssueTypeFieldValuesAttachmentsMapping=Wy,s.selectIssueTypeFieldValuesById=by,s.selectIssueTypeFieldValuesByIds=Py,s.selectIssueTypeFieldValuesMapping=Oy,s.selectIssueTypeFieldValuesOfIssue=eM,s.selectIssueTypeFields=Mt,s.selectIssueTypeFieldsAttachmentById=dy,s.selectIssueTypeFieldsAttachments=zi,s.selectIssueTypeFieldsAttachmentsByIds=uy,s.selectIssueTypeFieldsAttachmentsMapping=ry,s.selectIssueTypeFieldsById=Cy,s.selectIssueTypeFieldsByIds=Dy,s.selectIssueTypeFieldsMapping=jy,s.selectIssueTypeFieldsOfIssueType=tM,s.selectIssueTypeIdentifierById=um,s.selectIssueTypeIdentifierMapping=dm,s.selectIssueTypeIdentifierValueById=Pm,s.selectIssueTypeIdentifierValueMapping=bm,s.selectIssueTypeIdentifierValues=Zt,s.selectIssueTypeIdentifierValuesByIds=Fm,s.selectIssueTypeIdentifierValuesOfIdentifier=cM,s.selectIssueTypeIdentifierValuesOfIssue=nM,s.selectIssueTypeIdentifiers=Li,s.selectIssueTypeIdentifiersByIds=lm,s.selectIssueTypeIdentifiersOfIssueType=aM,s.selectIssueTypeMapping=Ym,s.selectIssueTypePriorities=Ni,s.selectIssueTypePrioritiesByIds=Dm,s.selectIssueTypePrioritiesOfIssueType=rM,s.selectIssueTypePriorityById=Ki,s.selectIssueTypePriorityMapping=Cm,s.selectIssueTypeStatusById=Ji,s.selectIssueTypeStatusMapping=lf,s.selectIssueTypeStatuses=Zi,s.selectIssueTypeStatusesByIds=of,s.selectIssueTypeStatusesOfIssueType=uM,s.selectIssueTypeValuesOfIssueType=iM,s.selectIssueTypes=Xi,s.selectIssueTypesByIds=Jm,s.selectIssueTypesOfOrganization=dM,s.selectIssueUpdateById=Tf,s.selectIssueUpdateMapping=ia,s.selectIssueUpdates=aa,s.selectIssueUpdatesByIds=If,s.selectIssueUpdatesOfIssue=Of,s.selectIssues=Xt,s.selectIssuesByIds=zp,s.selectIssuesOfIssueType=jp,s.selectIssuesOfProject=J_,s.selectLatestAssetTypeFieldsOfAssetType=I_,s.selectLatestFieldsByProcedureStep=kM,s.selectLatestFormRevisionOfForm=U_,s.selectLatestIssueTypeFieldsOfIssueType=sM,s.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=XM,s.selectLatestProcedureStepFieldsOfProcedureStep=UM,s.selectLatestProcedureTypeFieldsOfProcedureType=ig,s.selectLatestRetryTime=mM,s.selectLatestReviewOfProcedureStepFieldValues=NM,s.selectMembershipsByUserOfTeam=ug,s.selectOrganizationAccessById=Nf,s.selectOrganizationAccessMapping=xt,s.selectOrganizationAccessUserMapping=Wf,s.selectOrganizationAccessesByIds=Kf,s.selectOrganizationById=cS,s.selectOrganizationDocuments=z_,s.selectOrganizations=nS,s.selectOrganizationsByIds=rS,s.selectOrganizationsMapping=aS,s.selectProcedureById=tT,s.selectProcedureFieldValues=sn,s.selectProcedureFieldValuesAttachmentById=cP,s.selectProcedureFieldValuesAttachments=en,s.selectProcedureFieldValuesAttachmentsByIds=rP,s.selectProcedureFieldValuesAttachmentsMapping=nP,s.selectProcedureFieldValuesById=OP,s.selectProcedureFieldValuesByIds=bP,s.selectProcedureFieldValuesMapping=IP,s.selectProcedureInitiativeById=HA,s.selectProcedureInitiatives=ss,s.selectProcedureInitiativesByIds=GA,s.selectProcedureInitiativesMapping=LA,s.selectProcedureInitiativesOfProcedureType=MM,s.selectProcedureInitiativesOfProject=_M,s.selectProcedureStepAssigneeById=AT,s.selectProcedureStepAssignees=Rt,s.selectProcedureStepAssigneesByIds=TT,s.selectProcedureStepAssigneesMapping=ST,s.selectProcedureStepAssigneesOfProcedure=RM,s.selectProcedureStepAssigneesOfProcedureAndProcedureStep=EM,s.selectProcedureStepAssigneesOfProcedureStep=wM,s.selectProcedureStepById=cb,s.selectProcedureStepCommentById=VT,s.selectProcedureStepComments=wt,s.selectProcedureStepCommentsByIds=BT,s.selectProcedureStepCommentsMapping=vT,s.selectProcedureStepCommentsOfProcedure=vM,s.selectProcedureStepCommentsOfProcedureAndProcedureStep=BM,s.selectProcedureStepCommentsOfProcedureStep=VM,s.selectProcedureStepDefaultAssigneeById=KT,s.selectProcedureStepDefaultAssignees=Fa,s.selectProcedureStepDefaultAssigneesByIds=WT,s.selectProcedureStepDefaultAssigneesMapping=NT,s.selectProcedureStepDefaultAssigneesOfProcedureStep=zM,s.selectProcedureStepDefaultReviewerById=cI,s.selectProcedureStepDefaultReviewers=Ma,s.selectProcedureStepDefaultReviewersByIds=rI,s.selectProcedureStepDefaultReviewersMapping=nI,s.selectProcedureStepDefaultReviewersOfProcedureStep=jM,s.selectProcedureStepEventById=II,s.selectProcedureStepEvents=Et,s.selectProcedureStepEventsByIds=OI,s.selectProcedureStepEventsMapping=TI,s.selectProcedureStepEventsOfProcedure=CM,s.selectProcedureStepEventsOfProcedureAndProcedureStep=qM,s.selectProcedureStepEventsOfProcedureStep=DM,s.selectProcedureStepFieldValues=ht,s.selectProcedureStepFieldValuesAttachmentById=aO,s.selectProcedureStepFieldValuesAttachments=Da,s.selectProcedureStepFieldValuesAttachmentsByIds=nO,s.selectProcedureStepFieldValuesAttachmentsMapping=iO,s.selectProcedureStepFieldValuesById=IO,s.selectProcedureStepFieldValuesByIds=OO,s.selectProcedureStepFieldValuesMapping=TO,s.selectProcedureStepFieldValuesOfProcedure=LM,s.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=GM,s.selectProcedureStepFieldValuesOfProcedureStep=HM,s.selectProcedureStepFieldValuesReviewById=vO,s.selectProcedureStepFieldValuesReviews=pt,s.selectProcedureStepFieldValuesReviewsByIds=VO,s.selectProcedureStepFieldValuesReviewsMapping=EO,s.selectProcedureStepFieldValuesReviewsOfProcedure=KM,s.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=WM,s.selectProcedureStepFields=is,s.selectProcedureStepFieldsAttachmentById=BI,s.selectProcedureStepFieldsAttachments=va,s.selectProcedureStepFieldsAttachmentsByIds=zI,s.selectProcedureStepFieldsAttachmentsMapping=vI,s.selectProcedureStepFieldsById=KI,s.selectProcedureStepFieldsByIds=WI,s.selectProcedureStepFieldsMapping=Ba,s.selectProcedureStepFieldsOfProcedureStep=$M,s.selectProcedureStepReviewerById=KO,s.selectProcedureStepReviewers=vt,s.selectProcedureStepReviewersByIds=WO,s.selectProcedureStepReviewersMapping=NO,s.selectProcedureStepReviewersOfProcedure=YM,s.selectProcedureStepReviewersOfProcedureAndProcedureStep=JM,s.selectProcedureStepReviewersOfProcedureStep=ZM,s.selectProcedureSteps=Na,s.selectProcedureStepsByIds=rb,s.selectProcedureStepsMapping=Ga,s.selectProcedureStepsMappingOfProcedureType=QM,s.selectProcedureStepsOfProcedureType=xM,s.selectProcedureTypeAttachmentById=Ib,s.selectProcedureTypeAttachmentMapping=Tb,s.selectProcedureTypeAttachments=Wa,s.selectProcedureTypeAttachmentsByIds=Ob,s.selectProcedureTypeById=jP,s.selectProcedureTypeFields=as,s.selectProcedureTypeFieldsAttachmentById=zb,s.selectProcedureTypeFieldsAttachments=Ya,s.selectProcedureTypeFieldsAttachmentsByIds=jb,s.selectProcedureTypeFieldsAttachmentsMapping=Bb,s.selectProcedureTypeFieldsById=Xb,s.selectProcedureTypeFieldsByIds=Yb,s.selectProcedureTypeFieldsMapping=Wb,s.selectProcedureTypeFieldsOfProcedureType=sg,s.selectProcedureTypes=nn,s.selectProcedureTypesByIds=CP,s.selectProcedureTypesMapping=zP,s.selectProcedureTypesOfOrganization=ng,s.selectProcedures=ot,s.selectProceduresByIds=sT,s.selectProceduresMapping=eT,s.selectProceduresOfAsset=aT,s.selectProceduresOfAssets=nT,s.selectProceduresOfProcedureInitiative=cT,s.selectProceduresOfProcedureType=iT,s.selectProceduresOfProject=gM,s.selectProjectAccessById=MS,s.selectProjectAccessMapping=pa,s.selectProjectAccesses=gt,s.selectProjectAccessesByIds=gS,s.selectProjectAccessesOfProject=SM,s.selectProjectAttachmentById=$S,s.selectProjectAttachmentMapping=qS,s.selectProjectAttachments=ma,s.selectProjectAttachmentsByIds=US,s.selectProjectById=wA,s.selectProjectCommentById=xS,s.selectProjectCommentMapping=QS,s.selectProjectComments=es,s.selectProjectCommentsByIds=eA,s.selectProjectDocuments=B_,s.selectProjectFileById=yA,s.selectProjectFileMapping=hA,s.selectProjectFiles=pA,s.selectProjectFilesByIds=mA,s.selectProjectMapping=RA,s.selectProjects=ts,s.selectProjectsByIds=EA,s.selectProjectsOfOrganization=FM,s.selectRehydrated=dg,s.selectReportById=ZP,s.selectReportMapping=XP,s.selectReports=YP,s.selectReportsByIds=JP,s.selectReviewsOfProcedureStepFieldValues=BO,s.selectTeamById=FF,s.selectTeamMembershipById=oF,s.selectTeamMemberships=ns,s.selectTeamMembershipsByIds=hF,s.selectTeamMembershipsMapping=lF,s.selectTeams=ln,s.selectTeamsByIds=_F,s.selectTeamsMapping=PF,s.selectTeamsOfOrganization=og,s.selectUserById=Qt,s.selectUsers=Jt,s.selectUsersByIds=Bf,s.selectUsersMapping=da,s.selectUsersOfOrganization=pM,s.selectUsersOfProject=TM,s.selectUsersOfTeam=lg,s.setAsset=Tc,s.setAssetAttachment=wn,s.setAssetAttachments=En,s.setAssetComment=sc,s.setAssetCommentAttachment=Hn,s.setAssetCommentAttachments=Gn,s.setAssetComments=ic,s.setAssetType=fd,s.setAssetTypeAttachment=wc,s.setAssetTypeAttachments=Ec,s.setAssetTypeFieldValues=Er,s.setAssetTypeFieldValuesAttachment=fr,s.setAssetTypeFieldValuesAttachments=Sr,s.setAssetTypeFieldValuesMany=vr,s.setAssetTypeFields=ir,s.setAssetTypeFieldsAttachment=Hc,s.setAssetTypeFieldsAttachments=Gc,s.setAssetTypeFieldsMany=ar,s.setAssetTypeIdentifier=Gr,s.setAssetTypeIdentifierValue=ad,s.setAssetTypeIdentifierValues=nd,s.setAssetTypeIdentifiers=Nr,s.setAssetTypeStatus=Vd,s.setAssetTypeStatuses=Bd,s.setAssetTypes=Sd,s.setAssets=Ic,s.setClientSDK=ZF,s.setClientStore=XF,s.setConversation=Pn,s.setConversations=l_,s.setCurrentUser=lM,s.setCurrentUserProfile=oM,s.setDocument=uu,s.setDocumentAttachment=Yd,s.setDocumentAttachments=Zd,s.setDocuments=lu,s.setEmailDomain=Pu,s.setEmailDomains=Fu,s.setForm=Jl,s.setFormIdentifier=Du,s.setFormIdentifierValue=Ju,s.setFormIdentifierValues=Qu,s.setFormIdentifiers=qu,s.setFormRevision=Fl,s.setFormRevisionAttachment=ol,s.setFormRevisionAttachments=hl,s.setFormRevisions=_l,s.setFormSubmission=Wo,s.setFormSubmissionComment=jo,s.setFormSubmissionComments=Co,s.setFormSubmissionFieldValues=bo,s.setFormSubmissionFieldValuesAttachment=oo,s.setFormSubmissionFieldValuesAttachments=ho,s.setFormSubmissionFieldValuesMany=Po,s.setFormSubmissions=Xo,s.setFormSubscriber=Dl,s.setFormSubscribers=ql,s.setForms=Ql,s.setGeoImage=lh,s.setGeoImages=oh,s.setIssue=gp,s.setIssueAssociation=_h,s.setIssueAssociations=Fh,s.setIssueAttachment=kh,s.setIssueAttachments=Lh,s.setIssueComment=mp,s.setIssueCommentAttachment=tp,s.setIssueCommentAttachments=sp,s.setIssueComments=fp,s.setIssueType=Hm,s.setIssueTypeAttachment=kp,s.setIssueTypeAttachments=Lp,s.setIssueTypeFieldValues=my,s.setIssueTypeFieldValuesAttachment=Ly,s.setIssueTypeFieldValuesAttachments=Hy,s.setIssueTypeFieldValuesMany=fy,s.setIssueTypeFields=wy,s.setIssueTypeFieldsAttachment=ty,s.setIssueTypeFieldsAttachments=sy,s.setIssueTypeFieldsMany=Ey,s.setIssueTypeIdentifier=sm,s.setIssueTypeIdentifierValue=fm,s.setIssueTypeIdentifierValues=Sm,s.setIssueTypeIdentifiers=im,s.setIssueTypePriorities=vm,s.setIssueTypePriority=Em,s.setIssueTypeStatus=af,s.setIssueTypeStatuses=nf,s.setIssueTypes=Gm,s.setIssueUpdate=mf,s.setIssueUpdates=ff,s.setIssues=Rp,s.setLoggedIn=Hd,s.setOrganization=Jf,s.setOrganizationAccess=qf,s.setOrganizationAccesses=$f,s.setOrganizations=Zf,s.setProcedure=XA,s.setProcedureFieldValues=pP,s.setProcedureFieldValuesAttachment=xb,s.setProcedureFieldValuesAttachments=eP,s.setProcedureFieldValuesMany=yP,s.setProcedureInitiative=jA,s.setProcedureInitiatives=CA,s.setProcedureStep=JO,s.setProcedureStepAssignee=oT,s.setProcedureStepAssignees=hT,s.setProcedureStepComment=_T,s.setProcedureStepComments=MT,s.setProcedureStepDefaultAssignee=$T,s.setProcedureStepDefaultAssignees=UT,s.setProcedureStepDefaultReviewer=xT,s.setProcedureStepDefaultReviewers=eI,s.setProcedureStepEvent=pI,s.setProcedureStepEvents=yI,s.setProcedureStepFieldValues=hO,s.setProcedureStepFieldValuesAttachment=QI,s.setProcedureStepFieldValuesAttachments=xI,s.setProcedureStepFieldValuesMany=pO,s.setProcedureStepFieldValuesReview=_O,s.setProcedureStepFieldValuesReviews=MO,s.setProcedureStepFields=UI,s.setProcedureStepFieldsAttachment=MI,s.setProcedureStepFieldsAttachments=gI,s.setProcedureStepFieldsMany=kI,s.setProcedureStepReviewer=$O,s.setProcedureStepReviewers=UO,s.setProcedureSteps=QO,s.setProcedureType=gP,s.setProcedureTypeAttachment=hb,s.setProcedureTypeAttachments=pb,s.setProcedureTypeFields=Ub,s.setProcedureTypeFieldsAttachment=Mb,s.setProcedureTypeFieldsAttachments=gb,s.setProcedureTypeFieldsMany=kb,s.setProcedureTypes=RP,s.setProcedures=YA,s.setProject=IA,s.setProjectAccess=TS,s.setProjectAccesses=IS,s.setProjectAttachment=VS,s.setProjectAttachments=BS,s.setProjectComment=KS,s.setProjectComments=WS,s.setProjectFile=aA,s.setProjectFiles=nA,s.setProjects=TA,s.setRehydrated=rg,s.setReport=LP,s.setReports=HP,s.setTeam=SF,s.setTeamMembership=iF,s.setTeamMemberships=aF,s.setTeams=AF,s.setTokens=R_,s.setUser=Mf,s.setUsers=_f,s.teamMembershipReducer=uF,s.teamMembershipSlice=dn,s.teamReducer=MF,s.teamSlice=un,s.updateAsset=fc,s.updateAssetAttachment=vn,s.updateAssetAttachments=Vn,s.updateAssetComment=ac,s.updateAssetCommentAttachment=Nn,s.updateAssetCommentAttachments=Kn,s.updateAssetComments=nc,s.updateAssetType=Id,s.updateAssetTypeAttachment=vc,s.updateAssetTypeAttachments=Vc,s.updateAssetTypeFieldValues=Vr,s.updateAssetTypeFieldValuesAttachment=Ar,s.updateAssetTypeFieldValuesAttachments=Tr,s.updateAssetTypeFieldValuesMany=Br,s.updateAssetTypeFields=nr,s.updateAssetTypeFieldsAttachment=Nc,s.updateAssetTypeFieldsAttachments=Kc,s.updateAssetTypeFieldsMany=cr,s.updateAssetTypeIdentifier=Kr,s.updateAssetTypeIdentifierValue=cd,s.updateAssetTypeIdentifierValues=rd,s.updateAssetTypeIdentifiers=Wr,s.updateAssetTypeStatus=zd,s.updateAssetTypeStatuses=jd,s.updateAssetTypes=Od,s.updateAssets=Sc,s.updateConversation=Fn,s.updateConversations=o_,s.updateDocument=ou,s.updateDocumentAttachment=Jd,s.updateDocumentAttachments=Qd,s.updateDocuments=hu,s.updateEmailDomain=_u,s.updateEmailDomains=Mu,s.updateForm=xl,s.updateFormIdentifier=$u,s.updateFormIdentifierValue=xu,s.updateFormIdentifierValues=el,s.updateFormIdentifiers=Uu,s.updateFormRevision=Ml,s.updateFormRevisionAttachment=pl,s.updateFormRevisionAttachments=yl,s.updateFormRevisions=gl,s.updateFormSubmission=Zo,s.updateFormSubmissionComment=Do,s.updateFormSubmissionComments=qo,s.updateFormSubmissionFieldValues=Fo,s.updateFormSubmissionFieldValuesAttachment=po,s.updateFormSubmissionFieldValuesAttachments=yo,s.updateFormSubmissionFieldValuesMany=_o,s.updateFormSubmissions=Jo,s.updateFormSubscriber=$l,s.updateFormSubscribers=Ul,s.updateForms=eo,s.updateGeoImage=yh,s.updateGeoImages=mh,s.updateIssue=wp,s.updateIssueAssociation=Mh,s.updateIssueAssociations=gh,s.updateIssueAttachment=Hh,s.updateIssueAttachments=Gh,s.updateIssueComment=Sp,s.updateIssueCommentAttachment=ip,s.updateIssueCommentAttachments=ap,s.updateIssueComments=Ap,s.updateIssueType=Nm,s.updateIssueTypeAttachment=Hp,s.updateIssueTypeAttachments=Gp,s.updateIssueTypeFieldValues=Sy,s.updateIssueTypeFieldValuesAttachment=Gy,s.updateIssueTypeFieldValuesAttachments=Ny,s.updateIssueTypeFieldValuesMany=Ay,s.updateIssueTypeFields=vy,s.updateIssueTypeFieldsAttachment=iy,s.updateIssueTypeFieldsAttachments=ay,s.updateIssueTypeFieldsMany=Vy,s.updateIssueTypeIdentifier=am,s.updateIssueTypeIdentifierValue=Am,s.updateIssueTypeIdentifierValues=Tm,s.updateIssueTypeIdentifiers=nm,s.updateIssueTypePriorities=Bm,s.updateIssueTypePriority=Vm,s.updateIssueTypeStatus=cf,s.updateIssueTypeStatuses=rf,s.updateIssueTypes=Km,s.updateIssueUpdate=Sf,s.updateIssueUpdates=Af,s.updateIssues=Ep,s.updateOrganization=tS,s.updateOrganizationAccess=Uf,s.updateOrganizationAccesses=kf,s.updateOrganizations=eS,s.updateProcedure=ZA,s.updateProcedureFieldValues=mP,s.updateProcedureFieldValuesAttachment=tP,s.updateProcedureFieldValuesAttachments=sP,s.updateProcedureFieldValuesMany=fP,s.updateProcedureInitiative=DA,s.updateProcedureInitiatives=qA,s.updateProcedureStep=tb,s.updateProcedureStepAssignee=pT,s.updateProcedureStepAssignees=yT,s.updateProcedureStepComment=gT,s.updateProcedureStepComments=RT,s.updateProcedureStepDefaultAssignee=kT,s.updateProcedureStepDefaultAssignees=LT,s.updateProcedureStepDefaultReviewer=tI,s.updateProcedureStepDefaultReviewers=sI,s.updateProcedureStepEvent=mI,s.updateProcedureStepEvents=fI,s.updateProcedureStepFieldValues=yO,s.updateProcedureStepFieldValuesAttachment=eO,s.updateProcedureStepFieldValuesAttachments=tO,s.updateProcedureStepFieldValuesMany=mO,s.updateProcedureStepFieldValuesReview=gO,s.updateProcedureStepFieldValuesReviews=RO,s.updateProcedureStepFields=LI,s.updateProcedureStepFieldsAttachment=RI,s.updateProcedureStepFieldsAttachments=wI,s.updateProcedureStepFieldsMany=HI,s.updateProcedureStepReviewer=kO,s.updateProcedureStepReviewers=LO,s.updateProcedureSteps=sb,s.updateProcedureType=wP,s.updateProcedureTypeAttachment=yb,s.updateProcedureTypeAttachments=mb,s.updateProcedureTypeFields=Lb,s.updateProcedureTypeFieldsAttachment=Rb,s.updateProcedureTypeFieldsAttachments=wb,s.updateProcedureTypeFieldsMany=Hb,s.updateProcedureTypes=EP,s.updateProcedures=JA,s.updateProject=FA,s.updateProjectAccess=OS,s.updateProjectAccesses=bS,s.updateProjectAttachment=zS,s.updateProjectAttachments=jS,s.updateProjectComment=XS,s.updateProjectComments=YS,s.updateProjectFile=dA,s.updateProjectFiles=uA,s.updateProjects=PA,s.updateReport=GP,s.updateReports=NP,s.updateTeam=TF,s.updateTeamMembership=nF,s.updateTeamMemberships=cF,s.updateTeams=IF,s.updateUser=wf,s.updateUsers=Rf,s.userReducer=vf,s.userSlice=na,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|