@overmap-ai/core 2.0.7-project-annotated-models.0 → 2.0.7-slice-reducer-name-updates.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/dist/overmap-core.js +4996 -4996
  2. package/dist/overmap-core.umd.cjs +6 -6
  3. package/dist/sdk/services/IssueUpdateService.d.ts +158 -158
  4. package/dist/store/reducers.d.ts +243 -243
  5. package/dist/store/selectors/agentsSelectors.d.ts +5 -0
  6. package/dist/store/selectors/assetAttachmentSelectors.d.ts +7 -0
  7. package/dist/store/selectors/assetCommentAttachmentSelectors.d.ts +7 -0
  8. package/dist/store/selectors/assetCommentSelectors.d.ts +8 -0
  9. package/dist/store/selectors/assetSelectors.d.ts +110 -0
  10. package/dist/store/selectors/assetTypeAttachmentSelectors.d.ts +7 -0
  11. package/dist/store/selectors/assetTypeFieldValuesAttachmentSelectors.d.ts +109 -0
  12. package/dist/store/selectors/assetTypeFieldValuesSelectors.d.ts +110 -0
  13. package/dist/store/selectors/assetTypeFieldsAttachmentSelectors.d.ts +109 -0
  14. package/dist/store/selectors/assetTypeFieldsSelectors.d.ts +110 -0
  15. package/dist/store/selectors/assetTypeIdentifierSelectors.d.ts +8 -0
  16. package/dist/store/selectors/assetTypeIdentifierValueSelectors.d.ts +9 -0
  17. package/dist/store/selectors/assetTypeSelectors.d.ts +7 -0
  18. package/dist/store/selectors/assetTypeStatusSelectors.d.ts +109 -0
  19. package/dist/store/selectors/authSelectors.d.ts +3 -0
  20. package/dist/store/selectors/documentAttachmentSelectors.d.ts +7 -0
  21. package/dist/store/selectors/documentSelectors.d.ts +9 -0
  22. package/dist/store/selectors/emailDomainsSelectors.d.ts +109 -0
  23. package/dist/store/selectors/formIdentifierSelectors.d.ts +8 -0
  24. package/dist/store/selectors/formIdentifierValueSelectors.d.ts +9 -0
  25. package/dist/store/selectors/formRevisionAttachmentSelectors.d.ts +110 -0
  26. package/dist/store/selectors/formRevisionSelectors.d.ts +110 -0
  27. package/dist/store/selectors/formSelectors.d.ts +109 -0
  28. package/dist/store/selectors/formSubmissionCommentAttachmentSelectors.d.ts +7 -0
  29. package/dist/store/selectors/formSubmissionCommentSelectors.d.ts +8 -0
  30. package/dist/store/selectors/formSubmissionFieldValuesAttachmentSelectors.d.ts +8 -0
  31. package/dist/store/selectors/formSubmissionFieldValuesSelectors.d.ts +8 -0
  32. package/dist/store/selectors/formSubmissionSelectors.d.ts +16 -0
  33. package/dist/store/selectors/formSubscriberSelectors.d.ts +9 -0
  34. package/dist/store/selectors/geoImageSelectors.d.ts +109 -0
  35. package/dist/store/selectors/index.d.ts +79 -0
  36. package/dist/store/selectors/issueAssociationSelectors.d.ts +112 -0
  37. package/dist/store/selectors/issueAttachmentSelectors.d.ts +7 -0
  38. package/dist/store/selectors/issueCommentAttachmentSelectors.d.ts +7 -0
  39. package/dist/store/selectors/issueCommentSelectors.d.ts +6 -0
  40. package/dist/store/selectors/issueSelectors.d.ts +9 -0
  41. package/dist/store/selectors/issueTypeAttachmentSelectors.d.ts +7 -0
  42. package/dist/store/selectors/issueTypeFieldValuesAttachmentSelectors.d.ts +109 -0
  43. package/dist/store/selectors/issueTypeFieldValuesSelectors.d.ts +109 -0
  44. package/dist/store/selectors/issueTypeFieldsAttachmentSelectors.d.ts +109 -0
  45. package/dist/store/selectors/issueTypeFieldsSelectors.d.ts +111 -0
  46. package/dist/store/selectors/issueTypeIdentifierSelectors.d.ts +8 -0
  47. package/dist/store/selectors/issueTypeIdentifierValueSelectors.d.ts +9 -0
  48. package/dist/store/selectors/issueTypePrioritySelectors.d.ts +109 -0
  49. package/dist/store/selectors/issueTypeSelectors.d.ts +8 -0
  50. package/dist/store/selectors/issueTypeStatusSelectors.d.ts +109 -0
  51. package/dist/store/selectors/issueUpdateSelectors.d.ts +253 -0
  52. package/dist/store/selectors/organizationAccessSelectors.d.ts +8 -0
  53. package/dist/store/selectors/organizationSelectors.d.ts +108 -0
  54. package/dist/store/selectors/outboxSelectors.d.ts +3 -0
  55. package/dist/store/selectors/procedureFieldValuesSelectors.d.ts +109 -0
  56. package/dist/store/selectors/procedureInitiativeSelectors.d.ts +9 -0
  57. package/dist/store/selectors/procedureSelectors.d.ts +12 -0
  58. package/dist/store/selectors/procedureStepAssigneeSelectors.d.ts +111 -0
  59. package/dist/store/selectors/procedureStepCommentSelectors.d.ts +111 -0
  60. package/dist/store/selectors/procedureStepDefaultAssigneeSelectors.d.ts +109 -0
  61. package/dist/store/selectors/procedureStepDefaultReviewerSelectors.d.ts +109 -0
  62. package/dist/store/selectors/procedureStepEventSelectors.d.ts +111 -0
  63. package/dist/store/selectors/procedureStepFieldValuesAttachmentSelectors.d.ts +109 -0
  64. package/dist/store/selectors/procedureStepFieldValuesReviewSelectors.d.ts +113 -0
  65. package/dist/store/selectors/procedureStepFieldValuesSelectors.d.ts +111 -0
  66. package/dist/store/selectors/procedureStepFieldsAttachmentSelectors.d.ts +109 -0
  67. package/dist/store/selectors/procedureStepFieldsSelectors.d.ts +213 -0
  68. package/dist/store/selectors/procedureStepReviewerSelectors.d.ts +111 -0
  69. package/dist/store/selectors/procedureStepSelectors.d.ts +110 -0
  70. package/dist/store/selectors/procedureTypeAttachmentSelectors.d.ts +89 -0
  71. package/dist/store/selectors/procedureTypeFieldValuesAttachmentSelectors.d.ts +109 -0
  72. package/dist/store/selectors/procedureTypeFieldsAttachmentSelectors.d.ts +109 -0
  73. package/dist/store/selectors/procedureTypeFieldsSelectors.d.ts +8 -0
  74. package/dist/store/selectors/procedureTypeSelectors.d.ts +8 -0
  75. package/dist/store/selectors/projectAccessSelectors.d.ts +9 -0
  76. package/dist/store/selectors/projectAttachmentSelectors.d.ts +7 -0
  77. package/dist/store/selectors/projectCommentSelectors.d.ts +8 -0
  78. package/dist/store/selectors/projectFileSelectors.d.ts +108 -0
  79. package/dist/store/selectors/projectSelectors.d.ts +110 -0
  80. package/dist/store/selectors/rehydratedSelectors.d.ts +2 -0
  81. package/dist/store/selectors/reportSelectors.d.ts +108 -0
  82. package/dist/store/selectors/teamMembershipSelectors.d.ts +9 -0
  83. package/dist/store/selectors/teamSelectors.d.ts +8 -0
  84. package/dist/store/selectors/userSelectors.d.ts +109 -0
  85. package/dist/store/slices/agentsSlice.d.ts +0 -4
  86. package/dist/store/slices/assetAttachmentSlice.d.ts +1 -7
  87. package/dist/store/slices/assetCommentAttachmentSlice.d.ts +1 -7
  88. package/dist/store/slices/assetCommentSlice.d.ts +1 -8
  89. package/dist/store/slices/assetSlice.d.ts +1 -110
  90. package/dist/store/slices/assetTypeAttachmentSlice.d.ts +0 -6
  91. package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +1 -109
  92. package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +1 -110
  93. package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +1 -109
  94. package/dist/store/slices/assetTypeFieldsSlice.d.ts +1 -110
  95. package/dist/store/slices/assetTypeIdentifierSlice.d.ts +1 -7
  96. package/dist/store/slices/assetTypeIdentifierValueSlice.d.ts +1 -8
  97. package/dist/store/slices/assetTypeSlice.d.ts +1 -7
  98. package/dist/store/slices/assetTypeStatusSlice.d.ts +1 -109
  99. package/dist/store/slices/authSlice.d.ts +0 -3
  100. package/dist/store/slices/documentAttachmentSlice.d.ts +1 -7
  101. package/dist/store/slices/documentSlice.d.ts +1 -9
  102. package/dist/store/slices/emailDomainsSlice.d.ts +0 -108
  103. package/dist/store/slices/formIdentifierSlice.d.ts +1 -7
  104. package/dist/store/slices/formIdentifierValueSlice.d.ts +1 -8
  105. package/dist/store/slices/formRevisionAttachmentSlice.d.ts +1 -109
  106. package/dist/store/slices/formRevisionSlice.d.ts +1 -110
  107. package/dist/store/slices/formSlice.d.ts +1 -109
  108. package/dist/store/slices/formSubmissionCommentAttachmentSlice.d.ts +1 -7
  109. package/dist/store/slices/formSubmissionCommentSlice.d.ts +1 -8
  110. package/dist/store/slices/formSubmissionFieldValuesAttachmentSlice.d.ts +1 -7
  111. package/dist/store/slices/formSubmissionFieldValuesSlice.d.ts +1 -7
  112. package/dist/store/slices/formSubmissionSlice.d.ts +1 -15
  113. package/dist/store/slices/formSubscriberSlice.d.ts +1 -8
  114. package/dist/store/slices/geoImageSlice.d.ts +1 -109
  115. package/dist/store/slices/issueAssociationSlice.d.ts +1 -112
  116. package/dist/store/slices/issueAttachmentSlice.d.ts +1 -7
  117. package/dist/store/slices/issueCommentAttachmentSlice.d.ts +1 -7
  118. package/dist/store/slices/issueCommentSlice.d.ts +0 -5
  119. package/dist/store/slices/issueSlice.d.ts +1 -8
  120. package/dist/store/slices/issueTypeAttachmentSlice.d.ts +0 -6
  121. package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +1 -109
  122. package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +1 -109
  123. package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +1 -109
  124. package/dist/store/slices/issueTypeFieldsSlice.d.ts +1 -111
  125. package/dist/store/slices/issueTypeIdentifierSlice.d.ts +1 -7
  126. package/dist/store/slices/issueTypeIdentifierValueSlice.d.ts +1 -8
  127. package/dist/store/slices/issueTypePrioritySlice.d.ts +1 -109
  128. package/dist/store/slices/issueTypeSlice.d.ts +1 -7
  129. package/dist/store/slices/issueTypeStatusSlice.d.ts +1 -109
  130. package/dist/store/slices/issueUpdateSlice.d.ts +0 -252
  131. package/dist/store/slices/organizationAccessSlice.d.ts +1 -8
  132. package/dist/store/slices/organizationSlice.d.ts +0 -107
  133. package/dist/store/slices/outboxSlice.d.ts +1 -3
  134. package/dist/store/slices/procedureFieldValuesSlice.d.ts +1 -109
  135. package/dist/store/slices/procedureInitiativeSlice.d.ts +1 -8
  136. package/dist/store/slices/procedureSlice.d.ts +1 -11
  137. package/dist/store/slices/procedureStepAssigneeSlice.d.ts +1 -111
  138. package/dist/store/slices/procedureStepCommentSlice.d.ts +1 -111
  139. package/dist/store/slices/procedureStepDefaultAssigneeSlice.d.ts +1 -109
  140. package/dist/store/slices/procedureStepDefaultReviewerSlice.d.ts +1 -109
  141. package/dist/store/slices/procedureStepEventSlice.d.ts +1 -111
  142. package/dist/store/slices/procedureStepFieldValuesAttachmentSlice.d.ts +1 -109
  143. package/dist/store/slices/procedureStepFieldValuesReviewSlice.d.ts +1 -113
  144. package/dist/store/slices/procedureStepFieldValuesSlice.d.ts +1 -111
  145. package/dist/store/slices/procedureStepFieldsAttachmentSlice.d.ts +1 -109
  146. package/dist/store/slices/procedureStepFieldsSlice.d.ts +1 -213
  147. package/dist/store/slices/procedureStepReviewerSlice.d.ts +1 -111
  148. package/dist/store/slices/procedureStepSlice.d.ts +1 -110
  149. package/dist/store/slices/procedureTypeAttachmentSlice.d.ts +0 -88
  150. package/dist/store/slices/procedureTypeFieldValuesAttachmentSlice.d.ts +1 -109
  151. package/dist/store/slices/procedureTypeFieldsAttachmentSlice.d.ts +1 -109
  152. package/dist/store/slices/procedureTypeFieldsSlice.d.ts +1 -8
  153. package/dist/store/slices/procedureTypeSlice.d.ts +1 -7
  154. package/dist/store/slices/projectAccessSlice.d.ts +1 -9
  155. package/dist/store/slices/projectAttachmentSlice.d.ts +0 -6
  156. package/dist/store/slices/projectCommentSlice.d.ts +1 -8
  157. package/dist/store/slices/projectFileSlice.d.ts +0 -107
  158. package/dist/store/slices/projectSlice.d.ts +1 -110
  159. package/dist/store/slices/rehydratedSlice.d.ts +0 -2
  160. package/dist/store/slices/reportSlice.d.ts +0 -107
  161. package/dist/store/slices/teamMembershipSlice.d.ts +1 -8
  162. package/dist/store/slices/teamSlice.d.ts +1 -7
  163. package/dist/store/slices/userSlice.d.ts +0 -108
  164. 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("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("idb"),require("jwt-decode"),require("dependency-graph")):typeof define=="function"&&define.amd?define(["exports","@overmap-ai/common","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","idb","jwt-decode","dependency-graph"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s["overmap-core"]={},s.common,null,s.toolkit,s.request,s.uuid,s.reduxOffline,s.offlineConfig,s.localforage,s.idb,s.jwtDecode,s.dependencyGraph))})(this,(function(s,l,bw,u,St,ut,I_,bn,b_,O_,P_,F_){"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 b(t){return{addOne:(f,A)=>{const I=t(A.payload);I in f.instances||(f.instances[I]=A.payload)},addMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances||(f.instances[S]=I)}},updateOne:(f,A)=>{const I=t(A.payload);I in f.instances&&(f.instances[I]=A.payload)},setMany:(f,A)=>{for(const I of A.payload){const S=t(I);f.instances[S]=I}},setOne:(f,A)=>{const I=t(A.payload);f.instances[I]=A.payload},updateMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances&&(f.instances[S]=I)}},deleteOne:(f,A)=>{delete f.instances[A.payload]},deleteMany:(f,A)=>{for(const I of A.payload)delete f.instances[I]},initialize:(f,A)=>{f.instances={};const I=new Set;for(const S of A.payload){const P=t(S);I.add(P),f.instances[P]=S}I.size!==A.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function __(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"),O=u.createAction("RESET_ORGANIZATION_STATE"),m=(t=>(...e)=>i=>t(i,...e)),$=b(t=>t.uuid),Pn={instances:{}},us=u.createSlice({name:"agents",initialState:Pn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),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:Fn,addConversation:_n,addConversations:M_,setConversation:Mn,setConversations:g_,updateConversation:gn,updateConversations:R_,deleteConversation:w_,deleteConversations:E_}=us.actions,ls=t=>t.agentsReducer.instances,v_=u.createSelector([ls],t=>Object.values(t)),V_=m(u.createSelector([ls,(t,e)=>e],(t,e)=>t[e])),Rn=us.reducer,U=b(t=>t.uuid),wn={instances:{}},os=u.createSlice({name:"assetAttachments",initialState:wn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,wn)),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:En,addAssetAttachment:vn,addAssetAttachments:hs,setAssetAttachment:Vn,setAssetAttachments:Bn,updateAssetAttachment:zn,updateAssetAttachments:jn,deleteAssetAttachment:Cn,deleteAssetAttachments:ps}=os.actions,Dn=t=>t.assetAttachmentReducer.instances,ms=u.createSelector([Dn],t=>Object.values(t)),qn=t=>e=>e.assetAttachmentReducer.instances[t],$n=m(u.createSelector([ms,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Un=m(u.createSelector([ms,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>e===i)))),kn=os.reducer,k=b(t=>t.uuid),Ln={instances:{}},ys=u.createSlice({name:"assetCommentAttachments",initialState:Ln,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Ln)),reducers:{initializeAssetCommentAttachments:k.initialize,addAssetCommentAttachment:k.addOne,addAssetCommentAttachments:k.addMany,setAssetCommentAttachment:k.setOne,setAssetCommentAttachments:k.setMany,updateAssetCommentAttachment:k.updateOne,updateAssetCommentAttachments:k.updateMany,deleteAssetCommentAttachment:k.deleteOne,deleteAssetCommentAttachments:k.deleteMany}}),{initializeAssetCommentAttachments:Hn,addAssetCommentAttachment:Gn,addAssetCommentAttachments:Nn,setAssetCommentAttachment:Kn,setAssetCommentAttachments:Wn,updateAssetCommentAttachment:Xn,updateAssetCommentAttachments:Yn,deleteAssetCommentAttachment:Zn,deleteAssetCommentAttachments:Jn}=ys.actions,Qn=t=>t.assetCommentAttachmentReducer.instances,fs=u.createSelector([Qn],t=>Object.values(t)),xn=t=>e=>e.assetCommentAttachmentReducer.instances[t],ec=m(u.createSelector([fs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),B_=m(u.createSelector([fs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_comment:i})=>e===i)))),tc=ys.reducer,L=b(t=>t.uuid),sc={instances:{}},Ss=u.createSlice({name:"assetComments",initialState:sc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,sc)),reducers:{initializeAssetComments:L.initialize,addAssetComment:L.addOne,addAssetComments:L.addMany,setAssetComment:L.setOne,setAssetComments:L.setMany,updateAssetComment:L.updateOne,updateAssetComments:L.updateMany,deleteAssetComment:L.deleteOne,deleteAssetComments:L.deleteMany}}),{initializeAssetComments:ic,addAssetComment:ac,addAssetComments:Ct,setAssetComment:nc,setAssetComments:cc,updateAssetComment:rc,updateAssetComments:dc,deleteAssetComment:uc,deleteAssetComments:Dt}=Ss.actions,lc=t=>t.assetCommentReducer.instances,qt=u.createSelector([lc],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),oc=t=>e=>e.assetCommentReducer.instances[t],hc=m(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),pc=m(u.createSelector([qt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),mc=m(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.asset)))})),yc=Ss.reducer,H=b(t=>t.uuid),fc={instances:{}},As=u.createSlice({name:"assets",initialState:fc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,fc)),reducers:{initializeAssets:H.initialize,addAsset:H.addOne,addAssets:H.addMany,setAsset:H.setOne,setAssets:H.setMany,updateAsset:H.updateOne,updateAssets:H.updateMany,deleteAsset:H.deleteOne,deleteAssets:H.deleteMany}}),{initializeAssets:Sc,addAsset:Ac,addAssets:Ts,updateAsset:Tc,updateAssets:Ic,deleteAsset:bc,deleteAssets:Is,setAsset:Oc,setAssets:Pc}=As.actions,Fc=t=>t.assetReducer.instances,$t=u.createSelector([Fc],t=>l.fallbackToEmptyArray(Object.values(t))),z_=m(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),_c=m(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),Mc=t=>e=>e.assetReducer.instances[t],gc=m(u.createSelector([$t,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Rc=As.reducer,G=b(t=>t.uuid),wc={instances:{}},bs=u.createSlice({name:"assetTypeAttachments",initialState:wc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,wc)),reducers:{initializeAssetTypeAttachments:G.initialize,addAssetTypeAttachment:G.addOne,addAssetTypeAttachments:G.addMany,setAssetTypeAttachment:G.setOne,setAssetTypeAttachments:G.setMany,updateAssetTypeAttachment:G.updateOne,updateAssetTypeAttachments:G.updateMany,deleteAssetTypeAttachment:G.deleteOne,deleteAssetTypeAttachments:G.deleteMany}}),{initializeAssetTypeAttachments:Ec,addAssetTypeAttachment:vc,addAssetTypeAttachments:Os,setAssetTypeAttachment:Vc,setAssetTypeAttachments:Bc,updateAssetTypeAttachment:zc,updateAssetTypeAttachments:jc,deleteAssetTypeAttachment:Cc,deleteAssetTypeAttachments:Ps}=bs.actions,Dc=t=>t.assetTypeAttachmentReducer.instances,Fs=u.createSelector([Dc],t=>Object.values(t)),qc=t=>e=>e.assetTypeAttachmentReducer.instances[t],$c=m(u.createSelector([Fs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Uc=m(u.createSelector([Fs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_type:i})=>e===i)))),kc=bs.reducer,N=b(t=>t.uuid),Lc={instances:{}},_s=u.createSlice({name:"assetTypeFieldsAttachments",initialState:Lc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Lc)),reducers:{initializeAssetTypeFieldsAttachments:N.initialize,addAssetTypeFieldsAttachment:N.addOne,addAssetTypeFieldsAttachments:N.addMany,setAssetTypeFieldsAttachment:N.setOne,setAssetTypeFieldsAttachments:N.setMany,updateAssetTypeFieldsAttachment:N.updateOne,updateAssetTypeFieldsAttachments:N.updateMany,deleteAssetTypeFieldsAttachment:N.deleteOne,deleteAssetTypeFieldsAttachments:N.deleteMany}}),{initializeAssetTypeFieldsAttachments:Hc,addAssetTypeFieldsAttachment:Gc,addAssetTypeFieldsAttachments:Nc,setAssetTypeFieldsAttachment:Kc,setAssetTypeFieldsAttachments:Wc,updateAssetTypeFieldsAttachment:Xc,updateAssetTypeFieldsAttachments:Yc,deleteAssetTypeFieldsAttachment:Zc,deleteAssetTypeFieldsAttachments:Jc}=_s.actions,Qc=t=>t.assetTypeFieldsAttachmentReducer.instances,Ms=u.createSelector([Qc],t=>Object.values(t)),j_=m(u.createSelector([Ms,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),xc=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],er=m(u.createSelector([Ms,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tr=_s.reducer,K=b(t=>t.uuid),sr={instances:{}},gs=u.createSlice({name:"assetTypeFields",initialState:sr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,sr)),reducers:{initializeAssetTypeFields:K.initialize,addAssetTypeFields:K.addOne,addAssetTypeFieldsMany:K.addMany,setAssetTypeFields:K.setOne,setAssetTypeFieldsMany:K.setMany,updateAssetTypeFields:K.updateOne,updateAssetTypeFieldsMany:K.updateMany,deleteAssetTypeFields:K.deleteOne,deleteAssetTypeFieldsMany:K.deleteMany}}),{initializeAssetTypeFields:ir,addAssetTypeFields:ar,addAssetTypeFieldsMany:nr,setAssetTypeFields:cr,setAssetTypeFieldsMany:rr,updateAssetTypeFields:dr,updateAssetTypeFieldsMany:ur,deleteAssetTypeFields:lr,deleteAssetTypeFieldsMany:or}=gs.actions,hr=t=>t.assetTypeFieldsReducer.instances,Mt=u.createSelector([hr],t=>Object.values(t)),C_=m(u.createSelector([Mt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),D_=m(u.createSelector([Mt,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).toSorted(l.submittedAtModelSortFn).pop())),pr=t=>e=>e.assetTypeFieldsReducer.instances[t],mr=m(u.createSelector([Mt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),yr=gs.reducer,W=b(t=>t.uuid),fr={instances:{}},Rs=u.createSlice({name:"assetTypeFieldValuesAttachments",initialState:fr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,fr)),reducers:{initializeAssetTypeFieldValuesAttachments:W.initialize,addAssetTypeFieldValuesAttachment:W.addOne,addAssetTypeFieldValuesAttachments:W.addMany,setAssetTypeFieldValuesAttachment:W.setOne,setAssetTypeFieldValuesAttachments:W.setMany,updateAssetTypeFieldValuesAttachment:W.updateOne,updateAssetTypeFieldValuesAttachments:W.updateMany,deleteAssetTypeFieldValuesAttachment:W.deleteOne,deleteAssetTypeFieldValuesAttachments:W.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Sr,addAssetTypeFieldValuesAttachment:Ar,addAssetTypeFieldValuesAttachments:ws,setAssetTypeFieldValuesAttachment:Tr,setAssetTypeFieldValuesAttachments:Ir,updateAssetTypeFieldValuesAttachment:br,updateAssetTypeFieldValuesAttachments:Or,deleteAssetTypeFieldValuesAttachment:Pr,deleteAssetTypeFieldValuesAttachments:Es}=Rs.actions,Fr=t=>t.assetTypeFieldValuesAttachmentReducer.instances,vs=u.createSelector([Fr],t=>Object.values(t)),_r=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],Mr=m(u.createSelector([vs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gr=m(u.createSelector([vs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Rr=Rs.reducer,X=b(t=>t.uuid),wr={instances:{}},Vs=u.createSlice({name:"assetTypeFieldValues",initialState:wr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,wr)),reducers:{initializeAssetTypeFieldValues:X.initialize,addAssetTypeFieldValues:X.addOne,addAssetTypeFieldValuesMany:X.addMany,setAssetTypeFieldValues:X.setOne,setAssetTypeFieldValuesMany:X.setMany,updateAssetTypeFieldValues:X.updateOne,updateAssetTypeFieldValuesMany:X.updateMany,deleteAssetTypeFieldValues:X.deleteOne,deleteAssetTypeFieldValuesMany:X.deleteMany}}),{initializeAssetTypeFieldValues:Er,addAssetTypeFieldValues:vr,addAssetTypeFieldValuesMany:Vr,setAssetTypeFieldValues:Br,setAssetTypeFieldValuesMany:zr,updateAssetTypeFieldValues:jr,updateAssetTypeFieldValuesMany:Cr,deleteAssetTypeFieldValues:Dr,deleteAssetTypeFieldValuesMany:qr}=Vs.actions,$r=t=>t.assetTypeFieldValuesReducer.instances,Ut=u.createSelector([$r],t=>Object.values(t)),q_=m(u.createSelector([Ut,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),$_=m(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)))})),Ur=t=>e=>e.assetTypeFieldValuesReducer.instances[t],kr=m(u.createSelector([Ut,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Lr=Vs.reducer,Y=b(t=>t.uuid),Hr={instances:{}},Bs=u.createSlice({name:"assetTypeIdentifiers",initialState:Hr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Hr)),reducers:{initializeAssetTypeIdentifiers:Y.initialize,addAssetTypeIdentifier:Y.addOne,addAssetTypeIdentifiers:Y.addMany,setAssetTypeIdentifier:Y.setOne,setAssetTypeIdentifiers:Y.setMany,updateAssetTypeIdentifier:Y.updateOne,updateAssetTypeIdentifiers:Y.updateMany,deleteAssetTypeIdentifier:Y.deleteOne,deleteAssetTypeIdentifiers:Y.deleteMany}}),{initializeAssetTypeIdentifiers:Gr,addAssetTypeIdentifier:Nr,addAssetTypeIdentifiers:Kr,setAssetTypeIdentifier:Wr,setAssetTypeIdentifiers:Xr,updateAssetTypeIdentifier:Yr,updateAssetTypeIdentifiers:Zr,deleteAssetTypeIdentifier:Jr,deleteAssetTypeIdentifiers:Qr}=Bs.actions,xr=t=>t.assetTypeIdentifierReducer.instances,zs=u.createSelector([xr],t=>Object.values(t)),ed=t=>e=>e.assetTypeIdentifierReducer.instances[t],td=m(u.createSelector([zs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),U_=m(u.createSelector([zs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),sd=Bs.reducer,Z=b(t=>t.uuid),id={instances:{}},js=u.createSlice({name:"assetTypeIdentifierValues",initialState:id,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,id)),reducers:{initializeAssetTypeIdentifierValues:Z.initialize,addAssetTypeIdentifierValue:Z.addOne,addAssetTypeIdentifierValues:Z.addMany,setAssetTypeIdentifierValue:Z.setOne,setAssetTypeIdentifierValues:Z.setMany,updateAssetTypeIdentifierValue:Z.updateOne,updateAssetTypeIdentifierValues:Z.updateMany,deleteAssetTypeIdentifierValue:Z.deleteOne,deleteAssetTypeIdentifierValues:Z.deleteMany}}),{initializeAssetTypeIdentifierValues:ad,addAssetTypeIdentifierValue:nd,addAssetTypeIdentifierValues:cd,setAssetTypeIdentifierValue:rd,setAssetTypeIdentifierValues:dd,updateAssetTypeIdentifierValue:ud,updateAssetTypeIdentifierValues:ld,deleteAssetTypeIdentifierValue:od,deleteAssetTypeIdentifierValues:hd}=js.actions,pd=t=>t.assetTypeIdentifierValueReducer.instances,kt=u.createSelector([pd],t=>Object.values(t)),md=t=>e=>e.assetTypeIdentifierValueReducer.instances[t],yd=m(u.createSelector([kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),k_=m(u.createSelector([kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),L_=m(u.createSelector([kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type_identifier===e)))),fd=js.reducer,J=b(t=>t.uuid),Sd={instances:{}},Cs=u.createSlice({name:"assetTypes",initialState:Sd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Sd)),reducers:{initializeAssetTypes:J.initialize,setAssetType:J.setOne,setAssetTypes:J.setMany,addAssetType:J.addOne,addAssetTypes:J.addMany,updateAssetType:J.updateOne,updateAssetTypes:J.updateMany,deleteAssetType:J.deleteOne,deleteAssetTypes:J.deleteMany}}),{initializeAssetTypes:Ad,setAssetType:Td,setAssetTypes:Id,addAssetType:bd,addAssetTypes:Od,updateAssetType:Pd,updateAssetTypes:Fd,deleteAssetType:_d,deleteAssetTypes:Md}=Cs.actions,gd=t=>t.assetTypeReducer.instances,Ds=u.createSelector([gd],t=>Object.values(t)),Rd=t=>e=>e.assetTypeReducer.instances[t],wd=m(u.createSelector([Ds,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),H_=m(u.createSelector([Ds,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Ed=Cs.reducer,Q=b(t=>t.uuid),vd={instances:{}},qs=u.createSlice({name:"assetTypeStatuses",initialState:vd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,vd)),reducers:{initializeAssetTypeStatuses:Q.initialize,addAssetTypeStatus:Q.addOne,addAssetTypeStatuses:Q.addMany,setAssetTypeStatus:Q.setOne,setAssetTypeStatuses:Q.setMany,updateAssetTypeStatus:Q.updateOne,updateAssetTypeStatuses:Q.updateMany,deleteAssetTypeStatus:Q.deleteOne,deleteAssetTypeStatuses:Q.deleteMany}}),{initializeAssetTypeStatuses:Vd,addAssetTypeStatus:Bd,addAssetTypeStatuses:zd,setAssetTypeStatus:jd,setAssetTypeStatuses:Cd,updateAssetTypeStatus:Dd,updateAssetTypeStatuses:qd,deleteAssetTypeStatus:$d,deleteAssetTypeStatuses:Ud}=qs.actions,kd=t=>t.assetTypeStatusReducer.instances,$s=u.createSelector([kd],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.assetTypeStatusSortFn))),Ld=t=>e=>e.assetTypeStatusReducer.instances[t],Hd=m(u.createSelector([$s,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),G_=m(u.createSelector([$s,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),Gd=qs.reducer,Nd={accessToken:"",refreshToken:"",isLoggedIn:!1},Lt=u.createSlice({name:"auth",initialState:Nd,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Nd)),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:N_,clearTokens:K_,setLoggedIn:Kd}=Lt.actions,W_=t=>t.authReducer.accessToken,X_=t=>t.authReducer.isLoggedIn,Wd=Lt.reducer,x=b(t=>t.uuid),Xd={instances:{}},Us=u.createSlice({name:"documentAttachments",initialState:Xd,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Xd)),reducers:{initializeDocumentAttachments:x.initialize,addDocumentAttachment:x.addOne,addDocumentAttachments:x.addMany,setDocumentAttachment:x.setOne,setDocumentAttachments:x.setMany,updateDocumentAttachment:x.updateOne,updateDocumentAttachments:x.updateMany,deleteDocumentAttachment:x.deleteOne,deleteDocumentAttachments:x.deleteMany}}),{initializeDocumentAttachments:Yd,addDocumentAttachment:Zd,addDocumentAttachments:Jd,setDocumentAttachment:Qd,setDocumentAttachments:xd,updateDocumentAttachment:eu,updateDocumentAttachments:tu,deleteDocumentAttachment:su,deleteDocumentAttachments:iu}=Us.actions,au=t=>t.documentAttachmentReducer.instances,ks=u.createSelector([au],t=>Object.values(t)),nu=t=>e=>e.documentAttachmentReducer.instances[t],cu=m(u.createSelector([ks,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Y_=m(u.createSelector([ks,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({document:i})=>e===i)))),ru=Us.reducer,ee=b(({uuid:t})=>t),du={instances:{}},Ls=u.createSlice({name:"documents",initialState:du,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>{Object.assign(e,du)}),reducers:{initializeDocuments:ee.initialize,addDocument:ee.addOne,addDocuments:ee.addMany,setDocument:ee.setOne,setDocuments:ee.setMany,updateDocument:ee.updateOne,updateDocuments:ee.updateMany,deleteDocument:ee.deleteOne,deleteDocuments:ee.deleteMany}}),{initializeDocuments:uu,addDocument:lu,addDocuments:ou,setDocument:hu,setDocuments:pu,updateDocument:mu,updateDocuments:yu,deleteDocument:fu,deleteDocuments:Su}=Ls.actions,Au=Ls.reducer,Hs=t=>t.documentsReducer.instances,Ht=u.createSelector([Hs],t=>Object.values(t)),Tu=t=>e=>e.documentsReducer.instances[t],Iu=m(u.createSelector([Ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Z_=m(u.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),J_=m(u.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),bu=m(u.createSelector([Hs,(t,e)=>e],(t,e)=>{if(!t[e])return l.fallbackToEmptyArray([]);const n=l.getDocumentSubTree(e,Object.values(t)).all().map(({model:c})=>c);return l.fallbackToEmptyArray(n)})),te=b(t=>t.uuid),Ou={instances:{}},Gs=u.createSlice({name:"emailDomains",initialState:Ou,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Ou)),reducers:{initializeEmailDomains:te.initialize,addEmailDomain:te.addOne,addEmailDomains:te.addMany,setEmailDomain:te.setOne,setEmailDomains:te.setMany,updateEmailDomain:te.updateOne,updateEmailDomains:te.updateMany,deleteEmailDomain:te.deleteOne,deleteEmailDomains:te.deleteMany}}),{initializeEmailDomains:Pu,addEmailDomain:Fu,addEmailDomains:_u,setEmailDomain:Mu,setEmailDomains:gu,updateEmailDomain:Ru,updateEmailDomains:wu,deleteEmailDomain:Eu,deleteEmailDomains:vu}=Gs.actions,Vu=t=>t.emailDomainsReducer.instances,Ns=u.createSelector([Vu],t=>Object.values(t)),Bu=t=>e=>e.emailDomainsReducer.instances[t],zu=m(u.createSelector([Ns,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Q_=m(u.createSelector([Ns,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),ju=Gs.reducer,se=b(t=>t.uuid),Cu={instances:{}},Ks=u.createSlice({name:"formIdentifiers",initialState:Cu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Cu)),reducers:{initializeFormIdentifiers:se.initialize,addFormIdentifier:se.addOne,addFormIdentifiers:se.addMany,setFormIdentifier:se.setOne,setFormIdentifiers:se.setMany,updateFormIdentifier:se.updateOne,updateFormIdentifiers:se.updateMany,deleteFormIdentifier:se.deleteOne,deleteFormIdentifiers:se.deleteMany}}),{initializeFormIdentifiers:Du,addFormIdentifier:qu,addFormIdentifiers:$u,setFormIdentifier:Uu,setFormIdentifiers:ku,updateFormIdentifier:Lu,updateFormIdentifiers:Hu,deleteFormIdentifier:Gu,deleteFormIdentifiers:Nu}=Ks.actions,Ku=t=>t.formIdentifierReducer.instances,Ws=u.createSelector([Ku],t=>Object.values(t)),Wu=t=>e=>e.formIdentifierReducer.instances[t],Xu=m(u.createSelector([Ws,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),x_=m(u.createSelector([Ws,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Yu=Ks.reducer,ie=b(t=>t.uuid),Zu={instances:{}},Xs=u.createSlice({name:"formIdentifierValues",initialState:Zu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Zu)),reducers:{initializeFormIdentifierValues:ie.initialize,addFormIdentifierValue:ie.addOne,addFormIdentifierValues:ie.addMany,setFormIdentifierValue:ie.setOne,setFormIdentifierValues:ie.setMany,updateFormIdentifierValue:ie.updateOne,updateFormIdentifierValues:ie.updateMany,deleteFormIdentifierValue:ie.deleteOne,deleteFormIdentifierValues:ie.deleteMany}}),{initializeFormIdentifierValues:Ju,addFormIdentifierValue:Qu,addFormIdentifierValues:xu,setFormIdentifierValue:el,setFormIdentifierValues:tl,updateFormIdentifierValue:sl,updateFormIdentifierValues:il,deleteFormIdentifierValue:al,deleteFormIdentifierValues:nl}=Xs.actions,cl=t=>t.formIdentifierValueReducer.instances,Gt=u.createSelector([cl],t=>Object.values(t)),rl=t=>e=>e.formIdentifierValueReducer.instances[t],dl=m(u.createSelector([Gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),eM=m(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),tM=m(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_identifier===e)))),ul=Xs.reducer,ae=b(t=>t.uuid),ll={instances:{}},Ys=u.createSlice({name:"formRevisionAttachments",initialState:ll,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,ll)),reducers:{initializeFormRevisionAttachments:ae.initialize,addFormRevisionAttachment:ae.addOne,addFormRevisionAttachments:ae.addMany,setFormRevisionAttachment:ae.setOne,setFormRevisionAttachments:ae.setMany,updateFormRevisionAttachment:ae.updateOne,updateFormRevisionAttachments:ae.updateMany,deleteFormRevisionAttachment:ae.deleteOne,deleteFormRevisionAttachments:ae.deleteMany}}),{initializeFormRevisionAttachments:ol,addFormRevisionAttachment:hl,addFormRevisionAttachments:pl,setFormRevisionAttachment:ml,setFormRevisionAttachments:yl,updateFormRevisionAttachment:fl,updateFormRevisionAttachments:Sl,deleteFormRevisionAttachment:Al,deleteFormRevisionAttachments:Tl}=Ys.actions,Nt=t=>t.formRevisionAttachmentReducer.instances,Il=u.createSelector([Nt],t=>Object.values(t)),bl=m(u.createSelector([Nt,(t,e)=>e],(t,e)=>t[e])),Ol=m(u.createSelector([Il,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),sM=m(u.createSelector([Nt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.form_revision===e)))),Pl=Ys.reducer,ne=b(t=>t.uuid),Fl={instances:{}},Zs=u.createSlice({name:"formRevisions",initialState:Fl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Fl)),reducers:{initializeFormRevisions:ne.initialize,addFormRevision:ne.addOne,addFormRevisions:ne.addMany,setFormRevision:ne.setOne,setFormRevisions:ne.setMany,updateFormRevision:ne.updateOne,updateFormRevisions:ne.updateMany,deleteFormRevision:ne.deleteOne,deleteFormRevisions:ne.deleteMany}}),{initializeFormRevisions:_l,addFormRevision:Ml,addFormRevisions:Js,setFormRevision:gl,setFormRevisions:Rl,updateFormRevision:wl,updateFormRevisions:El,deleteFormRevision:vl,deleteFormRevisions:Qs}=Zs.actions,Vl=t=>t.formRevisionReducer.instances,Kt=u.createSelector([Vl],t=>Object.values(t)),Bl=t=>e=>e.formRevisionReducer.instances[t],zl=m(u.createSelector([Kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),iM=m(u.createSelector([Kt,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).toSorted(l.submittedAtModelSortFn).pop())),jl=m(u.createSelector([Kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Cl=Zs.reducer,ce=b(t=>t.uuid),Dl={instances:{}},xs=u.createSlice({name:"formSubscribers",initialState:Dl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Dl)),reducers:{initializeFormSubscribers:ce.initialize,addFormSubscriber:ce.addOne,addFormSubscribers:ce.addMany,setFormSubscriber:ce.setOne,setFormSubscribers:ce.setMany,updateFormSubscriber:ce.updateOne,updateFormSubscribers:ce.updateMany,deleteFormSubscriber:ce.deleteOne,deleteFormSubscribers:ce.deleteMany}}),{initializeFormSubscribers:ql,addFormSubscriber:$l,addFormSubscribers:ei,setFormSubscriber:Ul,setFormSubscribers:kl,updateFormSubscriber:Ll,updateFormSubscribers:Hl,deleteFormSubscriber:Gl,deleteFormSubscribers:ti}=xs.actions,Nl=t=>t.formSubscriberReducer.instances,Wt=u.createSelector([Nl],t=>Object.values(t)),Kl=t=>e=>e.formSubscriberReducer.instances[t],Wl=m(u.createSelector([Wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Xl=m(u.createSelector([Wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),aM=m(u.createSelector([Wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.user===e)))),Yl=xs.reducer,re=b(t=>t.uuid),Zl={instances:{}},si=u.createSlice({name:"forms",initialState:Zl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Zl)),reducers:{initializeForms:re.initialize,addForm:re.addOne,addForms:re.addMany,setForm:re.setOne,setForms:re.setMany,updateForm:re.updateOne,updateForms:re.updateMany,deleteForm:re.deleteOne,deleteForms:re.deleteMany}}),{initializeForms:Jl,addForm:Ql,addForms:xl,setForm:eo,setForms:to,updateForm:so,updateForms:io,deleteForm:ao,deleteForms:no}=si.actions,co=si.reducer,ro=t=>t.formReducer.instances,ii=u.createSelector([ro],t=>Object.values(t)),uo=t=>e=>e.formReducer.instances[t],lo=m(u.createSelector([ii,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),nM=m(u.createSelector([ii,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),de=b(({uuid:t})=>t),oo={instances:{}},ai=u.createSlice({name:"formSubmissionFieldValuesAttachments",initialState:oo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,oo)),reducers:{initializeFormSubmissionFieldValuesAttachments:de.initialize,addFormSubmissionFieldValuesAttachment:de.addOne,addFormSubmissionFieldValuesAttachments:de.addMany,setFormSubmissionFieldValuesAttachment:de.setOne,setFormSubmissionFieldValuesAttachments:de.setMany,updateFormSubmissionFieldValuesAttachment:de.updateOne,updateFormSubmissionFieldValuesAttachments:de.updateMany,deleteFormSubmissionFieldValuesAttachment:de.deleteOne,deleteFormSubmissionFieldValuesAttachments:de.deleteMany}}),{initializeFormSubmissionFieldValuesAttachments:ho,addFormSubmissionFieldValuesAttachment:po,addFormSubmissionFieldValuesAttachments:ni,setFormSubmissionFieldValuesAttachment:mo,setFormSubmissionFieldValuesAttachments:yo,updateFormSubmissionFieldValuesAttachment:fo,updateFormSubmissionFieldValuesAttachments:So,deleteFormSubmissionFieldValuesAttachment:Ao,deleteFormSubmissionFieldValuesAttachments:ci}=ai.actions,ri=t=>t.formSubmissionFieldValuesAttachmentReducer.instances,di=u.createSelector([ri],t=>Object.values(t)),To=m(u.createSelector([ri,(t,e)=>e],(t,e)=>t[e])),ui=m(u.createSelector([di,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.uuid)))})),Io=m(u.createSelector([di,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),bo=ai.reducer,ue=b(({uuid:t})=>t),Oo={instances:{}},li=u.createSlice({name:"formSubmissionFieldValues",initialState:Oo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Oo)),reducers:{initializeFormSubmissionFieldValues:ue.initialize,addFormSubmissionFieldValues:ue.addOne,addFormSubmissionFieldValuesMany:ue.addMany,setFormSubmissionFieldValues:ue.setOne,setFormSubmissionFieldValuesMany:ue.setMany,updateFormSubmissionFieldValues:ue.updateOne,updateFormSubmissionFieldValuesMany:ue.updateMany,deleteFormSubmissionFieldValues:ue.deleteOne,deleteFormSubmissionFieldValuesMany:ue.deleteMany}}),{initializeFormSubmissionFieldValues:Po,addFormSubmissionFieldValues:Fo,addFormSubmissionFieldValuesMany:oi,setFormSubmissionFieldValues:_o,setFormSubmissionFieldValuesMany:Mo,updateFormSubmissionFieldValues:go,updateFormSubmissionFieldValuesMany:Ro,deleteFormSubmissionFieldValues:wo,deleteFormSubmissionFieldValuesMany:hi}=li.actions,Eo=t=>t.formSubmissionFieldValuesReducer.instances,pi=u.createSelector([Eo],t=>Object.values(t)),vo=t=>e=>e.formSubmissionFieldValuesReducer.instances[t],Vo=m(u.createSelector([pi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Bo=m(u.createSelector([pi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),zo=li.reducer,le=b(t=>t.uuid),jo={instances:{}},mi=u.createSlice({name:"formSubmissionCommentAttachments",initialState:jo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,jo)),reducers:{initializeFormSubmissionCommentAttachments:le.initialize,addFormSubmissionCommentAttachment:le.addOne,addFormSubmissionCommentAttachments:le.addMany,setFormSubmissionCommentAttachment:le.setOne,setFormSubmissionCommentAttachments:le.setMany,updateFormSubmissionCommentAttachment:le.updateOne,updateFormSubmissionCommentAttachments:le.updateMany,deleteFormSubmissionCommentAttachment:le.deleteOne,deleteFormSubmissionCommentAttachments:le.deleteMany}}),{initializeFormSubmissionCommentAttachments:Co,addFormSubmissionCommentAttachment:Do,addFormSubmissionCommentAttachments:qo,setFormSubmissionCommentAttachment:$o,setFormSubmissionCommentAttachments:Uo,updateFormSubmissionCommentAttachment:ko,updateFormSubmissionCommentAttachments:Lo,deleteFormSubmissionCommentAttachment:Ho,deleteFormSubmissionCommentAttachments:Go}=mi.actions,No=t=>t.formSubmissionCommentAttachmentReducer.instances,yi=u.createSelector([No],t=>Object.values(t)),Ko=t=>e=>e.formSubmissionCommentAttachmentReducer.instances[t],Wo=m(u.createSelector([yi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),cM=m(u.createSelector([yi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({form_submission_comment:i})=>e===i)))),Xo=mi.reducer,oe=b(t=>t.uuid),Yo={instances:{}},fi=u.createSlice({name:"formSubmissionComments",initialState:Yo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Yo)),reducers:{initializeFormSubmissionComments:oe.initialize,addFormSubmissionComment:oe.addOne,addFormSubmissionComments:oe.addMany,setFormSubmissionComment:oe.setOne,setFormSubmissionComments:oe.setMany,updateFormSubmissionComment:oe.updateOne,updateFormSubmissionComments:oe.updateMany,deleteFormSubmissionComment:oe.deleteOne,deleteFormSubmissionComments:oe.deleteMany}}),{initializeFormSubmissionComments:Zo,addFormSubmissionComment:Jo,addFormSubmissionComments:Si,setFormSubmissionComment:Qo,setFormSubmissionComments:xo,updateFormSubmissionComment:eh,updateFormSubmissionComments:th,deleteFormSubmissionComment:sh,deleteFormSubmissionComments:Ai}=fi.actions,ih=t=>t.formSubmissionCommentReducer.instances,Xt=u.createSelector([ih],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),ah=t=>e=>e.formSubmissionCommentReducer.instances[t],nh=m(u.createSelector([Xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ch=m(u.createSelector([Xt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),rM=m(u.createSelector([Xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.form_submission)))})),rh=fi.reducer,he=b(t=>t.uuid),dh={instances:{}},Ti=u.createSlice({name:"formSubmissions",initialState:dh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,dh)),reducers:{initializeFormSubmissions:he.initialize,setFormSubmission:he.setOne,setFormSubmissions:he.setMany,addFormSubmission:he.addOne,addFormSubmissions:he.addMany,updateFormSubmission:he.updateOne,updateFormSubmissions:he.updateMany,deleteFormSubmission:he.deleteOne,deleteFormSubmissions:he.deleteMany}}),{initializeFormSubmissions:uh,setFormSubmission:lh,setFormSubmissions:oh,addFormSubmission:hh,addFormSubmissions:lt,updateFormSubmission:ph,updateFormSubmissions:mh,deleteFormSubmission:yh,deleteFormSubmissions:ot}=Ti.actions,fh=t=>t.formSubmissionReducer.instances,C=u.createSelector([fh],t=>Object.values(t)),Sh=t=>e=>e.formSubmissionReducer.instances[t],Ah=m(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Th=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),dM=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({organization:i})=>i===e)))),uM=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),lM=m(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)))),oM=m(u.createSelector([C,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({organization:a,form:n})=>a===e&&n===i)))),Ih=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),bh=m(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>a&&i.has(a)))})),Oh=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),Ph=m(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>a&&i.has(a)))})),Fh=Ti.reducer,pe=b(t=>t.uuid),_h={instances:{}},Ii=u.createSlice({name:"geoImages",initialState:_h,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,_h)),reducers:{initializeGeoImages:pe.initialize,setGeoImage:pe.setOne,setGeoImages:pe.setMany,addGeoImage:pe.addOne,addGeoImages:pe.addMany,updateGeoImage:pe.updateOne,updateGeoImages:pe.updateMany,deleteGeoImage:pe.deleteOne,deleteGeoImages:pe.deleteMany}}),{initializeGeoImages:Mh,setGeoImage:gh,setGeoImages:Rh,addGeoImage:wh,addGeoImages:Eh,updateGeoImage:vh,updateGeoImages:Vh,deleteGeoImage:Bh,deleteGeoImages:zh}=Ii.actions,jh=t=>t.geoImageReducer.instances,bi=u.createSelector([jh],t=>Object.values(t)),Ch=t=>e=>e.geoImageReducer.instances[t],Dh=m(u.createSelector([bi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),hM=m(u.createSelector([bi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),qh=Ii.reducer,me=b(t=>t.uuid),$h={instances:{}},Oi=u.createSlice({name:"issueAssociations",initialState:$h,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,$h)),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:Uh,setIssueAssociations:kh,setIssueAssociation:Lh,updateIssueAssociation:Hh,updateIssueAssociations:Gh,addIssueAssociation:Nh,addIssueAssociations:At,deleteIssueAssociation:Kh,deleteIssueAssociations:Tt}=Oi.actions,Wh=t=>t.issueAssociationReducer.instances,It=u.createSelector([Wh],t=>Object.values(t)),Xh=t=>e=>e.issueAssociationReducer.instances[t],Yh=m(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Zh=m(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>i.has(a)))})),Jh=m(u.createSelector([It,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),Qh=m(u.createSelector([It,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),xh=m(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),ep=Oi.reducer,ye=b(t=>t.uuid),tp={instances:{}},Pi=u.createSlice({name:"issueAttachments",initialState:tp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,tp)),reducers:{initializeIssueAttachments:ye.initialize,addIssueAttachment:ye.addOne,addIssueAttachments:ye.addMany,setIssueAttachment:ye.setOne,setIssueAttachments:ye.setMany,updateIssueAttachment:ye.updateOne,updateIssueAttachments:ye.updateMany,deleteIssueAttachment:ye.deleteOne,deleteIssueAttachments:ye.deleteMany}}),{initializeIssueAttachments:sp,addIssueAttachment:ip,addIssueAttachments:Fi,setIssueAttachment:ap,setIssueAttachments:np,updateIssueAttachment:cp,updateIssueAttachments:rp,deleteIssueAttachment:dp,deleteIssueAttachments:_i}=Pi.actions,up=t=>t.issueAttachmentReducer.instances,Mi=u.createSelector([up],t=>Object.values(t)),lp=m(u.createSelector([Mi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>e===i)))),op=t=>e=>e.issueAttachmentReducer.instances[t],hp=m(u.createSelector([Mi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),pp=Pi.reducer,fe=b(t=>t.uuid),mp={instances:{}},gi=u.createSlice({name:"issueCommentAttachments",initialState:mp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,mp)),reducers:{initializeIssueCommentAttachments:fe.initialize,addIssueCommentAttachment:fe.addOne,addIssueCommentAttachments:fe.addMany,setIssueCommentAttachment:fe.setOne,setIssueCommentAttachments:fe.setMany,updateIssueCommentAttachment:fe.updateOne,updateIssueCommentAttachments:fe.updateMany,deleteIssueCommentAttachment:fe.deleteOne,deleteIssueCommentAttachments:fe.deleteMany}}),{initializeIssueCommentAttachments:yp,addIssueCommentAttachment:fp,addIssueCommentAttachments:Sp,setIssueCommentAttachment:Ap,setIssueCommentAttachments:Tp,updateIssueCommentAttachment:Ip,updateIssueCommentAttachments:bp,deleteIssueCommentAttachment:Op,deleteIssueCommentAttachments:Pp}=gi.actions,Fp=t=>t.issueCommentAttachmentReducer.instances,Ri=u.createSelector([Fp],t=>Object.values(t)),_p=t=>e=>e.issueCommentAttachmentReducer.instances[t],Mp=m(u.createSelector([Ri,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),pM=m(u.createSelector([Ri,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_comment:i})=>e===i)))),gp=gi.reducer,Se=b(t=>t.uuid),Rp={instances:{}},wi=u.createSlice({name:"issueComments",initialState:Rp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Rp)),reducers:{initializeIssueComments:Se.initialize,addIssueComment:Se.addOne,addIssueComments:Se.addMany,setIssueComment:Se.setOne,setIssueComments:Se.setMany,updateIssueComment:Se.updateOne,updateIssueComments:Se.updateMany,deleteIssueComment:Se.deleteOne,deleteIssueComments:Se.deleteMany}}),{initializeIssueComments:wp,addIssueComment:Ep,addIssueComments:vp,setIssueComment:Vp,setIssueComments:Bp,updateIssueComment:zp,updateIssueComments:jp,deleteIssueComment:Cp,deleteIssueComments:Dp}=wi.actions,Ei=t=>t.issueCommentReducer.instances,qp=t=>e=>e.issueCommentReducer.instances[t],$p=m(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)))})),mM=m(u.createSelector([Ei,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.issue===e)))),Up=wi.reducer,Ae=b(t=>t.uuid),kp={instances:{}},vi=u.createSlice({name:"issues",initialState:kp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,kp)),reducers:{initializeIssues:Ae.initialize,addIssue:Ae.addOne,addIssues:Ae.addMany,setIssue:Ae.setOne,setIssues:Ae.setMany,updateIssue:Ae.updateOne,updateIssues:Ae.updateMany,deleteIssue:Ae.deleteOne,deleteIssues:Ae.deleteMany}}),{initializeIssues:Lp,addIssue:Hp,addIssues:Vi,setIssue:Gp,setIssues:Np,updateIssue:Kp,updateIssues:Wp,deleteIssue:Xp,deleteIssues:Bi}=vi.actions,Yp=t=>t.issueReducer.instances,Yt=u.createSelector([Yp],t=>Object.values(t)),Zp=t=>e=>e.issueReducer.instances[t],Jp=m(u.createSelector([Yt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),yM=m(u.createSelector([Yt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),Qp=m(u.createSelector([Yt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),xp=vi.reducer,Te=b(t=>t.uuid),em={instances:{}},zi=u.createSlice({name:"issueTypeAttachments",initialState:em,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,em)),reducers:{initializeIssueTypeAttachments:Te.initialize,addIssueTypeAttachment:Te.addOne,addIssueTypeAttachments:Te.addMany,setIssueTypeAttachment:Te.setOne,setIssueTypeAttachments:Te.setMany,updateIssueTypeAttachment:Te.updateOne,updateIssueTypeAttachments:Te.updateMany,deleteIssueTypeAttachment:Te.deleteOne,deleteIssueTypeAttachments:Te.deleteMany}}),{initializeIssueTypeAttachments:tm,addIssueTypeAttachment:sm,addIssueTypeAttachments:im,setIssueTypeAttachment:am,setIssueTypeAttachments:nm,updateIssueTypeAttachment:cm,updateIssueTypeAttachments:rm,deleteIssueTypeAttachment:dm,deleteIssueTypeAttachments:um}=zi.actions,lm=t=>t.issueTypeAttachmentReducer.instances,ji=u.createSelector([lm],t=>Object.values(t)),om=t=>e=>e.issueTypeAttachmentReducer.instances[t],hm=m(u.createSelector([ji,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fM=m(u.createSelector([ji,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_type:i})=>e===i)))),pm=zi.reducer,Ie=b(t=>t.uuid),mm={instances:{}},Ci=u.createSlice({name:"issueTypeFieldsAttachments",initialState:mm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,mm)),reducers:{initializeIssueTypeFieldsAttachments:Ie.initialize,addIssueTypeFieldsAttachment:Ie.addOne,addIssueTypeFieldsAttachments:Ie.addMany,setIssueTypeFieldsAttachment:Ie.setOne,setIssueTypeFieldsAttachments:Ie.setMany,updateIssueTypeFieldsAttachment:Ie.updateOne,updateIssueTypeFieldsAttachments:Ie.updateMany,deleteIssueTypeFieldsAttachment:Ie.deleteOne,deleteIssueTypeFieldsAttachments:Ie.deleteMany}}),{initializeIssueTypeFieldsAttachments:ym,addIssueTypeFieldsAttachment:fm,addIssueTypeFieldsAttachments:Sm,setIssueTypeFieldsAttachment:Am,setIssueTypeFieldsAttachments:Tm,updateIssueTypeFieldsAttachment:Im,updateIssueTypeFieldsAttachments:bm,deleteIssueTypeFieldsAttachment:Om,deleteIssueTypeFieldsAttachments:Pm}=Ci.actions,Fm=t=>t.issueTypeFieldsAttachmentReducer.instances,Di=u.createSelector([Fm],t=>Object.values(t)),SM=m(u.createSelector([Di,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),_m=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],Mm=m(u.createSelector([Di,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gm=Ci.reducer,be=b(t=>t.uuid),Rm={instances:{}},qi=u.createSlice({name:"issueTypeFieldValues",initialState:Rm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Rm)),reducers:{initializeIssueTypeFieldValues:be.initialize,addIssueTypeFieldValues:be.addOne,addIssueTypeFieldValuesMany:be.addMany,setIssueTypeFieldValues:be.setOne,setIssueTypeFieldValuesMany:be.setMany,updateIssueTypeFieldValues:be.updateOne,updateIssueTypeFieldValuesMany:be.updateMany,deleteIssueTypeFieldValues:be.deleteOne,deleteIssueTypeFieldValuesMany:be.deleteMany}}),{initializeIssueTypeFieldValues:wm,addIssueTypeFieldValues:Em,addIssueTypeFieldValuesMany:vm,setIssueTypeFieldValues:Vm,setIssueTypeFieldValuesMany:Bm,updateIssueTypeFieldValues:zm,updateIssueTypeFieldValuesMany:jm,deleteIssueTypeFieldValues:Cm,deleteIssueTypeFieldValuesMany:Dm}=qi.actions,qm=t=>t.issueTypeFieldValuesReducer.instances,Zt=u.createSelector([qm],t=>Object.values(t)),AM=m(u.createSelector([Zt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),$m=t=>e=>e.issueTypeFieldValuesReducer.instances[t],Um=m(u.createSelector([Zt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),km=qi.reducer,Oe=b(t=>t.uuid),Lm={instances:{}},$i=u.createSlice({name:"issueTypeFields",initialState:Lm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Lm)),reducers:{initializeIssueTypeFields:Oe.initialize,addIssueTypeFields:Oe.addOne,addIssueTypeFieldsMany:Oe.addMany,setIssueTypeFields:Oe.setOne,setIssueTypeFieldsMany:Oe.setMany,updateIssueTypeFields:Oe.updateOne,updateIssueTypeFieldsMany:Oe.updateMany,deleteIssueTypeFields:Oe.deleteOne,deleteIssueTypeFieldsMany:Oe.deleteMany}}),{initializeIssueTypeFields:Hm,addIssueTypeFields:Gm,addIssueTypeFieldsMany:Nm,setIssueTypeFields:Km,setIssueTypeFieldsMany:Wm,updateIssueTypeFields:Xm,updateIssueTypeFieldsMany:Ym,deleteIssueTypeFields:Zm,deleteIssueTypeFieldsMany:Jm}=$i.actions,Qm=t=>t.issueTypeFieldsReducer.instances,gt=u.createSelector([Qm],t=>Object.values(t)),TM=m(u.createSelector([gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),IM=m(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])),bM=m(u.createSelector([gt,Zt,(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)))})),xm=t=>e=>e.issueTypeFieldsReducer.instances[t],ey=m(u.createSelector([gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ty=$i.reducer,Pe=b(t=>t.uuid),sy={instances:{}},Ui=u.createSlice({name:"issueTypeFieldValuesAttachments",initialState:sy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,sy)),reducers:{initializeIssueTypeFieldValuesAttachments:Pe.initialize,addIssueTypeFieldValuesAttachment:Pe.addOne,addIssueTypeFieldValuesAttachments:Pe.addMany,setIssueTypeFieldValuesAttachment:Pe.setOne,setIssueTypeFieldValuesAttachments:Pe.setMany,updateIssueTypeFieldValuesAttachment:Pe.updateOne,updateIssueTypeFieldValuesAttachments:Pe.updateMany,deleteIssueTypeFieldValuesAttachment:Pe.deleteOne,deleteIssueTypeFieldValuesAttachments:Pe.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:iy,addIssueTypeFieldValuesAttachment:ay,addIssueTypeFieldValuesAttachments:ki,setIssueTypeFieldValuesAttachment:ny,setIssueTypeFieldValuesAttachments:cy,updateIssueTypeFieldValuesAttachment:ry,updateIssueTypeFieldValuesAttachments:dy,deleteIssueTypeFieldValuesAttachment:uy,deleteIssueTypeFieldValuesAttachments:Li}=Ui.actions,ly=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Hi=u.createSelector([ly],t=>Object.values(t)),oy=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],hy=m(u.createSelector([Hi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),py=m(u.createSelector([Hi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),my=Ui.reducer,Fe=b(t=>t.uuid),yy={instances:{}},Gi=u.createSlice({name:"issueTypeIdentifiers",initialState:yy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,yy)),reducers:{initializeIssueTypeIdentifiers:Fe.initialize,addIssueTypeIdentifier:Fe.addOne,addIssueTypeIdentifiers:Fe.addMany,setIssueTypeIdentifier:Fe.setOne,setIssueTypeIdentifiers:Fe.setMany,updateIssueTypeIdentifier:Fe.updateOne,updateIssueTypeIdentifiers:Fe.updateMany,deleteIssueTypeIdentifier:Fe.deleteOne,deleteIssueTypeIdentifiers:Fe.deleteMany}}),{initializeIssueTypeIdentifiers:fy,addIssueTypeIdentifier:Sy,addIssueTypeIdentifiers:Ay,setIssueTypeIdentifier:Ty,setIssueTypeIdentifiers:Iy,updateIssueTypeIdentifier:by,updateIssueTypeIdentifiers:Oy,deleteIssueTypeIdentifier:Py,deleteIssueTypeIdentifiers:Fy}=Gi.actions,_y=t=>t.issueTypeIdentifierReducer.instances,Ni=u.createSelector([_y],t=>Object.values(t)),My=t=>e=>e.issueTypeIdentifierReducer.instances[t],gy=m(u.createSelector([Ni,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),OM=m(u.createSelector([Ni,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Ry=Gi.reducer,_e=b(t=>t.uuid),wy={instances:{}},Ki=u.createSlice({name:"issueTypeIdentifierValues",initialState:wy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,wy)),reducers:{initializeIssueTypeIdentifierValues:_e.initialize,addIssueTypeIdentifierValue:_e.addOne,addIssueTypeIdentifierValues:_e.addMany,setIssueTypeIdentifierValue:_e.setOne,setIssueTypeIdentifierValues:_e.setMany,updateIssueTypeIdentifierValue:_e.updateOne,updateIssueTypeIdentifierValues:_e.updateMany,deleteIssueTypeIdentifierValue:_e.deleteOne,deleteIssueTypeIdentifierValues:_e.deleteMany}}),{initializeIssueTypeIdentifierValues:Ey,addIssueTypeIdentifierValue:vy,addIssueTypeIdentifierValues:Vy,setIssueTypeIdentifierValue:By,setIssueTypeIdentifierValues:zy,updateIssueTypeIdentifierValue:jy,updateIssueTypeIdentifierValues:Cy,deleteIssueTypeIdentifierValue:Dy,deleteIssueTypeIdentifierValues:qy}=Ki.actions,$y=t=>t.issueTypeIdentifierValueReducer.instances,Jt=u.createSelector([$y],t=>Object.values(t)),Uy=t=>e=>e.issueTypeIdentifierValueReducer.instances[t],ky=m(u.createSelector([Jt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),PM=m(u.createSelector([Jt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),FM=m(u.createSelector([Jt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type_identifier===e)))),Ly=Ki.reducer,Me=b(t=>t.uuid),Hy={instances:{}},Wi=u.createSlice({name:"issueTypePriorities",initialState:Hy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Hy)),reducers:{initializeIssueTypePriorities:Me.initialize,addIssueTypePriority:Me.addOne,addIssueTypePriorities:Me.addMany,setIssueTypePriority:Me.setOne,setIssueTypePriorities:Me.setMany,updateIssueTypePriority:Me.updateOne,updateIssueTypePriorities:Me.updateMany,deleteIssueTypePriority:Me.deleteOne,deleteIssueTypePriorities:Me.deleteMany}}),{initializeIssueTypePriorities:Gy,addIssueTypePriority:Ny,addIssueTypePriorities:Ky,setIssueTypePriority:Wy,setIssueTypePriorities:Xy,updateIssueTypePriority:Yy,updateIssueTypePriorities:Zy,deleteIssueTypePriority:Jy,deleteIssueTypePriorities:Qy}=Wi.actions,xy=t=>t.issueTypePriorityReducer.instances,Xi=u.createSelector([xy],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypePrioritySortFn))),Yi=t=>e=>e.issueTypePriorityReducer.instances[t],ef=m(u.createSelector([Xi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_M=m(u.createSelector([Xi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),tf=Wi.reducer,ge=b(t=>t.uuid),sf={instances:{}},Zi=u.createSlice({name:"issueTypes",initialState:sf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,sf)),reducers:{initializeIssueTypes:ge.initialize,addIssueType:ge.addOne,addIssueTypes:ge.addMany,setIssueType:ge.setOne,setIssueTypes:ge.setMany,updateIssueType:ge.updateOne,updateIssueTypes:ge.updateMany,deleteIssueType:ge.deleteOne,deleteIssueTypes:ge.deleteMany}}),{initializeIssueTypes:af,addIssueType:nf,addIssueTypes:cf,setIssueType:rf,setIssueTypes:df,updateIssueType:uf,updateIssueTypes:lf,deleteIssueType:of,deleteIssueTypes:hf}=Zi.actions,pf=t=>t.issueTypeReducer.instances,Ji=u.createSelector(pf,t=>Object.values(t)),mf=t=>e=>e.issueTypeReducer.instances[t],yf=m(u.createSelector([Ji,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),MM=m(u.createSelector([Ji,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),ff=Zi.reducer,Re=b(t=>t.uuid),Sf={instances:{}},Qi=u.createSlice({name:"issueTypeStatuses",initialState:Sf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Sf)),reducers:{initializeIssueTypeStatuses:Re.initialize,addIssueTypeStatus:Re.addOne,addIssueTypeStatuses:Re.addMany,setIssueTypeStatus:Re.setOne,setIssueTypeStatuses:Re.setMany,updateIssueTypeStatus:Re.updateOne,updateIssueTypeStatuses:Re.updateMany,deleteIssueTypeStatus:Re.deleteOne,deleteIssueTypeStatuses:Re.deleteMany}}),{initializeIssueTypeStatuses:Af,addIssueTypeStatus:Tf,addIssueTypeStatuses:If,setIssueTypeStatus:bf,setIssueTypeStatuses:Of,updateIssueTypeStatus:Pf,updateIssueTypeStatuses:Ff,deleteIssueTypeStatus:_f,deleteIssueTypeStatuses:Mf}=Qi.actions,gf=t=>t.issueTypeStatusReducer.instances,xi=u.createSelector([gf],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypeStatusSortFn))),ea=t=>e=>e.issueTypeStatusReducer.instances[t],Rf=m(u.createSelector([xi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gM=m(u.createSelector([xi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),wf=Qi.reducer,we=b(t=>t.uuid),Ef={instances:{}},ta=u.createSlice({name:"issueUpdates",initialState:Ef,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Ef)),reducers:{initializeIssueUpdates:we.initialize,addIssueUpdate:we.addOne,addIssueUpdates:we.addMany,setIssueUpdate:we.setOne,setIssueUpdates:we.setMany,updateIssueUpdate:we.updateOne,updateIssueUpdates:we.updateMany,deleteIssueUpdate:we.deleteOne,deleteIssueUpdates:we.deleteMany}}),{initializeIssueUpdates:vf,addIssueUpdate:sa,addIssueUpdates:ia,setIssueUpdate:Vf,setIssueUpdates:Bf,updateIssueUpdate:zf,updateIssueUpdates:jf,deleteIssueUpdate:aa,deleteIssueUpdates:na}=ta.actions,ca=t=>t.issueUpdateReducer.instances,ra=u.createSelector([ca],t=>Object.values(t)),Cf=m(u.createSelector([ca,(t,e)=>e],(t,e)=>t[e])),Df=m(u.createSelector([ra,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),qf=m(u.createSelector([ra,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),$f=ta.reducer,Ee=b(t=>t.id),Uf={instances:{},currentUser:null},da=u.createSlice({name:"users",initialState:Uf,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Uf)).addCase(O,e=>Object.assign(e,{...e,instances:[]})),reducers:{initializeUsers:Ee.initialize,setUsers:Ee.setMany,setUser:Ee.setOne,addUsers:Ee.addMany,addUser:Ee.addOne,updateUsers:Ee.updateMany,updateUser:Ee.updateOne,deleteUser:Ee.deleteOne,deleteUsers:Ee.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:kf,setUsers:Lf,setUser:Hf,addUsers:Gf,addUser:ua,updateUsers:Nf,updateUser:Kf,deleteUser:la,deleteUsers:Wf,setCurrentUser:RM,setCurrentUserProfile:wM}=da.actions,Xf=da.reducer,Yf=t=>t.userReducer.currentUser,oa=t=>t.userReducer.instances,Qt=u.createSelector([oa],t=>Object.values(t)),xt=t=>e=>e.userReducer.instances[t],Zf=m(u.createSelector([Qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({id:a})=>i.has(a)))})),ve=b(t=>t.uuid),Jf={instances:{}},ha=u.createSlice({name:"organizationAccess",initialState:Jf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Jf)),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:Qf,addOrganizationAccess:xf,addOrganizationAccesses:eS,setOrganizationAccess:tS,setOrganizationAccesses:sS,updateOrganizationAccess:iS,updateOrganizationAccesses:aS,deleteOrganizationAccess:nS,deleteOrganizationAccesses:cS}=ha.actions,rS=ha.reducer,es=t=>t.organizationAccessReducer.instances,dS=t=>e=>e.organizationAccessReducer.instances[t],uS=m(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),EM=u.createSelector([Yf,es],(t,e)=>Object.values(e).find(a=>a.user===t?.id)??null),lS=u.createSelector([es],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return l.fallbackToEmptyObject(e)}),vM=m(u.createSelector([oa,lS,(t,e)=>e],(t,e,i)=>l.fallbackToEmptyArray(Object.values(t).filter(a=>{const n=e[a.id];return!!n&&n.organization===i})))),Ve=b(t=>t.uuid),oS={instances:{}},pa=u.createSlice({name:"organizations",initialState:oS,extraReducers:t=>t.addMatcher(u.isAnyOf(T),e=>Object.assign(e,oS)),reducers:{initializeOrganizations:Ve.initialize,setOrganizations:Ve.setMany,setOrganization:Ve.setOne,addOrganizations:Ve.addMany,addOrganization:Ve.addOne,updateOrganizations:Ve.updateMany,updateOrganization:Ve.updateOne,deleteOrganization:Ve.deleteOne,deleteOrganizations:Ve.deleteMany}}),{initializeOrganizations:hS,setOrganizations:pS,setOrganization:mS,addOrganizations:yS,addOrganization:fS,updateOrganizations:SS,updateOrganization:AS,deleteOrganization:TS,deleteOrganizations:IS}=pa.actions,bS=t=>t.organizationReducer.instances,OS=u.createSelector([bS],t=>Object.values(t)),PS=t=>e=>e.organizationReducer.instances[t],FS=m(u.createSelector([OS,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_S=pa.reducer,MS=(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}}}}},gS={deletedRequests:[],latestRetryTime:0},ma=u.createSlice({name:"outbox",initialState:gS,extraReducers:t=>t.addCase(T,e=>Object.assign(e,gS)),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 MS(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}}}),VM=t=>t.outboxReducer.deletedRequests,BM=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:RS,markForDeletion:zM,markAsDeleted:wS,_setLatestRetryTime:ES}=ma.actions,vS=ma.reducer,Be=b(t=>t.uuid),VS={instances:{}},ya=u.createSlice({name:"projectAccess",initialState:VS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,VS)),reducers:{initializeProjectAccesses:Be.initialize,addProjectAccess:Be.addOne,addProjectAccesses:Be.addMany,setProjectAccess:Be.setOne,setProjectAccesses:Be.setMany,updateProjectAccess:Be.updateOne,updateProjectAccesses:Be.updateMany,deleteProjectAccess:Be.deleteOne,deleteProjectAccesses:Be.deleteMany}}),{initializeProjectAccesses:BS,addProjectAccess:zS,addProjectAccesses:jS,setProjectAccess:CS,setProjectAccesses:DS,updateProjectAccess:qS,updateProjectAccesses:$S,deleteProjectAccess:US,deleteProjectAccesses:kS}=ya.actions,LS=ya.reducer,fa=t=>t.projectAccessReducer.instances,Rt=u.createSelector(fa,t=>Object.values(t)),HS=t=>e=>e.projectAccessReducer.instances[t],GS=m(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),jM=m(u.createSelector([fa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.project===e)))),CM=m(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})),DM=m(u.createSelector([Qt,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)))})),ze=b(t=>t.uuid),NS={instances:{}},Sa=u.createSlice({name:"projectAttachments",initialState:NS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,NS)),reducers:{initializeProjectAttachments:ze.initialize,addProjectAttachment:ze.addOne,addProjectAttachments:ze.addMany,setProjectAttachment:ze.setOne,setProjectAttachments:ze.setMany,updateProjectAttachment:ze.updateOne,updateProjectAttachments:ze.updateMany,deleteProjectAttachment:ze.deleteOne,deleteProjectAttachments:ze.deleteMany}}),{initializeProjectAttachments:KS,addProjectAttachment:WS,addProjectAttachments:XS,setProjectAttachment:YS,setProjectAttachments:ZS,updateProjectAttachment:JS,updateProjectAttachments:QS,deleteProjectAttachment:xS,deleteProjectAttachments:eA}=Sa.actions,tA=t=>t.projectAttachmentReducer.instances,Aa=u.createSelector([tA],t=>Object.values(t)),sA=t=>e=>e.projectAttachmentReducer.instances[t],iA=m(u.createSelector([Aa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),qM=m(u.createSelector([Aa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>e===i)))),aA=Sa.reducer,je=b(t=>t.uuid),nA={instances:{}},Ta=u.createSlice({name:"projectComments",initialState:nA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,nA)),reducers:{initializeProjectComments:je.initialize,addProjectComment:je.addOne,addProjectComments:je.addMany,setProjectComment:je.setOne,setProjectComments:je.setMany,updateProjectComment:je.updateOne,updateProjectComments:je.updateMany,deleteProjectComment:je.deleteOne,deleteProjectComments:je.deleteMany}}),{initializeProjectComments:cA,addProjectComment:rA,addProjectComments:dA,setProjectComment:uA,setProjectComments:lA,updateProjectComment:oA,updateProjectComments:hA,deleteProjectComment:pA,deleteProjectComments:mA}=Ta.actions,yA=t=>t.projectCommentReducer.instances,ts=u.createSelector([yA],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),fA=t=>e=>e.projectCommentReducer.instances[t],SA=m(u.createSelector([ts,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$M=m(u.createSelector([ts,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),UM=m(u.createSelector([ts,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.project)))})),AA=Ta.reducer,Ce=b(t=>t.uuid),TA={instances:{}},Ia=u.createSlice({name:"projectFiles",initialState:TA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,TA)),reducers:{initializeProjectFiles:Ce.initialize,setProjectFile:Ce.setOne,setProjectFiles:Ce.setMany,addProjectFile:Ce.addOne,addProjectFiles:Ce.addMany,updateProjectFile:Ce.updateOne,updateProjectFiles:Ce.updateMany,deleteProjectFile:Ce.deleteOne,deleteProjectFiles:Ce.deleteMany}}),{initializeProjectFiles:IA,setProjectFile:bA,setProjectFiles:OA,addProjectFile:PA,addProjectFiles:FA,updateProjectFile:_A,updateProjectFiles:MA,deleteProjectFile:gA,deleteProjectFiles:RA}=Ia.actions,wA=t=>t.projectFileReducer.instances,EA=u.createSelector([wA],t=>l.fallbackToEmptyArray(Object.values(t).toSorted((e,i)=>e.z_index-i.z_index))),vA=t=>e=>e.projectFileReducer.instances[t],VA=m(u.createSelector([EA,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),BA=Ia.reducer,De=b(t=>t.uuid),zA={instances:{}},ba=u.createSlice({name:"projects",initialState:zA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,zA)),reducers:{initializeProjects:De.initialize,setProjects:De.setMany,setProject:De.setOne,addProjects:De.addMany,addProject:De.addOne,updateProjects:De.updateMany,updateProject:De.updateOne,deleteProject:De.deleteOne,deleteProjects:De.deleteMany}}),{initializeProjects:jA,setProjects:CA,setProject:DA,addProjects:qA,addProject:$A,updateProjects:UA,updateProject:kA,deleteProject:LA,deleteProjects:HA}=ba.actions,GA=ba.reducer,NA=t=>t.projectReducer.instances,ss=u.createSelector([NA],t=>Object.values(t)),KA=t=>e=>e.projectReducer.instances[t],WA=m(u.createSelector([ss,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),kM=m(u.createSelector([ss,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)))})),LM=m(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),qe=b(({uuid:t})=>t),XA={instances:{}},Oa=u.createSlice({name:"procedureInitiatives",initialState:XA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,XA)),reducers:{initializeProcedureInitiatives:qe.initialize,addProcedureInitiative:qe.addOne,addProcedureInitiatives:qe.addMany,setProcedureInitiative:qe.setOne,setProcedureInitiatives:qe.setMany,updateProcedureInitiative:qe.updateOne,updateProcedureInitiatives:qe.updateMany,deleteProcedureInitiative:qe.deleteOne,deleteProcedureInitiatives:qe.deleteMany}}),{initializeProcedureInitiatives:YA,addProcedureInitiative:ZA,addProcedureInitiatives:JA,setProcedureInitiative:QA,setProcedureInitiatives:xA,updateProcedureInitiative:eT,updateProcedureInitiatives:tT,deleteProcedureInitiative:sT,deleteProcedureInitiatives:iT}=Oa.actions,aT=Oa.reducer,nT=t=>t.procedureInitiativeReducer.instances,is=u.createSelector([nT],t=>Object.values(t)),cT=t=>e=>e.procedureInitiativeReducer.instances[t],rT=m(u.createSelector([is,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),HM=m(u.createSelector([is,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),GM=m(u.createSelector([is,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),$e=b(({uuid:t})=>t),dT={instances:{}},Pa=u.createSlice({name:"procedures",initialState:dT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,dT)),reducers:{initializeProcedures:$e.initialize,addProcedure:$e.addOne,addProcedures:$e.addMany,setProcedure:$e.setOne,setProcedures:$e.setMany,updateProcedure:$e.updateOne,updateProcedures:$e.updateMany,deleteProcedure:$e.deleteOne,deleteProcedures:$e.deleteMany}}),{initializeProcedures:uT,addProcedure:lT,addProcedures:bt,setProcedure:oT,setProcedures:hT,updateProcedure:pT,updateProcedures:mT,deleteProcedure:yT,deleteProcedures:Ot}=Pa.actions,fT=Pa.reducer,ST=t=>t.procedureReducer.instances,ht=u.createSelector([ST],t=>Object.values(t)),AT=t=>e=>e.procedureReducer.instances[t],TT=m(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),NM=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),IT=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),bT=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),OT=m(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),PT=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_initiative===e)))),Ue=b(t=>t.uuid),FT={instances:{}},Fa=u.createSlice({name:"procedureStepAssignees",initialState:FT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,FT)),reducers:{initializeProcedureStepAssignees:Ue.initialize,addProcedureStepAssignee:Ue.addOne,addProcedureStepAssignees:Ue.addMany,setProcedureStepAssignee:Ue.setOne,setProcedureStepAssignees:Ue.setMany,updateProcedureStepAssignee:Ue.updateOne,updateProcedureStepAssignees:Ue.updateMany,deleteProcedureStepAssignee:Ue.deleteOne,deleteProcedureStepAssignees:Ue.deleteMany}}),{initializeProcedureStepAssignees:_T,addProcedureStepAssignee:MT,addProcedureStepAssignees:gT,setProcedureStepAssignee:RT,setProcedureStepAssignees:wT,updateProcedureStepAssignee:ET,updateProcedureStepAssignees:vT,deleteProcedureStepAssignee:VT,deleteProcedureStepAssignees:BT}=Fa.actions,zT=t=>t.procedureStepAssigneeReducer.instances,wt=u.createSelector([zT],t=>Object.values(t)),jT=t=>e=>e.procedureStepAssigneeReducer.instances[t],CT=m(u.createSelector([wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),KM=m(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),WM=m(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),XM=m(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)))),DT=Fa.reducer,ke=b(t=>t.uuid),qT={instances:{}},_a=u.createSlice({name:"procedureStepComments",initialState:qT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,qT)),reducers:{initializeProcedureStepComments:ke.initialize,addProcedureStepComment:ke.addOne,addProcedureStepComments:ke.addMany,setProcedureStepComment:ke.setOne,setProcedureStepComments:ke.setMany,updateProcedureStepComment:ke.updateOne,updateProcedureStepComments:ke.updateMany,deleteProcedureStepComment:ke.deleteOne,deleteProcedureStepComments:ke.deleteMany}}),{initializeProcedureStepComments:$T,addProcedureStepComment:UT,addProcedureStepComments:kT,setProcedureStepComment:LT,setProcedureStepComments:HT,updateProcedureStepComment:GT,updateProcedureStepComments:NT,deleteProcedureStepComment:KT,deleteProcedureStepComments:WT}=_a.actions,XT=t=>t.procedureStepCommentReducer.instances,Et=u.createSelector([XT],t=>Object.values(t)),YT=t=>e=>e.procedureStepCommentReducer.instances[t],ZT=m(u.createSelector([Et,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),YM=m(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),ZM=m(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),JM=m(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)))),JT=_a.reducer,Le=b(t=>t.uuid),QT={instances:{}},Ma=u.createSlice({name:"procedureStepDefaultAssignees",initialState:QT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,QT)),reducers:{initializeProcedureStepDefaultAssignees:Le.initialize,addProcedureStepDefaultAssignee:Le.addOne,addProcedureStepDefaultAssignees:Le.addMany,setProcedureStepDefaultAssignee:Le.setOne,setProcedureStepDefaultAssignees:Le.setMany,updateProcedureStepDefaultAssignee:Le.updateOne,updateProcedureStepDefaultAssignees:Le.updateMany,deleteProcedureStepDefaultAssignee:Le.deleteOne,deleteProcedureStepDefaultAssignees:Le.deleteMany}}),{initializeProcedureStepDefaultAssignees:xT,addProcedureStepDefaultAssignee:eI,addProcedureStepDefaultAssignees:tI,setProcedureStepDefaultAssignee:sI,setProcedureStepDefaultAssignees:iI,updateProcedureStepDefaultAssignee:aI,updateProcedureStepDefaultAssignees:nI,deleteProcedureStepDefaultAssignee:cI,deleteProcedureStepDefaultAssignees:rI}=Ma.actions,dI=t=>t.procedureStepDefaultAssigneeReducer.instances,ga=u.createSelector([dI],t=>Object.values(t)),uI=t=>e=>e.procedureStepDefaultAssigneeReducer.instances[t],lI=m(u.createSelector([ga,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),QM=m(u.createSelector([ga,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),oI=Ma.reducer,He=b(t=>t.uuid),hI={instances:{}},Ra=u.createSlice({name:"procedureStepDefaultReviewers",initialState:hI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,hI)),reducers:{initializeProcedureStepDefaultReviewers:He.initialize,addProcedureStepDefaultReviewer:He.addOne,addProcedureStepDefaultReviewers:He.addMany,setProcedureStepDefaultReviewer:He.setOne,setProcedureStepDefaultReviewers:He.setMany,updateProcedureStepDefaultReviewer:He.updateOne,updateProcedureStepDefaultReviewers:He.updateMany,deleteProcedureStepDefaultReviewer:He.deleteOne,deleteProcedureStepDefaultReviewers:He.deleteMany}}),{initializeProcedureStepDefaultReviewers:pI,addProcedureStepDefaultReviewer:mI,addProcedureStepDefaultReviewers:yI,setProcedureStepDefaultReviewer:fI,setProcedureStepDefaultReviewers:SI,updateProcedureStepDefaultReviewer:AI,updateProcedureStepDefaultReviewers:TI,deleteProcedureStepDefaultReviewer:II,deleteProcedureStepDefaultReviewers:bI}=Ra.actions,OI=t=>t.procedureStepDefaultReviewerReducer.instances,wa=u.createSelector([OI],t=>Object.values(t)),PI=t=>e=>e.procedureStepDefaultReviewerReducer.instances[t],FI=m(u.createSelector([wa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),xM=m(u.createSelector([wa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),_I=Ra.reducer,Ge=b(t=>t.uuid),MI={instances:{}},Ea=u.createSlice({name:"procedureStepEvents",initialState:MI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,MI)),reducers:{initializeProcedureStepEvents:Ge.initialize,addProcedureStepEvent:Ge.addOne,addProcedureStepEvents:Ge.addMany,setProcedureStepEvent:Ge.setOne,setProcedureStepEvents:Ge.setMany,updateProcedureStepEvent:Ge.updateOne,updateProcedureStepEvents:Ge.updateMany,deleteProcedureStepEvent:Ge.deleteOne,deleteProcedureStepEvents:Ge.deleteMany}}),{initializeProcedureStepEvents:gI,addProcedureStepEvent:RI,addProcedureStepEvents:wI,setProcedureStepEvent:EI,setProcedureStepEvents:vI,updateProcedureStepEvent:VI,updateProcedureStepEvents:BI,deleteProcedureStepEvent:zI,deleteProcedureStepEvents:jI}=Ea.actions,CI=t=>t.procedureStepEventReducer.instances,vt=u.createSelector([CI],t=>Object.values(t)),DI=t=>e=>e.procedureStepEventReducer.instances[t],qI=m(u.createSelector([vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),eg=m(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),tg=m(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),sg=m(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)))),$I=Ea.reducer,Ne=b(t=>t.uuid),UI={instances:{}},va=u.createSlice({name:"procedureStepFieldsAttachments",initialState:UI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,UI)),reducers:{initializeProcedureStepFieldsAttachments:Ne.initialize,addProcedureStepFieldsAttachment:Ne.addOne,addProcedureStepFieldsAttachments:Ne.addMany,setProcedureStepFieldsAttachment:Ne.setOne,setProcedureStepFieldsAttachments:Ne.setMany,updateProcedureStepFieldsAttachment:Ne.updateOne,updateProcedureStepFieldsAttachments:Ne.updateMany,deleteProcedureStepFieldsAttachment:Ne.deleteOne,deleteProcedureStepFieldsAttachments:Ne.deleteMany}}),{initializeProcedureStepFieldsAttachments:kI,addProcedureStepFieldsAttachment:LI,addProcedureStepFieldsAttachments:Va,setProcedureStepFieldsAttachment:HI,setProcedureStepFieldsAttachments:GI,updateProcedureStepFieldsAttachment:NI,updateProcedureStepFieldsAttachments:KI,deleteProcedureStepFieldsAttachment:WI,deleteProcedureStepFieldsAttachments:Ba}=va.actions,XI=t=>t.procedureStepFieldsAttachmentReducer.instances,za=u.createSelector([XI],t=>Object.values(t)),YI=m(u.createSelector([za,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),ZI=t=>e=>e.procedureStepFieldsAttachmentReducer.instances[t],JI=m(u.createSelector([za,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),QI=va.reducer,Ke=b(t=>t.uuid),xI={instances:{}},ja=u.createSlice({name:"procedureStepFields",initialState:xI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,xI)),reducers:{initializeProcedureStepFields:Ke.initialize,addProcedureStepFields:Ke.addOne,addProcedureStepFieldsMany:Ke.addMany,setProcedureStepFields:Ke.setOne,setProcedureStepFieldsMany:Ke.setMany,updateProcedureStepFields:Ke.updateOne,updateProcedureStepFieldsMany:Ke.updateMany,deleteProcedureStepFields:Ke.deleteOne,deleteProcedureStepFieldsMany:Ke.deleteMany}}),{initializeProcedureStepFields:eb,addProcedureStepFields:tb,addProcedureStepFieldsMany:sb,setProcedureStepFields:ib,setProcedureStepFieldsMany:ab,updateProcedureStepFields:nb,updateProcedureStepFieldsMany:cb,deleteProcedureStepFields:rb,deleteProcedureStepFieldsMany:db}=ja.actions,Ca=t=>t.procedureStepFieldsReducer.instances,as=u.createSelector([Ca],t=>Object.values(t)),ig=m(u.createSelector([as,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),ag=m(u.createSelector([as,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_step===e).toSorted(l.submittedAtModelSortFn).pop())),ng=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}),ub=t=>e=>e.procedureStepFieldsReducer.instances[t],lb=m(u.createSelector([as,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ob=ja.reducer,We=b(t=>t.uuid),hb={instances:{}},Da=u.createSlice({name:"procedureStepFieldValuesAttachments",initialState:hb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,hb)),reducers:{initializeProcedureStepFieldValuesAttachments:We.initialize,addProcedureStepFieldValuesAttachment:We.addOne,addProcedureStepFieldValuesAttachments:We.addMany,setProcedureStepFieldValuesAttachment:We.setOne,setProcedureStepFieldValuesAttachments:We.setMany,updateProcedureStepFieldValuesAttachment:We.updateOne,updateProcedureStepFieldValuesAttachments:We.updateMany,deleteProcedureStepFieldValuesAttachment:We.deleteOne,deleteProcedureStepFieldValuesAttachments:We.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:pb,addProcedureStepFieldValuesAttachment:mb,addProcedureStepFieldValuesAttachments:qa,setProcedureStepFieldValuesAttachment:yb,setProcedureStepFieldValuesAttachments:fb,updateProcedureStepFieldValuesAttachment:Sb,updateProcedureStepFieldValuesAttachments:Ab,deleteProcedureStepFieldValuesAttachment:Tb,deleteProcedureStepFieldValuesAttachments:$a}=Da.actions,Ib=t=>t.procedureStepFieldValuesAttachmentReducer.instances,Ua=u.createSelector([Ib],t=>Object.values(t)),bb=t=>e=>e.procedureStepFieldValuesAttachmentReducer.instances[t],Ob=m(u.createSelector([Ua,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Pb=m(u.createSelector([Ua,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Fb=Da.reducer,Xe=b(t=>t.uuid),_b={instances:{}},ka=u.createSlice({name:"procedureStepFieldValues",initialState:_b,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,_b)),reducers:{initializeProcedureStepFieldValues:Xe.initialize,addProcedureStepFieldValues:Xe.addOne,addProcedureStepFieldValuesMany:Xe.addMany,setProcedureStepFieldValues:Xe.setOne,setProcedureStepFieldValuesMany:Xe.setMany,updateProcedureStepFieldValues:Xe.updateOne,updateProcedureStepFieldValuesMany:Xe.updateMany,deleteProcedureStepFieldValues:Xe.deleteOne,deleteProcedureStepFieldValuesMany:Xe.deleteMany}}),{initializeProcedureStepFieldValues:Mb,addProcedureStepFieldValues:gb,addProcedureStepFieldValuesMany:Rb,setProcedureStepFieldValues:wb,setProcedureStepFieldValuesMany:Eb,updateProcedureStepFieldValues:vb,updateProcedureStepFieldValuesMany:Vb,deleteProcedureStepFieldValues:Bb,deleteProcedureStepFieldValuesMany:zb}=ka.actions,jb=ka.reducer,Cb=t=>t.procedureStepFieldValuesReducer.instances,pt=u.createSelector([Cb],t=>Object.values(t)),cg=m(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),rg=m(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),Db=t=>e=>e.procedureStepFieldValuesReducer.instances[t],qb=m(u.createSelector([pt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dg=m(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)))),Ye=b(t=>t.uuid),$b={instances:{}},La=u.createSlice({name:"procedureStepFieldValuesReviews",initialState:$b,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,$b)),reducers:{initializeProcedureStepFieldValuesReviews:Ye.initialize,addProcedureStepFieldValuesReview:Ye.addOne,addProcedureStepFieldValuesReviews:Ye.addMany,setProcedureStepFieldValuesReview:Ye.setOne,setProcedureStepFieldValuesReviews:Ye.setMany,updateProcedureStepFieldValuesReview:Ye.updateOne,updateProcedureStepFieldValuesReviews:Ye.updateMany,deleteProcedureStepFieldValuesReview:Ye.deleteOne,deleteProcedureStepFieldValuesReviews:Ye.deleteMany}}),{initializeProcedureStepFieldValuesReviews:Ub,addProcedureStepFieldValuesReview:kb,addProcedureStepFieldValuesReviews:Ha,setProcedureStepFieldValuesReview:Lb,setProcedureStepFieldValuesReviews:Hb,updateProcedureStepFieldValuesReview:Gb,updateProcedureStepFieldValuesReviews:Nb,deleteProcedureStepFieldValuesReview:Kb,deleteProcedureStepFieldValuesReviews:Ga}=La.actions,Wb=t=>t.procedureStepFieldValuesReviewReducer.instances,mt=u.createSelector([Wb],t=>Object.values(t)),Xb=t=>e=>e.procedureStepFieldValuesReviewReducer.instances[t],Yb=m(u.createSelector([mt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Zb=m(u.createSelector([mt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),ug=m(u.createSelector([mt,(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})),lg=m(u.createSelector([pt,mt,(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)))})),og=m(u.createSelector([pt,mt,(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)))})),hg=u.createSelector([mt],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}),Jb=La.reducer,Ze=b(t=>t.uuid),Qb={instances:{}},Na=u.createSlice({name:"procedureStepReviewers",initialState:Qb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Qb)),reducers:{initializeProcedureStepReviewers:Ze.initialize,addProcedureStepReviewer:Ze.addOne,addProcedureStepReviewers:Ze.addMany,setProcedureStepReviewer:Ze.setOne,setProcedureStepReviewers:Ze.setMany,updateProcedureStepReviewer:Ze.updateOne,updateProcedureStepReviewers:Ze.updateMany,deleteProcedureStepReviewer:Ze.deleteOne,deleteProcedureStepReviewers:Ze.deleteMany}}),{initializeProcedureStepReviewers:xb,addProcedureStepReviewer:eO,addProcedureStepReviewers:tO,setProcedureStepReviewer:sO,setProcedureStepReviewers:iO,updateProcedureStepReviewer:aO,updateProcedureStepReviewers:nO,deleteProcedureStepReviewer:cO,deleteProcedureStepReviewers:rO}=Na.actions,dO=t=>t.procedureStepReviewerReducer.instances,Vt=u.createSelector([dO],t=>Object.values(t)),uO=t=>e=>e.procedureStepReviewerReducer.instances[t],lO=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),pg=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),mg=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),yg=m(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)))),oO=Na.reducer,Je=b(t=>t.uuid),hO={instances:{}},Ka=u.createSlice({name:"procedureSteps",initialState:hO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,hO)),reducers:{initializeProcedureSteps:Je.initialize,setProcedureStep:Je.setOne,setProcedureSteps:Je.setMany,addProcedureStep:Je.addOne,addProcedureSteps:Je.addMany,updateProcedureStep:Je.updateOne,updateProcedureSteps:Je.updateMany,deleteProcedureStep:Je.deleteOne,deleteProcedureSteps:Je.deleteMany}}),{initializeProcedureSteps:pO,setProcedureStep:mO,setProcedureSteps:yO,addProcedureStep:fO,addProcedureSteps:SO,updateProcedureStep:AO,updateProcedureSteps:TO,deleteProcedureStep:IO,deleteProcedureSteps:bO}=Ka.actions,OO=Ka.reducer,Wa=t=>t.procedureStepReducer.instances,PO=t=>e=>e.procedureStepReducer.instances[t],Xa=u.createSelector([Wa],t=>Object.values(t).toSorted((e,i)=>e.order-i.order)),fg=m(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)})),Sg=m(u.createSelector([Xa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),FO=m(u.createSelector([Xa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Qe=b(({uuid:t})=>t),_O={instances:{}},Ya=u.createSlice({name:"procedureTypeAttachments",initialState:_O,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,_O)),reducers:{initializeProcedureTypeAttachments:Qe.initialize,addProcedureTypeAttachment:Qe.addOne,addProcedureTypeAttachments:Qe.addMany,setProcedureTypeAttachment:Qe.setOne,setProcedureTypeAttachments:Qe.setMany,updateProcedureTypeAttachment:Qe.updateOne,updateProcedureTypeAttachments:Qe.updateMany,deleteProcedureTypeAttachment:Qe.deleteOne,deleteProcedureTypeAttachments:Qe.deleteMany}}),{initializeProcedureTypeAttachments:MO,addProcedureTypeAttachment:gO,addProcedureTypeAttachments:RO,setProcedureTypeAttachment:wO,setProcedureTypeAttachments:EO,updateProcedureTypeAttachment:vO,updateProcedureTypeAttachments:VO,deleteProcedureTypeAttachment:BO,deleteProcedureTypeAttachments:zO}=Ya.actions,jO=Ya.reducer,CO=t=>t.procedureTypeAttachmentReducer.instances,Za=u.createSelector([CO],t=>Object.values(t)),DO=t=>e=>e.procedureTypeAttachmentReducer.instances[t],qO=m(u.createSelector([Za,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ag=m(u.createSelector([Za,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({procedure_type:i})=>e===i)))),xe=b(({uuid:t})=>t),$O={instances:{}},Ja=u.createSlice({name:"procedureTypeFieldsAttachments",initialState:$O,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,$O)),reducers:{initializeProcedureTypeFieldsAttachments:xe.initialize,addProcedureTypeFieldsAttachment:xe.addOne,addProcedureTypeFieldsAttachments:xe.addMany,setProcedureTypeFieldsAttachment:xe.setOne,setProcedureTypeFieldsAttachments:xe.setMany,updateProcedureTypeFieldsAttachment:xe.updateOne,updateProcedureTypeFieldsAttachments:xe.updateMany,deleteProcedureTypeFieldsAttachment:xe.deleteOne,deleteProcedureTypeFieldsAttachments:xe.deleteMany}}),{initializeProcedureTypeFieldsAttachments:UO,addProcedureTypeFieldsAttachment:kO,addProcedureTypeFieldsAttachments:LO,setProcedureTypeFieldsAttachment:HO,setProcedureTypeFieldsAttachments:GO,updateProcedureTypeFieldsAttachment:NO,updateProcedureTypeFieldsAttachments:KO,deleteProcedureTypeFieldsAttachment:WO,deleteProcedureTypeFieldsAttachments:XO}=Ja.actions,YO=Ja.reducer,ZO=t=>t.procedureTypeFieldsAttachmentReducer.instances,Qa=u.createSelector([ZO],t=>Object.values(t)),Tg=m(u.createSelector([Qa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),JO=t=>e=>e.procedureTypeFieldsAttachmentReducer.instances[t],QO=m(u.createSelector([Qa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),et=b(({uuid:t})=>t),xO={instances:{}},xa=u.createSlice({name:"procedureTypeFields",initialState:xO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,xO)),reducers:{initializeProcedureTypeFields:et.initialize,addProcedureTypeFields:et.addOne,addProcedureTypeFieldsMany:et.addMany,setProcedureTypeFields:et.setOne,setProcedureTypeFieldsMany:et.setMany,updateProcedureTypeFields:et.updateOne,updateProcedureTypeFieldsMany:et.updateMany,deleteProcedureTypeFields:et.deleteOne,deleteProcedureTypeFieldsMany:et.deleteMany}}),{initializeProcedureTypeFields:eP,addProcedureTypeFields:tP,addProcedureTypeFieldsMany:sP,setProcedureTypeFields:iP,setProcedureTypeFieldsMany:aP,updateProcedureTypeFields:nP,updateProcedureTypeFieldsMany:cP,deleteProcedureTypeFields:rP,deleteProcedureTypeFieldsMany:dP}=xa.actions,uP=xa.reducer,lP=t=>t.procedureTypeFieldsReducer.instances,ns=u.createSelector([lP],t=>Object.values(t)),Ig=m(u.createSelector([ns,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),bg=m(u.createSelector([ns,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),oP=t=>e=>e.procedureTypeFieldsReducer.instances[t],hP=m(u.createSelector([ns,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tt=b(({uuid:t})=>t),pP={instances:{}},en=u.createSlice({name:"procedureFieldValuesAttachments",initialState:pP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,pP)),reducers:{initializeProcedureFieldValuesAttachments:tt.initialize,addProcedureFieldValuesAttachment:tt.addOne,addProcedureFieldValuesAttachments:tt.addMany,setProcedureFieldValuesAttachment:tt.setOne,setProcedureFieldValuesAttachments:tt.setMany,updateProcedureFieldValuesAttachment:tt.updateOne,updateProcedureFieldValuesAttachments:tt.updateMany,deleteProcedureFieldValuesAttachment:tt.deleteOne,deleteProcedureFieldValuesAttachments:tt.deleteMany}}),{initializeProcedureFieldValuesAttachments:mP,addProcedureFieldValuesAttachment:yP,addProcedureFieldValuesAttachments:tn,setProcedureFieldValuesAttachment:fP,setProcedureFieldValuesAttachments:SP,updateProcedureFieldValuesAttachment:AP,updateProcedureFieldValuesAttachments:TP,deleteProcedureFieldValuesAttachment:IP,deleteProcedureFieldValuesAttachments:sn}=en.actions,bP=en.reducer,OP=t=>t.procedureFieldValuesAttachmentReducer.instances,an=u.createSelector([OP],t=>Object.values(t)),PP=t=>e=>e.procedureFieldValuesAttachmentReducer.instances[t],FP=m(u.createSelector([an,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_P=m(u.createSelector([an,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),st=b(({uuid:t})=>t),MP={instances:{}},nn=u.createSlice({name:"procedureFieldValues",initialState:MP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,MP)),reducers:{initializeProcedureFieldValues:st.initialize,addProcedureFieldValues:st.addOne,addProcedureFieldValuesMany:st.addMany,setProcedureFieldValues:st.setOne,setProcedureFieldValuesMany:st.setMany,updateProcedureFieldValues:st.updateOne,updateProcedureFieldValuesMany:st.updateMany,deleteProcedureFieldValues:st.deleteOne,deleteProcedureFieldValuesMany:st.deleteMany}}),{initializeProcedureFieldValues:gP,addProcedureFieldValues:RP,addProcedureFieldValuesMany:wP,setProcedureFieldValues:EP,setProcedureFieldValuesMany:vP,updateProcedureFieldValues:VP,updateProcedureFieldValuesMany:BP,deleteProcedureFieldValues:zP,deleteProcedureFieldValuesMany:jP}=nn.actions,CP=nn.reducer,DP=t=>t.procedureFieldValuesReducer.instances,cn=u.createSelector([DP],t=>Object.values(t)),Og=m(u.createSelector([cn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),qP=t=>e=>e.procedureFieldValuesReducer.instances[t],$P=m(u.createSelector([cn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),it=b(t=>t.uuid),UP={instances:{}},rn=u.createSlice({name:"procedureTypes",initialState:UP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,UP)),reducers:{initializeProcedureTypes:it.initialize,addProcedureType:it.addOne,addProcedureTypes:it.addMany,setProcedureType:it.setOne,setProcedureTypes:it.setMany,updateProcedureType:it.updateOne,updateProcedureTypes:it.updateMany,deleteProcedureType:it.deleteOne,deleteProcedureTypes:it.deleteMany}}),{initializeProcedureTypes:kP,addProcedureType:LP,addProcedureTypes:HP,setProcedureType:GP,setProcedureTypes:NP,updateProcedureType:KP,updateProcedureTypes:WP,deleteProcedureType:XP,deleteProcedureTypes:YP}=rn.actions,ZP=rn.reducer,JP=t=>t.procedureTypeReducer.instances,dn=u.createSelector([JP],t=>Object.values(t)),QP=t=>e=>e.procedureTypeReducer.instances[t],xP=m(u.createSelector([dn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Pg=m(u.createSelector([dn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Fg={isRehydrated:!1},un=u.createSlice({name:"rehydrated",initialState:Fg,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:_g}=un.actions,Mg=t=>t.rehydratedReducer.isRehydrated,eF=un.reducer,at=b(t=>t.uuid),tF={instances:{}},ln=u.createSlice({name:"reports",initialState:tF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,tF)),reducers:{initializeReports:at.initialize,addReport:at.addOne,addReports:at.addMany,setReport:at.setOne,setReports:at.setMany,updateReport:at.updateOne,updateReports:at.updateMany,deleteReport:at.deleteOne,deleteReports:at.deleteMany}}),{initializeReports:sF,addReport:iF,addReports:aF,setReport:nF,setReports:cF,updateReport:rF,updateReports:dF,deleteReport:uF,deleteReports:lF}=ln.actions,oF=t=>t.reportReducer.instances,hF=u.createSelector([oF],t=>l.fallbackToEmptyArray(Object.values(t))),pF=t=>e=>e.reportReducer.instances[t],mF=m(u.createSelector([hF,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),yF=ln.reducer,nt=b(t=>t.uuid),fF={instances:{}},on=u.createSlice({name:"teamMemberships",initialState:fF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,fF)),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:SF,addTeamMembership:AF,addTeamMemberships:TF,setTeamMembership:IF,setTeamMemberships:bF,updateTeamMembership:OF,updateTeamMemberships:PF,deleteTeamMembership:FF,deleteTeamMemberships:_F}=on.actions,MF=on.reducer,gF=t=>t.teamMembershipReducer.instances,cs=u.createSelector([gF],t=>Object.values(t)),RF=t=>e=>e.teamMembershipReducer.instances[t],wF=m(u.createSelector([cs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gg=m(u.createSelector([cs,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.team===e))i[a.user]=a;return i})),Rg=m(u.createSelector([Qt,cs,(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=b(t=>t.uuid),EF={instances:{}},hn=u.createSlice({name:"teams",initialState:EF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,EF)),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:VF,addTeams:BF,setTeam:zF,setTeams:jF,updateTeam:CF,updateTeams:DF,deleteTeam:qF,deleteTeams:$F}=hn.actions,UF=t=>t.teamReducer.instances,pn=u.createSelector([UF],t=>Object.values(t)),kF=t=>e=>e.teamReducer.instances[t],LF=m(u.createSelector([pn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),wg=m(u.createSelector([pn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),HF=hn.reducer,mn={outboxReducer:vS,authReducer:Wd},Eg=u.combineReducers(mn),GF={...mn,assetReducer:Rc,assetAttachmentReducer:kn,assetCommentAttachmentReducer:tc,assetCommentReducer:yc,assetTypeReducer:Ed,assetTypeAttachmentReducer:kc,issueReducer:xp,issueAttachmentReducer:pp,issueTypeReducer:ff,issueTypeAttachmentReducer:pm,organizationReducer:_S,projectReducer:GA,projectAttachmentReducer:aA,projectCommentReducer:AA,projectAccessReducer:LS,organizationAccessReducer:rS,projectFileReducer:BA,procedureTypeReducer:ZP,procedureInitiativeReducer:aT,procedureReducer:fT,procedureTypeFieldsReducer:uP,procedureFieldValuesReducer:CP,procedureTypeAttachmentReducer:jO,procedureTypeFieldsAttachmentReducer:YO,procedureFieldValuesAttachmentReducer:bP,procedureStepFieldsAttachmentReducer:QI,procedureStepFieldsReducer:ob,procedureStepFieldValuesAttachmentReducer:Fb,procedureStepFieldValuesReducer:jb,procedureStepFieldValuesReviewReducer:Jb,procedureStepAssigneeReducer:DT,procedureStepCommentReducer:JT,procedureStepDefaultAssigneeReducer:oI,procedureStepDefaultReviewerReducer:_I,procedureStepEventReducer:$I,procedureStepReviewerReducer:oO,procedureStepReducer:OO,rehydratedReducer:eF,reportReducer:yF,formReducer:co,formRevisionReducer:Cl,formRevisionAttachmentReducer:Pl,formSubscriberReducer:Yl,formSubmissionFieldValuesAttachmentReducer:bo,formSubmissionFieldValuesReducer:zo,formSubmissionCommentAttachmentReducer:Xo,formSubmissionCommentReducer:rh,formSubmissionReducer:Fh,formIdentifierReducer:Yu,formIdentifierValueReducer:ul,userReducer:Xf,emailDomainsReducer:ju,documentsReducer:Au,documentAttachmentReducer:ru,teamReducer:HF,agentsReducer:Rn,issueCommentReducer:Up,issueCommentAttachmentReducer:gp,issueUpdateReducer:$f,geoImageReducer:qh,issueAssociationReducer:ep,issueTypeFieldsReducer:ty,issueTypeFieldValuesReducer:km,issueTypeFieldsAttachmentReducer:gm,issueTypeFieldValuesAttachmentReducer:my,issueTypeIdentifierReducer:Ry,issueTypeIdentifierValueReducer:Ly,issueTypePriorityReducer:tf,issueTypeStatusReducer:wf,assetTypeFieldsReducer:yr,assetTypeFieldValuesReducer:Lr,assetTypeFieldsAttachmentReducer:tr,assetTypeFieldValuesAttachmentReducer:Rr,assetTypeIdentifierReducer:sd,assetTypeIdentifierValueReducer:fd,assetTypeStatusReducer:Gd,teamMembershipReducer:MF},vg=u.combineReducers(GF),NF=1e4,yn=[400,409,403,404,405,500],D=1e4,KF={};class WF{client;pageSize=NF;constructor(e){KF[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 Vg=t=>{if(t)throw t;const e=Ft();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},XF=(t,e,i)=>{const a=ft();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},YF=(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 Bg(t,e){if(!e.payload)throw new Error("Received empty payload");return A_(e)}const zg={...bn,effect:Bg,discard:JF,returnPromises:!0,persistCallback:Vg,retry:Dg,persistOptions:{storage:b_},queue:{...bn.queue,enqueue:XF,dequeue:YF,peek:(...t)=>Cg(...t)}},jg=I_.offline(zg);async function ZF(t,e,i){if(e.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const n=KF[t.meta.offline.effect.serviceName];if(!n)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return An(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,e,n,i)}function JF(t,e,i=0){if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
1
+ (function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("@overmap-ai/common"),require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("idb"),require("jwt-decode"),require("dependency-graph")):typeof define=="function"&&define.amd?define(["exports","@overmap-ai/common","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","idb","jwt-decode","dependency-graph"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s["overmap-core"]={},s.common,null,s.toolkit,s.request,s.uuid,s.reduxOffline,s.offlineConfig,s.localforage,s.idb,s.jwtDecode,s.dependencyGraph))})(this,(function(s,l,bE,u,St,ut,I_,bn,b_,O_,P_,F_){"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 b(t){return{addOne:(f,A)=>{const I=t(A.payload);I in f.instances||(f.instances[I]=A.payload)},addMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances||(f.instances[S]=I)}},updateOne:(f,A)=>{const I=t(A.payload);I in f.instances&&(f.instances[I]=A.payload)},setMany:(f,A)=>{for(const I of A.payload){const S=t(I);f.instances[S]=I}},setOne:(f,A)=>{const I=t(A.payload);f.instances[I]=A.payload},updateMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances&&(f.instances[S]=I)}},deleteOne:(f,A)=>{delete f.instances[A.payload]},deleteMany:(f,A)=>{for(const I of A.payload)delete f.instances[I]},initialize:(f,A)=>{f.instances={};const I=new Set;for(const S of A.payload){const P=t(S);I.add(P),f.instances[P]=S}I.size!==A.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function __(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"),R=u.createAction("RESET_PROJECT_STATE"),O=u.createAction("RESET_ORGANIZATION_STATE"),$=b(t=>t.uuid),Pn={instances:{}},Dt=u.createSlice({name:"agents",initialState:Pn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),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:Fn,addConversation:_n,addConversations:M_,setConversation:Mn,setConversations:g_,updateConversation:gn,updateConversations:w_,deleteConversation:E_,deleteConversations:R_}=Dt.actions,wn=Dt.reducer,U=b(t=>t.uuid),En={instances:{}},qt=u.createSlice({name:"assetAttachments",initialState:En,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,En)),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:Rn,addAssetAttachment:vn,addAssetAttachments:Bi,setAssetAttachment:Vn,setAssetAttachments:Bn,updateAssetAttachment:zn,updateAssetAttachments:jn,deleteAssetAttachment:Cn,deleteAssetAttachments:zi}=qt.actions,Dn=qt.reducer,k=b(t=>t.uuid),qn={instances:{}},$t=u.createSlice({name:"assetCommentAttachments",initialState:qn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,qn)),reducers:{initializeAssetCommentAttachments:k.initialize,addAssetCommentAttachment:k.addOne,addAssetCommentAttachments:k.addMany,setAssetCommentAttachment:k.setOne,setAssetCommentAttachments:k.setMany,updateAssetCommentAttachment:k.updateOne,updateAssetCommentAttachments:k.updateMany,deleteAssetCommentAttachment:k.deleteOne,deleteAssetCommentAttachments:k.deleteMany}}),{initializeAssetCommentAttachments:$n,addAssetCommentAttachment:Un,addAssetCommentAttachments:kn,setAssetCommentAttachment:Ln,setAssetCommentAttachments:Hn,updateAssetCommentAttachment:Gn,updateAssetCommentAttachments:Nn,deleteAssetCommentAttachment:Kn,deleteAssetCommentAttachments:Wn}=$t.actions,Xn=$t.reducer,L=b(t=>t.uuid),Yn={instances:{}},Ut=u.createSlice({name:"assetComments",initialState:Yn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Yn)),reducers:{initializeAssetComments:L.initialize,addAssetComment:L.addOne,addAssetComments:L.addMany,setAssetComment:L.setOne,setAssetComments:L.setMany,updateAssetComment:L.updateOne,updateAssetComments:L.updateMany,deleteAssetComment:L.deleteOne,deleteAssetComments:L.deleteMany}}),{initializeAssetComments:Zn,addAssetComment:Jn,addAssetComments:kt,setAssetComment:Qn,setAssetComments:xn,updateAssetComment:ec,updateAssetComments:tc,deleteAssetComment:sc,deleteAssetComments:Lt}=Ut.actions,ic=Ut.reducer,H=b(t=>t.uuid),ac={instances:{}},Ht=u.createSlice({name:"assets",initialState:ac,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,ac)),reducers:{initializeAssets:H.initialize,addAsset:H.addOne,addAssets:H.addMany,setAsset:H.setOne,setAssets:H.setMany,updateAsset:H.updateOne,updateAssets:H.updateMany,deleteAsset:H.deleteOne,deleteAssets:H.deleteMany}}),{initializeAssets:nc,addAsset:cc,addAssets:ji,updateAsset:rc,updateAssets:dc,deleteAsset:uc,deleteAssets:Ci,setAsset:lc,setAssets:oc}=Ht.actions,hc=Ht.reducer,G=b(t=>t.uuid),pc={instances:{}},Gt=u.createSlice({name:"assetTypeAttachments",initialState:pc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,pc)),reducers:{initializeAssetTypeAttachments:G.initialize,addAssetTypeAttachment:G.addOne,addAssetTypeAttachments:G.addMany,setAssetTypeAttachment:G.setOne,setAssetTypeAttachments:G.setMany,updateAssetTypeAttachment:G.updateOne,updateAssetTypeAttachments:G.updateMany,deleteAssetTypeAttachment:G.deleteOne,deleteAssetTypeAttachments:G.deleteMany}}),{initializeAssetTypeAttachments:mc,addAssetTypeAttachment:yc,addAssetTypeAttachments:Di,setAssetTypeAttachment:fc,setAssetTypeAttachments:Sc,updateAssetTypeAttachment:Ac,updateAssetTypeAttachments:Tc,deleteAssetTypeAttachment:Ic,deleteAssetTypeAttachments:qi}=Gt.actions,bc=Gt.reducer,N=b(t=>t.uuid),Oc={instances:{}},Nt=u.createSlice({name:"assetTypeFieldsAttachments",initialState:Oc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Oc)),reducers:{initializeAssetTypeFieldsAttachments:N.initialize,addAssetTypeFieldsAttachment:N.addOne,addAssetTypeFieldsAttachments:N.addMany,setAssetTypeFieldsAttachment:N.setOne,setAssetTypeFieldsAttachments:N.setMany,updateAssetTypeFieldsAttachment:N.updateOne,updateAssetTypeFieldsAttachments:N.updateMany,deleteAssetTypeFieldsAttachment:N.deleteOne,deleteAssetTypeFieldsAttachments:N.deleteMany}}),{initializeAssetTypeFieldsAttachments:Pc,addAssetTypeFieldsAttachment:Fc,addAssetTypeFieldsAttachments:_c,setAssetTypeFieldsAttachment:Mc,setAssetTypeFieldsAttachments:gc,updateAssetTypeFieldsAttachment:wc,updateAssetTypeFieldsAttachments:Ec,deleteAssetTypeFieldsAttachment:Rc,deleteAssetTypeFieldsAttachments:vc}=Nt.actions,Vc=Nt.reducer,K=b(t=>t.uuid),Bc={instances:{}},Kt=u.createSlice({name:"assetTypeFields",initialState:Bc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Bc)),reducers:{initializeAssetTypeFields:K.initialize,addAssetTypeFields:K.addOne,addAssetTypeFieldsMany:K.addMany,setAssetTypeFields:K.setOne,setAssetTypeFieldsMany:K.setMany,updateAssetTypeFields:K.updateOne,updateAssetTypeFieldsMany:K.updateMany,deleteAssetTypeFields:K.deleteOne,deleteAssetTypeFieldsMany:K.deleteMany}}),{initializeAssetTypeFields:zc,addAssetTypeFields:jc,addAssetTypeFieldsMany:Cc,setAssetTypeFields:Dc,setAssetTypeFieldsMany:qc,updateAssetTypeFields:$c,updateAssetTypeFieldsMany:Uc,deleteAssetTypeFields:kc,deleteAssetTypeFieldsMany:Lc}=Kt.actions,Hc=Kt.reducer,W=b(t=>t.uuid),Gc={instances:{}},Wt=u.createSlice({name:"assetTypeFieldValuesAttachments",initialState:Gc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Gc)),reducers:{initializeAssetTypeFieldValuesAttachments:W.initialize,addAssetTypeFieldValuesAttachment:W.addOne,addAssetTypeFieldValuesAttachments:W.addMany,setAssetTypeFieldValuesAttachment:W.setOne,setAssetTypeFieldValuesAttachments:W.setMany,updateAssetTypeFieldValuesAttachment:W.updateOne,updateAssetTypeFieldValuesAttachments:W.updateMany,deleteAssetTypeFieldValuesAttachment:W.deleteOne,deleteAssetTypeFieldValuesAttachments:W.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Nc,addAssetTypeFieldValuesAttachment:Kc,addAssetTypeFieldValuesAttachments:$i,setAssetTypeFieldValuesAttachment:Wc,setAssetTypeFieldValuesAttachments:Xc,updateAssetTypeFieldValuesAttachment:Yc,updateAssetTypeFieldValuesAttachments:Zc,deleteAssetTypeFieldValuesAttachment:Jc,deleteAssetTypeFieldValuesAttachments:Ui}=Wt.actions,Qc=Wt.reducer,X=b(t=>t.uuid),xc={instances:{}},Xt=u.createSlice({name:"assetTypeFieldValues",initialState:xc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,xc)),reducers:{initializeAssetTypeFieldValues:X.initialize,addAssetTypeFieldValues:X.addOne,addAssetTypeFieldValuesMany:X.addMany,setAssetTypeFieldValues:X.setOne,setAssetTypeFieldValuesMany:X.setMany,updateAssetTypeFieldValues:X.updateOne,updateAssetTypeFieldValuesMany:X.updateMany,deleteAssetTypeFieldValues:X.deleteOne,deleteAssetTypeFieldValuesMany:X.deleteMany}}),{initializeAssetTypeFieldValues:er,addAssetTypeFieldValues:tr,addAssetTypeFieldValuesMany:sr,setAssetTypeFieldValues:ir,setAssetTypeFieldValuesMany:ar,updateAssetTypeFieldValues:nr,updateAssetTypeFieldValuesMany:cr,deleteAssetTypeFieldValues:rr,deleteAssetTypeFieldValuesMany:dr}=Xt.actions,ur=Xt.reducer,Y=b(t=>t.uuid),lr={instances:{}},Yt=u.createSlice({name:"assetTypeIdentifiers",initialState:lr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,lr)),reducers:{initializeAssetTypeIdentifiers:Y.initialize,addAssetTypeIdentifier:Y.addOne,addAssetTypeIdentifiers:Y.addMany,setAssetTypeIdentifier:Y.setOne,setAssetTypeIdentifiers:Y.setMany,updateAssetTypeIdentifier:Y.updateOne,updateAssetTypeIdentifiers:Y.updateMany,deleteAssetTypeIdentifier:Y.deleteOne,deleteAssetTypeIdentifiers:Y.deleteMany}}),{initializeAssetTypeIdentifiers:or,addAssetTypeIdentifier:hr,addAssetTypeIdentifiers:pr,setAssetTypeIdentifier:mr,setAssetTypeIdentifiers:yr,updateAssetTypeIdentifier:fr,updateAssetTypeIdentifiers:Sr,deleteAssetTypeIdentifier:Ar,deleteAssetTypeIdentifiers:Tr}=Yt.actions,Ir=Yt.reducer,Z=b(t=>t.uuid),br={instances:{}},Zt=u.createSlice({name:"assetTypeIdentifierValues",initialState:br,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,br)),reducers:{initializeAssetTypeIdentifierValues:Z.initialize,addAssetTypeIdentifierValue:Z.addOne,addAssetTypeIdentifierValues:Z.addMany,setAssetTypeIdentifierValue:Z.setOne,setAssetTypeIdentifierValues:Z.setMany,updateAssetTypeIdentifierValue:Z.updateOne,updateAssetTypeIdentifierValues:Z.updateMany,deleteAssetTypeIdentifierValue:Z.deleteOne,deleteAssetTypeIdentifierValues:Z.deleteMany}}),{initializeAssetTypeIdentifierValues:Or,addAssetTypeIdentifierValue:Pr,addAssetTypeIdentifierValues:Fr,setAssetTypeIdentifierValue:_r,setAssetTypeIdentifierValues:Mr,updateAssetTypeIdentifierValue:gr,updateAssetTypeIdentifierValues:wr,deleteAssetTypeIdentifierValue:Er,deleteAssetTypeIdentifierValues:Rr}=Zt.actions,vr=Zt.reducer,J=b(t=>t.uuid),Vr={instances:{}},Jt=u.createSlice({name:"assetTypes",initialState:Vr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Vr)),reducers:{initializeAssetTypes:J.initialize,setAssetType:J.setOne,setAssetTypes:J.setMany,addAssetType:J.addOne,addAssetTypes:J.addMany,updateAssetType:J.updateOne,updateAssetTypes:J.updateMany,deleteAssetType:J.deleteOne,deleteAssetTypes:J.deleteMany}}),{initializeAssetTypes:Br,setAssetType:zr,setAssetTypes:jr,addAssetType:Cr,addAssetTypes:Dr,updateAssetType:qr,updateAssetTypes:$r,deleteAssetType:Ur,deleteAssetTypes:kr}=Jt.actions,Lr=Jt.reducer,Q=b(t=>t.uuid),Hr={instances:{}},Qt=u.createSlice({name:"assetTypeStatuses",initialState:Hr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Hr)),reducers:{initializeAssetTypeStatuses:Q.initialize,addAssetTypeStatus:Q.addOne,addAssetTypeStatuses:Q.addMany,setAssetTypeStatus:Q.setOne,setAssetTypeStatuses:Q.setMany,updateAssetTypeStatus:Q.updateOne,updateAssetTypeStatuses:Q.updateMany,deleteAssetTypeStatus:Q.deleteOne,deleteAssetTypeStatuses:Q.deleteMany}}),{initializeAssetTypeStatuses:Gr,addAssetTypeStatus:Nr,addAssetTypeStatuses:Kr,setAssetTypeStatus:Wr,setAssetTypeStatuses:Xr,updateAssetTypeStatus:Yr,updateAssetTypeStatuses:Zr,deleteAssetTypeStatus:Jr,deleteAssetTypeStatuses:Qr}=Qt.actions,xr=Qt.reducer,ed={accessToken:"",refreshToken:"",isLoggedIn:!1},Mt=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||Mt.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:v_,clearTokens:V_,setLoggedIn:td}=Mt.actions,sd=Mt.reducer,x=b(t=>t.uuid),id={instances:{}},xt=u.createSlice({name:"documentAttachments",initialState:id,extraReducers:t=>t.addCase(T,e=>Object.assign(e,id)),reducers:{initializeDocumentAttachments:x.initialize,addDocumentAttachment:x.addOne,addDocumentAttachments:x.addMany,setDocumentAttachment:x.setOne,setDocumentAttachments:x.setMany,updateDocumentAttachment:x.updateOne,updateDocumentAttachments:x.updateMany,deleteDocumentAttachment:x.deleteOne,deleteDocumentAttachments:x.deleteMany}}),{initializeDocumentAttachments:ad,addDocumentAttachment:nd,addDocumentAttachments:cd,setDocumentAttachment:rd,setDocumentAttachments:dd,updateDocumentAttachment:ud,updateDocumentAttachments:ld,deleteDocumentAttachment:od,deleteDocumentAttachments:hd}=xt.actions,pd=xt.reducer,ee=b(({uuid:t})=>t),md={instances:{}},es=u.createSlice({name:"documents",initialState:md,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>{Object.assign(e,md)}),reducers:{initializeDocuments:ee.initialize,addDocument:ee.addOne,addDocuments:ee.addMany,setDocument:ee.setOne,setDocuments:ee.setMany,updateDocument:ee.updateOne,updateDocuments:ee.updateMany,deleteDocument:ee.deleteOne,deleteDocuments:ee.deleteMany}}),{initializeDocuments:yd,addDocument:fd,addDocuments:Sd,setDocument:Ad,setDocuments:Td,updateDocument:Id,updateDocuments:bd,deleteDocument:Od,deleteDocuments:Pd}=es.actions,Fd=es.reducer,te=b(t=>t.uuid),_d={instances:{}},ts=u.createSlice({name:"emailDomains",initialState:_d,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,_d)),reducers:{initializeEmailDomains:te.initialize,addEmailDomain:te.addOne,addEmailDomains:te.addMany,setEmailDomain:te.setOne,setEmailDomains:te.setMany,updateEmailDomain:te.updateOne,updateEmailDomains:te.updateMany,deleteEmailDomain:te.deleteOne,deleteEmailDomains:te.deleteMany}}),{initializeEmailDomains:Md,addEmailDomain:gd,addEmailDomains:wd,setEmailDomain:Ed,setEmailDomains:Rd,updateEmailDomain:vd,updateEmailDomains:Vd,deleteEmailDomain:Bd,deleteEmailDomains:zd}=ts.actions,jd=ts.reducer,se=b(t=>t.uuid),Cd={instances:{}},ss=u.createSlice({name:"formIdentifiers",initialState:Cd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Cd)),reducers:{initializeFormIdentifiers:se.initialize,addFormIdentifier:se.addOne,addFormIdentifiers:se.addMany,setFormIdentifier:se.setOne,setFormIdentifiers:se.setMany,updateFormIdentifier:se.updateOne,updateFormIdentifiers:se.updateMany,deleteFormIdentifier:se.deleteOne,deleteFormIdentifiers:se.deleteMany}}),{initializeFormIdentifiers:Dd,addFormIdentifier:qd,addFormIdentifiers:$d,setFormIdentifier:Ud,setFormIdentifiers:kd,updateFormIdentifier:Ld,updateFormIdentifiers:Hd,deleteFormIdentifier:Gd,deleteFormIdentifiers:Nd}=ss.actions,Kd=ss.reducer,ie=b(t=>t.uuid),Wd={instances:{}},is=u.createSlice({name:"formIdentifierValues",initialState:Wd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Wd)),reducers:{initializeFormIdentifierValues:ie.initialize,addFormIdentifierValue:ie.addOne,addFormIdentifierValues:ie.addMany,setFormIdentifierValue:ie.setOne,setFormIdentifierValues:ie.setMany,updateFormIdentifierValue:ie.updateOne,updateFormIdentifierValues:ie.updateMany,deleteFormIdentifierValue:ie.deleteOne,deleteFormIdentifierValues:ie.deleteMany}}),{initializeFormIdentifierValues:Xd,addFormIdentifierValue:Yd,addFormIdentifierValues:Zd,setFormIdentifierValue:Jd,setFormIdentifierValues:Qd,updateFormIdentifierValue:xd,updateFormIdentifierValues:eu,deleteFormIdentifierValue:tu,deleteFormIdentifierValues:su}=is.actions,iu=is.reducer,ae=b(t=>t.uuid),au={instances:{}},as=u.createSlice({name:"formRevisionAttachments",initialState:au,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,au)),reducers:{initializeFormRevisionAttachments:ae.initialize,addFormRevisionAttachment:ae.addOne,addFormRevisionAttachments:ae.addMany,setFormRevisionAttachment:ae.setOne,setFormRevisionAttachments:ae.setMany,updateFormRevisionAttachment:ae.updateOne,updateFormRevisionAttachments:ae.updateMany,deleteFormRevisionAttachment:ae.deleteOne,deleteFormRevisionAttachments:ae.deleteMany}}),{initializeFormRevisionAttachments:nu,addFormRevisionAttachment:cu,addFormRevisionAttachments:ru,setFormRevisionAttachment:du,setFormRevisionAttachments:uu,updateFormRevisionAttachment:lu,updateFormRevisionAttachments:ou,deleteFormRevisionAttachment:hu,deleteFormRevisionAttachments:pu}=as.actions,mu=as.reducer,ne=b(t=>t.uuid),yu={instances:{}},ns=u.createSlice({name:"formRevisions",initialState:yu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,yu)),reducers:{initializeFormRevisions:ne.initialize,addFormRevision:ne.addOne,addFormRevisions:ne.addMany,setFormRevision:ne.setOne,setFormRevisions:ne.setMany,updateFormRevision:ne.updateOne,updateFormRevisions:ne.updateMany,deleteFormRevision:ne.deleteOne,deleteFormRevisions:ne.deleteMany}}),{initializeFormRevisions:fu,addFormRevision:Su,addFormRevisions:ki,setFormRevision:Au,setFormRevisions:Tu,updateFormRevision:Iu,updateFormRevisions:bu,deleteFormRevision:Ou,deleteFormRevisions:Li}=ns.actions,Pu=ns.reducer,ce=b(t=>t.uuid),Fu={instances:{}},cs=u.createSlice({name:"formSubscribers",initialState:Fu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Fu)),reducers:{initializeFormSubscribers:ce.initialize,addFormSubscriber:ce.addOne,addFormSubscribers:ce.addMany,setFormSubscriber:ce.setOne,setFormSubscribers:ce.setMany,updateFormSubscriber:ce.updateOne,updateFormSubscribers:ce.updateMany,deleteFormSubscriber:ce.deleteOne,deleteFormSubscribers:ce.deleteMany}}),{initializeFormSubscribers:_u,addFormSubscriber:Mu,addFormSubscribers:Hi,setFormSubscriber:gu,setFormSubscribers:wu,updateFormSubscriber:Eu,updateFormSubscribers:Ru,deleteFormSubscriber:vu,deleteFormSubscribers:Gi}=cs.actions,Vu=cs.reducer,re=b(t=>t.uuid),Bu={instances:{}},rs=u.createSlice({name:"forms",initialState:Bu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Bu)),reducers:{initializeForms:re.initialize,addForm:re.addOne,addForms:re.addMany,setForm:re.setOne,setForms:re.setMany,updateForm:re.updateOne,updateForms:re.updateMany,deleteForm:re.deleteOne,deleteForms:re.deleteMany}}),{initializeForms:zu,addForm:ju,addForms:Cu,setForm:Du,setForms:qu,updateForm:$u,updateForms:Uu,deleteForm:ku,deleteForms:Lu}=rs.actions,Hu=rs.reducer,de=b(({uuid:t})=>t),Gu={instances:{}},ds=u.createSlice({name:"formSubmissionFieldValuesAttachments",initialState:Gu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Gu)),reducers:{initializeFormSubmissionFieldValuesAttachments:de.initialize,addFormSubmissionFieldValuesAttachment:de.addOne,addFormSubmissionFieldValuesAttachments:de.addMany,setFormSubmissionFieldValuesAttachment:de.setOne,setFormSubmissionFieldValuesAttachments:de.setMany,updateFormSubmissionFieldValuesAttachment:de.updateOne,updateFormSubmissionFieldValuesAttachments:de.updateMany,deleteFormSubmissionFieldValuesAttachment:de.deleteOne,deleteFormSubmissionFieldValuesAttachments:de.deleteMany}}),{initializeFormSubmissionFieldValuesAttachments:Nu,addFormSubmissionFieldValuesAttachment:Ku,addFormSubmissionFieldValuesAttachments:Ni,setFormSubmissionFieldValuesAttachment:Wu,setFormSubmissionFieldValuesAttachments:Xu,updateFormSubmissionFieldValuesAttachment:Yu,updateFormSubmissionFieldValuesAttachments:Zu,deleteFormSubmissionFieldValuesAttachment:Ju,deleteFormSubmissionFieldValuesAttachments:Ki}=ds.actions,Qu=ds.reducer,ue=b(({uuid:t})=>t),xu={instances:{}},us=u.createSlice({name:"formSubmissionFieldValues",initialState:xu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,xu)),reducers:{initializeFormSubmissionFieldValues:ue.initialize,addFormSubmissionFieldValues:ue.addOne,addFormSubmissionFieldValuesMany:ue.addMany,setFormSubmissionFieldValues:ue.setOne,setFormSubmissionFieldValuesMany:ue.setMany,updateFormSubmissionFieldValues:ue.updateOne,updateFormSubmissionFieldValuesMany:ue.updateMany,deleteFormSubmissionFieldValues:ue.deleteOne,deleteFormSubmissionFieldValuesMany:ue.deleteMany}}),{initializeFormSubmissionFieldValues:el,addFormSubmissionFieldValues:tl,addFormSubmissionFieldValuesMany:Wi,setFormSubmissionFieldValues:sl,setFormSubmissionFieldValuesMany:il,updateFormSubmissionFieldValues:al,updateFormSubmissionFieldValuesMany:nl,deleteFormSubmissionFieldValues:cl,deleteFormSubmissionFieldValuesMany:Xi}=us.actions,rl=us.reducer,le=b(t=>t.uuid),dl={instances:{}},ls=u.createSlice({name:"formSubmissionCommentAttachments",initialState:dl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,dl)),reducers:{initializeFormSubmissionCommentAttachments:le.initialize,addFormSubmissionCommentAttachment:le.addOne,addFormSubmissionCommentAttachments:le.addMany,setFormSubmissionCommentAttachment:le.setOne,setFormSubmissionCommentAttachments:le.setMany,updateFormSubmissionCommentAttachment:le.updateOne,updateFormSubmissionCommentAttachments:le.updateMany,deleteFormSubmissionCommentAttachment:le.deleteOne,deleteFormSubmissionCommentAttachments:le.deleteMany}}),{initializeFormSubmissionCommentAttachments:ul,addFormSubmissionCommentAttachment:ll,addFormSubmissionCommentAttachments:ol,setFormSubmissionCommentAttachment:hl,setFormSubmissionCommentAttachments:pl,updateFormSubmissionCommentAttachment:ml,updateFormSubmissionCommentAttachments:yl,deleteFormSubmissionCommentAttachment:fl,deleteFormSubmissionCommentAttachments:Sl}=ls.actions,Al=ls.reducer,oe=b(t=>t.uuid),Tl={instances:{}},os=u.createSlice({name:"formSubmissionComments",initialState:Tl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Tl)),reducers:{initializeFormSubmissionComments:oe.initialize,addFormSubmissionComment:oe.addOne,addFormSubmissionComments:oe.addMany,setFormSubmissionComment:oe.setOne,setFormSubmissionComments:oe.setMany,updateFormSubmissionComment:oe.updateOne,updateFormSubmissionComments:oe.updateMany,deleteFormSubmissionComment:oe.deleteOne,deleteFormSubmissionComments:oe.deleteMany}}),{initializeFormSubmissionComments:Il,addFormSubmissionComment:bl,addFormSubmissionComments:Yi,setFormSubmissionComment:Ol,setFormSubmissionComments:Pl,updateFormSubmissionComment:Fl,updateFormSubmissionComments:_l,deleteFormSubmissionComment:Ml,deleteFormSubmissionComments:Zi}=os.actions,gl=os.reducer,he=b(t=>t.uuid),wl={instances:{}},hs=u.createSlice({name:"formSubmissions",initialState:wl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,wl)),reducers:{initializeFormSubmissions:he.initialize,setFormSubmission:he.setOne,setFormSubmissions:he.setMany,addFormSubmission:he.addOne,addFormSubmissions:he.addMany,updateFormSubmission:he.updateOne,updateFormSubmissions:he.updateMany,deleteFormSubmission:he.deleteOne,deleteFormSubmissions:he.deleteMany}}),{initializeFormSubmissions:El,setFormSubmission:Rl,setFormSubmissions:vl,addFormSubmission:Vl,addFormSubmissions:lt,updateFormSubmission:Bl,updateFormSubmissions:zl,deleteFormSubmission:jl,deleteFormSubmissions:ot}=hs.actions,Cl=hs.reducer,pe=b(t=>t.uuid),Dl={instances:{}},ps=u.createSlice({name:"geoImages",initialState:Dl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Dl)),reducers:{initializeGeoImages:pe.initialize,setGeoImage:pe.setOne,setGeoImages:pe.setMany,addGeoImage:pe.addOne,addGeoImages:pe.addMany,updateGeoImage:pe.updateOne,updateGeoImages:pe.updateMany,deleteGeoImage:pe.deleteOne,deleteGeoImages:pe.deleteMany}}),{initializeGeoImages:ql,setGeoImage:$l,setGeoImages:Ul,addGeoImage:kl,addGeoImages:Ll,updateGeoImage:Hl,updateGeoImages:Gl,deleteGeoImage:Nl,deleteGeoImages:Kl}=ps.actions,Wl=ps.reducer,me=b(t=>t.uuid),Xl={instances:{}},ms=u.createSlice({name:"issueAssociations",initialState:Xl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Xl)),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:Yl,setIssueAssociations:Zl,setIssueAssociation:Jl,updateIssueAssociation:Ql,updateIssueAssociations:xl,addIssueAssociation:eo,addIssueAssociations:At,deleteIssueAssociation:to,deleteIssueAssociations:Tt}=ms.actions,so=ms.reducer,ye=b(t=>t.uuid),io={instances:{}},ys=u.createSlice({name:"issueAttachments",initialState:io,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,io)),reducers:{initializeIssueAttachments:ye.initialize,addIssueAttachment:ye.addOne,addIssueAttachments:ye.addMany,setIssueAttachment:ye.setOne,setIssueAttachments:ye.setMany,updateIssueAttachment:ye.updateOne,updateIssueAttachments:ye.updateMany,deleteIssueAttachment:ye.deleteOne,deleteIssueAttachments:ye.deleteMany}}),{initializeIssueAttachments:ao,addIssueAttachment:no,addIssueAttachments:Ji,setIssueAttachment:co,setIssueAttachments:ro,updateIssueAttachment:uo,updateIssueAttachments:lo,deleteIssueAttachment:oo,deleteIssueAttachments:Qi}=ys.actions,ho=ys.reducer,fe=b(t=>t.uuid),po={instances:{}},fs=u.createSlice({name:"issueCommentAttachments",initialState:po,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,po)),reducers:{initializeIssueCommentAttachments:fe.initialize,addIssueCommentAttachment:fe.addOne,addIssueCommentAttachments:fe.addMany,setIssueCommentAttachment:fe.setOne,setIssueCommentAttachments:fe.setMany,updateIssueCommentAttachment:fe.updateOne,updateIssueCommentAttachments:fe.updateMany,deleteIssueCommentAttachment:fe.deleteOne,deleteIssueCommentAttachments:fe.deleteMany}}),{initializeIssueCommentAttachments:mo,addIssueCommentAttachment:yo,addIssueCommentAttachments:fo,setIssueCommentAttachment:So,setIssueCommentAttachments:Ao,updateIssueCommentAttachment:To,updateIssueCommentAttachments:Io,deleteIssueCommentAttachment:bo,deleteIssueCommentAttachments:Oo}=fs.actions,Po=fs.reducer,Se=b(t=>t.uuid),Fo={instances:{}},Ss=u.createSlice({name:"issueComments",initialState:Fo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Fo)),reducers:{initializeIssueComments:Se.initialize,addIssueComment:Se.addOne,addIssueComments:Se.addMany,setIssueComment:Se.setOne,setIssueComments:Se.setMany,updateIssueComment:Se.updateOne,updateIssueComments:Se.updateMany,deleteIssueComment:Se.deleteOne,deleteIssueComments:Se.deleteMany}}),{initializeIssueComments:_o,addIssueComment:Mo,addIssueComments:go,setIssueComment:wo,setIssueComments:Eo,updateIssueComment:Ro,updateIssueComments:vo,deleteIssueComment:Vo,deleteIssueComments:Bo}=Ss.actions,zo=Ss.reducer,Ae=b(t=>t.uuid),jo={instances:{}},As=u.createSlice({name:"issues",initialState:jo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,jo)),reducers:{initializeIssues:Ae.initialize,addIssue:Ae.addOne,addIssues:Ae.addMany,setIssue:Ae.setOne,setIssues:Ae.setMany,updateIssue:Ae.updateOne,updateIssues:Ae.updateMany,deleteIssue:Ae.deleteOne,deleteIssues:Ae.deleteMany}}),{initializeIssues:Co,addIssue:Do,addIssues:xi,setIssue:qo,setIssues:$o,updateIssue:Uo,updateIssues:ko,deleteIssue:Lo,deleteIssues:ea}=As.actions,Ho=As.reducer,Te=b(t=>t.uuid),Go={instances:{}},Ts=u.createSlice({name:"issueTypeAttachments",initialState:Go,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Go)),reducers:{initializeIssueTypeAttachments:Te.initialize,addIssueTypeAttachment:Te.addOne,addIssueTypeAttachments:Te.addMany,setIssueTypeAttachment:Te.setOne,setIssueTypeAttachments:Te.setMany,updateIssueTypeAttachment:Te.updateOne,updateIssueTypeAttachments:Te.updateMany,deleteIssueTypeAttachment:Te.deleteOne,deleteIssueTypeAttachments:Te.deleteMany}}),{initializeIssueTypeAttachments:No,addIssueTypeAttachment:Ko,addIssueTypeAttachments:Wo,setIssueTypeAttachment:Xo,setIssueTypeAttachments:Yo,updateIssueTypeAttachment:Zo,updateIssueTypeAttachments:Jo,deleteIssueTypeAttachment:Qo,deleteIssueTypeAttachments:xo}=Ts.actions,eh=Ts.reducer,Ie=b(t=>t.uuid),th={instances:{}},Is=u.createSlice({name:"issueTypeFieldsAttachments",initialState:th,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,th)),reducers:{initializeIssueTypeFieldsAttachments:Ie.initialize,addIssueTypeFieldsAttachment:Ie.addOne,addIssueTypeFieldsAttachments:Ie.addMany,setIssueTypeFieldsAttachment:Ie.setOne,setIssueTypeFieldsAttachments:Ie.setMany,updateIssueTypeFieldsAttachment:Ie.updateOne,updateIssueTypeFieldsAttachments:Ie.updateMany,deleteIssueTypeFieldsAttachment:Ie.deleteOne,deleteIssueTypeFieldsAttachments:Ie.deleteMany}}),{initializeIssueTypeFieldsAttachments:sh,addIssueTypeFieldsAttachment:ih,addIssueTypeFieldsAttachments:ah,setIssueTypeFieldsAttachment:nh,setIssueTypeFieldsAttachments:ch,updateIssueTypeFieldsAttachment:rh,updateIssueTypeFieldsAttachments:dh,deleteIssueTypeFieldsAttachment:uh,deleteIssueTypeFieldsAttachments:lh}=Is.actions,oh=Is.reducer,be=b(t=>t.uuid),hh={instances:{}},bs=u.createSlice({name:"issueTypeFields",initialState:hh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,hh)),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:ph,addIssueTypeFields:mh,addIssueTypeFieldsMany:yh,setIssueTypeFields:fh,setIssueTypeFieldsMany:Sh,updateIssueTypeFields:Ah,updateIssueTypeFieldsMany:Th,deleteIssueTypeFields:Ih,deleteIssueTypeFieldsMany:bh}=bs.actions,Oh=bs.reducer,Oe=b(t=>t.uuid),Ph={instances:{}},Os=u.createSlice({name:"issueTypeFieldValuesAttachments",initialState:Ph,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Ph)),reducers:{initializeIssueTypeFieldValuesAttachments:Oe.initialize,addIssueTypeFieldValuesAttachment:Oe.addOne,addIssueTypeFieldValuesAttachments:Oe.addMany,setIssueTypeFieldValuesAttachment:Oe.setOne,setIssueTypeFieldValuesAttachments:Oe.setMany,updateIssueTypeFieldValuesAttachment:Oe.updateOne,updateIssueTypeFieldValuesAttachments:Oe.updateMany,deleteIssueTypeFieldValuesAttachment:Oe.deleteOne,deleteIssueTypeFieldValuesAttachments:Oe.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:Fh,addIssueTypeFieldValuesAttachment:_h,addIssueTypeFieldValuesAttachments:ta,setIssueTypeFieldValuesAttachment:Mh,setIssueTypeFieldValuesAttachments:gh,updateIssueTypeFieldValuesAttachment:wh,updateIssueTypeFieldValuesAttachments:Eh,deleteIssueTypeFieldValuesAttachment:Rh,deleteIssueTypeFieldValuesAttachments:sa}=Os.actions,vh=Os.reducer,Pe=b(t=>t.uuid),Vh={instances:{}},Ps=u.createSlice({name:"issueTypeFieldValues",initialState:Vh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Vh)),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:Bh,addIssueTypeFieldValues:zh,addIssueTypeFieldValuesMany:jh,setIssueTypeFieldValues:Ch,setIssueTypeFieldValuesMany:Dh,updateIssueTypeFieldValues:qh,updateIssueTypeFieldValuesMany:$h,deleteIssueTypeFieldValues:Uh,deleteIssueTypeFieldValuesMany:kh}=Ps.actions,Lh=Ps.reducer,Fe=b(t=>t.uuid),Hh={instances:{}},Fs=u.createSlice({name:"issueTypeIdentifiers",initialState:Hh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Hh)),reducers:{initializeIssueTypeIdentifiers:Fe.initialize,addIssueTypeIdentifier:Fe.addOne,addIssueTypeIdentifiers:Fe.addMany,setIssueTypeIdentifier:Fe.setOne,setIssueTypeIdentifiers:Fe.setMany,updateIssueTypeIdentifier:Fe.updateOne,updateIssueTypeIdentifiers:Fe.updateMany,deleteIssueTypeIdentifier:Fe.deleteOne,deleteIssueTypeIdentifiers:Fe.deleteMany}}),{initializeIssueTypeIdentifiers:Gh,addIssueTypeIdentifier:Nh,addIssueTypeIdentifiers:Kh,setIssueTypeIdentifier:Wh,setIssueTypeIdentifiers:Xh,updateIssueTypeIdentifier:Yh,updateIssueTypeIdentifiers:Zh,deleteIssueTypeIdentifier:Jh,deleteIssueTypeIdentifiers:Qh}=Fs.actions,xh=Fs.reducer,_e=b(t=>t.uuid),ep={instances:{}},_s=u.createSlice({name:"issueTypeIdentifierValues",initialState:ep,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,ep)),reducers:{initializeIssueTypeIdentifierValues:_e.initialize,addIssueTypeIdentifierValue:_e.addOne,addIssueTypeIdentifierValues:_e.addMany,setIssueTypeIdentifierValue:_e.setOne,setIssueTypeIdentifierValues:_e.setMany,updateIssueTypeIdentifierValue:_e.updateOne,updateIssueTypeIdentifierValues:_e.updateMany,deleteIssueTypeIdentifierValue:_e.deleteOne,deleteIssueTypeIdentifierValues:_e.deleteMany}}),{initializeIssueTypeIdentifierValues:tp,addIssueTypeIdentifierValue:sp,addIssueTypeIdentifierValues:ip,setIssueTypeIdentifierValue:ap,setIssueTypeIdentifierValues:np,updateIssueTypeIdentifierValue:cp,updateIssueTypeIdentifierValues:rp,deleteIssueTypeIdentifierValue:dp,deleteIssueTypeIdentifierValues:up}=_s.actions,lp=_s.reducer,Me=b(t=>t.uuid),op={instances:{}},Ms=u.createSlice({name:"issueTypePriorities",initialState:op,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,op)),reducers:{initializeIssueTypePriorities:Me.initialize,addIssueTypePriority:Me.addOne,addIssueTypePriorities:Me.addMany,setIssueTypePriority:Me.setOne,setIssueTypePriorities:Me.setMany,updateIssueTypePriority:Me.updateOne,updateIssueTypePriorities:Me.updateMany,deleteIssueTypePriority:Me.deleteOne,deleteIssueTypePriorities:Me.deleteMany}}),{initializeIssueTypePriorities:hp,addIssueTypePriority:pp,addIssueTypePriorities:mp,setIssueTypePriority:yp,setIssueTypePriorities:fp,updateIssueTypePriority:Sp,updateIssueTypePriorities:Ap,deleteIssueTypePriority:Tp,deleteIssueTypePriorities:Ip}=Ms.actions,bp=Ms.reducer,ge=b(t=>t.uuid),Op={instances:{}},gs=u.createSlice({name:"issueTypes",initialState:Op,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Op)),reducers:{initializeIssueTypes:ge.initialize,addIssueType:ge.addOne,addIssueTypes:ge.addMany,setIssueType:ge.setOne,setIssueTypes:ge.setMany,updateIssueType:ge.updateOne,updateIssueTypes:ge.updateMany,deleteIssueType:ge.deleteOne,deleteIssueTypes:ge.deleteMany}}),{initializeIssueTypes:Pp,addIssueType:Fp,addIssueTypes:_p,setIssueType:Mp,setIssueTypes:gp,updateIssueType:wp,updateIssueTypes:Ep,deleteIssueType:Rp,deleteIssueTypes:vp}=gs.actions,Vp=gs.reducer,we=b(t=>t.uuid),Bp={instances:{}},ws=u.createSlice({name:"issueTypeStatuses",initialState:Bp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Bp)),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:zp,addIssueTypeStatus:jp,addIssueTypeStatuses:Cp,setIssueTypeStatus:Dp,setIssueTypeStatuses:qp,updateIssueTypeStatus:$p,updateIssueTypeStatuses:Up,deleteIssueTypeStatus:kp,deleteIssueTypeStatuses:Lp}=ws.actions,Hp=ws.reducer,Ee=b(t=>t.uuid),Gp={instances:{}},Es=u.createSlice({name:"issueUpdates",initialState:Gp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Gp)),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:Np,addIssueUpdate:ia,addIssueUpdates:aa,setIssueUpdate:Kp,setIssueUpdates:Wp,updateIssueUpdate:Xp,updateIssueUpdates:Yp,deleteIssueUpdate:na,deleteIssueUpdates:ca}=Es.actions,Zp=Es.reducer,Re=b(t=>t.uuid),Jp={instances:{}},Rs=u.createSlice({name:"organizationAccess",initialState:Jp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Jp)),reducers:{initializeOrganizationAccesses:Re.initialize,addOrganizationAccess:Re.addOne,addOrganizationAccesses:Re.addMany,setOrganizationAccess:Re.setOne,setOrganizationAccesses:Re.setMany,updateOrganizationAccess:Re.updateOne,updateOrganizationAccesses:Re.updateMany,deleteOrganizationAccess:Re.deleteOne,deleteOrganizationAccesses:Re.deleteMany}}),{initializeOrganizationAccesses:Qp,addOrganizationAccess:xp,addOrganizationAccesses:em,setOrganizationAccess:tm,setOrganizationAccesses:sm,updateOrganizationAccess:im,updateOrganizationAccesses:am,deleteOrganizationAccess:nm,deleteOrganizationAccesses:cm}=Rs.actions,rm=Rs.reducer,ve=b(t=>t.uuid),dm={instances:{}},vs=u.createSlice({name:"organizations",initialState:dm,extraReducers:t=>t.addMatcher(u.isAnyOf(T),e=>Object.assign(e,dm)),reducers:{initializeOrganizations:ve.initialize,setOrganizations:ve.setMany,setOrganization:ve.setOne,addOrganizations:ve.addMany,addOrganization:ve.addOne,updateOrganizations:ve.updateMany,updateOrganization:ve.updateOne,deleteOrganization:ve.deleteOne,deleteOrganizations:ve.deleteMany}}),{initializeOrganizations:um,setOrganizations:lm,setOrganization:om,addOrganizations:hm,addOrganization:pm,updateOrganizations:mm,updateOrganization:ym,deleteOrganization:fm,deleteOrganizations:Sm}=vs.actions,Am=vs.reducer,Tm=(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}}}}},Im={deletedRequests:[],latestRetryTime:0},Vs=u.createSlice({name:"outbox",initialState:Im,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Im)),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 Tm(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}}}),{enqueueRequest:bm,markForDeletion:B_,markAsDeleted:Om,_setLatestRetryTime:Pm}=Vs.actions,Fm=Vs.reducer,Ve=b(t=>t.uuid),_m={instances:{}},Bs=u.createSlice({name:"projectAccess",initialState:_m,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,_m)),reducers:{initializeProjectAccesses:Ve.initialize,addProjectAccess:Ve.addOne,addProjectAccesses:Ve.addMany,setProjectAccess:Ve.setOne,setProjectAccesses:Ve.setMany,updateProjectAccess:Ve.updateOne,updateProjectAccesses:Ve.updateMany,deleteProjectAccess:Ve.deleteOne,deleteProjectAccesses:Ve.deleteMany}}),{initializeProjectAccesses:Mm,addProjectAccess:gm,addProjectAccesses:wm,setProjectAccess:Em,setProjectAccesses:Rm,updateProjectAccess:vm,updateProjectAccesses:Vm,deleteProjectAccess:Bm,deleteProjectAccesses:zm}=Bs.actions,jm=Bs.reducer,Be=b(t=>t.uuid),Cm={instances:{}},zs=u.createSlice({name:"projectAttachments",initialState:Cm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Cm)),reducers:{initializeProjectAttachments:Be.initialize,addProjectAttachment:Be.addOne,addProjectAttachments:Be.addMany,setProjectAttachment:Be.setOne,setProjectAttachments:Be.setMany,updateProjectAttachment:Be.updateOne,updateProjectAttachments:Be.updateMany,deleteProjectAttachment:Be.deleteOne,deleteProjectAttachments:Be.deleteMany}}),{initializeProjectAttachments:Dm,addProjectAttachment:qm,addProjectAttachments:$m,setProjectAttachment:Um,setProjectAttachments:km,updateProjectAttachment:Lm,updateProjectAttachments:Hm,deleteProjectAttachment:Gm,deleteProjectAttachments:Nm}=zs.actions,Km=zs.reducer,ze=b(t=>t.uuid),Wm={instances:{}},js=u.createSlice({name:"projectComments",initialState:Wm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Wm)),reducers:{initializeProjectComments:ze.initialize,addProjectComment:ze.addOne,addProjectComments:ze.addMany,setProjectComment:ze.setOne,setProjectComments:ze.setMany,updateProjectComment:ze.updateOne,updateProjectComments:ze.updateMany,deleteProjectComment:ze.deleteOne,deleteProjectComments:ze.deleteMany}}),{initializeProjectComments:Xm,addProjectComment:Ym,addProjectComments:Zm,setProjectComment:Jm,setProjectComments:Qm,updateProjectComment:xm,updateProjectComments:ey,deleteProjectComment:ty,deleteProjectComments:sy}=js.actions,iy=js.reducer,je=b(t=>t.uuid),ay={instances:{}},Cs=u.createSlice({name:"projectFiles",initialState:ay,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,ay)),reducers:{initializeProjectFiles:je.initialize,setProjectFile:je.setOne,setProjectFiles:je.setMany,addProjectFile:je.addOne,addProjectFiles:je.addMany,updateProjectFile:je.updateOne,updateProjectFiles:je.updateMany,deleteProjectFile:je.deleteOne,deleteProjectFiles:je.deleteMany}}),{initializeProjectFiles:ny,setProjectFile:cy,setProjectFiles:ry,addProjectFile:dy,addProjectFiles:uy,updateProjectFile:ly,updateProjectFiles:oy,deleteProjectFile:hy,deleteProjectFiles:py}=Cs.actions,my=Cs.reducer,Ce=b(t=>t.uuid),yy={instances:{}},Ds=u.createSlice({name:"projects",initialState:yy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,yy)),reducers:{initializeProjects:Ce.initialize,setProjects:Ce.setMany,setProject:Ce.setOne,addProjects:Ce.addMany,addProject:Ce.addOne,updateProjects:Ce.updateMany,updateProject:Ce.updateOne,deleteProject:Ce.deleteOne,deleteProjects:Ce.deleteMany}}),{initializeProjects:fy,setProjects:Sy,setProject:Ay,addProjects:Ty,addProject:Iy,updateProjects:by,updateProject:Oy,deleteProject:Py,deleteProjects:Fy}=Ds.actions,_y=Ds.reducer,De=b(({uuid:t})=>t),My={instances:{}},qs=u.createSlice({name:"procedureInitiatives",initialState:My,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,My)),reducers:{initializeProcedureInitiatives:De.initialize,addProcedureInitiative:De.addOne,addProcedureInitiatives:De.addMany,setProcedureInitiative:De.setOne,setProcedureInitiatives:De.setMany,updateProcedureInitiative:De.updateOne,updateProcedureInitiatives:De.updateMany,deleteProcedureInitiative:De.deleteOne,deleteProcedureInitiatives:De.deleteMany}}),{initializeProcedureInitiatives:gy,addProcedureInitiative:wy,addProcedureInitiatives:Ey,setProcedureInitiative:Ry,setProcedureInitiatives:vy,updateProcedureInitiative:Vy,updateProcedureInitiatives:By,deleteProcedureInitiative:zy,deleteProcedureInitiatives:jy}=qs.actions,Cy=qs.reducer,qe=b(({uuid:t})=>t),Dy={instances:{}},$s=u.createSlice({name:"procedures",initialState:Dy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Dy)),reducers:{initializeProcedures:qe.initialize,addProcedure:qe.addOne,addProcedures:qe.addMany,setProcedure:qe.setOne,setProcedures:qe.setMany,updateProcedure:qe.updateOne,updateProcedures:qe.updateMany,deleteProcedure:qe.deleteOne,deleteProcedures:qe.deleteMany}}),{initializeProcedures:qy,addProcedure:$y,addProcedures:It,setProcedure:Uy,setProcedures:ky,updateProcedure:Ly,updateProcedures:Hy,deleteProcedure:Gy,deleteProcedures:bt}=$s.actions,Ny=$s.reducer,$e=b(t=>t.uuid),Ky={instances:{}},Us=u.createSlice({name:"procedureStepAssignees",initialState:Ky,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Ky)),reducers:{initializeProcedureStepAssignees:$e.initialize,addProcedureStepAssignee:$e.addOne,addProcedureStepAssignees:$e.addMany,setProcedureStepAssignee:$e.setOne,setProcedureStepAssignees:$e.setMany,updateProcedureStepAssignee:$e.updateOne,updateProcedureStepAssignees:$e.updateMany,deleteProcedureStepAssignee:$e.deleteOne,deleteProcedureStepAssignees:$e.deleteMany}}),{initializeProcedureStepAssignees:Wy,addProcedureStepAssignee:Xy,addProcedureStepAssignees:Yy,setProcedureStepAssignee:Zy,setProcedureStepAssignees:Jy,updateProcedureStepAssignee:Qy,updateProcedureStepAssignees:xy,deleteProcedureStepAssignee:ef,deleteProcedureStepAssignees:tf}=Us.actions,sf=Us.reducer,Ue=b(t=>t.uuid),af={instances:{}},ks=u.createSlice({name:"procedureStepComments",initialState:af,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,af)),reducers:{initializeProcedureStepComments:Ue.initialize,addProcedureStepComment:Ue.addOne,addProcedureStepComments:Ue.addMany,setProcedureStepComment:Ue.setOne,setProcedureStepComments:Ue.setMany,updateProcedureStepComment:Ue.updateOne,updateProcedureStepComments:Ue.updateMany,deleteProcedureStepComment:Ue.deleteOne,deleteProcedureStepComments:Ue.deleteMany}}),{initializeProcedureStepComments:nf,addProcedureStepComment:cf,addProcedureStepComments:rf,setProcedureStepComment:df,setProcedureStepComments:uf,updateProcedureStepComment:lf,updateProcedureStepComments:of,deleteProcedureStepComment:hf,deleteProcedureStepComments:pf}=ks.actions,mf=ks.reducer,ke=b(t=>t.uuid),yf={instances:{}},Ls=u.createSlice({name:"procedureStepDefaultAssignees",initialState:yf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,yf)),reducers:{initializeProcedureStepDefaultAssignees:ke.initialize,addProcedureStepDefaultAssignee:ke.addOne,addProcedureStepDefaultAssignees:ke.addMany,setProcedureStepDefaultAssignee:ke.setOne,setProcedureStepDefaultAssignees:ke.setMany,updateProcedureStepDefaultAssignee:ke.updateOne,updateProcedureStepDefaultAssignees:ke.updateMany,deleteProcedureStepDefaultAssignee:ke.deleteOne,deleteProcedureStepDefaultAssignees:ke.deleteMany}}),{initializeProcedureStepDefaultAssignees:ff,addProcedureStepDefaultAssignee:Sf,addProcedureStepDefaultAssignees:Af,setProcedureStepDefaultAssignee:Tf,setProcedureStepDefaultAssignees:If,updateProcedureStepDefaultAssignee:bf,updateProcedureStepDefaultAssignees:Of,deleteProcedureStepDefaultAssignee:Pf,deleteProcedureStepDefaultAssignees:Ff}=Ls.actions,_f=Ls.reducer,Le=b(t=>t.uuid),Mf={instances:{}},Hs=u.createSlice({name:"procedureStepDefaultReviewers",initialState:Mf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Mf)),reducers:{initializeProcedureStepDefaultReviewers:Le.initialize,addProcedureStepDefaultReviewer:Le.addOne,addProcedureStepDefaultReviewers:Le.addMany,setProcedureStepDefaultReviewer:Le.setOne,setProcedureStepDefaultReviewers:Le.setMany,updateProcedureStepDefaultReviewer:Le.updateOne,updateProcedureStepDefaultReviewers:Le.updateMany,deleteProcedureStepDefaultReviewer:Le.deleteOne,deleteProcedureStepDefaultReviewers:Le.deleteMany}}),{initializeProcedureStepDefaultReviewers:gf,addProcedureStepDefaultReviewer:wf,addProcedureStepDefaultReviewers:Ef,setProcedureStepDefaultReviewer:Rf,setProcedureStepDefaultReviewers:vf,updateProcedureStepDefaultReviewer:Vf,updateProcedureStepDefaultReviewers:Bf,deleteProcedureStepDefaultReviewer:zf,deleteProcedureStepDefaultReviewers:jf}=Hs.actions,Cf=Hs.reducer,He=b(t=>t.uuid),Df={instances:{}},Gs=u.createSlice({name:"procedureStepEvents",initialState:Df,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,Df)),reducers:{initializeProcedureStepEvents:He.initialize,addProcedureStepEvent:He.addOne,addProcedureStepEvents:He.addMany,setProcedureStepEvent:He.setOne,setProcedureStepEvents:He.setMany,updateProcedureStepEvent:He.updateOne,updateProcedureStepEvents:He.updateMany,deleteProcedureStepEvent:He.deleteOne,deleteProcedureStepEvents:He.deleteMany}}),{initializeProcedureStepEvents:qf,addProcedureStepEvent:$f,addProcedureStepEvents:Uf,setProcedureStepEvent:kf,setProcedureStepEvents:Lf,updateProcedureStepEvent:Hf,updateProcedureStepEvents:Gf,deleteProcedureStepEvent:Nf,deleteProcedureStepEvents:Kf}=Gs.actions,Wf=Gs.reducer,Ge=b(t=>t.uuid),Xf={instances:{}},Ns=u.createSlice({name:"procedureStepFieldsAttachments",initialState:Xf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Xf)),reducers:{initializeProcedureStepFieldsAttachments:Ge.initialize,addProcedureStepFieldsAttachment:Ge.addOne,addProcedureStepFieldsAttachments:Ge.addMany,setProcedureStepFieldsAttachment:Ge.setOne,setProcedureStepFieldsAttachments:Ge.setMany,updateProcedureStepFieldsAttachment:Ge.updateOne,updateProcedureStepFieldsAttachments:Ge.updateMany,deleteProcedureStepFieldsAttachment:Ge.deleteOne,deleteProcedureStepFieldsAttachments:Ge.deleteMany}}),{initializeProcedureStepFieldsAttachments:Yf,addProcedureStepFieldsAttachment:Zf,addProcedureStepFieldsAttachments:ra,setProcedureStepFieldsAttachment:Jf,setProcedureStepFieldsAttachments:Qf,updateProcedureStepFieldsAttachment:xf,updateProcedureStepFieldsAttachments:eS,deleteProcedureStepFieldsAttachment:tS,deleteProcedureStepFieldsAttachments:da}=Ns.actions,sS=Ns.reducer,Ne=b(t=>t.uuid),iS={instances:{}},Ks=u.createSlice({name:"procedureStepFields",initialState:iS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,iS)),reducers:{initializeProcedureStepFields:Ne.initialize,addProcedureStepFields:Ne.addOne,addProcedureStepFieldsMany:Ne.addMany,setProcedureStepFields:Ne.setOne,setProcedureStepFieldsMany:Ne.setMany,updateProcedureStepFields:Ne.updateOne,updateProcedureStepFieldsMany:Ne.updateMany,deleteProcedureStepFields:Ne.deleteOne,deleteProcedureStepFieldsMany:Ne.deleteMany}}),{initializeProcedureStepFields:aS,addProcedureStepFields:nS,addProcedureStepFieldsMany:cS,setProcedureStepFields:rS,setProcedureStepFieldsMany:dS,updateProcedureStepFields:uS,updateProcedureStepFieldsMany:lS,deleteProcedureStepFields:oS,deleteProcedureStepFieldsMany:hS}=Ks.actions,pS=Ks.reducer,Ke=b(t=>t.uuid),mS={instances:{}},Ws=u.createSlice({name:"procedureStepFieldValuesAttachments",initialState:mS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,mS)),reducers:{initializeProcedureStepFieldValuesAttachments:Ke.initialize,addProcedureStepFieldValuesAttachment:Ke.addOne,addProcedureStepFieldValuesAttachments:Ke.addMany,setProcedureStepFieldValuesAttachment:Ke.setOne,setProcedureStepFieldValuesAttachments:Ke.setMany,updateProcedureStepFieldValuesAttachment:Ke.updateOne,updateProcedureStepFieldValuesAttachments:Ke.updateMany,deleteProcedureStepFieldValuesAttachment:Ke.deleteOne,deleteProcedureStepFieldValuesAttachments:Ke.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:yS,addProcedureStepFieldValuesAttachment:fS,addProcedureStepFieldValuesAttachments:ua,setProcedureStepFieldValuesAttachment:SS,setProcedureStepFieldValuesAttachments:AS,updateProcedureStepFieldValuesAttachment:TS,updateProcedureStepFieldValuesAttachments:IS,deleteProcedureStepFieldValuesAttachment:bS,deleteProcedureStepFieldValuesAttachments:la}=Ws.actions,OS=Ws.reducer,We=b(t=>t.uuid),PS={instances:{}},Xs=u.createSlice({name:"procedureStepFieldValuesReviews",initialState:PS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,PS)),reducers:{initializeProcedureStepFieldValuesReviews:We.initialize,addProcedureStepFieldValuesReview:We.addOne,addProcedureStepFieldValuesReviews:We.addMany,setProcedureStepFieldValuesReview:We.setOne,setProcedureStepFieldValuesReviews:We.setMany,updateProcedureStepFieldValuesReview:We.updateOne,updateProcedureStepFieldValuesReviews:We.updateMany,deleteProcedureStepFieldValuesReview:We.deleteOne,deleteProcedureStepFieldValuesReviews:We.deleteMany}}),{initializeProcedureStepFieldValuesReviews:FS,addProcedureStepFieldValuesReview:_S,addProcedureStepFieldValuesReviews:oa,setProcedureStepFieldValuesReview:MS,setProcedureStepFieldValuesReviews:gS,updateProcedureStepFieldValuesReview:wS,updateProcedureStepFieldValuesReviews:ES,deleteProcedureStepFieldValuesReview:RS,deleteProcedureStepFieldValuesReviews:ha}=Xs.actions,vS=Xs.reducer,Xe=b(t=>t.uuid),VS={instances:{}},Ys=u.createSlice({name:"procedureStepFieldValues",initialState:VS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,VS)),reducers:{initializeProcedureStepFieldValues:Xe.initialize,addProcedureStepFieldValues:Xe.addOne,addProcedureStepFieldValuesMany:Xe.addMany,setProcedureStepFieldValues:Xe.setOne,setProcedureStepFieldValuesMany:Xe.setMany,updateProcedureStepFieldValues:Xe.updateOne,updateProcedureStepFieldValuesMany:Xe.updateMany,deleteProcedureStepFieldValues:Xe.deleteOne,deleteProcedureStepFieldValuesMany:Xe.deleteMany}}),{initializeProcedureStepFieldValues:BS,addProcedureStepFieldValues:zS,addProcedureStepFieldValuesMany:jS,setProcedureStepFieldValues:CS,setProcedureStepFieldValuesMany:DS,updateProcedureStepFieldValues:qS,updateProcedureStepFieldValuesMany:$S,deleteProcedureStepFieldValues:US,deleteProcedureStepFieldValuesMany:kS}=Ys.actions,LS=Ys.reducer,Ye=b(t=>t.uuid),HS={instances:{}},Zs=u.createSlice({name:"procedureStepReviewers",initialState:HS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,HS)),reducers:{initializeProcedureStepReviewers:Ye.initialize,addProcedureStepReviewer:Ye.addOne,addProcedureStepReviewers:Ye.addMany,setProcedureStepReviewer:Ye.setOne,setProcedureStepReviewers:Ye.setMany,updateProcedureStepReviewer:Ye.updateOne,updateProcedureStepReviewers:Ye.updateMany,deleteProcedureStepReviewer:Ye.deleteOne,deleteProcedureStepReviewers:Ye.deleteMany}}),{initializeProcedureStepReviewers:GS,addProcedureStepReviewer:NS,addProcedureStepReviewers:KS,setProcedureStepReviewer:WS,setProcedureStepReviewers:XS,updateProcedureStepReviewer:YS,updateProcedureStepReviewers:ZS,deleteProcedureStepReviewer:JS,deleteProcedureStepReviewers:QS}=Zs.actions,xS=Zs.reducer,Ze=b(t=>t.uuid),eA={instances:{}},Js=u.createSlice({name:"procedureSteps",initialState:eA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,eA)),reducers:{initializeProcedureSteps:Ze.initialize,setProcedureStep:Ze.setOne,setProcedureSteps:Ze.setMany,addProcedureStep:Ze.addOne,addProcedureSteps:Ze.addMany,updateProcedureStep:Ze.updateOne,updateProcedureSteps:Ze.updateMany,deleteProcedureStep:Ze.deleteOne,deleteProcedureSteps:Ze.deleteMany}}),{initializeProcedureSteps:tA,setProcedureStep:sA,setProcedureSteps:iA,addProcedureStep:aA,addProcedureSteps:nA,updateProcedureStep:cA,updateProcedureSteps:rA,deleteProcedureStep:dA,deleteProcedureSteps:uA}=Js.actions,lA=Js.reducer,Je=b(({uuid:t})=>t),oA={instances:{}},Qs=u.createSlice({name:"procedureTypeAttachments",initialState:oA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,oA)),reducers:{initializeProcedureTypeAttachments:Je.initialize,addProcedureTypeAttachment:Je.addOne,addProcedureTypeAttachments:Je.addMany,setProcedureTypeAttachment:Je.setOne,setProcedureTypeAttachments:Je.setMany,updateProcedureTypeAttachment:Je.updateOne,updateProcedureTypeAttachments:Je.updateMany,deleteProcedureTypeAttachment:Je.deleteOne,deleteProcedureTypeAttachments:Je.deleteMany}}),{initializeProcedureTypeAttachments:hA,addProcedureTypeAttachment:pA,addProcedureTypeAttachments:mA,setProcedureTypeAttachment:yA,setProcedureTypeAttachments:fA,updateProcedureTypeAttachment:SA,updateProcedureTypeAttachments:AA,deleteProcedureTypeAttachment:TA,deleteProcedureTypeAttachments:IA}=Qs.actions,bA=Qs.reducer,Qe=b(({uuid:t})=>t),OA={instances:{}},xs=u.createSlice({name:"procedureTypeFieldsAttachments",initialState:OA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,OA)),reducers:{initializeProcedureTypeFieldsAttachments:Qe.initialize,addProcedureTypeFieldsAttachment:Qe.addOne,addProcedureTypeFieldsAttachments:Qe.addMany,setProcedureTypeFieldsAttachment:Qe.setOne,setProcedureTypeFieldsAttachments:Qe.setMany,updateProcedureTypeFieldsAttachment:Qe.updateOne,updateProcedureTypeFieldsAttachments:Qe.updateMany,deleteProcedureTypeFieldsAttachment:Qe.deleteOne,deleteProcedureTypeFieldsAttachments:Qe.deleteMany}}),{initializeProcedureTypeFieldsAttachments:PA,addProcedureTypeFieldsAttachment:FA,addProcedureTypeFieldsAttachments:_A,setProcedureTypeFieldsAttachment:MA,setProcedureTypeFieldsAttachments:gA,updateProcedureTypeFieldsAttachment:wA,updateProcedureTypeFieldsAttachments:EA,deleteProcedureTypeFieldsAttachment:RA,deleteProcedureTypeFieldsAttachments:vA}=xs.actions,VA=xs.reducer,xe=b(({uuid:t})=>t),BA={instances:{}},ei=u.createSlice({name:"procedureTypeFields",initialState:BA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,BA)),reducers:{initializeProcedureTypeFields:xe.initialize,addProcedureTypeFields:xe.addOne,addProcedureTypeFieldsMany:xe.addMany,setProcedureTypeFields:xe.setOne,setProcedureTypeFieldsMany:xe.setMany,updateProcedureTypeFields:xe.updateOne,updateProcedureTypeFieldsMany:xe.updateMany,deleteProcedureTypeFields:xe.deleteOne,deleteProcedureTypeFieldsMany:xe.deleteMany}}),{initializeProcedureTypeFields:zA,addProcedureTypeFields:jA,addProcedureTypeFieldsMany:CA,setProcedureTypeFields:DA,setProcedureTypeFieldsMany:qA,updateProcedureTypeFields:$A,updateProcedureTypeFieldsMany:UA,deleteProcedureTypeFields:kA,deleteProcedureTypeFieldsMany:LA}=ei.actions,HA=ei.reducer,et=b(({uuid:t})=>t),GA={instances:{}},ti=u.createSlice({name:"procedureFieldValuesAttachments",initialState:GA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,GA)),reducers:{initializeProcedureFieldValuesAttachments:et.initialize,addProcedureFieldValuesAttachment:et.addOne,addProcedureFieldValuesAttachments:et.addMany,setProcedureFieldValuesAttachment:et.setOne,setProcedureFieldValuesAttachments:et.setMany,updateProcedureFieldValuesAttachment:et.updateOne,updateProcedureFieldValuesAttachments:et.updateMany,deleteProcedureFieldValuesAttachment:et.deleteOne,deleteProcedureFieldValuesAttachments:et.deleteMany}}),{initializeProcedureFieldValuesAttachments:NA,addProcedureFieldValuesAttachment:KA,addProcedureFieldValuesAttachments:pa,setProcedureFieldValuesAttachment:WA,setProcedureFieldValuesAttachments:XA,updateProcedureFieldValuesAttachment:YA,updateProcedureFieldValuesAttachments:ZA,deleteProcedureFieldValuesAttachment:JA,deleteProcedureFieldValuesAttachments:ma}=ti.actions,QA=ti.reducer,tt=b(({uuid:t})=>t),xA={instances:{}},si=u.createSlice({name:"procedureFieldValues",initialState:xA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,xA)),reducers:{initializeProcedureFieldValues:tt.initialize,addProcedureFieldValues:tt.addOne,addProcedureFieldValuesMany:tt.addMany,setProcedureFieldValues:tt.setOne,setProcedureFieldValuesMany:tt.setMany,updateProcedureFieldValues:tt.updateOne,updateProcedureFieldValuesMany:tt.updateMany,deleteProcedureFieldValues:tt.deleteOne,deleteProcedureFieldValuesMany:tt.deleteMany}}),{initializeProcedureFieldValues:eT,addProcedureFieldValues:tT,addProcedureFieldValuesMany:sT,setProcedureFieldValues:iT,setProcedureFieldValuesMany:aT,updateProcedureFieldValues:nT,updateProcedureFieldValuesMany:cT,deleteProcedureFieldValues:rT,deleteProcedureFieldValuesMany:dT}=si.actions,uT=si.reducer,st=b(t=>t.uuid),lT={instances:{}},ii=u.createSlice({name:"procedureTypes",initialState:lT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,lT)),reducers:{initializeProcedureTypes:st.initialize,addProcedureType:st.addOne,addProcedureTypes:st.addMany,setProcedureType:st.setOne,setProcedureTypes:st.setMany,updateProcedureType:st.updateOne,updateProcedureTypes:st.updateMany,deleteProcedureType:st.deleteOne,deleteProcedureTypes:st.deleteMany}}),{initializeProcedureTypes:oT,addProcedureType:hT,addProcedureTypes:pT,setProcedureType:mT,setProcedureTypes:yT,updateProcedureType:fT,updateProcedureTypes:ST,deleteProcedureType:AT,deleteProcedureTypes:TT}=ii.actions,IT=ii.reducer,z_={isRehydrated:!1},ai=u.createSlice({name:"rehydrated",initialState:z_,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:j_}=ai.actions,bT=ai.reducer,it=b(t=>t.uuid),OT={instances:{}},ni=u.createSlice({name:"reports",initialState:OT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,R,O),e=>Object.assign(e,OT)),reducers:{initializeReports:it.initialize,addReport:it.addOne,addReports:it.addMany,setReport:it.setOne,setReports:it.setMany,updateReport:it.updateOne,updateReports:it.updateMany,deleteReport:it.deleteOne,deleteReports:it.deleteMany}}),{initializeReports:PT,addReport:FT,addReports:_T,setReport:MT,setReports:gT,updateReport:wT,updateReports:ET,deleteReport:RT,deleteReports:vT}=ni.actions,VT=ni.reducer,at=b(t=>t.uuid),BT={instances:{}},ci=u.createSlice({name:"teamMemberships",initialState:BT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,BT)),reducers:{initializeTeamMemberships:at.initialize,addTeamMembership:at.addOne,addTeamMemberships:at.addMany,setTeamMembership:at.setOne,setTeamMemberships:at.setMany,updateTeamMembership:at.updateOne,updateTeamMemberships:at.updateMany,deleteTeamMembership:at.deleteOne,deleteTeamMemberships:at.deleteMany}}),{initializeTeamMemberships:zT,addTeamMembership:jT,addTeamMemberships:CT,setTeamMembership:DT,setTeamMemberships:qT,updateTeamMembership:$T,updateTeamMemberships:UT,deleteTeamMembership:kT,deleteTeamMemberships:LT}=ci.actions,HT=ci.reducer,nt=b(t=>t.uuid),GT={instances:{}},ri=u.createSlice({name:"teams",initialState:GT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,GT)),reducers:{initializeTeams:nt.initialize,addTeam:nt.addOne,addTeams:nt.addMany,setTeam:nt.setOne,setTeams:nt.setMany,updateTeam:nt.updateOne,updateTeams:nt.updateMany,deleteTeam:nt.deleteOne,deleteTeams:nt.deleteMany}}),{initializeTeams:NT,addTeam:KT,addTeams:WT,setTeam:XT,setTeams:YT,updateTeam:ZT,updateTeams:JT,deleteTeam:QT,deleteTeams:xT}=ri.actions,eI=ri.reducer,ct=b(t=>t.id),tI={instances:{},currentUser:null},di=u.createSlice({name:"users",initialState:tI,extraReducers:t=>t.addCase(T,e=>Object.assign(e,tI)).addCase(O,e=>Object.assign(e,{...e,instances:[]})),reducers:{initializeUsers:ct.initialize,setUsers:ct.setMany,setUser:ct.setOne,addUsers:ct.addMany,addUser:ct.addOne,updateUsers:ct.updateMany,updateUser:ct.updateOne,deleteUser:ct.deleteOne,deleteUsers:ct.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:sI,setUsers:iI,setUser:aI,addUsers:nI,addUser:ya,updateUsers:cI,updateUser:rI,deleteUser:fa,deleteUsers:dI,setCurrentUser:C_,setCurrentUserProfile:D_}=di.actions,uI=di.reducer,Sa={[Vs.name]:Fm,[Mt.name]:sd},q_=u.combineReducers(Sa),lI={...Sa,[Ht.name]:hc,[qt.name]:Dn,[$t.name]:Xn,[Ut.name]:ic,[Jt.name]:Lr,[Gt.name]:bc,[As.name]:Ho,[ys.name]:ho,[gs.name]:Vp,[Ts.name]:eh,[vs.name]:Am,[Ds.name]:_y,[zs.name]:Km,[js.name]:iy,[Bs.name]:jm,[Rs.name]:rm,[Cs.name]:my,[ii.name]:IT,[qs.name]:Cy,[$s.name]:Ny,[ei.name]:HA,[si.name]:uT,[Qs.name]:bA,[xs.name]:VA,[ti.name]:QA,[Ns.name]:sS,[Ks.name]:pS,[Ws.name]:OS,[Ys.name]:LS,[Xs.name]:vS,[Us.name]:sf,[ks.name]:mf,[Ls.name]:_f,[Hs.name]:Cf,[Gs.name]:Wf,[Zs.name]:xS,[Js.name]:lA,[ai.name]:bT,[ni.name]:VT,[rs.name]:Hu,[ns.name]:Pu,[as.name]:mu,[cs.name]:Vu,[ds.name]:Qu,[us.name]:rl,[ls.name]:Al,[os.name]:gl,[hs.name]:Cl,[ss.name]:Kd,[is.name]:iu,[di.name]:uI,[ts.name]:jd,[es.name]:Fd,[xt.name]:pd,[ri.name]:eI,[Dt.name]:wn,[Ss.name]:zo,[fs.name]:Po,[Es.name]:Zp,[ps.name]:Wl,[ms.name]:so,[bs.name]:Oh,[Ps.name]:Lh,[Is.name]:oh,[Os.name]:vh,[Fs.name]:xh,[_s.name]:lp,[Ms.name]:bp,[ws.name]:Hp,[Kt.name]:Hc,[Xt.name]:ur,[Nt.name]:Vc,[Wt.name]:Qc,[Yt.name]:Ir,[Zt.name]:vr,[Qt.name]:xr,[ci.name]:HT},$_=u.combineReducers(lI),m=(t=>(...e)=>i=>t(i,...e)),Aa=t=>t.agents.instances,U_=u.createSelector([Aa],t=>Object.values(t)),k_=m(u.createSelector([Aa,(t,e)=>e],(t,e)=>t[e])),oI=t=>t.assetAttachments.instances,Ta=u.createSelector([oI],t=>Object.values(t)),hI=t=>e=>e.assetAttachments.instances[t],pI=m(u.createSelector([Ta,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),mI=m(u.createSelector([Ta,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>e===i)))),yI=t=>t.assetCommentAttachments.instances,Ia=u.createSelector([yI],t=>Object.values(t)),fI=t=>e=>e.assetCommentAttachments.instances[t],SI=m(u.createSelector([Ia,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),L_=m(u.createSelector([Ia,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_comment:i})=>e===i)))),AI=t=>t.assetComments.instances,ui=u.createSelector([AI],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),TI=t=>e=>e.assetComments.instances[t],II=m(u.createSelector([ui,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),bI=m(u.createSelector([ui,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),OI=m(u.createSelector([ui,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.asset)))})),PI=t=>t.assets.instances,li=u.createSelector([PI],t=>l.fallbackToEmptyArray(Object.values(t))),H_=m(u.createSelector([li,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),FI=m(u.createSelector([li,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),_I=t=>e=>e.assets.instances[t],MI=m(u.createSelector([li,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gI=t=>t.assetTypeAttachments.instances,ba=u.createSelector([gI],t=>Object.values(t)),wI=t=>e=>e.assetTypeAttachments.instances[t],EI=m(u.createSelector([ba,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),RI=m(u.createSelector([ba,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_type:i})=>e===i)))),vI=t=>t.assetTypeFieldValuesAttachments.instances,Oa=u.createSelector([vI],t=>Object.values(t)),VI=t=>e=>e.assetTypeFieldValuesAttachments.instances[t],BI=m(u.createSelector([Oa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),zI=m(u.createSelector([Oa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),jI=t=>t.assetTypeFields.instances,gt=u.createSelector([jI],t=>Object.values(t)),G_=m(u.createSelector([gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),N_=m(u.createSelector([gt,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).toSorted(l.submittedAtModelSortFn).pop())),CI=t=>e=>e.assetTypeFields.instances[t],DI=m(u.createSelector([gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),qI=t=>t.assetTypeFieldValues.instances,oi=u.createSelector([qI],t=>Object.values(t)),K_=m(u.createSelector([oi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),W_=m(u.createSelector([gt,oi,(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)))})),$I=t=>e=>e.assetTypeFieldValues.instances[t],UI=m(u.createSelector([oi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),kI=t=>t.assetTypeFieldsAttachments.instances,Pa=u.createSelector([kI],t=>Object.values(t)),X_=m(u.createSelector([Pa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),LI=t=>e=>e.assetTypeFieldsAttachments.instances[t],HI=m(u.createSelector([Pa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),GI=t=>t.assetTypeIdentifiers.instances,Fa=u.createSelector([GI],t=>Object.values(t)),NI=t=>e=>e.assetTypeIdentifiers.instances[t],KI=m(u.createSelector([Fa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Y_=m(u.createSelector([Fa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),WI=t=>t.assetTypeIdentifierValues.instances,hi=u.createSelector([WI],t=>Object.values(t)),XI=t=>e=>e.assetTypeIdentifierValues.instances[t],YI=m(u.createSelector([hi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Z_=m(u.createSelector([hi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),J_=m(u.createSelector([hi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type_identifier===e)))),ZI=t=>t.assetTypes.instances,_a=u.createSelector([ZI],t=>Object.values(t)),JI=t=>e=>e.assetTypes.instances[t],QI=m(u.createSelector([_a,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Q_=m(u.createSelector([_a,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),xI=t=>t.assetTypeStatuses.instances,Ma=u.createSelector([xI],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.assetTypeStatusSortFn))),eb=t=>e=>e.assetTypeStatuses.instances[t],tb=m(u.createSelector([Ma,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),x_=m(u.createSelector([Ma,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),eM=t=>t.auth.accessToken,tM=t=>t.auth.isLoggedIn,sb=t=>t.documentAttachments.instances,ga=u.createSelector([sb],t=>Object.values(t)),ib=t=>e=>e.documentAttachments.instances[t],ab=m(u.createSelector([ga,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),sM=m(u.createSelector([ga,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({document:i})=>e===i)))),wa=t=>t.documents.instances,pi=u.createSelector([wa],t=>Object.values(t)),nb=t=>e=>e.documents.instances[t],cb=m(u.createSelector([pi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),iM=m(u.createSelector([pi,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),aM=m(u.createSelector([pi,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),rb=m(u.createSelector([wa,(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)})),db=t=>t.emailDomains.instances,Ea=u.createSelector([db],t=>Object.values(t)),ub=t=>e=>e.emailDomains.instances[t],lb=m(u.createSelector([Ea,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),nM=m(u.createSelector([Ea,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),ob=t=>t.formIdentifiers.instances,Ra=u.createSelector([ob],t=>Object.values(t)),hb=t=>e=>e.formIdentifiers.instances[t],pb=m(u.createSelector([Ra,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),cM=m(u.createSelector([Ra,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),mb=t=>t.formIdentifierValues.instances,mi=u.createSelector([mb],t=>Object.values(t)),yb=t=>e=>e.formIdentifierValues.instances[t],fb=m(u.createSelector([mi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),rM=m(u.createSelector([mi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),dM=m(u.createSelector([mi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_identifier===e)))),yi=t=>t.formRevisionAttachments.instances,Sb=u.createSelector([yi],t=>Object.values(t)),Ab=m(u.createSelector([yi,(t,e)=>e],(t,e)=>t[e])),Tb=m(u.createSelector([Sb,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),uM=m(u.createSelector([yi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.form_revision===e)))),Ib=t=>t.formRevisions.instances,fi=u.createSelector([Ib],t=>Object.values(t)),bb=t=>e=>e.formRevisions.instances[t],Ob=m(u.createSelector([fi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),lM=m(u.createSelector([fi,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).toSorted(l.submittedAtModelSortFn).pop())),Pb=m(u.createSelector([fi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Fb=t=>t.forms.instances,va=u.createSelector([Fb],t=>Object.values(t)),_b=t=>e=>e.forms.instances[t],Mb=m(u.createSelector([va,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),oM=m(u.createSelector([va,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),gb=t=>t.formSubmissionCommentAttachments.instances,Va=u.createSelector([gb],t=>Object.values(t)),wb=t=>e=>e.formSubmissionCommentAttachments.instances[t],Eb=m(u.createSelector([Va,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),hM=m(u.createSelector([Va,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({form_submission_comment:i})=>e===i)))),Rb=t=>t.formSubmissionComments.instances,Si=u.createSelector([Rb],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),vb=t=>e=>e.formSubmissionComments.instances[t],Vb=m(u.createSelector([Si,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Bb=m(u.createSelector([Si,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),pM=m(u.createSelector([Si,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.form_submission)))})),Ba=t=>t.formSubmissionFieldValuesAttachments.instances,za=u.createSelector([Ba],t=>Object.values(t)),zb=m(u.createSelector([Ba,(t,e)=>e],(t,e)=>t[e])),ja=m(u.createSelector([za,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.uuid)))})),jb=m(u.createSelector([za,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Cb=t=>t.formSubmissionFieldValues.instances,Ca=u.createSelector([Cb],t=>Object.values(t)),Db=t=>e=>e.formSubmissionFieldValues.instances[t],qb=m(u.createSelector([Ca,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$b=m(u.createSelector([Ca,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),Ub=t=>t.formSubmissions.instances,C=u.createSelector([Ub],t=>Object.values(t)),kb=t=>e=>e.formSubmissions.instances[t],Lb=m(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Hb=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),mM=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({organization:i})=>i===e)))),yM=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),fM=m(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)))),SM=m(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)))),Gb=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),Nb=m(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>a&&i.has(a)))})),Kb=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),Wb=m(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>a&&i.has(a)))})),Xb=t=>t.formSubscribers.instances,Ai=u.createSelector([Xb],t=>Object.values(t)),Yb=t=>e=>e.formSubscribers.instances[t],Zb=m(u.createSelector([Ai,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Jb=m(u.createSelector([Ai,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),AM=m(u.createSelector([Ai,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.user===e)))),Qb=t=>t.geoImages.instances,Da=u.createSelector([Qb],t=>Object.values(t)),xb=t=>e=>e.geoImages.instances[t],eO=m(u.createSelector([Da,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),TM=m(u.createSelector([Da,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),tO=t=>t.issueAssociations.instances,Ot=u.createSelector([tO],t=>Object.values(t)),sO=t=>e=>e.issueAssociations.instances[t],iO=m(u.createSelector([Ot,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),aO=m(u.createSelector([Ot,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>i.has(a)))})),nO=m(u.createSelector([Ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),cO=m(u.createSelector([Ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),rO=m(u.createSelector([Ot,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),dO=t=>t.issueAttachments.instances,qa=u.createSelector([dO],t=>Object.values(t)),uO=m(u.createSelector([qa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>e===i)))),lO=t=>e=>e.issueAttachments.instances[t],oO=m(u.createSelector([qa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),hO=t=>t.issueCommentAttachments.instances,$a=u.createSelector([hO],t=>Object.values(t)),pO=t=>e=>e.issueCommentAttachments.instances[t],mO=m(u.createSelector([$a,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),IM=m(u.createSelector([$a,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_comment:i})=>e===i)))),Ua=t=>t.issueComments.instances,yO=t=>e=>e.issueComments.instances[t],fO=m(u.createSelector([Ua,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),bM=m(u.createSelector([Ua,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.issue===e)))),SO=t=>t.issues.instances,Ti=u.createSelector([SO],t=>Object.values(t)),AO=t=>e=>e.issues.instances[t],TO=m(u.createSelector([Ti,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),OM=m(u.createSelector([Ti,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),IO=m(u.createSelector([Ti,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),bO=t=>t.issueTypeAttachments.instances,ka=u.createSelector([bO],t=>Object.values(t)),OO=t=>e=>e.issueTypeAttachments.instances[t],PO=m(u.createSelector([ka,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),PM=m(u.createSelector([ka,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_type:i})=>e===i)))),FO=t=>t.issueTypeFieldValuesAttachments.instances,La=u.createSelector([FO],t=>Object.values(t)),_O=t=>e=>e.issueTypeFieldValuesAttachments.instances[t],MO=m(u.createSelector([La,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gO=m(u.createSelector([La,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),wO=t=>t.issueTypeFieldValues.instances,Ii=u.createSelector([wO],t=>Object.values(t)),FM=m(u.createSelector([Ii,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),EO=t=>e=>e.issueTypeFieldValues.instances[t],RO=m(u.createSelector([Ii,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),vO=t=>t.issueTypeFieldsAttachments.instances,Ha=u.createSelector([vO],t=>Object.values(t)),_M=m(u.createSelector([Ha,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),VO=t=>e=>e.issueTypeFieldsAttachments.instances[t],BO=m(u.createSelector([Ha,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),zO=t=>t.issueTypeFields.instances,wt=u.createSelector([zO],t=>Object.values(t)),MM=m(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),gM=m(u.createSelector([wt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),wM=m(u.createSelector([wt,Ii,(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)))})),jO=t=>e=>e.issueTypeFields.instances[t],CO=m(u.createSelector([wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),DO=t=>t.issueTypeIdentifiers.instances,Ga=u.createSelector([DO],t=>Object.values(t)),qO=t=>e=>e.issueTypeIdentifiers.instances[t],$O=m(u.createSelector([Ga,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),EM=m(u.createSelector([Ga,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),UO=t=>t.issueTypeIdentifierValues.instances,bi=u.createSelector([UO],t=>Object.values(t)),kO=t=>e=>e.issueTypeIdentifierValues.instances[t],LO=m(u.createSelector([bi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),RM=m(u.createSelector([bi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),vM=m(u.createSelector([bi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type_identifier===e)))),HO=t=>t.issueTypePriorities.instances,Na=u.createSelector([HO],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypePrioritySortFn))),Ka=t=>e=>e.issueTypePriorities.instances[t],GO=m(u.createSelector([Na,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),VM=m(u.createSelector([Na,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),NO=t=>t.issueTypes.instances,Wa=u.createSelector(NO,t=>Object.values(t)),KO=t=>e=>e.issueTypes.instances[t],WO=m(u.createSelector([Wa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),BM=m(u.createSelector([Wa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),XO=t=>t.issueTypeStatuses.instances,Xa=u.createSelector([XO],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypeStatusSortFn))),Ya=t=>e=>e.issueTypeStatuses.instances[t],YO=m(u.createSelector([Xa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),zM=m(u.createSelector([Xa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Za=t=>t.issueUpdates.instances,Ja=u.createSelector([Za],t=>Object.values(t)),ZO=m(u.createSelector([Za,(t,e)=>e],(t,e)=>t[e])),JO=m(u.createSelector([Ja,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),QO=m(u.createSelector([Ja,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),xO=t=>t.users.currentUser,Qa=t=>t.users.instances,Oi=u.createSelector([Qa],t=>Object.values(t)),Pi=t=>e=>e.users.instances[t],eP=m(u.createSelector([Oi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({id:a})=>i.has(a)))})),Fi=t=>t.organizationAccess.instances,tP=t=>e=>e.organizationAccess.instances[t],sP=m(u.createSelector([Fi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),jM=u.createSelector([xO,Fi],(t,e)=>Object.values(e).find(a=>a.user===t?.id)??null),iP=u.createSelector([Fi],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return l.fallbackToEmptyObject(e)}),CM=m(u.createSelector([Qa,iP,(t,e)=>e],(t,e,i)=>l.fallbackToEmptyArray(Object.values(t).filter(a=>{const n=e[a.id];return!!n&&n.organization===i})))),aP=t=>t.organizations.instances,nP=u.createSelector([aP],t=>Object.values(t)),cP=t=>e=>e.organizations.instances[t],rP=m(u.createSelector([nP,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),DM=t=>t.outbox.deletedRequests,qM=t=>t.outbox.latestRetryTime,dP=t=>t.procedureFieldValues.instances,xa=u.createSelector([dP],t=>Object.values(t)),$M=m(u.createSelector([xa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),uP=t=>e=>e.procedureFieldValues.instances[t],lP=m(u.createSelector([xa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),oP=t=>t.procedureInitiatives.instances,_i=u.createSelector([oP],t=>Object.values(t)),hP=t=>e=>e.procedureInitiatives.instances[t],pP=m(u.createSelector([_i,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),UM=m(u.createSelector([_i,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),kM=m(u.createSelector([_i,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),mP=t=>t.procedures.instances,ht=u.createSelector([mP],t=>Object.values(t)),yP=t=>e=>e.procedures.instances[t],fP=m(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),LM=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),SP=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),AP=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),TP=m(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),IP=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_initiative===e)))),bP=t=>t.procedureStepAssignees.instances,Et=u.createSelector([bP],t=>Object.values(t)),OP=t=>e=>e.procedureStepAssignees.instances[t],PP=m(u.createSelector([Et,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),HM=m(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),GM=m(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),NM=m(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)))),FP=t=>t.procedureStepComments.instances,Rt=u.createSelector([FP],t=>Object.values(t)),_P=t=>e=>e.procedureStepComments.instances[t],MP=m(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),KM=m(u.createSelector([Rt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),WM=m(u.createSelector([Rt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),XM=m(u.createSelector([Rt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),gP=t=>t.procedureStepDefaultAssignees.instances,en=u.createSelector([gP],t=>Object.values(t)),wP=t=>e=>e.procedureStepDefaultAssignees.instances[t],EP=m(u.createSelector([en,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),YM=m(u.createSelector([en,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),RP=t=>t.procedureStepDefaultReviewers.instances,tn=u.createSelector([RP],t=>Object.values(t)),vP=t=>e=>e.procedureStepDefaultReviewers.instances[t],VP=m(u.createSelector([tn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ZM=m(u.createSelector([tn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),BP=t=>t.procedureStepEvents.instances,vt=u.createSelector([BP],t=>Object.values(t)),zP=t=>e=>e.procedureStepEvents.instances[t],jP=m(u.createSelector([vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),JM=m(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),QM=m(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),xM=m(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)))),CP=t=>t.procedureStepFieldValuesAttachments.instances,sn=u.createSelector([CP],t=>Object.values(t)),DP=t=>e=>e.procedureStepFieldValuesAttachments.instances[t],qP=m(u.createSelector([sn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$P=m(u.createSelector([sn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),UP=t=>t.procedureStepFieldValues.instances,pt=u.createSelector([UP],t=>Object.values(t)),eg=m(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),tg=m(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),kP=t=>e=>e.procedureStepFieldValues.instances[t],LP=m(u.createSelector([pt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),sg=m(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)))),HP=t=>t.procedureStepFieldValuesReviews.instances,mt=u.createSelector([HP],t=>Object.values(t)),GP=t=>e=>e.procedureStepFieldValuesReviews.instances[t],NP=m(u.createSelector([mt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),KP=m(u.createSelector([mt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),ig=m(u.createSelector([mt,(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})),ag=m(u.createSelector([pt,mt,(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)))})),ng=m(u.createSelector([pt,mt,(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)))})),cg=u.createSelector([mt],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}),WP=t=>t.procedureStepFieldsAttachments.instances,an=u.createSelector([WP],t=>Object.values(t)),XP=m(u.createSelector([an,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),YP=t=>e=>e.procedureStepFieldsAttachments.instances[t],ZP=m(u.createSelector([an,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),nn=t=>t.procedureStepFields.instances,Mi=u.createSelector([nn],t=>Object.values(t)),rg=m(u.createSelector([Mi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),dg=m(u.createSelector([Mi,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_step===e).toSorted(l.submittedAtModelSortFn).pop())),ug=u.createSelector([nn],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}),JP=t=>e=>e.procedureStepFields.instances[t],QP=m(u.createSelector([Mi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),xP=t=>t.procedureStepReviewers.instances,Vt=u.createSelector([xP],t=>Object.values(t)),eF=t=>e=>e.procedureStepReviewers.instances[t],tF=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),lg=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),og=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),hg=m(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)))),cn=t=>t.procedureSteps.instances,sF=t=>e=>e.procedureSteps.instances[t],rn=u.createSelector([cn],t=>Object.values(t).toSorted((e,i)=>e.order-i.order)),pg=m(u.createSelector([cn,(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)})),mg=m(u.createSelector([rn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),iF=m(u.createSelector([rn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),aF=t=>t.procedureTypeAttachments.instances,dn=u.createSelector([aF],t=>Object.values(t)),nF=t=>e=>e.procedureTypeAttachments.instances[t],cF=m(u.createSelector([dn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),yg=m(u.createSelector([dn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({procedure_type:i})=>e===i)))),rF=t=>t.procedureFieldValuesAttachments.instances,un=u.createSelector([rF],t=>Object.values(t)),dF=t=>e=>e.procedureFieldValuesAttachments.instances[t],uF=m(u.createSelector([un,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),lF=m(u.createSelector([un,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),oF=t=>t.procedureTypeFieldsAttachments.instances,ln=u.createSelector([oF],t=>Object.values(t)),fg=m(u.createSelector([ln,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),hF=t=>e=>e.procedureTypeFieldsAttachments.instances[t],pF=m(u.createSelector([ln,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),mF=t=>t.procedureTypeFields.instances,gi=u.createSelector([mF],t=>Object.values(t)),Sg=m(u.createSelector([gi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),Ag=m(u.createSelector([gi,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),yF=t=>e=>e.procedureTypeFields.instances[t],fF=m(u.createSelector([gi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),SF=t=>t.procedureTypes.instances,on=u.createSelector([SF],t=>Object.values(t)),AF=t=>e=>e.procedureTypes.instances[t],TF=m(u.createSelector([on,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Tg=m(u.createSelector([on,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),hn=t=>t.projectAccess.instances,Bt=u.createSelector(hn,t=>Object.values(t)),IF=t=>e=>e.projectAccess.instances[t],bF=m(u.createSelector([Bt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ig=m(u.createSelector([hn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.project===e)))),bg=m(u.createSelector([Bt,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.project===e))i[a.user]=a;return i})),Og=m(u.createSelector([Oi,Bt,(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)))})),OF=t=>t.projectAttachments.instances,pn=u.createSelector([OF],t=>Object.values(t)),PF=t=>e=>e.projectAttachments.instances[t],FF=m(u.createSelector([pn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Pg=m(u.createSelector([pn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>e===i)))),_F=t=>t.projectComments.instances,wi=u.createSelector([_F],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),MF=t=>e=>e.projectComments.instances[t],gF=m(u.createSelector([wi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Fg=m(u.createSelector([wi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),_g=m(u.createSelector([wi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.project)))})),wF=t=>t.projectFiles.instances,EF=u.createSelector([wF],t=>l.fallbackToEmptyArray(Object.values(t).toSorted((e,i)=>e.z_index-i.z_index))),RF=t=>e=>e.projectFiles.instances[t],vF=m(u.createSelector([EF,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),VF=t=>t.projects.instances,Ei=u.createSelector([VF],t=>Object.values(t)),BF=t=>e=>e.projects.instances[t],zF=m(u.createSelector([Ei,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Mg=m(u.createSelector([Ei,Bt,(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)))})),gg=m(u.createSelector([Ei,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),wg=t=>t.rehydrated.isRehydrated,jF=t=>t.reports.instances,CF=u.createSelector([jF],t=>l.fallbackToEmptyArray(Object.values(t))),DF=t=>e=>e.reports.instances[t],qF=m(u.createSelector([CF,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$F=t=>t.teamMemberships.instances,Ri=u.createSelector([$F],t=>Object.values(t)),UF=t=>e=>e.teamMemberships.instances[t],kF=m(u.createSelector([Ri,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Eg=m(u.createSelector([Ri,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.team===e))i[a.user]=a;return i})),Rg=m(u.createSelector([Oi,Ri,(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)))})),LF=t=>t.teams.instances,mn=u.createSelector([LF],t=>Object.values(t)),HF=t=>e=>e.teams.instances[t],GF=m(u.createSelector([mn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),vg=m(u.createSelector([mn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),NF=1e4,yn=[400,409,403,404,405,500],D=1e4,KF={};class WF{client;pageSize=NF;constructor(e){KF[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 Vg=t=>{if(t)throw t;const e=Ft();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},XF=(t,e,i)=>{const a=ft();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},YF=(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 Bg(t,e){if(!e.payload)throw new Error("Received empty payload");return A_(e)}const zg={...bn,effect:Bg,discard:JF,returnPromises:!0,persistCallback:Vg,retry:Dg,persistOptions:{storage:b_},queue:{...bn.queue,enqueue:XF,dequeue:YF,peek:(...t)=>Cg(...t)}},jg=I_.offline(zg);async function ZF(t,e,i){if(e.store.getState().outbox.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const n=KF[t.meta.offline.effect.serviceName];if(!n)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return An(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,e,n,i)}function JF(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(wS(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&&yn.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 Cg(t,e,i){return ft()?.peek()}function Dg(t,e){return Ft().dispatch(ES(new Date().getTime())),6e4}const qg=500,QF=["non_field_errors","detail"];function $g(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"?QF.includes(n)?c:`${n}: ${c}`:Array.isArray(c)?QF.includes(n)?c.join(`
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().outbox.deletedRequests,d=e.payload.uuid;function r(){a.dispatch(Om(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&&yn.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 Cg(t,e,i){return ft()?.peek()}function Dg(t,e){return Ft().dispatch(Pm(new Date().getTime())),6e4}const qg=500,QF=["non_field_errors","detail"];function $g(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"?QF.includes(n)?c:`${n}: ${c}`:Array.isArray(c)?QF.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>qg?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??$g(i,a)??l.ERROR_MSG_UNEXPECTED,this.status=i?.status??0,this.response=i,this.options=e}}function xF(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 Ug(t){return new Uint8Array(t).reduce((i,a)=>i+a.toString(16).padStart(2,"0"),"")}function rs(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=Ug(c);e(d)})},a.readAsArrayBuffer(t)})}const e_=async t=>{const e=await t.arrayBuffer();return new Blob([e],{type:t.type})},kg=(t,e)=>`${t}${e?`.${e}`:""}`;function Lg(t,e){return new File([t],e,{type:t.type})}function t_(t){const e=t.name;return e.includes(".")?e.split(".").pop():""}const s_=async t=>(await fetch(t)).blob(),i_=async(t,e)=>{const i=await s_(t);return new File([i],e,{type:i.type})};function a_(t){return typeof t=="string"&&t.startsWith("blob:")}function n_(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function c_(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function r_(t){if(n_(t)){const i=new URLSearchParams(t).get("Expires");if(!i)return null;const a=parseInt(i,10);return new Date(a*1e3)}if(c_(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 d_(t,e=30){const i=r_(t);if(!i)return!1;const a=Date.now(),n=i.getTime(),c=e*1e3;return a+c>=n}function Hg(t){return t.type.startsWith("image/")}class u_ extends WF{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 WF{auth;constructor(e,i){super(e),this.auth=i}}class Gg 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(_n(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(gn(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(Mn(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(Fn(a)),a}}function y(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,...P}=e;d=await this.client.files.getFilePayload(S),r=URL.createObjectURL(S),c={...P,file_sha1:d.sha1,file_type:d.file_type,file_name:S.name,file_extension:d.extension,object_url:r}}else c=e;const p=this.buildModel(c),h=this.buildPayload(p);this.dispatch(i(p));const f=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...h,...d?{file:d}:{}},blockers:this.getBlockers(p),blocks:this.getBlocks(p)});f.then(({instance:S})=>{this.dispatch(a(S))}).catch(()=>{this.dispatch(n(this.getId(p)))}).finally(()=>{r&&URL.revokeObjectURL(r)});const A=f.then(({instance:S})=>S),I=f.then(async({instance:S,presigned_url:P})=>{try{return P&&await this.client.files.processPresignedUrl(S.file_sha1,P),S.file_sha1}catch(_){throw console.error("Upload to s3 using presigned url failed.",_),_}});return[p,A,I]}async bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=[],p=new Set,h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const P of h){const _=[],F={},w=[],V=[];for(const rt of P){let zt;if("file"in rt){const{file:jt,...Iw}=rt,_t=await this.client.files.getFilePayload(jt);_t.sha1 in F||(F[_t.sha1]=_t);const T_=URL.createObjectURL(jt);p.add(T_),zt={...Iw,file_sha1:_t.sha1,file_type:_t.file_type,file_name:jt.name,file_extension:_t.extension,object_url:T_}}else zt=rt;const j=this.buildModel(zt);r.push(j);const ds=this.buildBulkPayload(j);_.push(ds);const B=this.getBlockers(j);w.push(...B);const q=this.getBlocks(j);V.push(...q)}const R={payloads:_,submittedAt:d,files:Object.values(F),blockers:w,blocks:V};f.push(R)}this.dispatch(a(r));const A=f.map(P=>{const{submittedAt:_,files:F,payloads:w,blocks:V,blockers:R}=P;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,files:F,payloads:w},blockers:R,blocks:V})});Promise.all(A).then(P=>{const _=P.flatMap(F=>F.instances);this.dispatch(n(_))}).catch(P=>{throw this.dispatch(c(r.map(_=>this.getId(_)))),console.error(P),P}).finally(()=>{for(const P of p)URL.revokeObjectURL(P)});const I=Promise.all(A).then(P=>P.flatMap(({instances:_})=>_)),S=Promise.all(A).then(async P=>{const _=[];for(const{presigned_urls:F}of P){const w=this.client.files.processPresignedUrls(F);for(const[V,R]of Object.entries(w))try{await R,_.push(V)}catch(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:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}}class Ng extends v{name="Asset attachment";url="/asset-attachments";actions={addOne:vn,addMany:hs,setOne:Vn,setMany:Bn,updateOne:zn,updateMany:jn,deleteOne:Cn,deleteMany:ps,initialize:En};selectors={selectById:qn,selectByIds:$n};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:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class Kg extends v{name="Asset Comment Attachment";url="/asset-comment-attachments";actions={addOne:Gn,addMany:Nn,setOne:Kn,setMany:Wn,updateOne:Xn,updateMany:Yn,deleteOne:Zn,deleteMany:Jn,initialize:Hn};selectors={selectById:xn,selectByIds:ec};getId(e){return e.uuid}getBlockers(e){return[e.asset_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_comment:e.asset_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_comment:e.asset_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(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:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class Wg extends g{name="Asset Comment";url="/asset-comments";actions={addOne:ac,addMany:Ct,setOne:nc,setMany:cc,updateOne:rc,updateMany:dc,deleteOne:uc,deleteMany:Dt,initialize:ic};selectors={selectById:oc,selectByIds:hc};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:y(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:y(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:y(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 Xg extends g{url="/assets";name="Asset";actions={addOne:Ac,addMany:Ts,setOne:Oc,setMany:Pc,updateOne:Tc,updateMany:Ic,deleteOne:bc,deleteMany:Is,initialize:Sc};selectors={selectById:Mc,selectByIds:gc};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:y(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:y(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(Un(e)),r=this.select(pc(e)),p=this.select(Qh(e)),h=this.select(bT(e)),f=this.select(Oh(e));this.dispatch(a(e)),this.dispatch(ps(l.toUuidArray(d))),this.dispatch(Dt(l.toUuidArray(r))),this.dispatch(Tt(l.toUuidArray(p))),this.dispatch(Ot(l.toUuidArray(h))),this.dispatch(ot(l.toUuidArray(f)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(i(c)),this.dispatch(hs(d)),this.dispatch(Ct(r)),this.dispatch(At(p)),this.dispatch(bt(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),P=f.assets.map(({status:F})=>F),_=this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(r?[r]:[]).concat(I).concat(S).concat(P),blocks:[h].concat(A)});r=p.batchId,d.push(_)}return Promise.all(d).then(p=>{const h=p.flat();this.dispatch(a(h))}),d}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} assets that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=ut.v4(),_=l.toUuidArray(S),F=S.map(({status:V})=>V).filter(Boolean),w=this.enqueueRequest({description:y(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F),blocks:[P].concat(_)});A.push(w),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(mc(e)),r=this.select(xh(e)),p=this.select(OT(e)),h=this.select(Ph(e));this.dispatch(a(e)),this.dispatch(Dt(l.toUuidArray(d))),this.dispatch(Tt(l.toUuidArray(r))),this.dispatch(Ot(l.toUuidArray(p))),this.dispatch(ot(l.toUuidArray(h)));try{return await this.enqueueRequest({description:y(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(bt(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 Yg extends v{name="Asset Type Attachment";url="/asset-type-attachments";actions={addOne:vc,addMany:Os,setOne:Vc,setMany:Bc,updateOne:zc,updateMany:jc,deleteOne:Cc,deleteMany:Ps,initialize:Ec};selectors={selectById:qc,selectByIds:$c};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 Zg extends v{name="Asset Type Fields Attachment";url="/asset-type-fields-attachments";actions={addOne:Gc,addMany:Nc,setOne:Kc,setMany:Wc,updateOne:Xc,updateMany:Yc,deleteOne:Zc,deleteMany:Jc,initialize:Hc};selectors={selectById:xc,selectByIds:er};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 Jg extends g{name="Asset Type Fields";url="/asset-type-fields";actions={addOne:ar,addMany:nr,setOne:cr,setMany:rr,updateOne:dr,updateMany:ur,deleteOne:lr,deleteMany:or,initialize:ir};selectors={selectById:pr,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});this.dispatch(i(r));const p=this.enqueueRequest({description:y(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 Qg extends v{name="Asset Type Field Values Attachment";url="/asset-type-field-values-attachments";actions={addOne:Ar,addMany:ws,setOne:Tr,setMany:Ir,updateOne:br,updateMany:Or,deleteOne:Pr,deleteMany:Es,initialize:Sr};selectors={selectById:_r,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:y(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:{project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class xg extends g{name="Asset Type Field Values";url="/asset-type-field-values";actions={addOne:vr,addMany:Vr,setOne:Br,setMany:zr,updateOne:jr,updateMany:Cr,deleteOne:Dr,deleteMany:qr,initialize:Er};selectors={selectById:Ur,selectByIds:kr};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:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{payloads:a,values:n}=e,{addMany:c,updateMany:d,deleteMany:r}=this.actions,p=new Date().toISOString(),h=[],f=l.chunkArray(a,Math.min(i??a.length,D)),A=[];for(const S of f){const P=[];for(const _ of S){const F=l.uuidObj({..._,values:_.values,created_by:this.select(w=>w.userReducer.currentUser?.id??null),submitted_at:p});h.push(F),P.push({uuid:F.uuid,asset:_.asset,fields_revision:_.fields_revision,published_at:_.published_at,values:F.values})}A.push({submitted_at:p,values:n,field_values:P})}this.dispatch(c(h));const I=[];for(const S of A){const{field_values:P}=S,_=P.map(({asset:R})=>R),F=P.map(({fields_revision:R})=>R),w=P.map(({uuid:R})=>R),V=this.enqueueRequest({description:y(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:y(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(gr(e));this.dispatch(i(e)),this.dispatch(Es(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(ws(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class eR extends g{name="Asset Type Identifier";url="/asset-type-identifiers";actions={addOne:Nr,addMany:Kr,setOne:Wr,setMany:Xr,updateOne:Yr,updateMany:Zr,deleteOne:Jr,deleteMany:Qr,initialize:Gr};selectors={selectById:ed,selectByIds:td};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:y(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:y(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:y(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 tR extends g{name="Asset Type Identifier Value";url="/asset-type-identifier-values";actions={addOne:nd,addMany:cd,setOne:rd,setMany:dd,updateOne:ud,updateMany:ld,deleteOne:od,deleteMany:hd,initialize:ad};selectors={selectById:md,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:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.asset_type_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(S=>S.userReducer.currentUser?.id??null),p=l.chunkArray(e,Math.min(i??e.length,D)),h=[],f=[];for(const S of p){const P=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:d,created_by:r});f.push(R);const rt={uuid:R.uuid,asset:R.asset,asset_type_identifier:R.asset_type_identifier,value:R.value};P.push(rt),_.push(R.asset),_.push(R.asset_type_identifier),F.push(R.uuid)}const w={payloads:P,submitted_at:d,blockers:_,blocks:F};h.push(w)}this.dispatch(a(f));const A=h.map(S=>{const{payloads:P,submitted_at:_,blockers:F,blocks:w}=S;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,payloads:P},blockers:F,blocks:w})});Promise.all(A).then(S=>{this.dispatch(n(S.flat()))}).catch(S=>{throw this.dispatch(c(l.toUuidArray(f))),S});const I=Promise.all(A).then(S=>S.flat());return[f,I]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(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,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class sR extends g{name="Asset Type";url="/asset-types";actions={addOne:bd,addMany:Od,setOne:Td,setMany:Id,updateOne:Pd,updateMany:Fd,deleteOne:_d,deleteMany:Md,initialize:Ad};selectors={selectById:Rd,selectByIds:wd};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:y(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:y(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(_c(e)),r=this.select(Uc(e));this.dispatch(i(e)),this.dispatch(Is(l.toUuidArray(d))),this.dispatch(Ps(l.toUuidArray(r)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(Ts(d)),this.dispatch(Os(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class iR extends g{name="Asset Type Status";url="/asset-type-statuses";actions={addOne:Bd,addMany:zd,setOne:jd,setMany:Cd,updateOne:Dd,updateMany:qd,deleteOne:$d,deleteMany:Ud,initialize:Vd};selectors={selectById:Ld,selectByIds:Hd};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(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:y(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:y(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 aR extends v{name="Document Attachment";url="/document-attachments";actions={addOne:Zd,addMany:Jd,setOne:Qd,setMany:xd,updateOne:eu,updateMany:tu,deleteOne:su,deleteMany:iu,initialize:Yd};selectors={selectById:nu,selectByIds:cu};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 nR extends g{name="Document";url="/documents";actions={addOne:lu,addMany:ou,setOne:hu,setMany:pu,updateOne:mu,updateMany:yu,deleteOne:fu,deleteMany:Su,initialize:uu};selectors={selectById:Tu,selectByIds:Iu};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:y(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:y(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(bu(e));this.dispatch(i(e)),this.dispatch(c(l.toUuidArray(p)));try{return await this.enqueueRequest({description:y(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 dt 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 cR extends dt{name="Email Domains";url="/organization-email-domains";actions={addOne:Fu,addMany:_u,setOne:Mu,setMany:gu,updateOne:Ru,updateMany:wu,deleteOne:Eu,deleteMany:vu,initialize:Pu};selectors={selectById:Bu,selectByIds:zu};async add(e,i){return this.enqueueRequest({description:y(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:y(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 rR 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={},fn=new Set,Sn=new Set;class dR extends yt{host=void 0;dbPromise=O_.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 rs(e);if(fn.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),fn.add(i)}async uncacheFile(e){await(await this.getDB()).delete("files",e),fn.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]:a_(e)?(r=i_(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 rs(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>qg?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??$g(i,a)??l.ERROR_MSG_UNEXPECTED,this.status=i?.status??0,this.response=i,this.options=e}}function xF(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 Ug(t){return new Uint8Array(t).reduce((i,a)=>i+a.toString(16).padStart(2,"0"),"")}function vi(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=Ug(c);e(d)})},a.readAsArrayBuffer(t)})}const e_=async t=>{const e=await t.arrayBuffer();return new Blob([e],{type:t.type})},kg=(t,e)=>`${t}${e?`.${e}`:""}`;function Lg(t,e){return new File([t],e,{type:t.type})}function t_(t){const e=t.name;return e.includes(".")?e.split(".").pop():""}const s_=async t=>(await fetch(t)).blob(),i_=async(t,e)=>{const i=await s_(t);return new File([i],e,{type:i.type})};function a_(t){return typeof t=="string"&&t.startsWith("blob:")}function n_(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function c_(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function r_(t){if(n_(t)){const i=new URLSearchParams(t).get("Expires");if(!i)return null;const a=parseInt(i,10);return new Date(a*1e3)}if(c_(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 d_(t,e=30){const i=r_(t);if(!i)return!1;const a=Date.now(),n=i.getTime(),c=e*1e3;return a+c>=n}function Hg(t){return t.type.startsWith("image/")}class u_ extends WF{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 WF{auth;constructor(e,i){super(e),this.auth=i}}class Gg 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(_n(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(gn(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(Mn(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(Fn(a)),a}}function y(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,...P}=e;d=await this.client.files.getFilePayload(S),r=URL.createObjectURL(S),c={...P,file_sha1:d.sha1,file_type:d.file_type,file_name:S.name,file_extension:d.extension,object_url:r}}else c=e;const p=this.buildModel(c),h=this.buildPayload(p);this.dispatch(i(p));const f=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...h,...d?{file:d}:{}},blockers:this.getBlockers(p),blocks:this.getBlocks(p)});f.then(({instance:S})=>{this.dispatch(a(S))}).catch(()=>{this.dispatch(n(this.getId(p)))}).finally(()=>{r&&URL.revokeObjectURL(r)});const A=f.then(({instance:S})=>S),I=f.then(async({instance:S,presigned_url:P})=>{try{return P&&await this.client.files.processPresignedUrl(S.file_sha1,P),S.file_sha1}catch(_){throw console.error("Upload to s3 using presigned url failed.",_),_}});return[p,A,I]}async bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=[],p=new Set,h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const P of h){const _=[],F={},E=[],V=[];for(const rt of P){let jt;if("file"in rt){const{file:Ct,...IE}=rt,_t=await this.client.files.getFilePayload(Ct);_t.sha1 in F||(F[_t.sha1]=_t);const T_=URL.createObjectURL(Ct);p.add(T_),jt={...IE,file_sha1:_t.sha1,file_type:_t.file_type,file_name:Ct.name,file_extension:_t.extension,object_url:T_}}else jt=rt;const j=this.buildModel(jt);r.push(j);const Vi=this.buildBulkPayload(j);_.push(Vi);const B=this.getBlockers(j);E.push(...B);const q=this.getBlocks(j);V.push(...q)}const w={payloads:_,submittedAt:d,files:Object.values(F),blockers:E,blocks:V};f.push(w)}this.dispatch(a(r));const A=f.map(P=>{const{submittedAt:_,files:F,payloads:E,blocks:V,blockers:w}=P;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,files:F,payloads:E},blockers:w,blocks:V})});Promise.all(A).then(P=>{const _=P.flatMap(F=>F.instances);this.dispatch(n(_))}).catch(P=>{throw this.dispatch(c(r.map(_=>this.getId(_)))),console.error(P),P}).finally(()=>{for(const P of p)URL.revokeObjectURL(P)});const I=Promise.all(A).then(P=>P.flatMap(({instances:_})=>_)),S=Promise.all(A).then(async P=>{const _=[];for(const{presigned_urls:F}of P){const E=this.client.files.processPresignedUrls(F);for(const[V,w]of Object.entries(E))try{await w,_.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:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}}class Ng extends v{name="Asset attachment";url="/asset-attachments";actions={addOne:vn,addMany:Bi,setOne:Vn,setMany:Bn,updateOne:zn,updateMany:jn,deleteOne:Cn,deleteMany:zi,initialize:Rn};selectors={selectById:hI,selectByIds:pI};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.users.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 Kg extends v{name="Asset Comment Attachment";url="/asset-comment-attachments";actions={addOne:Un,addMany:kn,setOne:Ln,setMany:Hn,updateOne:Gn,updateMany:Nn,deleteOne:Kn,deleteMany:Wn,initialize:$n};selectors={selectById:fI,selectByIds:SI};getId(e){return e.uuid}getBlockers(e){return[e.asset_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_comment:e.asset_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_comment:e.asset_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset_comment__asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Wg extends g{name="Asset Comment";url="/asset-comments";actions={addOne:Jn,addMany:kt,setOne:Qn,setMany:xn,updateOne:ec,updateMany:tc,deleteOne:sc,deleteMany:Lt,initialize:Zn};selectors={selectById:TI,selectByIds:II};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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 Xg extends g{url="/assets";name="Asset";actions={addOne:cc,addMany:ji,setOne:lc,setMany:oc,updateOne:rc,updateMany:dc,deleteOne:uc,deleteMany:Ci,initialize:nc};selectors={selectById:_I,selectByIds:MI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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(mI(e)),r=this.select(bI(e)),p=this.select(cO(e)),h=this.select(AP(e)),f=this.select(Kb(e));this.dispatch(a(e)),this.dispatch(zi(l.toUuidArray(d))),this.dispatch(Lt(l.toUuidArray(r))),this.dispatch(Tt(l.toUuidArray(p))),this.dispatch(bt(l.toUuidArray(h))),this.dispatch(ot(l.toUuidArray(f)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(i(c)),this.dispatch(Bi(d)),this.dispatch(kt(r)),this.dispatch(At(p)),this.dispatch(It(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),P=f.assets.map(({status:F})=>F),_=this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(r?[r]:[]).concat(I).concat(S).concat(P),blocks:[h].concat(A)});r=p.batchId,d.push(_)}return Promise.all(d).then(p=>{const h=p.flat();this.dispatch(a(h))}),d}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} assets that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=ut.v4(),_=l.toUuidArray(S),F=S.map(({status:V})=>V).filter(Boolean),E=this.enqueueRequest({description:y(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F),blocks:[P].concat(_)});A.push(E),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(OI(e)),r=this.select(rO(e)),p=this.select(TP(e)),h=this.select(Wb(e));this.dispatch(a(e)),this.dispatch(Lt(l.toUuidArray(d))),this.dispatch(Tt(l.toUuidArray(r))),this.dispatch(bt(l.toUuidArray(p))),this.dispatch(ot(l.toUuidArray(h)));try{return await this.enqueueRequest({description:y(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(kt(d)),this.dispatch(At(r)),this.dispatch(It(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 Yg extends v{name="Asset Type Attachment";url="/asset-type-attachments";actions={addOne:yc,addMany:Di,setOne:fc,setMany:Sc,updateOne:Ac,updateMany:Tc,deleteOne:Ic,deleteMany:qi,initialize:mc};selectors={selectById:wI,selectByIds:EI};getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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 Zg extends v{name="Asset Type Fields Attachment";url="/asset-type-fields-attachments";actions={addOne:Fc,addMany:_c,setOne:Mc,setMany:gc,updateOne:wc,updateMany:Ec,deleteOne:Rc,deleteMany:vc,initialize:Pc};selectors={selectById:LI,selectByIds:HI};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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 Jg extends g{name="Asset Type Fields";url="/asset-type-fields";actions={addOne:jc,addMany:Cc,setOne:Dc,setMany:qc,updateOne:$c,updateMany:Uc,deleteOne:kc,deleteMany:Lc,initialize:zc};selectors={selectById:CI,selectByIds:DI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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 Qg extends v{name="Asset Type Field Values Attachment";url="/asset-type-field-values-attachments";actions={addOne:Kc,addMany:$i,setOne:Wc,setMany:Xc,updateOne:Yc,updateMany:Zc,deleteOne:Jc,deleteMany:Ui,initialize:Nc};selectors={selectById:VI,selectByIds:BI};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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:y(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 xg extends g{name="Asset Type Field Values";url="/asset-type-field-values";actions={addOne:tr,addMany:sr,setOne:ir,setMany:ar,updateOne:nr,updateMany:cr,deleteOne:rr,deleteMany:dr,initialize:er};selectors={selectById:$I,selectByIds:UI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{payloads:a,values:n}=e,{addMany:c,updateMany:d,deleteMany:r}=this.actions,p=new Date().toISOString(),h=[],f=l.chunkArray(a,Math.min(i??a.length,D)),A=[];for(const S of f){const P=[];for(const _ of S){const F=l.uuidObj({..._,values:_.values,created_by:this.select(E=>E.users.currentUser?.id??null),submitted_at:p});h.push(F),P.push({uuid:F.uuid,asset:_.asset,fields_revision:_.fields_revision,published_at:_.published_at,values:F.values})}A.push({submitted_at:p,values:n,field_values:P})}this.dispatch(c(h));const I=[];for(const S of A){const{field_values:P}=S,_=P.map(({asset:w})=>w),F=P.map(({fields_revision:w})=>w),E=P.map(({uuid:w})=>w),V=this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_.concat(F),blocks:E});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:y(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(zI(e));this.dispatch(i(e)),this.dispatch(Ui(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch($i(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 ew extends g{name="Asset Type Identifier";url="/asset-type-identifiers";actions={addOne:hr,addMany:pr,setOne:mr,setMany:yr,updateOne:fr,updateMany:Sr,deleteOne:Ar,deleteMany:Tr,initialize:or};selectors={selectById:NI,selectByIds:KI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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:y(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 tw extends g{name="Asset Type Identifier Value";url="/asset-type-identifier-values";actions={addOne:Pr,addMany:Fr,setOne:_r,setMany:Mr,updateOne:gr,updateMany:wr,deleteOne:Er,deleteMany:Rr,initialize:Or};selectors={selectById:XI,selectByIds:YI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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.users.currentUser?.id??null),p=l.chunkArray(e,Math.min(i??e.length,D)),h=[],f=[];for(const S of p){const P=[],_=[],F=[];for(const V of S){const w=l.uuidObj({...V,submitted_at:d,created_by:r});f.push(w);const rt={uuid:w.uuid,asset:w.asset,asset_type_identifier:w.asset_type_identifier,value:w.value};P.push(rt),_.push(w.asset),_.push(w.asset_type_identifier),F.push(w.uuid)}const E={payloads:P,submitted_at:d,blockers:_,blocks:F};h.push(E)}this.dispatch(a(f));const A=h.map(S=>{const{payloads:P,submitted_at:_,blockers:F,blocks:E}=S;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,payloads:P},blockers:F,blocks:E})});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:y(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 sw extends g{name="Asset Type";url="/asset-types";actions={addOne:Cr,addMany:Dr,setOne:zr,setMany:jr,updateOne:qr,updateMany:$r,deleteOne:Ur,deleteMany:kr,initialize:Br};selectors={selectById:JI,selectByIds:QI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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(FI(e)),r=this.select(RI(e));this.dispatch(i(e)),this.dispatch(Ci(l.toUuidArray(d))),this.dispatch(qi(l.toUuidArray(r)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(ji(d)),this.dispatch(Di(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 iw extends g{name="Asset Type Status";url="/asset-type-statuses";actions={addOne:Nr,addMany:Kr,setOne:Wr,setMany:Xr,updateOne:Yr,updateMany:Zr,deleteOne:Jr,deleteMany:Qr,initialize:Gr};selectors={selectById:eb,selectByIds:tb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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:y(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 aw extends v{name="Document Attachment";url="/document-attachments";actions={addOne:nd,addMany:cd,setOne:rd,setMany:dd,updateOne:ud,updateMany:ld,deleteOne:od,deleteMany:hd,initialize:ad};selectors={selectById:ib,selectByIds:ab};getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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 nw extends g{name="Document";url="/documents";actions={addOne:fd,addMany:Sd,setOne:Ad,setMany:Td,updateOne:Id,updateMany:bd,deleteOne:Od,deleteMany:Pd,initialize:yd};selectors={selectById:nb,selectByIds:cb};add(e){const{addOne:i,deleteOne:a,updateOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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(rb(e));this.dispatch(i(e)),this.dispatch(c(l.toUuidArray(p)));try{return await this.enqueueRequest({description:y(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 dt 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 cw extends dt{name="Email Domains";url="/organization-email-domains";actions={addOne:gd,addMany:wd,setOne:Ed,setMany:Rd,updateOne:vd,updateMany:Vd,deleteOne:Bd,deleteMany:zd,initialize:Md};selectors={selectById:ub,selectByIds:lb};async add(e,i){return this.enqueueRequest({description:y(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:y(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 rw 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 zt={},fn=new Set,Sn=new Set;class dw extends yt{host=void 0;dbPromise=O_.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 vi(e);if(fn.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),fn.add(i)}async uncacheFile(e){await(await this.getDB()).delete("files",e),fn.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 zt?r=zt[c]:a_(e)?(r=i_(e,a),zt[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})),zt[c]=r);let p;try{p=await r}catch(f){throw f instanceof z&&delete zt[c],f}const h=await vi(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 rs(e),file_type:e.type,extension:t_(e),size:e.size};return await this.client.files.cacheFile(e),a}async cachePresignedUrl(e,i){if(Sn.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),Sn.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),Sn.delete(e)}async getPresignedUrlFromCache(e){const i=await(await this.getDB()).get("presignedUrls",e);if(!i)return;if(d_(i)){await this.uncachePresignedUrl(e);return}return i}}class uR extends g{name="Form Identifier";url="/form-identifiers";actions={addOne:qu,addMany:$u,setOne:Uu,setMany:ku,updateOne:Lu,updateMany:Hu,deleteOne:Gu,deleteMany:Nu,initialize:Du};selectors={selectById:Wu,selectByIds:Xu};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:y(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:y(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:y(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 lR extends g{name="Form Identifier Value";url="/form-identifier-values";actions={addOne:Qu,addMany:xu,setOne:el,setMany:tl,updateOne:sl,updateMany:il,deleteOne:al,deleteMany:nl,initialize:Ju};selectors={selectById:rl,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:y(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:y(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 oR extends v{name="Form Revision Attachment";url="/form-revision-attachments";actions={addOne:hl,addMany:pl,setOne:ml,setMany:yl,updateOne:fl,updateMany:Sl,deleteOne:Al,deleteMany:Tl,initialize:ol};selectors={selectById:bl,selectByIds:Ol};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 hR extends g{name="Form Revision";url="/form-revisions";actions={addOne:Ml,addMany:Js,setOne:gl,setMany:Rl,updateOne:wl,updateMany:El,deleteOne:vl,deleteMany:Qs,initialize:_l};selectors={selectById:Bl,selectByIds:zl};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:y(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 pR extends g{name="Form";url="/forms";actions={addOne:Ql,addMany:xl,setOne:eo,setMany:to,updateOne:so,updateMany:io,deleteOne:ao,deleteMany:no,initialize:Jl};selectors={selectById:uo,selectByIds:lo};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:y(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:y(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(Th(e)),r=this.select(jl(e)),p=this.select(Xl(e));this.dispatch(i(e)),this.dispatch(ot(l.toUuidArray(d))),this.dispatch(Qs(l.toUuidArray(r))),this.dispatch(ti(l.toUuidArray(p)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(Js(r)),this.dispatch(lt(d)),this.dispatch(ei(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 mR extends g{name="Form Subscriber";url="/form-subscribers";actions={addOne:$l,addMany:ei,setOne:Ul,setMany:kl,updateOne:Ll,updateMany:Hl,deleteOne:Gl,deleteMany:ti,initialize:ql};selectors={selectById:Kl,selectByIds:Wl};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:y(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:y(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 yR extends v{name="Form Submission Field Values Attachment";url="/form-submission-field-values-attachments";actions={addOne:po,addMany:ni,setOne:mo,setMany:yo,updateOne:fo,updateMany:So,deleteOne:Ao,deleteMany:ci,initialize:ho};selectors={selectById:To,selectByIds:ui};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(ui(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(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 fR extends g{name="Form Submission Field Values";url="/form-submission-field-values";actions={addOne:Fo,addMany:oi,setOne:_o,setMany:Mo,updateOne:go,updateMany:Ro,deleteOne:wo,deleteMany:hi,initialize:Po};selectors={selectById:vo,selectByIds:Vo};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:y(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 SR extends v{name="Form Submission Comment Attachment";url="/form-submission-comment-attachments";actions={addOne:Do,addMany:qo,setOne:$o,setMany:Uo,updateOne:ko,updateMany:Lo,deleteOne:Ho,deleteMany:Go,initialize:Co};selectors={selectById:Ko,selectByIds:Wo};getId(e){return e.uuid}getBlockers(e){return[e.form_submission_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,form_submission_comment:e.form_submission_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,form_submission_comment:e.form_submission_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(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 Promise.all([this.listPaginated({queryParams:{form_submission_comment__form_submission__organization:e}},i),this.listPaginated({queryParams:{form_submission_comment__form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class AR extends g{name="Form Submission Comment";url="/form-submission-comments";actions={addOne:Jo,addMany:Si,setOne:Qo,setMany:xo,updateOne:eh,updateMany:th,deleteOne:sh,deleteMany:Ai,initialize:Zo};selectors={selectById:ah,selectByIds:nh};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:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.form_submission],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Form submission comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Form submission comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{form_submission__organization:e}},i),this.listPaginated({queryParams:{form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class TR extends g{name="Form Submission";url="/form-submissions";actions={addOne:hh,addMany:lt,setOne:lh,setMany:oh,updateOne:ph,updateMany:mh,deleteOne:yh,deleteMany:ot,initialize:uh};selectors={selectById:Sh,selectByIds:Ah};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:y(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:y(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(Bo(e)),r=d.flatMap(({uuid:h})=>this.select(Io(h))),p=this.select(ch(e));this.dispatch(i(e)),this.dispatch(hi(l.toUuidArray(d))),this.dispatch(ci(l.toUuidArray(r))),this.dispatch(Ai(l.toUuidArray(p)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(oi(d)),this.dispatch(ni(r)),this.dispatch(Si(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{organization:e}},i),this.listPaginated({queryParams:{project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class IR extends v{name="Geo Image";url="/geo-images";actions={addOne:wh,addMany:Eh,setOne:gh,setMany:Rh,updateOne:vh,updateMany:Vh,deleteOne:Bh,deleteMany:zh,initialize:Mh};selectors={selectById:Ch,selectByIds:Dh};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:y(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 bR extends g{name="Issue Association";url="/issue-associations";actions={addOne:Nh,addMany:At,setOne:Lh,setMany:kh,updateOne:Hh,updateMany:Gh,deleteOne:Kh,deleteMany:Tt,initialize:Uh};selectors={selectById:Xh,selectByIds:Yh};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:y(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:y(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:y(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 OR extends v{name="Issue Attachment";url="/issue-attachments";actions={addOne:ip,addMany:Fi,setOne:ap,setMany:np,updateOne:cp,updateMany:rp,deleteOne:dp,deleteMany:_i,initialize:sp};selectors={selectById:op,selectByIds:hp};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:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class PR extends v{name="Issue Comment Attachment";url="/issue-comment-attachments";actions={addOne:fp,addMany:Sp,setOne:Ap,setMany:Tp,updateOne:Ip,updateMany:bp,deleteOne:Op,deleteMany:Pp,initialize:yp};selectors={selectById:_p,selectByIds:Mp};getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(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:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class FR extends g{name="Issue Comment";url="/issue-comments";actions={addOne:Ep,addMany:vp,setOne:Vp,setMany:Bp,updateOne:zp,updateMany:jp,deleteOne:Cp,deleteMany:Dp,initialize:wp};selectors={selectById:qp,selectByIds:$p};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:y(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:y(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:y(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 _R extends g{name="Issue";url="/issues";actions={addOne:Hp,addMany:Vi,setOne:Gp,setMany:Np,updateOne:Kp,updateMany:Wp,deleteOne:Xp,deleteMany:Bi,initialize:Lp};selectors={selectById:Zp,selectByIds:Jp};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:y(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(xt(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:y(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,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=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:y(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F).concat(w),blocks:[P].concat(_)});A.push(V),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const d=this.select(Jh(e)),r=this.select(lp(e)),p=this.select(qf(e)),h=this.select(Ih(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(ot(l.toUuidArray(h)));try{return await this.enqueueRequest({description:y(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(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(Zh(e)),r=this.select(bh(e));this.dispatch(a(e)),this.dispatch(Tt(l.toUuidArray(d))),this.dispatch(ot(l.toUuidArray(r)));try{return await this.enqueueRequest({description:y(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:sm,addMany:im,setOne:am,setMany:nm,updateOne:cm,updateMany:rm,deleteOne:dm,deleteMany:um,initialize:tm};selectors={selectById:om,selectByIds:hm};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:fm,addMany:Sm,setOne:Am,setMany:Tm,updateOne:Im,updateMany:bm,deleteOne:Om,deleteMany:Pm,initialize:ym};selectors={selectById:_m,selectByIds:Mm};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:Gm,addMany:Nm,setOne:Km,setMany:Wm,updateOne:Xm,updateMany:Ym,deleteOne:Zm,deleteMany:Jm,initialize:Hm};selectors={selectById:xm,selectByIds:ey};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:y(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:ay,addMany:ki,setOne:ny,setMany:cy,updateOne:ry,updateMany:dy,deleteOne:uy,deleteMany:Li,initialize:iy};selectors={selectById:oy,selectByIds:hy};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:y(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:{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:Em,addMany:vm,setOne:Vm,setMany:Bm,updateOne:zm,updateMany:jm,deleteOne:Cm,deleteMany:Dm,initialize:wm};selectors={selectById:$m,selectByIds:Um};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:y(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:y(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(py(e));this.dispatch(i(e)),this.dispatch(Li(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(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:{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:Sy,addMany:Ay,setOne:Ty,setMany:Iy,updateOne:by,updateMany:Oy,deleteOne:Py,deleteMany:Fy,initialize:fy};selectors={selectById:My,selectByIds:gy};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:y(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:y(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:y(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:vy,addMany:Vy,setOne:By,setMany:zy,updateOne:jy,updateMany:Cy,deleteOne:Dy,deleteMany:qy,initialize:Ey};selectors={selectById:Uy,selectByIds:ky};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:y(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:y(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,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class BR extends g{name="Issue Type Priority";url="/issue-type-priorities";actions={addOne:Ny,addMany:Ky,setOne:Wy,setMany:Xy,updateOne:Yy,updateMany:Zy,deleteOne:Jy,deleteMany:Qy,initialize:Gy};selectors={selectById:Yi,selectByIds:ef};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:y(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:y(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:y(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:nf,addMany:cf,setOne:rf,setMany:df,updateOne:uf,updateMany:lf,deleteOne:of,deleteMany:hf,initialize:af};selectors={selectById:mf,selectByIds:yf};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(Qp(e));this.dispatch(a(e)),this.dispatch(Bi(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(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:Tf,addMany:If,setOne:bf,setMany:Of,updateOne:Pf,updateMany:Ff,deleteOne:_f,deleteMany:Mf,initialize:Af};selectors={selectById:ea,selectByIds:Rf};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:y(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:y(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:y(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:Vf,setMany:Bf,updateOne:zf,updateMany:jf,deleteOne:aa,deleteMany:na,initialize:vf};selectors={selectById:Cf,selectByIds:Df};async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{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 u_{_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(Kd(!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=P_(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 dt{name="Organization Access";url="/organization-accesses";actions={addOne:xf,addMany:eS,setOne:tS,setMany:sS,updateOne:iS,updateMany:aS,deleteOne:nS,deleteMany:cS,initialize:Qf};selectors={selectById:dS,selectByIds:uS};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:y(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(xt(c.user));this.dispatch(i(c.uuid)),this.dispatch(la(c.user));try{return await this.enqueueRequest({description:y(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 dt{name="Organization";url="/organizations";actions={addOne:fS,addMany:yS,setOne:mS,setMany:pS,updateOne:AS,updateMany:SS,deleteOne:TS,deleteMany:IS,initialize:hS};selectors={selectById:PS,selectByIds:FS};async add(e){const{addOne:i}=this.actions,a=await this.enqueueRequest({description:y(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:y(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:y(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:CS,setMany:DS,updateOne:qS,updateMany:$S,deleteOne:US,deleteMany:kS,initialize:BS};selectors={selectById:HS,selectByIds:GS};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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:y(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:WS,addMany:XS,setOne:YS,setMany:ZS,updateOne:JS,updateMany:QS,deleteOne:xS,deleteMany:eA,initialize:KS};selectors={selectById:sA,selectByIds:iA};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:rA,addMany:dA,setOne:uA,setMany:lA,updateOne:oA,updateMany:hA,deleteOne:pA,deleteMany:mA,initialize:cA};selectors={selectById:fA,selectByIds:SA};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:y(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:y(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:y(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:PA,addMany:FA,setOne:bA,setMany:OA,updateOne:_A,updateMany:MA,deleteOne:gA,deleteMany:RA,initialize:IA};selectors={selectById:vA,selectByIds:VA};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:y(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 dt{name="Project";url="/projects";actions={addOne:$A,addMany:qA,setOne:DA,setMany:CA,updateOne:kA,updateMany:UA,deleteOne:LA,deleteMany:HA,initialize:jA};selectors={selectById:KA,selectByIds:WA};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:y(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 dt{name="Report";url="/reports";actions={addOne:iF,addMany:aF,setOne:nF,setMany:cF,updateOne:rF,updateMany:dF,deleteOne:uF,deleteMany:lF,initialize:sF};selectors={selectById:pF,selectByIds:mF};async getPresignedUrl(e,i){return this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:o.GET},i)}async refreshStore(e,i){const n=(await this.listPaginated({queryParams:{organization:e}},i)).flat();return this.dispatch(this.actions.initialize(n)),n}}class XR extends g{name="Procedure";url="/procedures";actions={addOne:lT,addMany:bt,setOne:oT,setMany:hT,updateOne:pT,updateMany:mT,deleteOne:yT,deleteMany:Ot,initialize:uT};selectors={selectById:AT,selectByIds:TT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type,c.project,c.asset,...c.procedure_initiative?[c.procedure_initiative]:[]],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e,i){const{store:a}=this.client,{addMany:n,updateMany:c,deleteMany:d}=this.actions,r=new Date().toISOString(),p=a.getState().userReducer.currentUser?.id??null,h=[],f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];for(const S of f){const P=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:r,created_by:p});h.push(R),P.push(M(R)),_.push(R.procedure_type,R.project,R.asset,...R.procedure_initiative?[R.procedure_initiative]:[]),F.push(R.uuid)}const w={payload:{submitted_at:r,payloads:P},blockers:_,blocks:F};A.push(w)}this.dispatch(n(h));const I=A.map(S=>{const{payload:P,blocks:_,blockers:F}=S;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:P,blockers:F,blocks:_})});return Promise.all(I).then(S=>{this.dispatch(c(S.flat()))}).catch(()=>{this.dispatch(d(l.toUuidArray(h)))}),[h,Promise.all(I).then(S=>S.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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 YR extends g{name="Procedure Step Assignee";url="/procedure-step-assignees";actions={addOne:MT,addMany:gT,setOne:RT,setMany:wT,updateOne:ET,updateMany:vT,deleteOne:VT,deleteMany:BT,initialize:_T};selectors={selectById:jT,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:y(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:y(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:y(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:y(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:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class ZR extends g{name="Procedure Step Comment";url="/procedure-step-comments";actions={addOne:UT,addMany:kT,setOne:LT,setMany:HT,updateOne:GT,updateMany:NT,deleteOne:KT,deleteMany:WT,initialize:$T};selectors={selectById:YT,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:y(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:y(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:y(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 JR extends g{name="Procedure Step Default Assignee";url="/procedure-step-default-assignees";actions={addOne:eI,addMany:tI,setOne:sI,setMany:iI,updateOne:aI,updateMany:nI,deleteOne:cI,deleteMany:rI,initialize:xT};selectors={selectById:uI,selectByIds:lI};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:y(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:y(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 g{name="Procedure Step Default Reviewer";url="/procedure-step-default-reviewers";actions={addOne:mI,addMany:yI,setOne:fI,setMany:SI,updateOne:AI,updateMany:TI,deleteOne:II,deleteMany:bI,initialize:pI};selectors={selectById:PI,selectByIds:FI};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:y(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:y(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 xR extends dt{name="Procedure Step Event";url="/procedure-step-events";actions={addOne:RI,addMany:wI,setOne:EI,setMany:vI,updateOne:VI,updateMany:BI,deleteOne:zI,deleteMany:jI,initialize:gI};selectors={selectById:DI,selectByIds:qI};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 ew extends v{name="Procedure Step Fields Attachment";url="/procedure-step-fields-attachments";actions={addOne:LI,addMany:Va,setOne:HI,setMany:GI,updateOne:NI,updateMany:KI,deleteOne:WI,deleteMany:Ba,initialize:kI};selectors={selectById:ZI,selectByIds:JI};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 tw extends g{name="Procedure Step Fields";url="/procedure-step-fields";actions={addOne:tb,addMany:sb,setOne:ib,setMany:ab,updateOne:nb,updateMany:cb,deleteOne:rb,deleteMany:db,initialize:eb};selectors={selectById:ub,selectByIds:lb};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:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No procedure step fields with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const d=this.select(YI(e));this.dispatch(i(e)),this.dispatch(Ba(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(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 sw extends v{name="Procedure Step Field Values Attachment";url="/procedure-step-field-values-attachments";actions={addOne:mb,addMany:qa,setOne:yb,setMany:fb,updateOne:Sb,updateMany:Ab,deleteOne:Tb,deleteMany:$a,initialize:pb};selectors={selectById:bb,selectByIds:Ob};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:y(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:{project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class iw extends g{name="Procedure Step Field Values Review";url="/procedure-step-field-values-reviews";actions={addOne:kb,addMany:Ha,setOne:Lb,setMany:Hb,updateOne:Gb,updateMany:Nb,deleteOne:Kb,deleteMany:Ga,initialize:Ub};selectors={selectById:Xb,selectByIds:Yb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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 aw extends g{name="Procedure Step Field Values";url="/procedure-step-field-values";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=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:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const w=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(w),S.push(M(w)),P.push(w.procedure_step,w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(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(Pb(e)),r=this.select(Zb(e));this.dispatch(i(e)),this.dispatch($a(l.toUuidArray(d))),this.dispatch(Ga(l.toUuidArray(r)));try{return await this.enqueueRequest({description:y(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:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class nw extends g{name="Procedure Step Reviewer";url="/procedure-step-reviewers";actions={addOne:eO,addMany:tO,setOne:sO,setMany:iO,updateOne:aO,updateMany:nO,deleteOne:cO,deleteMany:rO,initialize:xb};selectors={selectById:uO,selectByIds:lO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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:y(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:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class cw extends g{name="Procedure Initiative";url="/procedure-initiatives";actions={addOne:ZA,addMany:JA,setOne:QA,setMany:xA,updateOne:eT,updateMany:tT,deleteOne:sT,deleteMany:iT,initialize:YA};selectors={selectById:cT,selectByIds:rT};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:y(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:y(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(PT(e));this.dispatch(i(e)),this.dispatch(Ot(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(bt(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 rw extends g{name="Procedure Step";url="/procedure-steps";actions={addOne:fO,addMany:SO,setOne:mO,setMany:yO,updateOne:AO,updateMany:TO,deleteOne:IO,deleteMany:bO,initialize:pO};selectors={selectById:PO,selectByIds:FO};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:y(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:y(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:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} ${this.name} that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=ut.v4(),_=l.toUuidArray(S),F=this.enqueueRequest({description:y(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_),blocks:[P].concat(_)});A.push(F),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class dw extends v{name="Procedure Type Attachment";url="/procedure-type-attachments";actions={addOne:gO,addMany:RO,setOne:wO,setMany:EO,updateOne:vO,updateMany:VO,deleteOne:BO,deleteMany:zO,initialize:MO};selectors={selectById:DO,selectByIds:qO};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 uw extends v{name="Procedure Type Fields Attachment";url="/procedure-type-fields-attachments";actions={addOne:kO,addMany:LO,setOne:HO,setMany:GO,updateOne:NO,updateMany:KO,deleteOne:WO,deleteMany:XO,initialize:UO};selectors={selectById:JO,selectByIds:QO};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 lw extends g{name="Procedure Type Fields";url="/procedure-type-fields";actions={addOne:tP,addMany:sP,setOne:iP,setMany:aP,updateOne:nP,updateMany:cP,deleteOne:rP,deleteMany:dP,initialize:eP};selectors={selectById:oP,selectByIds:hP};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:y(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 ow extends v{name="Procedure Field Values Attachment";url="/procedure-field-values-attachments";actions={addOne:yP,addMany:tn,setOne:fP,setMany:SP,updateOne:AP,updateMany:TP,deleteOne:IP,deleteMany:sn,initialize:mP};selectors={selectById:PP,selectByIds:FP};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:y(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:{project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class hw extends g{name="Procedure Field Values";url="/procedure-field-values";actions={addOne:RP,addMany:wP,setOne:EP,setMany:vP,updateOne:VP,updateMany:BP,deleteOne:zP,deleteMany:jP,initialize:gP};selectors={selectById:qP,selectByIds:$P};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:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.fields_revision,e.procedure],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const w=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(w),S.push(M(w)),P.push(w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(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(_P(e));this.dispatch(i(e)),this.dispatch(sn(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(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:{project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class pw extends g{name="Procedure Type";url="/procedure-types";actions={addOne:LP,addMany:HP,setOne:GP,setMany:NP,updateOne:KP,updateMany:WP,deleteOne:XP,deleteMany:YP,initialize:kP};selectors={selectById:QP,selectByIds:xP};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:y(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:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure type with uuid ${e} to exist`);const d=this.select(IT(e));this.dispatch(i(e)),this.dispatch(Ot(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(bt(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 mw extends g{name="Team Membership";url="/team-memberships";actions={addOne:AF,addMany:TF,setOne:IF,setMany:bF,updateOne:OF,updateMany:PF,deleteOne:FF,deleteMany:_F,initialize:SF};selectors={selectById:RF,selectByIds:wF};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:y(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:y(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:y(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:VF,addMany:BF,setOne:zF,setMany:jF,updateOne:CF,updateMany:DF,deleteOne:qF,deleteMany:$F,initialize:vF};selectors={selectById:kF,selectByIds:LF};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:y(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:y(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:y(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 fw extends dt{name="User";url="/user";actions={addOne:ua,addMany:Gf,setOne:Hf,setMany:Lf,updateOne:Kf,updateMany:Nf,deleteOne:la,deleteMany:Wf,initialize:kf};selectors={selectById:xt,selectByIds:Zf};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 An(t,e,i,a,n){const c=a instanceof yt;c&&e.checkAuth!==!1&&await a.auth.prepareAuth();const d={queryParams:"",isAuthNeeded:!0},{s3url:r,payload:p,headers:h,method:f,queryParams:A,attachmentHash:I,isExternalUrl:S,isAuthNeeded:P,isResponseBlob:_}={...d,...e};let F=e.url;const w=I?await i.files.getFileFromCache(I):void 0,V=w?await e_(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 ds=()=>{console.debug("aborting request:",e.url),j.abort()};n?.addEventListener("abort",ds),P&&c&&(j=a.auth.applyAuth(j)),h&&(j=j.set(h));try{return await j.query(A)}catch(B){const q=xF(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",ds)}}class Sw{store;constructor(e){this.store=e}_performRequest(e,i,a,n){const c=new l.DeferredPromise,d={...i,uuid:i.uuid??ut.v4()};return An(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(RS(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 Pt{graph;requestAttemptCounter;constructor(){this.graph=new F_.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(e){const i=new Pt;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))&&Pt._addDependency(n.payload.uuid,d.payload.uuid,i.graph)}}return i}_addDependency(e,i){Pt._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 l_;function o_(t){l_=t}function Ft(){return l_}let h_;function p_(t){h_=t}function m_(){return h_}let Tn=null;function ft(){const t=Ft();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(Tn)return Tn;const e=t.getState().offline.outbox,i=Pt._fromOutbox(e);return Tn=i,i}const Aw=(t,e)=>{const i=new e(t);return p_(i),o_(t),i};class Tw{_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 In{next;constructor(){this.next=null}then(e){return new Tw(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 ZF(e,a)}}}class y_ extends In{async run(e){return super.run(e)}}class f_ extends In{async run(e){return super.run(e)}}const S_=new y_().then(new f_).compile();function A_(t){return S_[0]?.run(t)}s.ALL_MIDDLEWARE=S_,s.APIError=z,s.AgentService=Gg,s.AssetAttachmentService=Ng,s.AssetCommentAttachmentService=Kg,s.AssetCommentService=Wg,s.AssetService=Xg,s.AssetTypeAttachmentService=Yg,s.AssetTypeFieldValuesAttachmentService=Qg,s.AssetTypeFieldValuesService=xg,s.AssetTypeFieldsAttachmentService=Zg,s.AssetTypeFieldsService=Jg,s.AssetTypeIdentifierService=eR,s.AssetTypeIdentifierValueService=tR,s.AssetTypeService=sR,s.AssetTypeStatusService=iR,s.BaseApiService=yt,s.BaseAuthService=u_,s.BaseModelApiService=dt,s.BaseOfflineFileModelApiService=v,s.BaseOfflineModelApiService=g,s.BaseSDK=Sw,s.COMMON_AUTO_FIELDS=On,s.DEFAULT_PAGE_SIZE=NF,s.DISCARD_HTTP_STATUSES=yn,s.DocumentAttachmentService=aR,s.DocumentService=nR,s.EmailDomainsService=cR,s.EmailVerificationService=rR,s.FileService=dR,s.FormIdentifierService=uR,s.FormIdentifierValueService=lR,s.FormRevisionAttachmentService=oR,s.FormRevisionService=hR,s.FormService=pR,s.FormSubmissionCommentAttachmentService=SR,s.FormSubmissionCommentService=AR,s.FormSubmissionFieldValuesAttachmentService=yR,s.FormSubmissionFieldValuesService=fR,s.FormSubmissionService=TR,s.FormSubscriberService=mR,s.GeoImageService=IR,s.HttpMethod=o,s.IssueAssociationService=bR,s.IssueAttachmentService=OR,s.IssueCommentAttachmentService=PR,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=y_,s.OfflineMiddleware=In,s.OrganizationAccessService=UR,s.OrganizationService=kR,s.OutboxCoordinator=Pt,s.ProcdureInitiativeService=cw,s.ProcedureFieldValuesAttachmentService=ow,s.ProcedureFieldValuesService=hw,s.ProcedureService=XR,s.ProcedureStepAssigneeService=YR,s.ProcedureStepCommentService=ZR,s.ProcedureStepDefaultAssigneeService=JR,s.ProcedureStepDefaultReviewerService=QR,s.ProcedureStepEventService=xR,s.ProcedureStepFieldValuesAttachmentService=sw,s.ProcedureStepFieldValuesReviewService=iw,s.ProcedureStepFieldValuesService=aw,s.ProcedureStepFieldsAttachmentService=ew,s.ProcedureStepFieldsService=tw,s.ProcedureStepReviewerService=nw,s.ProcedureStepService=rw,s.ProcedureTypeAttachmentService=dw,s.ProcedureTypeFieldsAttachmentService=uw,s.ProcedureTypeFieldsService=lw,s.ProcedureTypeService=pw,s.ProjectAccessService=LR,s.ProjectAttachmentService=HR,s.ProjectCommentService=GR,s.ProjectFileService=NR,s.ProjectService=KR,s.RESET_ORGANIZATION_STATE=O,s.RESET_PROJECT_STATE=E,s.RESET_STATE=T,s.RateLimitingMiddleware=f_,s.ReportService=WR,s.TeamMembershipService=mw,s.TeamService=yw,s.UserService=fw,s._setLatestRetryTime=ES,s.addAsset=Ac,s.addAssetAttachment=vn,s.addAssetAttachments=hs,s.addAssetComment=ac,s.addAssetCommentAttachment=Gn,s.addAssetCommentAttachments=Nn,s.addAssetComments=Ct,s.addAssetType=bd,s.addAssetTypeAttachment=vc,s.addAssetTypeAttachments=Os,s.addAssetTypeFieldValues=vr,s.addAssetTypeFieldValuesAttachment=Ar,s.addAssetTypeFieldValuesAttachments=ws,s.addAssetTypeFieldValuesMany=Vr,s.addAssetTypeFields=ar,s.addAssetTypeFieldsAttachment=Gc,s.addAssetTypeFieldsAttachments=Nc,s.addAssetTypeFieldsMany=nr,s.addAssetTypeIdentifier=Nr,s.addAssetTypeIdentifierValue=nd,s.addAssetTypeIdentifierValues=cd,s.addAssetTypeIdentifiers=Kr,s.addAssetTypeStatus=Bd,s.addAssetTypeStatuses=zd,s.addAssetTypes=Od,s.addAssets=Ts,s.addConversation=_n,s.addConversations=M_,s.addDocument=lu,s.addDocumentAttachment=Zd,s.addDocumentAttachments=Jd,s.addDocuments=ou,s.addEmailDomain=Fu,s.addEmailDomains=_u,s.addForm=Ql,s.addFormIdentifier=qu,s.addFormIdentifierValue=Qu,s.addFormIdentifierValues=xu,s.addFormIdentifiers=$u,s.addFormRevision=Ml,s.addFormRevisionAttachment=hl,s.addFormRevisionAttachments=pl,s.addFormRevisions=Js,s.addFormSubmission=hh,s.addFormSubmissionComment=Jo,s.addFormSubmissionCommentAttachment=Do,s.addFormSubmissionCommentAttachments=qo,s.addFormSubmissionComments=Si,s.addFormSubmissionFieldValues=Fo,s.addFormSubmissionFieldValuesAttachment=po,s.addFormSubmissionFieldValuesAttachments=ni,s.addFormSubmissionFieldValuesMany=oi,s.addFormSubmissions=lt,s.addFormSubscriber=$l,s.addFormSubscribers=ei,s.addForms=xl,s.addGeoImage=wh,s.addGeoImages=Eh,s.addIssue=Hp,s.addIssueAssociation=Nh,s.addIssueAssociations=At,s.addIssueAttachment=ip,s.addIssueAttachments=Fi,s.addIssueComment=Ep,s.addIssueCommentAttachment=fp,s.addIssueCommentAttachments=Sp,s.addIssueComments=vp,s.addIssueType=nf,s.addIssueTypeAttachment=sm,s.addIssueTypeAttachments=im,s.addIssueTypeFieldValues=Em,s.addIssueTypeFieldValuesAttachment=ay,s.addIssueTypeFieldValuesAttachments=ki,s.addIssueTypeFieldValuesMany=vm,s.addIssueTypeFields=Gm,s.addIssueTypeFieldsAttachment=fm,s.addIssueTypeFieldsAttachments=Sm,s.addIssueTypeFieldsMany=Nm,s.addIssueTypeIdentifier=Sy,s.addIssueTypeIdentifierValue=vy,s.addIssueTypeIdentifierValues=Vy,s.addIssueTypeIdentifiers=Ay,s.addIssueTypePriorities=Ky,s.addIssueTypePriority=Ny,s.addIssueTypeStatus=Tf,s.addIssueTypeStatuses=If,s.addIssueTypes=cf,s.addIssueUpdate=sa,s.addIssueUpdates=ia,s.addIssues=Vi,s.addOrganization=fS,s.addOrganizationAccess=xf,s.addOrganizationAccesses=eS,s.addOrganizations=yS,s.addProcedure=lT,s.addProcedureFieldValues=RP,s.addProcedureFieldValuesAttachment=yP,s.addProcedureFieldValuesAttachments=tn,s.addProcedureFieldValuesMany=wP,s.addProcedureInitiative=ZA,s.addProcedureInitiatives=JA,s.addProcedureStep=fO,s.addProcedureStepAssignee=MT,s.addProcedureStepAssignees=gT,s.addProcedureStepComment=UT,s.addProcedureStepComments=kT,s.addProcedureStepDefaultAssignee=eI,s.addProcedureStepDefaultAssignees=tI,s.addProcedureStepDefaultReviewer=mI,s.addProcedureStepDefaultReviewers=yI,s.addProcedureStepEvent=RI,s.addProcedureStepEvents=wI,s.addProcedureStepFieldValues=gb,s.addProcedureStepFieldValuesAttachment=mb,s.addProcedureStepFieldValuesAttachments=qa,s.addProcedureStepFieldValuesMany=Rb,s.addProcedureStepFieldValuesReview=kb,s.addProcedureStepFieldValuesReviews=Ha,s.addProcedureStepFields=tb,s.addProcedureStepFieldsAttachment=LI,s.addProcedureStepFieldsAttachments=Va,s.addProcedureStepFieldsMany=sb,s.addProcedureStepReviewer=eO,s.addProcedureStepReviewers=tO,s.addProcedureSteps=SO,s.addProcedureType=LP,s.addProcedureTypeAttachment=gO,s.addProcedureTypeAttachments=RO,s.addProcedureTypeFields=tP,s.addProcedureTypeFieldsAttachment=kO,s.addProcedureTypeFieldsAttachments=LO,s.addProcedureTypeFieldsMany=sP,s.addProcedureTypes=HP,s.addProcedures=bt,s.addProject=$A,s.addProjectAccess=zS,s.addProjectAccesses=jS,s.addProjectAttachment=WS,s.addProjectAttachments=XS,s.addProjectComment=rA,s.addProjectComments=dA,s.addProjectFile=PA,s.addProjectFiles=FA,s.addProjects=qA,s.addReport=iF,s.addReports=aF,s.addTeam=VF,s.addTeamMembership=AF,s.addTeamMemberships=TF,s.addTeams=BF,s.addUser=ua,s.addUsers=Gf,s.agentsReducer=Rn,s.agentsSlice=us,s.assetAttachmentReducer=kn,s.assetAttachmentSlice=os,s.assetCommentAttachmentReducer=tc,s.assetCommentAttachmentSlice=ys,s.assetCommentReducer=yc,s.assetCommentSlice=Ss,s.assetReducer=Rc,s.assetSlice=As,s.assetTypeAttachmentReducer=kc,s.assetTypeAttachmentSlice=bs,s.assetTypeFieldValuesAttachmentReducer=Rr,s.assetTypeFieldValuesAttachmentSlice=Rs,s.assetTypeFieldValuesReducer=Lr,s.assetTypeFieldValuesSlice=Vs,s.assetTypeFieldsAttachmentReducer=tr,s.assetTypeFieldsAttachmentSlice=_s,s.assetTypeFieldsReducer=yr,s.assetTypeFieldsSlice=gs,s.assetTypeIdentifierReducer=sd,s.assetTypeIdentifierSlice=Bs,s.assetTypeIdentifierValueReducer=fd,s.assetTypeIdentifierValueSlice=js,s.assetTypeReducer=Ed,s.assetTypeSlice=Cs,s.assetTypeStatusReducer=Gd,s.assetTypeStatusSlice=qs,s.authReducer=Wd,s.authSlice=Lt,s.baseReducer=Eg,s.baseReducers=mn,s.clearTokens=K_,s.createModelAdapter=b,s.createOfflineAction=MS,s.createPayload=M,s.createSelectionAdapter=__,s.deleteAsset=bc,s.deleteAssetAttachment=Cn,s.deleteAssetAttachments=ps,s.deleteAssetComment=uc,s.deleteAssetCommentAttachment=Zn,s.deleteAssetCommentAttachments=Jn,s.deleteAssetComments=Dt,s.deleteAssetType=_d,s.deleteAssetTypeAttachment=Cc,s.deleteAssetTypeAttachments=Ps,s.deleteAssetTypeFieldValues=Dr,s.deleteAssetTypeFieldValuesAttachment=Pr,s.deleteAssetTypeFieldValuesAttachments=Es,s.deleteAssetTypeFieldValuesMany=qr,s.deleteAssetTypeFields=lr,s.deleteAssetTypeFieldsAttachment=Zc,s.deleteAssetTypeFieldsAttachments=Jc,s.deleteAssetTypeFieldsMany=or,s.deleteAssetTypeIdentifier=Jr,s.deleteAssetTypeIdentifierValue=od,s.deleteAssetTypeIdentifierValues=hd,s.deleteAssetTypeIdentifiers=Qr,s.deleteAssetTypeStatus=$d,s.deleteAssetTypeStatuses=Ud,s.deleteAssetTypes=Md,s.deleteAssets=Is,s.deleteConversation=w_,s.deleteConversations=E_,s.deleteDocument=fu,s.deleteDocumentAttachment=su,s.deleteDocumentAttachments=iu,s.deleteDocuments=Su,s.deleteEmailDomain=Eu,s.deleteEmailDomains=vu,s.deleteForm=ao,s.deleteFormIdentifier=Gu,s.deleteFormIdentifierValue=al,s.deleteFormIdentifierValues=nl,s.deleteFormIdentifiers=Nu,s.deleteFormRevision=vl,s.deleteFormRevisionAttachment=Al,s.deleteFormRevisionAttachments=Tl,s.deleteFormRevisions=Qs,s.deleteFormSubmission=yh,s.deleteFormSubmissionComment=sh,s.deleteFormSubmissionCommentAttachment=Ho,s.deleteFormSubmissionCommentAttachments=Go,s.deleteFormSubmissionComments=Ai,s.deleteFormSubmissionFieldValues=wo,s.deleteFormSubmissionFieldValuesAttachment=Ao,s.deleteFormSubmissionFieldValuesAttachments=ci,s.deleteFormSubmissionFieldValuesMany=hi,s.deleteFormSubmissions=ot,s.deleteFormSubscriber=Gl,s.deleteFormSubscribers=ti,s.deleteForms=no,s.deleteGeoImage=Bh,s.deleteGeoImages=zh,s.deleteIssue=Xp,s.deleteIssueAssociation=Kh,s.deleteIssueAssociations=Tt,s.deleteIssueAttachment=dp,s.deleteIssueAttachments=_i,s.deleteIssueComment=Cp,s.deleteIssueCommentAttachment=Op,s.deleteIssueCommentAttachments=Pp,s.deleteIssueComments=Dp,s.deleteIssueType=of,s.deleteIssueTypeAttachment=dm,s.deleteIssueTypeAttachments=um,s.deleteIssueTypeFieldValues=Cm,s.deleteIssueTypeFieldValuesAttachment=uy,s.deleteIssueTypeFieldValuesAttachments=Li,s.deleteIssueTypeFieldValuesMany=Dm,s.deleteIssueTypeFields=Zm,s.deleteIssueTypeFieldsAttachment=Om,s.deleteIssueTypeFieldsAttachments=Pm,s.deleteIssueTypeFieldsMany=Jm,s.deleteIssueTypeIdentifier=Py,s.deleteIssueTypeIdentifierValue=Dy,s.deleteIssueTypeIdentifierValues=qy,s.deleteIssueTypeIdentifiers=Fy,s.deleteIssueTypePriorities=Qy,s.deleteIssueTypePriority=Jy,s.deleteIssueTypeStatus=_f,s.deleteIssueTypeStatuses=Mf,s.deleteIssueTypes=hf,s.deleteIssueUpdate=aa,s.deleteIssueUpdates=na,s.deleteIssues=Bi,s.deleteOrganization=TS,s.deleteOrganizationAccess=nS,s.deleteOrganizationAccesses=cS,s.deleteOrganizations=IS,s.deleteProcedure=yT,s.deleteProcedureFieldValues=zP,s.deleteProcedureFieldValuesAttachment=IP,s.deleteProcedureFieldValuesAttachments=sn,s.deleteProcedureFieldValuesMany=jP,s.deleteProcedureInitiative=sT,s.deleteProcedureInitiatives=iT,s.deleteProcedureStep=IO,s.deleteProcedureStepAssignee=VT,s.deleteProcedureStepAssignees=BT,s.deleteProcedureStepComment=KT,s.deleteProcedureStepComments=WT,s.deleteProcedureStepDefaultAssignee=cI,s.deleteProcedureStepDefaultAssignees=rI,s.deleteProcedureStepDefaultReviewer=II,s.deleteProcedureStepDefaultReviewers=bI,s.deleteProcedureStepEvent=zI,s.deleteProcedureStepEvents=jI,s.deleteProcedureStepFieldValues=Bb,s.deleteProcedureStepFieldValuesAttachment=Tb,s.deleteProcedureStepFieldValuesAttachments=$a,s.deleteProcedureStepFieldValuesMany=zb,s.deleteProcedureStepFieldValuesReview=Kb,s.deleteProcedureStepFieldValuesReviews=Ga,s.deleteProcedureStepFields=rb,s.deleteProcedureStepFieldsAttachment=WI,s.deleteProcedureStepFieldsAttachments=Ba,s.deleteProcedureStepFieldsMany=db,s.deleteProcedureStepReviewer=cO,s.deleteProcedureStepReviewers=rO,s.deleteProcedureSteps=bO,s.deleteProcedureType=XP,s.deleteProcedureTypeAttachment=BO,s.deleteProcedureTypeAttachments=zO,s.deleteProcedureTypeFields=rP,s.deleteProcedureTypeFieldsAttachment=WO,s.deleteProcedureTypeFieldsAttachments=XO,s.deleteProcedureTypeFieldsMany=dP,s.deleteProcedureTypes=YP,s.deleteProcedures=Ot,s.deleteProject=LA,s.deleteProjectAccess=US,s.deleteProjectAccesses=kS,s.deleteProjectAttachment=xS,s.deleteProjectAttachments=eA,s.deleteProjectComment=pA,s.deleteProjectComments=mA,s.deleteProjectFile=gA,s.deleteProjectFiles=RA,s.deleteProjects=HA,s.deleteReport=uF,s.deleteReports=lF,s.deleteTeam=qF,s.deleteTeamMembership=FF,s.deleteTeamMemberships=_F,s.deleteTeams=$F,s.deleteUser=la,s.deleteUsers=Wf,s.dequeue=YF,s.discard=JF,s.documentAttachmentReducer=ru,s.documentAttachmentSlice=Us,s.documentSlice=Ls,s.documentsReducer=Au,s.emailDomainsReducer=ju,s.emailDomainsSlice=Gs,s.enqueue=XF,s.enqueueRequest=RS,s.extractResponseFromError=xF,s.fetchBlobFromObjectUrl=s_,s.fetchFileFromObjectUrl=i_,s.fileToBlob=e_,s.formIdentifierReducer=Yu,s.formIdentifierSlice=Ks,s.formIdentifierValueReducer=ul,s.formIdentifierValueSlice=Xs,s.formReducer=co,s.formRevisionAttachmentReducer=Pl,s.formRevisionAttachmentSlice=Ys,s.formRevisionReducer=Cl,s.formRevisionsSlice=Zs,s.formSlice=si,s.formSubmissionCommentAttachmentReducer=Xo,s.formSubmissionCommentAttachmentSlice=mi,s.formSubmissionCommentReducer=rh,s.formSubmissionCommentSlice=fi,s.formSubmissionFieldValuesAttachmentReducer=bo,s.formSubmissionFieldValuesAttachmentSlice=ai,s.formSubmissionFieldValuesReducer=zo,s.formSubmissionFieldValuesSlice=li,s.formSubmissionReducer=Fh,s.formSubmissionSlice=Ti,s.formSubscriberReducer=Yl,s.formSubscriberSlice=xs,s.geoImageReducer=qh,s.geoImageSlice=Ii,s.getClientSDK=m_,s.getClientStore=Ft,s.getFileExtension=t_,s.getOutboxCoordinator=ft,s.getPresignedUrlExpiryDate=r_,s.getRenamedFile=Lg,s.getRequestDescription=y,s.getS3FileKey=kg,s.hashFile=rs,s.initSDK=Aw,s.initializeAssetAttachments=En,s.initializeAssetCommentAttachments=Hn,s.initializeAssetComments=ic,s.initializeAssetTypeAttachments=Ec,s.initializeAssetTypeFieldValues=Er,s.initializeAssetTypeFieldValuesAttachments=Sr,s.initializeAssetTypeFields=ir,s.initializeAssetTypeFieldsAttachments=Hc,s.initializeAssetTypeIdentifierValues=ad,s.initializeAssetTypeIdentifiers=Gr,s.initializeAssetTypeStatuses=Vd,s.initializeAssetTypes=Ad,s.initializeAssets=Sc,s.initializeConversations=Fn,s.initializeDocumentAttachments=Yd,s.initializeDocuments=uu,s.initializeEmailDomains=Pu,s.initializeFormIdentifierValues=Ju,s.initializeFormIdentifiers=Du,s.initializeFormRevisionAttachments=ol,s.initializeFormRevisions=_l,s.initializeFormSubmissionCommentAttachments=Co,s.initializeFormSubmissionComments=Zo,s.initializeFormSubmissionFieldValues=Po,s.initializeFormSubmissionFieldValuesAttachments=ho,s.initializeFormSubmissions=uh,s.initializeFormSubscribers=ql,s.initializeForms=Jl,s.initializeGeoImages=Mh,s.initializeIssueAssociations=Uh,s.initializeIssueAttachments=sp,s.initializeIssueCommentAttachments=yp,s.initializeIssueComments=wp,s.initializeIssueTypeAttachments=tm,s.initializeIssueTypeFieldValues=wm,s.initializeIssueTypeFieldValuesAttachments=iy,s.initializeIssueTypeFields=Hm,s.initializeIssueTypeFieldsAttachments=ym,s.initializeIssueTypeIdentifierValues=Ey,s.initializeIssueTypeIdentifiers=fy,s.initializeIssueTypePriorities=Gy,s.initializeIssueTypeStatuses=Af,s.initializeIssueTypes=af,s.initializeIssueUpdates=vf,s.initializeIssues=Lp,s.initializeOrganizationAccesses=Qf,s.initializeOrganizations=hS,s.initializeProcedureFieldValues=gP,s.initializeProcedureFieldValuesAttachments=mP,s.initializeProcedureInitiatives=YA,s.initializeProcedureStepAssignees=_T,s.initializeProcedureStepComments=$T,s.initializeProcedureStepDefaultAssignees=xT,s.initializeProcedureStepDefaultReviewers=pI,s.initializeProcedureStepEvents=gI,s.initializeProcedureStepFieldValues=Mb,s.initializeProcedureStepFieldValuesAttachments=pb,s.initializeProcedureStepFieldValuesReviews=Ub,s.initializeProcedureStepFields=eb,s.initializeProcedureStepFieldsAttachments=kI,s.initializeProcedureStepReviewers=xb,s.initializeProcedureSteps=pO,s.initializeProcedureTypeAttachments=MO,s.initializeProcedureTypeFields=eP,s.initializeProcedureTypeFieldsAttachments=UO,s.initializeProcedureTypes=kP,s.initializeProcedures=uT,s.initializeProjectAccesses=BS,s.initializeProjectAttachments=KS,s.initializeProjectComments=cA,s.initializeProjectFiles=IA,s.initializeProjects=jA,s.initializeReports=sF,s.initializeTeamMemberships=SF,s.initializeTeams=vF,s.initializeUsers=kf,s.isCloudfrontUrl=n_,s.isImageFile=Hg,s.isObjectUrl=a_,s.isPresignedUrlExpired=d_,s.isS3Url=c_,s.issueAssociationReducer=ep,s.issueAssociationSlice=Oi,s.issueAttachmentReducer=pp,s.issueAttachmentSlice=Pi,s.issueCommentAttachmentReducer=gp,s.issueCommentAttachmentSlice=gi,s.issueCommentReducer=Up,s.issueCommentSlice=wi,s.issueReducer=xp,s.issueSlice=vi,s.issueTypeAttachmentReducer=pm,s.issueTypeAttachmentSlice=zi,s.issueTypeFieldValuesAttachmentReducer=my,s.issueTypeFieldValuesAttachmentSlice=Ui,s.issueTypeFieldValuesReducer=km,s.issueTypeFieldValuesSlice=qi,s.issueTypeFieldsAttachmentReducer=gm,s.issueTypeFieldsAttachmentSlice=Ci,s.issueTypeFieldsReducer=ty,s.issueTypeFieldsSlice=$i,s.issueTypeIdentifierReducer=Ry,s.issueTypeIdentifierSlice=Gi,s.issueTypeIdentifierValueReducer=Ly,s.issueTypeIdentifierValueSlice=Ki,s.issueTypePriorityReducer=tf,s.issueTypePrioritySlice=Wi,s.issueTypeReducer=ff,s.issueTypeSlice=Zi,s.issueTypeStatusReducer=wf,s.issueTypeStatusSlice=Qi,s.issueUpdateReducer=$f,s.issueUpdateSlice=ta,s.markAsDeleted=wS,s.markForDeletion=zM,s.organizationAccessReducer=rS,s.organizationAccessSlice=ha,s.organizationReducer=_S,s.organizationSlice=pa,s.outboxReducer=vS,s.outboxSlice=ma,s.overmapEnhancer=jg,s.overmapReducer=vg,s.overmapReducers=GF,s.performRequest=An,s.performRequestFromAction=ZF,s.procedureFieldValuesAttachmentReducer=bP,s.procedureFieldValuesAttachmentSlice=en,s.procedureFieldValuesReducer=CP,s.procedureFieldValuesSlice=nn,s.procedureInitiativeReducer=aT,s.procedureInitiativeSlice=Oa,s.procedureReducer=fT,s.procedureSlice=Pa,s.procedureStepAssigneeReducer=DT,s.procedureStepAssigneeSlice=Fa,s.procedureStepCommentReducer=JT,s.procedureStepCommentSlice=_a,s.procedureStepDefaultAssigneeReducer=oI,s.procedureStepDefaultAssigneeSlice=Ma,s.procedureStepDefaultReviewerReducer=_I,s.procedureStepDefaultReviewerSlice=Ra,s.procedureStepEventReducer=$I,s.procedureStepEventSlice=Ea,s.procedureStepFieldValuesAttachmentReducer=Fb,s.procedureStepFieldValuesAttachmentSlice=Da,s.procedureStepFieldValuesReducer=jb,s.procedureStepFieldValuesReviewReducer=Jb,s.procedureStepFieldValuesReviewSlice=La,s.procedureStepFieldValuesSlice=ka,s.procedureStepFieldsAttachmentReducer=QI,s.procedureStepFieldsAttachmentSlice=va,s.procedureStepFieldsReducer=ob,s.procedureStepFieldsSlice=ja,s.procedureStepReducer=OO,s.procedureStepReviewerReducer=oO,s.procedureStepReviewerSlice=Na,s.procedureStepSlice=Ka,s.procedureTypeAttachmentReducer=jO,s.procedureTypeAttachmentSlice=Ya,s.procedureTypeFieldsAttachmentReducer=YO,s.procedureTypeFieldsAttachmentSlice=Ja,s.procedureTypeFieldsReducer=uP,s.procedureTypeFieldsSlice=xa,s.procedureTypeReducer=ZP,s.procedureTypeSlice=rn,s.projectAccessReducer=LS,s.projectAccessSlice=ya,s.projectAttachmentReducer=aA,s.projectAttachmentSlice=Sa,s.projectCommentReducer=AA,s.projectCommentSlice=Ta,s.projectFileReducer=BA,s.projectFileSlice=Ia,s.projectReducer=GA,s.projectSlice=ba,s.rehydratedReducer=eF,s.rehydratedSlice=un,s.reportReducer=yF,s.reportSlice=ln,s.restructureSelectorWithArgs=m,s.runMiddleware=A_,s.selectAccessToken=W_,s.selectAccessesByUserOfProject=CM,s.selectAccessibleProjects=kM,s.selectActiveOrganizationAccess=EM,s.selectAllDocumentAttachments=ks,s.selectAssetAttachmentById=qn,s.selectAssetAttachmentMapping=Dn,s.selectAssetAttachments=ms,s.selectAssetAttachmentsByIds=$n,s.selectAssetById=Mc,s.selectAssetCommentAttachmentById=xn,s.selectAssetCommentAttachmentMapping=Qn,s.selectAssetCommentAttachments=fs,s.selectAssetCommentAttachmentsByIds=ec,s.selectAssetCommentById=oc,s.selectAssetCommentMapping=lc,s.selectAssetComments=qt,s.selectAssetCommentsByIds=hc,s.selectAssetTypeAttachmentById=qc,s.selectAssetTypeAttachmentMapping=Dc,s.selectAssetTypeAttachments=Fs,s.selectAssetTypeAttachmentsByIds=$c,s.selectAssetTypeById=Rd,s.selectAssetTypeFieldValues=Ut,s.selectAssetTypeFieldValuesAttachmentById=_r,s.selectAssetTypeFieldValuesAttachments=vs,s.selectAssetTypeFieldValuesAttachmentsByIds=Mr,s.selectAssetTypeFieldValuesAttachmentsMapping=Fr,s.selectAssetTypeFieldValuesById=Ur,s.selectAssetTypeFieldValuesByIds=kr,s.selectAssetTypeFieldValuesMapping=$r,s.selectAssetTypeFieldValuesOfAsset=q_,s.selectAssetTypeFields=Mt,s.selectAssetTypeFieldsAttachmentById=xc,s.selectAssetTypeFieldsAttachments=Ms,s.selectAssetTypeFieldsAttachmentsByIds=er,s.selectAssetTypeFieldsAttachmentsMapping=Qc,s.selectAssetTypeFieldsById=pr,s.selectAssetTypeFieldsByIds=mr,s.selectAssetTypeFieldsMapping=hr,s.selectAssetTypeFieldsOfAssetType=C_,s.selectAssetTypeIdentifierById=ed,s.selectAssetTypeIdentifierMapping=xr,s.selectAssetTypeIdentifierValueById=md,s.selectAssetTypeIdentifierValueMapping=pd,s.selectAssetTypeIdentifierValues=kt,s.selectAssetTypeIdentifierValuesByIds=yd,s.selectAssetTypeIdentifierValuesOfAsset=k_,s.selectAssetTypeIdentifierValuesOfIdentifier=L_,s.selectAssetTypeIdentifiers=zs,s.selectAssetTypeIdentifiersByIds=td,s.selectAssetTypeIdentifiersOfAssetType=U_,s.selectAssetTypeStatusById=Ld,s.selectAssetTypeStatusMapping=kd,s.selectAssetTypeStatuses=$s,s.selectAssetTypeStatusesByIds=Hd,s.selectAssetTypeStatusesOfAssetType=G_,s.selectAssetTypeValuesOfAssetType=$_,s.selectAssetTypes=Ds,s.selectAssetTypesByIds=wd,s.selectAssetTypesMapping=gd,s.selectAssetTypesOfOrganization=H_,s.selectAssets=$t,s.selectAssetsByIds=gc,s.selectAssetsMapping=Fc,s.selectAssetsOfAssetType=_c,s.selectAssetsOfProject=z_,s.selectAttachmentsOfAsset=Un,s.selectAttachmentsOfAssetComment=B_,s.selectAttachmentsOfAssetType=Uc,s.selectAttachmentsOfAssetTypeFieldValues=gr,s.selectAttachmentsOfAssetTypeFields=j_,s.selectAttachmentsOfDocument=Y_,s.selectAttachmentsOfFormRevision=sM,s.selectAttachmentsOfFormSubmissionComment=cM,s.selectAttachmentsOfFormSubmissionFieldValues=Io,s.selectAttachmentsOfIssue=lp,s.selectAttachmentsOfIssueComment=pM,s.selectAttachmentsOfIssueType=fM,s.selectAttachmentsOfIssueTypeFieldValues=py,s.selectAttachmentsOfIssueTypeFields=SM,s.selectAttachmentsOfProcedureFieldValues=_P,s.selectAttachmentsOfProcedureStepFieldValues=Pb,s.selectAttachmentsOfProcedureStepFields=YI,s.selectAttachmentsOfProcedureType=Ag,s.selectAttachmentsOfProcedureTypeFields=Tg,s.selectAttachmentsOfProject=qM,s.selectCommentsOfAsset=pc,s.selectCommentsOfAssets=mc,s.selectCommentsOfFormSubmission=ch,s.selectCommentsOfFormSubmissions=rM,s.selectCommentsOfIssue=mM,s.selectCommentsOfProject=$M,s.selectCommentsOfProjects=UM,s.selectConversation=V_,s.selectConversationMapping=ls,s.selectConversations=v_,s.selectCurrentUser=Yf,s.selectDeletedRequests=VM,s.selectDescendantsOfDocument=bu,s.selectDocumentAttachmentById=nu,s.selectDocumentAttachmentMapping=au,s.selectDocumentAttachmentsByIds=cu,s.selectDocumentById=Tu,s.selectDocuments=Ht,s.selectDocumentsByIds=Iu,s.selectDocumentsMapping=Hs,s.selectEmailDomainById=Bu,s.selectEmailDomains=Ns,s.selectEmailDomainsAsMapping=Vu,s.selectEmailDomainsByIds=zu,s.selectEmailDomainsOfOrganization=Q_,s.selectFieldValuesOfProcedure=Og,s.selectFormById=uo,s.selectFormIdentifierById=Wu,s.selectFormIdentifierMapping=Ku,s.selectFormIdentifierValueById=rl,s.selectFormIdentifierValueMapping=cl,s.selectFormIdentifierValues=Gt,s.selectFormIdentifierValuesByIds=dl,s.selectFormIdentifierValuesOfFormSubmission=eM,s.selectFormIdentifierValuesOfIdentifier=tM,s.selectFormIdentifiers=Ws,s.selectFormIdentifiersByIds=Xu,s.selectFormIdentifiersOfForm=x_,s.selectFormMapping=ro,s.selectFormRevisionAttachmentById=bl,s.selectFormRevisionAttachments=Il,s.selectFormRevisionAttachmentsByIds=Ol,s.selectFormRevisionAttachmentsMapping=Nt,s.selectFormRevisionById=Bl,s.selectFormRevisionMapping=Vl,s.selectFormRevisions=Kt,s.selectFormRevisionsByIds=zl,s.selectFormRevisionsOfForm=jl,s.selectFormSubmissionById=Sh,s.selectFormSubmissionCommentAttachmentById=Ko,s.selectFormSubmissionCommentAttachmentMapping=No,s.selectFormSubmissionCommentAttachments=yi,s.selectFormSubmissionCommentAttachmentsByIds=Wo,s.selectFormSubmissionCommentById=ah,s.selectFormSubmissionCommentMapping=ih,s.selectFormSubmissionComments=Xt,s.selectFormSubmissionCommentsByIds=nh,s.selectFormSubmissionFieldValues=pi,s.selectFormSubmissionFieldValuesAttachmentById=To,s.selectFormSubmissionFieldValuesAttachments=di,s.selectFormSubmissionFieldValuesAttachmentsByIds=ui,s.selectFormSubmissionFieldValuesAttachmentsMapping=ri,s.selectFormSubmissionFieldValuesById=vo,s.selectFormSubmissionFieldValuesByIds=Vo,s.selectFormSubmissionFieldValuesMapping=Eo,s.selectFormSubmissionFieldValuesOfFormSubmission=Bo,s.selectFormSubmissions=C,s.selectFormSubmissionsByIds=Ah,s.selectFormSubmissionsMapping=fh,s.selectFormSubmissionsOfAsset=Oh,s.selectFormSubmissionsOfAssets=Ph,s.selectFormSubmissionsOfForm=Th,s.selectFormSubmissionsOfIssue=Ih,s.selectFormSubmissionsOfIssues=bh,s.selectFormSubmissionsOfOrganization=dM,s.selectFormSubmissionsOfOrganizationAndForm=oM,s.selectFormSubmissionsOfProject=uM,s.selectFormSubmissionsOfProjectAndForm=lM,s.selectFormSubscriberById=Kl,s.selectFormSubscriberMapping=Nl,s.selectFormSubscribers=Wt,s.selectFormSubscribersByIds=Wl,s.selectFormSubscribersOfForm=Xl,s.selectFormSubscribersOfUser=aM,s.selectForms=ii,s.selectFormsByIds=lo,s.selectFormsOfOrganization=nM,s.selectGeoImageById=Ch,s.selectGeoImageMapping=jh,s.selectGeoImages=bi,s.selectGeoImagesByIds=Dh,s.selectGeoImagesOfProject=hM,s.selectIsLoggedIn=X_,s.selectIssueAssociationById=Xh,s.selectIssueAssociationMapping=Wh,s.selectIssueAssociations=It,s.selectIssueAssociationsByIds=Yh,s.selectIssueAssociationsOfAsset=Qh,s.selectIssueAssociationsOfAssets=xh,s.selectIssueAssociationsOfIssue=Jh,s.selectIssueAssociationsOfIssues=Zh,s.selectIssueAttachmentById=op,s.selectIssueAttachmentMapping=up,s.selectIssueAttachments=Mi,s.selectIssueAttachmentsByIds=hp,s.selectIssueById=Zp,s.selectIssueCommentAttachmentById=_p,s.selectIssueCommentAttachmentMapping=Fp,s.selectIssueCommentAttachments=Ri,s.selectIssueCommentAttachmentsByIds=Mp,s.selectIssueCommentById=qp,s.selectIssueCommentMapping=Ei,s.selectIssueCommentsByIds=$p,s.selectIssueMapping=Yp,s.selectIssueTypeAttachmentById=om,s.selectIssueTypeAttachmentMapping=lm,s.selectIssueTypeAttachments=ji,s.selectIssueTypeAttachmentsByIds=hm,s.selectIssueTypeById=mf,s.selectIssueTypeFieldValues=Zt,s.selectIssueTypeFieldValuesAttachmentById=oy,s.selectIssueTypeFieldValuesAttachments=Hi,s.selectIssueTypeFieldValuesAttachmentsByIds=hy,s.selectIssueTypeFieldValuesAttachmentsMapping=ly,s.selectIssueTypeFieldValuesById=$m,s.selectIssueTypeFieldValuesByIds=Um,s.selectIssueTypeFieldValuesMapping=qm,s.selectIssueTypeFieldValuesOfIssue=AM,s.selectIssueTypeFields=gt,s.selectIssueTypeFieldsAttachmentById=_m,s.selectIssueTypeFieldsAttachments=Di,s.selectIssueTypeFieldsAttachmentsByIds=Mm,s.selectIssueTypeFieldsAttachmentsMapping=Fm,s.selectIssueTypeFieldsById=xm,s.selectIssueTypeFieldsByIds=ey,s.selectIssueTypeFieldsMapping=Qm,s.selectIssueTypeFieldsOfIssueType=TM,s.selectIssueTypeIdentifierById=My,s.selectIssueTypeIdentifierMapping=_y,s.selectIssueTypeIdentifierValueById=Uy,s.selectIssueTypeIdentifierValueMapping=$y,s.selectIssueTypeIdentifierValues=Jt,s.selectIssueTypeIdentifierValuesByIds=ky,s.selectIssueTypeIdentifierValuesOfIdentifier=FM,s.selectIssueTypeIdentifierValuesOfIssue=PM,s.selectIssueTypeIdentifiers=Ni,s.selectIssueTypeIdentifiersByIds=gy,s.selectIssueTypeIdentifiersOfIssueType=OM,s.selectIssueTypeMapping=pf,s.selectIssueTypePriorities=Xi,s.selectIssueTypePrioritiesByIds=ef,s.selectIssueTypePrioritiesOfIssueType=_M,s.selectIssueTypePriorityById=Yi,s.selectIssueTypePriorityMapping=xy,s.selectIssueTypeStatusById=ea,s.selectIssueTypeStatusMapping=gf,s.selectIssueTypeStatuses=xi,s.selectIssueTypeStatusesByIds=Rf,s.selectIssueTypeStatusesOfIssueType=gM,s.selectIssueTypeValuesOfIssueType=bM,s.selectIssueTypes=Ji,s.selectIssueTypesByIds=yf,s.selectIssueTypesOfOrganization=MM,s.selectIssueUpdateById=Cf,s.selectIssueUpdateMapping=ca,s.selectIssueUpdates=ra,s.selectIssueUpdatesByIds=Df,s.selectIssueUpdatesOfIssue=qf,s.selectIssues=Yt,s.selectIssuesByIds=Jp,s.selectIssuesOfIssueType=Qp,s.selectIssuesOfProject=yM,s.selectLatestAssetTypeFieldsOfAssetType=D_,s.selectLatestFieldsByProcedureStep=ng,s.selectLatestFormRevisionOfForm=iM,s.selectLatestIssueTypeFieldsOfIssueType=IM,s.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=hg,s.selectLatestProcedureStepFieldsOfProcedureStep=ag,s.selectLatestProcedureTypeFieldsOfProcedureType=bg,s.selectLatestRetryTime=BM,s.selectLatestReviewOfProcedureStepFieldValues=ug,s.selectMembershipsByUserOfTeam=gg,s.selectOrganizationAccessById=dS,s.selectOrganizationAccessMapping=es,s.selectOrganizationAccessUserMapping=lS,s.selectOrganizationAccessesByIds=uS,s.selectOrganizationById=PS,s.selectOrganizationDocuments=J_,s.selectOrganizations=OS,s.selectOrganizationsByIds=FS,s.selectOrganizationsMapping=bS,s.selectProcedureById=AT,s.selectProcedureFieldValues=cn,s.selectProcedureFieldValuesAttachmentById=PP,s.selectProcedureFieldValuesAttachments=an,s.selectProcedureFieldValuesAttachmentsByIds=FP,s.selectProcedureFieldValuesAttachmentsMapping=OP,s.selectProcedureFieldValuesById=qP,s.selectProcedureFieldValuesByIds=$P,s.selectProcedureFieldValuesMapping=DP,s.selectProcedureInitiativeById=cT,s.selectProcedureInitiatives=is,s.selectProcedureInitiativesByIds=rT,s.selectProcedureInitiativesMapping=nT,s.selectProcedureInitiativesOfProcedureType=GM,s.selectProcedureInitiativesOfProject=HM,s.selectProcedureStepAssigneeById=jT,s.selectProcedureStepAssignees=wt,s.selectProcedureStepAssigneesByIds=CT,s.selectProcedureStepAssigneesMapping=zT,s.selectProcedureStepAssigneesOfProcedure=KM,s.selectProcedureStepAssigneesOfProcedureAndProcedureStep=XM,s.selectProcedureStepAssigneesOfProcedureStep=WM,s.selectProcedureStepById=PO,s.selectProcedureStepCommentById=YT,s.selectProcedureStepComments=Et,s.selectProcedureStepCommentsByIds=ZT,s.selectProcedureStepCommentsMapping=XT,s.selectProcedureStepCommentsOfProcedure=YM,s.selectProcedureStepCommentsOfProcedureAndProcedureStep=JM,s.selectProcedureStepCommentsOfProcedureStep=ZM,s.selectProcedureStepDefaultAssigneeById=uI,s.selectProcedureStepDefaultAssignees=ga,s.selectProcedureStepDefaultAssigneesByIds=lI,s.selectProcedureStepDefaultAssigneesMapping=dI,s.selectProcedureStepDefaultAssigneesOfProcedureStep=QM,s.selectProcedureStepDefaultReviewerById=PI,s.selectProcedureStepDefaultReviewers=wa,s.selectProcedureStepDefaultReviewersByIds=FI,s.selectProcedureStepDefaultReviewersMapping=OI,s.selectProcedureStepDefaultReviewersOfProcedureStep=xM,s.selectProcedureStepEventById=DI,s.selectProcedureStepEvents=vt,s.selectProcedureStepEventsByIds=qI,s.selectProcedureStepEventsMapping=CI,s.selectProcedureStepEventsOfProcedure=eg,s.selectProcedureStepEventsOfProcedureAndProcedureStep=sg,s.selectProcedureStepEventsOfProcedureStep=tg,s.selectProcedureStepFieldValues=pt,s.selectProcedureStepFieldValuesAttachmentById=bb,s.selectProcedureStepFieldValuesAttachments=Ua,s.selectProcedureStepFieldValuesAttachmentsByIds=Ob,s.selectProcedureStepFieldValuesAttachmentsMapping=Ib,s.selectProcedureStepFieldValuesById=Db,s.selectProcedureStepFieldValuesByIds=qb,s.selectProcedureStepFieldValuesMapping=Cb,s.selectProcedureStepFieldValuesOfProcedure=cg,s.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=dg,s.selectProcedureStepFieldValuesOfProcedureStep=rg,s.selectProcedureStepFieldValuesReviewById=Xb,s.selectProcedureStepFieldValuesReviews=mt,s.selectProcedureStepFieldValuesReviewsByIds=Yb,s.selectProcedureStepFieldValuesReviewsMapping=Wb,s.selectProcedureStepFieldValuesReviewsOfProcedure=lg,s.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=og,s.selectProcedureStepFields=as,s.selectProcedureStepFieldsAttachmentById=ZI,s.selectProcedureStepFieldsAttachments=za,s.selectProcedureStepFieldsAttachmentsByIds=JI,s.selectProcedureStepFieldsAttachmentsMapping=XI,s.selectProcedureStepFieldsById=ub,s.selectProcedureStepFieldsByIds=lb,s.selectProcedureStepFieldsMapping=Ca,s.selectProcedureStepFieldsOfProcedureStep=ig,s.selectProcedureStepReviewerById=uO,s.selectProcedureStepReviewers=Vt,s.selectProcedureStepReviewersByIds=lO,s.selectProcedureStepReviewersMapping=dO,s.selectProcedureStepReviewersOfProcedure=pg,s.selectProcedureStepReviewersOfProcedureAndProcedureStep=yg,s.selectProcedureStepReviewersOfProcedureStep=mg,s.selectProcedureSteps=Xa,s.selectProcedureStepsByIds=FO,s.selectProcedureStepsMapping=Wa,s.selectProcedureStepsMappingOfProcedureType=fg,s.selectProcedureStepsOfProcedureType=Sg,s.selectProcedureTypeAttachmentById=DO,s.selectProcedureTypeAttachmentMapping=CO,s.selectProcedureTypeAttachments=Za,s.selectProcedureTypeAttachmentsByIds=qO,s.selectProcedureTypeById=QP,s.selectProcedureTypeFields=ns,s.selectProcedureTypeFieldsAttachmentById=JO,s.selectProcedureTypeFieldsAttachments=Qa,s.selectProcedureTypeFieldsAttachmentsByIds=QO,s.selectProcedureTypeFieldsAttachmentsMapping=ZO,s.selectProcedureTypeFieldsById=oP,s.selectProcedureTypeFieldsByIds=hP,s.selectProcedureTypeFieldsMapping=lP,s.selectProcedureTypeFieldsOfProcedureType=Ig,s.selectProcedureTypes=dn,s.selectProcedureTypesByIds=xP,s.selectProcedureTypesMapping=JP,s.selectProcedureTypesOfOrganization=Pg,s.selectProcedures=ht,s.selectProceduresByIds=TT,s.selectProceduresMapping=ST,s.selectProceduresOfAsset=bT,s.selectProceduresOfAssets=OT,s.selectProceduresOfProcedureInitiative=PT,s.selectProceduresOfProcedureType=IT,s.selectProceduresOfProject=NM,s.selectProjectAccessById=HS,s.selectProjectAccessMapping=fa,s.selectProjectAccesses=Rt,s.selectProjectAccessesByIds=GS,s.selectProjectAccessesOfProject=jM,s.selectProjectAttachmentById=sA,s.selectProjectAttachmentMapping=tA,s.selectProjectAttachments=Aa,s.selectProjectAttachmentsByIds=iA,s.selectProjectById=KA,s.selectProjectCommentById=fA,s.selectProjectCommentMapping=yA,s.selectProjectComments=ts,s.selectProjectCommentsByIds=SA,s.selectProjectDocuments=Z_,s.selectProjectFileById=vA,s.selectProjectFileMapping=wA,s.selectProjectFiles=EA,s.selectProjectFilesByIds=VA,s.selectProjectMapping=NA,s.selectProjects=ss,s.selectProjectsByIds=WA,s.selectProjectsOfOrganization=LM,s.selectRehydrated=Mg,s.selectReportById=pF,s.selectReportMapping=oF,s.selectReports=hF,s.selectReportsByIds=mF,s.selectReviewsOfProcedureStepFieldValues=Zb,s.selectTeamById=kF,s.selectTeamMembershipById=RF,s.selectTeamMemberships=cs,s.selectTeamMembershipsByIds=wF,s.selectTeamMembershipsMapping=gF,s.selectTeams=pn,s.selectTeamsByIds=LF,s.selectTeamsMapping=UF,s.selectTeamsOfOrganization=wg,s.selectUserById=xt,s.selectUsers=Qt,s.selectUsersByIds=Zf,s.selectUsersMapping=oa,s.selectUsersOfOrganization=vM,s.selectUsersOfProject=DM,s.selectUsersOfTeam=Rg,s.setAsset=Oc,s.setAssetAttachment=Vn,s.setAssetAttachments=Bn,s.setAssetComment=nc,s.setAssetCommentAttachment=Kn,s.setAssetCommentAttachments=Wn,s.setAssetComments=cc,s.setAssetType=Td,s.setAssetTypeAttachment=Vc,s.setAssetTypeAttachments=Bc,s.setAssetTypeFieldValues=Br,s.setAssetTypeFieldValuesAttachment=Tr,s.setAssetTypeFieldValuesAttachments=Ir,s.setAssetTypeFieldValuesMany=zr,s.setAssetTypeFields=cr,s.setAssetTypeFieldsAttachment=Kc,s.setAssetTypeFieldsAttachments=Wc,s.setAssetTypeFieldsMany=rr,s.setAssetTypeIdentifier=Wr,s.setAssetTypeIdentifierValue=rd,s.setAssetTypeIdentifierValues=dd,s.setAssetTypeIdentifiers=Xr,s.setAssetTypeStatus=jd,s.setAssetTypeStatuses=Cd,s.setAssetTypes=Id,s.setAssets=Pc,s.setClientSDK=p_,s.setClientStore=o_,s.setConversation=Mn,s.setConversations=g_,s.setCurrentUser=RM,s.setCurrentUserProfile=wM,s.setDocument=hu,s.setDocumentAttachment=Qd,s.setDocumentAttachments=xd,s.setDocuments=pu,s.setEmailDomain=Mu,s.setEmailDomains=gu,s.setForm=eo,s.setFormIdentifier=Uu,s.setFormIdentifierValue=el,s.setFormIdentifierValues=tl,s.setFormIdentifiers=ku,s.setFormRevision=gl,s.setFormRevisionAttachment=ml,s.setFormRevisionAttachments=yl,s.setFormRevisions=Rl,s.setFormSubmission=lh,s.setFormSubmissionComment=Qo,s.setFormSubmissionCommentAttachment=$o,s.setFormSubmissionCommentAttachments=Uo,s.setFormSubmissionComments=xo,s.setFormSubmissionFieldValues=_o,s.setFormSubmissionFieldValuesAttachment=mo,s.setFormSubmissionFieldValuesAttachments=yo,s.setFormSubmissionFieldValuesMany=Mo,s.setFormSubmissions=oh,s.setFormSubscriber=Ul,s.setFormSubscribers=kl,s.setForms=to,s.setGeoImage=gh,s.setGeoImages=Rh,s.setIssue=Gp,s.setIssueAssociation=Lh,s.setIssueAssociations=kh,s.setIssueAttachment=ap,s.setIssueAttachments=np,s.setIssueComment=Vp,s.setIssueCommentAttachment=Ap,s.setIssueCommentAttachments=Tp,s.setIssueComments=Bp,s.setIssueType=rf,s.setIssueTypeAttachment=am,s.setIssueTypeAttachments=nm,s.setIssueTypeFieldValues=Vm,s.setIssueTypeFieldValuesAttachment=ny,s.setIssueTypeFieldValuesAttachments=cy,s.setIssueTypeFieldValuesMany=Bm,s.setIssueTypeFields=Km,s.setIssueTypeFieldsAttachment=Am,s.setIssueTypeFieldsAttachments=Tm,s.setIssueTypeFieldsMany=Wm,s.setIssueTypeIdentifier=Ty,s.setIssueTypeIdentifierValue=By,s.setIssueTypeIdentifierValues=zy,s.setIssueTypeIdentifiers=Iy,s.setIssueTypePriorities=Xy,s.setIssueTypePriority=Wy,s.setIssueTypeStatus=bf,s.setIssueTypeStatuses=Of,s.setIssueTypes=df,s.setIssueUpdate=Vf,s.setIssueUpdates=Bf,s.setIssues=Np,s.setLoggedIn=Kd,s.setOrganization=mS,s.setOrganizationAccess=tS,s.setOrganizationAccesses=sS,s.setOrganizations=pS,s.setProcedure=oT,s.setProcedureFieldValues=EP,s.setProcedureFieldValuesAttachment=fP,s.setProcedureFieldValuesAttachments=SP,s.setProcedureFieldValuesMany=vP,s.setProcedureInitiative=QA,s.setProcedureInitiatives=xA,s.setProcedureStep=mO,s.setProcedureStepAssignee=RT,s.setProcedureStepAssignees=wT,s.setProcedureStepComment=LT,s.setProcedureStepComments=HT,s.setProcedureStepDefaultAssignee=sI,s.setProcedureStepDefaultAssignees=iI,s.setProcedureStepDefaultReviewer=fI,s.setProcedureStepDefaultReviewers=SI,s.setProcedureStepEvent=EI,s.setProcedureStepEvents=vI,s.setProcedureStepFieldValues=wb,s.setProcedureStepFieldValuesAttachment=yb,s.setProcedureStepFieldValuesAttachments=fb,s.setProcedureStepFieldValuesMany=Eb,s.setProcedureStepFieldValuesReview=Lb,s.setProcedureStepFieldValuesReviews=Hb,s.setProcedureStepFields=ib,s.setProcedureStepFieldsAttachment=HI,s.setProcedureStepFieldsAttachments=GI,s.setProcedureStepFieldsMany=ab,s.setProcedureStepReviewer=sO,s.setProcedureStepReviewers=iO,s.setProcedureSteps=yO,s.setProcedureType=GP,s.setProcedureTypeAttachment=wO,s.setProcedureTypeAttachments=EO,s.setProcedureTypeFields=iP,s.setProcedureTypeFieldsAttachment=HO,s.setProcedureTypeFieldsAttachments=GO,s.setProcedureTypeFieldsMany=aP,s.setProcedureTypes=NP,s.setProcedures=hT,s.setProject=DA,s.setProjectAccess=CS,s.setProjectAccesses=DS,s.setProjectAttachment=YS,s.setProjectAttachments=ZS,s.setProjectComment=uA,s.setProjectComments=lA,s.setProjectFile=bA,s.setProjectFiles=OA,s.setProjects=CA,s.setRehydrated=_g,s.setReport=nF,s.setReports=cF,s.setTeam=zF,s.setTeamMembership=IF,s.setTeamMemberships=bF,s.setTeams=jF,s.setTokens=N_,s.setUser=Hf,s.setUsers=Lf,s.teamMembershipReducer=MF,s.teamMembershipSlice=on,s.teamReducer=HF,s.teamSlice=hn,s.updateAsset=Tc,s.updateAssetAttachment=zn,s.updateAssetAttachments=jn,s.updateAssetComment=rc,s.updateAssetCommentAttachment=Xn,s.updateAssetCommentAttachments=Yn,s.updateAssetComments=dc,s.updateAssetType=Pd,s.updateAssetTypeAttachment=zc,s.updateAssetTypeAttachments=jc,s.updateAssetTypeFieldValues=jr,s.updateAssetTypeFieldValuesAttachment=br,s.updateAssetTypeFieldValuesAttachments=Or,s.updateAssetTypeFieldValuesMany=Cr,s.updateAssetTypeFields=dr,s.updateAssetTypeFieldsAttachment=Xc,s.updateAssetTypeFieldsAttachments=Yc,s.updateAssetTypeFieldsMany=ur,s.updateAssetTypeIdentifier=Yr,s.updateAssetTypeIdentifierValue=ud,s.updateAssetTypeIdentifierValues=ld,s.updateAssetTypeIdentifiers=Zr,s.updateAssetTypeStatus=Dd,s.updateAssetTypeStatuses=qd,s.updateAssetTypes=Fd,s.updateAssets=Ic,s.updateConversation=gn,s.updateConversations=R_,s.updateDocument=mu,s.updateDocumentAttachment=eu,s.updateDocumentAttachments=tu,s.updateDocuments=yu,s.updateEmailDomain=Ru,s.updateEmailDomains=wu,s.updateForm=so,s.updateFormIdentifier=Lu,s.updateFormIdentifierValue=sl,s.updateFormIdentifierValues=il,s.updateFormIdentifiers=Hu,s.updateFormRevision=wl,s.updateFormRevisionAttachment=fl,s.updateFormRevisionAttachments=Sl,s.updateFormRevisions=El,s.updateFormSubmission=ph,s.updateFormSubmissionComment=eh,s.updateFormSubmissionCommentAttachment=ko,s.updateFormSubmissionCommentAttachments=Lo,s.updateFormSubmissionComments=th,s.updateFormSubmissionFieldValues=go,s.updateFormSubmissionFieldValuesAttachment=fo,s.updateFormSubmissionFieldValuesAttachments=So,s.updateFormSubmissionFieldValuesMany=Ro,s.updateFormSubmissions=mh,s.updateFormSubscriber=Ll,s.updateFormSubscribers=Hl,s.updateForms=io,s.updateGeoImage=vh,s.updateGeoImages=Vh,s.updateIssue=Kp,s.updateIssueAssociation=Hh,s.updateIssueAssociations=Gh,s.updateIssueAttachment=cp,s.updateIssueAttachments=rp,s.updateIssueComment=zp,s.updateIssueCommentAttachment=Ip,s.updateIssueCommentAttachments=bp,s.updateIssueComments=jp,s.updateIssueType=uf,s.updateIssueTypeAttachment=cm,s.updateIssueTypeAttachments=rm,s.updateIssueTypeFieldValues=zm,s.updateIssueTypeFieldValuesAttachment=ry,s.updateIssueTypeFieldValuesAttachments=dy,s.updateIssueTypeFieldValuesMany=jm,s.updateIssueTypeFields=Xm,s.updateIssueTypeFieldsAttachment=Im,s.updateIssueTypeFieldsAttachments=bm,s.updateIssueTypeFieldsMany=Ym,s.updateIssueTypeIdentifier=by,s.updateIssueTypeIdentifierValue=jy,s.updateIssueTypeIdentifierValues=Cy,s.updateIssueTypeIdentifiers=Oy,s.updateIssueTypePriorities=Zy,s.updateIssueTypePriority=Yy,s.updateIssueTypeStatus=Pf,s.updateIssueTypeStatuses=Ff,s.updateIssueTypes=lf,s.updateIssueUpdate=zf,s.updateIssueUpdates=jf,s.updateIssues=Wp,s.updateOrganization=AS,s.updateOrganizationAccess=iS,s.updateOrganizationAccesses=aS,s.updateOrganizations=SS,s.updateProcedure=pT,s.updateProcedureFieldValues=VP,s.updateProcedureFieldValuesAttachment=AP,s.updateProcedureFieldValuesAttachments=TP,s.updateProcedureFieldValuesMany=BP,s.updateProcedureInitiative=eT,s.updateProcedureInitiatives=tT,s.updateProcedureStep=AO,s.updateProcedureStepAssignee=ET,s.updateProcedureStepAssignees=vT,s.updateProcedureStepComment=GT,s.updateProcedureStepComments=NT,s.updateProcedureStepDefaultAssignee=aI,s.updateProcedureStepDefaultAssignees=nI,s.updateProcedureStepDefaultReviewer=AI,s.updateProcedureStepDefaultReviewers=TI,s.updateProcedureStepEvent=VI,s.updateProcedureStepEvents=BI,s.updateProcedureStepFieldValues=vb,s.updateProcedureStepFieldValuesAttachment=Sb,s.updateProcedureStepFieldValuesAttachments=Ab,s.updateProcedureStepFieldValuesMany=Vb,s.updateProcedureStepFieldValuesReview=Gb,s.updateProcedureStepFieldValuesReviews=Nb,s.updateProcedureStepFields=nb,s.updateProcedureStepFieldsAttachment=NI,s.updateProcedureStepFieldsAttachments=KI,s.updateProcedureStepFieldsMany=cb,s.updateProcedureStepReviewer=aO,s.updateProcedureStepReviewers=nO,s.updateProcedureSteps=TO,s.updateProcedureType=KP,s.updateProcedureTypeAttachment=vO,s.updateProcedureTypeAttachments=VO,s.updateProcedureTypeFields=nP,s.updateProcedureTypeFieldsAttachment=NO,s.updateProcedureTypeFieldsAttachments=KO,s.updateProcedureTypeFieldsMany=cP,s.updateProcedureTypes=WP,s.updateProcedures=mT,s.updateProject=kA,s.updateProjectAccess=qS,s.updateProjectAccesses=$S,s.updateProjectAttachment=JS,s.updateProjectAttachments=QS,s.updateProjectComment=oA,s.updateProjectComments=hA,s.updateProjectFile=_A,s.updateProjectFiles=MA,s.updateProjects=UA,s.updateReport=rF,s.updateReports=dF,s.updateTeam=CF,s.updateTeamMembership=OF,s.updateTeamMemberships=PF,s.updateTeams=DF,s.updateUser=Kf,s.updateUsers=Nf,s.userReducer=Xf,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 vi(e),file_type:e.type,extension:t_(e),size:e.size};return await this.client.files.cacheFile(e),a}async cachePresignedUrl(e,i){if(Sn.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),Sn.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),Sn.delete(e)}async getPresignedUrlFromCache(e){const i=await(await this.getDB()).get("presignedUrls",e);if(!i)return;if(d_(i)){await this.uncachePresignedUrl(e);return}return i}}class uw extends g{name="Form Identifier";url="/form-identifiers";actions={addOne:qd,addMany:$d,setOne:Ud,setMany:kd,updateOne:Ld,updateMany:Hd,deleteOne:Gd,deleteMany:Nd,initialize:Dd};selectors={selectById:hb,selectByIds:pb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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:y(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 lw extends g{name="Form Identifier Value";url="/form-identifier-values";actions={addOne:Yd,addMany:Zd,setOne:Jd,setMany:Qd,updateOne:xd,updateMany:eu,deleteOne:tu,deleteMany:su,initialize:Xd};selectors={selectById:yb,selectByIds:fb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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 ow extends v{name="Form Revision Attachment";url="/form-revision-attachments";actions={addOne:cu,addMany:ru,setOne:du,setMany:uu,updateOne:lu,updateMany:ou,deleteOne:hu,deleteMany:pu,initialize:nu};selectors={selectById:Ab,selectByIds:Tb};getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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 hw extends g{name="Form Revision";url="/form-revisions";actions={addOne:Su,addMany:ki,setOne:Au,setMany:Tu,updateOne:Iu,updateMany:bu,deleteOne:Ou,deleteMany:Li,initialize:fu};selectors={selectById:bb,selectByIds:Ob};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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 pw extends g{name="Form";url="/forms";actions={addOne:ju,addMany:Cu,setOne:Du,setMany:qu,updateOne:$u,updateMany:Uu,deleteOne:ku,deleteMany:Lu,initialize:zu};selectors={selectById:_b,selectByIds:Mb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.users.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(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:y(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(Hb(e)),r=this.select(Pb(e)),p=this.select(Jb(e));this.dispatch(i(e)),this.dispatch(ot(l.toUuidArray(d))),this.dispatch(Li(l.toUuidArray(r))),this.dispatch(Gi(l.toUuidArray(p)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(ki(r)),this.dispatch(lt(d)),this.dispatch(Hi(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 mw extends g{name="Form Subscriber";url="/form-subscribers";actions={addOne:Mu,addMany:Hi,setOne:gu,setMany:wu,updateOne:Eu,updateMany:Ru,deleteOne:vu,deleteMany:Gi,initialize:_u};selectors={selectById:Yb,selectByIds:Zb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.users.currentUser?.id??null),r=l.uuidObj({...e,created_by:d,submitted_at:c});this.dispatch(i(r));const p=this.enqueueRequest({description:y(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:y(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 yw extends v{name="Form Submission Field Values Attachment";url="/form-submission-field-values-attachments";actions={addOne:Ku,addMany:Ni,setOne:Wu,setMany:Xu,updateOne:Yu,updateMany:Zu,deleteOne:Ju,deleteMany:Ki,initialize:Nu};selectors={selectById:zb,selectByIds:ja};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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(ja(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(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 fw extends g{name="Form Submission Field Values";url="/form-submission-field-values";actions={addOne:tl,addMany:Wi,setOne:sl,setMany:il,updateOne:al,updateMany:nl,deleteOne:cl,deleteMany:Xi,initialize:el};selectors={selectById:Db,selectByIds:qb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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 Sw extends v{name="Form Submission Comment Attachment";url="/form-submission-comment-attachments";actions={addOne:ll,addMany:ol,setOne:hl,setMany:pl,updateOne:ml,updateMany:yl,deleteOne:fl,deleteMany:Sl,initialize:ul};selectors={selectById:wb,selectByIds:Eb};getId(e){return e.uuid}getBlockers(e){return[e.form_submission_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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,form_submission_comment:e.form_submission_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,form_submission_comment:e.form_submission_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(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 Promise.all([this.listPaginated({queryParams:{form_submission_comment__form_submission__organization:e}},i),this.listPaginated({queryParams:{form_submission_comment__form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class Aw extends g{name="Form Submission Comment";url="/form-submission-comments";actions={addOne:bl,addMany:Yi,setOne:Ol,setMany:Pl,updateOne:Fl,updateMany:_l,deleteOne:Ml,deleteMany:Zi,initialize:Il};selectors={selectById:vb,selectByIds:Vb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.form_submission],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Form submission comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Form submission comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{form_submission__organization:e}},i),this.listPaginated({queryParams:{form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class Tw extends g{name="Form Submission";url="/form-submissions";actions={addOne:Vl,addMany:lt,setOne:Rl,setMany:vl,updateOne:Bl,updateMany:zl,deleteOne:jl,deleteMany:ot,initialize:El};selectors={selectById:kb,selectByIds:Lb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:y(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:y(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($b(e)),r=d.flatMap(({uuid:h})=>this.select(jb(h))),p=this.select(Bb(e));this.dispatch(i(e)),this.dispatch(Xi(l.toUuidArray(d))),this.dispatch(Ki(l.toUuidArray(r))),this.dispatch(Zi(l.toUuidArray(p)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(Wi(d)),this.dispatch(Ni(r)),this.dispatch(Yi(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{organization:e}},i),this.listPaginated({queryParams:{project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class Iw extends v{name="Geo Image";url="/geo-images";actions={addOne:kl,addMany:Ll,setOne:$l,setMany:Ul,updateOne:Hl,updateMany:Gl,deleteOne:Nl,deleteMany:Kl,initialize:ql};selectors={selectById:xb,selectByIds:eO};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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:y(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 bw extends g{name="Issue Association";url="/issue-associations";actions={addOne:eo,addMany:At,setOne:Jl,setMany:Zl,updateOne:Ql,updateMany:xl,deleteOne:to,deleteMany:Tt,initialize:Yl};selectors={selectById:sO,selectByIds:iO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.users.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(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.users.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:y(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:y(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 Ow extends v{name="Issue Attachment";url="/issue-attachments";actions={addOne:no,addMany:Ji,setOne:co,setMany:ro,updateOne:uo,updateMany:lo,deleteOne:oo,deleteMany:Qi,initialize:ao};selectors={selectById:lO,selectByIds:oO};getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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 Pw extends v{name="Issue Comment Attachment";url="/issue-comment-attachments";actions={addOne:yo,addMany:fo,setOne:So,setMany:Ao,updateOne:To,updateMany:Io,deleteOne:bo,deleteMany:Oo,initialize:mo};selectors={selectById:pO,selectByIds:mO};getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Fw extends g{name="Issue Comment";url="/issue-comments";actions={addOne:Mo,addMany:go,setOne:wo,setMany:Eo,updateOne:Ro,updateMany:vo,deleteOne:Vo,deleteMany:Bo,initialize:_o};selectors={selectById:yO,selectByIds:fO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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 _w extends g{name="Issue";url="/issues";actions={addOne:Do,addMany:xi,setOne:qo,setMany:$o,updateOne:Uo,updateMany:ko,deleteOne:Lo,deleteMany:ea,initialize:Co};selectors={selectById:AO,selectByIds:TO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.users.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(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(Ka(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(Ya(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(Pi(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.users.currentUser?.id??null),submitted_at:new Date().toISOString(),issue:n.uuid,changes:d});this.dispatch(ia(r));const p=this.enqueueRequest({description:y(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(na(r.uuid))}),[c,p]}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} issues that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=ut.v4(),_=l.toUuidArray(S),F=S.map(({status:w})=>w).filter(Boolean),E=S.map(({priority:w})=>w).filter(Boolean),V=this.enqueueRequest({description:y(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F).concat(E),blocks:[P].concat(_)});A.push(V),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const d=this.select(nO(e)),r=this.select(uO(e)),p=this.select(QO(e)),h=this.select(Gb(e));this.dispatch(i(e)),this.dispatch(Qi(l.toUuidArray(r))),this.dispatch(ca(l.toUuidArray(p))),this.dispatch(Tt(l.toUuidArray(d))),this.dispatch(ot(l.toUuidArray(h)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(a(c)),this.dispatch(Ji(r)),this.dispatch(aa(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(aO(e)),r=this.select(Nb(e));this.dispatch(a(e)),this.dispatch(Tt(l.toUuidArray(d))),this.dispatch(ot(l.toUuidArray(r)));try{return await this.enqueueRequest({description:y(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 Mw extends v{name="Issue Type Attachment";url="/issue-type-attachments";actions={addOne:Ko,addMany:Wo,setOne:Xo,setMany:Yo,updateOne:Zo,updateMany:Jo,deleteOne:Qo,deleteMany:xo,initialize:No};selectors={selectById:OO,selectByIds:PO};getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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 gw extends v{name="Issue Type Fields Attachment";url="/issue-type-fields-attachments";actions={addOne:ih,addMany:ah,setOne:nh,setMany:ch,updateOne:rh,updateMany:dh,deleteOne:uh,deleteMany:lh,initialize:sh};selectors={selectById:VO,selectByIds:BO};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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 ww extends g{name="Issue Type Fields";url="/issue-type-fields";actions={addOne:mh,addMany:yh,setOne:fh,setMany:Sh,updateOne:Ah,updateMany:Th,deleteOne:Ih,deleteMany:bh,initialize:ph};selectors={selectById:jO,selectByIds:CO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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 Ew extends v{name="Issue Type Field Values Attachment";url="/issue-type-field-values-attachments";actions={addOne:_h,addMany:ta,setOne:Mh,setMany:gh,updateOne:wh,updateMany:Eh,deleteOne:Rh,deleteMany:sa,initialize:Fh};selectors={selectById:_O,selectByIds:MO};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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:y(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 Rw extends g{name="Issue Type Field Values";url="/issue-type-field-values";actions={addOne:zh,addMany:jh,setOne:Ch,setMany:Dh,updateOne:qh,updateMany:$h,deleteOne:Uh,deleteMany:kh,initialize:Bh};selectors={selectById:EO,selectByIds:RO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:y(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:y(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(gO(e));this.dispatch(i(e)),this.dispatch(sa(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(ta(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 vw extends g{name="Issue Type Identifier";url="/issue-type-identifiers";actions={addOne:Nh,addMany:Kh,setOne:Wh,setMany:Xh,updateOne:Yh,updateMany:Zh,deleteOne:Jh,deleteMany:Qh,initialize:Gh};selectors={selectById:qO,selectByIds:$O};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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:y(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 Vw extends g{name="Issue Type Identifier Value";url="/issue-type-identifier-values";actions={addOne:sp,addMany:ip,setOne:ap,setMany:np,updateOne:cp,updateMany:rp,deleteOne:dp,deleteMany:up,initialize:tp};selectors={selectById:kO,selectByIds:LO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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 Bw extends g{name="Issue Type Priority";url="/issue-type-priorities";actions={addOne:pp,addMany:mp,setOne:yp,setMany:fp,updateOne:Sp,updateMany:Ap,deleteOne:Tp,deleteMany:Ip,initialize:hp};selectors={selectById:Ka,selectByIds:GO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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:y(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 zw extends g{name="Issue Type";url="/issue-types";actions={addOne:Fp,addMany:_p,setOne:Mp,setMany:gp,updateOne:wp,updateMany:Ep,deleteOne:Rp,deleteMany:vp,initialize:Pp};selectors={selectById:KO,selectByIds:WO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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(IO(e));this.dispatch(a(e)),this.dispatch(ea(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(i(c)),this.dispatch(xi(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 jw extends g{name="Issue Type Status";url="/issue-type-statuses";actions={addOne:jp,addMany:Cp,setOne:Dp,setMany:qp,updateOne:$p,updateMany:Up,deleteOne:kp,deleteMany:Lp,initialize:zp};selectors={selectById:Ya,selectByIds:YO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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:y(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:y(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 Cw extends g{name="Issue Update";url="/issue-updates";actions={addOne:ia,addMany:aa,setOne:Kp,setMany:Wp,updateOne:Xp,updateMany:Yp,deleteOne:na,deleteMany:ca,initialize:Np};selectors={selectById:ZO,selectByIds:JO};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 Dw=1800;function qw(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 $w extends u_{_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(td(!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=P_(e).exp??i}catch{a=i}return a-i<Dw}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.auth.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.auth.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(qw(a))})}}class Uw extends dt{name="Organization Access";url="/organization-accesses";actions={addOne:xp,addMany:em,setOne:tm,setMany:sm,updateOne:im,updateMany:am,deleteOne:nm,deleteMany:cm,initialize:Qp};selectors={selectById:tP,selectByIds:sP};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:y(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(Pi(c.user));this.dispatch(i(c.uuid)),this.dispatch(fa(c.user));try{return await this.enqueueRequest({description:y(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(ya(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 kw extends dt{name="Organization";url="/organizations";actions={addOne:pm,addMany:hm,setOne:om,setMany:lm,updateOne:ym,updateMany:mm,deleteOne:fm,deleteMany:Sm,initialize:um};selectors={selectById:cP,selectByIds:rP};async add(e){const{addOne:i}=this.actions,a=await this.enqueueRequest({description:y(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:y(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:y(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 Lw extends g{name="Project Access";url="/project-accesses";actions={addOne:gm,addMany:wm,setOne:Em,setMany:Rm,updateOne:vm,updateMany:Vm,deleteOne:Bm,deleteMany:zm,initialize:Mm};selectors={selectById:IF,selectByIds:bF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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.users.currentUser?.id??null),d=e.map(p=>l.uuidObj({...p,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:y(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:y(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:y(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 Hw extends v{name="Project Attachment";url="/project-attachments";actions={addOne:qm,addMany:$m,setOne:Um,setMany:km,updateOne:Lm,updateMany:Hm,deleteOne:Gm,deleteMany:Nm,initialize:Dm};selectors={selectById:PF,selectByIds:FF};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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 Gw extends g{name="Project Comment";url="/project-comments";actions={addOne:Ym,addMany:Zm,setOne:Jm,setMany:Qm,updateOne:xm,updateMany:ey,deleteOne:ty,deleteMany:sy,initialize:Xm};selectors={selectById:MF,selectByIds:gF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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 Nw extends v{name="Project File";url="/project-files";actions={addOne:dy,addMany:uy,setOne:cy,setMany:ry,updateOne:ly,updateMany:oy,deleteOne:hy,deleteMany:py,initialize:ny};selectors={selectById:RF,selectByIds:vF};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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:y(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 Kw extends dt{name="Project";url="/projects";actions={addOne:Iy,addMany:Ty,setOne:Ay,setMany:Sy,updateOne:Oy,updateMany:by,deleteOne:Py,deleteMany:Fy,initialize:fy};selectors={selectById:BF,selectByIds:zF};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:y(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 Ww extends dt{name="Report";url="/reports";actions={addOne:FT,addMany:_T,setOne:MT,setMany:gT,updateOne:wT,updateMany:ET,deleteOne:RT,deleteMany:vT,initialize:PT};selectors={selectById:DF,selectByIds:qF};async getPresignedUrl(e,i){return this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:o.GET},i)}async refreshStore(e,i){const n=(await this.listPaginated({queryParams:{organization:e}},i)).flat();return this.dispatch(this.actions.initialize(n)),n}}class Xw extends g{name="Procedure";url="/procedures";actions={addOne:$y,addMany:It,setOne:Uy,setMany:ky,updateOne:Ly,updateMany:Hy,deleteOne:Gy,deleteMany:bt,initialize:qy};selectors={selectById:yP,selectByIds:fP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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().users.currentUser?.id??null,h=[],f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];for(const S of f){const P=[],_=[],F=[];for(const V of S){const w=l.uuidObj({...V,submitted_at:r,created_by:p});h.push(w),P.push(M(w)),_.push(w.procedure_type,w.project,w.asset,...w.procedure_initiative?[w.procedure_initiative]:[]),F.push(w.uuid)}const E={payload:{submitted_at:r,payloads:P},blockers:_,blocks:F};A.push(E)}this.dispatch(n(h));const I=A.map(S=>{const{payload:P,blocks:_,blockers:F}=S;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:P,blockers:F,blocks:_})});return Promise.all(I).then(S=>{this.dispatch(c(S.flat()))}).catch(()=>{this.dispatch(d(l.toUuidArray(h)))}),[h,Promise.all(I).then(S=>S.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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 Yw extends g{name="Procedure Step Assignee";url="/procedure-step-assignees";actions={addOne:Xy,addMany:Yy,setOne:Zy,setMany:Jy,updateOne:Qy,updateMany:xy,deleteOne:ef,deleteMany:tf,initialize:Wy};selectors={selectById:OP,selectByIds:PP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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.users.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:y(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:y(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:y(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 Zw extends g{name="Procedure Step Comment";url="/procedure-step-comments";actions={addOne:cf,addMany:rf,setOne:df,setMany:uf,updateOne:lf,updateMany:of,deleteOne:hf,deleteMany:pf,initialize:nf};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.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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 Jw extends g{name="Procedure Step Default Assignee";url="/procedure-step-default-assignees";actions={addOne:Sf,addMany:Af,setOne:Tf,setMany:If,updateOne:bf,updateMany:Of,deleteOne:Pf,deleteMany:Ff,initialize:ff};selectors={selectById:wP,selectByIds:EP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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 Qw extends g{name="Procedure Step Default Reviewer";url="/procedure-step-default-reviewers";actions={addOne:wf,addMany:Ef,setOne:Rf,setMany:vf,updateOne:Vf,updateMany:Bf,deleteOne:zf,deleteMany:jf,initialize:gf};selectors={selectById:vP,selectByIds:VP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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 xw extends dt{name="Procedure Step Event";url="/procedure-step-events";actions={addOne:$f,addMany:Uf,setOne:kf,setMany:Lf,updateOne:Hf,updateMany:Gf,deleteOne:Nf,deleteMany:Kf,initialize:qf};selectors={selectById:zP,selectByIds:jP};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 eE extends v{name="Procedure Step Fields Attachment";url="/procedure-step-fields-attachments";actions={addOne:Zf,addMany:ra,setOne:Jf,setMany:Qf,updateOne:xf,updateMany:eS,deleteOne:tS,deleteMany:da,initialize:Yf};selectors={selectById:YP,selectByIds:ZP};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.users.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 tE extends g{name="Procedure Step Fields";url="/procedure-step-fields";actions={addOne:nS,addMany:cS,setOne:rS,setMany:dS,updateOne:uS,updateMany:lS,deleteOne:oS,deleteMany:hS,initialize:aS};selectors={selectById:JP,selectByIds:QP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No procedure step fields with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const d=this.select(XP(e));this.dispatch(i(e)),this.dispatch(da(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(ra(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 sE extends v{name="Procedure Step Field Values Attachment";url="/procedure-step-field-values-attachments";actions={addOne:fS,addMany:ua,setOne:SS,setMany:AS,updateOne:TS,updateMany:IS,deleteOne:bS,deleteMany:la,initialize:yS};selectors={selectById:DP,selectByIds:qP};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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:y(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 iE extends g{name="Procedure Step Field Values Review";url="/procedure-step-field-values-reviews";actions={addOne:_S,addMany:oa,setOne:MS,setMany:gS,updateOne:wS,updateMany:ES,deleteOne:RS,deleteMany:ha,initialize:FS};selectors={selectById:GP,selectByIds:NP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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 aE extends g{name="Procedure Step Field Values";url="/procedure-step-field-values";actions={addOne:zS,addMany:jS,setOne:CS,setMany:DS,updateOne:qS,updateMany:$S,deleteOne:US,deleteMany:kS,initialize:BS};selectors={selectById:kP,selectByIds:LP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:y(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.users.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const E=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(E),S.push(M(E)),P.push(E.procedure_step,E.procedure,E.fields_revision),_.push(E.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(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($P(e)),r=this.select(KP(e));this.dispatch(i(e)),this.dispatch(la(l.toUuidArray(d))),this.dispatch(ha(l.toUuidArray(r)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(ua(d)),this.dispatch(oa(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 nE extends g{name="Procedure Step Reviewer";url="/procedure-step-reviewers";actions={addOne:NS,addMany:KS,setOne:WS,setMany:XS,updateOne:YS,updateMany:ZS,deleteOne:JS,deleteMany:QS,initialize:GS};selectors={selectById:eF,selectByIds:tF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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.users.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:y(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:y(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:y(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 cE extends g{name="Procedure Initiative";url="/procedure-initiatives";actions={addOne:wy,addMany:Ey,setOne:Ry,setMany:vy,updateOne:Vy,updateMany:By,deleteOne:zy,deleteMany:jy,initialize:gy};selectors={selectById:hP,selectByIds:pP};add(e){const{store:i}=this.client,{addOne:a,updateOne:n,deleteOne:c}=this.actions,d=l.uuidObj({...e,created_by:i.getState().users.currentUser?.id??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const r=this.enqueueRequest({description:y(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:y(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(IP(e));this.dispatch(i(e)),this.dispatch(bt(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(It(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class rE extends g{name="Procedure Step";url="/procedure-steps";actions={addOne:aA,addMany:nA,setOne:sA,setMany:iA,updateOne:cA,updateMany:rA,deleteOne:dA,deleteMany:uA,initialize:tA};selectors={selectById:sF,selectByIds:iF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} ${this.name} that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=ut.v4(),_=l.toUuidArray(S),F=this.enqueueRequest({description:y(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_),blocks:[P].concat(_)});A.push(F),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class dE extends v{name="Procedure Type Attachment";url="/procedure-type-attachments";actions={addOne:pA,addMany:mA,setOne:yA,setMany:fA,updateOne:SA,updateMany:AA,deleteOne:TA,deleteMany:IA,initialize:hA};selectors={selectById:nF,selectByIds:cF};getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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 uE extends v{name="Procedure Type Fields Attachment";url="/procedure-type-fields-attachments";actions={addOne:FA,addMany:_A,setOne:MA,setMany:gA,updateOne:wA,updateMany:EA,deleteOne:RA,deleteMany:vA,initialize:PA};selectors={selectById:hF,selectByIds:pF};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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 lE extends g{name="Procedure Type Fields";url="/procedure-type-fields";actions={addOne:jA,addMany:CA,setOne:DA,setMany:qA,updateOne:$A,updateMany:UA,deleteOne:kA,deleteMany:LA,initialize:zA};selectors={selectById:yF,selectByIds:fF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.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:y(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 oE extends v{name="Procedure Field Values Attachment";url="/procedure-field-values-attachments";actions={addOne:KA,addMany:pa,setOne:WA,setMany:XA,updateOne:YA,updateMany:ZA,deleteOne:JA,deleteMany:ma,initialize:NA};selectors={selectById:dF,selectByIds:uF};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.users.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:y(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 hE extends g{name="Procedure Field Values";url="/procedure-field-values";actions={addOne:tT,addMany:sT,setOne:iT,setMany:aT,updateOne:nT,updateMany:cT,deleteOne:rT,deleteMany:dT,initialize:eT};selectors={selectById:uP,selectByIds:lP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.users.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:y(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.users.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const E=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(E),S.push(M(E)),P.push(E.procedure,E.fields_revision),_.push(E.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(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(lF(e));this.dispatch(i(e)),this.dispatch(ma(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(pa(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 pE extends g{name="Procedure Type";url="/procedure-types";actions={addOne:hT,addMany:pT,setOne:mT,setMany:yT,updateOne:fT,updateMany:ST,deleteOne:AT,deleteMany:TT,initialize:oT};selectors={selectById:AF,selectByIds:TF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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(SP(e));this.dispatch(i(e)),this.dispatch(bt(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(It(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class mE extends g{name="Team Membership";url="/team-memberships";actions={addOne:jT,addMany:CT,setOne:DT,setMany:qT,updateOne:$T,updateMany:UT,deleteOne:kT,deleteMany:LT,initialize:zT};selectors={selectById:UF,selectByIds:kF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.users.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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.users.currentUser?.id??null),d=e.map(p=>l.uuidObj({...p,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:y(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:y(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 yE extends g{name="Team";url="/teams";actions={addOne:KT,addMany:WT,setOne:XT,setMany:YT,updateOne:ZT,updateMany:JT,deleteOne:QT,deleteMany:xT,initialize:NT};selectors={selectById:HF,selectByIds:GF};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.users.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:y(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:y(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:y(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 fE extends dt{name="User";url="/user";actions={addOne:ya,addMany:nI,setOne:aI,setMany:iI,updateOne:rI,updateMany:cI,deleteOne:fa,deleteMany:dI,initialize:sI};selectors={selectById:Pi,selectByIds:eP};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 An(t,e,i,a,n){const c=a instanceof yt;c&&e.checkAuth!==!1&&await a.auth.prepareAuth();const d={queryParams:"",isAuthNeeded:!0},{s3url:r,payload:p,headers:h,method:f,queryParams:A,attachmentHash:I,isExternalUrl:S,isAuthNeeded:P,isResponseBlob:_}={...d,...e};let F=e.url;const E=I?await i.files.getFileFromCache(I):void 0,V=E?await e_(E):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 w=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)},jt={[o.GET]:()=>_?St.get(F.toString()).responseType("blob"):St.get(F.toString()),[o.POST]:()=>{const B=St.post(F.toString());return w(B)},[o.PATCH]:()=>{const B=St.patch(F.toString());return w(B)},[o.PUT]:()=>{const B=St.put(F.toString());return w(B)},[o.DELETE]:()=>{const B=St.delete(F.toString());return w(B)}}[f];let j=jt();const Vi=()=>{console.debug("aborting request:",e.url),j.abort()};n?.addEventListener("abort",Vi),P&&c&&(j=a.auth.applyAuth(j)),h&&(j=j.set(h));try{return await j.query(A)}catch(B){const q=xF(B),Ct=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(Ct)})}finally{n?.removeEventListener("abort",Vi)}}class SE{store;constructor(e){this.store=e}_performRequest(e,i,a,n){const c=new l.DeferredPromise,d={...i,uuid:i.uuid??ut.v4()};return An(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(bm(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 Pt{graph;requestAttemptCounter;constructor(){this.graph=new F_.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(e){const i=new Pt;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))&&Pt._addDependency(n.payload.uuid,d.payload.uuid,i.graph)}}return i}_addDependency(e,i){Pt._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 l_;function o_(t){l_=t}function Ft(){return l_}let h_;function p_(t){h_=t}function m_(){return h_}let Tn=null;function ft(){const t=Ft();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(Tn)return Tn;const e=t.getState().offline.outbox,i=Pt._fromOutbox(e);return Tn=i,i}const AE=(t,e)=>{const i=new e(t);return p_(i),o_(t),i};class TE{_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 In{next;constructor(){this.next=null}then(e){return new TE(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 ZF(e,a)}}}class y_ extends In{async run(e){return super.run(e)}}class f_ extends In{async run(e){return super.run(e)}}const S_=new y_().then(new f_).compile();function A_(t){return S_[0]?.run(t)}s.ALL_MIDDLEWARE=S_,s.APIError=z,s.AgentService=Gg,s.AssetAttachmentService=Ng,s.AssetCommentAttachmentService=Kg,s.AssetCommentService=Wg,s.AssetService=Xg,s.AssetTypeAttachmentService=Yg,s.AssetTypeFieldValuesAttachmentService=Qg,s.AssetTypeFieldValuesService=xg,s.AssetTypeFieldsAttachmentService=Zg,s.AssetTypeFieldsService=Jg,s.AssetTypeIdentifierService=ew,s.AssetTypeIdentifierValueService=tw,s.AssetTypeService=sw,s.AssetTypeStatusService=iw,s.BaseApiService=yt,s.BaseAuthService=u_,s.BaseModelApiService=dt,s.BaseOfflineFileModelApiService=v,s.BaseOfflineModelApiService=g,s.BaseSDK=SE,s.COMMON_AUTO_FIELDS=On,s.DEFAULT_PAGE_SIZE=NF,s.DISCARD_HTTP_STATUSES=yn,s.DocumentAttachmentService=aw,s.DocumentService=nw,s.EmailDomainsService=cw,s.EmailVerificationService=rw,s.FileService=dw,s.FormIdentifierService=uw,s.FormIdentifierValueService=lw,s.FormRevisionAttachmentService=ow,s.FormRevisionService=hw,s.FormService=pw,s.FormSubmissionCommentAttachmentService=Sw,s.FormSubmissionCommentService=Aw,s.FormSubmissionFieldValuesAttachmentService=yw,s.FormSubmissionFieldValuesService=fw,s.FormSubmissionService=Tw,s.FormSubscriberService=mw,s.GeoImageService=Iw,s.HttpMethod=o,s.IssueAssociationService=bw,s.IssueAttachmentService=Ow,s.IssueCommentAttachmentService=Pw,s.IssueCommentService=Fw,s.IssueService=_w,s.IssueTypeAttachmentService=Mw,s.IssueTypeFieldValuesAttachmentService=Ew,s.IssueTypeFieldValuesService=Rw,s.IssueTypeFieldsAttachmentService=gw,s.IssueTypeFieldsService=ww,s.IssueTypeIdentifierService=vw,s.IssueTypeIdentifierValueService=Vw,s.IssueTypePriorityService=Bw,s.IssueTypeService=zw,s.IssueTypeStatusService=jw,s.IssueUpdateService=Cw,s.JWTService=$w,s.MAX_SERVICE_BATCH_SIZE=D,s.OUTBOX_RETRY_DELAY=6e4,s.OfflineAnalyticsMiddleware=y_,s.OfflineMiddleware=In,s.OrganizationAccessService=Uw,s.OrganizationService=kw,s.OutboxCoordinator=Pt,s.ProcdureInitiativeService=cE,s.ProcedureFieldValuesAttachmentService=oE,s.ProcedureFieldValuesService=hE,s.ProcedureService=Xw,s.ProcedureStepAssigneeService=Yw,s.ProcedureStepCommentService=Zw,s.ProcedureStepDefaultAssigneeService=Jw,s.ProcedureStepDefaultReviewerService=Qw,s.ProcedureStepEventService=xw,s.ProcedureStepFieldValuesAttachmentService=sE,s.ProcedureStepFieldValuesReviewService=iE,s.ProcedureStepFieldValuesService=aE,s.ProcedureStepFieldsAttachmentService=eE,s.ProcedureStepFieldsService=tE,s.ProcedureStepReviewerService=nE,s.ProcedureStepService=rE,s.ProcedureTypeAttachmentService=dE,s.ProcedureTypeFieldsAttachmentService=uE,s.ProcedureTypeFieldsService=lE,s.ProcedureTypeService=pE,s.ProjectAccessService=Lw,s.ProjectAttachmentService=Hw,s.ProjectCommentService=Gw,s.ProjectFileService=Nw,s.ProjectService=Kw,s.RESET_ORGANIZATION_STATE=O,s.RESET_PROJECT_STATE=R,s.RESET_STATE=T,s.RateLimitingMiddleware=f_,s.ReportService=Ww,s.TeamMembershipService=mE,s.TeamService=yE,s.UserService=fE,s._setLatestRetryTime=Pm,s.addAsset=cc,s.addAssetAttachment=vn,s.addAssetAttachments=Bi,s.addAssetComment=Jn,s.addAssetCommentAttachment=Un,s.addAssetCommentAttachments=kn,s.addAssetComments=kt,s.addAssetType=Cr,s.addAssetTypeAttachment=yc,s.addAssetTypeAttachments=Di,s.addAssetTypeFieldValues=tr,s.addAssetTypeFieldValuesAttachment=Kc,s.addAssetTypeFieldValuesAttachments=$i,s.addAssetTypeFieldValuesMany=sr,s.addAssetTypeFields=jc,s.addAssetTypeFieldsAttachment=Fc,s.addAssetTypeFieldsAttachments=_c,s.addAssetTypeFieldsMany=Cc,s.addAssetTypeIdentifier=hr,s.addAssetTypeIdentifierValue=Pr,s.addAssetTypeIdentifierValues=Fr,s.addAssetTypeIdentifiers=pr,s.addAssetTypeStatus=Nr,s.addAssetTypeStatuses=Kr,s.addAssetTypes=Dr,s.addAssets=ji,s.addConversation=_n,s.addConversations=M_,s.addDocument=fd,s.addDocumentAttachment=nd,s.addDocumentAttachments=cd,s.addDocuments=Sd,s.addEmailDomain=gd,s.addEmailDomains=wd,s.addForm=ju,s.addFormIdentifier=qd,s.addFormIdentifierValue=Yd,s.addFormIdentifierValues=Zd,s.addFormIdentifiers=$d,s.addFormRevision=Su,s.addFormRevisionAttachment=cu,s.addFormRevisionAttachments=ru,s.addFormRevisions=ki,s.addFormSubmission=Vl,s.addFormSubmissionComment=bl,s.addFormSubmissionCommentAttachment=ll,s.addFormSubmissionCommentAttachments=ol,s.addFormSubmissionComments=Yi,s.addFormSubmissionFieldValues=tl,s.addFormSubmissionFieldValuesAttachment=Ku,s.addFormSubmissionFieldValuesAttachments=Ni,s.addFormSubmissionFieldValuesMany=Wi,s.addFormSubmissions=lt,s.addFormSubscriber=Mu,s.addFormSubscribers=Hi,s.addForms=Cu,s.addGeoImage=kl,s.addGeoImages=Ll,s.addIssue=Do,s.addIssueAssociation=eo,s.addIssueAssociations=At,s.addIssueAttachment=no,s.addIssueAttachments=Ji,s.addIssueComment=Mo,s.addIssueCommentAttachment=yo,s.addIssueCommentAttachments=fo,s.addIssueComments=go,s.addIssueType=Fp,s.addIssueTypeAttachment=Ko,s.addIssueTypeAttachments=Wo,s.addIssueTypeFieldValues=zh,s.addIssueTypeFieldValuesAttachment=_h,s.addIssueTypeFieldValuesAttachments=ta,s.addIssueTypeFieldValuesMany=jh,s.addIssueTypeFields=mh,s.addIssueTypeFieldsAttachment=ih,s.addIssueTypeFieldsAttachments=ah,s.addIssueTypeFieldsMany=yh,s.addIssueTypeIdentifier=Nh,s.addIssueTypeIdentifierValue=sp,s.addIssueTypeIdentifierValues=ip,s.addIssueTypeIdentifiers=Kh,s.addIssueTypePriorities=mp,s.addIssueTypePriority=pp,s.addIssueTypeStatus=jp,s.addIssueTypeStatuses=Cp,s.addIssueTypes=_p,s.addIssueUpdate=ia,s.addIssueUpdates=aa,s.addIssues=xi,s.addOrganization=pm,s.addOrganizationAccess=xp,s.addOrganizationAccesses=em,s.addOrganizations=hm,s.addProcedure=$y,s.addProcedureFieldValues=tT,s.addProcedureFieldValuesAttachment=KA,s.addProcedureFieldValuesAttachments=pa,s.addProcedureFieldValuesMany=sT,s.addProcedureInitiative=wy,s.addProcedureInitiatives=Ey,s.addProcedureStep=aA,s.addProcedureStepAssignee=Xy,s.addProcedureStepAssignees=Yy,s.addProcedureStepComment=cf,s.addProcedureStepComments=rf,s.addProcedureStepDefaultAssignee=Sf,s.addProcedureStepDefaultAssignees=Af,s.addProcedureStepDefaultReviewer=wf,s.addProcedureStepDefaultReviewers=Ef,s.addProcedureStepEvent=$f,s.addProcedureStepEvents=Uf,s.addProcedureStepFieldValues=zS,s.addProcedureStepFieldValuesAttachment=fS,s.addProcedureStepFieldValuesAttachments=ua,s.addProcedureStepFieldValuesMany=jS,s.addProcedureStepFieldValuesReview=_S,s.addProcedureStepFieldValuesReviews=oa,s.addProcedureStepFields=nS,s.addProcedureStepFieldsAttachment=Zf,s.addProcedureStepFieldsAttachments=ra,s.addProcedureStepFieldsMany=cS,s.addProcedureStepReviewer=NS,s.addProcedureStepReviewers=KS,s.addProcedureSteps=nA,s.addProcedureType=hT,s.addProcedureTypeAttachment=pA,s.addProcedureTypeAttachments=mA,s.addProcedureTypeFields=jA,s.addProcedureTypeFieldsAttachment=FA,s.addProcedureTypeFieldsAttachments=_A,s.addProcedureTypeFieldsMany=CA,s.addProcedureTypes=pT,s.addProcedures=It,s.addProject=Iy,s.addProjectAccess=gm,s.addProjectAccesses=wm,s.addProjectAttachment=qm,s.addProjectAttachments=$m,s.addProjectComment=Ym,s.addProjectComments=Zm,s.addProjectFile=dy,s.addProjectFiles=uy,s.addProjects=Ty,s.addReport=FT,s.addReports=_T,s.addTeam=KT,s.addTeamMembership=jT,s.addTeamMemberships=CT,s.addTeams=WT,s.addUser=ya,s.addUsers=nI,s.agentsReducer=wn,s.agentsSlice=Dt,s.assetAttachmentReducer=Dn,s.assetAttachmentSlice=qt,s.assetCommentAttachmentReducer=Xn,s.assetCommentAttachmentSlice=$t,s.assetCommentReducer=ic,s.assetCommentSlice=Ut,s.assetReducer=hc,s.assetSlice=Ht,s.assetTypeAttachmentReducer=bc,s.assetTypeAttachmentSlice=Gt,s.assetTypeFieldValuesAttachmentReducer=Qc,s.assetTypeFieldValuesAttachmentSlice=Wt,s.assetTypeFieldValuesReducer=ur,s.assetTypeFieldValuesSlice=Xt,s.assetTypeFieldsAttachmentReducer=Vc,s.assetTypeFieldsAttachmentSlice=Nt,s.assetTypeFieldsReducer=Hc,s.assetTypeFieldsSlice=Kt,s.assetTypeIdentifierReducer=Ir,s.assetTypeIdentifierSlice=Yt,s.assetTypeIdentifierValueReducer=vr,s.assetTypeIdentifierValueSlice=Zt,s.assetTypeReducer=Lr,s.assetTypeSlice=Jt,s.assetTypeStatusReducer=xr,s.assetTypeStatusSlice=Qt,s.authReducer=sd,s.authSlice=Mt,s.baseReducer=q_,s.baseReducers=Sa,s.clearTokens=V_,s.createModelAdapter=b,s.createOfflineAction=Tm,s.createPayload=M,s.createSelectionAdapter=__,s.deleteAsset=uc,s.deleteAssetAttachment=Cn,s.deleteAssetAttachments=zi,s.deleteAssetComment=sc,s.deleteAssetCommentAttachment=Kn,s.deleteAssetCommentAttachments=Wn,s.deleteAssetComments=Lt,s.deleteAssetType=Ur,s.deleteAssetTypeAttachment=Ic,s.deleteAssetTypeAttachments=qi,s.deleteAssetTypeFieldValues=rr,s.deleteAssetTypeFieldValuesAttachment=Jc,s.deleteAssetTypeFieldValuesAttachments=Ui,s.deleteAssetTypeFieldValuesMany=dr,s.deleteAssetTypeFields=kc,s.deleteAssetTypeFieldsAttachment=Rc,s.deleteAssetTypeFieldsAttachments=vc,s.deleteAssetTypeFieldsMany=Lc,s.deleteAssetTypeIdentifier=Ar,s.deleteAssetTypeIdentifierValue=Er,s.deleteAssetTypeIdentifierValues=Rr,s.deleteAssetTypeIdentifiers=Tr,s.deleteAssetTypeStatus=Jr,s.deleteAssetTypeStatuses=Qr,s.deleteAssetTypes=kr,s.deleteAssets=Ci,s.deleteConversation=E_,s.deleteConversations=R_,s.deleteDocument=Od,s.deleteDocumentAttachment=od,s.deleteDocumentAttachments=hd,s.deleteDocuments=Pd,s.deleteEmailDomain=Bd,s.deleteEmailDomains=zd,s.deleteForm=ku,s.deleteFormIdentifier=Gd,s.deleteFormIdentifierValue=tu,s.deleteFormIdentifierValues=su,s.deleteFormIdentifiers=Nd,s.deleteFormRevision=Ou,s.deleteFormRevisionAttachment=hu,s.deleteFormRevisionAttachments=pu,s.deleteFormRevisions=Li,s.deleteFormSubmission=jl,s.deleteFormSubmissionComment=Ml,s.deleteFormSubmissionCommentAttachment=fl,s.deleteFormSubmissionCommentAttachments=Sl,s.deleteFormSubmissionComments=Zi,s.deleteFormSubmissionFieldValues=cl,s.deleteFormSubmissionFieldValuesAttachment=Ju,s.deleteFormSubmissionFieldValuesAttachments=Ki,s.deleteFormSubmissionFieldValuesMany=Xi,s.deleteFormSubmissions=ot,s.deleteFormSubscriber=vu,s.deleteFormSubscribers=Gi,s.deleteForms=Lu,s.deleteGeoImage=Nl,s.deleteGeoImages=Kl,s.deleteIssue=Lo,s.deleteIssueAssociation=to,s.deleteIssueAssociations=Tt,s.deleteIssueAttachment=oo,s.deleteIssueAttachments=Qi,s.deleteIssueComment=Vo,s.deleteIssueCommentAttachment=bo,s.deleteIssueCommentAttachments=Oo,s.deleteIssueComments=Bo,s.deleteIssueType=Rp,s.deleteIssueTypeAttachment=Qo,s.deleteIssueTypeAttachments=xo,s.deleteIssueTypeFieldValues=Uh,s.deleteIssueTypeFieldValuesAttachment=Rh,s.deleteIssueTypeFieldValuesAttachments=sa,s.deleteIssueTypeFieldValuesMany=kh,s.deleteIssueTypeFields=Ih,s.deleteIssueTypeFieldsAttachment=uh,s.deleteIssueTypeFieldsAttachments=lh,s.deleteIssueTypeFieldsMany=bh,s.deleteIssueTypeIdentifier=Jh,s.deleteIssueTypeIdentifierValue=dp,s.deleteIssueTypeIdentifierValues=up,s.deleteIssueTypeIdentifiers=Qh,s.deleteIssueTypePriorities=Ip,s.deleteIssueTypePriority=Tp,s.deleteIssueTypeStatus=kp,s.deleteIssueTypeStatuses=Lp,s.deleteIssueTypes=vp,s.deleteIssueUpdate=na,s.deleteIssueUpdates=ca,s.deleteIssues=ea,s.deleteOrganization=fm,s.deleteOrganizationAccess=nm,s.deleteOrganizationAccesses=cm,s.deleteOrganizations=Sm,s.deleteProcedure=Gy,s.deleteProcedureFieldValues=rT,s.deleteProcedureFieldValuesAttachment=JA,s.deleteProcedureFieldValuesAttachments=ma,s.deleteProcedureFieldValuesMany=dT,s.deleteProcedureInitiative=zy,s.deleteProcedureInitiatives=jy,s.deleteProcedureStep=dA,s.deleteProcedureStepAssignee=ef,s.deleteProcedureStepAssignees=tf,s.deleteProcedureStepComment=hf,s.deleteProcedureStepComments=pf,s.deleteProcedureStepDefaultAssignee=Pf,s.deleteProcedureStepDefaultAssignees=Ff,s.deleteProcedureStepDefaultReviewer=zf,s.deleteProcedureStepDefaultReviewers=jf,s.deleteProcedureStepEvent=Nf,s.deleteProcedureStepEvents=Kf,s.deleteProcedureStepFieldValues=US,s.deleteProcedureStepFieldValuesAttachment=bS,s.deleteProcedureStepFieldValuesAttachments=la,s.deleteProcedureStepFieldValuesMany=kS,s.deleteProcedureStepFieldValuesReview=RS,s.deleteProcedureStepFieldValuesReviews=ha,s.deleteProcedureStepFields=oS,s.deleteProcedureStepFieldsAttachment=tS,s.deleteProcedureStepFieldsAttachments=da,s.deleteProcedureStepFieldsMany=hS,s.deleteProcedureStepReviewer=JS,s.deleteProcedureStepReviewers=QS,s.deleteProcedureSteps=uA,s.deleteProcedureType=AT,s.deleteProcedureTypeAttachment=TA,s.deleteProcedureTypeAttachments=IA,s.deleteProcedureTypeFields=kA,s.deleteProcedureTypeFieldsAttachment=RA,s.deleteProcedureTypeFieldsAttachments=vA,s.deleteProcedureTypeFieldsMany=LA,s.deleteProcedureTypes=TT,s.deleteProcedures=bt,s.deleteProject=Py,s.deleteProjectAccess=Bm,s.deleteProjectAccesses=zm,s.deleteProjectAttachment=Gm,s.deleteProjectAttachments=Nm,s.deleteProjectComment=ty,s.deleteProjectComments=sy,s.deleteProjectFile=hy,s.deleteProjectFiles=py,s.deleteProjects=Fy,s.deleteReport=RT,s.deleteReports=vT,s.deleteTeam=QT,s.deleteTeamMembership=kT,s.deleteTeamMemberships=LT,s.deleteTeams=xT,s.deleteUser=fa,s.deleteUsers=dI,s.dequeue=YF,s.discard=JF,s.documentAttachmentReducer=pd,s.documentAttachmentSlice=xt,s.documentSlice=es,s.documentsReducer=Fd,s.emailDomainsReducer=jd,s.emailDomainsSlice=ts,s.enqueue=XF,s.enqueueRequest=bm,s.extractResponseFromError=xF,s.fetchBlobFromObjectUrl=s_,s.fetchFileFromObjectUrl=i_,s.fileToBlob=e_,s.formIdentifierReducer=Kd,s.formIdentifierSlice=ss,s.formIdentifierValueReducer=iu,s.formIdentifierValueSlice=is,s.formReducer=Hu,s.formRevisionAttachmentReducer=mu,s.formRevisionAttachmentSlice=as,s.formRevisionReducer=Pu,s.formRevisionsSlice=ns,s.formSlice=rs,s.formSubmissionCommentAttachmentReducer=Al,s.formSubmissionCommentAttachmentSlice=ls,s.formSubmissionCommentReducer=gl,s.formSubmissionCommentSlice=os,s.formSubmissionFieldValuesAttachmentReducer=Qu,s.formSubmissionFieldValuesAttachmentSlice=ds,s.formSubmissionFieldValuesReducer=rl,s.formSubmissionFieldValuesSlice=us,s.formSubmissionReducer=Cl,s.formSubmissionSlice=hs,s.formSubscriberReducer=Vu,s.formSubscriberSlice=cs,s.geoImageReducer=Wl,s.geoImageSlice=ps,s.getClientSDK=m_,s.getClientStore=Ft,s.getFileExtension=t_,s.getOutboxCoordinator=ft,s.getPresignedUrlExpiryDate=r_,s.getRenamedFile=Lg,s.getRequestDescription=y,s.getS3FileKey=kg,s.hashFile=vi,s.initSDK=AE,s.initializeAssetAttachments=Rn,s.initializeAssetCommentAttachments=$n,s.initializeAssetComments=Zn,s.initializeAssetTypeAttachments=mc,s.initializeAssetTypeFieldValues=er,s.initializeAssetTypeFieldValuesAttachments=Nc,s.initializeAssetTypeFields=zc,s.initializeAssetTypeFieldsAttachments=Pc,s.initializeAssetTypeIdentifierValues=Or,s.initializeAssetTypeIdentifiers=or,s.initializeAssetTypeStatuses=Gr,s.initializeAssetTypes=Br,s.initializeAssets=nc,s.initializeConversations=Fn,s.initializeDocumentAttachments=ad,s.initializeDocuments=yd,s.initializeEmailDomains=Md,s.initializeFormIdentifierValues=Xd,s.initializeFormIdentifiers=Dd,s.initializeFormRevisionAttachments=nu,s.initializeFormRevisions=fu,s.initializeFormSubmissionCommentAttachments=ul,s.initializeFormSubmissionComments=Il,s.initializeFormSubmissionFieldValues=el,s.initializeFormSubmissionFieldValuesAttachments=Nu,s.initializeFormSubmissions=El,s.initializeFormSubscribers=_u,s.initializeForms=zu,s.initializeGeoImages=ql,s.initializeIssueAssociations=Yl,s.initializeIssueAttachments=ao,s.initializeIssueCommentAttachments=mo,s.initializeIssueComments=_o,s.initializeIssueTypeAttachments=No,s.initializeIssueTypeFieldValues=Bh,s.initializeIssueTypeFieldValuesAttachments=Fh,s.initializeIssueTypeFields=ph,s.initializeIssueTypeFieldsAttachments=sh,s.initializeIssueTypeIdentifierValues=tp,s.initializeIssueTypeIdentifiers=Gh,s.initializeIssueTypePriorities=hp,s.initializeIssueTypeStatuses=zp,s.initializeIssueTypes=Pp,s.initializeIssueUpdates=Np,s.initializeIssues=Co,s.initializeOrganizationAccesses=Qp,s.initializeOrganizations=um,s.initializeProcedureFieldValues=eT,s.initializeProcedureFieldValuesAttachments=NA,s.initializeProcedureInitiatives=gy,s.initializeProcedureStepAssignees=Wy,s.initializeProcedureStepComments=nf,s.initializeProcedureStepDefaultAssignees=ff,s.initializeProcedureStepDefaultReviewers=gf,s.initializeProcedureStepEvents=qf,s.initializeProcedureStepFieldValues=BS,s.initializeProcedureStepFieldValuesAttachments=yS,s.initializeProcedureStepFieldValuesReviews=FS,s.initializeProcedureStepFields=aS,s.initializeProcedureStepFieldsAttachments=Yf,s.initializeProcedureStepReviewers=GS,s.initializeProcedureSteps=tA,s.initializeProcedureTypeAttachments=hA,s.initializeProcedureTypeFields=zA,s.initializeProcedureTypeFieldsAttachments=PA,s.initializeProcedureTypes=oT,s.initializeProcedures=qy,s.initializeProjectAccesses=Mm,s.initializeProjectAttachments=Dm,s.initializeProjectComments=Xm,s.initializeProjectFiles=ny,s.initializeProjects=fy,s.initializeReports=PT,s.initializeTeamMemberships=zT,s.initializeTeams=NT,s.initializeUsers=sI,s.isCloudfrontUrl=n_,s.isImageFile=Hg,s.isObjectUrl=a_,s.isPresignedUrlExpired=d_,s.isS3Url=c_,s.issueAssociationReducer=so,s.issueAssociationSlice=ms,s.issueAttachmentReducer=ho,s.issueAttachmentSlice=ys,s.issueCommentAttachmentReducer=Po,s.issueCommentAttachmentSlice=fs,s.issueCommentReducer=zo,s.issueCommentSlice=Ss,s.issueReducer=Ho,s.issueSlice=As,s.issueTypeAttachmentReducer=eh,s.issueTypeAttachmentSlice=Ts,s.issueTypeFieldValuesAttachmentReducer=vh,s.issueTypeFieldValuesAttachmentSlice=Os,s.issueTypeFieldValuesReducer=Lh,s.issueTypeFieldValuesSlice=Ps,s.issueTypeFieldsAttachmentReducer=oh,s.issueTypeFieldsAttachmentSlice=Is,s.issueTypeFieldsReducer=Oh,s.issueTypeFieldsSlice=bs,s.issueTypeIdentifierReducer=xh,s.issueTypeIdentifierSlice=Fs,s.issueTypeIdentifierValueReducer=lp,s.issueTypeIdentifierValueSlice=_s,s.issueTypePriorityReducer=bp,s.issueTypePrioritySlice=Ms,s.issueTypeReducer=Vp,s.issueTypeSlice=gs,s.issueTypeStatusReducer=Hp,s.issueTypeStatusSlice=ws,s.issueUpdateReducer=Zp,s.issueUpdateSlice=Es,s.markAsDeleted=Om,s.markForDeletion=B_,s.organizationAccessReducer=rm,s.organizationAccessSlice=Rs,s.organizationReducer=Am,s.organizationSlice=vs,s.outboxReducer=Fm,s.outboxSlice=Vs,s.overmapEnhancer=jg,s.overmapReducer=$_,s.overmapReducers=lI,s.performRequest=An,s.performRequestFromAction=ZF,s.procedureFieldValuesAttachmentReducer=QA,s.procedureFieldValuesAttachmentSlice=ti,s.procedureFieldValuesReducer=uT,s.procedureFieldValuesSlice=si,s.procedureInitiativeReducer=Cy,s.procedureInitiativeSlice=qs,s.procedureReducer=Ny,s.procedureSlice=$s,s.procedureStepAssigneeReducer=sf,s.procedureStepAssigneeSlice=Us,s.procedureStepCommentReducer=mf,s.procedureStepCommentSlice=ks,s.procedureStepDefaultAssigneeReducer=_f,s.procedureStepDefaultAssigneeSlice=Ls,s.procedureStepDefaultReviewerReducer=Cf,s.procedureStepDefaultReviewerSlice=Hs,s.procedureStepEventReducer=Wf,s.procedureStepEventSlice=Gs,s.procedureStepFieldValuesAttachmentReducer=OS,s.procedureStepFieldValuesAttachmentSlice=Ws,s.procedureStepFieldValuesReducer=LS,s.procedureStepFieldValuesReviewReducer=vS,s.procedureStepFieldValuesReviewSlice=Xs,s.procedureStepFieldValuesSlice=Ys,s.procedureStepFieldsAttachmentReducer=sS,s.procedureStepFieldsAttachmentSlice=Ns,s.procedureStepFieldsReducer=pS,s.procedureStepFieldsSlice=Ks,s.procedureStepReducer=lA,s.procedureStepReviewerReducer=xS,s.procedureStepReviewerSlice=Zs,s.procedureStepSlice=Js,s.procedureTypeAttachmentReducer=bA,s.procedureTypeAttachmentSlice=Qs,s.procedureTypeFieldsAttachmentReducer=VA,s.procedureTypeFieldsAttachmentSlice=xs,s.procedureTypeFieldsReducer=HA,s.procedureTypeFieldsSlice=ei,s.procedureTypeReducer=IT,s.procedureTypeSlice=ii,s.projectAccessReducer=jm,s.projectAccessSlice=Bs,s.projectAttachmentReducer=Km,s.projectAttachmentSlice=zs,s.projectCommentReducer=iy,s.projectCommentSlice=js,s.projectFileReducer=my,s.projectFileSlice=Cs,s.projectReducer=_y,s.projectSlice=Ds,s.rehydratedReducer=bT,s.rehydratedSlice=ai,s.reportReducer=VT,s.reportSlice=ni,s.restructureSelectorWithArgs=m,s.runMiddleware=A_,s.selectAccessToken=eM,s.selectAccessesByUserOfProject=bg,s.selectAccessibleProjects=Mg,s.selectActiveOrganizationAccess=jM,s.selectAllDocumentAttachments=ga,s.selectAssetAttachmentById=hI,s.selectAssetAttachmentMapping=oI,s.selectAssetAttachments=Ta,s.selectAssetAttachmentsByIds=pI,s.selectAssetById=_I,s.selectAssetCommentAttachmentById=fI,s.selectAssetCommentAttachmentMapping=yI,s.selectAssetCommentAttachments=Ia,s.selectAssetCommentAttachmentsByIds=SI,s.selectAssetCommentById=TI,s.selectAssetCommentMapping=AI,s.selectAssetComments=ui,s.selectAssetCommentsByIds=II,s.selectAssetTypeAttachmentById=wI,s.selectAssetTypeAttachmentMapping=gI,s.selectAssetTypeAttachments=ba,s.selectAssetTypeAttachmentsByIds=EI,s.selectAssetTypeById=JI,s.selectAssetTypeFieldValues=oi,s.selectAssetTypeFieldValuesAttachmentById=VI,s.selectAssetTypeFieldValuesAttachments=Oa,s.selectAssetTypeFieldValuesAttachmentsByIds=BI,s.selectAssetTypeFieldValuesAttachmentsMapping=vI,s.selectAssetTypeFieldValuesById=$I,s.selectAssetTypeFieldValuesByIds=UI,s.selectAssetTypeFieldValuesMapping=qI,s.selectAssetTypeFieldValuesOfAsset=K_,s.selectAssetTypeFields=gt,s.selectAssetTypeFieldsAttachmentById=LI,s.selectAssetTypeFieldsAttachments=Pa,s.selectAssetTypeFieldsAttachmentsByIds=HI,s.selectAssetTypeFieldsAttachmentsMapping=kI,s.selectAssetTypeFieldsById=CI,s.selectAssetTypeFieldsByIds=DI,s.selectAssetTypeFieldsMapping=jI,s.selectAssetTypeFieldsOfAssetType=G_,s.selectAssetTypeIdentifierById=NI,s.selectAssetTypeIdentifierMapping=GI,s.selectAssetTypeIdentifierValueById=XI,s.selectAssetTypeIdentifierValueMapping=WI,s.selectAssetTypeIdentifierValues=hi,s.selectAssetTypeIdentifierValuesByIds=YI,s.selectAssetTypeIdentifierValuesOfAsset=Z_,s.selectAssetTypeIdentifierValuesOfIdentifier=J_,s.selectAssetTypeIdentifiers=Fa,s.selectAssetTypeIdentifiersByIds=KI,s.selectAssetTypeIdentifiersOfAssetType=Y_,s.selectAssetTypeStatusById=eb,s.selectAssetTypeStatusMapping=xI,s.selectAssetTypeStatuses=Ma,s.selectAssetTypeStatusesByIds=tb,s.selectAssetTypeStatusesOfAssetType=x_,s.selectAssetTypeValuesOfAssetType=W_,s.selectAssetTypes=_a,s.selectAssetTypesByIds=QI,s.selectAssetTypesMapping=ZI,s.selectAssetTypesOfOrganization=Q_,s.selectAssets=li,s.selectAssetsByIds=MI,s.selectAssetsMapping=PI,s.selectAssetsOfAssetType=FI,s.selectAssetsOfProject=H_,s.selectAttachmentsOfAsset=mI,s.selectAttachmentsOfAssetComment=L_,s.selectAttachmentsOfAssetType=RI,s.selectAttachmentsOfAssetTypeFieldValues=zI,s.selectAttachmentsOfAssetTypeFields=X_,s.selectAttachmentsOfDocument=sM,s.selectAttachmentsOfFormRevision=uM,s.selectAttachmentsOfFormSubmissionComment=hM,s.selectAttachmentsOfFormSubmissionFieldValues=jb,s.selectAttachmentsOfIssue=uO,s.selectAttachmentsOfIssueComment=IM,s.selectAttachmentsOfIssueType=PM,s.selectAttachmentsOfIssueTypeFieldValues=gO,s.selectAttachmentsOfIssueTypeFields=_M,s.selectAttachmentsOfProcedureFieldValues=lF,s.selectAttachmentsOfProcedureStepFieldValues=$P,s.selectAttachmentsOfProcedureStepFields=XP,s.selectAttachmentsOfProcedureType=yg,s.selectAttachmentsOfProcedureTypeFields=fg,s.selectAttachmentsOfProject=Pg,s.selectCommentsOfAsset=bI,s.selectCommentsOfAssets=OI,s.selectCommentsOfFormSubmission=Bb,s.selectCommentsOfFormSubmissions=pM,s.selectCommentsOfIssue=bM,s.selectCommentsOfProject=Fg,s.selectCommentsOfProjects=_g,s.selectConversation=k_,s.selectConversationMapping=Aa,s.selectConversations=U_,s.selectCurrentUser=xO,s.selectDeletedRequests=DM,s.selectDescendantsOfDocument=rb,s.selectDocumentAttachmentById=ib,s.selectDocumentAttachmentMapping=sb,s.selectDocumentAttachmentsByIds=ab,s.selectDocumentById=nb,s.selectDocuments=pi,s.selectDocumentsByIds=cb,s.selectDocumentsMapping=wa,s.selectEmailDomainById=ub,s.selectEmailDomains=Ea,s.selectEmailDomainsAsMapping=db,s.selectEmailDomainsByIds=lb,s.selectEmailDomainsOfOrganization=nM,s.selectFieldValuesOfProcedure=$M,s.selectFormById=_b,s.selectFormIdentifierById=hb,s.selectFormIdentifierMapping=ob,s.selectFormIdentifierValueById=yb,s.selectFormIdentifierValueMapping=mb,s.selectFormIdentifierValues=mi,s.selectFormIdentifierValuesByIds=fb,s.selectFormIdentifierValuesOfFormSubmission=rM,s.selectFormIdentifierValuesOfIdentifier=dM,s.selectFormIdentifiers=Ra,s.selectFormIdentifiersByIds=pb,s.selectFormIdentifiersOfForm=cM,s.selectFormMapping=Fb,s.selectFormRevisionAttachmentById=Ab,s.selectFormRevisionAttachments=Sb,s.selectFormRevisionAttachmentsByIds=Tb,s.selectFormRevisionAttachmentsMapping=yi,s.selectFormRevisionById=bb,s.selectFormRevisionMapping=Ib,s.selectFormRevisions=fi,s.selectFormRevisionsByIds=Ob,s.selectFormRevisionsOfForm=Pb,s.selectFormSubmissionById=kb,s.selectFormSubmissionCommentAttachmentById=wb,s.selectFormSubmissionCommentAttachmentMapping=gb,s.selectFormSubmissionCommentAttachments=Va,s.selectFormSubmissionCommentAttachmentsByIds=Eb,s.selectFormSubmissionCommentById=vb,s.selectFormSubmissionCommentMapping=Rb,s.selectFormSubmissionComments=Si,s.selectFormSubmissionCommentsByIds=Vb,s.selectFormSubmissionFieldValues=Ca,s.selectFormSubmissionFieldValuesAttachmentById=zb,s.selectFormSubmissionFieldValuesAttachments=za,s.selectFormSubmissionFieldValuesAttachmentsByIds=ja,s.selectFormSubmissionFieldValuesAttachmentsMapping=Ba,s.selectFormSubmissionFieldValuesById=Db,s.selectFormSubmissionFieldValuesByIds=qb,s.selectFormSubmissionFieldValuesMapping=Cb,s.selectFormSubmissionFieldValuesOfFormSubmission=$b,s.selectFormSubmissions=C,s.selectFormSubmissionsByIds=Lb,s.selectFormSubmissionsMapping=Ub,s.selectFormSubmissionsOfAsset=Kb,s.selectFormSubmissionsOfAssets=Wb,s.selectFormSubmissionsOfForm=Hb,s.selectFormSubmissionsOfIssue=Gb,s.selectFormSubmissionsOfIssues=Nb,s.selectFormSubmissionsOfOrganization=mM,s.selectFormSubmissionsOfOrganizationAndForm=SM,s.selectFormSubmissionsOfProject=yM,s.selectFormSubmissionsOfProjectAndForm=fM,s.selectFormSubscriberById=Yb,s.selectFormSubscriberMapping=Xb,s.selectFormSubscribers=Ai,s.selectFormSubscribersByIds=Zb,s.selectFormSubscribersOfForm=Jb,s.selectFormSubscribersOfUser=AM,s.selectForms=va,s.selectFormsByIds=Mb,s.selectFormsOfOrganization=oM,s.selectGeoImageById=xb,s.selectGeoImageMapping=Qb,s.selectGeoImages=Da,s.selectGeoImagesByIds=eO,s.selectGeoImagesOfProject=TM,s.selectIsLoggedIn=tM,s.selectIssueAssociationById=sO,s.selectIssueAssociationMapping=tO,s.selectIssueAssociations=Ot,s.selectIssueAssociationsByIds=iO,s.selectIssueAssociationsOfAsset=cO,s.selectIssueAssociationsOfAssets=rO,s.selectIssueAssociationsOfIssue=nO,s.selectIssueAssociationsOfIssues=aO,s.selectIssueAttachmentById=lO,s.selectIssueAttachmentMapping=dO,s.selectIssueAttachments=qa,s.selectIssueAttachmentsByIds=oO,s.selectIssueById=AO,s.selectIssueCommentAttachmentById=pO,s.selectIssueCommentAttachmentMapping=hO,s.selectIssueCommentAttachments=$a,s.selectIssueCommentAttachmentsByIds=mO,s.selectIssueCommentById=yO,s.selectIssueCommentMapping=Ua,s.selectIssueCommentsByIds=fO,s.selectIssueMapping=SO,s.selectIssueTypeAttachmentById=OO,s.selectIssueTypeAttachmentMapping=bO,s.selectIssueTypeAttachments=ka,s.selectIssueTypeAttachmentsByIds=PO,s.selectIssueTypeById=KO,s.selectIssueTypeFieldValues=Ii,s.selectIssueTypeFieldValuesAttachmentById=_O,s.selectIssueTypeFieldValuesAttachments=La,s.selectIssueTypeFieldValuesAttachmentsByIds=MO,s.selectIssueTypeFieldValuesAttachmentsMapping=FO,s.selectIssueTypeFieldValuesById=EO,s.selectIssueTypeFieldValuesByIds=RO,s.selectIssueTypeFieldValuesMapping=wO,s.selectIssueTypeFieldValuesOfIssue=FM,s.selectIssueTypeFields=wt,s.selectIssueTypeFieldsAttachmentById=VO,s.selectIssueTypeFieldsAttachments=Ha,s.selectIssueTypeFieldsAttachmentsByIds=BO,s.selectIssueTypeFieldsAttachmentsMapping=vO,s.selectIssueTypeFieldsById=jO,s.selectIssueTypeFieldsByIds=CO,s.selectIssueTypeFieldsMapping=zO,s.selectIssueTypeFieldsOfIssueType=MM,s.selectIssueTypeIdentifierById=qO,s.selectIssueTypeIdentifierMapping=DO,s.selectIssueTypeIdentifierValueById=kO,s.selectIssueTypeIdentifierValueMapping=UO,s.selectIssueTypeIdentifierValues=bi,s.selectIssueTypeIdentifierValuesByIds=LO,s.selectIssueTypeIdentifierValuesOfIdentifier=vM,s.selectIssueTypeIdentifierValuesOfIssue=RM,s.selectIssueTypeIdentifiers=Ga,s.selectIssueTypeIdentifiersByIds=$O,s.selectIssueTypeIdentifiersOfIssueType=EM,s.selectIssueTypeMapping=NO,s.selectIssueTypePriorities=Na,s.selectIssueTypePrioritiesByIds=GO,s.selectIssueTypePrioritiesOfIssueType=VM,s.selectIssueTypePriorityById=Ka,s.selectIssueTypePriorityMapping=HO,s.selectIssueTypeStatusById=Ya,s.selectIssueTypeStatusMapping=XO,s.selectIssueTypeStatuses=Xa,s.selectIssueTypeStatusesByIds=YO,s.selectIssueTypeStatusesOfIssueType=zM,s.selectIssueTypeValuesOfIssueType=wM,s.selectIssueTypes=Wa,s.selectIssueTypesByIds=WO,s.selectIssueTypesOfOrganization=BM,s.selectIssueUpdateById=ZO,s.selectIssueUpdateMapping=Za,s.selectIssueUpdates=Ja,s.selectIssueUpdatesByIds=JO,s.selectIssueUpdatesOfIssue=QO,s.selectIssues=Ti,s.selectIssuesByIds=TO,s.selectIssuesOfIssueType=IO,s.selectIssuesOfProject=OM,s.selectLatestAssetTypeFieldsOfAssetType=N_,s.selectLatestFieldsByProcedureStep=ug,s.selectLatestFormRevisionOfForm=lM,s.selectLatestIssueTypeFieldsOfIssueType=gM,s.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=cg,s.selectLatestProcedureStepFieldsOfProcedureStep=dg,s.selectLatestProcedureTypeFieldsOfProcedureType=Ag,s.selectLatestRetryTime=qM,s.selectLatestReviewOfProcedureStepFieldValues=ig,s.selectMembershipsByUserOfTeam=Eg,s.selectOrganizationAccessById=tP,s.selectOrganizationAccessMapping=Fi,s.selectOrganizationAccessUserMapping=iP,s.selectOrganizationAccessesByIds=sP,s.selectOrganizationById=cP,s.selectOrganizationDocuments=aM,s.selectOrganizations=nP,s.selectOrganizationsByIds=rP,s.selectOrganizationsMapping=aP,s.selectProcedureById=yP,s.selectProcedureFieldValues=xa,s.selectProcedureFieldValuesAttachmentById=dF,s.selectProcedureFieldValuesAttachments=un,s.selectProcedureFieldValuesAttachmentsByIds=uF,s.selectProcedureFieldValuesAttachmentsMapping=rF,s.selectProcedureFieldValuesById=uP,s.selectProcedureFieldValuesByIds=lP,s.selectProcedureFieldValuesMapping=dP,s.selectProcedureInitiativeById=hP,s.selectProcedureInitiatives=_i,s.selectProcedureInitiativesByIds=pP,s.selectProcedureInitiativesMapping=oP,s.selectProcedureInitiativesOfProcedureType=kM,s.selectProcedureInitiativesOfProject=UM,s.selectProcedureStepAssigneeById=OP,s.selectProcedureStepAssignees=Et,s.selectProcedureStepAssigneesByIds=PP,s.selectProcedureStepAssigneesMapping=bP,s.selectProcedureStepAssigneesOfProcedure=HM,s.selectProcedureStepAssigneesOfProcedureAndProcedureStep=NM,s.selectProcedureStepAssigneesOfProcedureStep=GM,s.selectProcedureStepById=sF,s.selectProcedureStepCommentById=_P,s.selectProcedureStepComments=Rt,s.selectProcedureStepCommentsByIds=MP,s.selectProcedureStepCommentsMapping=FP,s.selectProcedureStepCommentsOfProcedure=KM,s.selectProcedureStepCommentsOfProcedureAndProcedureStep=XM,s.selectProcedureStepCommentsOfProcedureStep=WM,s.selectProcedureStepDefaultAssigneeById=wP,s.selectProcedureStepDefaultAssignees=en,s.selectProcedureStepDefaultAssigneesByIds=EP,s.selectProcedureStepDefaultAssigneesMapping=gP,s.selectProcedureStepDefaultAssigneesOfProcedureStep=YM,s.selectProcedureStepDefaultReviewerById=vP,s.selectProcedureStepDefaultReviewers=tn,s.selectProcedureStepDefaultReviewersByIds=VP,s.selectProcedureStepDefaultReviewersMapping=RP,s.selectProcedureStepDefaultReviewersOfProcedureStep=ZM,s.selectProcedureStepEventById=zP,s.selectProcedureStepEvents=vt,s.selectProcedureStepEventsByIds=jP,s.selectProcedureStepEventsMapping=BP,s.selectProcedureStepEventsOfProcedure=JM,s.selectProcedureStepEventsOfProcedureAndProcedureStep=xM,s.selectProcedureStepEventsOfProcedureStep=QM,s.selectProcedureStepFieldValues=pt,s.selectProcedureStepFieldValuesAttachmentById=DP,s.selectProcedureStepFieldValuesAttachments=sn,s.selectProcedureStepFieldValuesAttachmentsByIds=qP,s.selectProcedureStepFieldValuesAttachmentsMapping=CP,s.selectProcedureStepFieldValuesById=kP,s.selectProcedureStepFieldValuesByIds=LP,s.selectProcedureStepFieldValuesMapping=UP,s.selectProcedureStepFieldValuesOfProcedure=eg,s.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=sg,s.selectProcedureStepFieldValuesOfProcedureStep=tg,s.selectProcedureStepFieldValuesReviewById=GP,s.selectProcedureStepFieldValuesReviews=mt,s.selectProcedureStepFieldValuesReviewsByIds=NP,s.selectProcedureStepFieldValuesReviewsMapping=HP,s.selectProcedureStepFieldValuesReviewsOfProcedure=ag,s.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=ng,s.selectProcedureStepFields=Mi,s.selectProcedureStepFieldsAttachmentById=YP,s.selectProcedureStepFieldsAttachments=an,s.selectProcedureStepFieldsAttachmentsByIds=ZP,s.selectProcedureStepFieldsAttachmentsMapping=WP,s.selectProcedureStepFieldsById=JP,s.selectProcedureStepFieldsByIds=QP,s.selectProcedureStepFieldsMapping=nn,s.selectProcedureStepFieldsOfProcedureStep=rg,s.selectProcedureStepReviewerById=eF,s.selectProcedureStepReviewers=Vt,s.selectProcedureStepReviewersByIds=tF,s.selectProcedureStepReviewersMapping=xP,s.selectProcedureStepReviewersOfProcedure=lg,s.selectProcedureStepReviewersOfProcedureAndProcedureStep=hg,s.selectProcedureStepReviewersOfProcedureStep=og,s.selectProcedureSteps=rn,s.selectProcedureStepsByIds=iF,s.selectProcedureStepsMapping=cn,s.selectProcedureStepsMappingOfProcedureType=pg,s.selectProcedureStepsOfProcedureType=mg,s.selectProcedureTypeAttachmentById=nF,s.selectProcedureTypeAttachmentMapping=aF,s.selectProcedureTypeAttachments=dn,s.selectProcedureTypeAttachmentsByIds=cF,s.selectProcedureTypeById=AF,s.selectProcedureTypeFields=gi,s.selectProcedureTypeFieldsAttachmentById=hF,s.selectProcedureTypeFieldsAttachments=ln,s.selectProcedureTypeFieldsAttachmentsByIds=pF,s.selectProcedureTypeFieldsAttachmentsMapping=oF,s.selectProcedureTypeFieldsById=yF,s.selectProcedureTypeFieldsByIds=fF,s.selectProcedureTypeFieldsMapping=mF,s.selectProcedureTypeFieldsOfProcedureType=Sg,s.selectProcedureTypes=on,s.selectProcedureTypesByIds=TF,s.selectProcedureTypesMapping=SF,s.selectProcedureTypesOfOrganization=Tg,s.selectProcedures=ht,s.selectProceduresByIds=fP,s.selectProceduresMapping=mP,s.selectProceduresOfAsset=AP,s.selectProceduresOfAssets=TP,s.selectProceduresOfProcedureInitiative=IP,s.selectProceduresOfProcedureType=SP,s.selectProceduresOfProject=LM,s.selectProjectAccessById=IF,s.selectProjectAccessMapping=hn,s.selectProjectAccesses=Bt,s.selectProjectAccessesByIds=bF,s.selectProjectAccessesOfProject=Ig,s.selectProjectAttachmentById=PF,s.selectProjectAttachmentMapping=OF,s.selectProjectAttachments=pn,s.selectProjectAttachmentsByIds=FF,s.selectProjectById=BF,s.selectProjectCommentById=MF,s.selectProjectCommentMapping=_F,s.selectProjectComments=wi,s.selectProjectCommentsByIds=gF,s.selectProjectDocuments=iM,s.selectProjectFileById=RF,s.selectProjectFileMapping=wF,s.selectProjectFiles=EF,s.selectProjectFilesByIds=vF,s.selectProjectMapping=VF,s.selectProjects=Ei,s.selectProjectsByIds=zF,s.selectProjectsOfOrganization=gg,s.selectRehydrated=wg,s.selectReportById=DF,s.selectReportMapping=jF,s.selectReports=CF,s.selectReportsByIds=qF,s.selectReviewsOfProcedureStepFieldValues=KP,s.selectTeamById=HF,s.selectTeamMembershipById=UF,s.selectTeamMemberships=Ri,s.selectTeamMembershipsByIds=kF,s.selectTeamMembershipsMapping=$F,s.selectTeams=mn,s.selectTeamsByIds=GF,s.selectTeamsMapping=LF,s.selectTeamsOfOrganization=vg,s.selectUserById=Pi,s.selectUsers=Oi,s.selectUsersByIds=eP,s.selectUsersMapping=Qa,s.selectUsersOfOrganization=CM,s.selectUsersOfProject=Og,s.selectUsersOfTeam=Rg,s.setAsset=lc,s.setAssetAttachment=Vn,s.setAssetAttachments=Bn,s.setAssetComment=Qn,s.setAssetCommentAttachment=Ln,s.setAssetCommentAttachments=Hn,s.setAssetComments=xn,s.setAssetType=zr,s.setAssetTypeAttachment=fc,s.setAssetTypeAttachments=Sc,s.setAssetTypeFieldValues=ir,s.setAssetTypeFieldValuesAttachment=Wc,s.setAssetTypeFieldValuesAttachments=Xc,s.setAssetTypeFieldValuesMany=ar,s.setAssetTypeFields=Dc,s.setAssetTypeFieldsAttachment=Mc,s.setAssetTypeFieldsAttachments=gc,s.setAssetTypeFieldsMany=qc,s.setAssetTypeIdentifier=mr,s.setAssetTypeIdentifierValue=_r,s.setAssetTypeIdentifierValues=Mr,s.setAssetTypeIdentifiers=yr,s.setAssetTypeStatus=Wr,s.setAssetTypeStatuses=Xr,s.setAssetTypes=jr,s.setAssets=oc,s.setClientSDK=p_,s.setClientStore=o_,s.setConversation=Mn,s.setConversations=g_,s.setCurrentUser=C_,s.setCurrentUserProfile=D_,s.setDocument=Ad,s.setDocumentAttachment=rd,s.setDocumentAttachments=dd,s.setDocuments=Td,s.setEmailDomain=Ed,s.setEmailDomains=Rd,s.setForm=Du,s.setFormIdentifier=Ud,s.setFormIdentifierValue=Jd,s.setFormIdentifierValues=Qd,s.setFormIdentifiers=kd,s.setFormRevision=Au,s.setFormRevisionAttachment=du,s.setFormRevisionAttachments=uu,s.setFormRevisions=Tu,s.setFormSubmission=Rl,s.setFormSubmissionComment=Ol,s.setFormSubmissionCommentAttachment=hl,s.setFormSubmissionCommentAttachments=pl,s.setFormSubmissionComments=Pl,s.setFormSubmissionFieldValues=sl,s.setFormSubmissionFieldValuesAttachment=Wu,s.setFormSubmissionFieldValuesAttachments=Xu,s.setFormSubmissionFieldValuesMany=il,s.setFormSubmissions=vl,s.setFormSubscriber=gu,s.setFormSubscribers=wu,s.setForms=qu,s.setGeoImage=$l,s.setGeoImages=Ul,s.setIssue=qo,s.setIssueAssociation=Jl,s.setIssueAssociations=Zl,s.setIssueAttachment=co,s.setIssueAttachments=ro,s.setIssueComment=wo,s.setIssueCommentAttachment=So,s.setIssueCommentAttachments=Ao,s.setIssueComments=Eo,s.setIssueType=Mp,s.setIssueTypeAttachment=Xo,s.setIssueTypeAttachments=Yo,s.setIssueTypeFieldValues=Ch,s.setIssueTypeFieldValuesAttachment=Mh,s.setIssueTypeFieldValuesAttachments=gh,s.setIssueTypeFieldValuesMany=Dh,s.setIssueTypeFields=fh,s.setIssueTypeFieldsAttachment=nh,s.setIssueTypeFieldsAttachments=ch,s.setIssueTypeFieldsMany=Sh,s.setIssueTypeIdentifier=Wh,s.setIssueTypeIdentifierValue=ap,s.setIssueTypeIdentifierValues=np,s.setIssueTypeIdentifiers=Xh,s.setIssueTypePriorities=fp,s.setIssueTypePriority=yp,s.setIssueTypeStatus=Dp,s.setIssueTypeStatuses=qp,s.setIssueTypes=gp,s.setIssueUpdate=Kp,s.setIssueUpdates=Wp,s.setIssues=$o,s.setLoggedIn=td,s.setOrganization=om,s.setOrganizationAccess=tm,s.setOrganizationAccesses=sm,s.setOrganizations=lm,s.setProcedure=Uy,s.setProcedureFieldValues=iT,s.setProcedureFieldValuesAttachment=WA,s.setProcedureFieldValuesAttachments=XA,s.setProcedureFieldValuesMany=aT,s.setProcedureInitiative=Ry,s.setProcedureInitiatives=vy,s.setProcedureStep=sA,s.setProcedureStepAssignee=Zy,s.setProcedureStepAssignees=Jy,s.setProcedureStepComment=df,s.setProcedureStepComments=uf,s.setProcedureStepDefaultAssignee=Tf,s.setProcedureStepDefaultAssignees=If,s.setProcedureStepDefaultReviewer=Rf,s.setProcedureStepDefaultReviewers=vf,s.setProcedureStepEvent=kf,s.setProcedureStepEvents=Lf,s.setProcedureStepFieldValues=CS,s.setProcedureStepFieldValuesAttachment=SS,s.setProcedureStepFieldValuesAttachments=AS,s.setProcedureStepFieldValuesMany=DS,s.setProcedureStepFieldValuesReview=MS,s.setProcedureStepFieldValuesReviews=gS,s.setProcedureStepFields=rS,s.setProcedureStepFieldsAttachment=Jf,s.setProcedureStepFieldsAttachments=Qf,s.setProcedureStepFieldsMany=dS,s.setProcedureStepReviewer=WS,s.setProcedureStepReviewers=XS,s.setProcedureSteps=iA,s.setProcedureType=mT,s.setProcedureTypeAttachment=yA,s.setProcedureTypeAttachments=fA,s.setProcedureTypeFields=DA,s.setProcedureTypeFieldsAttachment=MA,s.setProcedureTypeFieldsAttachments=gA,s.setProcedureTypeFieldsMany=qA,s.setProcedureTypes=yT,s.setProcedures=ky,s.setProject=Ay,s.setProjectAccess=Em,s.setProjectAccesses=Rm,s.setProjectAttachment=Um,s.setProjectAttachments=km,s.setProjectComment=Jm,s.setProjectComments=Qm,s.setProjectFile=cy,s.setProjectFiles=ry,s.setProjects=Sy,s.setRehydrated=j_,s.setReport=MT,s.setReports=gT,s.setTeam=XT,s.setTeamMembership=DT,s.setTeamMemberships=qT,s.setTeams=YT,s.setTokens=v_,s.setUser=aI,s.setUsers=iI,s.teamMembershipReducer=HT,s.teamMembershipSlice=ci,s.teamReducer=eI,s.teamSlice=ri,s.updateAsset=rc,s.updateAssetAttachment=zn,s.updateAssetAttachments=jn,s.updateAssetComment=ec,s.updateAssetCommentAttachment=Gn,s.updateAssetCommentAttachments=Nn,s.updateAssetComments=tc,s.updateAssetType=qr,s.updateAssetTypeAttachment=Ac,s.updateAssetTypeAttachments=Tc,s.updateAssetTypeFieldValues=nr,s.updateAssetTypeFieldValuesAttachment=Yc,s.updateAssetTypeFieldValuesAttachments=Zc,s.updateAssetTypeFieldValuesMany=cr,s.updateAssetTypeFields=$c,s.updateAssetTypeFieldsAttachment=wc,s.updateAssetTypeFieldsAttachments=Ec,s.updateAssetTypeFieldsMany=Uc,s.updateAssetTypeIdentifier=fr,s.updateAssetTypeIdentifierValue=gr,s.updateAssetTypeIdentifierValues=wr,s.updateAssetTypeIdentifiers=Sr,s.updateAssetTypeStatus=Yr,s.updateAssetTypeStatuses=Zr,s.updateAssetTypes=$r,s.updateAssets=dc,s.updateConversation=gn,s.updateConversations=w_,s.updateDocument=Id,s.updateDocumentAttachment=ud,s.updateDocumentAttachments=ld,s.updateDocuments=bd,s.updateEmailDomain=vd,s.updateEmailDomains=Vd,s.updateForm=$u,s.updateFormIdentifier=Ld,s.updateFormIdentifierValue=xd,s.updateFormIdentifierValues=eu,s.updateFormIdentifiers=Hd,s.updateFormRevision=Iu,s.updateFormRevisionAttachment=lu,s.updateFormRevisionAttachments=ou,s.updateFormRevisions=bu,s.updateFormSubmission=Bl,s.updateFormSubmissionComment=Fl,s.updateFormSubmissionCommentAttachment=ml,s.updateFormSubmissionCommentAttachments=yl,s.updateFormSubmissionComments=_l,s.updateFormSubmissionFieldValues=al,s.updateFormSubmissionFieldValuesAttachment=Yu,s.updateFormSubmissionFieldValuesAttachments=Zu,s.updateFormSubmissionFieldValuesMany=nl,s.updateFormSubmissions=zl,s.updateFormSubscriber=Eu,s.updateFormSubscribers=Ru,s.updateForms=Uu,s.updateGeoImage=Hl,s.updateGeoImages=Gl,s.updateIssue=Uo,s.updateIssueAssociation=Ql,s.updateIssueAssociations=xl,s.updateIssueAttachment=uo,s.updateIssueAttachments=lo,s.updateIssueComment=Ro,s.updateIssueCommentAttachment=To,s.updateIssueCommentAttachments=Io,s.updateIssueComments=vo,s.updateIssueType=wp,s.updateIssueTypeAttachment=Zo,s.updateIssueTypeAttachments=Jo,s.updateIssueTypeFieldValues=qh,s.updateIssueTypeFieldValuesAttachment=wh,s.updateIssueTypeFieldValuesAttachments=Eh,s.updateIssueTypeFieldValuesMany=$h,s.updateIssueTypeFields=Ah,s.updateIssueTypeFieldsAttachment=rh,s.updateIssueTypeFieldsAttachments=dh,s.updateIssueTypeFieldsMany=Th,s.updateIssueTypeIdentifier=Yh,s.updateIssueTypeIdentifierValue=cp,s.updateIssueTypeIdentifierValues=rp,s.updateIssueTypeIdentifiers=Zh,s.updateIssueTypePriorities=Ap,s.updateIssueTypePriority=Sp,s.updateIssueTypeStatus=$p,s.updateIssueTypeStatuses=Up,s.updateIssueTypes=Ep,s.updateIssueUpdate=Xp,s.updateIssueUpdates=Yp,s.updateIssues=ko,s.updateOrganization=ym,s.updateOrganizationAccess=im,s.updateOrganizationAccesses=am,s.updateOrganizations=mm,s.updateProcedure=Ly,s.updateProcedureFieldValues=nT,s.updateProcedureFieldValuesAttachment=YA,s.updateProcedureFieldValuesAttachments=ZA,s.updateProcedureFieldValuesMany=cT,s.updateProcedureInitiative=Vy,s.updateProcedureInitiatives=By,s.updateProcedureStep=cA,s.updateProcedureStepAssignee=Qy,s.updateProcedureStepAssignees=xy,s.updateProcedureStepComment=lf,s.updateProcedureStepComments=of,s.updateProcedureStepDefaultAssignee=bf,s.updateProcedureStepDefaultAssignees=Of,s.updateProcedureStepDefaultReviewer=Vf,s.updateProcedureStepDefaultReviewers=Bf,s.updateProcedureStepEvent=Hf,s.updateProcedureStepEvents=Gf,s.updateProcedureStepFieldValues=qS,s.updateProcedureStepFieldValuesAttachment=TS,s.updateProcedureStepFieldValuesAttachments=IS,s.updateProcedureStepFieldValuesMany=$S,s.updateProcedureStepFieldValuesReview=wS,s.updateProcedureStepFieldValuesReviews=ES,s.updateProcedureStepFields=uS,s.updateProcedureStepFieldsAttachment=xf,s.updateProcedureStepFieldsAttachments=eS,s.updateProcedureStepFieldsMany=lS,s.updateProcedureStepReviewer=YS,s.updateProcedureStepReviewers=ZS,s.updateProcedureSteps=rA,s.updateProcedureType=fT,s.updateProcedureTypeAttachment=SA,s.updateProcedureTypeAttachments=AA,s.updateProcedureTypeFields=$A,s.updateProcedureTypeFieldsAttachment=wA,s.updateProcedureTypeFieldsAttachments=EA,s.updateProcedureTypeFieldsMany=UA,s.updateProcedureTypes=ST,s.updateProcedures=Hy,s.updateProject=Oy,s.updateProjectAccess=vm,s.updateProjectAccesses=Vm,s.updateProjectAttachment=Lm,s.updateProjectAttachments=Hm,s.updateProjectComment=xm,s.updateProjectComments=ey,s.updateProjectFile=ly,s.updateProjectFiles=oy,s.updateProjects=by,s.updateReport=wT,s.updateReports=ET,s.updateTeam=ZT,s.updateTeamMembership=$T,s.updateTeamMemberships=UT,s.updateTeams=JT,s.updateUser=rI,s.updateUsers=cI,s.userReducer=uI,s.userSlice=di,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));