@overmap-ai/core 2.0.2-project-captures.0 → 2.0.2-project-captures.1
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 +3748 -3525
- package/dist/overmap-core.umd.cjs +6 -6
- package/dist/sdk/services/index.d.ts +4 -0
- package/package.json +1 -1
|
@@ -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("react"),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","react","@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.react,s.reduxOffline,s.offlineConfig,s.localforage,s.idb,s.jwtDecode,s.dependencyGraph))})(this,(function(s,l,Iw,u,St,dt,wF,EF,In,vF,VF,BF,zF){"use strict";const On=["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 b=t(S);I.add(b),f.instances[b]=S}I.size!==A.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function jF(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"),P=u.createAction("RESET_ORGANIZATION_STATE");function CF(t,e){return wF.useMemo(t,e)}class DF{constructor(e){this.getData=e}operations=[];getData;performOperations(e){let i=e;for(const a of this.operations)i=a(i);return i}filter(e,i){return this.operations.push(a=>a.filter(n=>n[e]===i)),this}exclude(e,i){return this.operations.push(a=>a.filter(n=>n[e]!==i)),this}orderBy(e){return this.operations.push(i=>i.toSorted((a,n)=>a[e]<=n[e]?1:-1)),this}reverse(){return this.operations.push(e=>e.toReversed()),this}all(){return this.operations.push(e=>e),this}get(e,i){return u.createSelector([this.getData],a=>this.performOperations(a).find(n=>n[e]===i))}count(){return u.createSelector([this.getData],e=>this.performOperations(e).length)}first(){return u.createSelector([this.getData],e=>this.performOperations(e)[0])}last(){return u.createSelector([this.getData],e=>{const i=this.performOperations(e);return i[i.length-1]})}exists(){return u.createSelector([this.getData],e=>this.performOperations(e).length>0)}toSelector(){return u.createSelector([this.getData],e=>l.fallbackToEmptyArray(this.performOperations(e)))}}const y=(t=>(...e)=>i=>t(i,...e)),$=O(t=>t.uuid),Pn={instances:{}},ds=u.createSlice({name:"agents",initialState:Pn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Pn)),reducers:{initializeConversations:$.initialize,addConversation:$.addOne,addConversations:$.addMany,setConversation:$.setOne,setConversations:$.setMany,updateConversation:$.updateOne,updateConversations:$.updateMany,deleteConversation:$.deleteOne,deleteConversations:$.deleteMany}}),{initializeConversations:bn,addConversation:Fn,addConversations:qF,setConversation:_n,setConversations:$F,updateConversation:Mn,updateConversations:UF,deleteConversation:kF,deleteConversations:LF}=ds.actions,us=t=>t.agentsReducer.instances,HF=u.createSelector([us],t=>Object.values(t)),GF=y(u.createSelector([us,(t,e)=>e],(t,e)=>t[e])),gn=ds.reducer,U=O(t=>t.uuid),Rn={instances:{}},ls=u.createSlice({name:"assetAttachments",initialState:Rn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Rn)),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:wn,addAssetAttachment:En,addAssetAttachments:os,setAssetAttachment:vn,setAssetAttachments:Vn,updateAssetAttachment:Bn,updateAssetAttachments:zn,deleteAssetAttachment:jn,deleteAssetAttachments:hs}=ls.actions,Cn=t=>t.assetAttachmentReducer.instances,ps=u.createSelector([Cn],t=>Object.values(t)),Dn=t=>e=>e.assetAttachmentReducer.instances[t],qn=y(u.createSelector([ps,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$n=y(u.createSelector([ps,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>e===i)))),Un=ls.reducer,k=O(t=>t.uuid),kn={instances:{}},ys=u.createSlice({name:"assetComments",initialState:kn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,kn)),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:Ln,addAssetComment:Hn,addAssetComments:Ct,setAssetComment:Gn,setAssetComments:Nn,updateAssetComment:Kn,updateAssetComments:Wn,deleteAssetComment:Xn,deleteAssetComments:Dt}=ys.actions,Yn=t=>t.assetCommentReducer.instances,qt=u.createSelector([Yn],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),Zn=t=>e=>e.assetCommentReducer.instances[t],Jn=y(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Qn=y(u.createSelector([qt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),xn=y(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.asset)))})),ec=ys.reducer,L=O(t=>t.uuid),tc={instances:{}},ms=u.createSlice({name:"assets",initialState:tc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,tc)),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:sc,addAsset:ic,addAssets:fs,updateAsset:ac,updateAssets:nc,deleteAsset:cc,deleteAssets:Ss,setAsset:rc,setAssets:dc}=ms.actions,uc=t=>t.assetReducer.instances,$t=u.createSelector([uc],t=>l.fallbackToEmptyArray(Object.values(t))),NF=y(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),lc=y(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),oc=t=>e=>e.assetReducer.instances[t],hc=y(u.createSelector([$t,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),pc=ms.reducer,H=O(t=>t.uuid),yc={instances:{}},As=u.createSlice({name:"assetTypeAttachments",initialState:yc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,yc)),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:mc,addAssetTypeAttachment:fc,addAssetTypeAttachments:Ts,setAssetTypeAttachment:Sc,setAssetTypeAttachments:Ac,updateAssetTypeAttachment:Tc,updateAssetTypeAttachments:Ic,deleteAssetTypeAttachment:Oc,deleteAssetTypeAttachments:Is}=As.actions,Pc=t=>t.assetTypeAttachmentReducer.instances,Os=u.createSelector([Pc],t=>Object.values(t)),bc=t=>e=>e.assetTypeAttachmentReducer.instances[t],Fc=y(u.createSelector([Os,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_c=y(u.createSelector([Os,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_type:i})=>e===i)))),Mc=As.reducer,G=O(t=>t.uuid),gc={instances:{}},Ps=u.createSlice({name:"assetTypeFieldsAttachments",initialState:gc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,gc)),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:Rc,addAssetTypeFieldsAttachment:wc,addAssetTypeFieldsAttachments:Ec,setAssetTypeFieldsAttachment:vc,setAssetTypeFieldsAttachments:Vc,updateAssetTypeFieldsAttachment:Bc,updateAssetTypeFieldsAttachments:zc,deleteAssetTypeFieldsAttachment:jc,deleteAssetTypeFieldsAttachments:Cc}=Ps.actions,Dc=t=>t.assetTypeFieldsAttachmentReducer.instances,bs=u.createSelector([Dc],t=>Object.values(t)),KF=y(u.createSelector([bs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),qc=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],$c=y(u.createSelector([bs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Uc=Ps.reducer,N=O(t=>t.uuid),kc={instances:{}},Fs=u.createSlice({name:"assetTypeFields",initialState:kc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,kc)),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:Lc,addAssetTypeFields:Hc,addAssetTypeFieldsMany:Gc,setAssetTypeFields:Nc,setAssetTypeFieldsMany:Kc,updateAssetTypeFields:Wc,updateAssetTypeFieldsMany:Xc,deleteAssetTypeFields:Yc,deleteAssetTypeFieldsMany:Zc}=Fs.actions,Jc=t=>t.assetTypeFieldsReducer.instances,Mt=u.createSelector([Jc],t=>Object.values(t)),WF=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),XF=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).toSorted(l.submittedAtModelSortFn).pop())),Qc=t=>e=>e.assetTypeFieldsReducer.instances[t],xc=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),er=Fs.reducer,K=O(t=>t.uuid),tr={instances:{}},_s=u.createSlice({name:"assetTypeFieldValuesAttachments",initialState:tr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,tr)),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:sr,addAssetTypeFieldValuesAttachment:ir,addAssetTypeFieldValuesAttachments:Ms,setAssetTypeFieldValuesAttachment:ar,setAssetTypeFieldValuesAttachments:nr,updateAssetTypeFieldValuesAttachment:cr,updateAssetTypeFieldValuesAttachments:rr,deleteAssetTypeFieldValuesAttachment:dr,deleteAssetTypeFieldValuesAttachments:gs}=_s.actions,ur=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Rs=u.createSelector([ur],t=>Object.values(t)),lr=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],or=y(u.createSelector([Rs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),hr=y(u.createSelector([Rs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),pr=_s.reducer,W=O(t=>t.uuid),yr={instances:{}},ws=u.createSlice({name:"assetTypeFieldValues",initialState:yr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,yr)),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:mr,addAssetTypeFieldValues:fr,addAssetTypeFieldValuesMany:Sr,setAssetTypeFieldValues:Ar,setAssetTypeFieldValuesMany:Tr,updateAssetTypeFieldValues:Ir,updateAssetTypeFieldValuesMany:Or,deleteAssetTypeFieldValues:Pr,deleteAssetTypeFieldValuesMany:br}=ws.actions,Fr=t=>t.assetTypeFieldValuesReducer.instances,Ut=u.createSelector([Fr],t=>Object.values(t)),YF=y(u.createSelector([Ut,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),ZF=y(u.createSelector([Mt,Ut,(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)))})),_r=t=>e=>e.assetTypeFieldValuesReducer.instances[t],Mr=y(u.createSelector([Ut,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gr=ws.reducer,X=O(t=>t.uuid),Rr={instances:{}},Es=u.createSlice({name:"assetTypeIdentifiers",initialState:Rr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Rr)),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:wr,addAssetTypeIdentifier:Er,addAssetTypeIdentifiers:vr,setAssetTypeIdentifier:Vr,setAssetTypeIdentifiers:Br,updateAssetTypeIdentifier:zr,updateAssetTypeIdentifiers:jr,deleteAssetTypeIdentifier:Cr,deleteAssetTypeIdentifiers:Dr}=Es.actions,qr=t=>t.assetTypeIdentifierReducer.instances,vs=u.createSelector([qr],t=>Object.values(t)),$r=t=>e=>e.assetTypeIdentifierReducer.instances[t],Ur=y(u.createSelector([vs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),JF=y(u.createSelector([vs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),kr=Es.reducer,Y=O(t=>t.uuid),Lr={instances:{}},Vs=u.createSlice({name:"assetTypeIdentifierValues",initialState:Lr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Lr)),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:Hr,addAssetTypeIdentifierValue:Gr,addAssetTypeIdentifierValues:Nr,setAssetTypeIdentifierValue:Kr,setAssetTypeIdentifierValues:Wr,updateAssetTypeIdentifierValue:Xr,updateAssetTypeIdentifierValues:Yr,deleteAssetTypeIdentifierValue:Zr,deleteAssetTypeIdentifierValues:Jr}=Vs.actions,Qr=t=>t.assetTypeIdentifierValueReducer.instances,kt=u.createSelector([Qr],t=>Object.values(t)),xr=t=>e=>e.assetTypeIdentifierValueReducer.instances[t],ed=y(u.createSelector([kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),QF=y(u.createSelector([kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),xF=y(u.createSelector([kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type_identifier===e)))),td=Vs.reducer,Z=O(t=>t.uuid),sd={instances:{}},Bs=u.createSlice({name:"assetTypes",initialState:sd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,sd)),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:id,setAssetType:ad,setAssetTypes:nd,addAssetType:cd,addAssetTypes:rd,updateAssetType:dd,updateAssetTypes:ud,deleteAssetType:ld,deleteAssetTypes:od}=Bs.actions,hd=t=>t.assetTypeReducer.instances,zs=u.createSelector([hd],t=>Object.values(t)),pd=t=>e=>e.assetTypeReducer.instances[t],yd=y(u.createSelector([zs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),e_=y(u.createSelector([zs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),md=Bs.reducer,J=O(t=>t.uuid),fd={instances:{}},js=u.createSlice({name:"assetTypeStatuses",initialState:fd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,fd)),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:Sd,addAssetTypeStatus:Ad,addAssetTypeStatuses:Td,setAssetTypeStatus:Id,setAssetTypeStatuses:Od,updateAssetTypeStatus:Pd,updateAssetTypeStatuses:bd,deleteAssetTypeStatus:Fd,deleteAssetTypeStatuses:_d}=js.actions,Md=t=>t.assetTypeStatusReducer.instances,Cs=u.createSelector([Md],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.assetTypeStatusSortFn))),gd=t=>e=>e.assetTypeStatusReducer.instances[t],Rd=y(u.createSelector([Cs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),t_=y(u.createSelector([Cs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),wd=js.reducer,Ed={accessToken:"",refreshToken:"",isLoggedIn:!1},Lt=u.createSlice({name:"auth",initialState:Ed,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Ed)),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||Lt.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:s_,clearTokens:i_,setLoggedIn:vd}=Lt.actions,a_=t=>t.authReducer.accessToken,n_=t=>t.authReducer.isLoggedIn,Vd=Lt.reducer,Q=O(({uuid:t})=>t),Bd={instances:{}},Ds=u.createSlice({name:"captureAnalysisItems",initialState:Bd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Bd)),reducers:{initializeCaptureAnalysisItems:Q.initialize,addCaptureAnalysisItem:Q.addOne,addCaptureAnalysisItems:Q.addMany,setCaptureAnalysisItem:Q.setOne,setCaptureAnalysisItems:Q.setMany,updateCaptureAnalysisItem:Q.updateOne,updateCaptureAnalysisItems:Q.updateMany,deleteCaptureAnalysisItem:Q.deleteOne,deleteCaptureAnalysisItems:Q.deleteMany}}),{initializeCaptureAnalysisItems:c_,addCaptureAnalysisItem:r_,addCaptureAnalysisItems:d_,setCaptureAnalysisItem:u_,setCaptureAnalysisItems:l_,updateCaptureAnalysisItem:o_,updateCaptureAnalysisItems:h_,deleteCaptureAnalysisItem:p_,deleteCaptureAnalysisItems:y_}=Ds.actions,zd=t=>t.captureAnalysisItemReducer.instances,qs=u.createSelector([zd],t=>l.fallbackToEmptyArray(Object.values(t))),m_=t=>e=>e.captureAnalysisItemReducer.instances[t],f_=y(u.createSelector([qs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),S_=y(u.createSelector([qs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({analysis:i})=>i===e).toSorted((i,a)=>i.position-a.position)))),jd=Ds.reducer,x=O(({uuid:t})=>t),Cd={instances:{}},$s=u.createSlice({name:"captureAnalyses",initialState:Cd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Cd)),reducers:{initializeCaptureAnalyses:x.initialize,addCaptureAnalysis:x.addOne,addCaptureAnalyses:x.addMany,setCaptureAnalysis:x.setOne,setCaptureAnalyses:x.setMany,updateCaptureAnalysis:x.updateOne,updateCaptureAnalyses:x.updateMany,deleteCaptureAnalysis:x.deleteOne,deleteCaptureAnalyses:x.deleteMany}}),{initializeCaptureAnalyses:A_,addCaptureAnalysis:T_,addCaptureAnalyses:I_,setCaptureAnalysis:O_,setCaptureAnalyses:P_,updateCaptureAnalysis:b_,updateCaptureAnalyses:F_,deleteCaptureAnalysis:__,deleteCaptureAnalyses:M_}=$s.actions,Dd=t=>t.captureAnalysisReducer.instances,Us=u.createSelector([Dd],t=>l.fallbackToEmptyArray(Object.values(t))),g_=t=>e=>e.captureAnalysisReducer.instances[t],R_=y(u.createSelector([Us,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),w_=y(u.createSelector([Us,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({capture:i})=>i===e)))),qd=$s.reducer,ee=O(({uuid:t})=>t),$d={instances:{}},ks=u.createSlice({name:"captureSidecars",initialState:$d,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,$d)),reducers:{initializeCaptureSidecars:ee.initialize,addCaptureSidecar:ee.addOne,addCaptureSidecars:ee.addMany,setCaptureSidecar:ee.setOne,setCaptureSidecars:ee.setMany,updateCaptureSidecar:ee.updateOne,updateCaptureSidecars:ee.updateMany,deleteCaptureSidecar:ee.deleteOne,deleteCaptureSidecars:ee.deleteMany}}),{initializeCaptureSidecars:E_,addCaptureSidecar:v_,addCaptureSidecars:V_,setCaptureSidecar:B_,setCaptureSidecars:z_,updateCaptureSidecar:j_,updateCaptureSidecars:C_,deleteCaptureSidecar:D_,deleteCaptureSidecars:q_}=ks.actions,Ud=t=>t.captureSidecarReducer.instances,Ls=u.createSelector([Ud],t=>l.fallbackToEmptyArray(Object.values(t))),$_=t=>e=>e.captureSidecarReducer.instances[t],U_=y(u.createSelector([Ls,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),k_=y(u.createSelector([Ls,(t,e)=>e],(t,e)=>t.find(({capture:i})=>i===e))),kd=ks.reducer,te=O(({uuid:t})=>t),Ld={instances:{}},Hs=u.createSlice({name:"captures",initialState:Ld,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Ld)),reducers:{initializeCaptures:te.initialize,addCapture:te.addOne,addCaptures:te.addMany,setCapture:te.setOne,setCaptures:te.setMany,updateCapture:te.updateOne,updateCaptures:te.updateMany,deleteCapture:te.deleteOne,deleteCaptures:te.deleteMany}}),{initializeCaptures:L_,addCapture:H_,addCaptures:G_,setCapture:N_,setCaptures:K_,updateCapture:W_,updateCaptures:X_,deleteCapture:Y_,deleteCaptures:Z_}=Hs.actions,Hd=t=>t.captureReducer.instances,Gs=u.createSelector([Hd],t=>l.fallbackToEmptyArray(Object.values(t))),J_=t=>e=>e.captureReducer.instances[t],Q_=y(u.createSelector([Gs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),x_=y(u.createSelector([Gs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e).toSorted((i,a)=>(i.index??0)-(a.index??0))))),Gd=Hs.reducer,se=O(t=>t.uuid),Nd={instances:{}},Ns=u.createSlice({name:"documentAttachments",initialState:Nd,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Nd)),reducers:{initializeDocumentAttachments:se.initialize,addDocumentAttachment:se.addOne,addDocumentAttachments:se.addMany,setDocumentAttachment:se.setOne,setDocumentAttachments:se.setMany,updateDocumentAttachment:se.updateOne,updateDocumentAttachments:se.updateMany,deleteDocumentAttachment:se.deleteOne,deleteDocumentAttachments:se.deleteMany}}),{initializeDocumentAttachments:Kd,addDocumentAttachment:Wd,addDocumentAttachments:Xd,setDocumentAttachment:Yd,setDocumentAttachments:Zd,updateDocumentAttachment:Jd,updateDocumentAttachments:Qd,deleteDocumentAttachment:xd,deleteDocumentAttachments:eu}=Ns.actions,tu=t=>t.documentAttachmentReducer.instances,Ks=u.createSelector([tu],t=>Object.values(t)),su=t=>e=>e.documentAttachmentReducer.instances[t],iu=y(u.createSelector([Ks,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),eM=y(u.createSelector([Ks,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({document:i})=>e===i)))),au=Ns.reducer,ie=O(({uuid:t})=>t),nu={instances:{}},Ws=u.createSlice({name:"documents",initialState:nu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>{Object.assign(e,nu)}),reducers:{initializeDocuments:ie.initialize,addDocument:ie.addOne,addDocuments:ie.addMany,setDocument:ie.setOne,setDocuments:ie.setMany,updateDocument:ie.updateOne,updateDocuments:ie.updateMany,deleteDocument:ie.deleteOne,deleteDocuments:ie.deleteMany}}),{initializeDocuments:cu,addDocument:ru,addDocuments:du,setDocument:uu,setDocuments:lu,updateDocument:ou,updateDocuments:hu,deleteDocument:pu,deleteDocuments:yu}=Ws.actions,mu=Ws.reducer,Xs=t=>t.documentsReducer.instances,Ht=u.createSelector([Xs],t=>Object.values(t)),fu=t=>e=>e.documentsReducer.instances[t],Su=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tM=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),sM=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),Au=y(u.createSelector([Xs,(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)})),ae=O(t=>t.uuid),Tu={instances:{}},Ys=u.createSlice({name:"emailDomains",initialState:Tu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Tu)),reducers:{initializeEmailDomains:ae.initialize,addEmailDomain:ae.addOne,addEmailDomains:ae.addMany,setEmailDomain:ae.setOne,setEmailDomains:ae.setMany,updateEmailDomain:ae.updateOne,updateEmailDomains:ae.updateMany,deleteEmailDomain:ae.deleteOne,deleteEmailDomains:ae.deleteMany}}),{initializeEmailDomains:Iu,addEmailDomain:Ou,addEmailDomains:Pu,setEmailDomain:bu,setEmailDomains:Fu,updateEmailDomain:_u,updateEmailDomains:Mu,deleteEmailDomain:gu,deleteEmailDomains:Ru}=Ys.actions,wu=t=>t.emailDomainsReducer.instances,Zs=u.createSelector([wu],t=>Object.values(t)),Eu=t=>e=>e.emailDomainsReducer.instances[t],vu=y(u.createSelector([Zs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),iM=y(u.createSelector([Zs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Vu=Ys.reducer,ne=O(t=>t.uuid),Bu={instances:{}},Js=u.createSlice({name:"formIdentifiers",initialState:Bu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Bu)),reducers:{initializeFormIdentifiers:ne.initialize,addFormIdentifier:ne.addOne,addFormIdentifiers:ne.addMany,setFormIdentifier:ne.setOne,setFormIdentifiers:ne.setMany,updateFormIdentifier:ne.updateOne,updateFormIdentifiers:ne.updateMany,deleteFormIdentifier:ne.deleteOne,deleteFormIdentifiers:ne.deleteMany}}),{initializeFormIdentifiers:zu,addFormIdentifier:ju,addFormIdentifiers:Cu,setFormIdentifier:Du,setFormIdentifiers:qu,updateFormIdentifier:$u,updateFormIdentifiers:Uu,deleteFormIdentifier:ku,deleteFormIdentifiers:Lu}=Js.actions,Hu=t=>t.formIdentifierReducer.instances,Qs=u.createSelector([Hu],t=>Object.values(t)),Gu=t=>e=>e.formIdentifierReducer.instances[t],Nu=y(u.createSelector([Qs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),aM=y(u.createSelector([Qs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Ku=Js.reducer,ce=O(t=>t.uuid),Wu={instances:{}},xs=u.createSlice({name:"formIdentifierValues",initialState:Wu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Wu)),reducers:{initializeFormIdentifierValues:ce.initialize,addFormIdentifierValue:ce.addOne,addFormIdentifierValues:ce.addMany,setFormIdentifierValue:ce.setOne,setFormIdentifierValues:ce.setMany,updateFormIdentifierValue:ce.updateOne,updateFormIdentifierValues:ce.updateMany,deleteFormIdentifierValue:ce.deleteOne,deleteFormIdentifierValues:ce.deleteMany}}),{initializeFormIdentifierValues:Xu,addFormIdentifierValue:Yu,addFormIdentifierValues:Zu,setFormIdentifierValue:Ju,setFormIdentifierValues:Qu,updateFormIdentifierValue:xu,updateFormIdentifierValues:el,deleteFormIdentifierValue:tl,deleteFormIdentifierValues:sl}=xs.actions,il=t=>t.formIdentifierValueReducer.instances,Gt=u.createSelector([il],t=>Object.values(t)),al=t=>e=>e.formIdentifierValueReducer.instances[t],nl=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),nM=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),cM=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_identifier===e)))),cl=xs.reducer,re=O(t=>t.uuid),rl={instances:{}},ei=u.createSlice({name:"formRevisionAttachments",initialState:rl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,rl)),reducers:{initializeFormRevisionAttachments:re.initialize,addFormRevisionAttachment:re.addOne,addFormRevisionAttachments:re.addMany,setFormRevisionAttachment:re.setOne,setFormRevisionAttachments:re.setMany,updateFormRevisionAttachment:re.updateOne,updateFormRevisionAttachments:re.updateMany,deleteFormRevisionAttachment:re.deleteOne,deleteFormRevisionAttachments:re.deleteMany}}),{initializeFormRevisionAttachments:dl,addFormRevisionAttachment:ul,addFormRevisionAttachments:ll,setFormRevisionAttachment:ol,setFormRevisionAttachments:hl,updateFormRevisionAttachment:pl,updateFormRevisionAttachments:yl,deleteFormRevisionAttachment:ml,deleteFormRevisionAttachments:fl}=ei.actions,Nt=t=>t.formRevisionAttachmentReducer.instances,Sl=u.createSelector([Nt],t=>Object.values(t)),Al=y(u.createSelector([Nt,(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)))})),rM=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.form_revision===e)))),Il=ei.reducer,de=O(t=>t.uuid),Ol={instances:{}},ti=u.createSlice({name:"formRevisions",initialState:Ol,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Ol)),reducers:{initializeFormRevisions:de.initialize,addFormRevision:de.addOne,addFormRevisions:de.addMany,setFormRevision:de.setOne,setFormRevisions:de.setMany,updateFormRevision:de.updateOne,updateFormRevisions:de.updateMany,deleteFormRevision:de.deleteOne,deleteFormRevisions:de.deleteMany}}),{initializeFormRevisions:Pl,addFormRevision:bl,addFormRevisions:si,setFormRevision:Fl,setFormRevisions:_l,updateFormRevision:Ml,updateFormRevisions:gl,deleteFormRevision:Rl,deleteFormRevisions:ii}=ti.actions,wl=t=>t.formRevisionReducer.instances,Kt=u.createSelector([wl],t=>Object.values(t)),El=t=>e=>e.formRevisionReducer.instances[t],vl=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dM=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).toSorted(l.submittedAtModelSortFn).pop())),Vl=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Bl=ti.reducer,ue=O(t=>t.uuid),zl={instances:{}},ai=u.createSlice({name:"formSubscribers",initialState:zl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,zl)),reducers:{initializeFormSubscribers:ue.initialize,addFormSubscriber:ue.addOne,addFormSubscribers:ue.addMany,setFormSubscriber:ue.setOne,setFormSubscribers:ue.setMany,updateFormSubscriber:ue.updateOne,updateFormSubscribers:ue.updateMany,deleteFormSubscriber:ue.deleteOne,deleteFormSubscribers:ue.deleteMany}}),{initializeFormSubscribers:jl,addFormSubscriber:Cl,addFormSubscribers:ni,setFormSubscriber:Dl,setFormSubscribers:ql,updateFormSubscriber:$l,updateFormSubscribers:Ul,deleteFormSubscriber:kl,deleteFormSubscribers:ci}=ai.actions,Ll=t=>t.formSubscriberReducer.instances,Wt=u.createSelector([Ll],t=>Object.values(t)),Hl=t=>e=>e.formSubscriberReducer.instances[t],Gl=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Nl=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),uM=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.user===e)))),Kl=ai.reducer,le=O(t=>t.uuid),Wl={instances:{}},ri=u.createSlice({name:"forms",initialState:Wl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Wl)),reducers:{initializeForms:le.initialize,addForm:le.addOne,addForms:le.addMany,setForm:le.setOne,setForms:le.setMany,updateForm:le.updateOne,updateForms:le.updateMany,deleteForm:le.deleteOne,deleteForms:le.deleteMany}}),{initializeForms:Xl,addForm:Yl,addForms:Zl,setForm:Jl,setForms:Ql,updateForm:xl,updateForms:eo,deleteForm:to,deleteForms:so}=ri.actions,io=ri.reducer,ao=t=>t.formReducer.instances,di=u.createSelector([ao],t=>Object.values(t)),no=t=>e=>e.formReducer.instances[t],co=y(u.createSelector([di,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),lM=y(u.createSelector([di,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),oe=O(({uuid:t})=>t),ro={instances:{}},ui=u.createSlice({name:"formSubmissionFieldValuesAttachments",initialState:ro,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,ro)),reducers:{initializeFormSubmissionFieldValuesAttachments:oe.initialize,addFormSubmissionFieldValuesAttachment:oe.addOne,addFormSubmissionFieldValuesAttachments:oe.addMany,setFormSubmissionFieldValuesAttachment:oe.setOne,setFormSubmissionFieldValuesAttachments:oe.setMany,updateFormSubmissionFieldValuesAttachment:oe.updateOne,updateFormSubmissionFieldValuesAttachments:oe.updateMany,deleteFormSubmissionFieldValuesAttachment:oe.deleteOne,deleteFormSubmissionFieldValuesAttachments:oe.deleteMany}}),{initializeFormSubmissionFieldValuesAttachments:uo,addFormSubmissionFieldValuesAttachment:lo,addFormSubmissionFieldValuesAttachments:li,setFormSubmissionFieldValuesAttachment:oo,setFormSubmissionFieldValuesAttachments:ho,updateFormSubmissionFieldValuesAttachment:po,updateFormSubmissionFieldValuesAttachments:yo,deleteFormSubmissionFieldValuesAttachment:mo,deleteFormSubmissionFieldValuesAttachments:oi}=ui.actions,hi=t=>t.formSubmissionFieldValuesAttachmentReducer.instances,pi=u.createSelector([hi],t=>Object.values(t)),fo=y(u.createSelector([hi,(t,e)=>e],(t,e)=>t[e])),yi=y(u.createSelector([pi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.uuid)))})),So=y(u.createSelector([pi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Ao=ui.reducer,he=O(({uuid:t})=>t),To={instances:{}},mi=u.createSlice({name:"formSubmissionFieldValues",initialState:To,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,To)),reducers:{initializeFormSubmissionFieldValues:he.initialize,addFormSubmissionFieldValues:he.addOne,addFormSubmissionFieldValuesMany:he.addMany,setFormSubmissionFieldValues:he.setOne,setFormSubmissionFieldValuesMany:he.setMany,updateFormSubmissionFieldValues:he.updateOne,updateFormSubmissionFieldValuesMany:he.updateMany,deleteFormSubmissionFieldValues:he.deleteOne,deleteFormSubmissionFieldValuesMany:he.deleteMany}}),{initializeFormSubmissionFieldValues:Io,addFormSubmissionFieldValues:Oo,addFormSubmissionFieldValuesMany:fi,setFormSubmissionFieldValues:Po,setFormSubmissionFieldValuesMany:bo,updateFormSubmissionFieldValues:Fo,updateFormSubmissionFieldValuesMany:_o,deleteFormSubmissionFieldValues:Mo,deleteFormSubmissionFieldValuesMany:Si}=mi.actions,go=t=>t.formSubmissionFieldValuesReducer.instances,Ai=u.createSelector([go],t=>Object.values(t)),Ro=t=>e=>e.formSubmissionFieldValuesReducer.instances[t],wo=y(u.createSelector([Ai,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Eo=y(u.createSelector([Ai,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),vo=mi.reducer,pe=O(t=>t.uuid),Vo={instances:{}},Ti=u.createSlice({name:"formSubmissions",initialState:Vo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Vo)),reducers:{initializeFormSubmissions:pe.initialize,setFormSubmission:pe.setOne,setFormSubmissions:pe.setMany,addFormSubmission:pe.addOne,addFormSubmissions:pe.addMany,updateFormSubmission:pe.updateOne,updateFormSubmissions:pe.updateMany,deleteFormSubmission:pe.deleteOne,deleteFormSubmissions:pe.deleteMany}}),{initializeFormSubmissions:Bo,setFormSubmission:zo,setFormSubmissions:jo,addFormSubmission:Co,addFormSubmissions:ut,updateFormSubmission:Do,updateFormSubmissions:qo,deleteFormSubmission:$o,deleteFormSubmissions:lt}=Ti.actions,Uo=t=>t.formSubmissionReducer.instances,C=u.createSelector([Uo],t=>Object.values(t)),ko=t=>e=>e.formSubmissionReducer.instances[t],Lo=y(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ho=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),oM=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({organization:i})=>i===e)))),hM=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),pM=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)))),yM=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)))),Go=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),No=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)))})),Ko=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),Wo=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)))})),Xo=Ti.reducer,ye=O(t=>t.uuid),Yo={instances:{}},Ii=u.createSlice({name:"geoImages",initialState:Yo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Yo)),reducers:{initializeGeoImages:ye.initialize,setGeoImage:ye.setOne,setGeoImages:ye.setMany,addGeoImage:ye.addOne,addGeoImages:ye.addMany,updateGeoImage:ye.updateOne,updateGeoImages:ye.updateMany,deleteGeoImage:ye.deleteOne,deleteGeoImages:ye.deleteMany}}),{initializeGeoImages:Zo,setGeoImage:Jo,setGeoImages:Qo,addGeoImage:xo,addGeoImages:eh,updateGeoImage:th,updateGeoImages:sh,deleteGeoImage:ih,deleteGeoImages:ah}=Ii.actions,nh=t=>t.geoImageReducer.instances,Oi=u.createSelector([nh],t=>Object.values(t)),ch=t=>e=>e.geoImageReducer.instances[t],rh=y(u.createSelector([Oi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),mM=y(u.createSelector([Oi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),dh=Ii.reducer,me=O(t=>t.uuid),uh={instances:{}},Pi=u.createSlice({name:"issueAssociations",initialState:uh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,uh)),reducers:{initializeIssueAssociations:me.initialize,addIssueAssociation:me.addOne,addIssueAssociations:me.addMany,setIssueAssociation:me.setOne,setIssueAssociations:me.setMany,updateIssueAssociation:me.updateOne,updateIssueAssociations:me.updateMany,deleteIssueAssociation:me.deleteOne,deleteIssueAssociations:me.deleteMany}}),{initializeIssueAssociations:lh,setIssueAssociations:oh,setIssueAssociation:hh,updateIssueAssociation:ph,updateIssueAssociations:yh,addIssueAssociation:mh,addIssueAssociations:At,deleteIssueAssociation:fh,deleteIssueAssociations:Tt}=Pi.actions,Sh=t=>t.issueAssociationReducer.instances,It=u.createSelector([Sh],t=>Object.values(t)),Ah=t=>e=>e.issueAssociationReducer.instances[t],Th=y(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ih=y(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>i.has(a)))})),Oh=y(u.createSelector([It,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),Ph=y(u.createSelector([It,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),bh=y(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),Fh=Pi.reducer,fe=O(t=>t.uuid),_h={instances:{}},bi=u.createSlice({name:"issueAttachments",initialState:_h,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,_h)),reducers:{initializeIssueAttachments:fe.initialize,addIssueAttachment:fe.addOne,addIssueAttachments:fe.addMany,setIssueAttachment:fe.setOne,setIssueAttachments:fe.setMany,updateIssueAttachment:fe.updateOne,updateIssueAttachments:fe.updateMany,deleteIssueAttachment:fe.deleteOne,deleteIssueAttachments:fe.deleteMany}}),{initializeIssueAttachments:Mh,addIssueAttachment:gh,addIssueAttachments:Fi,setIssueAttachment:Rh,setIssueAttachments:wh,updateIssueAttachment:Eh,updateIssueAttachments:vh,deleteIssueAttachment:Vh,deleteIssueAttachments:_i}=bi.actions,Bh=t=>t.issueAttachmentReducer.instances,Mi=u.createSelector([Bh],t=>Object.values(t)),zh=y(u.createSelector([Mi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>e===i)))),jh=t=>e=>e.issueAttachmentReducer.instances[t],Ch=y(u.createSelector([Mi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Dh=bi.reducer,Se=O(t=>t.uuid),qh={instances:{}},gi=u.createSlice({name:"issueCommentAttachments",initialState:qh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,qh)),reducers:{initializeIssueCommentAttachments:Se.initialize,addIssueCommentAttachment:Se.addOne,addIssueCommentAttachments:Se.addMany,setIssueCommentAttachment:Se.setOne,setIssueCommentAttachments:Se.setMany,updateIssueCommentAttachment:Se.updateOne,updateIssueCommentAttachments:Se.updateMany,deleteIssueCommentAttachment:Se.deleteOne,deleteIssueCommentAttachments:Se.deleteMany}}),{initializeIssueCommentAttachments:$h,addIssueCommentAttachment:Uh,addIssueCommentAttachments:kh,setIssueCommentAttachment:Lh,setIssueCommentAttachments:Hh,updateIssueCommentAttachment:Gh,updateIssueCommentAttachments:Nh,deleteIssueCommentAttachment:Kh,deleteIssueCommentAttachments:Wh}=gi.actions,Xh=t=>t.issueCommentAttachmentReducer.instances,Ri=u.createSelector([Xh],t=>Object.values(t)),Yh=t=>e=>e.issueCommentAttachmentReducer.instances[t],Zh=y(u.createSelector([Ri,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fM=y(u.createSelector([Ri,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_comment:i})=>e===i)))),Jh=gi.reducer,Ae=O(t=>t.uuid),Qh={instances:{}},wi=u.createSlice({name:"issueComments",initialState:Qh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Qh)),reducers:{initializeIssueComments:Ae.initialize,addIssueComment:Ae.addOne,addIssueComments:Ae.addMany,setIssueComment:Ae.setOne,setIssueComments:Ae.setMany,updateIssueComment:Ae.updateOne,updateIssueComments:Ae.updateMany,deleteIssueComment:Ae.deleteOne,deleteIssueComments:Ae.deleteMany}}),{initializeIssueComments:xh,addIssueComment:ep,addIssueComments:tp,setIssueComment:sp,setIssueComments:ip,updateIssueComment:ap,updateIssueComments:np,deleteIssueComment:cp,deleteIssueComments:rp}=wi.actions,Ei=t=>t.issueCommentReducer.instances,dp=t=>e=>e.issueCommentReducer.instances[t],up=y(u.createSelector([Ei,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),SM=y(u.createSelector([Ei,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.issue===e)))),lp=wi.reducer,Te=O(t=>t.uuid),op={instances:{}},vi=u.createSlice({name:"issues",initialState:op,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,op)),reducers:{initializeIssues:Te.initialize,addIssue:Te.addOne,addIssues:Te.addMany,setIssue:Te.setOne,setIssues:Te.setMany,updateIssue:Te.updateOne,updateIssues:Te.updateMany,deleteIssue:Te.deleteOne,deleteIssues:Te.deleteMany}}),{initializeIssues:hp,addIssue:pp,addIssues:Vi,setIssue:yp,setIssues:mp,updateIssue:fp,updateIssues:Sp,deleteIssue:Ap,deleteIssues:Bi}=vi.actions,Tp=t=>t.issueReducer.instances,Xt=u.createSelector([Tp],t=>Object.values(t)),Ip=t=>e=>e.issueReducer.instances[t],Op=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),AM=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),Pp=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),bp=vi.reducer,Ie=O(t=>t.uuid),Fp={instances:{}},zi=u.createSlice({name:"issueTypeAttachments",initialState:Fp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Fp)),reducers:{initializeIssueTypeAttachments:Ie.initialize,addIssueTypeAttachment:Ie.addOne,addIssueTypeAttachments:Ie.addMany,setIssueTypeAttachment:Ie.setOne,setIssueTypeAttachments:Ie.setMany,updateIssueTypeAttachment:Ie.updateOne,updateIssueTypeAttachments:Ie.updateMany,deleteIssueTypeAttachment:Ie.deleteOne,deleteIssueTypeAttachments:Ie.deleteMany}}),{initializeIssueTypeAttachments:_p,addIssueTypeAttachment:Mp,addIssueTypeAttachments:gp,setIssueTypeAttachment:Rp,setIssueTypeAttachments:wp,updateIssueTypeAttachment:Ep,updateIssueTypeAttachments:vp,deleteIssueTypeAttachment:Vp,deleteIssueTypeAttachments:Bp}=zi.actions,zp=t=>t.issueTypeAttachmentReducer.instances,ji=u.createSelector([zp],t=>Object.values(t)),jp=t=>e=>e.issueTypeAttachmentReducer.instances[t],Cp=y(u.createSelector([ji,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),TM=y(u.createSelector([ji,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_type:i})=>e===i)))),Dp=zi.reducer,Oe=O(t=>t.uuid),qp={instances:{}},Ci=u.createSlice({name:"issueTypeFieldsAttachments",initialState:qp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,qp)),reducers:{initializeIssueTypeFieldsAttachments:Oe.initialize,addIssueTypeFieldsAttachment:Oe.addOne,addIssueTypeFieldsAttachments:Oe.addMany,setIssueTypeFieldsAttachment:Oe.setOne,setIssueTypeFieldsAttachments:Oe.setMany,updateIssueTypeFieldsAttachment:Oe.updateOne,updateIssueTypeFieldsAttachments:Oe.updateMany,deleteIssueTypeFieldsAttachment:Oe.deleteOne,deleteIssueTypeFieldsAttachments:Oe.deleteMany}}),{initializeIssueTypeFieldsAttachments:$p,addIssueTypeFieldsAttachment:Up,addIssueTypeFieldsAttachments:kp,setIssueTypeFieldsAttachment:Lp,setIssueTypeFieldsAttachments:Hp,updateIssueTypeFieldsAttachment:Gp,updateIssueTypeFieldsAttachments:Np,deleteIssueTypeFieldsAttachment:Kp,deleteIssueTypeFieldsAttachments:Wp}=Ci.actions,Xp=t=>t.issueTypeFieldsAttachmentReducer.instances,Di=u.createSelector([Xp],t=>Object.values(t)),IM=y(u.createSelector([Di,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),Yp=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],Zp=y(u.createSelector([Di,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Jp=Ci.reducer,Pe=O(t=>t.uuid),Qp={instances:{}},qi=u.createSlice({name:"issueTypeFieldValues",initialState:Qp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Qp)),reducers:{initializeIssueTypeFieldValues:Pe.initialize,addIssueTypeFieldValues:Pe.addOne,addIssueTypeFieldValuesMany:Pe.addMany,setIssueTypeFieldValues:Pe.setOne,setIssueTypeFieldValuesMany:Pe.setMany,updateIssueTypeFieldValues:Pe.updateOne,updateIssueTypeFieldValuesMany:Pe.updateMany,deleteIssueTypeFieldValues:Pe.deleteOne,deleteIssueTypeFieldValuesMany:Pe.deleteMany}}),{initializeIssueTypeFieldValues:xp,addIssueTypeFieldValues:ey,addIssueTypeFieldValuesMany:ty,setIssueTypeFieldValues:sy,setIssueTypeFieldValuesMany:iy,updateIssueTypeFieldValues:ay,updateIssueTypeFieldValuesMany:ny,deleteIssueTypeFieldValues:cy,deleteIssueTypeFieldValuesMany:ry}=qi.actions,dy=t=>t.issueTypeFieldValuesReducer.instances,Yt=u.createSelector([dy],t=>Object.values(t)),OM=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),uy=t=>e=>e.issueTypeFieldValuesReducer.instances[t],ly=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),oy=qi.reducer,be=O(t=>t.uuid),hy={instances:{}},$i=u.createSlice({name:"issueTypeFields",initialState:hy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,hy)),reducers:{initializeIssueTypeFields:be.initialize,addIssueTypeFields:be.addOne,addIssueTypeFieldsMany:be.addMany,setIssueTypeFields:be.setOne,setIssueTypeFieldsMany:be.setMany,updateIssueTypeFields:be.updateOne,updateIssueTypeFieldsMany:be.updateMany,deleteIssueTypeFields:be.deleteOne,deleteIssueTypeFieldsMany:be.deleteMany}}),{initializeIssueTypeFields:py,addIssueTypeFields:yy,addIssueTypeFieldsMany:my,setIssueTypeFields:fy,setIssueTypeFieldsMany:Sy,updateIssueTypeFields:Ay,updateIssueTypeFieldsMany:Ty,deleteIssueTypeFields:Iy,deleteIssueTypeFieldsMany:Oy}=$i.actions,Py=t=>t.issueTypeFieldsReducer.instances,gt=u.createSelector([Py],t=>Object.values(t)),PM=y(u.createSelector([gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),bM=y(u.createSelector([gt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),FM=y(u.createSelector([gt,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)))})),by=t=>e=>e.issueTypeFieldsReducer.instances[t],Fy=y(u.createSelector([gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_y=$i.reducer,Fe=O(t=>t.uuid),My={instances:{}},Ui=u.createSlice({name:"issueTypeFieldValuesAttachments",initialState:My,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,My)),reducers:{initializeIssueTypeFieldValuesAttachments:Fe.initialize,addIssueTypeFieldValuesAttachment:Fe.addOne,addIssueTypeFieldValuesAttachments:Fe.addMany,setIssueTypeFieldValuesAttachment:Fe.setOne,setIssueTypeFieldValuesAttachments:Fe.setMany,updateIssueTypeFieldValuesAttachment:Fe.updateOne,updateIssueTypeFieldValuesAttachments:Fe.updateMany,deleteIssueTypeFieldValuesAttachment:Fe.deleteOne,deleteIssueTypeFieldValuesAttachments:Fe.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:gy,addIssueTypeFieldValuesAttachment:Ry,addIssueTypeFieldValuesAttachments:ki,setIssueTypeFieldValuesAttachment:wy,setIssueTypeFieldValuesAttachments:Ey,updateIssueTypeFieldValuesAttachment:vy,updateIssueTypeFieldValuesAttachments:Vy,deleteIssueTypeFieldValuesAttachment:By,deleteIssueTypeFieldValuesAttachments:Li}=Ui.actions,zy=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Hi=u.createSelector([zy],t=>Object.values(t)),jy=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],Cy=y(u.createSelector([Hi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Dy=y(u.createSelector([Hi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),qy=Ui.reducer,_e=O(t=>t.uuid),$y={instances:{}},Gi=u.createSlice({name:"issueTypeIdentifiers",initialState:$y,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,$y)),reducers:{initializeIssueTypeIdentifiers:_e.initialize,addIssueTypeIdentifier:_e.addOne,addIssueTypeIdentifiers:_e.addMany,setIssueTypeIdentifier:_e.setOne,setIssueTypeIdentifiers:_e.setMany,updateIssueTypeIdentifier:_e.updateOne,updateIssueTypeIdentifiers:_e.updateMany,deleteIssueTypeIdentifier:_e.deleteOne,deleteIssueTypeIdentifiers:_e.deleteMany}}),{initializeIssueTypeIdentifiers:Uy,addIssueTypeIdentifier:ky,addIssueTypeIdentifiers:Ly,setIssueTypeIdentifier:Hy,setIssueTypeIdentifiers:Gy,updateIssueTypeIdentifier:Ny,updateIssueTypeIdentifiers:Ky,deleteIssueTypeIdentifier:Wy,deleteIssueTypeIdentifiers:Xy}=Gi.actions,Yy=t=>t.issueTypeIdentifierReducer.instances,Ni=u.createSelector([Yy],t=>Object.values(t)),Zy=t=>e=>e.issueTypeIdentifierReducer.instances[t],Jy=y(u.createSelector([Ni,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_M=y(u.createSelector([Ni,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Qy=Gi.reducer,Me=O(t=>t.uuid),xy={instances:{}},Ki=u.createSlice({name:"issueTypeIdentifierValues",initialState:xy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,xy)),reducers:{initializeIssueTypeIdentifierValues:Me.initialize,addIssueTypeIdentifierValue:Me.addOne,addIssueTypeIdentifierValues:Me.addMany,setIssueTypeIdentifierValue:Me.setOne,setIssueTypeIdentifierValues:Me.setMany,updateIssueTypeIdentifierValue:Me.updateOne,updateIssueTypeIdentifierValues:Me.updateMany,deleteIssueTypeIdentifierValue:Me.deleteOne,deleteIssueTypeIdentifierValues:Me.deleteMany}}),{initializeIssueTypeIdentifierValues:em,addIssueTypeIdentifierValue:tm,addIssueTypeIdentifierValues:sm,setIssueTypeIdentifierValue:im,setIssueTypeIdentifierValues:am,updateIssueTypeIdentifierValue:nm,updateIssueTypeIdentifierValues:cm,deleteIssueTypeIdentifierValue:rm,deleteIssueTypeIdentifierValues:dm}=Ki.actions,um=t=>t.issueTypeIdentifierValueReducer.instances,Zt=u.createSelector([um],t=>Object.values(t)),lm=t=>e=>e.issueTypeIdentifierValueReducer.instances[t],om=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),MM=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),gM=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type_identifier===e)))),hm=Ki.reducer,ge=O(t=>t.uuid),pm={instances:{}},Wi=u.createSlice({name:"issueTypePriorities",initialState:pm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,pm)),reducers:{initializeIssueTypePriorities:ge.initialize,addIssueTypePriority:ge.addOne,addIssueTypePriorities:ge.addMany,setIssueTypePriority:ge.setOne,setIssueTypePriorities:ge.setMany,updateIssueTypePriority:ge.updateOne,updateIssueTypePriorities:ge.updateMany,deleteIssueTypePriority:ge.deleteOne,deleteIssueTypePriorities:ge.deleteMany}}),{initializeIssueTypePriorities:ym,addIssueTypePriority:mm,addIssueTypePriorities:fm,setIssueTypePriority:Sm,setIssueTypePriorities:Am,updateIssueTypePriority:Tm,updateIssueTypePriorities:Im,deleteIssueTypePriority:Om,deleteIssueTypePriorities:Pm}=Wi.actions,bm=t=>t.issueTypePriorityReducer.instances,Xi=u.createSelector([bm],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypePrioritySortFn))),Yi=t=>e=>e.issueTypePriorityReducer.instances[t],Fm=y(u.createSelector([Xi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),RM=y(u.createSelector([Xi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),_m=Wi.reducer,Re=O(t=>t.uuid),Mm={instances:{}},Zi=u.createSlice({name:"issueTypes",initialState:Mm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Mm)),reducers:{initializeIssueTypes:Re.initialize,addIssueType:Re.addOne,addIssueTypes:Re.addMany,setIssueType:Re.setOne,setIssueTypes:Re.setMany,updateIssueType:Re.updateOne,updateIssueTypes:Re.updateMany,deleteIssueType:Re.deleteOne,deleteIssueTypes:Re.deleteMany}}),{initializeIssueTypes:gm,addIssueType:Rm,addIssueTypes:wm,setIssueType:Em,setIssueTypes:vm,updateIssueType:Vm,updateIssueTypes:Bm,deleteIssueType:zm,deleteIssueTypes:jm}=Zi.actions,Cm=t=>t.issueTypeReducer.instances,Ji=u.createSelector(Cm,t=>Object.values(t)),Dm=t=>e=>e.issueTypeReducer.instances[t],qm=y(u.createSelector([Ji,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),wM=y(u.createSelector([Ji,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),$m=Zi.reducer,we=O(t=>t.uuid),Um={instances:{}},Qi=u.createSlice({name:"issueTypeStatuses",initialState:Um,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Um)),reducers:{initializeIssueTypeStatuses:we.initialize,addIssueTypeStatus:we.addOne,addIssueTypeStatuses:we.addMany,setIssueTypeStatus:we.setOne,setIssueTypeStatuses:we.setMany,updateIssueTypeStatus:we.updateOne,updateIssueTypeStatuses:we.updateMany,deleteIssueTypeStatus:we.deleteOne,deleteIssueTypeStatuses:we.deleteMany}}),{initializeIssueTypeStatuses:km,addIssueTypeStatus:Lm,addIssueTypeStatuses:Hm,setIssueTypeStatus:Gm,setIssueTypeStatuses:Nm,updateIssueTypeStatus:Km,updateIssueTypeStatuses:Wm,deleteIssueTypeStatus:Xm,deleteIssueTypeStatuses:Ym}=Qi.actions,Zm=t=>t.issueTypeStatusReducer.instances,xi=u.createSelector([Zm],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypeStatusSortFn))),ea=t=>e=>e.issueTypeStatusReducer.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)))})),EM=y(u.createSelector([xi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Qm=Qi.reducer,Ee=O(t=>t.uuid),xm={instances:{}},ta=u.createSlice({name:"issueUpdates",initialState:xm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,xm)),reducers:{initializeIssueUpdates:Ee.initialize,addIssueUpdate:Ee.addOne,addIssueUpdates:Ee.addMany,setIssueUpdate:Ee.setOne,setIssueUpdates:Ee.setMany,updateIssueUpdate:Ee.updateOne,updateIssueUpdates:Ee.updateMany,deleteIssueUpdate:Ee.deleteOne,deleteIssueUpdates:Ee.deleteMany}}),{initializeIssueUpdates:ef,addIssueUpdate:sa,addIssueUpdates:ia,setIssueUpdate:tf,setIssueUpdates:sf,updateIssueUpdate:af,updateIssueUpdates:nf,deleteIssueUpdate:aa,deleteIssueUpdates:na}=ta.actions,ca=t=>t.issueUpdateReducer.instances,ra=u.createSelector([ca],t=>Object.values(t)),cf=y(u.createSelector([ca,(t,e)=>e],(t,e)=>t[e])),rf=y(u.createSelector([ra,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),df=y(u.createSelector([ra,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),uf=ta.reducer,ve=O(t=>t.id),lf={instances:{},currentUser:null},da=u.createSlice({name:"users",initialState:lf,extraReducers:t=>t.addCase(T,e=>Object.assign(e,lf)).addCase(P,e=>Object.assign(e,{...e,instances:[]})),reducers:{initializeUsers:ve.initialize,setUsers:ve.setMany,setUser:ve.setOne,addUsers:ve.addMany,addUser:ve.addOne,updateUsers:ve.updateMany,updateUser:ve.updateOne,deleteUser:ve.deleteOne,deleteUsers:ve.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:of,setUsers:hf,setUser:pf,addUsers:yf,addUser:ua,updateUsers:mf,updateUser:ff,deleteUser:la,deleteUsers:Sf,setCurrentUser:vM,setCurrentUserProfile:VM}=da.actions,Af=da.reducer,Tf=t=>t.userReducer.currentUser,oa=t=>t.userReducer.instances,Jt=u.createSelector([oa],t=>Object.values(t)),Qt=t=>e=>e.userReducer.instances[t],If=y(u.createSelector([Jt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({id:a})=>i.has(a)))})),Ve=O(t=>t.uuid),Of={instances:{}},ha=u.createSlice({name:"organizationAccess",initialState:Of,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Of)),reducers:{initializeOrganizationAccesses:Ve.initialize,addOrganizationAccess:Ve.addOne,addOrganizationAccesses:Ve.addMany,setOrganizationAccess:Ve.setOne,setOrganizationAccesses:Ve.setMany,updateOrganizationAccess:Ve.updateOne,updateOrganizationAccesses:Ve.updateMany,deleteOrganizationAccess:Ve.deleteOne,deleteOrganizationAccesses:Ve.deleteMany}}),{initializeOrganizationAccesses:Pf,addOrganizationAccess:bf,addOrganizationAccesses:Ff,setOrganizationAccess:_f,setOrganizationAccesses:Mf,updateOrganizationAccess:gf,updateOrganizationAccesses:Rf,deleteOrganizationAccess:wf,deleteOrganizationAccesses:Ef}=ha.actions,vf=ha.reducer,xt=t=>t.organizationAccessReducer.instances,Vf=t=>e=>e.organizationAccessReducer.instances[t],Bf=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)))})),BM=u.createSelector([Tf,xt],(t,e)=>Object.values(e).find(a=>a.user===t?.id)??null),zf=u.createSelector([xt],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return l.fallbackToEmptyObject(e)}),zM=y(u.createSelector([oa,zf,(t,e)=>e],(t,e,i)=>l.fallbackToEmptyArray(Object.values(t).filter(a=>{const n=e[a.id];return!!n&&n.organization===i})))),Be=O(t=>t.uuid),jf={instances:{}},pa=u.createSlice({name:"organizations",initialState:jf,extraReducers:t=>t.addMatcher(u.isAnyOf(T),e=>Object.assign(e,jf)),reducers:{initializeOrganizations:Be.initialize,setOrganizations:Be.setMany,setOrganization:Be.setOne,addOrganizations:Be.addMany,addOrganization:Be.addOne,updateOrganizations:Be.updateMany,updateOrganization:Be.updateOne,deleteOrganization:Be.deleteOne,deleteOrganizations:Be.deleteMany}}),{initializeOrganizations:Cf,setOrganizations:Df,setOrganization:qf,addOrganizations:$f,addOrganization:Uf,updateOrganizations:kf,updateOrganization:Lf,deleteOrganization:Hf,deleteOrganizations:Gf}=pa.actions,Nf=t=>t.organizationReducer.instances,Kf=u.createSelector([Nf],t=>Object.values(t)),Wf=t=>e=>e.organizationReducer.instances[t],Xf=y(u.createSelector([Kf,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Yf=pa.reducer,Zf=(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}}}}},Jf={deletedRequests:[],latestRetryTime:0},ya=u.createSlice({name:"outbox",initialState:Jf,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Jf)),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 Zf(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}}}),jM=t=>t.outboxReducer.deletedRequests,CM=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:Qf,markForDeletion:DM,markAsDeleted:xf,_setLatestRetryTime:eS}=ya.actions,tS=ya.reducer,ze=O(t=>t.uuid),sS={instances:{}},ma=u.createSlice({name:"projectAccess",initialState:sS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,sS)),reducers:{initializeProjectAccesses:ze.initialize,addProjectAccess:ze.addOne,addProjectAccesses:ze.addMany,setProjectAccess:ze.setOne,setProjectAccesses:ze.setMany,updateProjectAccess:ze.updateOne,updateProjectAccesses:ze.updateMany,deleteProjectAccess:ze.deleteOne,deleteProjectAccesses:ze.deleteMany}}),{initializeProjectAccesses:iS,addProjectAccess:aS,addProjectAccesses:nS,setProjectAccess:cS,setProjectAccesses:rS,updateProjectAccess:dS,updateProjectAccesses:uS,deleteProjectAccess:lS,deleteProjectAccesses:oS}=ma.actions,hS=ma.reducer,fa=t=>t.projectAccessReducer.instances,Rt=u.createSelector(fa,t=>Object.values(t)),pS=t=>e=>e.projectAccessReducer.instances[t],yS=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),qM=y(u.createSelector([fa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.project===e)))),$M=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.project===e))i[a.user]=a;return i})),UM=y(u.createSelector([Jt,Rt,(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)))})),je=O(t=>t.uuid),mS={instances:{}},Sa=u.createSlice({name:"projectAttachments",initialState:mS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,mS)),reducers:{initializeProjectAttachments:je.initialize,addProjectAttachment:je.addOne,addProjectAttachments:je.addMany,setProjectAttachment:je.setOne,setProjectAttachments:je.setMany,updateProjectAttachment:je.updateOne,updateProjectAttachments:je.updateMany,deleteProjectAttachment:je.deleteOne,deleteProjectAttachments:je.deleteMany}}),{initializeProjectAttachments:fS,addProjectAttachment:SS,addProjectAttachments:AS,setProjectAttachment:TS,setProjectAttachments:IS,updateProjectAttachment:OS,updateProjectAttachments:PS,deleteProjectAttachment:bS,deleteProjectAttachments:FS}=Sa.actions,_S=t=>t.projectAttachmentReducer.instances,Aa=u.createSelector([_S],t=>Object.values(t)),MS=t=>e=>e.projectAttachmentReducer.instances[t],gS=y(u.createSelector([Aa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),kM=y(u.createSelector([Aa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>e===i)))),RS=Sa.reducer,Ce=O(t=>t.uuid),wS={instances:{}},Ta=u.createSlice({name:"projectComments",initialState:wS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,wS)),reducers:{initializeProjectComments:Ce.initialize,addProjectComment:Ce.addOne,addProjectComments:Ce.addMany,setProjectComment:Ce.setOne,setProjectComments:Ce.setMany,updateProjectComment:Ce.updateOne,updateProjectComments:Ce.updateMany,deleteProjectComment:Ce.deleteOne,deleteProjectComments:Ce.deleteMany}}),{initializeProjectComments:ES,addProjectComment:vS,addProjectComments:VS,setProjectComment:BS,setProjectComments:zS,updateProjectComment:jS,updateProjectComments:CS,deleteProjectComment:DS,deleteProjectComments:qS}=Ta.actions,$S=t=>t.projectCommentReducer.instances,es=u.createSelector([$S],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),US=t=>e=>e.projectCommentReducer.instances[t],kS=y(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),LM=y(u.createSelector([es,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),HM=y(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.project)))})),LS=Ta.reducer,De=O(t=>t.uuid),HS={instances:{}},Ia=u.createSlice({name:"projectFiles",initialState:HS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,HS)),reducers:{initializeProjectFiles:De.initialize,setProjectFile:De.setOne,setProjectFiles:De.setMany,addProjectFile:De.addOne,addProjectFiles:De.addMany,updateProjectFile:De.updateOne,updateProjectFiles:De.updateMany,deleteProjectFile:De.deleteOne,deleteProjectFiles:De.deleteMany}}),{initializeProjectFiles:GS,setProjectFile:NS,setProjectFiles:KS,addProjectFile:WS,addProjectFiles:XS,updateProjectFile:YS,updateProjectFiles:ZS,deleteProjectFile:JS,deleteProjectFiles:QS}=Ia.actions,xS=t=>t.projectFileReducer.instances,eA=u.createSelector([xS],t=>l.fallbackToEmptyArray(Object.values(t).toSorted((e,i)=>e.z_index-i.z_index))),tA=t=>e=>e.projectFileReducer.instances[t],sA=y(u.createSelector([eA,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),iA=Ia.reducer,qe=O(t=>t.uuid),aA={instances:{}},Oa=u.createSlice({name:"projects",initialState:aA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,aA)),reducers:{initializeProjects:qe.initialize,setProjects:qe.setMany,setProject:qe.setOne,addProjects:qe.addMany,addProject:qe.addOne,updateProjects:qe.updateMany,updateProject:qe.updateOne,deleteProject:qe.deleteOne,deleteProjects:qe.deleteMany}}),{initializeProjects:nA,setProjects:cA,setProject:rA,addProjects:dA,addProject:uA,updateProjects:lA,updateProject:oA,deleteProject:hA,deleteProjects:pA}=Oa.actions,yA=Oa.reducer,mA=t=>t.projectReducer.instances,ts=u.createSelector([mA],t=>Object.values(t)),fA=t=>e=>e.projectReducer.instances[t],SA=y(u.createSelector([ts,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),GM=y(u.createSelector([ts,Rt,(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)))})),NM=y(u.createSelector([ts,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),$e=O(({uuid:t})=>t),AA={instances:{}},Pa=u.createSlice({name:"procedureInitiatives",initialState:AA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,AA)),reducers:{initializeProcedureInitiatives:$e.initialize,addProcedureInitiative:$e.addOne,addProcedureInitiatives:$e.addMany,setProcedureInitiative:$e.setOne,setProcedureInitiatives:$e.setMany,updateProcedureInitiative:$e.updateOne,updateProcedureInitiatives:$e.updateMany,deleteProcedureInitiative:$e.deleteOne,deleteProcedureInitiatives:$e.deleteMany}}),{initializeProcedureInitiatives:TA,addProcedureInitiative:IA,addProcedureInitiatives:OA,setProcedureInitiative:PA,setProcedureInitiatives:bA,updateProcedureInitiative:FA,updateProcedureInitiatives:_A,deleteProcedureInitiative:MA,deleteProcedureInitiatives:gA}=Pa.actions,RA=Pa.reducer,wA=t=>t.procedureInitiativeReducer.instances,ss=u.createSelector([wA],t=>Object.values(t)),EA=t=>e=>e.procedureInitiativeReducer.instances[t],vA=y(u.createSelector([ss,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),KM=y(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),WM=y(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),Ue=O(({uuid:t})=>t),VA={instances:{}},ba=u.createSlice({name:"procedures",initialState:VA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,VA)),reducers:{initializeProcedures:Ue.initialize,addProcedure:Ue.addOne,addProcedures:Ue.addMany,setProcedure:Ue.setOne,setProcedures:Ue.setMany,updateProcedure:Ue.updateOne,updateProcedures:Ue.updateMany,deleteProcedure:Ue.deleteOne,deleteProcedures:Ue.deleteMany}}),{initializeProcedures:BA,addProcedure:zA,addProcedures:Ot,setProcedure:jA,setProcedures:CA,updateProcedure:DA,updateProcedures:qA,deleteProcedure:$A,deleteProcedures:Pt}=ba.actions,UA=ba.reducer,kA=t=>t.procedureReducer.instances,ot=u.createSelector([kA],t=>Object.values(t)),LA=t=>e=>e.procedureReducer.instances[t],HA=y(u.createSelector([ot,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),XM=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),GA=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),NA=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),KA=y(u.createSelector([ot,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),WA=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_initiative===e)))),ke=O(t=>t.uuid),XA={instances:{}},Fa=u.createSlice({name:"procedureStepAssignees",initialState:XA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,XA)),reducers:{initializeProcedureStepAssignees:ke.initialize,addProcedureStepAssignee:ke.addOne,addProcedureStepAssignees:ke.addMany,setProcedureStepAssignee:ke.setOne,setProcedureStepAssignees:ke.setMany,updateProcedureStepAssignee:ke.updateOne,updateProcedureStepAssignees:ke.updateMany,deleteProcedureStepAssignee:ke.deleteOne,deleteProcedureStepAssignees:ke.deleteMany}}),{initializeProcedureStepAssignees:YA,addProcedureStepAssignee:ZA,addProcedureStepAssignees:JA,setProcedureStepAssignee:QA,setProcedureStepAssignees:xA,updateProcedureStepAssignee:eT,updateProcedureStepAssignees:tT,deleteProcedureStepAssignee:sT,deleteProcedureStepAssignees:iT}=Fa.actions,aT=t=>t.procedureStepAssigneeReducer.instances,wt=u.createSelector([aT],t=>Object.values(t)),nT=t=>e=>e.procedureStepAssigneeReducer.instances[t],cT=y(u.createSelector([wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),YM=y(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),ZM=y(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),JM=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)))),rT=Fa.reducer,Le=O(t=>t.uuid),dT={instances:{}},_a=u.createSlice({name:"procedureStepComments",initialState:dT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,dT)),reducers:{initializeProcedureStepComments:Le.initialize,addProcedureStepComment:Le.addOne,addProcedureStepComments:Le.addMany,setProcedureStepComment:Le.setOne,setProcedureStepComments:Le.setMany,updateProcedureStepComment:Le.updateOne,updateProcedureStepComments:Le.updateMany,deleteProcedureStepComment:Le.deleteOne,deleteProcedureStepComments:Le.deleteMany}}),{initializeProcedureStepComments:uT,addProcedureStepComment:lT,addProcedureStepComments:oT,setProcedureStepComment:hT,setProcedureStepComments:pT,updateProcedureStepComment:yT,updateProcedureStepComments:mT,deleteProcedureStepComment:fT,deleteProcedureStepComments:ST}=_a.actions,AT=t=>t.procedureStepCommentReducer.instances,Et=u.createSelector([AT],t=>Object.values(t)),TT=t=>e=>e.procedureStepCommentReducer.instances[t],IT=y(u.createSelector([Et,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),QM=y(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),xM=y(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),eg=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)))),OT=_a.reducer,He=O(t=>t.uuid),PT={instances:{}},Ma=u.createSlice({name:"procedureStepDefaultAssignees",initialState:PT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,PT)),reducers:{initializeProcedureStepDefaultAssignees:He.initialize,addProcedureStepDefaultAssignee:He.addOne,addProcedureStepDefaultAssignees:He.addMany,setProcedureStepDefaultAssignee:He.setOne,setProcedureStepDefaultAssignees:He.setMany,updateProcedureStepDefaultAssignee:He.updateOne,updateProcedureStepDefaultAssignees:He.updateMany,deleteProcedureStepDefaultAssignee:He.deleteOne,deleteProcedureStepDefaultAssignees:He.deleteMany}}),{initializeProcedureStepDefaultAssignees:bT,addProcedureStepDefaultAssignee:FT,addProcedureStepDefaultAssignees:_T,setProcedureStepDefaultAssignee:MT,setProcedureStepDefaultAssignees:gT,updateProcedureStepDefaultAssignee:RT,updateProcedureStepDefaultAssignees:wT,deleteProcedureStepDefaultAssignee:ET,deleteProcedureStepDefaultAssignees:vT}=Ma.actions,VT=t=>t.procedureStepDefaultAssigneeReducer.instances,ga=u.createSelector([VT],t=>Object.values(t)),BT=t=>e=>e.procedureStepDefaultAssigneeReducer.instances[t],zT=y(u.createSelector([ga,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tg=y(u.createSelector([ga,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),jT=Ma.reducer,Ge=O(t=>t.uuid),CT={instances:{}},Ra=u.createSlice({name:"procedureStepDefaultReviewers",initialState:CT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,CT)),reducers:{initializeProcedureStepDefaultReviewers:Ge.initialize,addProcedureStepDefaultReviewer:Ge.addOne,addProcedureStepDefaultReviewers:Ge.addMany,setProcedureStepDefaultReviewer:Ge.setOne,setProcedureStepDefaultReviewers:Ge.setMany,updateProcedureStepDefaultReviewer:Ge.updateOne,updateProcedureStepDefaultReviewers:Ge.updateMany,deleteProcedureStepDefaultReviewer:Ge.deleteOne,deleteProcedureStepDefaultReviewers:Ge.deleteMany}}),{initializeProcedureStepDefaultReviewers:DT,addProcedureStepDefaultReviewer:qT,addProcedureStepDefaultReviewers:$T,setProcedureStepDefaultReviewer:UT,setProcedureStepDefaultReviewers:kT,updateProcedureStepDefaultReviewer:LT,updateProcedureStepDefaultReviewers:HT,deleteProcedureStepDefaultReviewer:GT,deleteProcedureStepDefaultReviewers:NT}=Ra.actions,KT=t=>t.procedureStepDefaultReviewerReducer.instances,wa=u.createSelector([KT],t=>Object.values(t)),WT=t=>e=>e.procedureStepDefaultReviewerReducer.instances[t],XT=y(u.createSelector([wa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),sg=y(u.createSelector([wa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),YT=Ra.reducer,Ne=O(t=>t.uuid),ZT={instances:{}},Ea=u.createSlice({name:"procedureStepEvents",initialState:ZT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,ZT)),reducers:{initializeProcedureStepEvents:Ne.initialize,addProcedureStepEvent:Ne.addOne,addProcedureStepEvents:Ne.addMany,setProcedureStepEvent:Ne.setOne,setProcedureStepEvents:Ne.setMany,updateProcedureStepEvent:Ne.updateOne,updateProcedureStepEvents:Ne.updateMany,deleteProcedureStepEvent:Ne.deleteOne,deleteProcedureStepEvents:Ne.deleteMany}}),{initializeProcedureStepEvents:JT,addProcedureStepEvent:QT,addProcedureStepEvents:xT,setProcedureStepEvent:eI,setProcedureStepEvents:tI,updateProcedureStepEvent:sI,updateProcedureStepEvents:iI,deleteProcedureStepEvent:aI,deleteProcedureStepEvents:nI}=Ea.actions,cI=t=>t.procedureStepEventReducer.instances,vt=u.createSelector([cI],t=>Object.values(t)),rI=t=>e=>e.procedureStepEventReducer.instances[t],dI=y(u.createSelector([vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ig=y(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),ag=y(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),ng=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)))),uI=Ea.reducer,Ke=O(t=>t.uuid),lI={instances:{}},va=u.createSlice({name:"procedureStepFieldsAttachments",initialState:lI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,lI)),reducers:{initializeProcedureStepFieldsAttachments:Ke.initialize,addProcedureStepFieldsAttachment:Ke.addOne,addProcedureStepFieldsAttachments:Ke.addMany,setProcedureStepFieldsAttachment:Ke.setOne,setProcedureStepFieldsAttachments:Ke.setMany,updateProcedureStepFieldsAttachment:Ke.updateOne,updateProcedureStepFieldsAttachments:Ke.updateMany,deleteProcedureStepFieldsAttachment:Ke.deleteOne,deleteProcedureStepFieldsAttachments:Ke.deleteMany}}),{initializeProcedureStepFieldsAttachments:oI,addProcedureStepFieldsAttachment:hI,addProcedureStepFieldsAttachments:Va,setProcedureStepFieldsAttachment:pI,setProcedureStepFieldsAttachments:yI,updateProcedureStepFieldsAttachment:mI,updateProcedureStepFieldsAttachments:fI,deleteProcedureStepFieldsAttachment:SI,deleteProcedureStepFieldsAttachments:Ba}=va.actions,AI=t=>t.procedureStepFieldsAttachmentReducer.instances,za=u.createSelector([AI],t=>Object.values(t)),TI=y(u.createSelector([za,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),II=t=>e=>e.procedureStepFieldsAttachmentReducer.instances[t],OI=y(u.createSelector([za,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),PI=va.reducer,We=O(t=>t.uuid),bI={instances:{}},ja=u.createSlice({name:"procedureStepFields",initialState:bI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,bI)),reducers:{initializeProcedureStepFields:We.initialize,addProcedureStepFields:We.addOne,addProcedureStepFieldsMany:We.addMany,setProcedureStepFields:We.setOne,setProcedureStepFieldsMany:We.setMany,updateProcedureStepFields:We.updateOne,updateProcedureStepFieldsMany:We.updateMany,deleteProcedureStepFields:We.deleteOne,deleteProcedureStepFieldsMany:We.deleteMany}}),{initializeProcedureStepFields:FI,addProcedureStepFields:_I,addProcedureStepFieldsMany:MI,setProcedureStepFields:gI,setProcedureStepFieldsMany:RI,updateProcedureStepFields:wI,updateProcedureStepFieldsMany:EI,deleteProcedureStepFields:vI,deleteProcedureStepFieldsMany:VI}=ja.actions,Ca=t=>t.procedureStepFieldsReducer.instances,is=u.createSelector([Ca],t=>Object.values(t)),cg=y(u.createSelector([is,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),rg=y(u.createSelector([is,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_step===e).toSorted(l.submittedAtModelSortFn).pop())),dg=u.createSelector([Ca],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}),BI=t=>e=>e.procedureStepFieldsReducer.instances[t],zI=y(u.createSelector([is,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),jI=ja.reducer,Xe=O(t=>t.uuid),CI={instances:{}},Da=u.createSlice({name:"procedureStepFieldValuesAttachments",initialState:CI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,CI)),reducers:{initializeProcedureStepFieldValuesAttachments:Xe.initialize,addProcedureStepFieldValuesAttachment:Xe.addOne,addProcedureStepFieldValuesAttachments:Xe.addMany,setProcedureStepFieldValuesAttachment:Xe.setOne,setProcedureStepFieldValuesAttachments:Xe.setMany,updateProcedureStepFieldValuesAttachment:Xe.updateOne,updateProcedureStepFieldValuesAttachments:Xe.updateMany,deleteProcedureStepFieldValuesAttachment:Xe.deleteOne,deleteProcedureStepFieldValuesAttachments:Xe.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:DI,addProcedureStepFieldValuesAttachment:qI,addProcedureStepFieldValuesAttachments:qa,setProcedureStepFieldValuesAttachment:$I,setProcedureStepFieldValuesAttachments:UI,updateProcedureStepFieldValuesAttachment:kI,updateProcedureStepFieldValuesAttachments:LI,deleteProcedureStepFieldValuesAttachment:HI,deleteProcedureStepFieldValuesAttachments:$a}=Da.actions,GI=t=>t.procedureStepFieldValuesAttachmentReducer.instances,Ua=u.createSelector([GI],t=>Object.values(t)),NI=t=>e=>e.procedureStepFieldValuesAttachmentReducer.instances[t],KI=y(u.createSelector([Ua,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),WI=y(u.createSelector([Ua,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),XI=Da.reducer,Ye=O(t=>t.uuid),YI={instances:{}},ka=u.createSlice({name:"procedureStepFieldValues",initialState:YI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,YI)),reducers:{initializeProcedureStepFieldValues:Ye.initialize,addProcedureStepFieldValues:Ye.addOne,addProcedureStepFieldValuesMany:Ye.addMany,setProcedureStepFieldValues:Ye.setOne,setProcedureStepFieldValuesMany:Ye.setMany,updateProcedureStepFieldValues:Ye.updateOne,updateProcedureStepFieldValuesMany:Ye.updateMany,deleteProcedureStepFieldValues:Ye.deleteOne,deleteProcedureStepFieldValuesMany:Ye.deleteMany}}),{initializeProcedureStepFieldValues:ZI,addProcedureStepFieldValues:JI,addProcedureStepFieldValuesMany:QI,setProcedureStepFieldValues:xI,setProcedureStepFieldValuesMany:eO,updateProcedureStepFieldValues:tO,updateProcedureStepFieldValuesMany:sO,deleteProcedureStepFieldValues:iO,deleteProcedureStepFieldValuesMany:aO}=ka.actions,nO=ka.reducer,cO=t=>t.procedureStepFieldValuesReducer.instances,ht=u.createSelector([cO],t=>Object.values(t)),ug=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),lg=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),rO=t=>e=>e.procedureStepFieldValuesReducer.instances[t],dO=y(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),og=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)))),Ze=O(t=>t.uuid),uO={instances:{}},La=u.createSlice({name:"procedureStepFieldValuesReviews",initialState:uO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,uO)),reducers:{initializeProcedureStepFieldValuesReviews:Ze.initialize,addProcedureStepFieldValuesReview:Ze.addOne,addProcedureStepFieldValuesReviews:Ze.addMany,setProcedureStepFieldValuesReview:Ze.setOne,setProcedureStepFieldValuesReviews:Ze.setMany,updateProcedureStepFieldValuesReview:Ze.updateOne,updateProcedureStepFieldValuesReviews:Ze.updateMany,deleteProcedureStepFieldValuesReview:Ze.deleteOne,deleteProcedureStepFieldValuesReviews:Ze.deleteMany}}),{initializeProcedureStepFieldValuesReviews:lO,addProcedureStepFieldValuesReview:oO,addProcedureStepFieldValuesReviews:Ha,setProcedureStepFieldValuesReview:hO,setProcedureStepFieldValuesReviews:pO,updateProcedureStepFieldValuesReview:yO,updateProcedureStepFieldValuesReviews:mO,deleteProcedureStepFieldValuesReview:fO,deleteProcedureStepFieldValuesReviews:Ga}=La.actions,SO=t=>t.procedureStepFieldValuesReviewReducer.instances,pt=u.createSelector([SO],t=>Object.values(t)),AO=t=>e=>e.procedureStepFieldValuesReviewReducer.instances[t],TO=y(u.createSelector([pt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),IO=y(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),hg=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})),pg=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)))})),yg=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)))})),mg=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}),OO=La.reducer,Je=O(t=>t.uuid),PO={instances:{}},Na=u.createSlice({name:"procedureStepReviewers",initialState:PO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,PO)),reducers:{initializeProcedureStepReviewers:Je.initialize,addProcedureStepReviewer:Je.addOne,addProcedureStepReviewers:Je.addMany,setProcedureStepReviewer:Je.setOne,setProcedureStepReviewers:Je.setMany,updateProcedureStepReviewer:Je.updateOne,updateProcedureStepReviewers:Je.updateMany,deleteProcedureStepReviewer:Je.deleteOne,deleteProcedureStepReviewers:Je.deleteMany}}),{initializeProcedureStepReviewers:bO,addProcedureStepReviewer:FO,addProcedureStepReviewers:_O,setProcedureStepReviewer:MO,setProcedureStepReviewers:gO,updateProcedureStepReviewer:RO,updateProcedureStepReviewers:wO,deleteProcedureStepReviewer:EO,deleteProcedureStepReviewers:vO}=Na.actions,VO=t=>t.procedureStepReviewerReducer.instances,Vt=u.createSelector([VO],t=>Object.values(t)),BO=t=>e=>e.procedureStepReviewerReducer.instances[t],zO=y(u.createSelector([Vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fg=y(u.createSelector([Vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),Sg=y(u.createSelector([Vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),Ag=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)))),jO=Na.reducer,Qe=O(t=>t.uuid),CO={instances:{}},Ka=u.createSlice({name:"procedureSteps",initialState:CO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,CO)),reducers:{initializeProcedureSteps:Qe.initialize,setProcedureStep:Qe.setOne,setProcedureSteps:Qe.setMany,addProcedureStep:Qe.addOne,addProcedureSteps:Qe.addMany,updateProcedureStep:Qe.updateOne,updateProcedureSteps:Qe.updateMany,deleteProcedureStep:Qe.deleteOne,deleteProcedureSteps:Qe.deleteMany}}),{initializeProcedureSteps:DO,setProcedureStep:qO,setProcedureSteps:$O,addProcedureStep:UO,addProcedureSteps:kO,updateProcedureStep:LO,updateProcedureSteps:HO,deleteProcedureStep:GO,deleteProcedureSteps:NO}=Ka.actions,KO=Ka.reducer,Wa=t=>t.procedureStepReducer.instances,WO=t=>e=>e.procedureStepReducer.instances[t],Xa=u.createSelector([Wa],t=>Object.values(t).toSorted((e,i)=>e.order-i.order)),Tg=y(u.createSelector([Wa,(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)})),Ig=y(u.createSelector([Xa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),XO=y(u.createSelector([Xa,(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),YO={instances:{}},Ya=u.createSlice({name:"procedureTypeAttachments",initialState:YO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,YO)),reducers:{initializeProcedureTypeAttachments:xe.initialize,addProcedureTypeAttachment:xe.addOne,addProcedureTypeAttachments:xe.addMany,setProcedureTypeAttachment:xe.setOne,setProcedureTypeAttachments:xe.setMany,updateProcedureTypeAttachment:xe.updateOne,updateProcedureTypeAttachments:xe.updateMany,deleteProcedureTypeAttachment:xe.deleteOne,deleteProcedureTypeAttachments:xe.deleteMany}}),{initializeProcedureTypeAttachments:ZO,addProcedureTypeAttachment:JO,addProcedureTypeAttachments:QO,setProcedureTypeAttachment:xO,setProcedureTypeAttachments:eP,updateProcedureTypeAttachment:tP,updateProcedureTypeAttachments:sP,deleteProcedureTypeAttachment:iP,deleteProcedureTypeAttachments:aP}=Ya.actions,nP=Ya.reducer,cP=t=>t.procedureTypeAttachmentReducer.instances,Za=u.createSelector([cP],t=>Object.values(t)),rP=t=>e=>e.procedureTypeAttachmentReducer.instances[t],dP=y(u.createSelector([Za,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Og=y(u.createSelector([Za,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({procedure_type:i})=>e===i)))),et=O(({uuid:t})=>t),uP={instances:{}},Ja=u.createSlice({name:"procedureTypeFieldsAttachments",initialState:uP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,uP)),reducers:{initializeProcedureTypeFieldsAttachments:et.initialize,addProcedureTypeFieldsAttachment:et.addOne,addProcedureTypeFieldsAttachments:et.addMany,setProcedureTypeFieldsAttachment:et.setOne,setProcedureTypeFieldsAttachments:et.setMany,updateProcedureTypeFieldsAttachment:et.updateOne,updateProcedureTypeFieldsAttachments:et.updateMany,deleteProcedureTypeFieldsAttachment:et.deleteOne,deleteProcedureTypeFieldsAttachments:et.deleteMany}}),{initializeProcedureTypeFieldsAttachments:lP,addProcedureTypeFieldsAttachment:oP,addProcedureTypeFieldsAttachments:hP,setProcedureTypeFieldsAttachment:pP,setProcedureTypeFieldsAttachments:yP,updateProcedureTypeFieldsAttachment:mP,updateProcedureTypeFieldsAttachments:fP,deleteProcedureTypeFieldsAttachment:SP,deleteProcedureTypeFieldsAttachments:AP}=Ja.actions,TP=Ja.reducer,IP=t=>t.procedureTypeFieldsAttachmentReducer.instances,Qa=u.createSelector([IP],t=>Object.values(t)),Pg=y(u.createSelector([Qa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),OP=t=>e=>e.procedureTypeFieldsAttachmentReducer.instances[t],PP=y(u.createSelector([Qa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tt=O(({uuid:t})=>t),bP={instances:{}},xa=u.createSlice({name:"procedureTypeFields",initialState:bP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,bP)),reducers:{initializeProcedureTypeFields:tt.initialize,addProcedureTypeFields:tt.addOne,addProcedureTypeFieldsMany:tt.addMany,setProcedureTypeFields:tt.setOne,setProcedureTypeFieldsMany:tt.setMany,updateProcedureTypeFields:tt.updateOne,updateProcedureTypeFieldsMany:tt.updateMany,deleteProcedureTypeFields:tt.deleteOne,deleteProcedureTypeFieldsMany:tt.deleteMany}}),{initializeProcedureTypeFields:FP,addProcedureTypeFields:_P,addProcedureTypeFieldsMany:MP,setProcedureTypeFields:gP,setProcedureTypeFieldsMany:RP,updateProcedureTypeFields:wP,updateProcedureTypeFieldsMany:EP,deleteProcedureTypeFields:vP,deleteProcedureTypeFieldsMany:VP}=xa.actions,BP=xa.reducer,zP=t=>t.procedureTypeFieldsReducer.instances,as=u.createSelector([zP],t=>Object.values(t)),bg=y(u.createSelector([as,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),Fg=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])),jP=t=>e=>e.procedureTypeFieldsReducer.instances[t],CP=y(u.createSelector([as,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),st=O(({uuid:t})=>t),DP={instances:{}},en=u.createSlice({name:"procedureFieldValuesAttachments",initialState:DP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,DP)),reducers:{initializeProcedureFieldValuesAttachments:st.initialize,addProcedureFieldValuesAttachment:st.addOne,addProcedureFieldValuesAttachments:st.addMany,setProcedureFieldValuesAttachment:st.setOne,setProcedureFieldValuesAttachments:st.setMany,updateProcedureFieldValuesAttachment:st.updateOne,updateProcedureFieldValuesAttachments:st.updateMany,deleteProcedureFieldValuesAttachment:st.deleteOne,deleteProcedureFieldValuesAttachments:st.deleteMany}}),{initializeProcedureFieldValuesAttachments:qP,addProcedureFieldValuesAttachment:$P,addProcedureFieldValuesAttachments:tn,setProcedureFieldValuesAttachment:UP,setProcedureFieldValuesAttachments:kP,updateProcedureFieldValuesAttachment:LP,updateProcedureFieldValuesAttachments:HP,deleteProcedureFieldValuesAttachment:GP,deleteProcedureFieldValuesAttachments:sn}=en.actions,NP=en.reducer,KP=t=>t.procedureFieldValuesAttachmentReducer.instances,an=u.createSelector([KP],t=>Object.values(t)),WP=t=>e=>e.procedureFieldValuesAttachmentReducer.instances[t],XP=y(u.createSelector([an,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),YP=y(u.createSelector([an,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),it=O(({uuid:t})=>t),ZP={instances:{}},nn=u.createSlice({name:"procedureFieldValues",initialState:ZP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,ZP)),reducers:{initializeProcedureFieldValues:it.initialize,addProcedureFieldValues:it.addOne,addProcedureFieldValuesMany:it.addMany,setProcedureFieldValues:it.setOne,setProcedureFieldValuesMany:it.setMany,updateProcedureFieldValues:it.updateOne,updateProcedureFieldValuesMany:it.updateMany,deleteProcedureFieldValues:it.deleteOne,deleteProcedureFieldValuesMany:it.deleteMany}}),{initializeProcedureFieldValues:JP,addProcedureFieldValues:QP,addProcedureFieldValuesMany:xP,setProcedureFieldValues:eb,setProcedureFieldValuesMany:tb,updateProcedureFieldValues:sb,updateProcedureFieldValuesMany:ib,deleteProcedureFieldValues:ab,deleteProcedureFieldValuesMany:nb}=nn.actions,cb=nn.reducer,rb=t=>t.procedureFieldValuesReducer.instances,cn=u.createSelector([rb],t=>Object.values(t)),_g=y(u.createSelector([cn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),db=t=>e=>e.procedureFieldValuesReducer.instances[t],ub=y(u.createSelector([cn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),at=O(t=>t.uuid),lb={instances:{}},rn=u.createSlice({name:"procedureTypes",initialState:lb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,lb)),reducers:{initializeProcedureTypes:at.initialize,addProcedureType:at.addOne,addProcedureTypes:at.addMany,setProcedureType:at.setOne,setProcedureTypes:at.setMany,updateProcedureType:at.updateOne,updateProcedureTypes:at.updateMany,deleteProcedureType:at.deleteOne,deleteProcedureTypes:at.deleteMany}}),{initializeProcedureTypes:ob,addProcedureType:hb,addProcedureTypes:pb,setProcedureType:yb,setProcedureTypes:mb,updateProcedureType:fb,updateProcedureTypes:Sb,deleteProcedureType:Ab,deleteProcedureTypes:Tb}=rn.actions,Ib=rn.reducer,Ob=t=>t.procedureTypeReducer.instances,dn=u.createSelector([Ob],t=>Object.values(t)),Pb=t=>e=>e.procedureTypeReducer.instances[t],bb=y(u.createSelector([dn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Mg=y(u.createSelector([dn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),gg={isRehydrated:!1},un=u.createSlice({name:"rehydrated",initialState:gg,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:Rg}=un.actions,wg=t=>t.rehydratedReducer.isRehydrated,Fb=un.reducer,nt=O(t=>t.uuid),_b={instances:{}},ln=u.createSlice({name:"teamMemberships",initialState:_b,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,_b)),reducers:{initializeTeamMemberships:nt.initialize,addTeamMembership:nt.addOne,addTeamMemberships:nt.addMany,setTeamMembership:nt.setOne,setTeamMemberships:nt.setMany,updateTeamMembership:nt.updateOne,updateTeamMemberships:nt.updateMany,deleteTeamMembership:nt.deleteOne,deleteTeamMemberships:nt.deleteMany}}),{initializeTeamMemberships:Mb,addTeamMembership:gb,addTeamMemberships:Rb,setTeamMembership:wb,setTeamMemberships:Eb,updateTeamMembership:vb,updateTeamMemberships:Vb,deleteTeamMembership:Bb,deleteTeamMemberships:zb}=ln.actions,jb=ln.reducer,Cb=t=>t.teamMembershipReducer.instances,ns=u.createSelector([Cb],t=>Object.values(t)),Db=t=>e=>e.teamMembershipReducer.instances[t],qb=y(u.createSelector([ns,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Eg=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})),vg=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)))})),ct=O(t=>t.uuid),$b={instances:{}},on=u.createSlice({name:"teams",initialState:$b,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,$b)),reducers:{initializeTeams:ct.initialize,addTeam:ct.addOne,addTeams:ct.addMany,setTeam:ct.setOne,setTeams:ct.setMany,updateTeam:ct.updateOne,updateTeams:ct.updateMany,deleteTeam:ct.deleteOne,deleteTeams:ct.deleteMany}}),{initializeTeams:Ub,addTeam:kb,addTeams:Lb,setTeam:Hb,setTeams:Gb,updateTeam:Nb,updateTeams:Kb,deleteTeam:Wb,deleteTeams:Xb}=on.actions,Yb=t=>t.teamReducer.instances,hn=u.createSelector([Yb],t=>Object.values(t)),Zb=t=>e=>e.teamReducer.instances[t],Jb=y(u.createSelector([hn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Vg=y(u.createSelector([hn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Qb=on.reducer,pn={outboxReducer:tS,authReducer:Vd},Bg=u.combineReducers(pn),xb={...pn,assetReducer:pc,assetAttachmentReducer:Un,assetCommentReducer:ec,assetTypeReducer:md,assetTypeAttachmentReducer:Mc,captureAnalysisReducer:qd,captureAnalysisItemReducer:jd,captureReducer:Gd,captureSidecarReducer:kd,issueReducer:bp,issueAttachmentReducer:Dh,issueTypeReducer:$m,issueTypeAttachmentReducer:Dp,organizationReducer:Yf,projectReducer:yA,projectAttachmentReducer:RS,projectCommentReducer:LS,projectAccessReducer:hS,organizationAccessReducer:vf,projectFileReducer:iA,procedureTypeReducer:Ib,procedureInitiativeReducer:RA,procedureReducer:UA,procedureTypeFieldsReducer:BP,procedureFieldValuesReducer:cb,procedureTypeAttachmentReducer:nP,procedureTypeFieldsAttachmentReducer:TP,procedureFieldValuesAttachmentReducer:NP,procedureStepFieldsAttachmentReducer:PI,procedureStepFieldsReducer:jI,procedureStepFieldValuesAttachmentReducer:XI,procedureStepFieldValuesReducer:nO,procedureStepFieldValuesReviewReducer:OO,procedureStepAssigneeReducer:rT,procedureStepCommentReducer:OT,procedureStepDefaultAssigneeReducer:jT,procedureStepDefaultReviewerReducer:YT,procedureStepEventReducer:uI,procedureStepReviewerReducer:jO,procedureStepReducer:KO,rehydratedReducer:Fb,formReducer:io,formRevisionReducer:Bl,formRevisionAttachmentReducer:Il,formSubscriberReducer:Kl,formSubmissionFieldValuesAttachmentReducer:Ao,formSubmissionFieldValuesReducer:vo,formSubmissionReducer:Xo,formIdentifierReducer:Ku,formIdentifierValueReducer:cl,userReducer:Af,emailDomainsReducer:Vu,documentsReducer:mu,documentAttachmentReducer:au,teamReducer:Qb,agentsReducer:gn,issueCommentReducer:lp,issueCommentAttachmentReducer:Jh,issueUpdateReducer:uf,geoImageReducer:dh,issueAssociationReducer:Fh,issueTypeFieldsReducer:_y,issueTypeFieldValuesReducer:oy,issueTypeFieldsAttachmentReducer:Jp,issueTypeFieldValuesAttachmentReducer:qy,issueTypeIdentifierReducer:Qy,issueTypeIdentifierValueReducer:hm,issueTypePriorityReducer:_m,issueTypeStatusReducer:Qm,assetTypeFieldsReducer:er,assetTypeFieldValuesReducer:gr,assetTypeFieldsAttachmentReducer:Uc,assetTypeFieldValuesAttachmentReducer:pr,assetTypeIdentifierReducer:kr,assetTypeIdentifierValueReducer:td,assetTypeStatusReducer:wd,teamMembershipReducer:jb},zg=u.combineReducers(xb),eF=1e4,yn=[400,409,403,404,405,500],D=1e4,tF={};class sF{client;pageSize=eF;constructor(e){tF[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 jg=t=>{if(t)throw t;const e=Ft();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},iF=(t,e,i)=>{const a=ft();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},aF=(t,e,i)=>{const a=ft();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 Cg(t,e){if(!e.payload)throw new Error("Received empty payload");return gF(e)}const Dg={...In,effect:Cg,discard:cF,returnPromises:!0,persistCallback:jg,retry:Ug,persistOptions:{storage:vF},queue:{...In.queue,enqueue:iF,dequeue:aF,peek:(...t)=>$g(...t)}},qg=EF.offline(Dg);async function nF(t,e,i){if(e.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const n=tF[t.meta.offline.effect.serviceName];if(!n)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return Sn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,e,n,i)}function cF(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("react"),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","react","@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.react,s.reduxOffline,s.offlineConfig,s.localforage,s.idb,s.jwtDecode,s.dependencyGraph))})(this,(function(s,l,Fw,u,St,ut,O_,P_,Fn,b_,F_,__,M_){"use strict";const _n=["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 b=t(S);I.add(b),f.instances[b]=S}I.size!==A.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function g_(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"),P=u.createAction("RESET_ORGANIZATION_STATE");function R_(t,e){return O_.useMemo(t,e)}class w_{constructor(e){this.getData=e}operations=[];getData;performOperations(e){let i=e;for(const a of this.operations)i=a(i);return i}filter(e,i){return this.operations.push(a=>a.filter(n=>n[e]===i)),this}exclude(e,i){return this.operations.push(a=>a.filter(n=>n[e]!==i)),this}orderBy(e){return this.operations.push(i=>i.toSorted((a,n)=>a[e]<=n[e]?1:-1)),this}reverse(){return this.operations.push(e=>e.toReversed()),this}all(){return this.operations.push(e=>e),this}get(e,i){return u.createSelector([this.getData],a=>this.performOperations(a).find(n=>n[e]===i))}count(){return u.createSelector([this.getData],e=>this.performOperations(e).length)}first(){return u.createSelector([this.getData],e=>this.performOperations(e)[0])}last(){return u.createSelector([this.getData],e=>{const i=this.performOperations(e);return i[i.length-1]})}exists(){return u.createSelector([this.getData],e=>this.performOperations(e).length>0)}toSelector(){return u.createSelector([this.getData],e=>l.fallbackToEmptyArray(this.performOperations(e)))}}const y=(t=>(...e)=>i=>t(i,...e)),$=O(t=>t.uuid),Mn={instances:{}},ds=u.createSlice({name:"agents",initialState:Mn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Mn)),reducers:{initializeConversations:$.initialize,addConversation:$.addOne,addConversations:$.addMany,setConversation:$.setOne,setConversations:$.setMany,updateConversation:$.updateOne,updateConversations:$.updateMany,deleteConversation:$.deleteOne,deleteConversations:$.deleteMany}}),{initializeConversations:gn,addConversation:Rn,addConversations:E_,setConversation:wn,setConversations:v_,updateConversation:En,updateConversations:V_,deleteConversation:B_,deleteConversations:z_}=ds.actions,us=t=>t.agentsReducer.instances,j_=u.createSelector([us],t=>Object.values(t)),C_=y(u.createSelector([us,(t,e)=>e],(t,e)=>t[e])),vn=ds.reducer,U=O(t=>t.uuid),Vn={instances:{}},ls=u.createSlice({name:"assetAttachments",initialState:Vn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Vn)),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:Bn,addAssetAttachment:zn,addAssetAttachments:os,setAssetAttachment:jn,setAssetAttachments:Cn,updateAssetAttachment:Dn,updateAssetAttachments:qn,deleteAssetAttachment:$n,deleteAssetAttachments:hs}=ls.actions,Un=t=>t.assetAttachmentReducer.instances,ps=u.createSelector([Un],t=>Object.values(t)),kn=t=>e=>e.assetAttachmentReducer.instances[t],Ln=y(u.createSelector([ps,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Hn=y(u.createSelector([ps,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>e===i)))),Gn=ls.reducer,k=O(t=>t.uuid),Nn={instances:{}},ys=u.createSlice({name:"assetComments",initialState:Nn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Nn)),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:Kn,addAssetComment:Wn,addAssetComments:Ct,setAssetComment:Xn,setAssetComments:Yn,updateAssetComment:Zn,updateAssetComments:Jn,deleteAssetComment:Qn,deleteAssetComments:Dt}=ys.actions,xn=t=>t.assetCommentReducer.instances,qt=u.createSelector([xn],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),ec=t=>e=>e.assetCommentReducer.instances[t],tc=y(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),sc=y(u.createSelector([qt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),ic=y(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.asset)))})),ac=ys.reducer,L=O(t=>t.uuid),nc={instances:{}},ms=u.createSlice({name:"assets",initialState:nc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,nc)),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:cc,addAsset:rc,addAssets:fs,updateAsset:dc,updateAssets:uc,deleteAsset:lc,deleteAssets:Ss,setAsset:oc,setAssets:hc}=ms.actions,pc=t=>t.assetReducer.instances,$t=u.createSelector([pc],t=>l.fallbackToEmptyArray(Object.values(t))),D_=y(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),yc=y(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),mc=t=>e=>e.assetReducer.instances[t],fc=y(u.createSelector([$t,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Sc=ms.reducer,H=O(t=>t.uuid),Ac={instances:{}},As=u.createSlice({name:"assetTypeAttachments",initialState:Ac,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Ac)),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:Tc,addAssetTypeAttachment:Ic,addAssetTypeAttachments:Ts,setAssetTypeAttachment:Oc,setAssetTypeAttachments:Pc,updateAssetTypeAttachment:bc,updateAssetTypeAttachments:Fc,deleteAssetTypeAttachment:_c,deleteAssetTypeAttachments:Is}=As.actions,Mc=t=>t.assetTypeAttachmentReducer.instances,Os=u.createSelector([Mc],t=>Object.values(t)),gc=t=>e=>e.assetTypeAttachmentReducer.instances[t],Rc=y(u.createSelector([Os,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),wc=y(u.createSelector([Os,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_type:i})=>e===i)))),Ec=As.reducer,G=O(t=>t.uuid),vc={instances:{}},Ps=u.createSlice({name:"assetTypeFieldsAttachments",initialState:vc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,vc)),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:Vc,addAssetTypeFieldsAttachment:Bc,addAssetTypeFieldsAttachments:zc,setAssetTypeFieldsAttachment:jc,setAssetTypeFieldsAttachments:Cc,updateAssetTypeFieldsAttachment:Dc,updateAssetTypeFieldsAttachments:qc,deleteAssetTypeFieldsAttachment:$c,deleteAssetTypeFieldsAttachments:Uc}=Ps.actions,kc=t=>t.assetTypeFieldsAttachmentReducer.instances,bs=u.createSelector([kc],t=>Object.values(t)),q_=y(u.createSelector([bs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),Lc=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],Hc=y(u.createSelector([bs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Gc=Ps.reducer,N=O(t=>t.uuid),Nc={instances:{}},Fs=u.createSlice({name:"assetTypeFields",initialState:Nc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Nc)),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:Kc,addAssetTypeFields:Wc,addAssetTypeFieldsMany:Xc,setAssetTypeFields:Yc,setAssetTypeFieldsMany:Zc,updateAssetTypeFields:Jc,updateAssetTypeFieldsMany:Qc,deleteAssetTypeFields:xc,deleteAssetTypeFieldsMany:er}=Fs.actions,tr=t=>t.assetTypeFieldsReducer.instances,Mt=u.createSelector([tr],t=>Object.values(t)),$_=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),U_=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).toSorted(l.submittedAtModelSortFn).pop())),sr=t=>e=>e.assetTypeFieldsReducer.instances[t],ir=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ar=Fs.reducer,K=O(t=>t.uuid),nr={instances:{}},_s=u.createSlice({name:"assetTypeFieldValuesAttachments",initialState:nr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,nr)),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:cr,addAssetTypeFieldValuesAttachment:rr,addAssetTypeFieldValuesAttachments:Ms,setAssetTypeFieldValuesAttachment:dr,setAssetTypeFieldValuesAttachments:ur,updateAssetTypeFieldValuesAttachment:lr,updateAssetTypeFieldValuesAttachments:or,deleteAssetTypeFieldValuesAttachment:hr,deleteAssetTypeFieldValuesAttachments:gs}=_s.actions,pr=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Rs=u.createSelector([pr],t=>Object.values(t)),yr=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],mr=y(u.createSelector([Rs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fr=y(u.createSelector([Rs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Sr=_s.reducer,W=O(t=>t.uuid),Ar={instances:{}},ws=u.createSlice({name:"assetTypeFieldValues",initialState:Ar,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Ar)),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:Tr,addAssetTypeFieldValues:Ir,addAssetTypeFieldValuesMany:Or,setAssetTypeFieldValues:Pr,setAssetTypeFieldValuesMany:br,updateAssetTypeFieldValues:Fr,updateAssetTypeFieldValuesMany:_r,deleteAssetTypeFieldValues:Mr,deleteAssetTypeFieldValuesMany:gr}=ws.actions,Rr=t=>t.assetTypeFieldValuesReducer.instances,Ut=u.createSelector([Rr],t=>Object.values(t)),k_=y(u.createSelector([Ut,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),L_=y(u.createSelector([Mt,Ut,(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)))})),wr=t=>e=>e.assetTypeFieldValuesReducer.instances[t],Er=y(u.createSelector([Ut,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),vr=ws.reducer,X=O(t=>t.uuid),Vr={instances:{}},Es=u.createSlice({name:"assetTypeIdentifiers",initialState:Vr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Vr)),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:Br,addAssetTypeIdentifier:zr,addAssetTypeIdentifiers:jr,setAssetTypeIdentifier:Cr,setAssetTypeIdentifiers:Dr,updateAssetTypeIdentifier:qr,updateAssetTypeIdentifiers:$r,deleteAssetTypeIdentifier:Ur,deleteAssetTypeIdentifiers:kr}=Es.actions,Lr=t=>t.assetTypeIdentifierReducer.instances,vs=u.createSelector([Lr],t=>Object.values(t)),Hr=t=>e=>e.assetTypeIdentifierReducer.instances[t],Gr=y(u.createSelector([vs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),H_=y(u.createSelector([vs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),Nr=Es.reducer,Y=O(t=>t.uuid),Kr={instances:{}},Vs=u.createSlice({name:"assetTypeIdentifierValues",initialState:Kr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Kr)),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:Wr,addAssetTypeIdentifierValue:Xr,addAssetTypeIdentifierValues:Yr,setAssetTypeIdentifierValue:Zr,setAssetTypeIdentifierValues:Jr,updateAssetTypeIdentifierValue:Qr,updateAssetTypeIdentifierValues:xr,deleteAssetTypeIdentifierValue:ed,deleteAssetTypeIdentifierValues:td}=Vs.actions,sd=t=>t.assetTypeIdentifierValueReducer.instances,kt=u.createSelector([sd],t=>Object.values(t)),id=t=>e=>e.assetTypeIdentifierValueReducer.instances[t],ad=y(u.createSelector([kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),G_=y(u.createSelector([kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),N_=y(u.createSelector([kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type_identifier===e)))),nd=Vs.reducer,Z=O(t=>t.uuid),cd={instances:{}},Bs=u.createSlice({name:"assetTypes",initialState:cd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,cd)),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:rd,setAssetType:dd,setAssetTypes:ud,addAssetType:ld,addAssetTypes:od,updateAssetType:hd,updateAssetTypes:pd,deleteAssetType:yd,deleteAssetTypes:md}=Bs.actions,fd=t=>t.assetTypeReducer.instances,zs=u.createSelector([fd],t=>Object.values(t)),Sd=t=>e=>e.assetTypeReducer.instances[t],Ad=y(u.createSelector([zs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),K_=y(u.createSelector([zs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Td=Bs.reducer,J=O(t=>t.uuid),Id={instances:{}},js=u.createSlice({name:"assetTypeStatuses",initialState:Id,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Id)),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:Od,addAssetTypeStatus:Pd,addAssetTypeStatuses:bd,setAssetTypeStatus:Fd,setAssetTypeStatuses:_d,updateAssetTypeStatus:Md,updateAssetTypeStatuses:gd,deleteAssetTypeStatus:Rd,deleteAssetTypeStatuses:wd}=js.actions,Ed=t=>t.assetTypeStatusReducer.instances,Cs=u.createSelector([Ed],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.assetTypeStatusSortFn))),vd=t=>e=>e.assetTypeStatusReducer.instances[t],Vd=y(u.createSelector([Cs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),W_=y(u.createSelector([Cs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),Bd=js.reducer,zd={accessToken:"",refreshToken:"",isLoggedIn:!1},Lt=u.createSlice({name:"auth",initialState:zd,extraReducers:t=>t.addCase(T,e=>Object.assign(e,zd)),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||Lt.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:X_,clearTokens:Y_,setLoggedIn:jd}=Lt.actions,Z_=t=>t.authReducer.accessToken,J_=t=>t.authReducer.isLoggedIn,Cd=Lt.reducer,Q=O(({uuid:t})=>t),Dd={instances:{}},Ds=u.createSlice({name:"captureAnalysisItems",initialState:Dd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Dd)),reducers:{initializeCaptureAnalysisItems:Q.initialize,addCaptureAnalysisItem:Q.addOne,addCaptureAnalysisItems:Q.addMany,setCaptureAnalysisItem:Q.setOne,setCaptureAnalysisItems:Q.setMany,updateCaptureAnalysisItem:Q.updateOne,updateCaptureAnalysisItems:Q.updateMany,deleteCaptureAnalysisItem:Q.deleteOne,deleteCaptureAnalysisItems:Q.deleteMany}}),{initializeCaptureAnalysisItems:qd,addCaptureAnalysisItem:$d,addCaptureAnalysisItems:qs,setCaptureAnalysisItem:Ud,setCaptureAnalysisItems:kd,updateCaptureAnalysisItem:Ld,updateCaptureAnalysisItems:Hd,deleteCaptureAnalysisItem:Gd,deleteCaptureAnalysisItems:$s}=Ds.actions,Nd=t=>t.captureAnalysisItemReducer.instances,Us=u.createSelector([Nd],t=>l.fallbackToEmptyArray(Object.values(t))),Kd=t=>e=>e.captureAnalysisItemReducer.instances[t],Wd=y(u.createSelector([Us,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Xd=y(u.createSelector([Us,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({analysis:i})=>i===e).toSorted((i,a)=>i.position-a.position)))),Yd=Ds.reducer,x=O(({uuid:t})=>t),Zd={instances:{}},ks=u.createSlice({name:"captureAnalyses",initialState:Zd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Zd)),reducers:{initializeCaptureAnalyses:x.initialize,addCaptureAnalysis:x.addOne,addCaptureAnalyses:x.addMany,setCaptureAnalysis:x.setOne,setCaptureAnalyses:x.setMany,updateCaptureAnalysis:x.updateOne,updateCaptureAnalyses:x.updateMany,deleteCaptureAnalysis:x.deleteOne,deleteCaptureAnalyses:x.deleteMany}}),{initializeCaptureAnalyses:Jd,addCaptureAnalysis:Qd,addCaptureAnalyses:xd,setCaptureAnalysis:eu,setCaptureAnalyses:tu,updateCaptureAnalysis:su,updateCaptureAnalyses:iu,deleteCaptureAnalysis:au,deleteCaptureAnalyses:nu}=ks.actions,cu=t=>t.captureAnalysisReducer.instances,Ls=u.createSelector([cu],t=>l.fallbackToEmptyArray(Object.values(t))),ru=t=>e=>e.captureAnalysisReducer.instances[t],du=y(u.createSelector([Ls,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Q_=y(u.createSelector([Ls,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({capture:i})=>i===e)))),uu=ks.reducer,ee=O(({uuid:t})=>t),lu={instances:{}},Hs=u.createSlice({name:"captureSidecars",initialState:lu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,lu)),reducers:{initializeCaptureSidecars:ee.initialize,addCaptureSidecar:ee.addOne,addCaptureSidecars:ee.addMany,setCaptureSidecar:ee.setOne,setCaptureSidecars:ee.setMany,updateCaptureSidecar:ee.updateOne,updateCaptureSidecars:ee.updateMany,deleteCaptureSidecar:ee.deleteOne,deleteCaptureSidecars:ee.deleteMany}}),{initializeCaptureSidecars:ou,addCaptureSidecar:Gs,addCaptureSidecars:hu,setCaptureSidecar:pu,setCaptureSidecars:yu,updateCaptureSidecar:mu,updateCaptureSidecars:fu,deleteCaptureSidecar:Ns,deleteCaptureSidecars:Su}=Hs.actions,Au=t=>t.captureSidecarReducer.instances,Ks=u.createSelector([Au],t=>l.fallbackToEmptyArray(Object.values(t))),Tu=t=>e=>e.captureSidecarReducer.instances[t],Iu=y(u.createSelector([Ks,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ou=y(u.createSelector([Ks,(t,e)=>e],(t,e)=>t.find(({capture:i})=>i===e))),Pu=Hs.reducer,te=O(({uuid:t})=>t),bu={instances:{}},Ws=u.createSlice({name:"captures",initialState:bu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,bu)),reducers:{initializeCaptures:te.initialize,addCapture:te.addOne,addCaptures:te.addMany,setCapture:te.setOne,setCaptures:te.setMany,updateCapture:te.updateOne,updateCaptures:te.updateMany,deleteCapture:te.deleteOne,deleteCaptures:te.deleteMany}}),{initializeCaptures:Fu,addCapture:_u,addCaptures:Mu,setCapture:gu,setCaptures:Ru,updateCapture:wu,updateCaptures:Eu,deleteCapture:vu,deleteCaptures:Vu}=Ws.actions,Bu=t=>t.captureReducer.instances,Xs=u.createSelector([Bu],t=>l.fallbackToEmptyArray(Object.values(t))),zu=t=>e=>e.captureReducer.instances[t],ju=y(u.createSelector([Xs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),x_=y(u.createSelector([Xs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e).toSorted((i,a)=>(i.index??0)-(a.index??0))))),Cu=Ws.reducer,se=O(t=>t.uuid),Du={instances:{}},Ys=u.createSlice({name:"documentAttachments",initialState:Du,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Du)),reducers:{initializeDocumentAttachments:se.initialize,addDocumentAttachment:se.addOne,addDocumentAttachments:se.addMany,setDocumentAttachment:se.setOne,setDocumentAttachments:se.setMany,updateDocumentAttachment:se.updateOne,updateDocumentAttachments:se.updateMany,deleteDocumentAttachment:se.deleteOne,deleteDocumentAttachments:se.deleteMany}}),{initializeDocumentAttachments:qu,addDocumentAttachment:$u,addDocumentAttachments:Uu,setDocumentAttachment:ku,setDocumentAttachments:Lu,updateDocumentAttachment:Hu,updateDocumentAttachments:Gu,deleteDocumentAttachment:Nu,deleteDocumentAttachments:Ku}=Ys.actions,Wu=t=>t.documentAttachmentReducer.instances,Zs=u.createSelector([Wu],t=>Object.values(t)),Xu=t=>e=>e.documentAttachmentReducer.instances[t],Yu=y(u.createSelector([Zs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),eM=y(u.createSelector([Zs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({document:i})=>e===i)))),Zu=Ys.reducer,ie=O(({uuid:t})=>t),Ju={instances:{}},Js=u.createSlice({name:"documents",initialState:Ju,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>{Object.assign(e,Ju)}),reducers:{initializeDocuments:ie.initialize,addDocument:ie.addOne,addDocuments:ie.addMany,setDocument:ie.setOne,setDocuments:ie.setMany,updateDocument:ie.updateOne,updateDocuments:ie.updateMany,deleteDocument:ie.deleteOne,deleteDocuments:ie.deleteMany}}),{initializeDocuments:Qu,addDocument:xu,addDocuments:el,setDocument:tl,setDocuments:sl,updateDocument:il,updateDocuments:al,deleteDocument:nl,deleteDocuments:cl}=Js.actions,rl=Js.reducer,Qs=t=>t.documentsReducer.instances,Ht=u.createSelector([Qs],t=>Object.values(t)),dl=t=>e=>e.documentsReducer.instances[t],ul=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tM=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),sM=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),ll=y(u.createSelector([Qs,(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)})),ae=O(t=>t.uuid),ol={instances:{}},xs=u.createSlice({name:"emailDomains",initialState:ol,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,ol)),reducers:{initializeEmailDomains:ae.initialize,addEmailDomain:ae.addOne,addEmailDomains:ae.addMany,setEmailDomain:ae.setOne,setEmailDomains:ae.setMany,updateEmailDomain:ae.updateOne,updateEmailDomains:ae.updateMany,deleteEmailDomain:ae.deleteOne,deleteEmailDomains:ae.deleteMany}}),{initializeEmailDomains:hl,addEmailDomain:pl,addEmailDomains:yl,setEmailDomain:ml,setEmailDomains:fl,updateEmailDomain:Sl,updateEmailDomains:Al,deleteEmailDomain:Tl,deleteEmailDomains:Il}=xs.actions,Ol=t=>t.emailDomainsReducer.instances,ei=u.createSelector([Ol],t=>Object.values(t)),Pl=t=>e=>e.emailDomainsReducer.instances[t],bl=y(u.createSelector([ei,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),iM=y(u.createSelector([ei,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Fl=xs.reducer,ne=O(t=>t.uuid),_l={instances:{}},ti=u.createSlice({name:"formIdentifiers",initialState:_l,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,_l)),reducers:{initializeFormIdentifiers:ne.initialize,addFormIdentifier:ne.addOne,addFormIdentifiers:ne.addMany,setFormIdentifier:ne.setOne,setFormIdentifiers:ne.setMany,updateFormIdentifier:ne.updateOne,updateFormIdentifiers:ne.updateMany,deleteFormIdentifier:ne.deleteOne,deleteFormIdentifiers:ne.deleteMany}}),{initializeFormIdentifiers:Ml,addFormIdentifier:gl,addFormIdentifiers:Rl,setFormIdentifier:wl,setFormIdentifiers:El,updateFormIdentifier:vl,updateFormIdentifiers:Vl,deleteFormIdentifier:Bl,deleteFormIdentifiers:zl}=ti.actions,jl=t=>t.formIdentifierReducer.instances,si=u.createSelector([jl],t=>Object.values(t)),Cl=t=>e=>e.formIdentifierReducer.instances[t],Dl=y(u.createSelector([si,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),aM=y(u.createSelector([si,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),ql=ti.reducer,ce=O(t=>t.uuid),$l={instances:{}},ii=u.createSlice({name:"formIdentifierValues",initialState:$l,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,$l)),reducers:{initializeFormIdentifierValues:ce.initialize,addFormIdentifierValue:ce.addOne,addFormIdentifierValues:ce.addMany,setFormIdentifierValue:ce.setOne,setFormIdentifierValues:ce.setMany,updateFormIdentifierValue:ce.updateOne,updateFormIdentifierValues:ce.updateMany,deleteFormIdentifierValue:ce.deleteOne,deleteFormIdentifierValues:ce.deleteMany}}),{initializeFormIdentifierValues:Ul,addFormIdentifierValue:kl,addFormIdentifierValues:Ll,setFormIdentifierValue:Hl,setFormIdentifierValues:Gl,updateFormIdentifierValue:Nl,updateFormIdentifierValues:Kl,deleteFormIdentifierValue:Wl,deleteFormIdentifierValues:Xl}=ii.actions,Yl=t=>t.formIdentifierValueReducer.instances,Gt=u.createSelector([Yl],t=>Object.values(t)),Zl=t=>e=>e.formIdentifierValueReducer.instances[t],Jl=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),nM=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),cM=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_identifier===e)))),Ql=ii.reducer,re=O(t=>t.uuid),xl={instances:{}},ai=u.createSlice({name:"formRevisionAttachments",initialState:xl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,xl)),reducers:{initializeFormRevisionAttachments:re.initialize,addFormRevisionAttachment:re.addOne,addFormRevisionAttachments:re.addMany,setFormRevisionAttachment:re.setOne,setFormRevisionAttachments:re.setMany,updateFormRevisionAttachment:re.updateOne,updateFormRevisionAttachments:re.updateMany,deleteFormRevisionAttachment:re.deleteOne,deleteFormRevisionAttachments:re.deleteMany}}),{initializeFormRevisionAttachments:eo,addFormRevisionAttachment:to,addFormRevisionAttachments:so,setFormRevisionAttachment:io,setFormRevisionAttachments:ao,updateFormRevisionAttachment:no,updateFormRevisionAttachments:co,deleteFormRevisionAttachment:ro,deleteFormRevisionAttachments:uo}=ai.actions,Nt=t=>t.formRevisionAttachmentReducer.instances,lo=u.createSelector([Nt],t=>Object.values(t)),oo=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>t[e])),ho=y(u.createSelector([lo,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),rM=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.form_revision===e)))),po=ai.reducer,de=O(t=>t.uuid),yo={instances:{}},ni=u.createSlice({name:"formRevisions",initialState:yo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,yo)),reducers:{initializeFormRevisions:de.initialize,addFormRevision:de.addOne,addFormRevisions:de.addMany,setFormRevision:de.setOne,setFormRevisions:de.setMany,updateFormRevision:de.updateOne,updateFormRevisions:de.updateMany,deleteFormRevision:de.deleteOne,deleteFormRevisions:de.deleteMany}}),{initializeFormRevisions:mo,addFormRevision:fo,addFormRevisions:ci,setFormRevision:So,setFormRevisions:Ao,updateFormRevision:To,updateFormRevisions:Io,deleteFormRevision:Oo,deleteFormRevisions:ri}=ni.actions,Po=t=>t.formRevisionReducer.instances,Kt=u.createSelector([Po],t=>Object.values(t)),bo=t=>e=>e.formRevisionReducer.instances[t],Fo=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dM=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).toSorted(l.submittedAtModelSortFn).pop())),_o=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Mo=ni.reducer,ue=O(t=>t.uuid),go={instances:{}},di=u.createSlice({name:"formSubscribers",initialState:go,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,go)),reducers:{initializeFormSubscribers:ue.initialize,addFormSubscriber:ue.addOne,addFormSubscribers:ue.addMany,setFormSubscriber:ue.setOne,setFormSubscribers:ue.setMany,updateFormSubscriber:ue.updateOne,updateFormSubscribers:ue.updateMany,deleteFormSubscriber:ue.deleteOne,deleteFormSubscribers:ue.deleteMany}}),{initializeFormSubscribers:Ro,addFormSubscriber:wo,addFormSubscribers:ui,setFormSubscriber:Eo,setFormSubscribers:vo,updateFormSubscriber:Vo,updateFormSubscribers:Bo,deleteFormSubscriber:zo,deleteFormSubscribers:li}=di.actions,jo=t=>t.formSubscriberReducer.instances,Wt=u.createSelector([jo],t=>Object.values(t)),Co=t=>e=>e.formSubscriberReducer.instances[t],Do=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),qo=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),uM=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.user===e)))),$o=di.reducer,le=O(t=>t.uuid),Uo={instances:{}},oi=u.createSlice({name:"forms",initialState:Uo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Uo)),reducers:{initializeForms:le.initialize,addForm:le.addOne,addForms:le.addMany,setForm:le.setOne,setForms:le.setMany,updateForm:le.updateOne,updateForms:le.updateMany,deleteForm:le.deleteOne,deleteForms:le.deleteMany}}),{initializeForms:ko,addForm:Lo,addForms:Ho,setForm:Go,setForms:No,updateForm:Ko,updateForms:Wo,deleteForm:Xo,deleteForms:Yo}=oi.actions,Zo=oi.reducer,Jo=t=>t.formReducer.instances,hi=u.createSelector([Jo],t=>Object.values(t)),Qo=t=>e=>e.formReducer.instances[t],xo=y(u.createSelector([hi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),lM=y(u.createSelector([hi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),oe=O(({uuid:t})=>t),eh={instances:{}},pi=u.createSlice({name:"formSubmissionFieldValuesAttachments",initialState:eh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,eh)),reducers:{initializeFormSubmissionFieldValuesAttachments:oe.initialize,addFormSubmissionFieldValuesAttachment:oe.addOne,addFormSubmissionFieldValuesAttachments:oe.addMany,setFormSubmissionFieldValuesAttachment:oe.setOne,setFormSubmissionFieldValuesAttachments:oe.setMany,updateFormSubmissionFieldValuesAttachment:oe.updateOne,updateFormSubmissionFieldValuesAttachments:oe.updateMany,deleteFormSubmissionFieldValuesAttachment:oe.deleteOne,deleteFormSubmissionFieldValuesAttachments:oe.deleteMany}}),{initializeFormSubmissionFieldValuesAttachments:th,addFormSubmissionFieldValuesAttachment:sh,addFormSubmissionFieldValuesAttachments:yi,setFormSubmissionFieldValuesAttachment:ih,setFormSubmissionFieldValuesAttachments:ah,updateFormSubmissionFieldValuesAttachment:nh,updateFormSubmissionFieldValuesAttachments:ch,deleteFormSubmissionFieldValuesAttachment:rh,deleteFormSubmissionFieldValuesAttachments:mi}=pi.actions,fi=t=>t.formSubmissionFieldValuesAttachmentReducer.instances,Si=u.createSelector([fi],t=>Object.values(t)),dh=y(u.createSelector([fi,(t,e)=>e],(t,e)=>t[e])),Ai=y(u.createSelector([Si,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.uuid)))})),uh=y(u.createSelector([Si,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),lh=pi.reducer,he=O(({uuid:t})=>t),oh={instances:{}},Ti=u.createSlice({name:"formSubmissionFieldValues",initialState:oh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,oh)),reducers:{initializeFormSubmissionFieldValues:he.initialize,addFormSubmissionFieldValues:he.addOne,addFormSubmissionFieldValuesMany:he.addMany,setFormSubmissionFieldValues:he.setOne,setFormSubmissionFieldValuesMany:he.setMany,updateFormSubmissionFieldValues:he.updateOne,updateFormSubmissionFieldValuesMany:he.updateMany,deleteFormSubmissionFieldValues:he.deleteOne,deleteFormSubmissionFieldValuesMany:he.deleteMany}}),{initializeFormSubmissionFieldValues:hh,addFormSubmissionFieldValues:ph,addFormSubmissionFieldValuesMany:Ii,setFormSubmissionFieldValues:yh,setFormSubmissionFieldValuesMany:mh,updateFormSubmissionFieldValues:fh,updateFormSubmissionFieldValuesMany:Sh,deleteFormSubmissionFieldValues:Ah,deleteFormSubmissionFieldValuesMany:Oi}=Ti.actions,Th=t=>t.formSubmissionFieldValuesReducer.instances,Pi=u.createSelector([Th],t=>Object.values(t)),Ih=t=>e=>e.formSubmissionFieldValuesReducer.instances[t],Oh=y(u.createSelector([Pi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ph=y(u.createSelector([Pi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),bh=Ti.reducer,pe=O(t=>t.uuid),Fh={instances:{}},bi=u.createSlice({name:"formSubmissions",initialState:Fh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Fh)),reducers:{initializeFormSubmissions:pe.initialize,setFormSubmission:pe.setOne,setFormSubmissions:pe.setMany,addFormSubmission:pe.addOne,addFormSubmissions:pe.addMany,updateFormSubmission:pe.updateOne,updateFormSubmissions:pe.updateMany,deleteFormSubmission:pe.deleteOne,deleteFormSubmissions:pe.deleteMany}}),{initializeFormSubmissions:_h,setFormSubmission:Mh,setFormSubmissions:gh,addFormSubmission:Rh,addFormSubmissions:lt,updateFormSubmission:wh,updateFormSubmissions:Eh,deleteFormSubmission:vh,deleteFormSubmissions:ot}=bi.actions,Vh=t=>t.formSubmissionReducer.instances,C=u.createSelector([Vh],t=>Object.values(t)),Bh=t=>e=>e.formSubmissionReducer.instances[t],zh=y(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),jh=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),oM=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({organization:i})=>i===e)))),hM=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),pM=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)))),yM=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)))),Ch=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),Dh=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)))})),qh=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),$h=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)))})),Uh=bi.reducer,ye=O(t=>t.uuid),kh={instances:{}},Fi=u.createSlice({name:"geoImages",initialState:kh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,kh)),reducers:{initializeGeoImages:ye.initialize,setGeoImage:ye.setOne,setGeoImages:ye.setMany,addGeoImage:ye.addOne,addGeoImages:ye.addMany,updateGeoImage:ye.updateOne,updateGeoImages:ye.updateMany,deleteGeoImage:ye.deleteOne,deleteGeoImages:ye.deleteMany}}),{initializeGeoImages:Lh,setGeoImage:Hh,setGeoImages:Gh,addGeoImage:Nh,addGeoImages:Kh,updateGeoImage:Wh,updateGeoImages:Xh,deleteGeoImage:Yh,deleteGeoImages:Zh}=Fi.actions,Jh=t=>t.geoImageReducer.instances,_i=u.createSelector([Jh],t=>Object.values(t)),Qh=t=>e=>e.geoImageReducer.instances[t],xh=y(u.createSelector([_i,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),mM=y(u.createSelector([_i,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),ep=Fi.reducer,me=O(t=>t.uuid),tp={instances:{}},Mi=u.createSlice({name:"issueAssociations",initialState:tp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,tp)),reducers:{initializeIssueAssociations:me.initialize,addIssueAssociation:me.addOne,addIssueAssociations:me.addMany,setIssueAssociation:me.setOne,setIssueAssociations:me.setMany,updateIssueAssociation:me.updateOne,updateIssueAssociations:me.updateMany,deleteIssueAssociation:me.deleteOne,deleteIssueAssociations:me.deleteMany}}),{initializeIssueAssociations:sp,setIssueAssociations:ip,setIssueAssociation:ap,updateIssueAssociation:np,updateIssueAssociations:cp,addIssueAssociation:rp,addIssueAssociations:At,deleteIssueAssociation:dp,deleteIssueAssociations:Tt}=Mi.actions,up=t=>t.issueAssociationReducer.instances,It=u.createSelector([up],t=>Object.values(t)),lp=t=>e=>e.issueAssociationReducer.instances[t],op=y(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),hp=y(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>i.has(a)))})),pp=y(u.createSelector([It,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),yp=y(u.createSelector([It,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),mp=y(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),fp=Mi.reducer,fe=O(t=>t.uuid),Sp={instances:{}},gi=u.createSlice({name:"issueAttachments",initialState:Sp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Sp)),reducers:{initializeIssueAttachments:fe.initialize,addIssueAttachment:fe.addOne,addIssueAttachments:fe.addMany,setIssueAttachment:fe.setOne,setIssueAttachments:fe.setMany,updateIssueAttachment:fe.updateOne,updateIssueAttachments:fe.updateMany,deleteIssueAttachment:fe.deleteOne,deleteIssueAttachments:fe.deleteMany}}),{initializeIssueAttachments:Ap,addIssueAttachment:Tp,addIssueAttachments:Ri,setIssueAttachment:Ip,setIssueAttachments:Op,updateIssueAttachment:Pp,updateIssueAttachments:bp,deleteIssueAttachment:Fp,deleteIssueAttachments:wi}=gi.actions,_p=t=>t.issueAttachmentReducer.instances,Ei=u.createSelector([_p],t=>Object.values(t)),Mp=y(u.createSelector([Ei,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>e===i)))),gp=t=>e=>e.issueAttachmentReducer.instances[t],Rp=y(u.createSelector([Ei,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),wp=gi.reducer,Se=O(t=>t.uuid),Ep={instances:{}},vi=u.createSlice({name:"issueCommentAttachments",initialState:Ep,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Ep)),reducers:{initializeIssueCommentAttachments:Se.initialize,addIssueCommentAttachment:Se.addOne,addIssueCommentAttachments:Se.addMany,setIssueCommentAttachment:Se.setOne,setIssueCommentAttachments:Se.setMany,updateIssueCommentAttachment:Se.updateOne,updateIssueCommentAttachments:Se.updateMany,deleteIssueCommentAttachment:Se.deleteOne,deleteIssueCommentAttachments:Se.deleteMany}}),{initializeIssueCommentAttachments:vp,addIssueCommentAttachment:Vp,addIssueCommentAttachments:Bp,setIssueCommentAttachment:zp,setIssueCommentAttachments:jp,updateIssueCommentAttachment:Cp,updateIssueCommentAttachments:Dp,deleteIssueCommentAttachment:qp,deleteIssueCommentAttachments:$p}=vi.actions,Up=t=>t.issueCommentAttachmentReducer.instances,Vi=u.createSelector([Up],t=>Object.values(t)),kp=t=>e=>e.issueCommentAttachmentReducer.instances[t],Lp=y(u.createSelector([Vi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fM=y(u.createSelector([Vi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_comment:i})=>e===i)))),Hp=vi.reducer,Ae=O(t=>t.uuid),Gp={instances:{}},Bi=u.createSlice({name:"issueComments",initialState:Gp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Gp)),reducers:{initializeIssueComments:Ae.initialize,addIssueComment:Ae.addOne,addIssueComments:Ae.addMany,setIssueComment:Ae.setOne,setIssueComments:Ae.setMany,updateIssueComment:Ae.updateOne,updateIssueComments:Ae.updateMany,deleteIssueComment:Ae.deleteOne,deleteIssueComments:Ae.deleteMany}}),{initializeIssueComments:Np,addIssueComment:Kp,addIssueComments:Wp,setIssueComment:Xp,setIssueComments:Yp,updateIssueComment:Zp,updateIssueComments:Jp,deleteIssueComment:Qp,deleteIssueComments:xp}=Bi.actions,zi=t=>t.issueCommentReducer.instances,ey=t=>e=>e.issueCommentReducer.instances[t],ty=y(u.createSelector([zi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),SM=y(u.createSelector([zi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.issue===e)))),sy=Bi.reducer,Te=O(t=>t.uuid),iy={instances:{}},ji=u.createSlice({name:"issues",initialState:iy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,iy)),reducers:{initializeIssues:Te.initialize,addIssue:Te.addOne,addIssues:Te.addMany,setIssue:Te.setOne,setIssues:Te.setMany,updateIssue:Te.updateOne,updateIssues:Te.updateMany,deleteIssue:Te.deleteOne,deleteIssues:Te.deleteMany}}),{initializeIssues:ay,addIssue:ny,addIssues:Ci,setIssue:cy,setIssues:ry,updateIssue:dy,updateIssues:uy,deleteIssue:ly,deleteIssues:Di}=ji.actions,oy=t=>t.issueReducer.instances,Xt=u.createSelector([oy],t=>Object.values(t)),hy=t=>e=>e.issueReducer.instances[t],py=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),AM=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),yy=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),my=ji.reducer,Ie=O(t=>t.uuid),fy={instances:{}},qi=u.createSlice({name:"issueTypeAttachments",initialState:fy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,fy)),reducers:{initializeIssueTypeAttachments:Ie.initialize,addIssueTypeAttachment:Ie.addOne,addIssueTypeAttachments:Ie.addMany,setIssueTypeAttachment:Ie.setOne,setIssueTypeAttachments:Ie.setMany,updateIssueTypeAttachment:Ie.updateOne,updateIssueTypeAttachments:Ie.updateMany,deleteIssueTypeAttachment:Ie.deleteOne,deleteIssueTypeAttachments:Ie.deleteMany}}),{initializeIssueTypeAttachments:Sy,addIssueTypeAttachment:Ay,addIssueTypeAttachments:Ty,setIssueTypeAttachment:Iy,setIssueTypeAttachments:Oy,updateIssueTypeAttachment:Py,updateIssueTypeAttachments:by,deleteIssueTypeAttachment:Fy,deleteIssueTypeAttachments:_y}=qi.actions,My=t=>t.issueTypeAttachmentReducer.instances,$i=u.createSelector([My],t=>Object.values(t)),gy=t=>e=>e.issueTypeAttachmentReducer.instances[t],Ry=y(u.createSelector([$i,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),TM=y(u.createSelector([$i,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_type:i})=>e===i)))),wy=qi.reducer,Oe=O(t=>t.uuid),Ey={instances:{}},Ui=u.createSlice({name:"issueTypeFieldsAttachments",initialState:Ey,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Ey)),reducers:{initializeIssueTypeFieldsAttachments:Oe.initialize,addIssueTypeFieldsAttachment:Oe.addOne,addIssueTypeFieldsAttachments:Oe.addMany,setIssueTypeFieldsAttachment:Oe.setOne,setIssueTypeFieldsAttachments:Oe.setMany,updateIssueTypeFieldsAttachment:Oe.updateOne,updateIssueTypeFieldsAttachments:Oe.updateMany,deleteIssueTypeFieldsAttachment:Oe.deleteOne,deleteIssueTypeFieldsAttachments:Oe.deleteMany}}),{initializeIssueTypeFieldsAttachments:vy,addIssueTypeFieldsAttachment:Vy,addIssueTypeFieldsAttachments:By,setIssueTypeFieldsAttachment:zy,setIssueTypeFieldsAttachments:jy,updateIssueTypeFieldsAttachment:Cy,updateIssueTypeFieldsAttachments:Dy,deleteIssueTypeFieldsAttachment:qy,deleteIssueTypeFieldsAttachments:$y}=Ui.actions,Uy=t=>t.issueTypeFieldsAttachmentReducer.instances,ki=u.createSelector([Uy],t=>Object.values(t)),IM=y(u.createSelector([ki,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),ky=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],Ly=y(u.createSelector([ki,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Hy=Ui.reducer,Pe=O(t=>t.uuid),Gy={instances:{}},Li=u.createSlice({name:"issueTypeFieldValues",initialState:Gy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Gy)),reducers:{initializeIssueTypeFieldValues:Pe.initialize,addIssueTypeFieldValues:Pe.addOne,addIssueTypeFieldValuesMany:Pe.addMany,setIssueTypeFieldValues:Pe.setOne,setIssueTypeFieldValuesMany:Pe.setMany,updateIssueTypeFieldValues:Pe.updateOne,updateIssueTypeFieldValuesMany:Pe.updateMany,deleteIssueTypeFieldValues:Pe.deleteOne,deleteIssueTypeFieldValuesMany:Pe.deleteMany}}),{initializeIssueTypeFieldValues:Ny,addIssueTypeFieldValues:Ky,addIssueTypeFieldValuesMany:Wy,setIssueTypeFieldValues:Xy,setIssueTypeFieldValuesMany:Yy,updateIssueTypeFieldValues:Zy,updateIssueTypeFieldValuesMany:Jy,deleteIssueTypeFieldValues:Qy,deleteIssueTypeFieldValuesMany:xy}=Li.actions,em=t=>t.issueTypeFieldValuesReducer.instances,Yt=u.createSelector([em],t=>Object.values(t)),OM=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),tm=t=>e=>e.issueTypeFieldValuesReducer.instances[t],sm=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),im=Li.reducer,be=O(t=>t.uuid),am={instances:{}},Hi=u.createSlice({name:"issueTypeFields",initialState:am,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,am)),reducers:{initializeIssueTypeFields:be.initialize,addIssueTypeFields:be.addOne,addIssueTypeFieldsMany:be.addMany,setIssueTypeFields:be.setOne,setIssueTypeFieldsMany:be.setMany,updateIssueTypeFields:be.updateOne,updateIssueTypeFieldsMany:be.updateMany,deleteIssueTypeFields:be.deleteOne,deleteIssueTypeFieldsMany:be.deleteMany}}),{initializeIssueTypeFields:nm,addIssueTypeFields:cm,addIssueTypeFieldsMany:rm,setIssueTypeFields:dm,setIssueTypeFieldsMany:um,updateIssueTypeFields:lm,updateIssueTypeFieldsMany:om,deleteIssueTypeFields:hm,deleteIssueTypeFieldsMany:pm}=Hi.actions,ym=t=>t.issueTypeFieldsReducer.instances,gt=u.createSelector([ym],t=>Object.values(t)),PM=y(u.createSelector([gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),bM=y(u.createSelector([gt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),FM=y(u.createSelector([gt,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)))})),mm=t=>e=>e.issueTypeFieldsReducer.instances[t],fm=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=Hi.reducer,Fe=O(t=>t.uuid),Am={instances:{}},Gi=u.createSlice({name:"issueTypeFieldValuesAttachments",initialState:Am,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Am)),reducers:{initializeIssueTypeFieldValuesAttachments:Fe.initialize,addIssueTypeFieldValuesAttachment:Fe.addOne,addIssueTypeFieldValuesAttachments:Fe.addMany,setIssueTypeFieldValuesAttachment:Fe.setOne,setIssueTypeFieldValuesAttachments:Fe.setMany,updateIssueTypeFieldValuesAttachment:Fe.updateOne,updateIssueTypeFieldValuesAttachments:Fe.updateMany,deleteIssueTypeFieldValuesAttachment:Fe.deleteOne,deleteIssueTypeFieldValuesAttachments:Fe.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:Tm,addIssueTypeFieldValuesAttachment:Im,addIssueTypeFieldValuesAttachments:Ni,setIssueTypeFieldValuesAttachment:Om,setIssueTypeFieldValuesAttachments:Pm,updateIssueTypeFieldValuesAttachment:bm,updateIssueTypeFieldValuesAttachments:Fm,deleteIssueTypeFieldValuesAttachment:_m,deleteIssueTypeFieldValuesAttachments:Ki}=Gi.actions,Mm=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Wi=u.createSelector([Mm],t=>Object.values(t)),gm=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],Rm=y(u.createSelector([Wi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),wm=y(u.createSelector([Wi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Em=Gi.reducer,_e=O(t=>t.uuid),vm={instances:{}},Xi=u.createSlice({name:"issueTypeIdentifiers",initialState:vm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,vm)),reducers:{initializeIssueTypeIdentifiers:_e.initialize,addIssueTypeIdentifier:_e.addOne,addIssueTypeIdentifiers:_e.addMany,setIssueTypeIdentifier:_e.setOne,setIssueTypeIdentifiers:_e.setMany,updateIssueTypeIdentifier:_e.updateOne,updateIssueTypeIdentifiers:_e.updateMany,deleteIssueTypeIdentifier:_e.deleteOne,deleteIssueTypeIdentifiers:_e.deleteMany}}),{initializeIssueTypeIdentifiers:Vm,addIssueTypeIdentifier:Bm,addIssueTypeIdentifiers:zm,setIssueTypeIdentifier:jm,setIssueTypeIdentifiers:Cm,updateIssueTypeIdentifier:Dm,updateIssueTypeIdentifiers:qm,deleteIssueTypeIdentifier:$m,deleteIssueTypeIdentifiers:Um}=Xi.actions,km=t=>t.issueTypeIdentifierReducer.instances,Yi=u.createSelector([km],t=>Object.values(t)),Lm=t=>e=>e.issueTypeIdentifierReducer.instances[t],Hm=y(u.createSelector([Yi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_M=y(u.createSelector([Yi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Gm=Xi.reducer,Me=O(t=>t.uuid),Nm={instances:{}},Zi=u.createSlice({name:"issueTypeIdentifierValues",initialState:Nm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Nm)),reducers:{initializeIssueTypeIdentifierValues:Me.initialize,addIssueTypeIdentifierValue:Me.addOne,addIssueTypeIdentifierValues:Me.addMany,setIssueTypeIdentifierValue:Me.setOne,setIssueTypeIdentifierValues:Me.setMany,updateIssueTypeIdentifierValue:Me.updateOne,updateIssueTypeIdentifierValues:Me.updateMany,deleteIssueTypeIdentifierValue:Me.deleteOne,deleteIssueTypeIdentifierValues:Me.deleteMany}}),{initializeIssueTypeIdentifierValues:Km,addIssueTypeIdentifierValue:Wm,addIssueTypeIdentifierValues:Xm,setIssueTypeIdentifierValue:Ym,setIssueTypeIdentifierValues:Zm,updateIssueTypeIdentifierValue:Jm,updateIssueTypeIdentifierValues:Qm,deleteIssueTypeIdentifierValue:xm,deleteIssueTypeIdentifierValues:ef}=Zi.actions,tf=t=>t.issueTypeIdentifierValueReducer.instances,Zt=u.createSelector([tf],t=>Object.values(t)),sf=t=>e=>e.issueTypeIdentifierValueReducer.instances[t],af=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),MM=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),gM=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type_identifier===e)))),nf=Zi.reducer,ge=O(t=>t.uuid),cf={instances:{}},Ji=u.createSlice({name:"issueTypePriorities",initialState:cf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,cf)),reducers:{initializeIssueTypePriorities:ge.initialize,addIssueTypePriority:ge.addOne,addIssueTypePriorities:ge.addMany,setIssueTypePriority:ge.setOne,setIssueTypePriorities:ge.setMany,updateIssueTypePriority:ge.updateOne,updateIssueTypePriorities:ge.updateMany,deleteIssueTypePriority:ge.deleteOne,deleteIssueTypePriorities:ge.deleteMany}}),{initializeIssueTypePriorities:rf,addIssueTypePriority:df,addIssueTypePriorities:uf,setIssueTypePriority:lf,setIssueTypePriorities:of,updateIssueTypePriority:hf,updateIssueTypePriorities:pf,deleteIssueTypePriority:yf,deleteIssueTypePriorities:mf}=Ji.actions,ff=t=>t.issueTypePriorityReducer.instances,Qi=u.createSelector([ff],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypePrioritySortFn))),xi=t=>e=>e.issueTypePriorityReducer.instances[t],Sf=y(u.createSelector([Qi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),RM=y(u.createSelector([Qi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Af=Ji.reducer,Re=O(t=>t.uuid),Tf={instances:{}},ea=u.createSlice({name:"issueTypes",initialState:Tf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Tf)),reducers:{initializeIssueTypes:Re.initialize,addIssueType:Re.addOne,addIssueTypes:Re.addMany,setIssueType:Re.setOne,setIssueTypes:Re.setMany,updateIssueType:Re.updateOne,updateIssueTypes:Re.updateMany,deleteIssueType:Re.deleteOne,deleteIssueTypes:Re.deleteMany}}),{initializeIssueTypes:If,addIssueType:Of,addIssueTypes:Pf,setIssueType:bf,setIssueTypes:Ff,updateIssueType:_f,updateIssueTypes:Mf,deleteIssueType:gf,deleteIssueTypes:Rf}=ea.actions,wf=t=>t.issueTypeReducer.instances,ta=u.createSelector(wf,t=>Object.values(t)),Ef=t=>e=>e.issueTypeReducer.instances[t],vf=y(u.createSelector([ta,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),wM=y(u.createSelector([ta,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Vf=ea.reducer,we=O(t=>t.uuid),Bf={instances:{}},sa=u.createSlice({name:"issueTypeStatuses",initialState:Bf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,Bf)),reducers:{initializeIssueTypeStatuses:we.initialize,addIssueTypeStatus:we.addOne,addIssueTypeStatuses:we.addMany,setIssueTypeStatus:we.setOne,setIssueTypeStatuses:we.setMany,updateIssueTypeStatus:we.updateOne,updateIssueTypeStatuses:we.updateMany,deleteIssueTypeStatus:we.deleteOne,deleteIssueTypeStatuses:we.deleteMany}}),{initializeIssueTypeStatuses:zf,addIssueTypeStatus:jf,addIssueTypeStatuses:Cf,setIssueTypeStatus:Df,setIssueTypeStatuses:qf,updateIssueTypeStatus:$f,updateIssueTypeStatuses:Uf,deleteIssueTypeStatus:kf,deleteIssueTypeStatuses:Lf}=sa.actions,Hf=t=>t.issueTypeStatusReducer.instances,ia=u.createSelector([Hf],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypeStatusSortFn))),aa=t=>e=>e.issueTypeStatusReducer.instances[t],Gf=y(u.createSelector([ia,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),EM=y(u.createSelector([ia,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Nf=sa.reducer,Ee=O(t=>t.uuid),Kf={instances:{}},na=u.createSlice({name:"issueUpdates",initialState:Kf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Kf)),reducers:{initializeIssueUpdates:Ee.initialize,addIssueUpdate:Ee.addOne,addIssueUpdates:Ee.addMany,setIssueUpdate:Ee.setOne,setIssueUpdates:Ee.setMany,updateIssueUpdate:Ee.updateOne,updateIssueUpdates:Ee.updateMany,deleteIssueUpdate:Ee.deleteOne,deleteIssueUpdates:Ee.deleteMany}}),{initializeIssueUpdates:Wf,addIssueUpdate:ca,addIssueUpdates:ra,setIssueUpdate:Xf,setIssueUpdates:Yf,updateIssueUpdate:Zf,updateIssueUpdates:Jf,deleteIssueUpdate:da,deleteIssueUpdates:ua}=na.actions,la=t=>t.issueUpdateReducer.instances,oa=u.createSelector([la],t=>Object.values(t)),Qf=y(u.createSelector([la,(t,e)=>e],(t,e)=>t[e])),xf=y(u.createSelector([oa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),eS=y(u.createSelector([oa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),tS=na.reducer,ve=O(t=>t.id),sS={instances:{},currentUser:null},ha=u.createSlice({name:"users",initialState:sS,extraReducers:t=>t.addCase(T,e=>Object.assign(e,sS)).addCase(P,e=>Object.assign(e,{...e,instances:[]})),reducers:{initializeUsers:ve.initialize,setUsers:ve.setMany,setUser:ve.setOne,addUsers:ve.addMany,addUser:ve.addOne,updateUsers:ve.updateMany,updateUser:ve.updateOne,deleteUser:ve.deleteOne,deleteUsers:ve.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:iS,setUsers:aS,setUser:nS,addUsers:cS,addUser:pa,updateUsers:rS,updateUser:dS,deleteUser:ya,deleteUsers:uS,setCurrentUser:vM,setCurrentUserProfile:VM}=ha.actions,lS=ha.reducer,oS=t=>t.userReducer.currentUser,ma=t=>t.userReducer.instances,Jt=u.createSelector([ma],t=>Object.values(t)),Qt=t=>e=>e.userReducer.instances[t],hS=y(u.createSelector([Jt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({id:a})=>i.has(a)))})),Ve=O(t=>t.uuid),pS={instances:{}},fa=u.createSlice({name:"organizationAccess",initialState:pS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,pS)),reducers:{initializeOrganizationAccesses:Ve.initialize,addOrganizationAccess:Ve.addOne,addOrganizationAccesses:Ve.addMany,setOrganizationAccess:Ve.setOne,setOrganizationAccesses:Ve.setMany,updateOrganizationAccess:Ve.updateOne,updateOrganizationAccesses:Ve.updateMany,deleteOrganizationAccess:Ve.deleteOne,deleteOrganizationAccesses:Ve.deleteMany}}),{initializeOrganizationAccesses:yS,addOrganizationAccess:mS,addOrganizationAccesses:fS,setOrganizationAccess:SS,setOrganizationAccesses:AS,updateOrganizationAccess:TS,updateOrganizationAccesses:IS,deleteOrganizationAccess:OS,deleteOrganizationAccesses:PS}=fa.actions,bS=fa.reducer,xt=t=>t.organizationAccessReducer.instances,FS=t=>e=>e.organizationAccessReducer.instances[t],_S=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)))})),BM=u.createSelector([oS,xt],(t,e)=>Object.values(e).find(a=>a.user===t?.id)??null),MS=u.createSelector([xt],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return l.fallbackToEmptyObject(e)}),zM=y(u.createSelector([ma,MS,(t,e)=>e],(t,e,i)=>l.fallbackToEmptyArray(Object.values(t).filter(a=>{const n=e[a.id];return!!n&&n.organization===i})))),Be=O(t=>t.uuid),gS={instances:{}},Sa=u.createSlice({name:"organizations",initialState:gS,extraReducers:t=>t.addMatcher(u.isAnyOf(T),e=>Object.assign(e,gS)),reducers:{initializeOrganizations:Be.initialize,setOrganizations:Be.setMany,setOrganization:Be.setOne,addOrganizations:Be.addMany,addOrganization:Be.addOne,updateOrganizations:Be.updateMany,updateOrganization:Be.updateOne,deleteOrganization:Be.deleteOne,deleteOrganizations:Be.deleteMany}}),{initializeOrganizations:RS,setOrganizations:wS,setOrganization:ES,addOrganizations:vS,addOrganization:VS,updateOrganizations:BS,updateOrganization:zS,deleteOrganization:jS,deleteOrganizations:CS}=Sa.actions,DS=t=>t.organizationReducer.instances,qS=u.createSelector([DS],t=>Object.values(t)),$S=t=>e=>e.organizationReducer.instances[t],US=y(u.createSelector([qS,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),kS=Sa.reducer,LS=(t,e,i)=>{const a=t.uuid?t:{...t,uuid:ut.v4()};return{payload:a,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:a,BASE_URL:e,serviceName:i}}}}},HS={deletedRequests:[],latestRetryTime:0},Aa=u.createSlice({name:"outbox",initialState:HS,extraReducers:t=>t.addCase(T,e=>Object.assign(e,HS)),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 LS(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}}}),jM=t=>t.outboxReducer.deletedRequests,CM=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:GS,markForDeletion:DM,markAsDeleted:NS,_setLatestRetryTime:KS}=Aa.actions,WS=Aa.reducer,ze=O(t=>t.uuid),XS={instances:{}},Ta=u.createSlice({name:"projectAccess",initialState:XS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,XS)),reducers:{initializeProjectAccesses:ze.initialize,addProjectAccess:ze.addOne,addProjectAccesses:ze.addMany,setProjectAccess:ze.setOne,setProjectAccesses:ze.setMany,updateProjectAccess:ze.updateOne,updateProjectAccesses:ze.updateMany,deleteProjectAccess:ze.deleteOne,deleteProjectAccesses:ze.deleteMany}}),{initializeProjectAccesses:YS,addProjectAccess:ZS,addProjectAccesses:JS,setProjectAccess:QS,setProjectAccesses:xS,updateProjectAccess:eA,updateProjectAccesses:tA,deleteProjectAccess:sA,deleteProjectAccesses:iA}=Ta.actions,aA=Ta.reducer,Ia=t=>t.projectAccessReducer.instances,Rt=u.createSelector(Ia,t=>Object.values(t)),nA=t=>e=>e.projectAccessReducer.instances[t],cA=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),qM=y(u.createSelector([Ia,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.project===e)))),$M=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.project===e))i[a.user]=a;return i})),UM=y(u.createSelector([Jt,Rt,(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)))})),je=O(t=>t.uuid),rA={instances:{}},Oa=u.createSlice({name:"projectAttachments",initialState:rA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,rA)),reducers:{initializeProjectAttachments:je.initialize,addProjectAttachment:je.addOne,addProjectAttachments:je.addMany,setProjectAttachment:je.setOne,setProjectAttachments:je.setMany,updateProjectAttachment:je.updateOne,updateProjectAttachments:je.updateMany,deleteProjectAttachment:je.deleteOne,deleteProjectAttachments:je.deleteMany}}),{initializeProjectAttachments:dA,addProjectAttachment:uA,addProjectAttachments:lA,setProjectAttachment:oA,setProjectAttachments:hA,updateProjectAttachment:pA,updateProjectAttachments:yA,deleteProjectAttachment:mA,deleteProjectAttachments:fA}=Oa.actions,SA=t=>t.projectAttachmentReducer.instances,Pa=u.createSelector([SA],t=>Object.values(t)),AA=t=>e=>e.projectAttachmentReducer.instances[t],TA=y(u.createSelector([Pa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),kM=y(u.createSelector([Pa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>e===i)))),IA=Oa.reducer,Ce=O(t=>t.uuid),OA={instances:{}},ba=u.createSlice({name:"projectComments",initialState:OA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,OA)),reducers:{initializeProjectComments:Ce.initialize,addProjectComment:Ce.addOne,addProjectComments:Ce.addMany,setProjectComment:Ce.setOne,setProjectComments:Ce.setMany,updateProjectComment:Ce.updateOne,updateProjectComments:Ce.updateMany,deleteProjectComment:Ce.deleteOne,deleteProjectComments:Ce.deleteMany}}),{initializeProjectComments:PA,addProjectComment:bA,addProjectComments:FA,setProjectComment:_A,setProjectComments:MA,updateProjectComment:gA,updateProjectComments:RA,deleteProjectComment:wA,deleteProjectComments:EA}=ba.actions,vA=t=>t.projectCommentReducer.instances,es=u.createSelector([vA],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),VA=t=>e=>e.projectCommentReducer.instances[t],BA=y(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),LM=y(u.createSelector([es,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),HM=y(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.project)))})),zA=ba.reducer,De=O(t=>t.uuid),jA={instances:{}},Fa=u.createSlice({name:"projectFiles",initialState:jA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,jA)),reducers:{initializeProjectFiles:De.initialize,setProjectFile:De.setOne,setProjectFiles:De.setMany,addProjectFile:De.addOne,addProjectFiles:De.addMany,updateProjectFile:De.updateOne,updateProjectFiles:De.updateMany,deleteProjectFile:De.deleteOne,deleteProjectFiles:De.deleteMany}}),{initializeProjectFiles:CA,setProjectFile:DA,setProjectFiles:qA,addProjectFile:$A,addProjectFiles:UA,updateProjectFile:kA,updateProjectFiles:LA,deleteProjectFile:HA,deleteProjectFiles:GA}=Fa.actions,NA=t=>t.projectFileReducer.instances,KA=u.createSelector([NA],t=>l.fallbackToEmptyArray(Object.values(t).toSorted((e,i)=>e.z_index-i.z_index))),WA=t=>e=>e.projectFileReducer.instances[t],XA=y(u.createSelector([KA,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),YA=Fa.reducer,qe=O(t=>t.uuid),ZA={instances:{}},_a=u.createSlice({name:"projects",initialState:ZA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,ZA)),reducers:{initializeProjects:qe.initialize,setProjects:qe.setMany,setProject:qe.setOne,addProjects:qe.addMany,addProject:qe.addOne,updateProjects:qe.updateMany,updateProject:qe.updateOne,deleteProject:qe.deleteOne,deleteProjects:qe.deleteMany}}),{initializeProjects:JA,setProjects:QA,setProject:xA,addProjects:eT,addProject:tT,updateProjects:sT,updateProject:iT,deleteProject:aT,deleteProjects:nT}=_a.actions,cT=_a.reducer,rT=t=>t.projectReducer.instances,ts=u.createSelector([rT],t=>Object.values(t)),dT=t=>e=>e.projectReducer.instances[t],uT=y(u.createSelector([ts,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),GM=y(u.createSelector([ts,Rt,(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)))})),NM=y(u.createSelector([ts,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),$e=O(({uuid:t})=>t),lT={instances:{}},Ma=u.createSlice({name:"procedureInitiatives",initialState:lT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,lT)),reducers:{initializeProcedureInitiatives:$e.initialize,addProcedureInitiative:$e.addOne,addProcedureInitiatives:$e.addMany,setProcedureInitiative:$e.setOne,setProcedureInitiatives:$e.setMany,updateProcedureInitiative:$e.updateOne,updateProcedureInitiatives:$e.updateMany,deleteProcedureInitiative:$e.deleteOne,deleteProcedureInitiatives:$e.deleteMany}}),{initializeProcedureInitiatives:oT,addProcedureInitiative:hT,addProcedureInitiatives:pT,setProcedureInitiative:yT,setProcedureInitiatives:mT,updateProcedureInitiative:fT,updateProcedureInitiatives:ST,deleteProcedureInitiative:AT,deleteProcedureInitiatives:TT}=Ma.actions,IT=Ma.reducer,OT=t=>t.procedureInitiativeReducer.instances,ss=u.createSelector([OT],t=>Object.values(t)),PT=t=>e=>e.procedureInitiativeReducer.instances[t],bT=y(u.createSelector([ss,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),KM=y(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),WM=y(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),Ue=O(({uuid:t})=>t),FT={instances:{}},ga=u.createSlice({name:"procedures",initialState:FT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,FT)),reducers:{initializeProcedures:Ue.initialize,addProcedure:Ue.addOne,addProcedures:Ue.addMany,setProcedure:Ue.setOne,setProcedures:Ue.setMany,updateProcedure:Ue.updateOne,updateProcedures:Ue.updateMany,deleteProcedure:Ue.deleteOne,deleteProcedures:Ue.deleteMany}}),{initializeProcedures:_T,addProcedure:MT,addProcedures:Ot,setProcedure:gT,setProcedures:RT,updateProcedure:wT,updateProcedures:ET,deleteProcedure:vT,deleteProcedures:Pt}=ga.actions,VT=ga.reducer,BT=t=>t.procedureReducer.instances,ht=u.createSelector([BT],t=>Object.values(t)),zT=t=>e=>e.procedureReducer.instances[t],jT=y(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),XM=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),CT=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),DT=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),qT=y(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),$T=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_initiative===e)))),ke=O(t=>t.uuid),UT={instances:{}},Ra=u.createSlice({name:"procedureStepAssignees",initialState:UT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,UT)),reducers:{initializeProcedureStepAssignees:ke.initialize,addProcedureStepAssignee:ke.addOne,addProcedureStepAssignees:ke.addMany,setProcedureStepAssignee:ke.setOne,setProcedureStepAssignees:ke.setMany,updateProcedureStepAssignee:ke.updateOne,updateProcedureStepAssignees:ke.updateMany,deleteProcedureStepAssignee:ke.deleteOne,deleteProcedureStepAssignees:ke.deleteMany}}),{initializeProcedureStepAssignees:kT,addProcedureStepAssignee:LT,addProcedureStepAssignees:HT,setProcedureStepAssignee:GT,setProcedureStepAssignees:NT,updateProcedureStepAssignee:KT,updateProcedureStepAssignees:WT,deleteProcedureStepAssignee:XT,deleteProcedureStepAssignees:YT}=Ra.actions,ZT=t=>t.procedureStepAssigneeReducer.instances,wt=u.createSelector([ZT],t=>Object.values(t)),JT=t=>e=>e.procedureStepAssigneeReducer.instances[t],QT=y(u.createSelector([wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),YM=y(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),ZM=y(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),JM=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)))),xT=Ra.reducer,Le=O(t=>t.uuid),eI={instances:{}},wa=u.createSlice({name:"procedureStepComments",initialState:eI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,eI)),reducers:{initializeProcedureStepComments:Le.initialize,addProcedureStepComment:Le.addOne,addProcedureStepComments:Le.addMany,setProcedureStepComment:Le.setOne,setProcedureStepComments:Le.setMany,updateProcedureStepComment:Le.updateOne,updateProcedureStepComments:Le.updateMany,deleteProcedureStepComment:Le.deleteOne,deleteProcedureStepComments:Le.deleteMany}}),{initializeProcedureStepComments:tI,addProcedureStepComment:sI,addProcedureStepComments:iI,setProcedureStepComment:aI,setProcedureStepComments:nI,updateProcedureStepComment:cI,updateProcedureStepComments:rI,deleteProcedureStepComment:dI,deleteProcedureStepComments:uI}=wa.actions,lI=t=>t.procedureStepCommentReducer.instances,Et=u.createSelector([lI],t=>Object.values(t)),oI=t=>e=>e.procedureStepCommentReducer.instances[t],hI=y(u.createSelector([Et,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),QM=y(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),xM=y(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),eg=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)))),pI=wa.reducer,He=O(t=>t.uuid),yI={instances:{}},Ea=u.createSlice({name:"procedureStepDefaultAssignees",initialState:yI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,yI)),reducers:{initializeProcedureStepDefaultAssignees:He.initialize,addProcedureStepDefaultAssignee:He.addOne,addProcedureStepDefaultAssignees:He.addMany,setProcedureStepDefaultAssignee:He.setOne,setProcedureStepDefaultAssignees:He.setMany,updateProcedureStepDefaultAssignee:He.updateOne,updateProcedureStepDefaultAssignees:He.updateMany,deleteProcedureStepDefaultAssignee:He.deleteOne,deleteProcedureStepDefaultAssignees:He.deleteMany}}),{initializeProcedureStepDefaultAssignees:mI,addProcedureStepDefaultAssignee:fI,addProcedureStepDefaultAssignees:SI,setProcedureStepDefaultAssignee:AI,setProcedureStepDefaultAssignees:TI,updateProcedureStepDefaultAssignee:II,updateProcedureStepDefaultAssignees:OI,deleteProcedureStepDefaultAssignee:PI,deleteProcedureStepDefaultAssignees:bI}=Ea.actions,FI=t=>t.procedureStepDefaultAssigneeReducer.instances,va=u.createSelector([FI],t=>Object.values(t)),_I=t=>e=>e.procedureStepDefaultAssigneeReducer.instances[t],MI=y(u.createSelector([va,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tg=y(u.createSelector([va,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),gI=Ea.reducer,Ge=O(t=>t.uuid),RI={instances:{}},Va=u.createSlice({name:"procedureStepDefaultReviewers",initialState:RI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,RI)),reducers:{initializeProcedureStepDefaultReviewers:Ge.initialize,addProcedureStepDefaultReviewer:Ge.addOne,addProcedureStepDefaultReviewers:Ge.addMany,setProcedureStepDefaultReviewer:Ge.setOne,setProcedureStepDefaultReviewers:Ge.setMany,updateProcedureStepDefaultReviewer:Ge.updateOne,updateProcedureStepDefaultReviewers:Ge.updateMany,deleteProcedureStepDefaultReviewer:Ge.deleteOne,deleteProcedureStepDefaultReviewers:Ge.deleteMany}}),{initializeProcedureStepDefaultReviewers:wI,addProcedureStepDefaultReviewer:EI,addProcedureStepDefaultReviewers:vI,setProcedureStepDefaultReviewer:VI,setProcedureStepDefaultReviewers:BI,updateProcedureStepDefaultReviewer:zI,updateProcedureStepDefaultReviewers:jI,deleteProcedureStepDefaultReviewer:CI,deleteProcedureStepDefaultReviewers:DI}=Va.actions,qI=t=>t.procedureStepDefaultReviewerReducer.instances,Ba=u.createSelector([qI],t=>Object.values(t)),$I=t=>e=>e.procedureStepDefaultReviewerReducer.instances[t],UI=y(u.createSelector([Ba,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),sg=y(u.createSelector([Ba,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),kI=Va.reducer,Ne=O(t=>t.uuid),LI={instances:{}},za=u.createSlice({name:"procedureStepEvents",initialState:LI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,LI)),reducers:{initializeProcedureStepEvents:Ne.initialize,addProcedureStepEvent:Ne.addOne,addProcedureStepEvents:Ne.addMany,setProcedureStepEvent:Ne.setOne,setProcedureStepEvents:Ne.setMany,updateProcedureStepEvent:Ne.updateOne,updateProcedureStepEvents:Ne.updateMany,deleteProcedureStepEvent:Ne.deleteOne,deleteProcedureStepEvents:Ne.deleteMany}}),{initializeProcedureStepEvents:HI,addProcedureStepEvent:GI,addProcedureStepEvents:NI,setProcedureStepEvent:KI,setProcedureStepEvents:WI,updateProcedureStepEvent:XI,updateProcedureStepEvents:YI,deleteProcedureStepEvent:ZI,deleteProcedureStepEvents:JI}=za.actions,QI=t=>t.procedureStepEventReducer.instances,vt=u.createSelector([QI],t=>Object.values(t)),xI=t=>e=>e.procedureStepEventReducer.instances[t],eO=y(u.createSelector([vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ig=y(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),ag=y(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),ng=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)))),tO=za.reducer,Ke=O(t=>t.uuid),sO={instances:{}},ja=u.createSlice({name:"procedureStepFieldsAttachments",initialState:sO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,sO)),reducers:{initializeProcedureStepFieldsAttachments:Ke.initialize,addProcedureStepFieldsAttachment:Ke.addOne,addProcedureStepFieldsAttachments:Ke.addMany,setProcedureStepFieldsAttachment:Ke.setOne,setProcedureStepFieldsAttachments:Ke.setMany,updateProcedureStepFieldsAttachment:Ke.updateOne,updateProcedureStepFieldsAttachments:Ke.updateMany,deleteProcedureStepFieldsAttachment:Ke.deleteOne,deleteProcedureStepFieldsAttachments:Ke.deleteMany}}),{initializeProcedureStepFieldsAttachments:iO,addProcedureStepFieldsAttachment:aO,addProcedureStepFieldsAttachments:Ca,setProcedureStepFieldsAttachment:nO,setProcedureStepFieldsAttachments:cO,updateProcedureStepFieldsAttachment:rO,updateProcedureStepFieldsAttachments:dO,deleteProcedureStepFieldsAttachment:uO,deleteProcedureStepFieldsAttachments:Da}=ja.actions,lO=t=>t.procedureStepFieldsAttachmentReducer.instances,qa=u.createSelector([lO],t=>Object.values(t)),oO=y(u.createSelector([qa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),hO=t=>e=>e.procedureStepFieldsAttachmentReducer.instances[t],pO=y(u.createSelector([qa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),yO=ja.reducer,We=O(t=>t.uuid),mO={instances:{}},$a=u.createSlice({name:"procedureStepFields",initialState:mO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,mO)),reducers:{initializeProcedureStepFields:We.initialize,addProcedureStepFields:We.addOne,addProcedureStepFieldsMany:We.addMany,setProcedureStepFields:We.setOne,setProcedureStepFieldsMany:We.setMany,updateProcedureStepFields:We.updateOne,updateProcedureStepFieldsMany:We.updateMany,deleteProcedureStepFields:We.deleteOne,deleteProcedureStepFieldsMany:We.deleteMany}}),{initializeProcedureStepFields:fO,addProcedureStepFields:SO,addProcedureStepFieldsMany:AO,setProcedureStepFields:TO,setProcedureStepFieldsMany:IO,updateProcedureStepFields:OO,updateProcedureStepFieldsMany:PO,deleteProcedureStepFields:bO,deleteProcedureStepFieldsMany:FO}=$a.actions,Ua=t=>t.procedureStepFieldsReducer.instances,is=u.createSelector([Ua],t=>Object.values(t)),cg=y(u.createSelector([is,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),rg=y(u.createSelector([is,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_step===e).toSorted(l.submittedAtModelSortFn).pop())),dg=u.createSelector([Ua],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}),_O=t=>e=>e.procedureStepFieldsReducer.instances[t],MO=y(u.createSelector([is,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gO=$a.reducer,Xe=O(t=>t.uuid),RO={instances:{}},ka=u.createSlice({name:"procedureStepFieldValuesAttachments",initialState:RO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,RO)),reducers:{initializeProcedureStepFieldValuesAttachments:Xe.initialize,addProcedureStepFieldValuesAttachment:Xe.addOne,addProcedureStepFieldValuesAttachments:Xe.addMany,setProcedureStepFieldValuesAttachment:Xe.setOne,setProcedureStepFieldValuesAttachments:Xe.setMany,updateProcedureStepFieldValuesAttachment:Xe.updateOne,updateProcedureStepFieldValuesAttachments:Xe.updateMany,deleteProcedureStepFieldValuesAttachment:Xe.deleteOne,deleteProcedureStepFieldValuesAttachments:Xe.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:wO,addProcedureStepFieldValuesAttachment:EO,addProcedureStepFieldValuesAttachments:La,setProcedureStepFieldValuesAttachment:vO,setProcedureStepFieldValuesAttachments:VO,updateProcedureStepFieldValuesAttachment:BO,updateProcedureStepFieldValuesAttachments:zO,deleteProcedureStepFieldValuesAttachment:jO,deleteProcedureStepFieldValuesAttachments:Ha}=ka.actions,CO=t=>t.procedureStepFieldValuesAttachmentReducer.instances,Ga=u.createSelector([CO],t=>Object.values(t)),DO=t=>e=>e.procedureStepFieldValuesAttachmentReducer.instances[t],qO=y(u.createSelector([Ga,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$O=y(u.createSelector([Ga,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),UO=ka.reducer,Ye=O(t=>t.uuid),kO={instances:{}},Na=u.createSlice({name:"procedureStepFieldValues",initialState:kO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,kO)),reducers:{initializeProcedureStepFieldValues:Ye.initialize,addProcedureStepFieldValues:Ye.addOne,addProcedureStepFieldValuesMany:Ye.addMany,setProcedureStepFieldValues:Ye.setOne,setProcedureStepFieldValuesMany:Ye.setMany,updateProcedureStepFieldValues:Ye.updateOne,updateProcedureStepFieldValuesMany:Ye.updateMany,deleteProcedureStepFieldValues:Ye.deleteOne,deleteProcedureStepFieldValuesMany:Ye.deleteMany}}),{initializeProcedureStepFieldValues:LO,addProcedureStepFieldValues:HO,addProcedureStepFieldValuesMany:GO,setProcedureStepFieldValues:NO,setProcedureStepFieldValuesMany:KO,updateProcedureStepFieldValues:WO,updateProcedureStepFieldValuesMany:XO,deleteProcedureStepFieldValues:YO,deleteProcedureStepFieldValuesMany:ZO}=Na.actions,JO=Na.reducer,QO=t=>t.procedureStepFieldValuesReducer.instances,pt=u.createSelector([QO],t=>Object.values(t)),ug=y(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),lg=y(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),xO=t=>e=>e.procedureStepFieldValuesReducer.instances[t],eP=y(u.createSelector([pt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),og=y(u.createSelector([pt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),Ze=O(t=>t.uuid),tP={instances:{}},Ka=u.createSlice({name:"procedureStepFieldValuesReviews",initialState:tP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,tP)),reducers:{initializeProcedureStepFieldValuesReviews:Ze.initialize,addProcedureStepFieldValuesReview:Ze.addOne,addProcedureStepFieldValuesReviews:Ze.addMany,setProcedureStepFieldValuesReview:Ze.setOne,setProcedureStepFieldValuesReviews:Ze.setMany,updateProcedureStepFieldValuesReview:Ze.updateOne,updateProcedureStepFieldValuesReviews:Ze.updateMany,deleteProcedureStepFieldValuesReview:Ze.deleteOne,deleteProcedureStepFieldValuesReviews:Ze.deleteMany}}),{initializeProcedureStepFieldValuesReviews:sP,addProcedureStepFieldValuesReview:iP,addProcedureStepFieldValuesReviews:Wa,setProcedureStepFieldValuesReview:aP,setProcedureStepFieldValuesReviews:nP,updateProcedureStepFieldValuesReview:cP,updateProcedureStepFieldValuesReviews:rP,deleteProcedureStepFieldValuesReview:dP,deleteProcedureStepFieldValuesReviews:Xa}=Ka.actions,uP=t=>t.procedureStepFieldValuesReviewReducer.instances,yt=u.createSelector([uP],t=>Object.values(t)),lP=t=>e=>e.procedureStepFieldValuesReviewReducer.instances[t],oP=y(u.createSelector([yt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),hP=y(u.createSelector([yt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),hg=y(u.createSelector([yt,(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})),pg=y(u.createSelector([pt,yt,(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)))})),yg=y(u.createSelector([pt,yt,(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)))})),mg=u.createSelector([yt],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}),pP=Ka.reducer,Je=O(t=>t.uuid),yP={instances:{}},Ya=u.createSlice({name:"procedureStepReviewers",initialState:yP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,yP)),reducers:{initializeProcedureStepReviewers:Je.initialize,addProcedureStepReviewer:Je.addOne,addProcedureStepReviewers:Je.addMany,setProcedureStepReviewer:Je.setOne,setProcedureStepReviewers:Je.setMany,updateProcedureStepReviewer:Je.updateOne,updateProcedureStepReviewers:Je.updateMany,deleteProcedureStepReviewer:Je.deleteOne,deleteProcedureStepReviewers:Je.deleteMany}}),{initializeProcedureStepReviewers:mP,addProcedureStepReviewer:fP,addProcedureStepReviewers:SP,setProcedureStepReviewer:AP,setProcedureStepReviewers:TP,updateProcedureStepReviewer:IP,updateProcedureStepReviewers:OP,deleteProcedureStepReviewer:PP,deleteProcedureStepReviewers:bP}=Ya.actions,FP=t=>t.procedureStepReviewerReducer.instances,Vt=u.createSelector([FP],t=>Object.values(t)),_P=t=>e=>e.procedureStepReviewerReducer.instances[t],MP=y(u.createSelector([Vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fg=y(u.createSelector([Vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),Sg=y(u.createSelector([Vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),Ag=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)))),gP=Ya.reducer,Qe=O(t=>t.uuid),RP={instances:{}},Za=u.createSlice({name:"procedureSteps",initialState:RP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,RP)),reducers:{initializeProcedureSteps:Qe.initialize,setProcedureStep:Qe.setOne,setProcedureSteps:Qe.setMany,addProcedureStep:Qe.addOne,addProcedureSteps:Qe.addMany,updateProcedureStep:Qe.updateOne,updateProcedureSteps:Qe.updateMany,deleteProcedureStep:Qe.deleteOne,deleteProcedureSteps:Qe.deleteMany}}),{initializeProcedureSteps:wP,setProcedureStep:EP,setProcedureSteps:vP,addProcedureStep:VP,addProcedureSteps:BP,updateProcedureStep:zP,updateProcedureSteps:jP,deleteProcedureStep:CP,deleteProcedureSteps:DP}=Za.actions,qP=Za.reducer,Ja=t=>t.procedureStepReducer.instances,$P=t=>e=>e.procedureStepReducer.instances[t],Qa=u.createSelector([Ja],t=>Object.values(t).toSorted((e,i)=>e.order-i.order)),Tg=y(u.createSelector([Ja,(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)})),Ig=y(u.createSelector([Qa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),UP=y(u.createSelector([Qa,(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),kP={instances:{}},xa=u.createSlice({name:"procedureTypeAttachments",initialState:kP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,kP)),reducers:{initializeProcedureTypeAttachments:xe.initialize,addProcedureTypeAttachment:xe.addOne,addProcedureTypeAttachments:xe.addMany,setProcedureTypeAttachment:xe.setOne,setProcedureTypeAttachments:xe.setMany,updateProcedureTypeAttachment:xe.updateOne,updateProcedureTypeAttachments:xe.updateMany,deleteProcedureTypeAttachment:xe.deleteOne,deleteProcedureTypeAttachments:xe.deleteMany}}),{initializeProcedureTypeAttachments:LP,addProcedureTypeAttachment:HP,addProcedureTypeAttachments:GP,setProcedureTypeAttachment:NP,setProcedureTypeAttachments:KP,updateProcedureTypeAttachment:WP,updateProcedureTypeAttachments:XP,deleteProcedureTypeAttachment:YP,deleteProcedureTypeAttachments:ZP}=xa.actions,JP=xa.reducer,QP=t=>t.procedureTypeAttachmentReducer.instances,en=u.createSelector([QP],t=>Object.values(t)),xP=t=>e=>e.procedureTypeAttachmentReducer.instances[t],eb=y(u.createSelector([en,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Og=y(u.createSelector([en,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({procedure_type:i})=>e===i)))),et=O(({uuid:t})=>t),tb={instances:{}},tn=u.createSlice({name:"procedureTypeFieldsAttachments",initialState:tb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,tb)),reducers:{initializeProcedureTypeFieldsAttachments:et.initialize,addProcedureTypeFieldsAttachment:et.addOne,addProcedureTypeFieldsAttachments:et.addMany,setProcedureTypeFieldsAttachment:et.setOne,setProcedureTypeFieldsAttachments:et.setMany,updateProcedureTypeFieldsAttachment:et.updateOne,updateProcedureTypeFieldsAttachments:et.updateMany,deleteProcedureTypeFieldsAttachment:et.deleteOne,deleteProcedureTypeFieldsAttachments:et.deleteMany}}),{initializeProcedureTypeFieldsAttachments:sb,addProcedureTypeFieldsAttachment:ib,addProcedureTypeFieldsAttachments:ab,setProcedureTypeFieldsAttachment:nb,setProcedureTypeFieldsAttachments:cb,updateProcedureTypeFieldsAttachment:rb,updateProcedureTypeFieldsAttachments:db,deleteProcedureTypeFieldsAttachment:ub,deleteProcedureTypeFieldsAttachments:lb}=tn.actions,ob=tn.reducer,hb=t=>t.procedureTypeFieldsAttachmentReducer.instances,sn=u.createSelector([hb],t=>Object.values(t)),Pg=y(u.createSelector([sn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),pb=t=>e=>e.procedureTypeFieldsAttachmentReducer.instances[t],yb=y(u.createSelector([sn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tt=O(({uuid:t})=>t),mb={instances:{}},an=u.createSlice({name:"procedureTypeFields",initialState:mb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,mb)),reducers:{initializeProcedureTypeFields:tt.initialize,addProcedureTypeFields:tt.addOne,addProcedureTypeFieldsMany:tt.addMany,setProcedureTypeFields:tt.setOne,setProcedureTypeFieldsMany:tt.setMany,updateProcedureTypeFields:tt.updateOne,updateProcedureTypeFieldsMany:tt.updateMany,deleteProcedureTypeFields:tt.deleteOne,deleteProcedureTypeFieldsMany:tt.deleteMany}}),{initializeProcedureTypeFields:fb,addProcedureTypeFields:Sb,addProcedureTypeFieldsMany:Ab,setProcedureTypeFields:Tb,setProcedureTypeFieldsMany:Ib,updateProcedureTypeFields:Ob,updateProcedureTypeFieldsMany:Pb,deleteProcedureTypeFields:bb,deleteProcedureTypeFieldsMany:Fb}=an.actions,_b=an.reducer,Mb=t=>t.procedureTypeFieldsReducer.instances,as=u.createSelector([Mb],t=>Object.values(t)),bg=y(u.createSelector([as,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),Fg=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])),gb=t=>e=>e.procedureTypeFieldsReducer.instances[t],Rb=y(u.createSelector([as,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),st=O(({uuid:t})=>t),wb={instances:{}},nn=u.createSlice({name:"procedureFieldValuesAttachments",initialState:wb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,wb)),reducers:{initializeProcedureFieldValuesAttachments:st.initialize,addProcedureFieldValuesAttachment:st.addOne,addProcedureFieldValuesAttachments:st.addMany,setProcedureFieldValuesAttachment:st.setOne,setProcedureFieldValuesAttachments:st.setMany,updateProcedureFieldValuesAttachment:st.updateOne,updateProcedureFieldValuesAttachments:st.updateMany,deleteProcedureFieldValuesAttachment:st.deleteOne,deleteProcedureFieldValuesAttachments:st.deleteMany}}),{initializeProcedureFieldValuesAttachments:Eb,addProcedureFieldValuesAttachment:vb,addProcedureFieldValuesAttachments:cn,setProcedureFieldValuesAttachment:Vb,setProcedureFieldValuesAttachments:Bb,updateProcedureFieldValuesAttachment:zb,updateProcedureFieldValuesAttachments:jb,deleteProcedureFieldValuesAttachment:Cb,deleteProcedureFieldValuesAttachments:rn}=nn.actions,Db=nn.reducer,qb=t=>t.procedureFieldValuesAttachmentReducer.instances,dn=u.createSelector([qb],t=>Object.values(t)),$b=t=>e=>e.procedureFieldValuesAttachmentReducer.instances[t],Ub=y(u.createSelector([dn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),kb=y(u.createSelector([dn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),it=O(({uuid:t})=>t),Lb={instances:{}},un=u.createSlice({name:"procedureFieldValues",initialState:Lb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,P),e=>Object.assign(e,Lb)),reducers:{initializeProcedureFieldValues:it.initialize,addProcedureFieldValues:it.addOne,addProcedureFieldValuesMany:it.addMany,setProcedureFieldValues:it.setOne,setProcedureFieldValuesMany:it.setMany,updateProcedureFieldValues:it.updateOne,updateProcedureFieldValuesMany:it.updateMany,deleteProcedureFieldValues:it.deleteOne,deleteProcedureFieldValuesMany:it.deleteMany}}),{initializeProcedureFieldValues:Hb,addProcedureFieldValues:Gb,addProcedureFieldValuesMany:Nb,setProcedureFieldValues:Kb,setProcedureFieldValuesMany:Wb,updateProcedureFieldValues:Xb,updateProcedureFieldValuesMany:Yb,deleteProcedureFieldValues:Zb,deleteProcedureFieldValuesMany:Jb}=un.actions,Qb=un.reducer,xb=t=>t.procedureFieldValuesReducer.instances,ln=u.createSelector([xb],t=>Object.values(t)),_g=y(u.createSelector([ln,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),eF=t=>e=>e.procedureFieldValuesReducer.instances[t],tF=y(u.createSelector([ln,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),at=O(t=>t.uuid),sF={instances:{}},on=u.createSlice({name:"procedureTypes",initialState:sF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,sF)),reducers:{initializeProcedureTypes:at.initialize,addProcedureType:at.addOne,addProcedureTypes:at.addMany,setProcedureType:at.setOne,setProcedureTypes:at.setMany,updateProcedureType:at.updateOne,updateProcedureTypes:at.updateMany,deleteProcedureType:at.deleteOne,deleteProcedureTypes:at.deleteMany}}),{initializeProcedureTypes:iF,addProcedureType:aF,addProcedureTypes:nF,setProcedureType:cF,setProcedureTypes:rF,updateProcedureType:dF,updateProcedureTypes:uF,deleteProcedureType:lF,deleteProcedureTypes:oF}=on.actions,hF=on.reducer,pF=t=>t.procedureTypeReducer.instances,hn=u.createSelector([pF],t=>Object.values(t)),yF=t=>e=>e.procedureTypeReducer.instances[t],mF=y(u.createSelector([hn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Mg=y(u.createSelector([hn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),gg={isRehydrated:!1},pn=u.createSlice({name:"rehydrated",initialState:gg,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:Rg}=pn.actions,wg=t=>t.rehydratedReducer.isRehydrated,fF=pn.reducer,nt=O(t=>t.uuid),SF={instances:{}},yn=u.createSlice({name:"teamMemberships",initialState:SF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,SF)),reducers:{initializeTeamMemberships:nt.initialize,addTeamMembership:nt.addOne,addTeamMemberships:nt.addMany,setTeamMembership:nt.setOne,setTeamMemberships:nt.setMany,updateTeamMembership:nt.updateOne,updateTeamMemberships:nt.updateMany,deleteTeamMembership:nt.deleteOne,deleteTeamMemberships:nt.deleteMany}}),{initializeTeamMemberships:AF,addTeamMembership:TF,addTeamMemberships:IF,setTeamMembership:OF,setTeamMemberships:PF,updateTeamMembership:bF,updateTeamMemberships:FF,deleteTeamMembership:_F,deleteTeamMemberships:MF}=yn.actions,gF=yn.reducer,RF=t=>t.teamMembershipReducer.instances,ns=u.createSelector([RF],t=>Object.values(t)),wF=t=>e=>e.teamMembershipReducer.instances[t],EF=y(u.createSelector([ns,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Eg=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})),vg=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)))})),ct=O(t=>t.uuid),vF={instances:{}},mn=u.createSlice({name:"teams",initialState:vF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,P),e=>Object.assign(e,vF)),reducers:{initializeTeams:ct.initialize,addTeam:ct.addOne,addTeams:ct.addMany,setTeam:ct.setOne,setTeams:ct.setMany,updateTeam:ct.updateOne,updateTeams:ct.updateMany,deleteTeam:ct.deleteOne,deleteTeams:ct.deleteMany}}),{initializeTeams:VF,addTeam:BF,addTeams:zF,setTeam:jF,setTeams:CF,updateTeam:DF,updateTeams:qF,deleteTeam:$F,deleteTeams:UF}=mn.actions,kF=t=>t.teamReducer.instances,fn=u.createSelector([kF],t=>Object.values(t)),LF=t=>e=>e.teamReducer.instances[t],HF=y(u.createSelector([fn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Vg=y(u.createSelector([fn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),GF=mn.reducer,Sn={outboxReducer:WS,authReducer:Cd},Bg=u.combineReducers(Sn),NF={...Sn,assetReducer:Sc,assetAttachmentReducer:Gn,assetCommentReducer:ac,assetTypeReducer:Td,assetTypeAttachmentReducer:Ec,captureAnalysisReducer:uu,captureAnalysisItemReducer:Yd,captureReducer:Cu,captureSidecarReducer:Pu,issueReducer:my,issueAttachmentReducer:wp,issueTypeReducer:Vf,issueTypeAttachmentReducer:wy,organizationReducer:kS,projectReducer:cT,projectAttachmentReducer:IA,projectCommentReducer:zA,projectAccessReducer:aA,organizationAccessReducer:bS,projectFileReducer:YA,procedureTypeReducer:hF,procedureInitiativeReducer:IT,procedureReducer:VT,procedureTypeFieldsReducer:_b,procedureFieldValuesReducer:Qb,procedureTypeAttachmentReducer:JP,procedureTypeFieldsAttachmentReducer:ob,procedureFieldValuesAttachmentReducer:Db,procedureStepFieldsAttachmentReducer:yO,procedureStepFieldsReducer:gO,procedureStepFieldValuesAttachmentReducer:UO,procedureStepFieldValuesReducer:JO,procedureStepFieldValuesReviewReducer:pP,procedureStepAssigneeReducer:xT,procedureStepCommentReducer:pI,procedureStepDefaultAssigneeReducer:gI,procedureStepDefaultReviewerReducer:kI,procedureStepEventReducer:tO,procedureStepReviewerReducer:gP,procedureStepReducer:qP,rehydratedReducer:fF,formReducer:Zo,formRevisionReducer:Mo,formRevisionAttachmentReducer:po,formSubscriberReducer:$o,formSubmissionFieldValuesAttachmentReducer:lh,formSubmissionFieldValuesReducer:bh,formSubmissionReducer:Uh,formIdentifierReducer:ql,formIdentifierValueReducer:Ql,userReducer:lS,emailDomainsReducer:Fl,documentsReducer:rl,documentAttachmentReducer:Zu,teamReducer:GF,agentsReducer:vn,issueCommentReducer:sy,issueCommentAttachmentReducer:Hp,issueUpdateReducer:tS,geoImageReducer:ep,issueAssociationReducer:fp,issueTypeFieldsReducer:Sm,issueTypeFieldValuesReducer:im,issueTypeFieldsAttachmentReducer:Hy,issueTypeFieldValuesAttachmentReducer:Em,issueTypeIdentifierReducer:Gm,issueTypeIdentifierValueReducer:nf,issueTypePriorityReducer:Af,issueTypeStatusReducer:Nf,assetTypeFieldsReducer:ar,assetTypeFieldValuesReducer:vr,assetTypeFieldsAttachmentReducer:Gc,assetTypeFieldValuesAttachmentReducer:Sr,assetTypeIdentifierReducer:Nr,assetTypeIdentifierValueReducer:nd,assetTypeStatusReducer:Bd,teamMembershipReducer:gF},zg=u.combineReducers(NF),KF=1e4,An=[400,409,403,404,405,500],D=1e4,WF={};class XF{client;pageSize=KF;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 jg=t=>{if(t)throw t;const e=Ft();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},YF=(t,e,i)=>{const a=ft();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},ZF=(t,e,i)=>{const a=ft();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 Cg(t,e){if(!e.payload)throw new Error("Received empty payload");return T_(e)}const Dg={...Fn,effect:Cg,discard:QF,returnPromises:!0,persistCallback:jg,retry:Ug,persistOptions:{storage:b_},queue:{...Fn.queue,enqueue:YF,dequeue:ZF,peek:(...t)=>$g(...t)}},qg=P_.offline(Dg);async function JF(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 On(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,e,n,i)}function QF(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=Ft(),c=a.getState().outboxReducer.deletedRequests,d=e.payload.uuid;function r(){a.dispatch(
|
|
4
|
-
Action:`,e);const f=ft();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=ft();if(!p)throw new Error("Outbox coordinator not set");return p.registerRetry(e.payload.uuid),!1}function $g(t,e,i){return ft()?.peek()}function Ug(t,e){return Ft().dispatch(
|
|
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=Ft(),c=a.getState().outboxReducer.deletedRequests,d=e.payload.uuid;function r(){a.dispatch(NS(d));const h=ft();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&&An.includes(h)){console.warn("Discarding request due to error:",t,`
|
|
4
|
+
Action:`,e);const f=ft();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=ft();if(!p)throw new Error("Outbox coordinator not set");return p.registerRetry(e.payload.uuid),!1}function $g(t,e,i){return ft()?.peek()}function Ug(t,e){return Ft().dispatch(KS(new Date().getTime())),6e4}const kg=500,xF=["non_field_errors","detail"];function Lg(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"?xF.includes(n)?c:`${n}: ${c}`:Array.isArray(c)?xF.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>kg?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??Lg(i,a)??l.ERROR_MSG_UNEXPECTED,this.status=i?.status??0,this.response=i,this.options=e}}function dF(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 Hg(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=Hg(c);e(d)})},a.readAsArrayBuffer(t)})}const uF=async t=>{const e=await t.arrayBuffer();return new Blob([e],{type:t.type})},Gg=(t,e)=>`${t}${e?`.${e}`:""}`;function Ng(t,e){return new File([t],e,{type:t.type})}function lF(t){const e=t.name;return e.includes(".")?e.split(".").pop():""}const oF=async t=>(await fetch(t)).blob(),hF=async(t,e)=>{const i=await oF(t);return new File([i],e,{type:i.type})};function pF(t){return typeof t=="string"&&t.startsWith("blob:")}function yF(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 fF(t){if(yF(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 SF(t,e=30){const i=fF(t);if(!i)return!1;const a=Date.now(),n=i.getTime(),c=e*1e3;return a+c>=n}function Kg(t){return t.type.startsWith("image/")}class AF extends sF{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 sF{auth;constructor(e,i){super(e),this.auth=i}}class Wg 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(Fn(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(Mn(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(_n(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(bn(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[...On,"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,...b}=e;d=await this.client.files.getFilePayload(S),r=URL.createObjectURL(S),c={...b,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:b})=>{try{return b&&await this.client.files.processPresignedUrl(S.file_sha1,b),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 b of h){const _=[],F={},w=[],V=[];for(const rt of b){let zt;if("file"in rt){const{file:jt,...Tw}=rt,_t=await this.client.files.getFilePayload(jt);_t.sha1 in F||(F[_t.sha1]=_t);const RF=URL.createObjectURL(jt);p.add(RF),zt={...Tw,file_sha1:_t.sha1,file_type:_t.file_type,file_name:jt.name,file_extension:_t.extension,object_url:RF}}else zt=rt;const j=this.buildModel(zt);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(b=>{const{submittedAt:_,files:F,payloads:w,blocks:V,blockers:R}=b;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(b=>{const _=b.flatMap(F=>F.instances);this.dispatch(n(_))}).catch(b=>{throw this.dispatch(c(r.map(_=>this.getId(_)))),console.error(b),b}).finally(()=>{for(const b of p)URL.revokeObjectURL(b)});const I=Promise.all(A).then(b=>b.flatMap(({instances:_})=>_)),S=Promise.all(A).then(async b=>{const _=[];for(const{presigned_urls:F}of b){const w=this.client.files.processPresignedUrls(F);for(const[V,R]of Object.entries(w))try{await R,_.push(V)}catch(rt){throw console.error("Upload to s3 using presigned url failed.",rt),rt}}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 Xg extends v{name="Asset attachment";url="/asset-attachments";actions={addOne:En,addMany:os,setOne:vn,setMany:Vn,updateOne:Bn,updateMany:zn,deleteOne:jn,deleteMany:hs,initialize:wn};selectors={selectById:Dn,selectByIds:qn};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 Yg extends g{name="Asset Comment";url="/asset-comments";actions={addOne:Hn,addMany:Ct,setOne:Gn,setMany:Nn,updateOne:Kn,updateMany:Wn,deleteOne:Xn,deleteMany:Dt,initialize:Ln};selectors={selectById:Zn,selectByIds:Jn};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 Zg extends g{url="/assets";name="Asset";actions={addOne:ic,addMany:fs,setOne:rc,setMany:dc,updateOne:ac,updateMany:nc,deleteOne:cc,deleteMany:Ss,initialize:sc};selectors={selectById:oc,selectByIds:hc};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($n(e)),r=this.select(Qn(e)),p=this.select(Ph(e)),h=this.select(NA(e)),f=this.select(Ko(e));this.dispatch(a(e)),this.dispatch(hs(l.toUuidArray(d))),this.dispatch(Dt(l.toUuidArray(r))),this.dispatch(Tt(l.toUuidArray(p))),this.dispatch(Pt(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(Ct(r)),this.dispatch(At(p)),this.dispatch(Ot(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),b=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(b),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,b)=>l.uuidSortFn(S.uuid,b.uuid)),p=e.toSorted((S,b)=>l.uuidSortFn(S.uuid,b.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 b=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:[b].concat(_)});A.push(w),I=b}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(bh(e)),p=this.select(KA(e)),h=this.select(Wo(e));this.dispatch(a(e)),this.dispatch(Dt(l.toUuidArray(d))),this.dispatch(Tt(l.toUuidArray(r))),this.dispatch(Pt(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(Ct(d)),this.dispatch(At(r)),this.dispatch(Ot(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 Jg extends v{name="Asset Type Attachment";url="/asset-type-attachments";actions={addOne:fc,addMany:Ts,setOne:Sc,setMany:Ac,updateOne:Tc,updateMany:Ic,deleteOne:Oc,deleteMany:Is,initialize:mc};selectors={selectById:bc,selectByIds:Fc};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 Qg extends v{name="Asset Type Fields Attachment";url="/asset-type-fields-attachments";actions={addOne:wc,addMany:Ec,setOne:vc,setMany:Vc,updateOne:Bc,updateMany:zc,deleteOne:jc,deleteMany:Cc,initialize:Rc};selectors={selectById:qc,selectByIds:$c};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 xg extends g{name="Asset Type Fields";url="/asset-type-fields";actions={addOne:Hc,addMany:Gc,setOne:Nc,setMany:Kc,updateOne:Wc,updateMany:Xc,deleteOne:Yc,deleteMany:Zc,initialize:Lc};selectors={selectById:Qc,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 eR extends v{name="Asset Type Field Values Attachment";url="/asset-type-field-values-attachments";actions={addOne:ir,addMany:Ms,setOne:ar,setMany:nr,updateOne:cr,updateMany:rr,deleteOne:dr,deleteMany:gs,initialize:sr};selectors={selectById:lr,selectByIds:or};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 tR extends g{name="Asset Type Field Values";url="/asset-type-field-values";actions={addOne:fr,addMany:Sr,setOne:Ar,setMany:Tr,updateOne:Ir,updateMany:Or,deleteOne:Pr,deleteMany:br,initialize:mr};selectors={selectById:_r,selectByIds:Mr};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 b=[];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),b.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:b})}this.dispatch(c(h));const I=[];for(const S of A){const{field_values:b}=S,_=b.map(({asset:R})=>R),F=b.map(({fields_revision:R})=>R),w=b.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(hr(e));this.dispatch(i(e)),this.dispatch(gs(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(Ms(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 sR extends g{name="Asset Type Identifier";url="/asset-type-identifiers";actions={addOne:Er,addMany:vr,setOne:Vr,setMany:Br,updateOne:zr,updateMany:jr,deleteOne:Cr,deleteMany:Dr,initialize:wr};selectors={selectById:$r,selectByIds:Ur};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 iR extends g{name="Asset Type Identifier Value";url="/asset-type-identifier-values";actions={addOne:Gr,addMany:Nr,setOne:Kr,setMany:Wr,updateOne:Xr,updateMany:Yr,deleteOne:Zr,deleteMany:Jr,initialize:Hr};selectors={selectById:xr,selectByIds:ed};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 b=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:d,created_by:r});f.push(R);const rt={uuid:R.uuid,asset:R.asset,asset_type_identifier:R.asset_type_identifier,value:R.value};b.push(rt),_.push(R.asset),_.push(R.asset_type_identifier),F.push(R.uuid)}const w={payloads:b,submitted_at:d,blockers:_,blocks:F};h.push(w)}this.dispatch(a(f));const A=h.map(S=>{const{payloads:b,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:b},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 aR extends g{name="Asset Type";url="/asset-types";actions={addOne:cd,addMany:rd,setOne:ad,setMany:nd,updateOne:dd,updateMany:ud,deleteOne:ld,deleteMany:od,initialize:id};selectors={selectById:pd,selectByIds:yd};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(lc(e)),r=this.select(_c(e));this.dispatch(i(e)),this.dispatch(Ss(l.toUuidArray(d))),this.dispatch(Is(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(fs(d)),this.dispatch(Ts(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 nR extends g{name="Asset Type Status";url="/asset-type-statuses";actions={addOne:Ad,addMany:Td,setOne:Id,setMany:Od,updateOne:Pd,updateMany:bd,deleteOne:Fd,deleteMany:_d,initialize:Sd};selectors={selectById:gd,selectByIds:Rd};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 cR 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 rR 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 mt 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 dR extends mt{name="Email Domains";url="/organization-email-domains";actions={addOne:Ou,addMany:Pu,setOne:bu,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 uR 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 Bt={},mn=new Set,fn=new Set;class lR extends yt{host=void 0;dbPromise=VF.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(mn.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),mn.add(i)}async uncacheFile(e){await(await this.getDB()).delete("files",e),mn.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 Bt?r=Bt[c]:pF(e)?(r=hF(e,a),Bt[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})),Bt[c]=r);let p;try{p=await r}catch(f){throw f instanceof z&&delete Bt[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
|
|
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>kg?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??Lg(i,a)??l.ERROR_MSG_UNEXPECTED,this.status=i?.status??0,this.response=i,this.options=e}}function e_(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 Hg(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=Hg(c);e(d)})},a.readAsArrayBuffer(t)})}const t_=async t=>{const e=await t.arrayBuffer();return new Blob([e],{type:t.type})},Gg=(t,e)=>`${t}${e?`.${e}`:""}`;function Ng(t,e){return new File([t],e,{type:t.type})}function s_(t){const e=t.name;return e.includes(".")?e.split(".").pop():""}const i_=async t=>(await fetch(t)).blob(),a_=async(t,e)=>{const i=await i_(t);return new File([i],e,{type:i.type})};function n_(t){return typeof t=="string"&&t.startsWith("blob:")}function c_(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function r_(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function d_(t){if(c_(t)){const i=new URLSearchParams(t).get("Expires");if(!i)return null;const a=parseInt(i,10);return new Date(a*1e3)}if(r_(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 u_(t,e=30){const i=d_(t);if(!i)return!1;const a=Date.now(),n=i.getTime(),c=e*1e3;return a+c>=n}function Kg(t){return t.type.startsWith("image/")}class l_ extends XF{constructor(e){super(e)}applyAuth(e){const i=this.getAuthHeader();return i?e.set("Authorization",i):e}isAuthFailure(e){return e.status===401}}class mt extends XF{auth;constructor(e,i){super(e),this.auth=i}}class Wg extends mt{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(Rn(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(En(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(wn(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(gn(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[..._n,"created_by"])i in e&&delete e[i];return e}class g extends mt{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,...b}=e;d=await this.client.files.getFilePayload(S),r=URL.createObjectURL(S),c={...b,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:b})=>{try{return b&&await this.client.files.processPresignedUrl(S.file_sha1,b),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 b of h){const _=[],F={},w=[],V=[];for(const dt of b){let zt;if("file"in dt){const{file:jt,...bw}=dt,_t=await this.client.files.getFilePayload(jt);_t.sha1 in F||(F[_t.sha1]=_t);const I_=URL.createObjectURL(jt);p.add(I_),zt={...bw,file_sha1:_t.sha1,file_type:_t.file_type,file_name:jt.name,file_extension:_t.extension,object_url:I_}}else zt=dt;const j=this.buildModel(zt);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(b=>{const{submittedAt:_,files:F,payloads:w,blocks:V,blockers:R}=b;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(b=>{const _=b.flatMap(F=>F.instances);this.dispatch(n(_))}).catch(b=>{throw this.dispatch(c(r.map(_=>this.getId(_)))),console.error(b),b}).finally(()=>{for(const b of p)URL.revokeObjectURL(b)});const I=Promise.all(A).then(b=>b.flatMap(({instances:_})=>_)),S=Promise.all(A).then(async b=>{const _=[];for(const{presigned_urls:F}of b){const w=this.client.files.processPresignedUrls(F);for(const[V,R]of Object.entries(w))try{await R,_.push(V)}catch(dt){throw console.error("Upload to s3 using presigned url failed.",dt),dt}}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 Xg extends v{name="Asset attachment";url="/asset-attachments";actions={addOne:zn,addMany:os,setOne:jn,setMany:Cn,updateOne:Dn,updateMany:qn,deleteOne:$n,deleteMany:hs,initialize:Bn};selectors={selectById:kn,selectByIds:Ln};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 Yg extends g{name="Asset Comment";url="/asset-comments";actions={addOne:Wn,addMany:Ct,setOne:Xn,setMany:Yn,updateOne:Zn,updateMany:Jn,deleteOne:Qn,deleteMany:Dt,initialize:Kn};selectors={selectById:ec,selectByIds:tc};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 Zg extends g{url="/assets";name="Asset";actions={addOne:rc,addMany:fs,setOne:oc,setMany:hc,updateOne:dc,updateMany:uc,deleteOne:lc,deleteMany:Ss,initialize:cc};selectors={selectById:mc,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(Hn(e)),r=this.select(sc(e)),p=this.select(yp(e)),h=this.select(DT(e)),f=this.select(qh(e));this.dispatch(a(e)),this.dispatch(hs(l.toUuidArray(d))),this.dispatch(Dt(l.toUuidArray(r))),this.dispatch(Tt(l.toUuidArray(p))),this.dispatch(Pt(l.toUuidArray(h))),this.dispatch(ot(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(Ct(r)),this.dispatch(At(p)),this.dispatch(Ot(h)),this.dispatch(lt(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:ut.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),b=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(b),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,b)=>l.uuidSortFn(S.uuid,b.uuid)),p=e.toSorted((S,b)=>l.uuidSortFn(S.uuid,b.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 b=ut.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:[b].concat(_)});A.push(w),I=b}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(ic(e)),r=this.select(mp(e)),p=this.select(qT(e)),h=this.select($h(e));this.dispatch(a(e)),this.dispatch(Dt(l.toUuidArray(d))),this.dispatch(Tt(l.toUuidArray(r))),this.dispatch(Pt(l.toUuidArray(p))),this.dispatch(ot(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(Ct(d)),this.dispatch(At(r)),this.dispatch(Ot(p)),this.dispatch(lt(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 Jg extends v{name="Asset Type Attachment";url="/asset-type-attachments";actions={addOne:Ic,addMany:Ts,setOne:Oc,setMany:Pc,updateOne:bc,updateMany:Fc,deleteOne:_c,deleteMany:Is,initialize:Tc};selectors={selectById:gc,selectByIds:Rc};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 Qg extends v{name="Asset Type Fields Attachment";url="/asset-type-fields-attachments";actions={addOne:Bc,addMany:zc,setOne:jc,setMany:Cc,updateOne:Dc,updateMany:qc,deleteOne:$c,deleteMany:Uc,initialize:Vc};selectors={selectById:Lc,selectByIds:Hc};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 xg extends g{name="Asset Type Fields";url="/asset-type-fields";actions={addOne:Wc,addMany:Xc,setOne:Yc,setMany:Zc,updateOne:Jc,updateMany:Qc,deleteOne:xc,deleteMany:er,initialize:Kc};selectors={selectById:sr,selectByIds:ir};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 eR extends v{name="Asset Type Field Values Attachment";url="/asset-type-field-values-attachments";actions={addOne:rr,addMany:Ms,setOne:dr,setMany:ur,updateOne:lr,updateMany:or,deleteOne:hr,deleteMany:gs,initialize:cr};selectors={selectById:yr,selectByIds:mr};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 tR extends g{name="Asset Type Field Values";url="/asset-type-field-values";actions={addOne:Ir,addMany:Or,setOne:Pr,setMany:br,updateOne:Fr,updateMany:_r,deleteOne:Mr,deleteMany:gr,initialize:Tr};selectors={selectById:wr,selectByIds:Er};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 b=[];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),b.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:b})}this.dispatch(c(h));const I=[];for(const S of A){const{field_values:b}=S,_=b.map(({asset:R})=>R),F=b.map(({fields_revision:R})=>R),w=b.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(gs(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(Ms(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 sR extends g{name="Asset Type Identifier";url="/asset-type-identifiers";actions={addOne:zr,addMany:jr,setOne:Cr,setMany:Dr,updateOne:qr,updateMany:$r,deleteOne:Ur,deleteMany:kr,initialize:Br};selectors={selectById:Hr,selectByIds:Gr};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 iR extends g{name="Asset Type Identifier Value";url="/asset-type-identifier-values";actions={addOne:Xr,addMany:Yr,setOne:Zr,setMany:Jr,updateOne:Qr,updateMany:xr,deleteOne:ed,deleteMany:td,initialize:Wr};selectors={selectById:id,selectByIds:ad};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 b=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:d,created_by:r});f.push(R);const dt={uuid:R.uuid,asset:R.asset,asset_type_identifier:R.asset_type_identifier,value:R.value};b.push(dt),_.push(R.asset),_.push(R.asset_type_identifier),F.push(R.uuid)}const w={payloads:b,submitted_at:d,blockers:_,blocks:F};h.push(w)}this.dispatch(a(f));const A=h.map(S=>{const{payloads:b,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:b},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 aR extends g{name="Asset Type";url="/asset-types";actions={addOne:ld,addMany:od,setOne:dd,setMany:ud,updateOne:hd,updateMany:pd,deleteOne:yd,deleteMany:md,initialize:rd};selectors={selectById:Sd,selectByIds:Ad};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(yc(e)),r=this.select(wc(e));this.dispatch(i(e)),this.dispatch(Ss(l.toUuidArray(d))),this.dispatch(Is(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(fs(d)),this.dispatch(Ts(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 nR extends g{name="Asset Type Status";url="/asset-type-statuses";actions={addOne:Pd,addMany:bd,setOne:Fd,setMany:_d,updateOne:Md,updateMany:gd,deleteOne:Rd,deleteMany:wd,initialize:Od};selectors={selectById:vd,selectByIds:Vd};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 cR extends v{name="Document Attachment";url="/document-attachments";actions={addOne:$u,addMany:Uu,setOne:ku,setMany:Lu,updateOne:Hu,updateMany:Gu,deleteOne:Nu,deleteMany:Ku,initialize:qu};selectors={selectById:Xu,selectByIds:Yu};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 rR extends g{name="Document";url="/documents";actions={addOne:xu,addMany:el,setOne:tl,setMany:sl,updateOne:il,updateMany:al,deleteOne:nl,deleteMany:cl,initialize:Qu};selectors={selectById:dl,selectByIds:ul};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(ll(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 mt{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 dR extends rt{name="Email Domains";url="/organization-email-domains";actions={addOne:pl,addMany:yl,setOne:ml,setMany:fl,updateOne:Sl,updateMany:Al,deleteOne:Tl,deleteMany:Il,initialize:hl};selectors={selectById:Pl,selectByIds:bl};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 uR extends mt{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 Bt={},Tn=new Set,In=new Set;class lR extends mt{host=void 0;dbPromise=F_.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(Tn.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),Tn.add(i)}async uncacheFile(e){await(await this.getDB()).delete("files",e),Tn.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 Bt?r=Bt[c]:n_(e)?(r=a_(e,a),Bt[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})),Bt[c]=r);let p;try{p=await r}catch(f){throw f instanceof z&&delete Bt[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 cs(e),file_type:e.type,extension:lF(e),size:e.size};return await this.client.files.cacheFile(e),a}async cachePresignedUrl(e,i){if(fn.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),fn.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),fn.delete(e)}async getPresignedUrlFromCache(e){const i=await(await this.getDB()).get("presignedUrls",e);if(!i)return;if(SF(i)){await this.uncachePresignedUrl(e);return}return i}}class oR 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 hR 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 pR 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 yR extends g{name="Form Revision";url="/form-revisions";actions={addOne:bl,addMany:si,setOne:Fl,setMany:_l,updateOne:Ml,updateMany:gl,deleteOne:Rl,deleteMany:ii,initialize:Pl};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 mR 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(Ho(e)),r=this.select(Vl(e)),p=this.select(Nl(e));this.dispatch(i(e)),this.dispatch(lt(l.toUuidArray(d))),this.dispatch(ii(l.toUuidArray(r))),this.dispatch(ci(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(si(r)),this.dispatch(ut(d)),this.dispatch(ni(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 fR extends g{name="Form Subscriber";url="/form-subscribers";actions={addOne:Cl,addMany:ni,setOne:Dl,setMany:ql,updateOne:$l,updateMany:Ul,deleteOne:kl,deleteMany:ci,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 SR extends v{name="Form Submission Field Values Attachment";url="/form-submission-field-values-attachments";actions={addOne:lo,addMany:li,setOne:oo,setMany:ho,updateOne:po,updateMany:yo,deleteOne:mo,deleteMany:oi,initialize:uo};selectors={selectById:fo,selectByIds:yi};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(yi(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 AR extends g{name="Form Submission Field Values";url="/form-submission-field-values";actions={addOne:Oo,addMany:fi,setOne:Po,setMany:bo,updateOne:Fo,updateMany:_o,deleteOne:Mo,deleteMany:Si,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 TR extends g{name="Form Submission";url="/form-submissions";actions={addOne:Co,addMany:ut,setOne:zo,setMany:jo,updateOne:Do,updateMany:qo,deleteOne:$o,deleteMany:lt,initialize:Bo};selectors={selectById:ko,selectByIds:Lo};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:p})=>this.select(So(p)));this.dispatch(i(e)),this.dispatch(Si(l.toUuidArray(d))),this.dispatch(oi(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(fi(d)),this.dispatch(li(r)),p}}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 IR extends v{name="Geo Image";url="/geo-images";actions={addOne:xo,addMany:eh,setOne:Jo,setMany:Qo,updateOne:th,updateMany:sh,deleteOne:ih,deleteMany:ah,initialize:Zo};selectors={selectById:ch,selectByIds:rh};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 OR extends g{name="Issue Association";url="/issue-associations";actions={addOne:mh,addMany:At,setOne:hh,setMany:oh,updateOne:ph,updateMany:yh,deleteOne:fh,deleteMany:Tt,initialize:lh};selectors={selectById:Ah,selectByIds:Th};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 PR extends v{name="Issue Attachment";url="/issue-attachments";actions={addOne:gh,addMany:Fi,setOne:Rh,setMany:wh,updateOne:Eh,updateMany:vh,deleteOne:Vh,deleteMany:_i,initialize:Mh};selectors={selectById:jh,selectByIds:Ch};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 bR extends v{name="Issue Comment Attachment";url="/issue-comment-attachments";actions={addOne:Uh,addMany:kh,setOne:Lh,setMany:Hh,updateOne:Gh,updateMany:Nh,deleteOne:Kh,deleteMany:Wh,initialize:$h};selectors={selectById:Yh,selectByIds:Zh};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 FR extends g{name="Issue Comment";url="/issue-comments";actions={addOne:ep,addMany:tp,setOne:sp,setMany:ip,updateOne:ap,updateMany:np,deleteOne:cp,deleteMany:rp,initialize:xh};selectors={selectById:dp,selectByIds:up};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 _R extends g{name="Issue";url="/issues";actions={addOne:pp,addMany:Vi,setOne:yp,setMany:mp,updateOne:fp,updateMany:Sp,deleteOne:Ap,deleteMany:Bi,initialize:hp};selectors={selectById:Ip,selectByIds:Op};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(Yi(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(ea(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(sa(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(aa(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,b)=>l.uuidSortFn(S.uuid,b.uuid)),p=e.toSorted((S,b)=>l.uuidSortFn(S.uuid,b.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 b=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:[b].concat(_)});A.push(V),I=b}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(Oh(e)),r=this.select(zh(e)),p=this.select(df(e)),h=this.select(Go(e));this.dispatch(i(e)),this.dispatch(_i(l.toUuidArray(r))),this.dispatch(na(l.toUuidArray(p))),this.dispatch(Tt(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(Fi(r)),this.dispatch(ia(p)),this.dispatch(At(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(Ih(e)),r=this.select(No(e));this.dispatch(a(e)),this.dispatch(Tt(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(At(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 MR extends v{name="Issue Type Attachment";url="/issue-type-attachments";actions={addOne:Mp,addMany:gp,setOne:Rp,setMany:wp,updateOne:Ep,updateMany:vp,deleteOne:Vp,deleteMany:Bp,initialize:_p};selectors={selectById:jp,selectByIds:Cp};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 gR extends v{name="Issue Type Fields Attachment";url="/issue-type-fields-attachments";actions={addOne:Up,addMany:kp,setOne:Lp,setMany:Hp,updateOne:Gp,updateMany:Np,deleteOne:Kp,deleteMany:Wp,initialize:$p};selectors={selectById:Yp,selectByIds:Zp};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 RR extends g{name="Issue Type Fields";url="/issue-type-fields";actions={addOne:yy,addMany:my,setOne:fy,setMany:Sy,updateOne:Ay,updateMany:Ty,deleteOne:Iy,deleteMany:Oy,initialize:py};selectors={selectById:by,selectByIds:Fy};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 wR extends v{name="Issue Type Field Values Attachment";url="/issue-type-field-values-attachments";actions={addOne:Ry,addMany:ki,setOne:wy,setMany:Ey,updateOne:vy,updateMany:Vy,deleteOne:By,deleteMany:Li,initialize:gy};selectors={selectById:jy,selectByIds:Cy};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 ER extends g{name="Issue Type Field Values";url="/issue-type-field-values";actions={addOne:ey,addMany:ty,setOne:sy,setMany:iy,updateOne:ay,updateMany:ny,deleteOne:cy,deleteMany:ry,initialize:xp};selectors={selectById:uy,selectByIds:ly};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(Dy(e));this.dispatch(i(e)),this.dispatch(Li(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(ki(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 vR extends g{name="Issue Type Identifier";url="/issue-type-identifiers";actions={addOne:ky,addMany:Ly,setOne:Hy,setMany:Gy,updateOne:Ny,updateMany:Ky,deleteOne:Wy,deleteMany:Xy,initialize:Uy};selectors={selectById:Zy,selectByIds:Jy};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 VR extends g{name="Issue Type Identifier Value";url="/issue-type-identifier-values";actions={addOne:tm,addMany:sm,setOne:im,setMany:am,updateOne:nm,updateMany:cm,deleteOne:rm,deleteMany:dm,initialize:em};selectors={selectById:lm,selectByIds:om};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 BR extends g{name="Issue Type Priority";url="/issue-type-priorities";actions={addOne:mm,addMany:fm,setOne:Sm,setMany:Am,updateOne:Tm,updateMany:Im,deleteOne:Om,deleteMany:Pm,initialize:ym};selectors={selectById:Yi,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_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 zR extends g{name="Issue Type";url="/issue-types";actions={addOne:Rm,addMany:wm,setOne:Em,setMany:vm,updateOne:Vm,updateMany:Bm,deleteOne:zm,deleteMany:jm,initialize:gm};selectors={selectById:Dm,selectByIds:qm};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(Pp(e));this.dispatch(a(e)),this.dispatch(Bi(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(Vi(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 jR extends g{name="Issue Type Status";url="/issue-type-statuses";actions={addOne:Lm,addMany:Hm,setOne:Gm,setMany:Nm,updateOne:Km,updateMany:Wm,deleteOne:Xm,deleteMany:Ym,initialize:km};selectors={selectById:ea,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,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 CR extends g{name="Issue Update";url="/issue-updates";actions={addOne:sa,addMany:ia,setOne:tf,setMany:sf,updateOne:af,updateMany:nf,deleteOne:aa,deleteMany:na,initialize:ef};selectors={selectById:cf,selectByIds:rf};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 DR=1800;function qR(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 $R extends AF{_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(vd(!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=BF(e).exp??i}catch{a=i}return a-i<DR}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(qR(a))})}}class UR extends mt{name="Organization Access";url="/organization-accesses";actions={addOne:bf,addMany:Ff,setOne:_f,setMany:Mf,updateOne:gf,updateMany:Rf,deleteOne:wf,deleteMany:Ef,initialize:Pf};selectors={selectById:Vf,selectByIds:Bf};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(la(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(ua(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 kR extends mt{name="Organization";url="/organizations";actions={addOne:Uf,addMany:$f,setOne:qf,setMany:Df,updateOne:Lf,updateMany:kf,deleteOne:Hf,deleteMany:Gf,initialize:Cf};selectors={selectById:Wf,selectByIds:Xf};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 LR extends g{name="Project Access";url="/project-accesses";actions={addOne:aS,addMany:nS,setOne:cS,setMany:rS,updateOne:dS,updateMany:uS,deleteOne:lS,deleteMany:oS,initialize:iS};selectors={selectById:pS,selectByIds:yS};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 HR extends v{name="Project Attachment";url="/project-attachments";actions={addOne:SS,addMany:AS,setOne:TS,setMany:IS,updateOne:OS,updateMany:PS,deleteOne:bS,deleteMany:FS,initialize:fS};selectors={selectById:MS,selectByIds:gS};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 GR extends g{name="Project Comment";url="/project-comments";actions={addOne:vS,addMany:VS,setOne:BS,setMany:zS,updateOne:jS,updateMany:CS,deleteOne:DS,deleteMany:qS,initialize:ES};selectors={selectById:US,selectByIds:kS};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 NR extends v{name="Project File";url="/project-files";actions={addOne:WS,addMany:XS,setOne:NS,setMany:KS,updateOne:YS,updateMany:ZS,deleteOne:JS,deleteMany:QS,initialize:GS};selectors={selectById:tA,selectByIds:sA};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 KR extends mt{name="Project";url="/projects";actions={addOne:uA,addMany:dA,setOne:rA,setMany:cA,updateOne:oA,updateMany:lA,deleteOne:hA,deleteMany:pA,initialize:nA};selectors={selectById:fA,selectByIds:SA};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 WR extends g{name="Procedure";url="/procedures";actions={addOne:zA,addMany:Ot,setOne:jA,setMany:CA,updateOne:DA,updateMany:qA,deleteOne:$A,deleteMany:Pt,initialize:BA};selectors={selectById:LA,selectByIds:HA};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 b=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:r,created_by:p});h.push(R),b.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:b},blockers:_,blocks:F};A.push(w)}this.dispatch(n(h));const I=A.map(S=>{const{payload:b,blocks:_,blockers:F}=S;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,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 XR extends g{name="Procedure Step Assignee";url="/procedure-step-assignees";actions={addOne:ZA,addMany:JA,setOne:QA,setMany:xA,updateOne:eT,updateMany:tT,deleteOne:sT,deleteMany:iT,initialize:YA};selectors={selectById:nT,selectByIds:cT};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 YR extends g{name="Procedure Step Comment";url="/procedure-step-comments";actions={addOne:lT,addMany:oT,setOne:hT,setMany:pT,updateOne:yT,updateMany:mT,deleteOne:fT,deleteMany:ST,initialize:uT};selectors={selectById:TT,selectByIds:IT};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 ZR extends g{name="Procedure Step Default Assignee";url="/procedure-step-default-assignees";actions={addOne:FT,addMany:_T,setOne:MT,setMany:gT,updateOne:RT,updateMany:wT,deleteOne:ET,deleteMany:vT,initialize:bT};selectors={selectById:BT,selectByIds:zT};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 JR extends g{name="Procedure Step Default Reviewer";url="/procedure-step-default-reviewers";actions={addOne:qT,addMany:$T,setOne:UT,setMany:kT,updateOne:LT,updateMany:HT,deleteOne:GT,deleteMany:NT,initialize:DT};selectors={selectById:WT,selectByIds:XT};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 QR extends mt{name="Procedure Step Event";url="/procedure-step-events";actions={addOne:QT,addMany:xT,setOne:eI,setMany:tI,updateOne:sI,updateMany:iI,deleteOne:aI,deleteMany:nI,initialize:JT};selectors={selectById:rI,selectByIds:dI};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 xR extends v{name="Procedure Step Fields Attachment";url="/procedure-step-fields-attachments";actions={addOne:hI,addMany:Va,setOne:pI,setMany:yI,updateOne:mI,updateMany:fI,deleteOne:SI,deleteMany:Ba,initialize:oI};selectors={selectById:II,selectByIds:OI};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 ew extends g{name="Procedure Step Fields";url="/procedure-step-fields";actions={addOne:_I,addMany:MI,setOne:gI,setMany:RI,updateOne:wI,updateMany:EI,deleteOne:vI,deleteMany:VI,initialize:FI};selectors={selectById:BI,selectByIds:zI};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 fields with uuid ${e} to exist`);const d=this.select(TI(e));this.dispatch(i(e)),this.dispatch(Ba(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(Va(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 tw extends v{name="Procedure Step Field Values Attachment";url="/procedure-step-field-values-attachments";actions={addOne:qI,addMany:qa,setOne:$I,setMany:UI,updateOne:kI,updateMany:LI,deleteOne:HI,deleteMany:$a,initialize:DI};selectors={selectById:NI,selectByIds:KI};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 sw extends g{name="Procedure Step Field Values Review";url="/procedure-step-field-values-reviews";actions={addOne:oO,addMany:Ha,setOne:hO,setMany:pO,updateOne:yO,updateMany:mO,deleteOne:fO,deleteMany:Ga,initialize:lO};selectors={selectById:AO,selectByIds:TO};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 iw extends g{name="Procedure Step Field Values";url="/procedure-step-field-values";actions={addOne:JI,addMany:QI,setOne:xI,setMany:eO,updateOne:tO,updateMany:sO,deleteOne:iO,deleteMany:aO,initialize:ZI};selectors={selectById:rO,selectByIds:dO};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=[],b=[],_=[];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)),b.push(w.procedure_step,w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:b,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:b,blockers:_}=I;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:b})});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(WI(e)),r=this.select(IO(e));this.dispatch(i(e)),this.dispatch($a(l.toUuidArray(d))),this.dispatch(Ga(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(qa(d)),this.dispatch(Ha(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 aw extends g{name="Procedure Step Reviewer";url="/procedure-step-reviewers";actions={addOne:FO,addMany:_O,setOne:MO,setMany:gO,updateOne:RO,updateMany:wO,deleteOne:EO,deleteMany:vO,initialize:bO};selectors={selectById:BO,selectByIds:zO};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 nw extends g{name="Procedure Initiative";url="/procedure-initiatives";actions={addOne:IA,addMany:OA,setOne:PA,setMany:bA,updateOne:FA,updateMany:_A,deleteOne:MA,deleteMany:gA,initialize:TA};selectors={selectById:EA,selectByIds:vA};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(WA(e));this.dispatch(i(e)),this.dispatch(Pt(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(Ot(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 cw extends g{name="Procedure Step";url="/procedure-steps";actions={addOne:UO,addMany:kO,setOne:qO,setMany:$O,updateOne:LO,updateMany:HO,deleteOne:GO,deleteMany:NO,initialize:DO};selectors={selectById:WO,selectByIds:XO};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,b)=>l.uuidSortFn(S.uuid,b.uuid)),p=e.toSorted((S,b)=>l.uuidSortFn(S.uuid,b.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 b=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:[b].concat(_)});A.push(F),I=b}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 rw extends v{name="Procedure Type Attachment";url="/procedure-type-attachments";actions={addOne:JO,addMany:QO,setOne:xO,setMany:eP,updateOne:tP,updateMany:sP,deleteOne:iP,deleteMany:aP,initialize:ZO};selectors={selectById:rP,selectByIds:dP};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 dw extends v{name="Procedure Type Fields Attachment";url="/procedure-type-fields-attachments";actions={addOne:oP,addMany:hP,setOne:pP,setMany:yP,updateOne:mP,updateMany:fP,deleteOne:SP,deleteMany:AP,initialize:lP};selectors={selectById:OP,selectByIds:PP};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 uw extends g{name="Procedure Type Fields";url="/procedure-type-fields";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=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 lw extends v{name="Procedure Field Values Attachment";url="/procedure-field-values-attachments";actions={addOne:$P,addMany:tn,setOne:UP,setMany:kP,updateOne:LP,updateMany:HP,deleteOne:GP,deleteMany:sn,initialize:qP};selectors={selectById:WP,selectByIds:XP};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 ow extends g{name="Procedure Field Values";url="/procedure-field-values";actions={addOne:QP,addMany:xP,setOne:eb,setMany:tb,updateOne:sb,updateMany:ib,deleteOne:ab,deleteMany:nb,initialize:JP};selectors={selectById:db,selectByIds:ub};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=[],b=[],_=[];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)),b.push(w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:b,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:b,blockers:_}=I;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:b})});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(YP(e));this.dispatch(i(e)),this.dispatch(sn(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(tn(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 hw extends g{name="Procedure Type";url="/procedure-types";actions={addOne:hb,addMany:pb,setOne:yb,setMany:mb,updateOne:fb,updateMany:Sb,deleteOne:Ab,deleteMany:Tb,initialize:ob};selectors={selectById:Pb,selectByIds:bb};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(GA(e));this.dispatch(i(e)),this.dispatch(Pt(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(Ot(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 pw extends g{name="Team Membership";url="/team-memberships";actions={addOne:gb,addMany:Rb,setOne:wb,setMany:Eb,updateOne:vb,updateMany:Vb,deleteOne:Bb,deleteMany:zb,initialize:Mb};selectors={selectById:Db,selectByIds:qb};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 yw extends g{name="Team";url="/teams";actions={addOne:kb,addMany:Lb,setOne:Hb,setMany:Gb,updateOne:Nb,updateMany:Kb,deleteOne:Wb,deleteMany:Xb,initialize:Ub};selectors={selectById:Zb,selectByIds:Jb};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 mw extends mt{name="User";url="/user";actions={addOne:ua,addMany:yf,setOne:pf,setMany:hf,updateOne:ff,updateMany:mf,deleteOne:la,deleteMany:Sf,initialize:of};selectors={selectById:Qt,selectByIds:If};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 Sn(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:b,isResponseBlob:_}={...d,...e};let F=e.url;const w=I?await i.files.getFileFromCache(I):void 0,V=w?await uF(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)},zt={[o.GET]:()=>_?St.get(F.toString()).responseType("blob"):St.get(F.toString()),[o.POST]:()=>{const B=St.post(F.toString());return R(B)},[o.PATCH]:()=>{const B=St.patch(F.toString());return R(B)},[o.PUT]:()=>{const B=St.put(F.toString());return R(B)},[o.DELETE]:()=>{const B=St.delete(F.toString());return R(B)}}[f];let j=zt();const rs=()=>{console.debug("aborting request:",e.url),j.abort()};n?.addEventListener("abort",rs),b&&c&&(j=a.auth.applyAuth(j)),h&&(j=j.set(h));try{return await j.query(A)}catch(B){const q=dF(B),jt=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:yn.includes(jt)})}finally{n?.removeEventListener("abort",rs)}}class fw{store;constructor(e){this.store=e}_performRequest(e,i,a,n){const c=new l.DeferredPromise,d={...i,uuid:i.uuid??dt.v4()};return Sn(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(Qf(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 zF.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 TF;function IF(t){TF=t}function Ft(){return TF}let OF;function PF(t){OF=t}function bF(){return OF}let An=null;function ft(){const t=Ft();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(An)return An;const e=t.getState().offline.outbox,i=bt._fromOutbox(e);return An=i,i}const Sw=(t,e)=>{const i=new e(t);return PF(i),IF(t),i};class Aw{_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 Tn{next;constructor(){this.next=null}then(e){return new Aw(this).then(e)}async run(e){if(this.next)return this.next.run(e);{if(console.debug("Middleware finished. Performing request:",e.payload.url),!Ft())throw new Error("Client store not set");const a=bF();if(!a)throw new Error("Client SDK not set");return nF(e,a)}}}class FF extends Tn{async run(e){return super.run(e)}}class _F extends Tn{async run(e){return super.run(e)}}const MF=new FF().then(new _F).compile();function gF(t){return MF[0]?.run(t)}s.ALL_MIDDLEWARE=MF,s.APIError=z,s.AgentService=Wg,s.AssetAttachmentService=Xg,s.AssetCommentService=Yg,s.AssetService=Zg,s.AssetTypeAttachmentService=Jg,s.AssetTypeFieldValuesAttachmentService=eR,s.AssetTypeFieldValuesService=tR,s.AssetTypeFieldsAttachmentService=Qg,s.AssetTypeFieldsService=xg,s.AssetTypeIdentifierService=sR,s.AssetTypeIdentifierValueService=iR,s.AssetTypeService=aR,s.AssetTypeStatusService=nR,s.BaseApiService=yt,s.BaseAuthService=AF,s.BaseModelApiService=mt,s.BaseOfflineFileModelApiService=v,s.BaseOfflineModelApiService=g,s.BaseSDK=fw,s.COMMON_AUTO_FIELDS=On,s.DEFAULT_PAGE_SIZE=eF,s.DISCARD_HTTP_STATUSES=yn,s.DocumentAttachmentService=cR,s.DocumentService=rR,s.EmailDomainsService=dR,s.EmailVerificationService=uR,s.FileService=lR,s.FormIdentifierService=oR,s.FormIdentifierValueService=hR,s.FormRevisionAttachmentService=pR,s.FormRevisionService=yR,s.FormService=mR,s.FormSubmissionFieldValuesAttachmentService=SR,s.FormSubmissionFieldValuesService=AR,s.FormSubmissionService=TR,s.FormSubscriberService=fR,s.GeoImageService=IR,s.HttpMethod=o,s.IssueAssociationService=OR,s.IssueAttachmentService=PR,s.IssueCommentAttachmentService=bR,s.IssueCommentService=FR,s.IssueService=_R,s.IssueTypeAttachmentService=MR,s.IssueTypeFieldValuesAttachmentService=wR,s.IssueTypeFieldValuesService=ER,s.IssueTypeFieldsAttachmentService=gR,s.IssueTypeFieldsService=RR,s.IssueTypeIdentifierService=vR,s.IssueTypeIdentifierValueService=VR,s.IssueTypePriorityService=BR,s.IssueTypeService=zR,s.IssueTypeStatusService=jR,s.IssueUpdateService=CR,s.JWTService=$R,s.MAX_SERVICE_BATCH_SIZE=D,s.OUTBOX_RETRY_DELAY=6e4,s.OfflineAnalyticsMiddleware=FF,s.OfflineMiddleware=Tn,s.OrganizationAccessService=UR,s.OrganizationService=kR,s.OutboxCoordinator=bt,s.ProcdureInitiativeService=nw,s.ProcedureFieldValuesAttachmentService=lw,s.ProcedureFieldValuesService=ow,s.ProcedureService=WR,s.ProcedureStepAssigneeService=XR,s.ProcedureStepCommentService=YR,s.ProcedureStepDefaultAssigneeService=ZR,s.ProcedureStepDefaultReviewerService=JR,s.ProcedureStepEventService=QR,s.ProcedureStepFieldValuesAttachmentService=tw,s.ProcedureStepFieldValuesReviewService=sw,s.ProcedureStepFieldValuesService=iw,s.ProcedureStepFieldsAttachmentService=xR,s.ProcedureStepFieldsService=ew,s.ProcedureStepReviewerService=aw,s.ProcedureStepService=cw,s.ProcedureTypeAttachmentService=rw,s.ProcedureTypeFieldsAttachmentService=dw,s.ProcedureTypeFieldsService=uw,s.ProcedureTypeService=hw,s.ProjectAccessService=LR,s.ProjectAttachmentService=HR,s.ProjectCommentService=GR,s.ProjectFileService=NR,s.ProjectService=KR,s.RESET_ORGANIZATION_STATE=P,s.RESET_PROJECT_STATE=E,s.RESET_STATE=T,s.RateLimitingMiddleware=_F,s.SelectorBuilder=DF,s.TeamMembershipService=pw,s.TeamService=yw,s.UserService=mw,s._setLatestRetryTime=eS,s.addAsset=ic,s.addAssetAttachment=En,s.addAssetAttachments=os,s.addAssetComment=Hn,s.addAssetComments=Ct,s.addAssetType=cd,s.addAssetTypeAttachment=fc,s.addAssetTypeAttachments=Ts,s.addAssetTypeFieldValues=fr,s.addAssetTypeFieldValuesAttachment=ir,s.addAssetTypeFieldValuesAttachments=Ms,s.addAssetTypeFieldValuesMany=Sr,s.addAssetTypeFields=Hc,s.addAssetTypeFieldsAttachment=wc,s.addAssetTypeFieldsAttachments=Ec,s.addAssetTypeFieldsMany=Gc,s.addAssetTypeIdentifier=Er,s.addAssetTypeIdentifierValue=Gr,s.addAssetTypeIdentifierValues=Nr,s.addAssetTypeIdentifiers=vr,s.addAssetTypeStatus=Ad,s.addAssetTypeStatuses=Td,s.addAssetTypes=rd,s.addAssets=fs,s.addCapture=H_,s.addCaptureAnalyses=I_,s.addCaptureAnalysis=T_,s.addCaptureAnalysisItem=r_,s.addCaptureAnalysisItems=d_,s.addCaptureSidecar=v_,s.addCaptureSidecars=V_,s.addCaptures=G_,s.addConversation=Fn,s.addConversations=qF,s.addDocument=ru,s.addDocumentAttachment=Wd,s.addDocumentAttachments=Xd,s.addDocuments=du,s.addEmailDomain=Ou,s.addEmailDomains=Pu,s.addForm=Yl,s.addFormIdentifier=ju,s.addFormIdentifierValue=Yu,s.addFormIdentifierValues=Zu,s.addFormIdentifiers=Cu,s.addFormRevision=bl,s.addFormRevisionAttachment=ul,s.addFormRevisionAttachments=ll,s.addFormRevisions=si,s.addFormSubmission=Co,s.addFormSubmissionFieldValues=Oo,s.addFormSubmissionFieldValuesAttachment=lo,s.addFormSubmissionFieldValuesAttachments=li,s.addFormSubmissionFieldValuesMany=fi,s.addFormSubmissions=ut,s.addFormSubscriber=Cl,s.addFormSubscribers=ni,s.addForms=Zl,s.addGeoImage=xo,s.addGeoImages=eh,s.addIssue=pp,s.addIssueAssociation=mh,s.addIssueAssociations=At,s.addIssueAttachment=gh,s.addIssueAttachments=Fi,s.addIssueComment=ep,s.addIssueCommentAttachment=Uh,s.addIssueCommentAttachments=kh,s.addIssueComments=tp,s.addIssueType=Rm,s.addIssueTypeAttachment=Mp,s.addIssueTypeAttachments=gp,s.addIssueTypeFieldValues=ey,s.addIssueTypeFieldValuesAttachment=Ry,s.addIssueTypeFieldValuesAttachments=ki,s.addIssueTypeFieldValuesMany=ty,s.addIssueTypeFields=yy,s.addIssueTypeFieldsAttachment=Up,s.addIssueTypeFieldsAttachments=kp,s.addIssueTypeFieldsMany=my,s.addIssueTypeIdentifier=ky,s.addIssueTypeIdentifierValue=tm,s.addIssueTypeIdentifierValues=sm,s.addIssueTypeIdentifiers=Ly,s.addIssueTypePriorities=fm,s.addIssueTypePriority=mm,s.addIssueTypeStatus=Lm,s.addIssueTypeStatuses=Hm,s.addIssueTypes=wm,s.addIssueUpdate=sa,s.addIssueUpdates=ia,s.addIssues=Vi,s.addOrganization=Uf,s.addOrganizationAccess=bf,s.addOrganizationAccesses=Ff,s.addOrganizations=$f,s.addProcedure=zA,s.addProcedureFieldValues=QP,s.addProcedureFieldValuesAttachment=$P,s.addProcedureFieldValuesAttachments=tn,s.addProcedureFieldValuesMany=xP,s.addProcedureInitiative=IA,s.addProcedureInitiatives=OA,s.addProcedureStep=UO,s.addProcedureStepAssignee=ZA,s.addProcedureStepAssignees=JA,s.addProcedureStepComment=lT,s.addProcedureStepComments=oT,s.addProcedureStepDefaultAssignee=FT,s.addProcedureStepDefaultAssignees=_T,s.addProcedureStepDefaultReviewer=qT,s.addProcedureStepDefaultReviewers=$T,s.addProcedureStepEvent=QT,s.addProcedureStepEvents=xT,s.addProcedureStepFieldValues=JI,s.addProcedureStepFieldValuesAttachment=qI,s.addProcedureStepFieldValuesAttachments=qa,s.addProcedureStepFieldValuesMany=QI,s.addProcedureStepFieldValuesReview=oO,s.addProcedureStepFieldValuesReviews=Ha,s.addProcedureStepFields=_I,s.addProcedureStepFieldsAttachment=hI,s.addProcedureStepFieldsAttachments=Va,s.addProcedureStepFieldsMany=MI,s.addProcedureStepReviewer=FO,s.addProcedureStepReviewers=_O,s.addProcedureSteps=kO,s.addProcedureType=hb,s.addProcedureTypeAttachment=JO,s.addProcedureTypeAttachments=QO,s.addProcedureTypeFields=_P,s.addProcedureTypeFieldsAttachment=oP,s.addProcedureTypeFieldsAttachments=hP,s.addProcedureTypeFieldsMany=MP,s.addProcedureTypes=pb,s.addProcedures=Ot,s.addProject=uA,s.addProjectAccess=aS,s.addProjectAccesses=nS,s.addProjectAttachment=SS,s.addProjectAttachments=AS,s.addProjectComment=vS,s.addProjectComments=VS,s.addProjectFile=WS,s.addProjectFiles=XS,s.addProjects=dA,s.addTeam=kb,s.addTeamMembership=gb,s.addTeamMemberships=Rb,s.addTeams=Lb,s.addUser=ua,s.addUsers=yf,s.agentsReducer=gn,s.agentsSlice=ds,s.assetAttachmentReducer=Un,s.assetAttachmentSlice=ls,s.assetCommentReducer=ec,s.assetCommentSlice=ys,s.assetReducer=pc,s.assetSlice=ms,s.assetTypeAttachmentReducer=Mc,s.assetTypeAttachmentSlice=As,s.assetTypeFieldValuesAttachmentReducer=pr,s.assetTypeFieldValuesAttachmentSlice=_s,s.assetTypeFieldValuesReducer=gr,s.assetTypeFieldValuesSlice=ws,s.assetTypeFieldsAttachmentReducer=Uc,s.assetTypeFieldsAttachmentSlice=Ps,s.assetTypeFieldsReducer=er,s.assetTypeFieldsSlice=Fs,s.assetTypeIdentifierReducer=kr,s.assetTypeIdentifierSlice=Es,s.assetTypeIdentifierValueReducer=td,s.assetTypeIdentifierValueSlice=Vs,s.assetTypeReducer=md,s.assetTypeSlice=Bs,s.assetTypeStatusReducer=wd,s.assetTypeStatusSlice=js,s.authReducer=Vd,s.authSlice=Lt,s.baseReducer=Bg,s.baseReducers=pn,s.captureAnalysisItemReducer=jd,s.captureAnalysisItemSlice=Ds,s.captureAnalysisReducer=qd,s.captureAnalysisSlice=$s,s.captureReducer=Gd,s.captureSidecarReducer=kd,s.captureSidecarSlice=ks,s.captureSlice=Hs,s.clearTokens=i_,s.createModelAdapter=O,s.createOfflineAction=Zf,s.createPayload=M,s.createSelectionAdapter=jF,s.deleteAsset=cc,s.deleteAssetAttachment=jn,s.deleteAssetAttachments=hs,s.deleteAssetComment=Xn,s.deleteAssetComments=Dt,s.deleteAssetType=ld,s.deleteAssetTypeAttachment=Oc,s.deleteAssetTypeAttachments=Is,s.deleteAssetTypeFieldValues=Pr,s.deleteAssetTypeFieldValuesAttachment=dr,s.deleteAssetTypeFieldValuesAttachments=gs,s.deleteAssetTypeFieldValuesMany=br,s.deleteAssetTypeFields=Yc,s.deleteAssetTypeFieldsAttachment=jc,s.deleteAssetTypeFieldsAttachments=Cc,s.deleteAssetTypeFieldsMany=Zc,s.deleteAssetTypeIdentifier=Cr,s.deleteAssetTypeIdentifierValue=Zr,s.deleteAssetTypeIdentifierValues=Jr,s.deleteAssetTypeIdentifiers=Dr,s.deleteAssetTypeStatus=Fd,s.deleteAssetTypeStatuses=_d,s.deleteAssetTypes=od,s.deleteAssets=Ss,s.deleteCapture=Y_,s.deleteCaptureAnalyses=M_,s.deleteCaptureAnalysis=__,s.deleteCaptureAnalysisItem=p_,s.deleteCaptureAnalysisItems=y_,s.deleteCaptureSidecar=D_,s.deleteCaptureSidecars=q_,s.deleteCaptures=Z_,s.deleteConversation=kF,s.deleteConversations=LF,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=ii,s.deleteFormSubmission=$o,s.deleteFormSubmissionFieldValues=Mo,s.deleteFormSubmissionFieldValuesAttachment=mo,s.deleteFormSubmissionFieldValuesAttachments=oi,s.deleteFormSubmissionFieldValuesMany=Si,s.deleteFormSubmissions=lt,s.deleteFormSubscriber=kl,s.deleteFormSubscribers=ci,s.deleteForms=so,s.deleteGeoImage=ih,s.deleteGeoImages=ah,s.deleteIssue=Ap,s.deleteIssueAssociation=fh,s.deleteIssueAssociations=Tt,s.deleteIssueAttachment=Vh,s.deleteIssueAttachments=_i,s.deleteIssueComment=cp,s.deleteIssueCommentAttachment=Kh,s.deleteIssueCommentAttachments=Wh,s.deleteIssueComments=rp,s.deleteIssueType=zm,s.deleteIssueTypeAttachment=Vp,s.deleteIssueTypeAttachments=Bp,s.deleteIssueTypeFieldValues=cy,s.deleteIssueTypeFieldValuesAttachment=By,s.deleteIssueTypeFieldValuesAttachments=Li,s.deleteIssueTypeFieldValuesMany=ry,s.deleteIssueTypeFields=Iy,s.deleteIssueTypeFieldsAttachment=Kp,s.deleteIssueTypeFieldsAttachments=Wp,s.deleteIssueTypeFieldsMany=Oy,s.deleteIssueTypeIdentifier=Wy,s.deleteIssueTypeIdentifierValue=rm,s.deleteIssueTypeIdentifierValues=dm,s.deleteIssueTypeIdentifiers=Xy,s.deleteIssueTypePriorities=Pm,s.deleteIssueTypePriority=Om,s.deleteIssueTypeStatus=Xm,s.deleteIssueTypeStatuses=Ym,s.deleteIssueTypes=jm,s.deleteIssueUpdate=aa,s.deleteIssueUpdates=na,s.deleteIssues=Bi,s.deleteOrganization=Hf,s.deleteOrganizationAccess=wf,s.deleteOrganizationAccesses=Ef,s.deleteOrganizations=Gf,s.deleteProcedure=$A,s.deleteProcedureFieldValues=ab,s.deleteProcedureFieldValuesAttachment=GP,s.deleteProcedureFieldValuesAttachments=sn,s.deleteProcedureFieldValuesMany=nb,s.deleteProcedureInitiative=MA,s.deleteProcedureInitiatives=gA,s.deleteProcedureStep=GO,s.deleteProcedureStepAssignee=sT,s.deleteProcedureStepAssignees=iT,s.deleteProcedureStepComment=fT,s.deleteProcedureStepComments=ST,s.deleteProcedureStepDefaultAssignee=ET,s.deleteProcedureStepDefaultAssignees=vT,s.deleteProcedureStepDefaultReviewer=GT,s.deleteProcedureStepDefaultReviewers=NT,s.deleteProcedureStepEvent=aI,s.deleteProcedureStepEvents=nI,s.deleteProcedureStepFieldValues=iO,s.deleteProcedureStepFieldValuesAttachment=HI,s.deleteProcedureStepFieldValuesAttachments=$a,s.deleteProcedureStepFieldValuesMany=aO,s.deleteProcedureStepFieldValuesReview=fO,s.deleteProcedureStepFieldValuesReviews=Ga,s.deleteProcedureStepFields=vI,s.deleteProcedureStepFieldsAttachment=SI,s.deleteProcedureStepFieldsAttachments=Ba,s.deleteProcedureStepFieldsMany=VI,s.deleteProcedureStepReviewer=EO,s.deleteProcedureStepReviewers=vO,s.deleteProcedureSteps=NO,s.deleteProcedureType=Ab,s.deleteProcedureTypeAttachment=iP,s.deleteProcedureTypeAttachments=aP,s.deleteProcedureTypeFields=vP,s.deleteProcedureTypeFieldsAttachment=SP,s.deleteProcedureTypeFieldsAttachments=AP,s.deleteProcedureTypeFieldsMany=VP,s.deleteProcedureTypes=Tb,s.deleteProcedures=Pt,s.deleteProject=hA,s.deleteProjectAccess=lS,s.deleteProjectAccesses=oS,s.deleteProjectAttachment=bS,s.deleteProjectAttachments=FS,s.deleteProjectComment=DS,s.deleteProjectComments=qS,s.deleteProjectFile=JS,s.deleteProjectFiles=QS,s.deleteProjects=pA,s.deleteTeam=Wb,s.deleteTeamMembership=Bb,s.deleteTeamMemberships=zb,s.deleteTeams=Xb,s.deleteUser=la,s.deleteUsers=Sf,s.dequeue=aF,s.discard=cF,s.documentAttachmentReducer=au,s.documentAttachmentSlice=Ns,s.documentSlice=Ws,s.documentsReducer=mu,s.emailDomainsReducer=Vu,s.emailDomainsSlice=Ys,s.enqueue=iF,s.enqueueRequest=Qf,s.extractResponseFromError=dF,s.fetchBlobFromObjectUrl=oF,s.fetchFileFromObjectUrl=hF,s.fileToBlob=uF,s.formIdentifierReducer=Ku,s.formIdentifierSlice=Js,s.formIdentifierValueReducer=cl,s.formIdentifierValueSlice=xs,s.formReducer=io,s.formRevisionAttachmentReducer=Il,s.formRevisionAttachmentSlice=ei,s.formRevisionReducer=Bl,s.formRevisionsSlice=ti,s.formSlice=ri,s.formSubmissionFieldValuesAttachmentReducer=Ao,s.formSubmissionFieldValuesAttachmentSlice=ui,s.formSubmissionFieldValuesReducer=vo,s.formSubmissionFieldValuesSlice=mi,s.formSubmissionReducer=Xo,s.formSubmissionSlice=Ti,s.formSubscriberReducer=Kl,s.formSubscriberSlice=ai,s.geoImageReducer=dh,s.geoImageSlice=Ii,s.getClientSDK=bF,s.getClientStore=Ft,s.getFileExtension=lF,s.getOutboxCoordinator=ft,s.getPresignedUrlExpiryDate=fF,s.getRenamedFile=Ng,s.getRequestDescription=m,s.getS3FileKey=Gg,s.hashFile=cs,s.initSDK=Sw,s.initializeAssetAttachments=wn,s.initializeAssetComments=Ln,s.initializeAssetTypeAttachments=mc,s.initializeAssetTypeFieldValues=mr,s.initializeAssetTypeFieldValuesAttachments=sr,s.initializeAssetTypeFields=Lc,s.initializeAssetTypeFieldsAttachments=Rc,s.initializeAssetTypeIdentifierValues=Hr,s.initializeAssetTypeIdentifiers=wr,s.initializeAssetTypeStatuses=Sd,s.initializeAssetTypes=id,s.initializeAssets=sc,s.initializeCaptureAnalyses=A_,s.initializeCaptureAnalysisItems=c_,s.initializeCaptureSidecars=E_,s.initializeCaptures=L_,s.initializeConversations=bn,s.initializeDocumentAttachments=Kd,s.initializeDocuments=cu,s.initializeEmailDomains=Iu,s.initializeFormIdentifierValues=Xu,s.initializeFormIdentifiers=zu,s.initializeFormRevisionAttachments=dl,s.initializeFormRevisions=Pl,s.initializeFormSubmissionFieldValues=Io,s.initializeFormSubmissionFieldValuesAttachments=uo,s.initializeFormSubmissions=Bo,s.initializeFormSubscribers=jl,s.initializeForms=Xl,s.initializeGeoImages=Zo,s.initializeIssueAssociations=lh,s.initializeIssueAttachments=Mh,s.initializeIssueCommentAttachments=$h,s.initializeIssueComments=xh,s.initializeIssueTypeAttachments=_p,s.initializeIssueTypeFieldValues=xp,s.initializeIssueTypeFieldValuesAttachments=gy,s.initializeIssueTypeFields=py,s.initializeIssueTypeFieldsAttachments=$p,s.initializeIssueTypeIdentifierValues=em,s.initializeIssueTypeIdentifiers=Uy,s.initializeIssueTypePriorities=ym,s.initializeIssueTypeStatuses=km,s.initializeIssueTypes=gm,s.initializeIssueUpdates=ef,s.initializeIssues=hp,s.initializeOrganizationAccesses=Pf,s.initializeOrganizations=Cf,s.initializeProcedureFieldValues=JP,s.initializeProcedureFieldValuesAttachments=qP,s.initializeProcedureInitiatives=TA,s.initializeProcedureStepAssignees=YA,s.initializeProcedureStepComments=uT,s.initializeProcedureStepDefaultAssignees=bT,s.initializeProcedureStepDefaultReviewers=DT,s.initializeProcedureStepEvents=JT,s.initializeProcedureStepFieldValues=ZI,s.initializeProcedureStepFieldValuesAttachments=DI,s.initializeProcedureStepFieldValuesReviews=lO,s.initializeProcedureStepFields=FI,s.initializeProcedureStepFieldsAttachments=oI,s.initializeProcedureStepReviewers=bO,s.initializeProcedureSteps=DO,s.initializeProcedureTypeAttachments=ZO,s.initializeProcedureTypeFields=FP,s.initializeProcedureTypeFieldsAttachments=lP,s.initializeProcedureTypes=ob,s.initializeProcedures=BA,s.initializeProjectAccesses=iS,s.initializeProjectAttachments=fS,s.initializeProjectComments=ES,s.initializeProjectFiles=GS,s.initializeProjects=nA,s.initializeTeamMemberships=Mb,s.initializeTeams=Ub,s.initializeUsers=of,s.isCloudfrontUrl=yF,s.isImageFile=Kg,s.isObjectUrl=pF,s.isPresignedUrlExpired=SF,s.isS3Url=mF,s.issueAssociationReducer=Fh,s.issueAssociationSlice=Pi,s.issueAttachmentReducer=Dh,s.issueAttachmentSlice=bi,s.issueCommentAttachmentReducer=Jh,s.issueCommentAttachmentSlice=gi,s.issueCommentReducer=lp,s.issueCommentSlice=wi,s.issueReducer=bp,s.issueSlice=vi,s.issueTypeAttachmentReducer=Dp,s.issueTypeAttachmentSlice=zi,s.issueTypeFieldValuesAttachmentReducer=qy,s.issueTypeFieldValuesAttachmentSlice=Ui,s.issueTypeFieldValuesReducer=oy,s.issueTypeFieldValuesSlice=qi,s.issueTypeFieldsAttachmentReducer=Jp,s.issueTypeFieldsAttachmentSlice=Ci,s.issueTypeFieldsReducer=_y,s.issueTypeFieldsSlice=$i,s.issueTypeIdentifierReducer=Qy,s.issueTypeIdentifierSlice=Gi,s.issueTypeIdentifierValueReducer=hm,s.issueTypeIdentifierValueSlice=Ki,s.issueTypePriorityReducer=_m,s.issueTypePrioritySlice=Wi,s.issueTypeReducer=$m,s.issueTypeSlice=Zi,s.issueTypeStatusReducer=Qm,s.issueTypeStatusSlice=Qi,s.issueUpdateReducer=uf,s.issueUpdateSlice=ta,s.markAsDeleted=xf,s.markForDeletion=DM,s.organizationAccessReducer=vf,s.organizationAccessSlice=ha,s.organizationReducer=Yf,s.organizationSlice=pa,s.outboxReducer=tS,s.outboxSlice=ya,s.overmapEnhancer=qg,s.overmapReducer=zg,s.overmapReducers=xb,s.performRequest=Sn,s.performRequestFromAction=nF,s.procedureFieldValuesAttachmentReducer=NP,s.procedureFieldValuesAttachmentSlice=en,s.procedureFieldValuesReducer=cb,s.procedureFieldValuesSlice=nn,s.procedureInitiativeReducer=RA,s.procedureInitiativeSlice=Pa,s.procedureReducer=UA,s.procedureSlice=ba,s.procedureStepAssigneeReducer=rT,s.procedureStepAssigneeSlice=Fa,s.procedureStepCommentReducer=OT,s.procedureStepCommentSlice=_a,s.procedureStepDefaultAssigneeReducer=jT,s.procedureStepDefaultAssigneeSlice=Ma,s.procedureStepDefaultReviewerReducer=YT,s.procedureStepDefaultReviewerSlice=Ra,s.procedureStepEventReducer=uI,s.procedureStepEventSlice=Ea,s.procedureStepFieldValuesAttachmentReducer=XI,s.procedureStepFieldValuesAttachmentSlice=Da,s.procedureStepFieldValuesReducer=nO,s.procedureStepFieldValuesReviewReducer=OO,s.procedureStepFieldValuesReviewSlice=La,s.procedureStepFieldValuesSlice=ka,s.procedureStepFieldsAttachmentReducer=PI,s.procedureStepFieldsAttachmentSlice=va,s.procedureStepFieldsReducer=jI,s.procedureStepFieldsSlice=ja,s.procedureStepReducer=KO,s.procedureStepReviewerReducer=jO,s.procedureStepReviewerSlice=Na,s.procedureStepSlice=Ka,s.procedureTypeAttachmentReducer=nP,s.procedureTypeAttachmentSlice=Ya,s.procedureTypeFieldsAttachmentReducer=TP,s.procedureTypeFieldsAttachmentSlice=Ja,s.procedureTypeFieldsReducer=BP,s.procedureTypeFieldsSlice=xa,s.procedureTypeReducer=Ib,s.procedureTypeSlice=rn,s.projectAccessReducer=hS,s.projectAccessSlice=ma,s.projectAttachmentReducer=RS,s.projectAttachmentSlice=Sa,s.projectCommentReducer=LS,s.projectCommentSlice=Ta,s.projectFileReducer=iA,s.projectFileSlice=Ia,s.projectReducer=yA,s.projectSlice=Oa,s.rehydratedReducer=Fb,s.rehydratedSlice=un,s.restructureSelectorWithArgs=y,s.runMiddleware=gF,s.selectAccessToken=a_,s.selectAccessesByUserOfProject=$M,s.selectAccessibleProjects=GM,s.selectActiveOrganizationAccess=BM,s.selectAllDocumentAttachments=Ks,s.selectAssetAttachmentById=Dn,s.selectAssetAttachmentMapping=Cn,s.selectAssetAttachments=ps,s.selectAssetAttachmentsByIds=qn,s.selectAssetById=oc,s.selectAssetCommentById=Zn,s.selectAssetCommentMapping=Yn,s.selectAssetComments=qt,s.selectAssetCommentsByIds=Jn,s.selectAssetTypeAttachmentById=bc,s.selectAssetTypeAttachmentMapping=Pc,s.selectAssetTypeAttachments=Os,s.selectAssetTypeAttachmentsByIds=Fc,s.selectAssetTypeById=pd,s.selectAssetTypeFieldValues=Ut,s.selectAssetTypeFieldValuesAttachmentById=lr,s.selectAssetTypeFieldValuesAttachments=Rs,s.selectAssetTypeFieldValuesAttachmentsByIds=or,s.selectAssetTypeFieldValuesAttachmentsMapping=ur,s.selectAssetTypeFieldValuesById=_r,s.selectAssetTypeFieldValuesByIds=Mr,s.selectAssetTypeFieldValuesMapping=Fr,s.selectAssetTypeFieldValuesOfAsset=YF,s.selectAssetTypeFields=Mt,s.selectAssetTypeFieldsAttachmentById=qc,s.selectAssetTypeFieldsAttachments=bs,s.selectAssetTypeFieldsAttachmentsByIds=$c,s.selectAssetTypeFieldsAttachmentsMapping=Dc,s.selectAssetTypeFieldsById=Qc,s.selectAssetTypeFieldsByIds=xc,s.selectAssetTypeFieldsMapping=Jc,s.selectAssetTypeFieldsOfAssetType=WF,s.selectAssetTypeIdentifierById=$r,s.selectAssetTypeIdentifierMapping=qr,s.selectAssetTypeIdentifierValueById=xr,s.selectAssetTypeIdentifierValueMapping=Qr,s.selectAssetTypeIdentifierValues=kt,s.selectAssetTypeIdentifierValuesByIds=ed,s.selectAssetTypeIdentifierValuesOfAsset=QF,s.selectAssetTypeIdentifierValuesOfIdentifier=xF,s.selectAssetTypeIdentifiers=vs,s.selectAssetTypeIdentifiersByIds=Ur,s.selectAssetTypeIdentifiersOfAssetType=JF,s.selectAssetTypeStatusById=gd,s.selectAssetTypeStatusMapping=Md,s.selectAssetTypeStatuses=Cs,s.selectAssetTypeStatusesByIds=Rd,s.selectAssetTypeStatusesOfAssetType=t_,s.selectAssetTypeValuesOfAssetType=ZF,s.selectAssetTypes=zs,s.selectAssetTypesByIds=yd,s.selectAssetTypesMapping=hd,s.selectAssetTypesOfOrganization=e_,s.selectAssets=$t,s.selectAssetsByIds=hc,s.selectAssetsMapping=uc,s.selectAssetsOfAssetType=lc,s.selectAssetsOfProject=NF,s.selectAttachmentsOfAsset=$n,s.selectAttachmentsOfAssetType=_c,s.selectAttachmentsOfAssetTypeFieldValues=hr,s.selectAttachmentsOfAssetTypeFields=KF,s.selectAttachmentsOfDocument=eM,s.selectAttachmentsOfFormRevision=rM,s.selectAttachmentsOfFormSubmissionFieldValues=So,s.selectAttachmentsOfIssue=zh,s.selectAttachmentsOfIssueComment=fM,s.selectAttachmentsOfIssueType=TM,s.selectAttachmentsOfIssueTypeFieldValues=Dy,s.selectAttachmentsOfIssueTypeFields=IM,s.selectAttachmentsOfProcedureFieldValues=YP,s.selectAttachmentsOfProcedureStepFieldValues=WI,s.selectAttachmentsOfProcedureStepFields=TI,s.selectAttachmentsOfProcedureType=Og,s.selectAttachmentsOfProcedureTypeFields=Pg,s.selectAttachmentsOfProject=kM,s.selectCaptureAnalyses=Us,s.selectCaptureAnalysesByIds=R_,s.selectCaptureAnalysesOfCapture=w_,s.selectCaptureAnalysisById=g_,s.selectCaptureAnalysisItemById=m_,s.selectCaptureAnalysisItemMapping=zd,s.selectCaptureAnalysisItems=qs,s.selectCaptureAnalysisItemsByIds=f_,s.selectCaptureAnalysisItemsOfAnalysis=S_,s.selectCaptureAnalysisMapping=Dd,s.selectCaptureById=J_,s.selectCaptureMapping=Hd,s.selectCaptureSidecarById=$_,s.selectCaptureSidecarMapping=Ud,s.selectCaptureSidecarOfCapture=k_,s.selectCaptureSidecars=Ls,s.selectCaptureSidecarsByIds=U_,s.selectCaptures=Gs,s.selectCapturesByIds=Q_,s.selectCapturesOfProject=x_,s.selectCommentsOfAsset=Qn,s.selectCommentsOfAssets=xn,s.selectCommentsOfIssue=SM,s.selectCommentsOfProject=LM,s.selectCommentsOfProjects=HM,s.selectConversation=GF,s.selectConversationMapping=us,s.selectConversations=HF,s.selectCurrentUser=Tf,s.selectDeletedRequests=jM,s.selectDescendantsOfDocument=Au,s.selectDocumentAttachmentById=su,s.selectDocumentAttachmentMapping=tu,s.selectDocumentAttachmentsByIds=iu,s.selectDocumentById=fu,s.selectDocuments=Ht,s.selectDocumentsByIds=Su,s.selectDocumentsMapping=Xs,s.selectEmailDomainById=Eu,s.selectEmailDomains=Zs,s.selectEmailDomainsAsMapping=wu,s.selectEmailDomainsByIds=vu,s.selectEmailDomainsOfOrganization=iM,s.selectFieldValuesOfProcedure=_g,s.selectFormById=no,s.selectFormIdentifierById=Gu,s.selectFormIdentifierMapping=Hu,s.selectFormIdentifierValueById=al,s.selectFormIdentifierValueMapping=il,s.selectFormIdentifierValues=Gt,s.selectFormIdentifierValuesByIds=nl,s.selectFormIdentifierValuesOfFormSubmission=nM,s.selectFormIdentifierValuesOfIdentifier=cM,s.selectFormIdentifiers=Qs,s.selectFormIdentifiersByIds=Nu,s.selectFormIdentifiersOfForm=aM,s.selectFormMapping=ao,s.selectFormRevisionAttachmentById=Al,s.selectFormRevisionAttachments=Sl,s.selectFormRevisionAttachmentsByIds=Tl,s.selectFormRevisionAttachmentsMapping=Nt,s.selectFormRevisionById=El,s.selectFormRevisionMapping=wl,s.selectFormRevisions=Kt,s.selectFormRevisionsByIds=vl,s.selectFormRevisionsOfForm=Vl,s.selectFormSubmissionById=ko,s.selectFormSubmissionFieldValues=Ai,s.selectFormSubmissionFieldValuesAttachmentById=fo,s.selectFormSubmissionFieldValuesAttachments=pi,s.selectFormSubmissionFieldValuesAttachmentsByIds=yi,s.selectFormSubmissionFieldValuesAttachmentsMapping=hi,s.selectFormSubmissionFieldValuesById=Ro,s.selectFormSubmissionFieldValuesByIds=wo,s.selectFormSubmissionFieldValuesMapping=go,s.selectFormSubmissionFieldValuesOfFormSubmission=Eo,s.selectFormSubmissions=C,s.selectFormSubmissionsByIds=Lo,s.selectFormSubmissionsMapping=Uo,s.selectFormSubmissionsOfAsset=Ko,s.selectFormSubmissionsOfAssets=Wo,s.selectFormSubmissionsOfForm=Ho,s.selectFormSubmissionsOfIssue=Go,s.selectFormSubmissionsOfIssues=No,s.selectFormSubmissionsOfOrganization=oM,s.selectFormSubmissionsOfOrganizationAndForm=yM,s.selectFormSubmissionsOfProject=hM,s.selectFormSubmissionsOfProjectAndForm=pM,s.selectFormSubscriberById=Hl,s.selectFormSubscriberMapping=Ll,s.selectFormSubscribers=Wt,s.selectFormSubscribersByIds=Gl,s.selectFormSubscribersOfForm=Nl,s.selectFormSubscribersOfUser=uM,s.selectForms=di,s.selectFormsByIds=co,s.selectFormsOfOrganization=lM,s.selectGeoImageById=ch,s.selectGeoImageMapping=nh,s.selectGeoImages=Oi,s.selectGeoImagesByIds=rh,s.selectGeoImagesOfProject=mM,s.selectIsLoggedIn=n_,s.selectIssueAssociationById=Ah,s.selectIssueAssociationMapping=Sh,s.selectIssueAssociations=It,s.selectIssueAssociationsByIds=Th,s.selectIssueAssociationsOfAsset=Ph,s.selectIssueAssociationsOfAssets=bh,s.selectIssueAssociationsOfIssue=Oh,s.selectIssueAssociationsOfIssues=Ih,s.selectIssueAttachmentById=jh,s.selectIssueAttachmentMapping=Bh,s.selectIssueAttachments=Mi,s.selectIssueAttachmentsByIds=Ch,s.selectIssueById=Ip,s.selectIssueCommentAttachmentById=Yh,s.selectIssueCommentAttachmentMapping=Xh,s.selectIssueCommentAttachments=Ri,s.selectIssueCommentAttachmentsByIds=Zh,s.selectIssueCommentById=dp,s.selectIssueCommentMapping=Ei,s.selectIssueCommentsByIds=up,s.selectIssueMapping=Tp,s.selectIssueTypeAttachmentById=jp,s.selectIssueTypeAttachmentMapping=zp,s.selectIssueTypeAttachments=ji,s.selectIssueTypeAttachmentsByIds=Cp,s.selectIssueTypeById=Dm,s.selectIssueTypeFieldValues=Yt,s.selectIssueTypeFieldValuesAttachmentById=jy,s.selectIssueTypeFieldValuesAttachments=Hi,s.selectIssueTypeFieldValuesAttachmentsByIds=Cy,s.selectIssueTypeFieldValuesAttachmentsMapping=zy,s.selectIssueTypeFieldValuesById=uy,s.selectIssueTypeFieldValuesByIds=ly,s.selectIssueTypeFieldValuesMapping=dy,s.selectIssueTypeFieldValuesOfIssue=OM,s.selectIssueTypeFields=gt,s.selectIssueTypeFieldsAttachmentById=Yp,s.selectIssueTypeFieldsAttachments=Di,s.selectIssueTypeFieldsAttachmentsByIds=Zp,s.selectIssueTypeFieldsAttachmentsMapping=Xp,s.selectIssueTypeFieldsById=by,s.selectIssueTypeFieldsByIds=Fy,s.selectIssueTypeFieldsMapping=Py,s.selectIssueTypeFieldsOfIssueType=PM,s.selectIssueTypeIdentifierById=Zy,s.selectIssueTypeIdentifierMapping=Yy,s.selectIssueTypeIdentifierValueById=lm,s.selectIssueTypeIdentifierValueMapping=um,s.selectIssueTypeIdentifierValues=Zt,s.selectIssueTypeIdentifierValuesByIds=om,s.selectIssueTypeIdentifierValuesOfIdentifier=gM,s.selectIssueTypeIdentifierValuesOfIssue=MM,s.selectIssueTypeIdentifiers=Ni,s.selectIssueTypeIdentifiersByIds=Jy,s.selectIssueTypeIdentifiersOfIssueType=_M,s.selectIssueTypeMapping=Cm,s.selectIssueTypePriorities=Xi,s.selectIssueTypePrioritiesByIds=Fm,s.selectIssueTypePrioritiesOfIssueType=RM,s.selectIssueTypePriorityById=Yi,s.selectIssueTypePriorityMapping=bm,s.selectIssueTypeStatusById=ea,s.selectIssueTypeStatusMapping=Zm,s.selectIssueTypeStatuses=xi,s.selectIssueTypeStatusesByIds=Jm,s.selectIssueTypeStatusesOfIssueType=EM,s.selectIssueTypeValuesOfIssueType=FM,s.selectIssueTypes=Ji,s.selectIssueTypesByIds=qm,s.selectIssueTypesOfOrganization=wM,s.selectIssueUpdateById=cf,s.selectIssueUpdateMapping=ca,s.selectIssueUpdates=ra,s.selectIssueUpdatesByIds=rf,s.selectIssueUpdatesOfIssue=df,s.selectIssues=Xt,s.selectIssuesByIds=Op,s.selectIssuesOfIssueType=Pp,s.selectIssuesOfProject=AM,s.selectLatestAssetTypeFieldsOfAssetType=XF,s.selectLatestFieldsByProcedureStep=dg,s.selectLatestFormRevisionOfForm=dM,s.selectLatestIssueTypeFieldsOfIssueType=bM,s.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=mg,s.selectLatestProcedureStepFieldsOfProcedureStep=rg,s.selectLatestProcedureTypeFieldsOfProcedureType=Fg,s.selectLatestRetryTime=CM,s.selectLatestReviewOfProcedureStepFieldValues=hg,s.selectMembershipsByUserOfTeam=Eg,s.selectOrganizationAccessById=Vf,s.selectOrganizationAccessMapping=xt,s.selectOrganizationAccessUserMapping=zf,s.selectOrganizationAccessesByIds=Bf,s.selectOrganizationById=Wf,s.selectOrganizationDocuments=sM,s.selectOrganizations=Kf,s.selectOrganizationsByIds=Xf,s.selectOrganizationsMapping=Nf,s.selectProcedureById=LA,s.selectProcedureFieldValues=cn,s.selectProcedureFieldValuesAttachmentById=WP,s.selectProcedureFieldValuesAttachments=an,s.selectProcedureFieldValuesAttachmentsByIds=XP,s.selectProcedureFieldValuesAttachmentsMapping=KP,s.selectProcedureFieldValuesById=db,s.selectProcedureFieldValuesByIds=ub,s.selectProcedureFieldValuesMapping=rb,s.selectProcedureInitiativeById=EA,s.selectProcedureInitiatives=ss,s.selectProcedureInitiativesByIds=vA,s.selectProcedureInitiativesMapping=wA,s.selectProcedureInitiativesOfProcedureType=WM,s.selectProcedureInitiativesOfProject=KM,s.selectProcedureStepAssigneeById=nT,s.selectProcedureStepAssignees=wt,s.selectProcedureStepAssigneesByIds=cT,s.selectProcedureStepAssigneesMapping=aT,s.selectProcedureStepAssigneesOfProcedure=YM,s.selectProcedureStepAssigneesOfProcedureAndProcedureStep=JM,s.selectProcedureStepAssigneesOfProcedureStep=ZM,s.selectProcedureStepById=WO,s.selectProcedureStepCommentById=TT,s.selectProcedureStepComments=Et,s.selectProcedureStepCommentsByIds=IT,s.selectProcedureStepCommentsMapping=AT,s.selectProcedureStepCommentsOfProcedure=QM,s.selectProcedureStepCommentsOfProcedureAndProcedureStep=eg,s.selectProcedureStepCommentsOfProcedureStep=xM,s.selectProcedureStepDefaultAssigneeById=BT,s.selectProcedureStepDefaultAssignees=ga,s.selectProcedureStepDefaultAssigneesByIds=zT,s.selectProcedureStepDefaultAssigneesMapping=VT,s.selectProcedureStepDefaultAssigneesOfProcedureStep=tg,s.selectProcedureStepDefaultReviewerById=WT,s.selectProcedureStepDefaultReviewers=wa,s.selectProcedureStepDefaultReviewersByIds=XT,s.selectProcedureStepDefaultReviewersMapping=KT,s.selectProcedureStepDefaultReviewersOfProcedureStep=sg,s.selectProcedureStepEventById=rI,s.selectProcedureStepEvents=vt,s.selectProcedureStepEventsByIds=dI,s.selectProcedureStepEventsMapping=cI,s.selectProcedureStepEventsOfProcedure=ig,s.selectProcedureStepEventsOfProcedureAndProcedureStep=ng,s.selectProcedureStepEventsOfProcedureStep=ag,s.selectProcedureStepFieldValues=ht,s.selectProcedureStepFieldValuesAttachmentById=NI,s.selectProcedureStepFieldValuesAttachments=Ua,s.selectProcedureStepFieldValuesAttachmentsByIds=KI,s.selectProcedureStepFieldValuesAttachmentsMapping=GI,s.selectProcedureStepFieldValuesById=rO,s.selectProcedureStepFieldValuesByIds=dO,s.selectProcedureStepFieldValuesMapping=cO,s.selectProcedureStepFieldValuesOfProcedure=ug,s.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=og,s.selectProcedureStepFieldValuesOfProcedureStep=lg,s.selectProcedureStepFieldValuesReviewById=AO,s.selectProcedureStepFieldValuesReviews=pt,s.selectProcedureStepFieldValuesReviewsByIds=TO,s.selectProcedureStepFieldValuesReviewsMapping=SO,s.selectProcedureStepFieldValuesReviewsOfProcedure=pg,s.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=yg,s.selectProcedureStepFields=is,s.selectProcedureStepFieldsAttachmentById=II,s.selectProcedureStepFieldsAttachments=za,s.selectProcedureStepFieldsAttachmentsByIds=OI,s.selectProcedureStepFieldsAttachmentsMapping=AI,s.selectProcedureStepFieldsById=BI,s.selectProcedureStepFieldsByIds=zI,s.selectProcedureStepFieldsMapping=Ca,s.selectProcedureStepFieldsOfProcedureStep=cg,s.selectProcedureStepReviewerById=BO,s.selectProcedureStepReviewers=Vt,s.selectProcedureStepReviewersByIds=zO,s.selectProcedureStepReviewersMapping=VO,s.selectProcedureStepReviewersOfProcedure=fg,s.selectProcedureStepReviewersOfProcedureAndProcedureStep=Ag,s.selectProcedureStepReviewersOfProcedureStep=Sg,s.selectProcedureSteps=Xa,s.selectProcedureStepsByIds=XO,s.selectProcedureStepsMapping=Wa,s.selectProcedureStepsMappingOfProcedureType=Tg,s.selectProcedureStepsOfProcedureType=Ig,s.selectProcedureTypeAttachmentById=rP,s.selectProcedureTypeAttachmentMapping=cP,s.selectProcedureTypeAttachments=Za,s.selectProcedureTypeAttachmentsByIds=dP,s.selectProcedureTypeById=Pb,s.selectProcedureTypeFields=as,s.selectProcedureTypeFieldsAttachmentById=OP,s.selectProcedureTypeFieldsAttachments=Qa,s.selectProcedureTypeFieldsAttachmentsByIds=PP,s.selectProcedureTypeFieldsAttachmentsMapping=IP,s.selectProcedureTypeFieldsById=jP,s.selectProcedureTypeFieldsByIds=CP,s.selectProcedureTypeFieldsMapping=zP,s.selectProcedureTypeFieldsOfProcedureType=bg,s.selectProcedureTypes=dn,s.selectProcedureTypesByIds=bb,s.selectProcedureTypesMapping=Ob,s.selectProcedureTypesOfOrganization=Mg,s.selectProcedures=ot,s.selectProceduresByIds=HA,s.selectProceduresMapping=kA,s.selectProceduresOfAsset=NA,s.selectProceduresOfAssets=KA,s.selectProceduresOfProcedureInitiative=WA,s.selectProceduresOfProcedureType=GA,s.selectProceduresOfProject=XM,s.selectProjectAccessById=pS,s.selectProjectAccessMapping=fa,s.selectProjectAccesses=Rt,s.selectProjectAccessesByIds=yS,s.selectProjectAccessesOfProject=qM,s.selectProjectAttachmentById=MS,s.selectProjectAttachmentMapping=_S,s.selectProjectAttachments=Aa,s.selectProjectAttachmentsByIds=gS,s.selectProjectById=fA,s.selectProjectCommentById=US,s.selectProjectCommentMapping=$S,s.selectProjectComments=es,s.selectProjectCommentsByIds=kS,s.selectProjectDocuments=tM,s.selectProjectFileById=tA,s.selectProjectFileMapping=xS,s.selectProjectFiles=eA,s.selectProjectFilesByIds=sA,s.selectProjectMapping=mA,s.selectProjects=ts,s.selectProjectsByIds=SA,s.selectProjectsOfOrganization=NM,s.selectRehydrated=wg,s.selectReviewsOfProcedureStepFieldValues=IO,s.selectTeamById=Zb,s.selectTeamMembershipById=Db,s.selectTeamMemberships=ns,s.selectTeamMembershipsByIds=qb,s.selectTeamMembershipsMapping=Cb,s.selectTeams=hn,s.selectTeamsByIds=Jb,s.selectTeamsMapping=Yb,s.selectTeamsOfOrganization=Vg,s.selectUserById=Qt,s.selectUsers=Jt,s.selectUsersByIds=If,s.selectUsersMapping=oa,s.selectUsersOfOrganization=zM,s.selectUsersOfProject=UM,s.selectUsersOfTeam=vg,s.setAsset=rc,s.setAssetAttachment=vn,s.setAssetAttachments=Vn,s.setAssetComment=Gn,s.setAssetComments=Nn,s.setAssetType=ad,s.setAssetTypeAttachment=Sc,s.setAssetTypeAttachments=Ac,s.setAssetTypeFieldValues=Ar,s.setAssetTypeFieldValuesAttachment=ar,s.setAssetTypeFieldValuesAttachments=nr,s.setAssetTypeFieldValuesMany=Tr,s.setAssetTypeFields=Nc,s.setAssetTypeFieldsAttachment=vc,s.setAssetTypeFieldsAttachments=Vc,s.setAssetTypeFieldsMany=Kc,s.setAssetTypeIdentifier=Vr,s.setAssetTypeIdentifierValue=Kr,s.setAssetTypeIdentifierValues=Wr,s.setAssetTypeIdentifiers=Br,s.setAssetTypeStatus=Id,s.setAssetTypeStatuses=Od,s.setAssetTypes=nd,s.setAssets=dc,s.setCapture=N_,s.setCaptureAnalyses=P_,s.setCaptureAnalysis=O_,s.setCaptureAnalysisItem=u_,s.setCaptureAnalysisItems=l_,s.setCaptureSidecar=B_,s.setCaptureSidecars=z_,s.setCaptures=K_,s.setClientSDK=PF,s.setClientStore=IF,s.setConversation=_n,s.setConversations=$F,s.setCurrentUser=vM,s.setCurrentUserProfile=VM,s.setDocument=uu,s.setDocumentAttachment=Yd,s.setDocumentAttachments=Zd,s.setDocuments=lu,s.setEmailDomain=bu,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=zo,s.setFormSubmissionFieldValues=Po,s.setFormSubmissionFieldValuesAttachment=oo,s.setFormSubmissionFieldValuesAttachments=ho,s.setFormSubmissionFieldValuesMany=bo,s.setFormSubmissions=jo,s.setFormSubscriber=Dl,s.setFormSubscribers=ql,s.setForms=Ql,s.setGeoImage=Jo,s.setGeoImages=Qo,s.setIssue=yp,s.setIssueAssociation=hh,s.setIssueAssociations=oh,s.setIssueAttachment=Rh,s.setIssueAttachments=wh,s.setIssueComment=sp,s.setIssueCommentAttachment=Lh,s.setIssueCommentAttachments=Hh,s.setIssueComments=ip,s.setIssueType=Em,s.setIssueTypeAttachment=Rp,s.setIssueTypeAttachments=wp,s.setIssueTypeFieldValues=sy,s.setIssueTypeFieldValuesAttachment=wy,s.setIssueTypeFieldValuesAttachments=Ey,s.setIssueTypeFieldValuesMany=iy,s.setIssueTypeFields=fy,s.setIssueTypeFieldsAttachment=Lp,s.setIssueTypeFieldsAttachments=Hp,s.setIssueTypeFieldsMany=Sy,s.setIssueTypeIdentifier=Hy,s.setIssueTypeIdentifierValue=im,s.setIssueTypeIdentifierValues=am,s.setIssueTypeIdentifiers=Gy,s.setIssueTypePriorities=Am,s.setIssueTypePriority=Sm,s.setIssueTypeStatus=Gm,s.setIssueTypeStatuses=Nm,s.setIssueTypes=vm,s.setIssueUpdate=tf,s.setIssueUpdates=sf,s.setIssues=mp,s.setLoggedIn=vd,s.setOrganization=qf,s.setOrganizationAccess=_f,s.setOrganizationAccesses=Mf,s.setOrganizations=Df,s.setProcedure=jA,s.setProcedureFieldValues=eb,s.setProcedureFieldValuesAttachment=UP,s.setProcedureFieldValuesAttachments=kP,s.setProcedureFieldValuesMany=tb,s.setProcedureInitiative=PA,s.setProcedureInitiatives=bA,s.setProcedureStep=qO,s.setProcedureStepAssignee=QA,s.setProcedureStepAssignees=xA,s.setProcedureStepComment=hT,s.setProcedureStepComments=pT,s.setProcedureStepDefaultAssignee=MT,s.setProcedureStepDefaultAssignees=gT,s.setProcedureStepDefaultReviewer=UT,s.setProcedureStepDefaultReviewers=kT,s.setProcedureStepEvent=eI,s.setProcedureStepEvents=tI,s.setProcedureStepFieldValues=xI,s.setProcedureStepFieldValuesAttachment=$I,s.setProcedureStepFieldValuesAttachments=UI,s.setProcedureStepFieldValuesMany=eO,s.setProcedureStepFieldValuesReview=hO,s.setProcedureStepFieldValuesReviews=pO,s.setProcedureStepFields=gI,s.setProcedureStepFieldsAttachment=pI,s.setProcedureStepFieldsAttachments=yI,s.setProcedureStepFieldsMany=RI,s.setProcedureStepReviewer=MO,s.setProcedureStepReviewers=gO,s.setProcedureSteps=$O,s.setProcedureType=yb,s.setProcedureTypeAttachment=xO,s.setProcedureTypeAttachments=eP,s.setProcedureTypeFields=gP,s.setProcedureTypeFieldsAttachment=pP,s.setProcedureTypeFieldsAttachments=yP,s.setProcedureTypeFieldsMany=RP,s.setProcedureTypes=mb,s.setProcedures=CA,s.setProject=rA,s.setProjectAccess=cS,s.setProjectAccesses=rS,s.setProjectAttachment=TS,s.setProjectAttachments=IS,s.setProjectComment=BS,s.setProjectComments=zS,s.setProjectFile=NS,s.setProjectFiles=KS,s.setProjects=cA,s.setRehydrated=Rg,s.setTeam=Hb,s.setTeamMembership=wb,s.setTeamMemberships=Eb,s.setTeams=Gb,s.setTokens=s_,s.setUser=pf,s.setUsers=hf,s.teamMembershipReducer=jb,s.teamMembershipSlice=ln,s.teamReducer=Qb,s.teamSlice=on,s.updateAsset=ac,s.updateAssetAttachment=Bn,s.updateAssetAttachments=zn,s.updateAssetComment=Kn,s.updateAssetComments=Wn,s.updateAssetType=dd,s.updateAssetTypeAttachment=Tc,s.updateAssetTypeAttachments=Ic,s.updateAssetTypeFieldValues=Ir,s.updateAssetTypeFieldValuesAttachment=cr,s.updateAssetTypeFieldValuesAttachments=rr,s.updateAssetTypeFieldValuesMany=Or,s.updateAssetTypeFields=Wc,s.updateAssetTypeFieldsAttachment=Bc,s.updateAssetTypeFieldsAttachments=zc,s.updateAssetTypeFieldsMany=Xc,s.updateAssetTypeIdentifier=zr,s.updateAssetTypeIdentifierValue=Xr,s.updateAssetTypeIdentifierValues=Yr,s.updateAssetTypeIdentifiers=jr,s.updateAssetTypeStatus=Pd,s.updateAssetTypeStatuses=bd,s.updateAssetTypes=ud,s.updateAssets=nc,s.updateCapture=W_,s.updateCaptureAnalyses=F_,s.updateCaptureAnalysis=b_,s.updateCaptureAnalysisItem=o_,s.updateCaptureAnalysisItems=h_,s.updateCaptureSidecar=j_,s.updateCaptureSidecars=C_,s.updateCaptures=X_,s.updateConversation=Mn,s.updateConversations=UF,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=Do,s.updateFormSubmissionFieldValues=Fo,s.updateFormSubmissionFieldValuesAttachment=po,s.updateFormSubmissionFieldValuesAttachments=yo,s.updateFormSubmissionFieldValuesMany=_o,s.updateFormSubmissions=qo,s.updateFormSubscriber=$l,s.updateFormSubscribers=Ul,s.updateForms=eo,s.updateGeoImage=th,s.updateGeoImages=sh,s.updateIssue=fp,s.updateIssueAssociation=ph,s.updateIssueAssociations=yh,s.updateIssueAttachment=Eh,s.updateIssueAttachments=vh,s.updateIssueComment=ap,s.updateIssueCommentAttachment=Gh,s.updateIssueCommentAttachments=Nh,s.updateIssueComments=np,s.updateIssueType=Vm,s.updateIssueTypeAttachment=Ep,s.updateIssueTypeAttachments=vp,s.updateIssueTypeFieldValues=ay,s.updateIssueTypeFieldValuesAttachment=vy,s.updateIssueTypeFieldValuesAttachments=Vy,s.updateIssueTypeFieldValuesMany=ny,s.updateIssueTypeFields=Ay,s.updateIssueTypeFieldsAttachment=Gp,s.updateIssueTypeFieldsAttachments=Np,s.updateIssueTypeFieldsMany=Ty,s.updateIssueTypeIdentifier=Ny,s.updateIssueTypeIdentifierValue=nm,s.updateIssueTypeIdentifierValues=cm,s.updateIssueTypeIdentifiers=Ky,s.updateIssueTypePriorities=Im,s.updateIssueTypePriority=Tm,s.updateIssueTypeStatus=Km,s.updateIssueTypeStatuses=Wm,s.updateIssueTypes=Bm,s.updateIssueUpdate=af,s.updateIssueUpdates=nf,s.updateIssues=Sp,s.updateOrganization=Lf,s.updateOrganizationAccess=gf,s.updateOrganizationAccesses=Rf,s.updateOrganizations=kf,s.updateProcedure=DA,s.updateProcedureFieldValues=sb,s.updateProcedureFieldValuesAttachment=LP,s.updateProcedureFieldValuesAttachments=HP,s.updateProcedureFieldValuesMany=ib,s.updateProcedureInitiative=FA,s.updateProcedureInitiatives=_A,s.updateProcedureStep=LO,s.updateProcedureStepAssignee=eT,s.updateProcedureStepAssignees=tT,s.updateProcedureStepComment=yT,s.updateProcedureStepComments=mT,s.updateProcedureStepDefaultAssignee=RT,s.updateProcedureStepDefaultAssignees=wT,s.updateProcedureStepDefaultReviewer=LT,s.updateProcedureStepDefaultReviewers=HT,s.updateProcedureStepEvent=sI,s.updateProcedureStepEvents=iI,s.updateProcedureStepFieldValues=tO,s.updateProcedureStepFieldValuesAttachment=kI,s.updateProcedureStepFieldValuesAttachments=LI,s.updateProcedureStepFieldValuesMany=sO,s.updateProcedureStepFieldValuesReview=yO,s.updateProcedureStepFieldValuesReviews=mO,s.updateProcedureStepFields=wI,s.updateProcedureStepFieldsAttachment=mI,s.updateProcedureStepFieldsAttachments=fI,s.updateProcedureStepFieldsMany=EI,s.updateProcedureStepReviewer=RO,s.updateProcedureStepReviewers=wO,s.updateProcedureSteps=HO,s.updateProcedureType=fb,s.updateProcedureTypeAttachment=tP,s.updateProcedureTypeAttachments=sP,s.updateProcedureTypeFields=wP,s.updateProcedureTypeFieldsAttachment=mP,s.updateProcedureTypeFieldsAttachments=fP,s.updateProcedureTypeFieldsMany=EP,s.updateProcedureTypes=Sb,s.updateProcedures=qA,s.updateProject=oA,s.updateProjectAccess=dS,s.updateProjectAccesses=uS,s.updateProjectAttachment=OS,s.updateProjectAttachments=PS,s.updateProjectComment=jS,s.updateProjectComments=CS,s.updateProjectFile=YS,s.updateProjectFiles=ZS,s.updateProjects=lA,s.updateTeam=Nb,s.updateTeamMembership=vb,s.updateTeamMemberships=Vb,s.updateTeams=Kb,s.updateUser=ff,s.updateUsers=mf,s.useSelectorBuilder=CF,s.userReducer=Af,s.userSlice=da,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:s_(e),size:e.size};return await this.client.files.cacheFile(e),a}async cachePresignedUrl(e,i){if(In.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),In.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),In.delete(e)}async getPresignedUrlFromCache(e){const i=await(await this.getDB()).get("presignedUrls",e);if(!i)return;if(u_(i)){await this.uncachePresignedUrl(e);return}return i}}class oR extends g{name="Form Identifier";url="/form-identifiers";actions={addOne:gl,addMany:Rl,setOne:wl,setMany:El,updateOne:vl,updateMany:Vl,deleteOne:Bl,deleteMany:zl,initialize:Ml};selectors={selectById:Cl,selectByIds:Dl};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 hR extends g{name="Form Identifier Value";url="/form-identifier-values";actions={addOne:kl,addMany:Ll,setOne:Hl,setMany:Gl,updateOne:Nl,updateMany:Kl,deleteOne:Wl,deleteMany:Xl,initialize:Ul};selectors={selectById:Zl,selectByIds:Jl};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 pR extends v{name="Form Revision Attachment";url="/form-revision-attachments";actions={addOne:to,addMany:so,setOne:io,setMany:ao,updateOne:no,updateMany:co,deleteOne:ro,deleteMany:uo,initialize:eo};selectors={selectById:oo,selectByIds:ho};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 yR extends g{name="Form Revision";url="/form-revisions";actions={addOne:fo,addMany:ci,setOne:So,setMany:Ao,updateOne:To,updateMany:Io,deleteOne:Oo,deleteMany:ri,initialize:mo};selectors={selectById:bo,selectByIds:Fo};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 mR extends g{name="Form";url="/forms";actions={addOne:Lo,addMany:Ho,setOne:Go,setMany:No,updateOne:Ko,updateMany:Wo,deleteOne:Xo,deleteMany:Yo,initialize:ko};selectors={selectById:Qo,selectByIds:xo};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(jh(e)),r=this.select(_o(e)),p=this.select(qo(e));this.dispatch(i(e)),this.dispatch(ot(l.toUuidArray(d))),this.dispatch(ri(l.toUuidArray(r))),this.dispatch(li(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(ci(r)),this.dispatch(lt(d)),this.dispatch(ui(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 fR extends g{name="Form Subscriber";url="/form-subscribers";actions={addOne:wo,addMany:ui,setOne:Eo,setMany:vo,updateOne:Vo,updateMany:Bo,deleteOne:zo,deleteMany:li,initialize:Ro};selectors={selectById:Co,selectByIds:Do};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 SR extends v{name="Form Submission Field Values Attachment";url="/form-submission-field-values-attachments";actions={addOne:sh,addMany:yi,setOne:ih,setMany:ah,updateOne:nh,updateMany:ch,deleteOne:rh,deleteMany:mi,initialize:th};selectors={selectById:dh,selectByIds:Ai};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(Ai(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 AR extends g{name="Form Submission Field Values";url="/form-submission-field-values";actions={addOne:ph,addMany:Ii,setOne:yh,setMany:mh,updateOne:fh,updateMany:Sh,deleteOne:Ah,deleteMany:Oi,initialize:hh};selectors={selectById:Ih,selectByIds:Oh};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 TR extends g{name="Form Submission";url="/form-submissions";actions={addOne:Rh,addMany:lt,setOne:Mh,setMany:gh,updateOne:wh,updateMany:Eh,deleteOne:vh,deleteMany:ot,initialize:_h};selectors={selectById:Bh,selectByIds:zh};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(Ph(e)),r=d.flatMap(({uuid:p})=>this.select(uh(p)));this.dispatch(i(e)),this.dispatch(Oi(l.toUuidArray(d))),this.dispatch(mi(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(Ii(d)),this.dispatch(yi(r)),p}}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 IR extends v{name="Geo Image";url="/geo-images";actions={addOne:Nh,addMany:Kh,setOne:Hh,setMany:Gh,updateOne:Wh,updateMany:Xh,deleteOne:Yh,deleteMany:Zh,initialize:Lh};selectors={selectById:Qh,selectByIds:xh};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 OR extends g{name="Issue Association";url="/issue-associations";actions={addOne:rp,addMany:At,setOne:ap,setMany:ip,updateOne:np,updateMany:cp,deleteOne:dp,deleteMany:Tt,initialize:sp};selectors={selectById:lp,selectByIds:op};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 PR extends v{name="Issue Attachment";url="/issue-attachments";actions={addOne:Tp,addMany:Ri,setOne:Ip,setMany:Op,updateOne:Pp,updateMany:bp,deleteOne:Fp,deleteMany:wi,initialize:Ap};selectors={selectById:gp,selectByIds:Rp};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 bR extends v{name="Issue Comment Attachment";url="/issue-comment-attachments";actions={addOne:Vp,addMany:Bp,setOne:zp,setMany:jp,updateOne:Cp,updateMany:Dp,deleteOne:qp,deleteMany:$p,initialize:vp};selectors={selectById:kp,selectByIds:Lp};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 FR extends g{name="Issue Comment";url="/issue-comments";actions={addOne:Kp,addMany:Wp,setOne:Xp,setMany:Yp,updateOne:Zp,updateMany:Jp,deleteOne:Qp,deleteMany:xp,initialize:Np};selectors={selectById:ey,selectByIds:ty};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 _R extends g{name="Issue";url="/issues";actions={addOne:ny,addMany:Ci,setOne:cy,setMany:ry,updateOne:dy,updateMany:uy,deleteOne:ly,deleteMany:Di,initialize:ay};selectors={selectById:hy,selectByIds:py};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(xi(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(aa(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(ca(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(da(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,b)=>l.uuidSortFn(S.uuid,b.uuid)),p=e.toSorted((S,b)=>l.uuidSortFn(S.uuid,b.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 b=ut.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:[b].concat(_)});A.push(V),I=b}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(pp(e)),r=this.select(Mp(e)),p=this.select(eS(e)),h=this.select(Ch(e));this.dispatch(i(e)),this.dispatch(wi(l.toUuidArray(r))),this.dispatch(ua(l.toUuidArray(p))),this.dispatch(Tt(l.toUuidArray(d))),this.dispatch(ot(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(Ri(r)),this.dispatch(ra(p)),this.dispatch(At(d)),this.dispatch(lt(h)),f}}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(hp(e)),r=this.select(Dh(e));this.dispatch(a(e)),this.dispatch(Tt(l.toUuidArray(d))),this.dispatch(ot(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(At(d)),this.dispatch(lt(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 MR extends v{name="Issue Type Attachment";url="/issue-type-attachments";actions={addOne:Ay,addMany:Ty,setOne:Iy,setMany:Oy,updateOne:Py,updateMany:by,deleteOne:Fy,deleteMany:_y,initialize:Sy};selectors={selectById:gy,selectByIds:Ry};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 gR extends v{name="Issue Type Fields Attachment";url="/issue-type-fields-attachments";actions={addOne:Vy,addMany:By,setOne:zy,setMany:jy,updateOne:Cy,updateMany:Dy,deleteOne:qy,deleteMany:$y,initialize:vy};selectors={selectById:ky,selectByIds:Ly};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 RR extends g{name="Issue Type Fields";url="/issue-type-fields";actions={addOne:cm,addMany:rm,setOne:dm,setMany:um,updateOne:lm,updateMany:om,deleteOne:hm,deleteMany:pm,initialize:nm};selectors={selectById:mm,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:[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 wR extends v{name="Issue Type Field Values Attachment";url="/issue-type-field-values-attachments";actions={addOne:Im,addMany:Ni,setOne:Om,setMany:Pm,updateOne:bm,updateMany:Fm,deleteOne:_m,deleteMany:Ki,initialize:Tm};selectors={selectById:gm,selectByIds:Rm};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 ER extends g{name="Issue Type Field Values";url="/issue-type-field-values";actions={addOne:Ky,addMany:Wy,setOne:Xy,setMany:Yy,updateOne:Zy,updateMany:Jy,deleteOne:Qy,deleteMany:xy,initialize:Ny};selectors={selectById:tm,selectByIds:sm};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(wm(e));this.dispatch(i(e)),this.dispatch(Ki(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(Ni(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 vR extends g{name="Issue Type Identifier";url="/issue-type-identifiers";actions={addOne:Bm,addMany:zm,setOne:jm,setMany:Cm,updateOne:Dm,updateMany:qm,deleteOne:$m,deleteMany:Um,initialize:Vm};selectors={selectById:Lm,selectByIds:Hm};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 VR extends g{name="Issue Type Identifier Value";url="/issue-type-identifier-values";actions={addOne:Wm,addMany:Xm,setOne:Ym,setMany:Zm,updateOne:Jm,updateMany:Qm,deleteOne:xm,deleteMany:ef,initialize:Km};selectors={selectById:sf,selectByIds:af};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 BR extends g{name="Issue Type Priority";url="/issue-type-priorities";actions={addOne:df,addMany:uf,setOne:lf,setMany:of,updateOne:hf,updateMany:pf,deleteOne:yf,deleteMany:mf,initialize:rf};selectors={selectById:xi,selectByIds:Sf};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 zR extends g{name="Issue Type";url="/issue-types";actions={addOne:Of,addMany:Pf,setOne:bf,setMany:Ff,updateOne:_f,updateMany:Mf,deleteOne:gf,deleteMany:Rf,initialize:If};selectors={selectById:Ef,selectByIds:vf};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(yy(e));this.dispatch(a(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(i(c)),this.dispatch(Ci(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 jR extends g{name="Issue Type Status";url="/issue-type-statuses";actions={addOne:jf,addMany:Cf,setOne:Df,setMany:qf,updateOne:$f,updateMany:Uf,deleteOne:kf,deleteMany:Lf,initialize:zf};selectors={selectById:aa,selectByIds:Gf};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 CR extends g{name="Issue Update";url="/issue-updates";actions={addOne:ca,addMany:ra,setOne:Xf,setMany:Yf,updateOne:Zf,updateMany:Jf,deleteOne:da,deleteMany:ua,initialize:Wf};selectors={selectById:Qf,selectByIds:xf};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 DR=1800;function qR(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 $R extends l_{_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(jd(!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=__(e).exp??i}catch{a=i}return a-i<DR}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=ut.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(qR(a))})}}class UR extends rt{name="Organization Access";url="/organization-accesses";actions={addOne:mS,addMany:fS,setOne:SS,setMany:AS,updateOne:TS,updateMany:IS,deleteOne:OS,deleteMany:PS,initialize:yS};selectors={selectById:FS,selectByIds:_S};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(ya(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(pa(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 kR extends rt{name="Organization";url="/organizations";actions={addOne:VS,addMany:vS,setOne:ES,setMany:wS,updateOne:zS,updateMany:BS,deleteOne:jS,deleteMany:CS,initialize:RS};selectors={selectById:$S,selectByIds:US};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 LR extends g{name="Project Access";url="/project-accesses";actions={addOne:ZS,addMany:JS,setOne:QS,setMany:xS,updateOne:eA,updateMany:tA,deleteOne:sA,deleteMany:iA,initialize:YS};selectors={selectById:nA,selectByIds:cA};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 HR extends v{name="Project Attachment";url="/project-attachments";actions={addOne:uA,addMany:lA,setOne:oA,setMany:hA,updateOne:pA,updateMany:yA,deleteOne:mA,deleteMany:fA,initialize:dA};selectors={selectById:AA,selectByIds:TA};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 GR extends g{name="Project Comment";url="/project-comments";actions={addOne:bA,addMany:FA,setOne:_A,setMany:MA,updateOne:gA,updateMany:RA,deleteOne:wA,deleteMany:EA,initialize:PA};selectors={selectById:VA,selectByIds:BA};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 NR extends v{name="Project File";url="/project-files";actions={addOne:$A,addMany:UA,setOne:DA,setMany:qA,updateOne:kA,updateMany:LA,deleteOne:HA,deleteMany:GA,initialize:CA};selectors={selectById:WA,selectByIds:XA};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 KR extends rt{name="Project";url="/projects";actions={addOne:tT,addMany:eT,setOne:xA,setMany:QA,updateOne:iT,updateMany:sT,deleteOne:aT,deleteMany:nT,initialize:JA};selectors={selectById:dT,selectByIds:uT};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 WR extends g{name="Procedure";url="/procedures";actions={addOne:MT,addMany:Ot,setOne:gT,setMany:RT,updateOne:wT,updateMany:ET,deleteOne:vT,deleteMany:Pt,initialize:_T};selectors={selectById:zT,selectByIds:jT};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 b=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:r,created_by:p});h.push(R),b.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:b},blockers:_,blocks:F};A.push(w)}this.dispatch(n(h));const I=A.map(S=>{const{payload:b,blocks:_,blockers:F}=S;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,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 XR extends g{name="Procedure Step Assignee";url="/procedure-step-assignees";actions={addOne:LT,addMany:HT,setOne:GT,setMany:NT,updateOne:KT,updateMany:WT,deleteOne:XT,deleteMany:YT,initialize:kT};selectors={selectById:JT,selectByIds:QT};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 YR extends g{name="Procedure Step Comment";url="/procedure-step-comments";actions={addOne:sI,addMany:iI,setOne:aI,setMany:nI,updateOne:cI,updateMany:rI,deleteOne:dI,deleteMany:uI,initialize:tI};selectors={selectById:oI,selectByIds:hI};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 ZR extends g{name="Procedure Step Default Assignee";url="/procedure-step-default-assignees";actions={addOne:fI,addMany:SI,setOne:AI,setMany:TI,updateOne:II,updateMany:OI,deleteOne:PI,deleteMany:bI,initialize:mI};selectors={selectById:_I,selectByIds:MI};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 JR extends g{name="Procedure Step Default Reviewer";url="/procedure-step-default-reviewers";actions={addOne:EI,addMany:vI,setOne:VI,setMany:BI,updateOne:zI,updateMany:jI,deleteOne:CI,deleteMany:DI,initialize:wI};selectors={selectById:$I,selectByIds:UI};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 QR extends rt{name="Procedure Step Event";url="/procedure-step-events";actions={addOne:GI,addMany:NI,setOne:KI,setMany:WI,updateOne:XI,updateMany:YI,deleteOne:ZI,deleteMany:JI,initialize:HI};selectors={selectById:xI,selectByIds:eO};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 xR extends v{name="Procedure Step Fields Attachment";url="/procedure-step-fields-attachments";actions={addOne:aO,addMany:Ca,setOne:nO,setMany:cO,updateOne:rO,updateMany:dO,deleteOne:uO,deleteMany:Da,initialize:iO};selectors={selectById:hO,selectByIds:pO};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 ew extends g{name="Procedure Step Fields";url="/procedure-step-fields";actions={addOne:SO,addMany:AO,setOne:TO,setMany:IO,updateOne:OO,updateMany:PO,deleteOne:bO,deleteMany:FO,initialize:fO};selectors={selectById:_O,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.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 fields with uuid ${e} to exist`);const d=this.select(oO(e));this.dispatch(i(e)),this.dispatch(Da(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(Ca(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 tw extends v{name="Procedure Step Field Values Attachment";url="/procedure-step-field-values-attachments";actions={addOne:EO,addMany:La,setOne:vO,setMany:VO,updateOne:BO,updateMany:zO,deleteOne:jO,deleteMany:Ha,initialize:wO};selectors={selectById:DO,selectByIds:qO};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 sw extends g{name="Procedure Step Field Values Review";url="/procedure-step-field-values-reviews";actions={addOne:iP,addMany:Wa,setOne:aP,setMany:nP,updateOne:cP,updateMany:rP,deleteOne:dP,deleteMany:Xa,initialize:sP};selectors={selectById:lP,selectByIds:oP};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 iw extends g{name="Procedure Step Field Values";url="/procedure-step-field-values";actions={addOne:HO,addMany:GO,setOne:NO,setMany:KO,updateOne:WO,updateMany:XO,deleteOne:YO,deleteMany:ZO,initialize:LO};selectors={selectById:xO,selectByIds:eP};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=[],b=[],_=[];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)),b.push(w.procedure_step,w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:b,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:b,blockers:_}=I;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:b})});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($O(e)),r=this.select(hP(e));this.dispatch(i(e)),this.dispatch(Ha(l.toUuidArray(d))),this.dispatch(Xa(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(La(d)),this.dispatch(Wa(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 aw extends g{name="Procedure Step Reviewer";url="/procedure-step-reviewers";actions={addOne:fP,addMany:SP,setOne:AP,setMany:TP,updateOne:IP,updateMany:OP,deleteOne:PP,deleteMany:bP,initialize:mP};selectors={selectById:_P,selectByIds:MP};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 nw extends g{name="Procedure Initiative";url="/procedure-initiatives";actions={addOne:hT,addMany:pT,setOne:yT,setMany:mT,updateOne:fT,updateMany:ST,deleteOne:AT,deleteMany:TT,initialize:oT};selectors={selectById:PT,selectByIds:bT};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($T(e));this.dispatch(i(e)),this.dispatch(Pt(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(Ot(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 cw extends g{name="Procedure Step";url="/procedure-steps";actions={addOne:VP,addMany:BP,setOne:EP,setMany:vP,updateOne:zP,updateMany:jP,deleteOne:CP,deleteMany:DP,initialize:wP};selectors={selectById:$P,selectByIds:UP};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,b)=>l.uuidSortFn(S.uuid,b.uuid)),p=e.toSorted((S,b)=>l.uuidSortFn(S.uuid,b.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 b=ut.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:[b].concat(_)});A.push(F),I=b}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 rw extends v{name="Procedure Type Attachment";url="/procedure-type-attachments";actions={addOne:HP,addMany:GP,setOne:NP,setMany:KP,updateOne:WP,updateMany:XP,deleteOne:YP,deleteMany:ZP,initialize:LP};selectors={selectById:xP,selectByIds:eb};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 dw extends v{name="Procedure Type Fields Attachment";url="/procedure-type-fields-attachments";actions={addOne:ib,addMany:ab,setOne:nb,setMany:cb,updateOne:rb,updateMany:db,deleteOne:ub,deleteMany:lb,initialize:sb};selectors={selectById:pb,selectByIds:yb};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 uw extends g{name="Procedure Type Fields";url="/procedure-type-fields";actions={addOne:Sb,addMany:Ab,setOne:Tb,setMany:Ib,updateOne:Ob,updateMany:Pb,deleteOne:bb,deleteMany:Fb,initialize:fb};selectors={selectById:gb,selectByIds:Rb};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 lw extends v{name="Procedure Field Values Attachment";url="/procedure-field-values-attachments";actions={addOne:vb,addMany:cn,setOne:Vb,setMany:Bb,updateOne:zb,updateMany:jb,deleteOne:Cb,deleteMany:rn,initialize:Eb};selectors={selectById:$b,selectByIds:Ub};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 ow extends g{name="Procedure Field Values";url="/procedure-field-values";actions={addOne:Gb,addMany:Nb,setOne:Kb,setMany:Wb,updateOne:Xb,updateMany:Yb,deleteOne:Zb,deleteMany:Jb,initialize:Hb};selectors={selectById:eF,selectByIds:tF};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=[],b=[],_=[];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)),b.push(w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:b,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:b,blockers:_}=I;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:b})});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(kb(e));this.dispatch(i(e)),this.dispatch(rn(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(cn(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 hw extends g{name="Procedure Type";url="/procedure-types";actions={addOne:aF,addMany:nF,setOne:cF,setMany:rF,updateOne:dF,updateMany:uF,deleteOne:lF,deleteMany:oF,initialize:iF};selectors={selectById:yF,selectByIds:mF};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(CT(e));this.dispatch(i(e)),this.dispatch(Pt(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(Ot(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 pw extends g{name="Team Membership";url="/team-memberships";actions={addOne:TF,addMany:IF,setOne:OF,setMany:PF,updateOne:bF,updateMany:FF,deleteOne:_F,deleteMany:MF,initialize:AF};selectors={selectById:wF,selectByIds:EF};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 yw extends g{name="Team";url="/teams";actions={addOne:BF,addMany:zF,setOne:jF,setMany:CF,updateOne:DF,updateMany:qF,deleteOne:$F,deleteMany:UF,initialize:VF};selectors={selectById:LF,selectByIds:HF};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 mw extends rt{name="User";url="/user";actions={addOne:pa,addMany:cS,setOne:nS,setMany:aS,updateOne:dS,updateMany:rS,deleteOne:ya,deleteMany:uS,initialize:iS};selectors={selectById:Qt,selectByIds:hS};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}}class fw extends v{name="Capture";url="/captures";actions={addOne:_u,addMany:Mu,setOne:gu,setMany:Ru,updateOne:wu,updateMany:Eu,deleteOne:vu,deleteMany:Vu,initialize:Fu};selectors={selectById:zu,selectByIds:ju};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){return l.uuidObj({...e,created_by:this.select(i=>i.userReducer.currentUser?.id??null)})}buildPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project,captured_at:e.captured_at}}buildBulkPayload(e){return this.buildPayload(e)}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Capture with uuid ${e} not found in store`);const d=this.select(Ou(e));this.dispatch(a(e)),d&&this.dispatch(Ns(d.uuid));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)),d&&this.dispatch(Gs(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 Sw extends v{name="Capture Sidecar";url="/capture-sidecars";actions={addOne:Gs,addMany:hu,setOne:pu,setMany:yu,updateOne:mu,updateMany:fu,deleteOne:Ns,deleteMany:Su,initialize:ou};selectors={selectById:Tu,selectByIds:Iu};getId(e){return e.uuid}getBlockers(e){return[e.capture]}getBlocks(e){return[e.uuid]}buildModel(e){return l.uuidObj({...e,created_by:this.select(i=>i.userReducer.currentUser?.id??null)})}buildPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,capture:e.capture}}buildBulkPayload(e){return this.buildPayload(e)}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{capture__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Aw extends rt{name="Capture Analysis";url="/capture-analyses";actions={addOne:Qd,addMany:xd,setOne:eu,setMany:tu,updateOne:su,updateMany:iu,deleteOne:au,deleteMany:nu,initialize:Jd};selectors={selectById:ru,selectByIds:du};async add(e){const i=await this.performRequest({method:o.POST,url:`${this.url}/`,payload:{capture:e}});return this.dispatch(this.actions.setOne(i)),i}async delete(e){const i=this.select(this.selectors.selectById(e));if(!i)throw new Error(`Capture analysis with uuid ${e} not found in store`);const a=this.select(Xd(e));this.dispatch(this.actions.deleteOne(e)),this.dispatch($s(a.map(({uuid:n})=>n)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(n){throw this.dispatch(this.actions.addOne(i)),this.dispatch(qs(a)),n}}async refreshStore(e,i){const n=(await this.listPaginated({queryParams:{capture__project:e}},i)).flat();return this.dispatch(this.actions.initialize(n)),n}}class Tw extends rt{name="Capture Analysis Item";url="/capture-analysis-items";actions={addOne:$d,addMany:qs,setOne:Ud,setMany:kd,updateOne:Ld,updateMany:Hd,deleteOne:Gd,deleteMany:$s,initialize:qd};selectors={selectById:Kd,selectByIds:Wd};async refreshStore(e,i){const n=(await this.listPaginated({queryParams:{analysis__capture__project:e}},i)).flat();return this.dispatch(this.actions.initialize(n)),n}}async function On(t,e,i,a,n){const c=a instanceof mt;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:b,isResponseBlob:_}={...d,...e};let F=e.url;const w=I?await i.files.getFileFromCache(I):void 0,V=w?await t_(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)},zt={[o.GET]:()=>_?St.get(F.toString()).responseType("blob"):St.get(F.toString()),[o.POST]:()=>{const B=St.post(F.toString());return R(B)},[o.PATCH]:()=>{const B=St.patch(F.toString());return R(B)},[o.PUT]:()=>{const B=St.put(F.toString());return R(B)},[o.DELETE]:()=>{const B=St.delete(F.toString());return R(B)}}[f];let j=zt();const rs=()=>{console.debug("aborting request:",e.url),j.abort()};n?.addEventListener("abort",rs),b&&c&&(j=a.auth.applyAuth(j)),h&&(j=j.set(h));try{return await j.query(A)}catch(B){const q=e_(B),jt=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:An.includes(jt)})}finally{n?.removeEventListener("abort",rs)}}class Iw{store;constructor(e){this.store=e}_performRequest(e,i,a,n){const c=new l.DeferredPromise,d={...i,uuid:i.uuid??ut.v4()};return On(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(GS(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 M_.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 o_;function h_(t){o_=t}function Ft(){return o_}let p_;function y_(t){p_=t}function m_(){return p_}let Pn=null;function ft(){const t=Ft();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=bt._fromOutbox(e);return Pn=i,i}const Ow=(t,e)=>{const i=new e(t);return y_(i),h_(t),i};class Pw{_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 bn{next;constructor(){this.next=null}then(e){return new Pw(this).then(e)}async run(e){if(this.next)return this.next.run(e);{if(console.debug("Middleware finished. Performing request:",e.payload.url),!Ft())throw new Error("Client store not set");const a=m_();if(!a)throw new Error("Client SDK not set");return JF(e,a)}}}class f_ extends bn{async run(e){return super.run(e)}}class S_ extends bn{async run(e){return super.run(e)}}const A_=new f_().then(new S_).compile();function T_(t){return A_[0]?.run(t)}s.ALL_MIDDLEWARE=A_,s.APIError=z,s.AgentService=Wg,s.AssetAttachmentService=Xg,s.AssetCommentService=Yg,s.AssetService=Zg,s.AssetTypeAttachmentService=Jg,s.AssetTypeFieldValuesAttachmentService=eR,s.AssetTypeFieldValuesService=tR,s.AssetTypeFieldsAttachmentService=Qg,s.AssetTypeFieldsService=xg,s.AssetTypeIdentifierService=sR,s.AssetTypeIdentifierValueService=iR,s.AssetTypeService=aR,s.AssetTypeStatusService=nR,s.BaseApiService=mt,s.BaseAuthService=l_,s.BaseModelApiService=rt,s.BaseOfflineFileModelApiService=v,s.BaseOfflineModelApiService=g,s.BaseSDK=Iw,s.COMMON_AUTO_FIELDS=_n,s.CaptureAnalysisItemService=Tw,s.CaptureAnalysisService=Aw,s.CaptureService=fw,s.CaptureSidecarService=Sw,s.DEFAULT_PAGE_SIZE=KF,s.DISCARD_HTTP_STATUSES=An,s.DocumentAttachmentService=cR,s.DocumentService=rR,s.EmailDomainsService=dR,s.EmailVerificationService=uR,s.FileService=lR,s.FormIdentifierService=oR,s.FormIdentifierValueService=hR,s.FormRevisionAttachmentService=pR,s.FormRevisionService=yR,s.FormService=mR,s.FormSubmissionFieldValuesAttachmentService=SR,s.FormSubmissionFieldValuesService=AR,s.FormSubmissionService=TR,s.FormSubscriberService=fR,s.GeoImageService=IR,s.HttpMethod=o,s.IssueAssociationService=OR,s.IssueAttachmentService=PR,s.IssueCommentAttachmentService=bR,s.IssueCommentService=FR,s.IssueService=_R,s.IssueTypeAttachmentService=MR,s.IssueTypeFieldValuesAttachmentService=wR,s.IssueTypeFieldValuesService=ER,s.IssueTypeFieldsAttachmentService=gR,s.IssueTypeFieldsService=RR,s.IssueTypeIdentifierService=vR,s.IssueTypeIdentifierValueService=VR,s.IssueTypePriorityService=BR,s.IssueTypeService=zR,s.IssueTypeStatusService=jR,s.IssueUpdateService=CR,s.JWTService=$R,s.MAX_SERVICE_BATCH_SIZE=D,s.OUTBOX_RETRY_DELAY=6e4,s.OfflineAnalyticsMiddleware=f_,s.OfflineMiddleware=bn,s.OrganizationAccessService=UR,s.OrganizationService=kR,s.OutboxCoordinator=bt,s.ProcdureInitiativeService=nw,s.ProcedureFieldValuesAttachmentService=lw,s.ProcedureFieldValuesService=ow,s.ProcedureService=WR,s.ProcedureStepAssigneeService=XR,s.ProcedureStepCommentService=YR,s.ProcedureStepDefaultAssigneeService=ZR,s.ProcedureStepDefaultReviewerService=JR,s.ProcedureStepEventService=QR,s.ProcedureStepFieldValuesAttachmentService=tw,s.ProcedureStepFieldValuesReviewService=sw,s.ProcedureStepFieldValuesService=iw,s.ProcedureStepFieldsAttachmentService=xR,s.ProcedureStepFieldsService=ew,s.ProcedureStepReviewerService=aw,s.ProcedureStepService=cw,s.ProcedureTypeAttachmentService=rw,s.ProcedureTypeFieldsAttachmentService=dw,s.ProcedureTypeFieldsService=uw,s.ProcedureTypeService=hw,s.ProjectAccessService=LR,s.ProjectAttachmentService=HR,s.ProjectCommentService=GR,s.ProjectFileService=NR,s.ProjectService=KR,s.RESET_ORGANIZATION_STATE=P,s.RESET_PROJECT_STATE=E,s.RESET_STATE=T,s.RateLimitingMiddleware=S_,s.SelectorBuilder=w_,s.TeamMembershipService=pw,s.TeamService=yw,s.UserService=mw,s._setLatestRetryTime=KS,s.addAsset=rc,s.addAssetAttachment=zn,s.addAssetAttachments=os,s.addAssetComment=Wn,s.addAssetComments=Ct,s.addAssetType=ld,s.addAssetTypeAttachment=Ic,s.addAssetTypeAttachments=Ts,s.addAssetTypeFieldValues=Ir,s.addAssetTypeFieldValuesAttachment=rr,s.addAssetTypeFieldValuesAttachments=Ms,s.addAssetTypeFieldValuesMany=Or,s.addAssetTypeFields=Wc,s.addAssetTypeFieldsAttachment=Bc,s.addAssetTypeFieldsAttachments=zc,s.addAssetTypeFieldsMany=Xc,s.addAssetTypeIdentifier=zr,s.addAssetTypeIdentifierValue=Xr,s.addAssetTypeIdentifierValues=Yr,s.addAssetTypeIdentifiers=jr,s.addAssetTypeStatus=Pd,s.addAssetTypeStatuses=bd,s.addAssetTypes=od,s.addAssets=fs,s.addCapture=_u,s.addCaptureAnalyses=xd,s.addCaptureAnalysis=Qd,s.addCaptureAnalysisItem=$d,s.addCaptureAnalysisItems=qs,s.addCaptureSidecar=Gs,s.addCaptureSidecars=hu,s.addCaptures=Mu,s.addConversation=Rn,s.addConversations=E_,s.addDocument=xu,s.addDocumentAttachment=$u,s.addDocumentAttachments=Uu,s.addDocuments=el,s.addEmailDomain=pl,s.addEmailDomains=yl,s.addForm=Lo,s.addFormIdentifier=gl,s.addFormIdentifierValue=kl,s.addFormIdentifierValues=Ll,s.addFormIdentifiers=Rl,s.addFormRevision=fo,s.addFormRevisionAttachment=to,s.addFormRevisionAttachments=so,s.addFormRevisions=ci,s.addFormSubmission=Rh,s.addFormSubmissionFieldValues=ph,s.addFormSubmissionFieldValuesAttachment=sh,s.addFormSubmissionFieldValuesAttachments=yi,s.addFormSubmissionFieldValuesMany=Ii,s.addFormSubmissions=lt,s.addFormSubscriber=wo,s.addFormSubscribers=ui,s.addForms=Ho,s.addGeoImage=Nh,s.addGeoImages=Kh,s.addIssue=ny,s.addIssueAssociation=rp,s.addIssueAssociations=At,s.addIssueAttachment=Tp,s.addIssueAttachments=Ri,s.addIssueComment=Kp,s.addIssueCommentAttachment=Vp,s.addIssueCommentAttachments=Bp,s.addIssueComments=Wp,s.addIssueType=Of,s.addIssueTypeAttachment=Ay,s.addIssueTypeAttachments=Ty,s.addIssueTypeFieldValues=Ky,s.addIssueTypeFieldValuesAttachment=Im,s.addIssueTypeFieldValuesAttachments=Ni,s.addIssueTypeFieldValuesMany=Wy,s.addIssueTypeFields=cm,s.addIssueTypeFieldsAttachment=Vy,s.addIssueTypeFieldsAttachments=By,s.addIssueTypeFieldsMany=rm,s.addIssueTypeIdentifier=Bm,s.addIssueTypeIdentifierValue=Wm,s.addIssueTypeIdentifierValues=Xm,s.addIssueTypeIdentifiers=zm,s.addIssueTypePriorities=uf,s.addIssueTypePriority=df,s.addIssueTypeStatus=jf,s.addIssueTypeStatuses=Cf,s.addIssueTypes=Pf,s.addIssueUpdate=ca,s.addIssueUpdates=ra,s.addIssues=Ci,s.addOrganization=VS,s.addOrganizationAccess=mS,s.addOrganizationAccesses=fS,s.addOrganizations=vS,s.addProcedure=MT,s.addProcedureFieldValues=Gb,s.addProcedureFieldValuesAttachment=vb,s.addProcedureFieldValuesAttachments=cn,s.addProcedureFieldValuesMany=Nb,s.addProcedureInitiative=hT,s.addProcedureInitiatives=pT,s.addProcedureStep=VP,s.addProcedureStepAssignee=LT,s.addProcedureStepAssignees=HT,s.addProcedureStepComment=sI,s.addProcedureStepComments=iI,s.addProcedureStepDefaultAssignee=fI,s.addProcedureStepDefaultAssignees=SI,s.addProcedureStepDefaultReviewer=EI,s.addProcedureStepDefaultReviewers=vI,s.addProcedureStepEvent=GI,s.addProcedureStepEvents=NI,s.addProcedureStepFieldValues=HO,s.addProcedureStepFieldValuesAttachment=EO,s.addProcedureStepFieldValuesAttachments=La,s.addProcedureStepFieldValuesMany=GO,s.addProcedureStepFieldValuesReview=iP,s.addProcedureStepFieldValuesReviews=Wa,s.addProcedureStepFields=SO,s.addProcedureStepFieldsAttachment=aO,s.addProcedureStepFieldsAttachments=Ca,s.addProcedureStepFieldsMany=AO,s.addProcedureStepReviewer=fP,s.addProcedureStepReviewers=SP,s.addProcedureSteps=BP,s.addProcedureType=aF,s.addProcedureTypeAttachment=HP,s.addProcedureTypeAttachments=GP,s.addProcedureTypeFields=Sb,s.addProcedureTypeFieldsAttachment=ib,s.addProcedureTypeFieldsAttachments=ab,s.addProcedureTypeFieldsMany=Ab,s.addProcedureTypes=nF,s.addProcedures=Ot,s.addProject=tT,s.addProjectAccess=ZS,s.addProjectAccesses=JS,s.addProjectAttachment=uA,s.addProjectAttachments=lA,s.addProjectComment=bA,s.addProjectComments=FA,s.addProjectFile=$A,s.addProjectFiles=UA,s.addProjects=eT,s.addTeam=BF,s.addTeamMembership=TF,s.addTeamMemberships=IF,s.addTeams=zF,s.addUser=pa,s.addUsers=cS,s.agentsReducer=vn,s.agentsSlice=ds,s.assetAttachmentReducer=Gn,s.assetAttachmentSlice=ls,s.assetCommentReducer=ac,s.assetCommentSlice=ys,s.assetReducer=Sc,s.assetSlice=ms,s.assetTypeAttachmentReducer=Ec,s.assetTypeAttachmentSlice=As,s.assetTypeFieldValuesAttachmentReducer=Sr,s.assetTypeFieldValuesAttachmentSlice=_s,s.assetTypeFieldValuesReducer=vr,s.assetTypeFieldValuesSlice=ws,s.assetTypeFieldsAttachmentReducer=Gc,s.assetTypeFieldsAttachmentSlice=Ps,s.assetTypeFieldsReducer=ar,s.assetTypeFieldsSlice=Fs,s.assetTypeIdentifierReducer=Nr,s.assetTypeIdentifierSlice=Es,s.assetTypeIdentifierValueReducer=nd,s.assetTypeIdentifierValueSlice=Vs,s.assetTypeReducer=Td,s.assetTypeSlice=Bs,s.assetTypeStatusReducer=Bd,s.assetTypeStatusSlice=js,s.authReducer=Cd,s.authSlice=Lt,s.baseReducer=Bg,s.baseReducers=Sn,s.captureAnalysisItemReducer=Yd,s.captureAnalysisItemSlice=Ds,s.captureAnalysisReducer=uu,s.captureAnalysisSlice=ks,s.captureReducer=Cu,s.captureSidecarReducer=Pu,s.captureSidecarSlice=Hs,s.captureSlice=Ws,s.clearTokens=Y_,s.createModelAdapter=O,s.createOfflineAction=LS,s.createPayload=M,s.createSelectionAdapter=g_,s.deleteAsset=lc,s.deleteAssetAttachment=$n,s.deleteAssetAttachments=hs,s.deleteAssetComment=Qn,s.deleteAssetComments=Dt,s.deleteAssetType=yd,s.deleteAssetTypeAttachment=_c,s.deleteAssetTypeAttachments=Is,s.deleteAssetTypeFieldValues=Mr,s.deleteAssetTypeFieldValuesAttachment=hr,s.deleteAssetTypeFieldValuesAttachments=gs,s.deleteAssetTypeFieldValuesMany=gr,s.deleteAssetTypeFields=xc,s.deleteAssetTypeFieldsAttachment=$c,s.deleteAssetTypeFieldsAttachments=Uc,s.deleteAssetTypeFieldsMany=er,s.deleteAssetTypeIdentifier=Ur,s.deleteAssetTypeIdentifierValue=ed,s.deleteAssetTypeIdentifierValues=td,s.deleteAssetTypeIdentifiers=kr,s.deleteAssetTypeStatus=Rd,s.deleteAssetTypeStatuses=wd,s.deleteAssetTypes=md,s.deleteAssets=Ss,s.deleteCapture=vu,s.deleteCaptureAnalyses=nu,s.deleteCaptureAnalysis=au,s.deleteCaptureAnalysisItem=Gd,s.deleteCaptureAnalysisItems=$s,s.deleteCaptureSidecar=Ns,s.deleteCaptureSidecars=Su,s.deleteCaptures=Vu,s.deleteConversation=B_,s.deleteConversations=z_,s.deleteDocument=nl,s.deleteDocumentAttachment=Nu,s.deleteDocumentAttachments=Ku,s.deleteDocuments=cl,s.deleteEmailDomain=Tl,s.deleteEmailDomains=Il,s.deleteForm=Xo,s.deleteFormIdentifier=Bl,s.deleteFormIdentifierValue=Wl,s.deleteFormIdentifierValues=Xl,s.deleteFormIdentifiers=zl,s.deleteFormRevision=Oo,s.deleteFormRevisionAttachment=ro,s.deleteFormRevisionAttachments=uo,s.deleteFormRevisions=ri,s.deleteFormSubmission=vh,s.deleteFormSubmissionFieldValues=Ah,s.deleteFormSubmissionFieldValuesAttachment=rh,s.deleteFormSubmissionFieldValuesAttachments=mi,s.deleteFormSubmissionFieldValuesMany=Oi,s.deleteFormSubmissions=ot,s.deleteFormSubscriber=zo,s.deleteFormSubscribers=li,s.deleteForms=Yo,s.deleteGeoImage=Yh,s.deleteGeoImages=Zh,s.deleteIssue=ly,s.deleteIssueAssociation=dp,s.deleteIssueAssociations=Tt,s.deleteIssueAttachment=Fp,s.deleteIssueAttachments=wi,s.deleteIssueComment=Qp,s.deleteIssueCommentAttachment=qp,s.deleteIssueCommentAttachments=$p,s.deleteIssueComments=xp,s.deleteIssueType=gf,s.deleteIssueTypeAttachment=Fy,s.deleteIssueTypeAttachments=_y,s.deleteIssueTypeFieldValues=Qy,s.deleteIssueTypeFieldValuesAttachment=_m,s.deleteIssueTypeFieldValuesAttachments=Ki,s.deleteIssueTypeFieldValuesMany=xy,s.deleteIssueTypeFields=hm,s.deleteIssueTypeFieldsAttachment=qy,s.deleteIssueTypeFieldsAttachments=$y,s.deleteIssueTypeFieldsMany=pm,s.deleteIssueTypeIdentifier=$m,s.deleteIssueTypeIdentifierValue=xm,s.deleteIssueTypeIdentifierValues=ef,s.deleteIssueTypeIdentifiers=Um,s.deleteIssueTypePriorities=mf,s.deleteIssueTypePriority=yf,s.deleteIssueTypeStatus=kf,s.deleteIssueTypeStatuses=Lf,s.deleteIssueTypes=Rf,s.deleteIssueUpdate=da,s.deleteIssueUpdates=ua,s.deleteIssues=Di,s.deleteOrganization=jS,s.deleteOrganizationAccess=OS,s.deleteOrganizationAccesses=PS,s.deleteOrganizations=CS,s.deleteProcedure=vT,s.deleteProcedureFieldValues=Zb,s.deleteProcedureFieldValuesAttachment=Cb,s.deleteProcedureFieldValuesAttachments=rn,s.deleteProcedureFieldValuesMany=Jb,s.deleteProcedureInitiative=AT,s.deleteProcedureInitiatives=TT,s.deleteProcedureStep=CP,s.deleteProcedureStepAssignee=XT,s.deleteProcedureStepAssignees=YT,s.deleteProcedureStepComment=dI,s.deleteProcedureStepComments=uI,s.deleteProcedureStepDefaultAssignee=PI,s.deleteProcedureStepDefaultAssignees=bI,s.deleteProcedureStepDefaultReviewer=CI,s.deleteProcedureStepDefaultReviewers=DI,s.deleteProcedureStepEvent=ZI,s.deleteProcedureStepEvents=JI,s.deleteProcedureStepFieldValues=YO,s.deleteProcedureStepFieldValuesAttachment=jO,s.deleteProcedureStepFieldValuesAttachments=Ha,s.deleteProcedureStepFieldValuesMany=ZO,s.deleteProcedureStepFieldValuesReview=dP,s.deleteProcedureStepFieldValuesReviews=Xa,s.deleteProcedureStepFields=bO,s.deleteProcedureStepFieldsAttachment=uO,s.deleteProcedureStepFieldsAttachments=Da,s.deleteProcedureStepFieldsMany=FO,s.deleteProcedureStepReviewer=PP,s.deleteProcedureStepReviewers=bP,s.deleteProcedureSteps=DP,s.deleteProcedureType=lF,s.deleteProcedureTypeAttachment=YP,s.deleteProcedureTypeAttachments=ZP,s.deleteProcedureTypeFields=bb,s.deleteProcedureTypeFieldsAttachment=ub,s.deleteProcedureTypeFieldsAttachments=lb,s.deleteProcedureTypeFieldsMany=Fb,s.deleteProcedureTypes=oF,s.deleteProcedures=Pt,s.deleteProject=aT,s.deleteProjectAccess=sA,s.deleteProjectAccesses=iA,s.deleteProjectAttachment=mA,s.deleteProjectAttachments=fA,s.deleteProjectComment=wA,s.deleteProjectComments=EA,s.deleteProjectFile=HA,s.deleteProjectFiles=GA,s.deleteProjects=nT,s.deleteTeam=$F,s.deleteTeamMembership=_F,s.deleteTeamMemberships=MF,s.deleteTeams=UF,s.deleteUser=ya,s.deleteUsers=uS,s.dequeue=ZF,s.discard=QF,s.documentAttachmentReducer=Zu,s.documentAttachmentSlice=Ys,s.documentSlice=Js,s.documentsReducer=rl,s.emailDomainsReducer=Fl,s.emailDomainsSlice=xs,s.enqueue=YF,s.enqueueRequest=GS,s.extractResponseFromError=e_,s.fetchBlobFromObjectUrl=i_,s.fetchFileFromObjectUrl=a_,s.fileToBlob=t_,s.formIdentifierReducer=ql,s.formIdentifierSlice=ti,s.formIdentifierValueReducer=Ql,s.formIdentifierValueSlice=ii,s.formReducer=Zo,s.formRevisionAttachmentReducer=po,s.formRevisionAttachmentSlice=ai,s.formRevisionReducer=Mo,s.formRevisionsSlice=ni,s.formSlice=oi,s.formSubmissionFieldValuesAttachmentReducer=lh,s.formSubmissionFieldValuesAttachmentSlice=pi,s.formSubmissionFieldValuesReducer=bh,s.formSubmissionFieldValuesSlice=Ti,s.formSubmissionReducer=Uh,s.formSubmissionSlice=bi,s.formSubscriberReducer=$o,s.formSubscriberSlice=di,s.geoImageReducer=ep,s.geoImageSlice=Fi,s.getClientSDK=m_,s.getClientStore=Ft,s.getFileExtension=s_,s.getOutboxCoordinator=ft,s.getPresignedUrlExpiryDate=d_,s.getRenamedFile=Ng,s.getRequestDescription=m,s.getS3FileKey=Gg,s.hashFile=cs,s.initSDK=Ow,s.initializeAssetAttachments=Bn,s.initializeAssetComments=Kn,s.initializeAssetTypeAttachments=Tc,s.initializeAssetTypeFieldValues=Tr,s.initializeAssetTypeFieldValuesAttachments=cr,s.initializeAssetTypeFields=Kc,s.initializeAssetTypeFieldsAttachments=Vc,s.initializeAssetTypeIdentifierValues=Wr,s.initializeAssetTypeIdentifiers=Br,s.initializeAssetTypeStatuses=Od,s.initializeAssetTypes=rd,s.initializeAssets=cc,s.initializeCaptureAnalyses=Jd,s.initializeCaptureAnalysisItems=qd,s.initializeCaptureSidecars=ou,s.initializeCaptures=Fu,s.initializeConversations=gn,s.initializeDocumentAttachments=qu,s.initializeDocuments=Qu,s.initializeEmailDomains=hl,s.initializeFormIdentifierValues=Ul,s.initializeFormIdentifiers=Ml,s.initializeFormRevisionAttachments=eo,s.initializeFormRevisions=mo,s.initializeFormSubmissionFieldValues=hh,s.initializeFormSubmissionFieldValuesAttachments=th,s.initializeFormSubmissions=_h,s.initializeFormSubscribers=Ro,s.initializeForms=ko,s.initializeGeoImages=Lh,s.initializeIssueAssociations=sp,s.initializeIssueAttachments=Ap,s.initializeIssueCommentAttachments=vp,s.initializeIssueComments=Np,s.initializeIssueTypeAttachments=Sy,s.initializeIssueTypeFieldValues=Ny,s.initializeIssueTypeFieldValuesAttachments=Tm,s.initializeIssueTypeFields=nm,s.initializeIssueTypeFieldsAttachments=vy,s.initializeIssueTypeIdentifierValues=Km,s.initializeIssueTypeIdentifiers=Vm,s.initializeIssueTypePriorities=rf,s.initializeIssueTypeStatuses=zf,s.initializeIssueTypes=If,s.initializeIssueUpdates=Wf,s.initializeIssues=ay,s.initializeOrganizationAccesses=yS,s.initializeOrganizations=RS,s.initializeProcedureFieldValues=Hb,s.initializeProcedureFieldValuesAttachments=Eb,s.initializeProcedureInitiatives=oT,s.initializeProcedureStepAssignees=kT,s.initializeProcedureStepComments=tI,s.initializeProcedureStepDefaultAssignees=mI,s.initializeProcedureStepDefaultReviewers=wI,s.initializeProcedureStepEvents=HI,s.initializeProcedureStepFieldValues=LO,s.initializeProcedureStepFieldValuesAttachments=wO,s.initializeProcedureStepFieldValuesReviews=sP,s.initializeProcedureStepFields=fO,s.initializeProcedureStepFieldsAttachments=iO,s.initializeProcedureStepReviewers=mP,s.initializeProcedureSteps=wP,s.initializeProcedureTypeAttachments=LP,s.initializeProcedureTypeFields=fb,s.initializeProcedureTypeFieldsAttachments=sb,s.initializeProcedureTypes=iF,s.initializeProcedures=_T,s.initializeProjectAccesses=YS,s.initializeProjectAttachments=dA,s.initializeProjectComments=PA,s.initializeProjectFiles=CA,s.initializeProjects=JA,s.initializeTeamMemberships=AF,s.initializeTeams=VF,s.initializeUsers=iS,s.isCloudfrontUrl=c_,s.isImageFile=Kg,s.isObjectUrl=n_,s.isPresignedUrlExpired=u_,s.isS3Url=r_,s.issueAssociationReducer=fp,s.issueAssociationSlice=Mi,s.issueAttachmentReducer=wp,s.issueAttachmentSlice=gi,s.issueCommentAttachmentReducer=Hp,s.issueCommentAttachmentSlice=vi,s.issueCommentReducer=sy,s.issueCommentSlice=Bi,s.issueReducer=my,s.issueSlice=ji,s.issueTypeAttachmentReducer=wy,s.issueTypeAttachmentSlice=qi,s.issueTypeFieldValuesAttachmentReducer=Em,s.issueTypeFieldValuesAttachmentSlice=Gi,s.issueTypeFieldValuesReducer=im,s.issueTypeFieldValuesSlice=Li,s.issueTypeFieldsAttachmentReducer=Hy,s.issueTypeFieldsAttachmentSlice=Ui,s.issueTypeFieldsReducer=Sm,s.issueTypeFieldsSlice=Hi,s.issueTypeIdentifierReducer=Gm,s.issueTypeIdentifierSlice=Xi,s.issueTypeIdentifierValueReducer=nf,s.issueTypeIdentifierValueSlice=Zi,s.issueTypePriorityReducer=Af,s.issueTypePrioritySlice=Ji,s.issueTypeReducer=Vf,s.issueTypeSlice=ea,s.issueTypeStatusReducer=Nf,s.issueTypeStatusSlice=sa,s.issueUpdateReducer=tS,s.issueUpdateSlice=na,s.markAsDeleted=NS,s.markForDeletion=DM,s.organizationAccessReducer=bS,s.organizationAccessSlice=fa,s.organizationReducer=kS,s.organizationSlice=Sa,s.outboxReducer=WS,s.outboxSlice=Aa,s.overmapEnhancer=qg,s.overmapReducer=zg,s.overmapReducers=NF,s.performRequest=On,s.performRequestFromAction=JF,s.procedureFieldValuesAttachmentReducer=Db,s.procedureFieldValuesAttachmentSlice=nn,s.procedureFieldValuesReducer=Qb,s.procedureFieldValuesSlice=un,s.procedureInitiativeReducer=IT,s.procedureInitiativeSlice=Ma,s.procedureReducer=VT,s.procedureSlice=ga,s.procedureStepAssigneeReducer=xT,s.procedureStepAssigneeSlice=Ra,s.procedureStepCommentReducer=pI,s.procedureStepCommentSlice=wa,s.procedureStepDefaultAssigneeReducer=gI,s.procedureStepDefaultAssigneeSlice=Ea,s.procedureStepDefaultReviewerReducer=kI,s.procedureStepDefaultReviewerSlice=Va,s.procedureStepEventReducer=tO,s.procedureStepEventSlice=za,s.procedureStepFieldValuesAttachmentReducer=UO,s.procedureStepFieldValuesAttachmentSlice=ka,s.procedureStepFieldValuesReducer=JO,s.procedureStepFieldValuesReviewReducer=pP,s.procedureStepFieldValuesReviewSlice=Ka,s.procedureStepFieldValuesSlice=Na,s.procedureStepFieldsAttachmentReducer=yO,s.procedureStepFieldsAttachmentSlice=ja,s.procedureStepFieldsReducer=gO,s.procedureStepFieldsSlice=$a,s.procedureStepReducer=qP,s.procedureStepReviewerReducer=gP,s.procedureStepReviewerSlice=Ya,s.procedureStepSlice=Za,s.procedureTypeAttachmentReducer=JP,s.procedureTypeAttachmentSlice=xa,s.procedureTypeFieldsAttachmentReducer=ob,s.procedureTypeFieldsAttachmentSlice=tn,s.procedureTypeFieldsReducer=_b,s.procedureTypeFieldsSlice=an,s.procedureTypeReducer=hF,s.procedureTypeSlice=on,s.projectAccessReducer=aA,s.projectAccessSlice=Ta,s.projectAttachmentReducer=IA,s.projectAttachmentSlice=Oa,s.projectCommentReducer=zA,s.projectCommentSlice=ba,s.projectFileReducer=YA,s.projectFileSlice=Fa,s.projectReducer=cT,s.projectSlice=_a,s.rehydratedReducer=fF,s.rehydratedSlice=pn,s.restructureSelectorWithArgs=y,s.runMiddleware=T_,s.selectAccessToken=Z_,s.selectAccessesByUserOfProject=$M,s.selectAccessibleProjects=GM,s.selectActiveOrganizationAccess=BM,s.selectAllDocumentAttachments=Zs,s.selectAssetAttachmentById=kn,s.selectAssetAttachmentMapping=Un,s.selectAssetAttachments=ps,s.selectAssetAttachmentsByIds=Ln,s.selectAssetById=mc,s.selectAssetCommentById=ec,s.selectAssetCommentMapping=xn,s.selectAssetComments=qt,s.selectAssetCommentsByIds=tc,s.selectAssetTypeAttachmentById=gc,s.selectAssetTypeAttachmentMapping=Mc,s.selectAssetTypeAttachments=Os,s.selectAssetTypeAttachmentsByIds=Rc,s.selectAssetTypeById=Sd,s.selectAssetTypeFieldValues=Ut,s.selectAssetTypeFieldValuesAttachmentById=yr,s.selectAssetTypeFieldValuesAttachments=Rs,s.selectAssetTypeFieldValuesAttachmentsByIds=mr,s.selectAssetTypeFieldValuesAttachmentsMapping=pr,s.selectAssetTypeFieldValuesById=wr,s.selectAssetTypeFieldValuesByIds=Er,s.selectAssetTypeFieldValuesMapping=Rr,s.selectAssetTypeFieldValuesOfAsset=k_,s.selectAssetTypeFields=Mt,s.selectAssetTypeFieldsAttachmentById=Lc,s.selectAssetTypeFieldsAttachments=bs,s.selectAssetTypeFieldsAttachmentsByIds=Hc,s.selectAssetTypeFieldsAttachmentsMapping=kc,s.selectAssetTypeFieldsById=sr,s.selectAssetTypeFieldsByIds=ir,s.selectAssetTypeFieldsMapping=tr,s.selectAssetTypeFieldsOfAssetType=$_,s.selectAssetTypeIdentifierById=Hr,s.selectAssetTypeIdentifierMapping=Lr,s.selectAssetTypeIdentifierValueById=id,s.selectAssetTypeIdentifierValueMapping=sd,s.selectAssetTypeIdentifierValues=kt,s.selectAssetTypeIdentifierValuesByIds=ad,s.selectAssetTypeIdentifierValuesOfAsset=G_,s.selectAssetTypeIdentifierValuesOfIdentifier=N_,s.selectAssetTypeIdentifiers=vs,s.selectAssetTypeIdentifiersByIds=Gr,s.selectAssetTypeIdentifiersOfAssetType=H_,s.selectAssetTypeStatusById=vd,s.selectAssetTypeStatusMapping=Ed,s.selectAssetTypeStatuses=Cs,s.selectAssetTypeStatusesByIds=Vd,s.selectAssetTypeStatusesOfAssetType=W_,s.selectAssetTypeValuesOfAssetType=L_,s.selectAssetTypes=zs,s.selectAssetTypesByIds=Ad,s.selectAssetTypesMapping=fd,s.selectAssetTypesOfOrganization=K_,s.selectAssets=$t,s.selectAssetsByIds=fc,s.selectAssetsMapping=pc,s.selectAssetsOfAssetType=yc,s.selectAssetsOfProject=D_,s.selectAttachmentsOfAsset=Hn,s.selectAttachmentsOfAssetType=wc,s.selectAttachmentsOfAssetTypeFieldValues=fr,s.selectAttachmentsOfAssetTypeFields=q_,s.selectAttachmentsOfDocument=eM,s.selectAttachmentsOfFormRevision=rM,s.selectAttachmentsOfFormSubmissionFieldValues=uh,s.selectAttachmentsOfIssue=Mp,s.selectAttachmentsOfIssueComment=fM,s.selectAttachmentsOfIssueType=TM,s.selectAttachmentsOfIssueTypeFieldValues=wm,s.selectAttachmentsOfIssueTypeFields=IM,s.selectAttachmentsOfProcedureFieldValues=kb,s.selectAttachmentsOfProcedureStepFieldValues=$O,s.selectAttachmentsOfProcedureStepFields=oO,s.selectAttachmentsOfProcedureType=Og,s.selectAttachmentsOfProcedureTypeFields=Pg,s.selectAttachmentsOfProject=kM,s.selectCaptureAnalyses=Ls,s.selectCaptureAnalysesByIds=du,s.selectCaptureAnalysesOfCapture=Q_,s.selectCaptureAnalysisById=ru,s.selectCaptureAnalysisItemById=Kd,s.selectCaptureAnalysisItemMapping=Nd,s.selectCaptureAnalysisItems=Us,s.selectCaptureAnalysisItemsByIds=Wd,s.selectCaptureAnalysisItemsOfAnalysis=Xd,s.selectCaptureAnalysisMapping=cu,s.selectCaptureById=zu,s.selectCaptureMapping=Bu,s.selectCaptureSidecarById=Tu,s.selectCaptureSidecarMapping=Au,s.selectCaptureSidecarOfCapture=Ou,s.selectCaptureSidecars=Ks,s.selectCaptureSidecarsByIds=Iu,s.selectCaptures=Xs,s.selectCapturesByIds=ju,s.selectCapturesOfProject=x_,s.selectCommentsOfAsset=sc,s.selectCommentsOfAssets=ic,s.selectCommentsOfIssue=SM,s.selectCommentsOfProject=LM,s.selectCommentsOfProjects=HM,s.selectConversation=C_,s.selectConversationMapping=us,s.selectConversations=j_,s.selectCurrentUser=oS,s.selectDeletedRequests=jM,s.selectDescendantsOfDocument=ll,s.selectDocumentAttachmentById=Xu,s.selectDocumentAttachmentMapping=Wu,s.selectDocumentAttachmentsByIds=Yu,s.selectDocumentById=dl,s.selectDocuments=Ht,s.selectDocumentsByIds=ul,s.selectDocumentsMapping=Qs,s.selectEmailDomainById=Pl,s.selectEmailDomains=ei,s.selectEmailDomainsAsMapping=Ol,s.selectEmailDomainsByIds=bl,s.selectEmailDomainsOfOrganization=iM,s.selectFieldValuesOfProcedure=_g,s.selectFormById=Qo,s.selectFormIdentifierById=Cl,s.selectFormIdentifierMapping=jl,s.selectFormIdentifierValueById=Zl,s.selectFormIdentifierValueMapping=Yl,s.selectFormIdentifierValues=Gt,s.selectFormIdentifierValuesByIds=Jl,s.selectFormIdentifierValuesOfFormSubmission=nM,s.selectFormIdentifierValuesOfIdentifier=cM,s.selectFormIdentifiers=si,s.selectFormIdentifiersByIds=Dl,s.selectFormIdentifiersOfForm=aM,s.selectFormMapping=Jo,s.selectFormRevisionAttachmentById=oo,s.selectFormRevisionAttachments=lo,s.selectFormRevisionAttachmentsByIds=ho,s.selectFormRevisionAttachmentsMapping=Nt,s.selectFormRevisionById=bo,s.selectFormRevisionMapping=Po,s.selectFormRevisions=Kt,s.selectFormRevisionsByIds=Fo,s.selectFormRevisionsOfForm=_o,s.selectFormSubmissionById=Bh,s.selectFormSubmissionFieldValues=Pi,s.selectFormSubmissionFieldValuesAttachmentById=dh,s.selectFormSubmissionFieldValuesAttachments=Si,s.selectFormSubmissionFieldValuesAttachmentsByIds=Ai,s.selectFormSubmissionFieldValuesAttachmentsMapping=fi,s.selectFormSubmissionFieldValuesById=Ih,s.selectFormSubmissionFieldValuesByIds=Oh,s.selectFormSubmissionFieldValuesMapping=Th,s.selectFormSubmissionFieldValuesOfFormSubmission=Ph,s.selectFormSubmissions=C,s.selectFormSubmissionsByIds=zh,s.selectFormSubmissionsMapping=Vh,s.selectFormSubmissionsOfAsset=qh,s.selectFormSubmissionsOfAssets=$h,s.selectFormSubmissionsOfForm=jh,s.selectFormSubmissionsOfIssue=Ch,s.selectFormSubmissionsOfIssues=Dh,s.selectFormSubmissionsOfOrganization=oM,s.selectFormSubmissionsOfOrganizationAndForm=yM,s.selectFormSubmissionsOfProject=hM,s.selectFormSubmissionsOfProjectAndForm=pM,s.selectFormSubscriberById=Co,s.selectFormSubscriberMapping=jo,s.selectFormSubscribers=Wt,s.selectFormSubscribersByIds=Do,s.selectFormSubscribersOfForm=qo,s.selectFormSubscribersOfUser=uM,s.selectForms=hi,s.selectFormsByIds=xo,s.selectFormsOfOrganization=lM,s.selectGeoImageById=Qh,s.selectGeoImageMapping=Jh,s.selectGeoImages=_i,s.selectGeoImagesByIds=xh,s.selectGeoImagesOfProject=mM,s.selectIsLoggedIn=J_,s.selectIssueAssociationById=lp,s.selectIssueAssociationMapping=up,s.selectIssueAssociations=It,s.selectIssueAssociationsByIds=op,s.selectIssueAssociationsOfAsset=yp,s.selectIssueAssociationsOfAssets=mp,s.selectIssueAssociationsOfIssue=pp,s.selectIssueAssociationsOfIssues=hp,s.selectIssueAttachmentById=gp,s.selectIssueAttachmentMapping=_p,s.selectIssueAttachments=Ei,s.selectIssueAttachmentsByIds=Rp,s.selectIssueById=hy,s.selectIssueCommentAttachmentById=kp,s.selectIssueCommentAttachmentMapping=Up,s.selectIssueCommentAttachments=Vi,s.selectIssueCommentAttachmentsByIds=Lp,s.selectIssueCommentById=ey,s.selectIssueCommentMapping=zi,s.selectIssueCommentsByIds=ty,s.selectIssueMapping=oy,s.selectIssueTypeAttachmentById=gy,s.selectIssueTypeAttachmentMapping=My,s.selectIssueTypeAttachments=$i,s.selectIssueTypeAttachmentsByIds=Ry,s.selectIssueTypeById=Ef,s.selectIssueTypeFieldValues=Yt,s.selectIssueTypeFieldValuesAttachmentById=gm,s.selectIssueTypeFieldValuesAttachments=Wi,s.selectIssueTypeFieldValuesAttachmentsByIds=Rm,s.selectIssueTypeFieldValuesAttachmentsMapping=Mm,s.selectIssueTypeFieldValuesById=tm,s.selectIssueTypeFieldValuesByIds=sm,s.selectIssueTypeFieldValuesMapping=em,s.selectIssueTypeFieldValuesOfIssue=OM,s.selectIssueTypeFields=gt,s.selectIssueTypeFieldsAttachmentById=ky,s.selectIssueTypeFieldsAttachments=ki,s.selectIssueTypeFieldsAttachmentsByIds=Ly,s.selectIssueTypeFieldsAttachmentsMapping=Uy,s.selectIssueTypeFieldsById=mm,s.selectIssueTypeFieldsByIds=fm,s.selectIssueTypeFieldsMapping=ym,s.selectIssueTypeFieldsOfIssueType=PM,s.selectIssueTypeIdentifierById=Lm,s.selectIssueTypeIdentifierMapping=km,s.selectIssueTypeIdentifierValueById=sf,s.selectIssueTypeIdentifierValueMapping=tf,s.selectIssueTypeIdentifierValues=Zt,s.selectIssueTypeIdentifierValuesByIds=af,s.selectIssueTypeIdentifierValuesOfIdentifier=gM,s.selectIssueTypeIdentifierValuesOfIssue=MM,s.selectIssueTypeIdentifiers=Yi,s.selectIssueTypeIdentifiersByIds=Hm,s.selectIssueTypeIdentifiersOfIssueType=_M,s.selectIssueTypeMapping=wf,s.selectIssueTypePriorities=Qi,s.selectIssueTypePrioritiesByIds=Sf,s.selectIssueTypePrioritiesOfIssueType=RM,s.selectIssueTypePriorityById=xi,s.selectIssueTypePriorityMapping=ff,s.selectIssueTypeStatusById=aa,s.selectIssueTypeStatusMapping=Hf,s.selectIssueTypeStatuses=ia,s.selectIssueTypeStatusesByIds=Gf,s.selectIssueTypeStatusesOfIssueType=EM,s.selectIssueTypeValuesOfIssueType=FM,s.selectIssueTypes=ta,s.selectIssueTypesByIds=vf,s.selectIssueTypesOfOrganization=wM,s.selectIssueUpdateById=Qf,s.selectIssueUpdateMapping=la,s.selectIssueUpdates=oa,s.selectIssueUpdatesByIds=xf,s.selectIssueUpdatesOfIssue=eS,s.selectIssues=Xt,s.selectIssuesByIds=py,s.selectIssuesOfIssueType=yy,s.selectIssuesOfProject=AM,s.selectLatestAssetTypeFieldsOfAssetType=U_,s.selectLatestFieldsByProcedureStep=dg,s.selectLatestFormRevisionOfForm=dM,s.selectLatestIssueTypeFieldsOfIssueType=bM,s.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=mg,s.selectLatestProcedureStepFieldsOfProcedureStep=rg,s.selectLatestProcedureTypeFieldsOfProcedureType=Fg,s.selectLatestRetryTime=CM,s.selectLatestReviewOfProcedureStepFieldValues=hg,s.selectMembershipsByUserOfTeam=Eg,s.selectOrganizationAccessById=FS,s.selectOrganizationAccessMapping=xt,s.selectOrganizationAccessUserMapping=MS,s.selectOrganizationAccessesByIds=_S,s.selectOrganizationById=$S,s.selectOrganizationDocuments=sM,s.selectOrganizations=qS,s.selectOrganizationsByIds=US,s.selectOrganizationsMapping=DS,s.selectProcedureById=zT,s.selectProcedureFieldValues=ln,s.selectProcedureFieldValuesAttachmentById=$b,s.selectProcedureFieldValuesAttachments=dn,s.selectProcedureFieldValuesAttachmentsByIds=Ub,s.selectProcedureFieldValuesAttachmentsMapping=qb,s.selectProcedureFieldValuesById=eF,s.selectProcedureFieldValuesByIds=tF,s.selectProcedureFieldValuesMapping=xb,s.selectProcedureInitiativeById=PT,s.selectProcedureInitiatives=ss,s.selectProcedureInitiativesByIds=bT,s.selectProcedureInitiativesMapping=OT,s.selectProcedureInitiativesOfProcedureType=WM,s.selectProcedureInitiativesOfProject=KM,s.selectProcedureStepAssigneeById=JT,s.selectProcedureStepAssignees=wt,s.selectProcedureStepAssigneesByIds=QT,s.selectProcedureStepAssigneesMapping=ZT,s.selectProcedureStepAssigneesOfProcedure=YM,s.selectProcedureStepAssigneesOfProcedureAndProcedureStep=JM,s.selectProcedureStepAssigneesOfProcedureStep=ZM,s.selectProcedureStepById=$P,s.selectProcedureStepCommentById=oI,s.selectProcedureStepComments=Et,s.selectProcedureStepCommentsByIds=hI,s.selectProcedureStepCommentsMapping=lI,s.selectProcedureStepCommentsOfProcedure=QM,s.selectProcedureStepCommentsOfProcedureAndProcedureStep=eg,s.selectProcedureStepCommentsOfProcedureStep=xM,s.selectProcedureStepDefaultAssigneeById=_I,s.selectProcedureStepDefaultAssignees=va,s.selectProcedureStepDefaultAssigneesByIds=MI,s.selectProcedureStepDefaultAssigneesMapping=FI,s.selectProcedureStepDefaultAssigneesOfProcedureStep=tg,s.selectProcedureStepDefaultReviewerById=$I,s.selectProcedureStepDefaultReviewers=Ba,s.selectProcedureStepDefaultReviewersByIds=UI,s.selectProcedureStepDefaultReviewersMapping=qI,s.selectProcedureStepDefaultReviewersOfProcedureStep=sg,s.selectProcedureStepEventById=xI,s.selectProcedureStepEvents=vt,s.selectProcedureStepEventsByIds=eO,s.selectProcedureStepEventsMapping=QI,s.selectProcedureStepEventsOfProcedure=ig,s.selectProcedureStepEventsOfProcedureAndProcedureStep=ng,s.selectProcedureStepEventsOfProcedureStep=ag,s.selectProcedureStepFieldValues=pt,s.selectProcedureStepFieldValuesAttachmentById=DO,s.selectProcedureStepFieldValuesAttachments=Ga,s.selectProcedureStepFieldValuesAttachmentsByIds=qO,s.selectProcedureStepFieldValuesAttachmentsMapping=CO,s.selectProcedureStepFieldValuesById=xO,s.selectProcedureStepFieldValuesByIds=eP,s.selectProcedureStepFieldValuesMapping=QO,s.selectProcedureStepFieldValuesOfProcedure=ug,s.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=og,s.selectProcedureStepFieldValuesOfProcedureStep=lg,s.selectProcedureStepFieldValuesReviewById=lP,s.selectProcedureStepFieldValuesReviews=yt,s.selectProcedureStepFieldValuesReviewsByIds=oP,s.selectProcedureStepFieldValuesReviewsMapping=uP,s.selectProcedureStepFieldValuesReviewsOfProcedure=pg,s.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=yg,s.selectProcedureStepFields=is,s.selectProcedureStepFieldsAttachmentById=hO,s.selectProcedureStepFieldsAttachments=qa,s.selectProcedureStepFieldsAttachmentsByIds=pO,s.selectProcedureStepFieldsAttachmentsMapping=lO,s.selectProcedureStepFieldsById=_O,s.selectProcedureStepFieldsByIds=MO,s.selectProcedureStepFieldsMapping=Ua,s.selectProcedureStepFieldsOfProcedureStep=cg,s.selectProcedureStepReviewerById=_P,s.selectProcedureStepReviewers=Vt,s.selectProcedureStepReviewersByIds=MP,s.selectProcedureStepReviewersMapping=FP,s.selectProcedureStepReviewersOfProcedure=fg,s.selectProcedureStepReviewersOfProcedureAndProcedureStep=Ag,s.selectProcedureStepReviewersOfProcedureStep=Sg,s.selectProcedureSteps=Qa,s.selectProcedureStepsByIds=UP,s.selectProcedureStepsMapping=Ja,s.selectProcedureStepsMappingOfProcedureType=Tg,s.selectProcedureStepsOfProcedureType=Ig,s.selectProcedureTypeAttachmentById=xP,s.selectProcedureTypeAttachmentMapping=QP,s.selectProcedureTypeAttachments=en,s.selectProcedureTypeAttachmentsByIds=eb,s.selectProcedureTypeById=yF,s.selectProcedureTypeFields=as,s.selectProcedureTypeFieldsAttachmentById=pb,s.selectProcedureTypeFieldsAttachments=sn,s.selectProcedureTypeFieldsAttachmentsByIds=yb,s.selectProcedureTypeFieldsAttachmentsMapping=hb,s.selectProcedureTypeFieldsById=gb,s.selectProcedureTypeFieldsByIds=Rb,s.selectProcedureTypeFieldsMapping=Mb,s.selectProcedureTypeFieldsOfProcedureType=bg,s.selectProcedureTypes=hn,s.selectProcedureTypesByIds=mF,s.selectProcedureTypesMapping=pF,s.selectProcedureTypesOfOrganization=Mg,s.selectProcedures=ht,s.selectProceduresByIds=jT,s.selectProceduresMapping=BT,s.selectProceduresOfAsset=DT,s.selectProceduresOfAssets=qT,s.selectProceduresOfProcedureInitiative=$T,s.selectProceduresOfProcedureType=CT,s.selectProceduresOfProject=XM,s.selectProjectAccessById=nA,s.selectProjectAccessMapping=Ia,s.selectProjectAccesses=Rt,s.selectProjectAccessesByIds=cA,s.selectProjectAccessesOfProject=qM,s.selectProjectAttachmentById=AA,s.selectProjectAttachmentMapping=SA,s.selectProjectAttachments=Pa,s.selectProjectAttachmentsByIds=TA,s.selectProjectById=dT,s.selectProjectCommentById=VA,s.selectProjectCommentMapping=vA,s.selectProjectComments=es,s.selectProjectCommentsByIds=BA,s.selectProjectDocuments=tM,s.selectProjectFileById=WA,s.selectProjectFileMapping=NA,s.selectProjectFiles=KA,s.selectProjectFilesByIds=XA,s.selectProjectMapping=rT,s.selectProjects=ts,s.selectProjectsByIds=uT,s.selectProjectsOfOrganization=NM,s.selectRehydrated=wg,s.selectReviewsOfProcedureStepFieldValues=hP,s.selectTeamById=LF,s.selectTeamMembershipById=wF,s.selectTeamMemberships=ns,s.selectTeamMembershipsByIds=EF,s.selectTeamMembershipsMapping=RF,s.selectTeams=fn,s.selectTeamsByIds=HF,s.selectTeamsMapping=kF,s.selectTeamsOfOrganization=Vg,s.selectUserById=Qt,s.selectUsers=Jt,s.selectUsersByIds=hS,s.selectUsersMapping=ma,s.selectUsersOfOrganization=zM,s.selectUsersOfProject=UM,s.selectUsersOfTeam=vg,s.setAsset=oc,s.setAssetAttachment=jn,s.setAssetAttachments=Cn,s.setAssetComment=Xn,s.setAssetComments=Yn,s.setAssetType=dd,s.setAssetTypeAttachment=Oc,s.setAssetTypeAttachments=Pc,s.setAssetTypeFieldValues=Pr,s.setAssetTypeFieldValuesAttachment=dr,s.setAssetTypeFieldValuesAttachments=ur,s.setAssetTypeFieldValuesMany=br,s.setAssetTypeFields=Yc,s.setAssetTypeFieldsAttachment=jc,s.setAssetTypeFieldsAttachments=Cc,s.setAssetTypeFieldsMany=Zc,s.setAssetTypeIdentifier=Cr,s.setAssetTypeIdentifierValue=Zr,s.setAssetTypeIdentifierValues=Jr,s.setAssetTypeIdentifiers=Dr,s.setAssetTypeStatus=Fd,s.setAssetTypeStatuses=_d,s.setAssetTypes=ud,s.setAssets=hc,s.setCapture=gu,s.setCaptureAnalyses=tu,s.setCaptureAnalysis=eu,s.setCaptureAnalysisItem=Ud,s.setCaptureAnalysisItems=kd,s.setCaptureSidecar=pu,s.setCaptureSidecars=yu,s.setCaptures=Ru,s.setClientSDK=y_,s.setClientStore=h_,s.setConversation=wn,s.setConversations=v_,s.setCurrentUser=vM,s.setCurrentUserProfile=VM,s.setDocument=tl,s.setDocumentAttachment=ku,s.setDocumentAttachments=Lu,s.setDocuments=sl,s.setEmailDomain=ml,s.setEmailDomains=fl,s.setForm=Go,s.setFormIdentifier=wl,s.setFormIdentifierValue=Hl,s.setFormIdentifierValues=Gl,s.setFormIdentifiers=El,s.setFormRevision=So,s.setFormRevisionAttachment=io,s.setFormRevisionAttachments=ao,s.setFormRevisions=Ao,s.setFormSubmission=Mh,s.setFormSubmissionFieldValues=yh,s.setFormSubmissionFieldValuesAttachment=ih,s.setFormSubmissionFieldValuesAttachments=ah,s.setFormSubmissionFieldValuesMany=mh,s.setFormSubmissions=gh,s.setFormSubscriber=Eo,s.setFormSubscribers=vo,s.setForms=No,s.setGeoImage=Hh,s.setGeoImages=Gh,s.setIssue=cy,s.setIssueAssociation=ap,s.setIssueAssociations=ip,s.setIssueAttachment=Ip,s.setIssueAttachments=Op,s.setIssueComment=Xp,s.setIssueCommentAttachment=zp,s.setIssueCommentAttachments=jp,s.setIssueComments=Yp,s.setIssueType=bf,s.setIssueTypeAttachment=Iy,s.setIssueTypeAttachments=Oy,s.setIssueTypeFieldValues=Xy,s.setIssueTypeFieldValuesAttachment=Om,s.setIssueTypeFieldValuesAttachments=Pm,s.setIssueTypeFieldValuesMany=Yy,s.setIssueTypeFields=dm,s.setIssueTypeFieldsAttachment=zy,s.setIssueTypeFieldsAttachments=jy,s.setIssueTypeFieldsMany=um,s.setIssueTypeIdentifier=jm,s.setIssueTypeIdentifierValue=Ym,s.setIssueTypeIdentifierValues=Zm,s.setIssueTypeIdentifiers=Cm,s.setIssueTypePriorities=of,s.setIssueTypePriority=lf,s.setIssueTypeStatus=Df,s.setIssueTypeStatuses=qf,s.setIssueTypes=Ff,s.setIssueUpdate=Xf,s.setIssueUpdates=Yf,s.setIssues=ry,s.setLoggedIn=jd,s.setOrganization=ES,s.setOrganizationAccess=SS,s.setOrganizationAccesses=AS,s.setOrganizations=wS,s.setProcedure=gT,s.setProcedureFieldValues=Kb,s.setProcedureFieldValuesAttachment=Vb,s.setProcedureFieldValuesAttachments=Bb,s.setProcedureFieldValuesMany=Wb,s.setProcedureInitiative=yT,s.setProcedureInitiatives=mT,s.setProcedureStep=EP,s.setProcedureStepAssignee=GT,s.setProcedureStepAssignees=NT,s.setProcedureStepComment=aI,s.setProcedureStepComments=nI,s.setProcedureStepDefaultAssignee=AI,s.setProcedureStepDefaultAssignees=TI,s.setProcedureStepDefaultReviewer=VI,s.setProcedureStepDefaultReviewers=BI,s.setProcedureStepEvent=KI,s.setProcedureStepEvents=WI,s.setProcedureStepFieldValues=NO,s.setProcedureStepFieldValuesAttachment=vO,s.setProcedureStepFieldValuesAttachments=VO,s.setProcedureStepFieldValuesMany=KO,s.setProcedureStepFieldValuesReview=aP,s.setProcedureStepFieldValuesReviews=nP,s.setProcedureStepFields=TO,s.setProcedureStepFieldsAttachment=nO,s.setProcedureStepFieldsAttachments=cO,s.setProcedureStepFieldsMany=IO,s.setProcedureStepReviewer=AP,s.setProcedureStepReviewers=TP,s.setProcedureSteps=vP,s.setProcedureType=cF,s.setProcedureTypeAttachment=NP,s.setProcedureTypeAttachments=KP,s.setProcedureTypeFields=Tb,s.setProcedureTypeFieldsAttachment=nb,s.setProcedureTypeFieldsAttachments=cb,s.setProcedureTypeFieldsMany=Ib,s.setProcedureTypes=rF,s.setProcedures=RT,s.setProject=xA,s.setProjectAccess=QS,s.setProjectAccesses=xS,s.setProjectAttachment=oA,s.setProjectAttachments=hA,s.setProjectComment=_A,s.setProjectComments=MA,s.setProjectFile=DA,s.setProjectFiles=qA,s.setProjects=QA,s.setRehydrated=Rg,s.setTeam=jF,s.setTeamMembership=OF,s.setTeamMemberships=PF,s.setTeams=CF,s.setTokens=X_,s.setUser=nS,s.setUsers=aS,s.teamMembershipReducer=gF,s.teamMembershipSlice=yn,s.teamReducer=GF,s.teamSlice=mn,s.updateAsset=dc,s.updateAssetAttachment=Dn,s.updateAssetAttachments=qn,s.updateAssetComment=Zn,s.updateAssetComments=Jn,s.updateAssetType=hd,s.updateAssetTypeAttachment=bc,s.updateAssetTypeAttachments=Fc,s.updateAssetTypeFieldValues=Fr,s.updateAssetTypeFieldValuesAttachment=lr,s.updateAssetTypeFieldValuesAttachments=or,s.updateAssetTypeFieldValuesMany=_r,s.updateAssetTypeFields=Jc,s.updateAssetTypeFieldsAttachment=Dc,s.updateAssetTypeFieldsAttachments=qc,s.updateAssetTypeFieldsMany=Qc,s.updateAssetTypeIdentifier=qr,s.updateAssetTypeIdentifierValue=Qr,s.updateAssetTypeIdentifierValues=xr,s.updateAssetTypeIdentifiers=$r,s.updateAssetTypeStatus=Md,s.updateAssetTypeStatuses=gd,s.updateAssetTypes=pd,s.updateAssets=uc,s.updateCapture=wu,s.updateCaptureAnalyses=iu,s.updateCaptureAnalysis=su,s.updateCaptureAnalysisItem=Ld,s.updateCaptureAnalysisItems=Hd,s.updateCaptureSidecar=mu,s.updateCaptureSidecars=fu,s.updateCaptures=Eu,s.updateConversation=En,s.updateConversations=V_,s.updateDocument=il,s.updateDocumentAttachment=Hu,s.updateDocumentAttachments=Gu,s.updateDocuments=al,s.updateEmailDomain=Sl,s.updateEmailDomains=Al,s.updateForm=Ko,s.updateFormIdentifier=vl,s.updateFormIdentifierValue=Nl,s.updateFormIdentifierValues=Kl,s.updateFormIdentifiers=Vl,s.updateFormRevision=To,s.updateFormRevisionAttachment=no,s.updateFormRevisionAttachments=co,s.updateFormRevisions=Io,s.updateFormSubmission=wh,s.updateFormSubmissionFieldValues=fh,s.updateFormSubmissionFieldValuesAttachment=nh,s.updateFormSubmissionFieldValuesAttachments=ch,s.updateFormSubmissionFieldValuesMany=Sh,s.updateFormSubmissions=Eh,s.updateFormSubscriber=Vo,s.updateFormSubscribers=Bo,s.updateForms=Wo,s.updateGeoImage=Wh,s.updateGeoImages=Xh,s.updateIssue=dy,s.updateIssueAssociation=np,s.updateIssueAssociations=cp,s.updateIssueAttachment=Pp,s.updateIssueAttachments=bp,s.updateIssueComment=Zp,s.updateIssueCommentAttachment=Cp,s.updateIssueCommentAttachments=Dp,s.updateIssueComments=Jp,s.updateIssueType=_f,s.updateIssueTypeAttachment=Py,s.updateIssueTypeAttachments=by,s.updateIssueTypeFieldValues=Zy,s.updateIssueTypeFieldValuesAttachment=bm,s.updateIssueTypeFieldValuesAttachments=Fm,s.updateIssueTypeFieldValuesMany=Jy,s.updateIssueTypeFields=lm,s.updateIssueTypeFieldsAttachment=Cy,s.updateIssueTypeFieldsAttachments=Dy,s.updateIssueTypeFieldsMany=om,s.updateIssueTypeIdentifier=Dm,s.updateIssueTypeIdentifierValue=Jm,s.updateIssueTypeIdentifierValues=Qm,s.updateIssueTypeIdentifiers=qm,s.updateIssueTypePriorities=pf,s.updateIssueTypePriority=hf,s.updateIssueTypeStatus=$f,s.updateIssueTypeStatuses=Uf,s.updateIssueTypes=Mf,s.updateIssueUpdate=Zf,s.updateIssueUpdates=Jf,s.updateIssues=uy,s.updateOrganization=zS,s.updateOrganizationAccess=TS,s.updateOrganizationAccesses=IS,s.updateOrganizations=BS,s.updateProcedure=wT,s.updateProcedureFieldValues=Xb,s.updateProcedureFieldValuesAttachment=zb,s.updateProcedureFieldValuesAttachments=jb,s.updateProcedureFieldValuesMany=Yb,s.updateProcedureInitiative=fT,s.updateProcedureInitiatives=ST,s.updateProcedureStep=zP,s.updateProcedureStepAssignee=KT,s.updateProcedureStepAssignees=WT,s.updateProcedureStepComment=cI,s.updateProcedureStepComments=rI,s.updateProcedureStepDefaultAssignee=II,s.updateProcedureStepDefaultAssignees=OI,s.updateProcedureStepDefaultReviewer=zI,s.updateProcedureStepDefaultReviewers=jI,s.updateProcedureStepEvent=XI,s.updateProcedureStepEvents=YI,s.updateProcedureStepFieldValues=WO,s.updateProcedureStepFieldValuesAttachment=BO,s.updateProcedureStepFieldValuesAttachments=zO,s.updateProcedureStepFieldValuesMany=XO,s.updateProcedureStepFieldValuesReview=cP,s.updateProcedureStepFieldValuesReviews=rP,s.updateProcedureStepFields=OO,s.updateProcedureStepFieldsAttachment=rO,s.updateProcedureStepFieldsAttachments=dO,s.updateProcedureStepFieldsMany=PO,s.updateProcedureStepReviewer=IP,s.updateProcedureStepReviewers=OP,s.updateProcedureSteps=jP,s.updateProcedureType=dF,s.updateProcedureTypeAttachment=WP,s.updateProcedureTypeAttachments=XP,s.updateProcedureTypeFields=Ob,s.updateProcedureTypeFieldsAttachment=rb,s.updateProcedureTypeFieldsAttachments=db,s.updateProcedureTypeFieldsMany=Pb,s.updateProcedureTypes=uF,s.updateProcedures=ET,s.updateProject=iT,s.updateProjectAccess=eA,s.updateProjectAccesses=tA,s.updateProjectAttachment=pA,s.updateProjectAttachments=yA,s.updateProjectComment=gA,s.updateProjectComments=RA,s.updateProjectFile=kA,s.updateProjectFiles=LA,s.updateProjects=sT,s.updateTeam=DF,s.updateTeamMembership=bF,s.updateTeamMemberships=FF,s.updateTeams=qF,s.updateUser=dS,s.updateUsers=rS,s.useSelectorBuilder=R_,s.userReducer=lS,s.userSlice=ha,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|