@overmap-ai/core 1.0.77 → 1.0.78-add-resolved-comment-models.2

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 (248) hide show
  1. package/README.md +0 -0
  2. package/dist/constants/defaults.d.ts +1 -2
  3. package/dist/enums/access.d.ts +0 -5
  4. package/dist/enums/asset.d.ts +8 -0
  5. package/dist/enums/index.d.ts +2 -1
  6. package/dist/enums/issue.d.ts +7 -6
  7. package/dist/enums/procedures.d.ts +11 -0
  8. package/dist/overmap-core.js +10894 -6342
  9. package/dist/overmap-core.umd.cjs +10 -11
  10. package/dist/sdk/base.d.ts +6 -2
  11. package/dist/sdk/constants.d.ts +4 -0
  12. package/dist/sdk/errors.d.ts +5 -0
  13. package/dist/sdk/index.d.ts +6 -1
  14. package/dist/sdk/middleware/OfflineAnalyticsMiddleware.d.ts +6 -0
  15. package/dist/sdk/middleware/OfflineMiddleware.d.ts +13 -0
  16. package/dist/sdk/middleware/RateLimitingMiddleware.d.ts +6 -0
  17. package/dist/sdk/middleware/constants.d.ts +1 -0
  18. package/dist/sdk/middleware/index.d.ts +5 -0
  19. package/dist/sdk/middleware/utils.d.ts +2 -0
  20. package/dist/sdk/outbox/globals.d.ts +2 -0
  21. package/dist/sdk/{classes → outbox}/index.d.ts +1 -0
  22. package/dist/sdk/performRequest.d.ts +6 -0
  23. package/dist/sdk/services/AgentService.d.ts +3 -2
  24. package/dist/sdk/services/AssetAttachmentService.d.ts +25 -36
  25. package/dist/sdk/services/AssetCommentService.d.ts +28 -0
  26. package/dist/sdk/services/AssetService.d.ts +26 -7
  27. package/dist/sdk/services/AssetTypeAttachmentService.d.ts +25 -35
  28. package/dist/sdk/services/AssetTypeFieldValuesAttachmentService.d.ts +28 -10
  29. package/dist/sdk/services/AssetTypeFieldValuesService.d.ts +23 -11
  30. package/dist/sdk/services/AssetTypeFieldsAttachmentService.d.ts +28 -11
  31. package/dist/sdk/services/AssetTypeFieldsService.d.ts +21 -4
  32. package/dist/sdk/services/AssetTypeIdentifierService.d.ts +28 -0
  33. package/dist/sdk/services/AssetTypeIdentifierValueService.d.ts +28 -0
  34. package/dist/sdk/services/AssetTypeService.d.ts +22 -5
  35. package/dist/sdk/services/AssetTypeStatusService.d.ts +28 -0
  36. package/dist/sdk/services/BaseModelApiService.d.ts +27 -0
  37. package/dist/sdk/services/BaseOfflineFileModelApiService.d.ts +17 -0
  38. package/dist/sdk/services/BaseOfflineModelApiService.d.ts +27 -0
  39. package/dist/sdk/services/BaseService.d.ts +7 -3
  40. package/dist/sdk/services/DocumentAttachmentService.d.ts +27 -35
  41. package/dist/sdk/services/DocumentService.d.ts +23 -7
  42. package/dist/sdk/services/EmailDomainsService.d.ts +22 -5
  43. package/dist/sdk/services/FileService.d.ts +8 -26
  44. package/dist/sdk/services/FormIdentifierService.d.ts +28 -0
  45. package/dist/sdk/services/FormIdentifierValueService.d.ts +27 -0
  46. package/dist/sdk/services/FormRevisionAttachmentService.d.ts +28 -11
  47. package/dist/sdk/services/FormRevisionService.d.ts +21 -4
  48. package/dist/sdk/services/FormService.d.ts +25 -6
  49. package/dist/sdk/services/FormSubmissionAttachmentService.d.ts +28 -11
  50. package/dist/sdk/services/FormSubmissionService.d.ts +22 -5
  51. package/dist/sdk/services/GeoImageService.d.ts +29 -9
  52. package/dist/sdk/services/IssueAssociationService.d.ts +24 -6
  53. package/dist/sdk/services/IssueAttachmentService.d.ts +25 -36
  54. package/dist/sdk/services/IssueCommentAttachmentService.d.ts +25 -36
  55. package/dist/sdk/services/IssueCommentService.d.ts +23 -6
  56. package/dist/sdk/services/IssueService.d.ts +25 -6
  57. package/dist/sdk/services/IssueTypeAttachmentService.d.ts +25 -36
  58. package/dist/sdk/services/IssueTypeFieldValuesAttachmentService.d.ts +28 -11
  59. package/dist/sdk/services/IssueTypeFieldValuesService.d.ts +22 -5
  60. package/dist/sdk/services/IssueTypeFieldsAttachmentService.d.ts +28 -11
  61. package/dist/sdk/services/IssueTypeFieldsService.d.ts +22 -5
  62. package/dist/sdk/services/IssueTypeIdentifierService.d.ts +28 -0
  63. package/dist/sdk/services/IssueTypeIdentifierValueService.d.ts +27 -0
  64. package/dist/sdk/services/IssueTypeService.d.ts +22 -5
  65. package/dist/sdk/services/IssueTypeStatusService.d.ts +28 -0
  66. package/dist/sdk/services/IssueUpdateService.d.ts +174 -5
  67. package/dist/sdk/services/JWTAuthService.d.ts +1 -1
  68. package/dist/sdk/services/OrganizationAccessService.d.ts +25 -7
  69. package/dist/sdk/services/OrganizationService.d.ts +24 -7
  70. package/dist/sdk/services/ProcdureInitiativeService.d.ts +28 -0
  71. package/dist/sdk/services/ProcedureFieldValuesAttachmentService.d.ts +31 -0
  72. package/dist/sdk/services/ProcedureFieldValuesService.d.ts +29 -0
  73. package/dist/sdk/services/ProcedureService.d.ts +30 -0
  74. package/dist/sdk/services/ProcedureStepAssigneeService.d.ts +29 -0
  75. package/dist/sdk/services/ProcedureStepCommentService.d.ts +28 -0
  76. package/dist/sdk/services/ProcedureStepDefaultAssigneeService.d.ts +27 -0
  77. package/dist/sdk/services/ProcedureStepDefaultReviewerService.d.ts +27 -0
  78. package/dist/sdk/services/ProcedureStepEventService.d.ts +24 -0
  79. package/dist/sdk/services/ProcedureStepFieldValuesAttachmentService.d.ts +31 -0
  80. package/dist/sdk/services/ProcedureStepFieldValuesReviewService.d.ts +28 -0
  81. package/dist/sdk/services/ProcedureStepFieldValuesService.d.ts +29 -0
  82. package/dist/sdk/services/ProcedureStepFieldsAttachmentService.d.ts +30 -0
  83. package/dist/sdk/services/ProcedureStepFieldsService.d.ts +27 -0
  84. package/dist/sdk/services/ProcedureStepReviewerService.d.ts +29 -0
  85. package/dist/sdk/services/ProcedureStepService.d.ts +28 -0
  86. package/dist/sdk/services/ProcedureTypeAttachmentService.d.ts +30 -0
  87. package/dist/sdk/services/ProcedureTypeFieldsAttachmentService.d.ts +30 -0
  88. package/dist/sdk/services/ProcedureTypeFieldsService.d.ts +26 -0
  89. package/dist/sdk/services/ProcedureTypeService.d.ts +28 -0
  90. package/dist/sdk/services/ProjectAccessService.d.ts +27 -7
  91. package/dist/sdk/services/ProjectAttachmentService.d.ts +25 -35
  92. package/dist/sdk/services/ProjectFileService.d.ts +30 -12
  93. package/dist/sdk/services/ProjectService.d.ts +23 -12
  94. package/dist/sdk/services/TeamMembershipService.d.ts +28 -0
  95. package/dist/sdk/services/TeamService.d.ts +22 -8
  96. package/dist/sdk/services/UserService.d.ts +26 -5
  97. package/dist/sdk/services/index.d.ts +33 -11
  98. package/dist/sdk/typings.d.ts +33 -59
  99. package/dist/sdk/utils.d.ts +2 -0
  100. package/dist/store/adapters/modelAdapter.d.ts +13 -14
  101. package/dist/store/adapters/selectionAdapter.d.ts +9 -10
  102. package/dist/store/adapters/typings.d.ts +20 -3
  103. package/dist/store/constants.d.ts +3 -1
  104. package/dist/store/index.d.ts +1 -0
  105. package/dist/store/reducers.d.ts +90 -33
  106. package/dist/store/selectors/SelectorBuilder.d.ts +24 -0
  107. package/dist/store/selectors/hooks.d.ts +13 -0
  108. package/dist/store/selectors/index.d.ts +3 -0
  109. package/dist/store/selectors/utils.d.ts +1 -0
  110. package/dist/store/slices/agentsSlice.d.ts +12 -19
  111. package/dist/store/slices/assetAttachmentSlice.d.ts +13 -39
  112. package/dist/store/slices/assetCommentSlice.d.ts +23 -0
  113. package/dist/store/slices/assetSlice.d.ts +42 -50
  114. package/dist/store/slices/assetTypeAttachmentSlice.d.ts +12 -38
  115. package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +41 -49
  116. package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +41 -48
  117. package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +41 -48
  118. package/dist/store/slices/assetTypeFieldsSlice.d.ts +41 -48
  119. package/dist/store/slices/assetTypeIdentifierSlice.d.ts +22 -0
  120. package/dist/store/slices/assetTypeIdentifierValueSlice.d.ts +23 -0
  121. package/dist/store/slices/assetTypeSlice.d.ts +13 -39
  122. package/dist/store/slices/assetTypeStatusSlice.d.ts +118 -0
  123. package/dist/store/slices/documentAttachmentSlice.d.ts +13 -39
  124. package/dist/store/slices/documentSlice.d.ts +19 -106
  125. package/dist/store/slices/emailDomainsSlice.d.ts +48 -30
  126. package/dist/store/slices/fileSlice.d.ts +0 -3
  127. package/dist/store/slices/formIdentifierSlice.d.ts +22 -0
  128. package/dist/store/slices/formIdentifierValueSlice.d.ts +23 -0
  129. package/dist/store/slices/formRevisionAttachmentSlice.d.ts +109 -37
  130. package/dist/store/slices/formRevisionSlice.d.ts +42 -37
  131. package/dist/store/slices/formSlice.d.ts +44 -38
  132. package/dist/store/slices/formSubmissionAttachmentSlice.d.ts +14 -38
  133. package/dist/store/slices/formSubmissionSlice.d.ts +11 -39
  134. package/dist/store/slices/geoImageSlice.d.ts +43 -50
  135. package/dist/store/slices/index.d.ts +30 -11
  136. package/dist/store/slices/issueAssociationSlice.d.ts +46 -52
  137. package/dist/store/slices/issueAttachmentSlice.d.ts +13 -39
  138. package/dist/store/slices/issueCommentAttachmentSlice.d.ts +13 -39
  139. package/dist/store/slices/issueCommentSlice.d.ts +13 -27
  140. package/dist/store/slices/issueSlice.d.ts +17 -29
  141. package/dist/store/slices/issueTypeAttachmentSlice.d.ts +12 -38
  142. package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +41 -49
  143. package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +41 -48
  144. package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +41 -48
  145. package/dist/store/slices/issueTypeFieldsSlice.d.ts +41 -48
  146. package/dist/store/slices/issueTypeIdentifierSlice.d.ts +22 -0
  147. package/dist/store/slices/issueTypeIdentifierValueSlice.d.ts +23 -0
  148. package/dist/store/slices/issueTypeSlice.d.ts +13 -26
  149. package/dist/store/slices/issueTypeStatusSlice.d.ts +118 -0
  150. package/dist/store/slices/issueUpdateSlice.d.ts +243 -27
  151. package/dist/store/slices/organizationAccessSlice.d.ts +18 -20
  152. package/dist/store/slices/organizationSlice.d.ts +42 -55
  153. package/dist/store/slices/outboxSlice.d.ts +6 -7
  154. package/dist/store/slices/procedureFieldValuesSlice.d.ts +118 -0
  155. package/dist/store/slices/procedureInitiativeSlice.d.ts +23 -0
  156. package/dist/store/slices/procedureSlice.d.ts +26 -0
  157. package/dist/store/slices/procedureStepAssigneeSlice.d.ts +120 -0
  158. package/dist/store/slices/procedureStepCommentSlice.d.ts +120 -0
  159. package/dist/store/slices/procedureStepDefaultAssigneeSlice.d.ts +118 -0
  160. package/dist/store/slices/procedureStepDefaultReviewerSlice.d.ts +118 -0
  161. package/dist/store/slices/procedureStepEventSlice.d.ts +120 -0
  162. package/dist/store/slices/procedureStepFieldValuesAttachmentSlice.d.ts +118 -0
  163. package/dist/store/slices/procedureStepFieldValuesReviewSlice.d.ts +122 -0
  164. package/dist/store/slices/procedureStepFieldValuesSlice.d.ts +120 -0
  165. package/dist/store/slices/procedureStepFieldsAttachmentSlice.d.ts +118 -0
  166. package/dist/store/slices/procedureStepFieldsSlice.d.ts +216 -0
  167. package/dist/store/slices/procedureStepReviewerSlice.d.ts +120 -0
  168. package/dist/store/slices/procedureStepSlice.d.ts +119 -0
  169. package/dist/store/slices/procedureTypeAttachmentSlice.d.ts +98 -0
  170. package/dist/store/slices/procedureTypeFieldValuesAttachmentSlice.d.ts +118 -0
  171. package/dist/store/slices/procedureTypeFieldsAttachmentSlice.d.ts +118 -0
  172. package/dist/store/slices/procedureTypeFieldsSlice.d.ts +23 -0
  173. package/dist/store/slices/procedureTypeSlice.d.ts +22 -0
  174. package/dist/store/slices/projectAccessSlice.d.ts +18 -23
  175. package/dist/store/slices/projectAttachmentSlice.d.ts +14 -40
  176. package/dist/store/slices/projectFileSlice.d.ts +43 -65
  177. package/dist/store/slices/projectSlice.d.ts +45 -55
  178. package/dist/store/slices/teamMembershipSlice.d.ts +23 -0
  179. package/dist/store/slices/teamSlice.d.ts +13 -25
  180. package/dist/store/slices/userSlice.d.ts +111 -51
  181. package/dist/store/store.d.ts +4 -14
  182. package/dist/store/typings.d.ts +18 -1
  183. package/dist/typings/files.d.ts +32 -18
  184. package/dist/typings/index.d.ts +0 -3
  185. package/dist/typings/models/agents.d.ts +2 -1
  186. package/dist/typings/models/assets.d.ts +43 -48
  187. package/dist/typings/models/base.d.ts +23 -15
  188. package/dist/typings/models/documents.d.ts +9 -4
  189. package/dist/typings/models/emailDomain.d.ts +2 -1
  190. package/dist/typings/models/emailVerification.d.ts +7 -5
  191. package/dist/typings/models/fields.d.ts +7 -7
  192. package/dist/typings/models/forms.d.ts +18 -12
  193. package/dist/typings/models/geoImages.d.ts +8 -8
  194. package/dist/typings/models/index.d.ts +1 -4
  195. package/dist/typings/models/issues.d.ts +69 -40
  196. package/dist/typings/models/organizations.d.ts +4 -5
  197. package/dist/typings/models/procedures.d.ts +106 -0
  198. package/dist/typings/models/projects.d.ts +11 -10
  199. package/dist/typings/models/teams.d.ts +8 -5
  200. package/dist/typings/models/users.d.ts +4 -3
  201. package/dist/utils/file.d.ts +7 -11
  202. package/dist/utils/index.d.ts +2 -2
  203. package/dist/utils/models/assets.d.ts +2 -0
  204. package/dist/utils/models/base.d.ts +2 -0
  205. package/dist/utils/models/documents.d.ts +4 -0
  206. package/dist/utils/models/index.d.ts +4 -0
  207. package/dist/utils/models/issues.d.ts +2 -0
  208. package/dist/utils/utils.d.ts +0 -7
  209. package/dist/utils/uuid.d.ts +7 -0
  210. package/package.json +37 -58
  211. package/dist/enums/licenses.d.ts +0 -14
  212. package/dist/sdk/services/AssetProcedureAttachmentService.d.ts +0 -40
  213. package/dist/sdk/services/AssetProcedureFieldValuesAttachmentService.d.ts +0 -16
  214. package/dist/sdk/services/AssetProcedureFieldValuesService.d.ts +0 -22
  215. package/dist/sdk/services/AssetProcedureFieldsAttachmentService.d.ts +0 -13
  216. package/dist/sdk/services/AssetProcedureFieldsService.d.ts +0 -9
  217. package/dist/sdk/services/AssetProcedureInstanceService.d.ts +0 -11
  218. package/dist/sdk/services/AssetProcedureService.d.ts +0 -11
  219. package/dist/sdk/services/AssetStageCompletionService.d.ts +0 -12
  220. package/dist/sdk/services/AssetStageService.d.ts +0 -12
  221. package/dist/sdk/services/BaseAttachmentService.d.ts +0 -38
  222. package/dist/sdk/services/BaseUploadService.d.ts +0 -10
  223. package/dist/sdk/services/CategoryService.d.ts +0 -11
  224. package/dist/sdk/services/LicenseService.d.ts +0 -14
  225. package/dist/store/slices/assetProcedureAttachmentSlice.d.ts +0 -48
  226. package/dist/store/slices/assetProcedureFieldValuesAttachmentSlice.d.ts +0 -126
  227. package/dist/store/slices/assetProcedureFieldValuesSlice.d.ts +0 -126
  228. package/dist/store/slices/assetProcedureFieldsAttachmentSlice.d.ts +0 -125
  229. package/dist/store/slices/assetProcedureFieldsSlice.d.ts +0 -126
  230. package/dist/store/slices/assetProcedureInstanceSlice.d.ts +0 -127
  231. package/dist/store/slices/assetProcedureSlice.d.ts +0 -126
  232. package/dist/store/slices/assetStageCompletionSlice.d.ts +0 -117
  233. package/dist/store/slices/assetStageSlice.d.ts +0 -127
  234. package/dist/store/slices/categorySlice.d.ts +0 -106
  235. package/dist/store/slices/licenseSlice.d.ts +0 -25
  236. package/dist/typings/colors.d.ts +0 -8
  237. package/dist/typings/json.d.ts +0 -6
  238. package/dist/typings/memoization.d.ts +0 -1
  239. package/dist/typings/models/attachments.d.ts +0 -31
  240. package/dist/typings/models/categories.d.ts +0 -8
  241. package/dist/typings/models/issueTypes.d.ts +0 -7
  242. package/dist/typings/models/license.d.ts +0 -13
  243. package/dist/typings/models/store.d.ts +0 -0
  244. package/dist/typings/search.d.ts +0 -23
  245. package/dist/utils/coordinates.d.ts +0 -4
  246. package/dist/utils/offline.d.ts +0 -13
  247. /package/dist/sdk/{classes → outbox}/OutboxCoordinator.d.ts +0 -0
  248. /package/dist/sdk/{classes → outbox}/OutboxCoordinator.spec.d.ts +0 -0
@@ -1,15 +1,14 @@
1
- (function(i,j){typeof exports=="object"&&typeof module<"u"?j(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("file-saver"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("buffer"),require("localforage"),require("redux-persist-migrate"),require("@overmap-ai/forms"),require("idb"),require("@redux-offline/redux-offline/lib/constants"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","file-saver","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","buffer","localforage","redux-persist-migrate","@overmap-ai/forms","idb","@redux-offline/redux-offline/lib/constants","jwt-decode","dependency-graph","@tiptap/core"],j):(i=typeof globalThis<"u"?globalThis:i||self,j(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.fileSaver,i.reduxOffline,i.offlineConfig,null,i.localforage,i.createMigration,null,i.idb,i.constants,i.jwtDecode,i.dependencyGraph))})(this,function(i,j,l,_e,ge,Xl,Ql,_a,CS,Zl,xl,zS,eh,th,sh,ih){"use strict";var MS=Object.defineProperty;var kS=(i,j,l)=>j in i?MS(i,j,{enumerable:!0,configurable:!0,writable:!0,value:l}):i[j]=l;var f=(i,j,l)=>kS(i,typeof j!="symbol"?j+"":j,l);var Jl;const va=Object.freeze([]),wa=Object.freeze({});var vt=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(vt||{}),wt=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(wt||{}),h=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(h||{}),Ea=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(Ea||{}),Et=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))(Et||{}),jt=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.SELECTED=2]="SELECTED",t[t.DONE=4]="DONE",t))(jt||{}),v=(t=>(t.STATUS="status",t.PRIORITY="priority",t.CATEGORY="category",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))(v||{}),ja=(t=>(t.COMPLETED="checkout.completed",t.CLOSED="checkout.closed",t))(ja||{}),qa=(t=>(t[t.PRO=0]="PRO",t))(qa||{}),Ma=(t=>(t[t.ACTIVE=0]="ACTIVE",t[t.PAUSED=2]="PAUSED",t[t.CANCELLED=4]="CANCELLED",t[t.INACTIVE=6]="INACTIVE",t[t.PAST_DUE=8]="PAST_DUE",t))(Ma||{});const ah=jt.BACKLOG,nh=Et.MEDIUM,ka=6e4;function T(t){return{addOne:(p,A)=>{const y=t(A.payload);p.instances[y]=A.payload},addMany:(p,A)=>{for(const y of A.payload){const b=t(y);p.instances[b]=y}},setOne:(p,A)=>{const y=t(A.payload);p.instances[y]=A.payload},setMany:(p,A)=>{for(const y of A.payload){const b=t(y);p.instances[b]=y}},updateOne:(p,A)=>{const y=t(A.payload);p.instances[y]=A.payload},updateMany:(p,A)=>{for(const y of A.payload){const b=t(y);p.instances[b]=y}},deleteOne:(p,A)=>{delete p.instances[A.payload]},deleteMany:(p,A)=>{for(const y of A.payload)delete p.instances[y]},initialize:(p,A)=>{p.instances={};for(const y of A.payload){const b=t(y);p.instances[b]=y}},getInitialState:p=>({...p,instances:{}})}}function ch(){return{initializeSelection:(m,d)=>{m.selection=Array.from(new Set(d.payload))},selectOne:(m,d)=>{new Set(m.selection).has(d.payload)||m.selection.push(d.payload)},selectMany:(m,d)=>{const o=new Set(m.selection);for(const p of d.payload)o.has(p)||o.add(p);m.selection=Array.from(o)},unselectOne:(m,d)=>{const o=new Set(m.selection);o.has(d.payload)&&(o.delete(d.payload),m.selection=Array.from(o))},unselectMany:(m,d)=>{const o=new Set(m.selection);for(const p of d.payload)o.has(p)&&o.delete(p);m.selection=Array.from(o)},toggleOne:(m,d)=>{const o=new Set(m.selection);o.has(d.payload)?o.delete(d.payload):o.add(d.payload),m.selection=Array.from(o)},toggleMany:(m,d)=>{const o=new Set(m.selection);for(const p of d.payload)o.has(p)?o.delete(p):o.add(p);m.selection=Array.from(o)},getInitialState:m=>({...m,selection:[]})}}const De="versioning",Ca="RESET";Jl=Symbol.toStringTag;class za{constructor(){f(this,Jl,"Promise");f(this,"_promise");f(this,"_resolve");f(this,"_reject");f(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((e,s)=>{this._resolve=e,this._reject=s})}get state(){return this._state}then(e,s){return this._promise.then(e,s)}catch(e){return this._promise.catch(e)}resolve(e){if(!this._resolve)throw new Error("No resolve callback");this._resolve(e),this._state="fulfilled"}reject(e){if(!this._reject)throw e;this._reject(e),this._state="rejected"}finally(e){throw new Error("`finally` not implemented")}}const rh=t=>({type:"Point",coordinates:t}),dh=t=>({type:"MultiPoint",coordinates:t}),uh=(t,e)=>t[0]===e[0]&&t[1]===e[1];let qt=!1;["true","1"].includes("".toLowerCase())&&(qt=!0);function oh(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;const s=Object.keys(t),a=Object.keys(e),n=s.length;if(n!==a.length)return!1;for(let c=0;c<n;c++){const r=s[c];if(!Object.prototype.hasOwnProperty.call(e,r)||t[r]!==e[r])return!1}return!0}function Mt(t){const e={};return function(){const s=Array.prototype.slice.call(arguments);return s in e?(qt&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,s,")"),e[s]):(qt&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,s,")"),e[s]=t.apply(this,s))}}function lh(t,e){if(t.length!==e.length)return!1;for(let s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0}const g=t=>t.length===0?va:t,ve=t=>Object.keys(t).length===0?wa:t,Da=Mt(t=>{if(!t)return"";const e=new Date(t),s=e.getFullYear()===kt.getFullYear(),a={day:"numeric",month:"short"};return s||(a.year="numeric"),e.toLocaleDateString([],a)}),hh=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),mh=1e3*86400,kt=new Date,ph=t=>new Date(t).toDateString()===kt.toDateString(),Ah=Mt((t,e,s)=>{const a=Math.round((new Date(t).getTime()-kt.getTime())/mh);return a<e||a>s?Da(t):hh.format(a,"days")});function yh(t){return new Uint8Array(t).reduce((s,a)=>s+a.toString(16).padStart(2,"0"),"")}const Ct=async(t,e)=>{e||(e=await we(t));let s=t.type;if(s.includes("/")&&(s=s.split("/")[1]),!s)throw new Error(`Could not extract file type from ${t.type}`);return`${e}.${s}`};function we(t){return new Promise((e,s)=>{const a=new FileReader;a.onload=()=>{const n=a.result;if(!n){s(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",n).then(c=>{const r=yh(c);e(r)})},a.readAsArrayBuffer(t)})}function fh(t){if(!t.name||!t.type||!t.size){const e="File has no name, type, and/or size";throw new Error(e)}return`${t.name}&${t.type}${t.size}`}function Ua(t,e){return new File([t],e,{type:t.type})}function Sh(t,e){const s=document.createElement("a");s.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(e)),s.setAttribute("download",t),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}const gh=async t=>{const e={};for(const s of t){const a=await we(s);e[a]={sha1:a,extension:s.name.split(".").pop()||"",file_type:s.type,size:s.size}}return Object.values(e)},Va=async t=>(await fetch(t)).blob(),bh=t=>new Promise((e,s)=>{const a=new FileReader;a.onloadend=()=>{var n;e(((n=a.result)==null?void 0:n.toString())||"")},a.readAsDataURL(t)});function Th(t){const e=new Blob([t]);Xl.saveAs(e,t.name)}const $a={};function Ih(t,e,s,...a){const n=$a[t];let c=!1;n?n[e]||(n[e]=!0,c=!0):($a[t]={[e]:!0},c=!0),c&&console[s](...a)}const Ba=["created_at","updated_at","index","revision"];function R(t){return{...t,uuid:ge.v4()}}function Ga(t){const e={};for(const s of t)e[s.uuid]=s;return e}function Fh(t,e=void 0,s=255){let a=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!e){const c=t.split(".");c.length>1&&(e=c[c.length-1])}e&&!e.startsWith(".")&&(e="."+e);const n=e?e.length:0;return a.length+n>s&&(a=a.slice(0,s-n)+(e||"")),a}function Rh(t){return t.toLowerCase().replace(" ","-")}function Ph(t,e=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,e?"_":"-")}function Oh(t,e){if(t.length<=e)return t;const s=t.slice(0,e-1);return s.slice(0,s.lastIndexOf(" "))+"…"}const S=t=>e=>s=>t(s,e);function La(t,e,s){return s.findIndex(a=>a.uuid===t.uuid)===e}function _h(t,e,s){return s.findIndex(a=>a.file_sha1===t.file_sha1)===e}const vh=/^.+@.+\..+$/;function _(t){const e={...t};for(const s of[...Ba,"created_by"])s in e&&delete e[s];return e}const Ue=T(t=>t.uuid),Na=Ue.getInitialState({}),zt=l.createSlice({name:"agents",initialState:Na,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Na)),reducers:{initializeConversations:Ue.initialize,addConversation:Ue.addOne,setConversation:Ue.setOne,updateConversation:Ue.updateOne}}),{initializeConversations:Ha,addConversation:Wa,setConversation:Ka,updateConversation:Ya}=zt.actions,Dt=t=>t.agentsReducer.instances,wh=l.createSelector([Dt],t=>Object.values(t)),Eh=S(l.createSelector([Dt,(t,e)=>e],(t,e)=>t[e])),Ja=zt.reducer,C=T(t=>t.uuid),Xa=C.getInitialState({}),Ut=l.createSlice({name:"assetAttachments",initialState:Xa,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Xa)),reducers:{initializeAssetAttachments:C.initialize,addAssetAttachment:C.addOne,addAssetAttachments:C.addMany,setAssetAttachment:C.setOne,setAssetAttachments:C.setMany,updateAssetAttachment:C.updateOne,updateAssetAttachments:C.updateMany,deleteAssetAttachment:C.deleteOne,deleteAssetAttachments:C.deleteMany}}),{initializeAssetAttachments:Vt,addAssetAttachment:jh,addAssetAttachments:$t,setAssetAttachment:Qa,setAssetAttachments:qh,updateAssetAttachment:Mh,updateAssetAttachments:Za,deleteAssetAttachment:xa,deleteAssetAttachments:Bt}=Ut.actions,en=t=>t.assetAttachmentReducer.instances,tn=l.createSelector([en],t=>Object.values(t)),sn=t=>e=>e.assetAttachmentReducer.instances[t],an=S(l.createSelector([tn,(t,e)=>e],(t,e)=>g(t.filter(({asset:s})=>e===s)))),nn=Ut.reducer,z=T(t=>t.uuid),cn=z.getInitialState({}),Gt=l.createSlice({name:"assetProcedureAttachments",initialState:cn,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,cn)),reducers:{initializeAssetProcedureAttachments:z.initialize,addAssetProcedureAttachment:z.addOne,addAssetProcedureAttachments:z.addMany,setAssetProcedureAttachment:z.setOne,setAssetProcedureAttachments:z.setMany,updateAssetProcedureAttachment:z.updateOne,updateAssetProcedureAttachments:z.updateMany,deleteAssetProcedureAttachment:z.deleteOne,deleteAssetProcedureAttachments:z.deleteMany}}),{initializeAssetProcedureAttachments:rn,addAssetProcedureAttachment:kh,addAssetProcedureAttachments:dn,setAssetProcedureAttachment:un,setAssetProcedureAttachments:Ch,updateAssetProcedureAttachment:zh,updateAssetProcedureAttachments:on,deleteAssetProcedureAttachment:ln,deleteAssetProcedureAttachments:hn}=Gt.actions,mn=t=>t.assetProcedureAttachmentReducer.instances,pn=l.createSelector([mn],t=>Object.values(t)),An=t=>e=>e.assetProcedureAttachmentReducer.instances[t],Dh=S(l.createSelector([pn,(t,e)=>e],(t,e)=>g(t.filter(({asset_procedure:s})=>e===s)))),yn=Gt.reducer,D=T(t=>t.uuid),fn=D.getInitialState({}),Lt=l.createSlice({name:"assetProcedureFieldsAttachments",initialState:fn,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,fn)),reducers:{initializeAssetProcedureFieldsAttachments:D.initialize,addAssetProcedureFieldsAttachment:D.addOne,addAssetProcedureFieldsAttachments:D.addMany,setAssetProcedureFieldsAttachment:D.setOne,setAssetProcedureFieldsAttachments:D.setMany,updateAssetProcedureFieldsAttachment:D.updateOne,updateAssetProcedureFieldsAttachments:D.updateMany,deleteAssetProcedureFieldsAttachment:D.deleteOne,deleteAssetProcedureFieldsAttachments:D.deleteMany}}),{initializeAssetProcedureFieldsAttachments:Sn,addAssetProcedureFieldsAttachment:Uh,addAssetProcedureFieldsAttachments:gn,setAssetProcedureFieldsAttachment:Vh,setAssetProcedureFieldsAttachments:$h,updateAssetProcedureFieldsAttachment:Bh,updateAssetProcedureFieldsAttachments:bn,deleteAssetProcedureFieldsAttachment:Gh,deleteAssetProcedureFieldsAttachments:Tn}=Lt.actions,In=t=>t.assetProcedureFieldsAttachmentReducer.instances,Fn=l.createSelector([In],t=>Object.values(t)),Lh=S(l.createSelector([Fn,(t,e)=>e],(t,e)=>g(t.filter(s=>s.fields_revision===e)))),Nh=t=>e=>e.assetProcedureFieldsAttachmentReducer.instances[t],Rn=Lt.reducer,U=T(t=>t.uuid),Pn=U.getInitialState({}),Nt=l.createSlice({name:"assetProcedureFields",initialState:Pn,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Pn)),reducers:{initializeAssetProcedureFields:U.initialize,addAssetProcedureFields:U.addOne,addAssetProcedureFieldsMany:U.addMany,setAssetProcedureFields:U.setOne,setAssetProcedureFieldsMany:U.setMany,updateAssetProcedureFields:U.updateOne,updateAssetProcedureFieldsMany:U.updateMany,deleteAssetProcedureFields:U.deleteOne,deleteAssetProcedureFieldsMany:U.deleteMany}}),{initializeAssetProcedureFields:On,addAssetProcedureFields:_n,addAssetProcedureFieldsMany:Hh,setAssetProcedureFields:Wh,setAssetProcedureFieldsMany:Kh,updateAssetProcedureFields:vn,updateAssetProcedureFieldsMany:Yh,deleteAssetProcedureFields:wn,deleteAssetProcedureFieldsMany:Jh}=Nt.actions,En=t=>t.assetProcedureFieldsReducer.instances,Ht=l.createSelector([En],t=>Object.values(t)),Xh=S(l.createSelector([Ht,(t,e)=>e],(t,e)=>g(t.filter(s=>s.asset_procedure===e)))),Qh=S(l.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(s=>s.asset_procedure===e).sort((s,a)=>s.submitted_at>a.submitted_at?-1:1)[0])),Zh=t=>e=>e.assetProcedureFieldsReducer.instances[t],jn=Nt.reducer,V=T(t=>t.uuid),qn=V.getInitialState({}),Wt=l.createSlice({name:"assetProcedureFieldValuesAttachments",initialState:qn,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,qn)),reducers:{initializeAssetProcedureFieldValuesAttachments:V.initialize,addAssetProcedureFieldValuesAttachment:V.addOne,addAssetProcedureFieldValuesAttachments:V.addMany,setAssetProcedureFieldValuesAttachment:V.setOne,setAssetProcedureFieldValuesAttachments:V.setMany,updateAssetProcedureFieldValuesAttachment:V.updateOne,updateAssetProcedureFieldValuesAttachments:V.updateMany,deleteAssetProcedureFieldValuesAttachment:V.deleteOne,deleteAssetProcedureFieldValuesAttachments:V.deleteMany}}),{initializeAssetProcedureFieldValuesAttachments:Mn,addAssetProcedureFieldValuesAttachment:xh,addAssetProcedureFieldValuesAttachments:et,setAssetProcedureFieldValuesAttachment:em,setAssetProcedureFieldValuesAttachments:tm,updateAssetProcedureFieldValuesAttachment:sm,updateAssetProcedureFieldValuesAttachments:kn,deleteAssetProcedureFieldValuesAttachment:im,deleteAssetProcedureFieldValuesAttachments:tt}=Wt.actions,Kt=t=>t.assetProcedureFieldValuesAttachmentReducer.instances,Cn=l.createSelector([Kt],t=>Object.values(t)),am=t=>e=>e.assetProcedureFieldValuesAttachmentReducer.instances[t],zn=S(l.createSelector([Kt,(t,e)=>e],(t,e)=>{const s=new Set(e);return g(Object.values(t).filter(a=>s.has(a.uuid)))})),Dn=S(l.createSelector([Cn,(t,e)=>e],(t,e)=>g(t.filter(s=>s.field_values===e)))),Un=Wt.reducer,$=T(t=>t.uuid),Vn=$.getInitialState({}),Yt=l.createSlice({name:"assetProcedureFieldValues",initialState:Vn,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Vn)),reducers:{initializeAssetProcedureFieldValues:$.initialize,addAssetProcedureFieldValues:$.addOne,addAssetProcedureFieldValuesMany:$.addMany,setAssetProcedureFieldValues:$.setOne,setAssetProcedureFieldValuesMany:$.setMany,updateAssetProcedureFieldValues:$.updateOne,updateAssetProcedureFieldValuesMany:$.updateMany,deleteAssetProcedureFieldValues:$.deleteOne,deleteAssetProcedureFieldValuesMany:$.deleteMany}}),{initializeAssetProcedureFieldValues:$n,addAssetProcedureFieldValues:Jt,addAssetProcedureFieldValuesMany:Bn,setAssetProcedureFieldValues:nm,setAssetProcedureFieldValuesMany:cm,updateAssetProcedureFieldValues:Ve,updateAssetProcedureFieldValuesMany:Gn,deleteAssetProcedureFieldValues:Xt,deleteAssetProcedureFieldValuesMany:Ln}=Yt.actions,Nn=t=>t.assetProcedureFieldValuesReducer.instances,Qt=l.createSelector([Nn],t=>Object.values(t)),rm=S(l.createSelector([Qt,(t,e)=>e],(t,e)=>g(t.filter(s=>s.asset===e)))),dm=S(l.createSelector([Qt,(t,e)=>e],(t,e)=>g(t.filter(s=>s.asset_procedure_instance===e)))),Zt=t=>e=>e.assetProcedureFieldValuesReducer.instances[t],Hn=Yt.reducer,B=T(t=>t.uuid),Wn=B.getInitialState({}),xt=l.createSlice({name:"assetProcedureInstances",initialState:Wn,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Wn)),reducers:{initializeAssetProcedureInstances:B.initialize,addAssetProcedureInstance:B.addOne,addAssetProcedureInstances:B.addMany,setAssetProcedureInstance:B.setOne,setAssetProcedureInstances:B.setMany,updateAssetProcedureInstance:B.updateOne,updateAssetProcedureInstances:B.updateMany,deleteAssetProcedureInstance:B.deleteOne,deleteAssetProcedureInstances:B.deleteMany}}),{initializeAssetProcedureInstances:Kn,addAssetProcedureInstance:es,addAssetProcedureInstances:Yn,updateAssetProcedureInstance:$e,updateAssetProcedureInstances:um,deleteAssetProcedureInstance:ts,deleteAssetProcedureInstances:Jn,setAssetProcedureInstance:om,setAssetProcedureInstances:lm}=xt.actions,ss=t=>t.assetProcedureInstanceReducer.instances,is=l.createSelector([ss],t=>Object.values(t)),Xn=S(l.createSelector([is,(t,e)=>e],(t,e)=>g(t.filter(s=>s.asset_procedure===e)))),hm=S(l.createSelector([is,(t,e)=>e],(t,e)=>g(t.filter(s=>s.asset_type===e)))),as=t=>e=>e.assetProcedureInstanceReducer.instances[t],mm=S(l.createSelector([ss,(t,e)=>e],(t,e)=>{const s=[];for(const a of e){const n=t[a];n&&s.push(n)}return g(s)})),Qn=xt.reducer,G=T(t=>t.uuid),Zn=G.getInitialState({}),ns=l.createSlice({name:"assetProcedures",initialState:Zn,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Zn)),reducers:{initializeAssetProcedures:G.initialize,addAssetProcedure:G.addOne,addAssetProcedures:G.addMany,setAssetProcedure:G.setOne,setAssetProcedures:G.setMany,updateAssetProcedure:G.updateOne,updateAssetProcedures:G.updateMany,deleteAssetProcedure:G.deleteOne,deleteAssetProcedures:G.deleteMany}}),{initializeAssetProcedures:xn,addAssetProcedure:cs,addAssetProcedures:pm,updateAssetProcedure:Be,updateAssetProcedures:Am,deleteAssetProcedure:rs,deleteAssetProcedures:ym,setAssetProcedure:fm,setAssetProcedures:Sm}=ns.actions,ds=t=>t.assetProcedureReducer.instances,ec=l.createSelector([ds],t=>Object.values(t)),gm=S(l.createSelector([ec,(t,e)=>e],(t,e)=>g(t.filter(s=>s.organization===e)))),us=t=>e=>e.assetProcedureReducer.instances[t],bm=S(l.createSelector([ds,(t,e)=>e],(t,e)=>{const s=[];for(const a of e){const n=t[a];n&&s.push(n)}return g(s)})),tc=ns.reducer,L=T(t=>t.uuid),sc=L.getInitialState({}),os=l.createSlice({name:"assets",initialState:sc,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,sc)),reducers:{initializeAssets:L.initialize,addAsset:L.addOne,addAssets:L.addMany,setAsset:L.setOne,setAssets:L.setMany,updateAsset:L.updateOne,updateAssets:L.updateMany,deleteAsset:L.deleteOne,deleteAssets:L.deleteMany}}),{initializeAssets:ic,addAsset:ls,addAssets:hs,updateAsset:Ge,updateAssets:Tm,deleteAsset:ms,deleteAssets:ac,setAsset:Im,setAssets:Fm}=os.actions,ps=t=>t.assetReducer.instances,nc=l.createSelector([ps],t=>g(Object.values(t))),As=S(l.createSelector([nc,(t,e)=>e],(t,e)=>g(t.filter(s=>s.asset_type===e)))),ys=t=>e=>e.assetReducer.instances[t],Rm=S(l.createSelector([ps,(t,e)=>e],(t,e)=>{const s=[];for(const a of e){const n=t[a];n&&s.push(n)}return g(s)})),Pm=t=>e=>As(t)(e).length,cc=os.reducer,ye=T(t=>t.uuid),rc=ye.getInitialState({}),fs=l.createSlice({name:"assetStageCompletions",initialState:rc,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,rc)),reducers:{initializeAssetStageCompletions:ye.initialize,addAssetStageCompletion:ye.addOne,addAssetStageCompletions:ye.addMany,updateAssetStageCompletion:ye.updateOne,updateAssetStageCompletions:ye.updateMany,deleteAssetStageCompletion:ye.deleteOne,deleteAssetStageCompletions:ye.deleteMany}}),{initializeAssetStageCompletions:dc,addAssetStageCompletion:Ss,addAssetStageCompletions:gs,updateAssetStageCompletion:uc,updateAssetStageCompletions:oc,deleteAssetStageCompletion:bs,deleteAssetStageCompletions:Ts}=fs.actions,lc=fs.reducer,Is=t=>t.assetStageCompletionReducer.instances,Om=l.createSelector([Is],t=>Object.values(t)),hc=t=>e=>e.assetStageCompletionReducer.instances[t],mc=S(l.createSelector([Is,(t,e)=>e],(t,e)=>{const s=new Set(e);return g(Object.values(t).filter(a=>s.has(a.uuid)))})),N=T(t=>t.uuid),pc=N.getInitialState({}),Fs=l.createSlice({name:"assetStages",initialState:pc,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,pc)),reducers:{initializeAssetStages:N.initialize,setAssetStage:N.setOne,setAssetStages:N.setMany,addAssetStage:N.addOne,addAssetStages:N.addMany,updateAssetStage:N.updateOne,updateAssetStages:N.updateMany,deleteAssetStage:N.deleteOne,deleteAssetStages:N.deleteMany}}),{initializeAssetStages:Ac,setAssetStage:yc,setAssetStages:_m,addAssetStage:vm,addAssetStages:Rs,updateAssetStage:Ps,updateAssetStages:st,deleteAssetStage:wm,deleteAssetStages:Os}=Fs.actions,fc=Fs.reducer,it=t=>t.assetStageReducer.instances,Sc=t=>e=>e.assetStageReducer.instances[t],gc=l.createSelector([it],t=>Object.values(t)),Em=S(l.createSelector([it,(t,e)=>e],(t,e)=>{const s={};for(const[a,n]of Object.entries(t))n.asset_procedure===e&&(s[a]=n);return ve(s)})),jm=S(l.createSelector([gc,(t,e)=>e],(t,e)=>g(t.filter(s=>s.asset_procedure===e)))),_s=S(l.createSelector([it,(t,e)=>e],(t,e)=>{const s=[];for(const a of e){const n=t[a];n?s.push(n):console.warn("selectStagesFromStageIds: No stage exists with the id",a)}return g(s)})),H=T(t=>t.uuid),bc=H.getInitialState({}),vs=l.createSlice({name:"assetTypeAttachments",initialState:bc,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,bc)),reducers:{initializeAssetTypeAttachments:H.initialize,addAssetTypeAttachment:H.addOne,addAssetTypeAttachments:H.addMany,setAssetTypeAttachment:H.setOne,setAssetTypeAttachments:H.setMany,updateAssetTypeAttachment:H.updateOne,updateAssetTypeAttachments:H.updateMany,deleteAssetTypeAttachment:H.deleteOne,deleteAssetTypeAttachments:H.deleteMany}}),{initializeAssetTypeAttachments:Tc,addAssetTypeAttachment:qm,addAssetTypeAttachments:ws,setAssetTypeAttachment:Ic,setAssetTypeAttachments:Mm,updateAssetTypeAttachment:km,updateAssetTypeAttachments:Fc,deleteAssetTypeAttachment:Rc,deleteAssetTypeAttachments:Es}=vs.actions,Pc=t=>t.assetTypeAttachmentReducer.instances,Oc=l.createSelector([Pc],t=>Object.values(t)),_c=t=>e=>e.assetTypeAttachmentReducer.instances[t],vc=S(l.createSelector([Oc,(t,e)=>e],(t,e)=>g(t.filter(({asset_type:s})=>e===s)))),wc=vs.reducer,W=T(t=>t.uuid),Ec=W.getInitialState({}),js=l.createSlice({name:"assetTypeFieldsAttachments",initialState:Ec,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Ec)),reducers:{initializeAssetTypeFieldsAttachments:W.initialize,addAssetTypeFieldsAttachment:W.addOne,addAssetTypeFieldsAttachments:W.addMany,setAssetTypeFieldsAttachment:W.setOne,setAssetTypeFieldsAttachments:W.setMany,updateAssetTypeFieldsAttachment:W.updateOne,updateAssetTypeFieldsAttachments:W.updateMany,deleteAssetTypeFieldsAttachment:W.deleteOne,deleteAssetTypeFieldsAttachments:W.deleteMany}}),{initializeAssetTypeFieldsAttachments:jc,addAssetTypeFieldsAttachment:Cm,addAssetTypeFieldsAttachments:qc,setAssetTypeFieldsAttachment:zm,setAssetTypeFieldsAttachments:Dm,updateAssetTypeFieldsAttachment:Um,updateAssetTypeFieldsAttachments:Mc,deleteAssetTypeFieldsAttachment:Vm,deleteAssetTypeFieldsAttachments:kc}=js.actions,Cc=t=>t.assetTypeFieldsAttachmentReducer.instances,zc=l.createSelector([Cc],t=>Object.values(t)),$m=S(l.createSelector([zc,(t,e)=>e],(t,e)=>g(t.filter(s=>s.fields_revision===e)))),Bm=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],Dc=js.reducer,K=T(t=>t.uuid),Uc=K.getInitialState({}),qs=l.createSlice({name:"assetTypeFields",initialState:Uc,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Uc)),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:Vc,addAssetTypeFields:$c,addAssetTypeFieldsMany:Gm,setAssetTypeFields:Lm,setAssetTypeFieldsMany:Nm,updateAssetTypeFields:Bc,updateAssetTypeFieldsMany:Hm,deleteAssetTypeFields:Gc,deleteAssetTypeFieldsMany:Wm}=qs.actions,Lc=t=>t.assetTypeFieldsReducer.instances,at=l.createSelector([Lc],t=>Object.values(t)),Km=S(l.createSelector([at,(t,e)=>e],(t,e)=>g(t.filter(s=>s.asset_type===e)))),Ym=S(l.createSelector([at,(t,e)=>e],(t,e)=>t.filter(s=>s.asset_type===e).sort((s,a)=>s.submitted_at>a.submitted_at?-1:1)[0])),Jm=t=>e=>e.assetTypeFieldsReducer.instances[t],Nc=qs.reducer,Y=T(t=>t.uuid),Hc=Y.getInitialState({}),Ms=l.createSlice({name:"assetTypeFieldValuesAttachments",initialState:Hc,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Hc)),reducers:{initializeAssetTypeFieldValuesAttachments:Y.initialize,addAssetTypeFieldValuesAttachment:Y.addOne,addAssetTypeFieldValuesAttachments:Y.addMany,setAssetTypeFieldValuesAttachment:Y.setOne,setAssetTypeFieldValuesAttachments:Y.setMany,updateAssetTypeFieldValuesAttachment:Y.updateOne,updateAssetTypeFieldValuesAttachments:Y.updateMany,deleteAssetTypeFieldValuesAttachment:Y.deleteOne,deleteAssetTypeFieldValuesAttachments:Y.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Wc,addAssetTypeFieldValuesAttachment:Xm,addAssetTypeFieldValuesAttachments:nt,setAssetTypeFieldValuesAttachment:Qm,setAssetTypeFieldValuesAttachments:Zm,updateAssetTypeFieldValuesAttachment:xm,updateAssetTypeFieldValuesAttachments:Kc,deleteAssetTypeFieldValuesAttachment:ep,deleteAssetTypeFieldValuesAttachments:ct}=Ms.actions,ks=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Yc=l.createSelector([ks],t=>Object.values(t)),tp=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],Jc=S(l.createSelector([ks,(t,e)=>e],(t,e)=>{const s=new Set(e);return g(Object.values(t).filter(a=>s.has(a.uuid)))})),Xc=S(l.createSelector([Yc,(t,e)=>e],(t,e)=>g(t.filter(s=>s.field_values===e)))),Qc=Ms.reducer,J=T(t=>t.uuid),Zc=J.getInitialState({}),Cs=l.createSlice({name:"assetTypeFieldValues",initialState:Zc,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Zc)),reducers:{initializeAssetTypeFieldValues:J.initialize,addAssetTypeFieldValues:J.addOne,addAssetTypeFieldValuesMany:J.addMany,setAssetTypeFieldValues:J.setOne,setAssetTypeFieldValuesMany:J.setMany,updateAssetTypeFieldValues:J.updateOne,updateAssetTypeFieldValuesMany:J.updateMany,deleteAssetTypeFieldValues:J.deleteOne,deleteAssetTypeFieldValuesMany:J.deleteMany}}),{initializeAssetTypeFieldValues:xc,addAssetTypeFieldValues:zs,addAssetTypeFieldValuesMany:er,setAssetTypeFieldValues:sp,setAssetTypeFieldValuesMany:ip,updateAssetTypeFieldValues:Le,updateAssetTypeFieldValuesMany:tr,deleteAssetTypeFieldValues:Ds,deleteAssetTypeFieldValuesMany:sr}=Cs.actions,ir=t=>t.assetTypeFieldValuesReducer.instances,Us=l.createSelector([ir],t=>Object.values(t)),ap=S(l.createSelector([Us,(t,e)=>e],(t,e)=>g(t.filter(s=>s.asset===e)))),np=S(l.createSelector([at,Us,(t,e)=>e],(t,e,s)=>{const a=new Set(t.filter(n=>n.asset_type===s).map(n=>n.uuid));return g(e.filter(n=>a.has(n.fields_revision)))})),Vs=t=>e=>e.assetTypeFieldValuesReducer.instances[t],ar=Cs.reducer,X=T(t=>t.uuid),nr=X.getInitialState({}),$s=l.createSlice({name:"assetTypes",initialState:nr,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,nr)),reducers:{initializeAssetTypes:X.initialize,setAssetType:X.setOne,setAssetTypes:X.setMany,addAssetType:X.addOne,addAssetTypes:X.addMany,updateAssetType:X.updateOne,updateAssetTypes:X.updateMany,deleteAssetType:X.deleteOne,deleteAssetTypes:X.deleteMany}}),{initializeAssetTypes:cr,setAssetType:cp,setAssetTypes:rp,addAssetType:Bs,addAssetTypes:dp,updateAssetType:Ne,updateAssetTypes:up,deleteAssetType:Gs,deleteAssetTypes:op}=$s.actions,Ls=t=>t.assetTypeReducer.instances,lp=l.createSelector([Ls],t=>Object.values(t)),Ns=t=>e=>e.assetTypeReducer.instances[t],hp=S(l.createSelector([Ls,(t,e)=>e],(t,e)=>{const s=[];for(const a of e){const n=t[a];n?s.push(n):console.warn("selectAssetTypesByIds: No assetType exists with the id",a)}return g(s)})),rr=$s.reducer,dr={accessToken:"",refreshToken:"",isLoggedIn:!1},rt=l.createSlice({name:"auth",initialState:dr,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,dr)),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||rt.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:mp,clearTokens:pp,setLoggedIn:ur}=rt.actions,Ap=t=>t.authReducer.accessToken,yp=t=>t.authReducer.isLoggedIn,or=rt.reducer,He=T(t=>t.uuid),lr=He.getInitialState({}),Hs=l.createSlice({name:"categories",initialState:lr,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,lr)),reducers:{initializeCategories:He.initialize,addCategory:He.addOne,updateCategory:He.updateOne,deleteCategory:He.deleteOne}}),{initializeCategories:hr,addCategory:Ws,updateCategory:mr,deleteCategory:pr}=Hs.actions,Ks=t=>t.categoryReducer.instances,fp=l.createSelector([Ks],t=>Object.values(t)),Ys=t=>e=>e.categoryReducer.instances[t],Sp=S(l.createSelector([Ks,(t,e)=>e],(t,e)=>{const s=[];for(const a of e){const n=t[a];n?s.push(n):console.warn("selectCategoryByIds: No category exists with the id",a)}return g(s)})),gp=t=>e=>Object.values(e.issueReducer.instances).filter(s=>s.category===t).length,Ar=Hs.reducer,Q=T(t=>t.uuid),yr=Q.getInitialState({}),Js=l.createSlice({name:"documentAttachments",initialState:yr,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,yr)),reducers:{initializeDocumentAttachments:Q.initialize,addDocumentAttachment:Q.addOne,addDocumentAttachments:Q.addMany,setDocumentAttachment:Q.setOne,setDocumentAttachments:Q.setMany,updateDocumentAttachment:Q.updateOne,updateDocumentAttachments:Q.updateMany,deleteDocumentAttachment:Q.deleteOne,deleteDocumentAttachments:Q.deleteMany}}),{initializeDocumentAttachments:fr,addDocumentAttachment:bp,addDocumentAttachments:Sr,setDocumentAttachment:gr,setDocumentAttachments:Tp,updateDocumentAttachment:Ip,updateDocumentAttachments:br,deleteDocumentAttachment:Tr,deleteDocumentAttachments:Ir}=Js.actions,Fr=t=>t.documentAttachmentReducer.instances,Rr=l.createSelector([Fr],t=>Object.values(t)),Pr=t=>e=>e.documentAttachmentReducer.instances[t],Fp=S(l.createSelector([Rr,(t,e)=>e],(t,e)=>g(t.filter(({document:s})=>e===s)))),Or=Js.reducer,_r={documents:{}},Xs=l.createSlice({name:"documents",initialState:_r,extraReducers:t=>t.addCase("RESET",e=>{Object.assign(e,_r)}),reducers:{setDocuments:(t,e)=>{if(e.payload.filter(La).length!==e.payload.length)throw new Error("Tried to use setIssues reducer with duplicate ID's");t.documents=Ga(e.payload)},addDocuments:(t,e)=>{for(const s of e.payload)if(s.uuid in t.documents)throw new Error(`attempting to add a document with uuid ${s.uuid} which already exists in state.documents.`);for(const s of e.payload){if(s.parent_document&&t.documents[s.parent_document]){const a=t.documents[s.parent_document];t.documents[s.parent_document]={...a,children_documents:[...a.children_documents,s.uuid]}}t.documents[s.uuid]=s}},updateDocuments:(t,e)=>{for(const s of e.payload)if(!(s.uuid in t.documents))throw new Error(`attempting to update a document with uuid ${s.uuid} which doesn't exists in state.documents.`);for(const s of e.payload){const a=t.documents[s.uuid];if(s.organization!==void 0&&s.organization!==a.organization)throw new Error("organization cannot be updated");if(s.project!==void 0&&s.project!==a.project)throw new Error("project cannot be updated");t.documents[s.uuid]={...a,...s}}},moveDocument:(t,e)=>{const{documentId:s,targetDocumentId:a,position:n}=e.payload;if(!(s in t.documents))throw new Error(`attempting to move a document with uuid ${s} which doesn't exist in state.documents`);const c=t.documents[s];if(c.parent_document&&t.documents[c.parent_document]){const{children_documents:r}=t.documents[c.parent_document];t.documents[c.parent_document].children_documents.splice(r.indexOf(c.uuid),1)}if(a){const r=t.documents[a],u=r!=null&&r.parent_document?t.documents[r.parent_document]:null;switch(n){case"left":if(!u)throw new Error("attempting to move a document to the left of a document with no parent_document");t.documents[r.parent_document].children_documents.splice(u.children_documents.indexOf(r.uuid),0,c.uuid),t.documents[s].parent_document=u.uuid;break;case"right":if(!u)throw new Error("attempting to move a document to the left of a document with no parent_document");t.documents[r.parent_document].children_documents.splice(u.children_documents.indexOf(r.uuid)+1,0,c.uuid),t.documents[s].parent_document=u.uuid;break;case"left-child":if(!r)throw new Error("attempting to move a document to the left-child of a document that doesn't exist");t.documents[a].children_documents.unshift(c.uuid),t.documents[s].parent_document=r.uuid;break;case"right-child":if(!r)throw new Error("attempting to move a document to the left-child of a document that doesn't exist");t.documents[a].children_documents.push(c.uuid),t.documents[s].parent_document=r.uuid}}else t.documents[s].parent_document=null},removeDocuments:(t,e)=>{for(const s of e.payload)if(!(s in t.documents))throw new Error(`attempting to delete a document with uuid ${s} which doesn't exists in state.documents.`);for(const s of e.payload){const a=t.documents[s];if(a.parent_document&&t.documents[a.parent_document]){const n=t.documents[a.parent_document];t.documents[a.parent_document]={...n,children_documents:n.children_documents.filter(c=>c!==a.uuid)}}delete t.documents[s]}}}}),{setDocuments:vr,addDocuments:wr,updateDocuments:fe,moveDocument:Er,removeDocuments:Qs}=Xs.actions,Ee=t=>t.documentsReducer.documents,jr=l.createSelector([Ee],t=>Object.values(t)),qr=t=>e=>e.documentsReducer.documents[t],Rp=S(l.createSelector([Ee,(t,e)=>e],(t,e)=>{const s=[];for(const a of e){const n=t[a];n?s.push(n):console.warn("selectDocumentByIds: No document exists with the id",a)}return g(s)})),Pp=S(l.createSelector([Ee,(t,e)=>e],(t,e)=>{const s=[],a=t[e];if(!a||!a.parent_document)return s;let n=t[a.parent_document];for(;n;)s.push(n.uuid),n=t[n.parent_document??""];return g(s)})),Op=l.createSelector([jr],t=>g(t.filter(e=>!e.parent_document))),Mr=Xs.reducer,dt=T(t=>t.uuid),_p=dt.getInitialState({}),Zs=l.createSlice({name:"emailDomains",initialState:_p,reducers:{initializeEmailDomains:dt.initialize,addEmailDomain:dt.addOne,deleteEmailDomain:dt.deleteOne}}),{initializeEmailDomains:kr,addEmailDomain:Cr,deleteEmailDomain:zr}=Zs.actions,Dr=t=>t.emailDomainsReducer.instances,Ur=l.createSelector([Dr],t=>Object.values(t)),vp=S(l.createSelector([Ur,(t,e)=>e],(t,e)=>g(t.filter(s=>s.organization===e)))),Vr=Zs.reducer,$r={s3Urls:{}},Br=1e3*60*60,wp=Br*24*7,xs=l.createSlice({name:"file",initialState:$r,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,$r)),reducers:{setUploadUrl:(t,e)=>{const{url:s,fields:a,sha1:n}=e.payload,c=new Date,r=new Date(c.getTime()+wp);t.s3Urls[n]={url:s,fields:a,exp:r.getTime()}}}}),{setUploadUrl:Gr}=xs.actions,Lr=t=>e=>{const s=e.fileReducer.s3Urls[t];if(!s)return;const a=new Date().getTime();if(!((s.exp??a)-a<Br))return s},Nr=xs.reducer,Z=T(t=>t.uuid),Hr=Z.getInitialState({}),ei=l.createSlice({name:"formRevisionAttachments",initialState:Hr,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Hr)),reducers:{initializeFormRevisionAttachments:Z.initialize,addFormRevisionAttachment:Z.addOne,addFormRevisionAttachments:Z.addMany,setFormRevisionAttachment:Z.setOne,setFormRevisionAttachments:Z.setMany,updateFormRevisionAttachment:Z.updateOne,updateFormRevisionAttachments:Z.updateMany,deleteFormRevisionAttachment:Z.deleteOne,deleteFormRevisionAttachments:Z.deleteMany}}),{initializeFormRevisionAttachments:Wr,addFormRevisionAttachment:Ep,addFormRevisionAttachments:Kr,setFormRevisionAttachment:jp,setFormRevisionAttachments:qp,updateFormRevisionAttachment:Mp,updateFormRevisionAttachments:Yr,deleteFormRevisionAttachment:kp,deleteFormRevisionAttachments:Jr}=ei.actions,Xr=t=>t.formRevisionAttachmentReducer.instances,Cp=S(l.createSelector([Xr,(t,e)=>e],(t,e)=>g(Object.values(t).filter(s=>s.form_revision===e)))),Qr=ei.reducer,zp=(t,e)=>{const s=t.revision,a=e.revision;return s===void 0&&a===void 0?t.submitted_at<e.submitted_at?-1:1:s===void 0?1:a===void 0||s<a?-1:1},be=T(t=>t.uuid),Zr=be.getInitialState({}),ti=l.createSlice({name:"formRevisions",initialState:Zr,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Zr)),reducers:{initializeFormRevisions:be.initialize,setFormRevision:be.setOne,addFormRevision:be.addOne,addFormRevisions:be.addMany,deleteFormRevision:be.deleteOne,deleteFormRevisions:be.deleteMany}}),{setFormRevision:xr,initializeFormRevisions:ed,addFormRevision:si,addFormRevisions:td,deleteFormRevision:ii,deleteFormRevisions:sd}=ti.actions,ut=t=>t.formRevisionReducer.instances,id=l.createSelector([ut],t=>Object.values(t)),Dp=t=>e=>e.formRevisionReducer.instances[t],Up=S(l.createSelector([ut,(t,e)=>e],(t,e)=>{const s=Object.values(t).filter(c=>c.form===e);if(s.length===0)return;const n=s.sort(zp)[s.length-1];return t[n.uuid]})),ad=S(l.createSelector([id,(t,e)=>e],(t,e)=>g(t.filter(s=>s.form===e)))),nd=ti.reducer,Te=T(t=>t.uuid),cd=Te.getInitialState({}),ai=l.createSlice({name:"forms",initialState:cd,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,cd)),reducers:{initializeForms:Te.initialize,setForm:Te.setOne,addForm:Te.addOne,addForms:Te.addMany,updateForm:Te.updateOne,deleteForm:Te.deleteOne}}),{initializeForms:rd,setForm:Vp,addForm:ni,addForms:$p,updateForm:Bp,deleteForm:ci}=ai.actions,dd=ai.reducer,ud=t=>t.formReducer.instances,Gp=l.createSelector([ud],t=>Object.values(t)),od=t=>e=>e.formReducer.instances[t],x=T(t=>t.uuid),ld=x.getInitialState({}),ri=l.createSlice({name:"formSubmissionAttachments",initialState:ld,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,ld)),reducers:{initializeFormSubmissionAttachments:x.initialize,addFormSubmissionAttachment:x.addOne,addFormSubmissionAttachments:x.addMany,setFormSubmissionAttachment:x.setOne,setFormSubmissionAttachments:x.setMany,updateFormSubmissionAttachment:x.updateOne,updateFormSubmissionAttachments:x.updateMany,deleteFormSubmissionAttachment:x.deleteOne,deleteFormSubmissionAttachments:x.deleteMany}}),{initializeFormSubmissionAttachments:hd,addFormSubmissionAttachment:Lp,addFormSubmissionAttachments:ot,setFormSubmissionAttachment:Np,setFormSubmissionAttachments:Hp,updateFormSubmissionAttachment:Wp,updateFormSubmissionAttachments:md,deleteFormSubmissionAttachment:Kp,deleteFormSubmissionAttachments:lt}=ri.actions,di=t=>t.formSubmissionAttachmentReducer.instances,pd=S(l.createSelector([di,(t,e)=>e],(t,e)=>{const s=new Set(e);return g(Object.values(t).filter(a=>s.has(a.uuid)))})),Ad=S(l.createSelector([di,(t,e)=>e],(t,e)=>g(Object.values(t).filter(s=>s.form_submission===e)))),yd=ri.reducer,ee=T(t=>t.uuid),fd=ee.getInitialState({}),ui=l.createSlice({name:"formSubmissions",initialState:fd,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,fd)),reducers:{initializeFormSubmissions:ee.initialize,setFormSubmission:ee.setOne,setFormSubmissions:ee.setMany,addFormSubmission:ee.addOne,addFormSubmissions:ee.addMany,updateFormSubmission:ee.updateOne,updateFormSubmissions:ee.updateMany,deleteFormSubmission:ee.deleteOne,deleteFormSubmissions:ee.deleteMany}}),{initializeFormSubmissions:Sd,setFormSubmission:ht,setFormSubmissions:Yp,addFormSubmission:oi,addFormSubmissions:mt,updateFormSubmission:gd,updateFormSubmissions:Jp,deleteFormSubmission:li,deleteFormSubmissions:pt}=ui.actions,hi=t=>t.formSubmissionReducer.instances,mi=l.createSelector([hi],t=>Object.values(t)),pi=t=>e=>e.formSubmissionReducer.instances[t],bd=S(l.createSelector([hi,ut,(t,e)=>e],(t,e,s)=>{const a=new Set;for(const n of Object.values(e))n.form===s&&a.add(n.uuid);return Object.values(t).filter(n=>a.has(n.form_revision))})),Td=S(l.createSelector([mi,(t,e)=>e],(t,e)=>Object.values(t).filter(s=>s.issue===e))),Id=S(l.createSelector([mi,(t,e)=>e],(t,e)=>t.filter(s=>s.asset===e))),Fd=ui.reducer,te=T(t=>t.uuid),Rd=te.getInitialState({}),Ai=l.createSlice({name:"geoImages",initialState:Rd,extraReducers:t=>{t.addCase("RESET",e=>{Object.assign(e,Rd)})},reducers:{initializeGeoImages:te.initialize,setGeoImage:te.setOne,setGeoImages:te.setMany,addGeoImage:te.addOne,addGeoImages:te.addMany,updateGeoImage:te.updateOne,updateGeoImages:te.updateMany,deleteGeoImage:te.deleteOne,deleteGeoImages:te.deleteMany}}),{initializeGeoImages:Pd,setGeoImage:We,setGeoImages:Od,addGeoImage:_d,addGeoImages:vd,updateGeoImage:wd,updateGeoImages:Xp,deleteGeoImage:yi,deleteGeoImages:Ed}=Ai.actions,jd=t=>t.geoImageReducer.instances,qd=l.createSelector([jd],t=>Object.values(t)),fi=t=>e=>e.geoImageReducer.instances[t],Qp=S(l.createSelector([qd,(t,e)=>e],(t,e)=>g(t.filter(s=>s.project===e)))),Md=Ai.reducer,se=T(t=>t.uuid),kd=se.getInitialState({}),Si=l.createSlice({name:"issueAssociations",initialState:kd,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,kd)),reducers:{initializeIssueAssociations:se.initialize,addIssueAssociation:se.addOne,addIssueAssociations:se.addMany,setIssueAssociation:se.setOne,setIssueAssociations:se.setMany,updateIssueAssociation:se.updateOne,updateIssueAssociations:se.updateMany,deleteIssueAssociation:se.deleteOne,deleteIssueAssociations:se.deleteMany}}),{initializeIssueAssociations:Cd,setIssueAssociations:Zp,setIssueAssociation:xp,updateIssueAssociation:zd,updateIssueAssociations:eA,addIssueAssociation:gi,addIssueAssociations:bi,deleteIssueAssociation:Ti,deleteIssueAssociations:Ii}=Si.actions,Ke=t=>t.issueAssociationReducer.instances,tA=l.createSelector([Ke],t=>Object.values(t)),Dd=t=>e=>e.issueAssociationReducer.instances[t],Ud=S(l.createSelector([Ke,(t,e)=>e],(t,e)=>g(Object.values(t).filter(s=>s.associated_issue===e)))),Vd=S(l.createSelector([Ke,(t,e)=>e],(t,e)=>g(Object.values(t).filter(s=>s.issue===e)))),$d=S(l.createSelector([Ke,(t,e)=>e],(t,e)=>g(Object.values(t).filter(s=>s.asset===e)))),Bd=Si.reducer,ie=T(t=>t.uuid),Gd=ie.getInitialState({}),Fi=l.createSlice({name:"issueAttachments",initialState:Gd,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Gd)),reducers:{initializeIssueAttachments:ie.initialize,addIssueAttachment:ie.addOne,addIssueAttachments:ie.addMany,setIssueAttachment:ie.setOne,setIssueAttachments:ie.setMany,updateIssueAttachment:ie.updateOne,updateIssueAttachments:ie.updateMany,deleteIssueAttachment:ie.deleteOne,deleteIssueAttachments:ie.deleteMany}}),{initializeIssueAttachments:Ri,addIssueAttachment:sA,addIssueAttachments:Pi,setIssueAttachment:Ld,setIssueAttachments:iA,updateIssueAttachment:aA,updateIssueAttachments:Nd,deleteIssueAttachment:Hd,deleteIssueAttachments:Oi}=Fi.actions,Wd=t=>t.issueAttachmentReducer.instances,Kd=l.createSelector([Wd],t=>Object.values(t)),Yd=S(l.createSelector([Kd,(t,e)=>e],(t,e)=>g(t.filter(({issue:s})=>e===s)))),Jd=t=>e=>e.issueAttachmentReducer.instances[t],Xd=Fi.reducer,ae=T(t=>t.uuid),Qd=ae.getInitialState({}),_i=l.createSlice({name:"issueCommentAttachments",initialState:Qd,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Qd)),reducers:{initializeIssueCommentAttachments:ae.initialize,addIssueCommentAttachment:ae.addOne,addIssueCommentAttachments:ae.addMany,setIssueCommentAttachment:ae.setOne,setIssueCommentAttachments:ae.setMany,updateIssueCommentAttachment:ae.updateOne,updateIssueCommentAttachments:ae.updateMany,deleteIssueCommentAttachment:ae.deleteOne,deleteIssueCommentAttachments:ae.deleteMany}}),{initializeIssueCommentAttachments:vi,addIssueCommentAttachment:nA,addIssueCommentAttachments:Zd,setIssueCommentAttachment:xd,setIssueCommentAttachments:cA,updateIssueCommentAttachment:rA,updateIssueCommentAttachments:eu,deleteIssueCommentAttachment:tu,deleteIssueCommentAttachments:su}=_i.actions,iu=t=>t.issueCommentAttachmentReducer.instances,au=l.createSelector([iu],t=>Object.values(t)),nu=t=>e=>e.issueCommentAttachmentReducer.instances[t],dA=S(l.createSelector([au,(t,e)=>e],(t,e)=>g(t.filter(({issue_comment:s})=>e===s)))),cu=_i.reducer,Ie=T(t=>t.uuid),ru=Ie.getInitialState({}),wi=l.createSlice({name:"issueComments",initialState:ru,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,ru)),reducers:{addIssueComment:Ie.addOne,addIssueComments:Ie.addMany,setIssueComment:Ie.setOne,setIssueComments:Ie.setMany,deleteIssueComment:Ie.deleteOne,deleteIssueComments:Ie.deleteMany}}),{setIssueComments:du,setIssueComment:Ei,addIssueComment:ji,addIssueComments:uA,deleteIssueComment:qi,deleteIssueComments:oA}=wi.actions,uu=t=>t.issueCommentReducer.instances,Mi=t=>e=>e.issueCommentReducer.instances[t],lA=S(l.createSelector([uu,(t,e)=>e],(t,e)=>g(Object.values(t).filter(s=>s.issue===e)))),ou=wi.reducer,Fe=T(t=>t.uuid),lu=Fe.getInitialState({}),ki=l.createSlice({name:"issues",initialState:lu,extraReducers:t=>t.addCase("RESET",e=>{Object.assign(e,lu)}),reducers:{initializeIssues:Fe.initialize,addIssue:Fe.addOne,addIssues:Fe.addMany,updateIssue:Fe.updateOne,deleteIssue:Fe.deleteOne,deleteIssues:Fe.deleteMany}}),{initializeIssues:hu,addIssue:Ci,addIssues:mu,updateIssue:At,deleteIssue:zi,deleteIssues:pu}=ki.actions,Au=t=>t.issueReducer.instances,Di=t=>e=>e.issueReducer.instances[t],hA=S(l.createSelector([Au,(t,e)=>e],(t,e)=>{const s=[];for(const a of e){const n=t[a];n?s.push(n):console.warn("selectIssuesByIds: No issue exists with the id",a)}return g(s)})),yu=ki.reducer,ne=T(t=>t.uuid),fu=ne.getInitialState({}),Ui=l.createSlice({name:"issueTypeAttachments",initialState:fu,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,fu)),reducers:{initializeIssueTypeAttachments:ne.initialize,addIssueTypeAttachment:ne.addOne,addIssueTypeAttachments:ne.addMany,setIssueTypeAttachment:ne.setOne,setIssueTypeAttachments:ne.setMany,updateIssueTypeAttachment:ne.updateOne,updateIssueTypeAttachments:ne.updateMany,deleteIssueTypeAttachment:ne.deleteOne,deleteIssueTypeAttachments:ne.deleteMany}}),{initializeIssueTypeAttachments:Vi,addIssueTypeAttachment:mA,addIssueTypeAttachments:Su,setIssueTypeAttachment:gu,setIssueTypeAttachments:pA,updateIssueTypeAttachment:AA,updateIssueTypeAttachments:bu,deleteIssueTypeAttachment:Tu,deleteIssueTypeAttachments:Iu}=Ui.actions,Fu=t=>t.issueTypeAttachmentReducer.instances,Ru=l.createSelector([Fu],t=>Object.values(t)),Pu=t=>e=>e.issueTypeAttachmentReducer.instances[t],yA=S(l.createSelector([Ru,(t,e)=>e],(t,e)=>g(t.filter(({issue_type:s})=>e===s)))),Ou=Ui.reducer,ce=T(t=>t.uuid),_u=ce.getInitialState({}),$i=l.createSlice({name:"issueTypeFieldsAttachments",initialState:_u,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,_u)),reducers:{initializeIssueTypeFieldsAttachments:ce.initialize,addIssueTypeFieldsAttachment:ce.addOne,addIssueTypeFieldsAttachments:ce.addMany,setIssueTypeFieldsAttachment:ce.setOne,setIssueTypeFieldsAttachments:ce.setMany,updateIssueTypeFieldsAttachment:ce.updateOne,updateIssueTypeFieldsAttachments:ce.updateMany,deleteIssueTypeFieldsAttachment:ce.deleteOne,deleteIssueTypeFieldsAttachments:ce.deleteMany}}),{initializeIssueTypeFieldsAttachments:vu,addIssueTypeFieldsAttachment:fA,addIssueTypeFieldsAttachments:wu,setIssueTypeFieldsAttachment:SA,setIssueTypeFieldsAttachments:gA,updateIssueTypeFieldsAttachment:bA,updateIssueTypeFieldsAttachments:Eu,deleteIssueTypeFieldsAttachment:TA,deleteIssueTypeFieldsAttachments:ju}=$i.actions,qu=t=>t.issueTypeFieldsAttachmentReducer.instances,Mu=l.createSelector([qu],t=>Object.values(t)),IA=S(l.createSelector([Mu,(t,e)=>e],(t,e)=>g(t.filter(s=>s.fields_revision===e)))),FA=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],ku=$i.reducer,re=T(t=>t.uuid),Cu=re.getInitialState({}),Bi=l.createSlice({name:"issueTypeFieldValues",initialState:Cu,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Cu)),reducers:{initializeIssueTypeFieldValues:re.initialize,addIssueTypeFieldValues:re.addOne,addIssueTypeFieldValuesMany:re.addMany,setIssueTypeFieldValues:re.setOne,setIssueTypeFieldValuesMany:re.setMany,updateIssueTypeFieldValues:re.updateOne,updateIssueTypeFieldValuesMany:re.updateMany,deleteIssueTypeFieldValues:re.deleteOne,deleteIssueTypeFieldValuesMany:re.deleteMany}}),{initializeIssueTypeFieldValues:zu,addIssueTypeFieldValues:Gi,addIssueTypeFieldValuesMany:RA,setIssueTypeFieldValues:PA,setIssueTypeFieldValuesMany:OA,updateIssueTypeFieldValues:Ye,updateIssueTypeFieldValuesMany:_A,deleteIssueTypeFieldValues:Li,deleteIssueTypeFieldValuesMany:vA}=Bi.actions,Du=t=>t.issueTypeFieldValuesReducer.instances,Ni=l.createSelector([Du],t=>Object.values(t)),wA=S(l.createSelector([Ni,(t,e)=>e],(t,e)=>g(t.filter(s=>s.issue===e)))),Hi=t=>e=>e.issueTypeFieldValuesReducer.instances[t],Uu=Bi.reducer,de=T(t=>t.uuid),Vu=de.getInitialState({}),Wi=l.createSlice({name:"issueTypeFields",initialState:Vu,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Vu)),reducers:{initializeIssueTypeFields:de.initialize,addIssueTypeFields:de.addOne,addIssueTypeFieldsMany:de.addMany,setIssueTypeFields:de.setOne,setIssueTypeFieldsMany:de.setMany,updateIssueTypeFields:de.updateOne,updateIssueTypeFieldsMany:de.updateMany,deleteIssueTypeFields:de.deleteOne,deleteIssueTypeFieldsMany:de.deleteMany}}),{initializeIssueTypeFields:$u,addIssueTypeFields:Bu,addIssueTypeFieldsMany:EA,setIssueTypeFields:jA,setIssueTypeFieldsMany:qA,updateIssueTypeFields:Gu,updateIssueTypeFieldsMany:MA,deleteIssueTypeFields:Lu,deleteIssueTypeFieldsMany:kA}=Wi.actions,Nu=t=>t.issueTypeFieldsReducer.instances,yt=l.createSelector([Nu],t=>Object.values(t)),CA=S(l.createSelector([yt,(t,e)=>e],(t,e)=>g(t.filter(s=>s.issue_type===e)))),zA=S(l.createSelector([yt,(t,e)=>e],(t,e)=>t.filter(s=>s.issue_type===e).sort((s,a)=>s.submitted_at>a.submitted_at?-1:1)[0])),DA=S(l.createSelector([yt,Ni,(t,e)=>e],(t,e,s)=>{const a=new Set(t.filter(n=>n.issue_type===s).map(n=>n.uuid));return g(e.filter(n=>a.has(n.fields_revision)))})),UA=t=>e=>e.issueTypeFieldsReducer.instances[t],Hu=Wi.reducer,ue=T(t=>t.uuid),Wu=ue.getInitialState({}),Ki=l.createSlice({name:"issueTypeFieldValuesAttachments",initialState:Wu,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Wu)),reducers:{initializeIssueTypeFieldValuesAttachments:ue.initialize,addIssueTypeFieldValuesAttachment:ue.addOne,addIssueTypeFieldValuesAttachments:ue.addMany,setIssueTypeFieldValuesAttachment:ue.setOne,setIssueTypeFieldValuesAttachments:ue.setMany,updateIssueTypeFieldValuesAttachment:ue.updateOne,updateIssueTypeFieldValuesAttachments:ue.updateMany,deleteIssueTypeFieldValuesAttachment:ue.deleteOne,deleteIssueTypeFieldValuesAttachments:ue.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:Ku,addIssueTypeFieldValuesAttachment:VA,addIssueTypeFieldValuesAttachments:ft,setIssueTypeFieldValuesAttachment:$A,setIssueTypeFieldValuesAttachments:BA,updateIssueTypeFieldValuesAttachment:GA,updateIssueTypeFieldValuesAttachments:Yu,deleteIssueTypeFieldValuesAttachment:LA,deleteIssueTypeFieldValuesAttachments:St}=Ki.actions,Yi=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Ju=l.createSelector([Yi],t=>Object.values(t)),NA=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],Xu=S(l.createSelector([Yi,(t,e)=>e],(t,e)=>{const s=new Set(e);return g(Object.values(t).filter(a=>s.has(a.uuid)))})),Qu=S(l.createSelector([Ju,(t,e)=>e],(t,e)=>g(t.filter(s=>s.field_values===e)))),Zu=Ki.reducer,je=T(t=>t.uuid),xu=je.getInitialState({}),Ji=l.createSlice({name:"issueTypes",initialState:xu,extraReducers:t=>t.addCase("RESET",e=>{Object.assign(e,xu)}),reducers:{initializeIssueTypes:je.initialize,setIssueType:je.setOne,addIssueType:je.addOne,updateIssueType:je.updateOne,removeIssueType:je.deleteOne}}),{initializeIssueTypes:eo,setIssueType:Je,addIssueType:to,updateIssueType:so,removeIssueType:Xi}=Ji.actions,io=t=>t.issueTypeReducer.instances,ao=l.createSelector(io,t=>Object.values(t)),Qi=t=>e=>e.issueTypeReducer.instances[t],HA=t=>e=>{const s=[];for(const a of t){const n=e.issueTypeReducer.instances[a];n?s.push(n):console.warn("selectIssueTypesByIds: No issue type exists with the id",a)}return s},WA=S(l.createSelector([ao,(t,e)=>e],(t,e)=>g(t.filter(s=>s.organization===e)))),Zi=S(l.createSelector([t=>t.issueReducer.instances,(t,e)=>e],(t,e)=>g(Object.values(t).filter(s=>s.issue_type===e)))),KA=t=>e=>Zi(t)(e).length,no=Ji.reducer,Re=T(t=>t.uuid),co=Re.getInitialState({}),xi=l.createSlice({name:"issueUpdates",initialState:co,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,co)),reducers:{initializeIssueUpdates:Re.setMany,setIssueUpdate:Re.setOne,addIssueUpdate:Re.addOne,addIssueUpdates:Re.addMany,deleteIssueUpdate:Re.deleteOne,deleteIssueUpdates:Re.deleteMany}}),{initializeIssueUpdates:ro,setIssueUpdate:YA,addIssueUpdate:uo,addIssueUpdates:oo,deleteIssueUpdate:lo,deleteIssueUpdates:ho}=xi.actions,mo=t=>t.issueUpdateReducer.instances,po=S(l.createSelector([mo,(t,e)=>e],(t,e)=>g(Object.values(t).filter(s=>s.issue===e)))),Ao=xi.reducer,gt=T(t=>t.uuid),yo=gt.getInitialState({}),ea=l.createSlice({name:"license",initialState:yo,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,yo)),reducers:{initializeLicences:gt.initialize,addLicenses:gt.addMany,updateLicense:gt.updateOne}}),{initializeLicences:fo,addLicenses:JA,updateLicense:Ae}=ea.actions,bt=t=>t.licenseReducer.instances,XA=t=>e=>e.licenseReducer.instances[t],So=t=>e=>Object.values(e.licenseReducer.instances).find(s=>s.project===t),QA=l.createSelector([bt],t=>g(Object.values(t).filter(e=>e.is_active))),ZA=l.createSelector([bt],t=>ve(Object.values(t).filter(e=>e.project).reduce((e,s)=>({...e,[s.project]:s}),{}))),go=ea.reducer,k=T(t=>t.id),bo=k.getInitialState({currentUser:null}),ta=l.createSlice({name:"users",initialState:bo,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,bo)),reducers:{initializeUsers:k.initialize,setUsers:k.setMany,setUser:k.setOne,addUsers:k.addMany,addUser:k.addOne,updateUsers:k.updateMany,updateUser:k.updateOne,deleteUser:k.deleteOne,deleteUsers:k.deleteMany,removeUser:k.deleteOne,setCurrentUser:(t,e)=>{t.currentUser=e.payload},setProfilePicture:(t,e)=>{if(!t.currentUser)return;t.currentUser.profile.file=e.payload.file??null,t.currentUser.profile.file_sha1=e.payload.file_sha1??null;const s=t.instances[t.currentUser.id];if(!s)throw new Error("Unable to find current user in users slice");s.profile.file=e.payload.file??null,s.profile.file_sha1=e.payload.file_sha1??null}}}),{initializeUsers:To,setUsers:xA,setUser:ey,addUsers:ty,addUser:sy,updateUsers:iy,updateUser:ay,deleteUser:ny,deleteUsers:cy,removeUser:Io,setCurrentUser:ry,setProfilePicture:dy}=ta.actions,Fo=ta.reducer,Tt=t=>t.userReducer.currentUser,It=t=>t.userReducer.instances,uy=t=>e=>e.userReducer.instances[t],oy=S(l.createSelector([It,(t,e)=>e],(t,e)=>{const s=[];for(const a of e){const n=t[a];n?s.push(n):console.warn("selectUsersByIds: No user exists with the uuid",a)}return g(s)})),Ft=T(t=>t.uuid),Ro=Ft.getInitialState({}),sa=l.createSlice({name:"organizationAccess",initialState:Ro,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Ro)),reducers:{initializeOrganizationAccesses:Ft.initialize,updateOrganizationAccess:Ft.updateOne,deleteOrganizationAccess:Ft.deleteOne}}),{initializeOrganizationAccesses:Po,updateOrganizationAccess:Oo,deleteOrganizationAccess:_o}=sa.actions,ia=t=>t.organizationAccessReducer.instances,ly=t=>e=>e.organizationAccessReducer.instances[t],hy=l.createSelector([Tt,ia],(t,e)=>Object.values(e).find(a=>a.user===(t==null?void 0:t.id))??null),my=t=>e=>Object.values(e.organizationAccessReducer.instances).find(s=>s.user===t.id),vo=t=>{const e={};for(const s of Object.values(t.organizationAccessReducer.instances))e[s.user]=s;return ve(e)},wo=sa.reducer,Xe=T(t=>t.uuid),Eo=Xe.getInitialState({}),aa=l.createSlice({name:"projectAccess",initialState:Eo,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Eo)),reducers:{initializeProjectAccesses:Xe.initialize,updateProjectAccess:Xe.updateOne,deleteProjectAccess:Xe.deleteOne,deleteProjectAccesses:Xe.deleteMany}}),{initializeProjectAccesses:na,updateProjectAccess:jo,deleteProjectAccess:qo,deleteProjectAccesses:Mo}=aa.actions,ca=t=>t.projectAccessReducer.instances,ko=l.createSelector(ca,t=>Object.values(t)),py=t=>e=>e.projectAccessReducer.instances[t],Ay=t=>e=>Object.values(e.projectAccessReducer.instances).find(s=>s.user===t.id),Co=t=>{const e={};for(const s of Object.values(t.projectAccessReducer.instances))e[s.user]=s;return ve(e)},zo=aa.reducer,oe=T(t=>t.uuid),Do=oe.getInitialState({}),ra=l.createSlice({name:"projects",initialState:Do,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Do)),reducers:{initializeProjects:oe.initialize,setProjects:oe.setMany,setProject:oe.setOne,addProjects:oe.addMany,addProject:oe.addOne,updateProjects:oe.updateMany,updateProject:oe.updateOne,deleteProject:oe.deleteOne,deleteProjects:oe.deleteMany,acceptProjectInvite:(t,e)=>{if(e.payload in t.instances)t.instances[e.payload].invited=!1;else throw new Error("Accept project invite: user is not in this project")}}}),{initializeProjects:yy,setProjects:Uo,setProject:fy,addProjects:Sy,addProject:gy,updateProjects:by,updateProject:Vo,deleteProject:$o,deleteProjects:Ty,acceptProjectInvite:Bo}=ra.actions,Go=ra.reducer,Rt=t=>t.projectReducer.instances,Iy=l.createSelector([Rt],t=>g(Object.values(t))),Fy=t=>e=>e.projectReducer.instances[t],Lo=l.createSelector([ca],t=>Object.values(t).map(e=>e.user)),No=l.createSelector([Lo,It],(t,e)=>t.reduce((s,a)=>({...s,[a]:e[a]}),{})),Ry=l.createSelector([Tt,No,Co],(t,e,s)=>g(Object.values(e).sort((a,n)=>{if(a.id===(t==null?void 0:t.id))return-1;if(n.id===(t==null?void 0:t.id))return 1;const c=s[a.id],r=s[n.id];return(c==null?void 0:c.access_level)===(r==null?void 0:r.access_level)?a.username.localeCompare(n.username):(c==null?void 0:c.access_level)===vt.ADMIN?-1:1}))),le=T(t=>t.uuid),Ho=le.getInitialState({}),da=l.createSlice({name:"organizations",initialState:Ho,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,Ho)),reducers:{initializeOrganizations:le.initialize,setOrganizations:le.setMany,setOrganization:le.setOne,addOrganizations:le.addMany,addOrganization:le.addOne,updateOrganizations:le.updateMany,updateOrganization:le.updateOne,deleteOrganization:le.deleteOne,deleteOrganizations:le.deleteMany}}),{initializeOrganizations:Py,setOrganizations:Wo,setOrganization:Oy,addOrganizations:_y,addOrganization:vy,updateOrganizations:wy,updateOrganization:Ey,deleteOrganization:jy,deleteOrganizations:qy}=da.actions,Ko=t=>t.organizationReducer.instances,Yo=l.createSelector([Ko],t=>Object.values(t)),My=t=>e=>e.organizationReducer.instances[t],ky=l.createSelector([Yo],t=>g(Object.values(t).filter(e=>e.has_access))),Jo=l.createSelector([ia],t=>Object.values(t).map(e=>e.user)),Cy=S(l.createSelector([Rt,(t,e)=>e],(t,e)=>g(Object.values(t).filter(s=>s.organization_owner===e)))),zy=S(l.createSelector([bt,(t,e)=>e],(t,e)=>g(Object.values(t).filter(s=>s.organization_owner===e)))),Xo=l.createSelector([Jo,It],(t,e)=>ve(t.reduce((s,a)=>({...s,[a]:e[a]}),{}))),Dy=l.createSelector([Tt,Xo,vo],(t,e,s)=>g(Object.values(e).sort((a,n)=>{if(a.id===(t==null?void 0:t.id))return-1;if(n.id===(t==null?void 0:t.id))return 1;const c=s[a.id],r=s[n.id];return(c==null?void 0:c.access_level)===(r==null?void 0:r.access_level)?a.username.localeCompare(n.username):(c==null?void 0:c.access_level)===wt.ADMIN?-1:1}))),Qo=da.reducer,Zo=(t,e,s)=>{const a=t.uuid?t:{...t,uuid:ge.v4()};return{payload:a,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:a,BASE_URL:e,serviceName:s}}}}},xo={deletedRequests:[],latestRetryTime:0},ua=l.createSlice({name:"outbox",initialState:xo,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,xo)),reducers:{enqueueRequest:{reducer:(t,e)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t);const{BASE_URL:e,serviceName:s,...a}=t;return Zo(a,e,s)}},markForDeletion(t,e){t.deletedRequests.push(e.payload)},markAsDeleted(t,e){const s=t.deletedRequests.indexOf(e.payload);s!==-1&&t.deletedRequests.splice(s,1)},_setLatestRetryTime:(t,e)=>{t.latestRetryTime=e.payload}}}),Uy=t=>t.outboxReducer.deletedRequests,Vy=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:el,markForDeletion:$y,markAsDeleted:tl,_setLatestRetryTime:sl}=ua.actions,il=ua.reducer,he=T(t=>t.uuid),al=he.getInitialState({}),oa=l.createSlice({name:"projectAttachments",initialState:al,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,al)),reducers:{initializeProjectAttachments:he.initialize,addProjectAttachment:he.addOne,addProjectAttachments:he.addMany,setProjectAttachment:he.setOne,setProjectAttachments:he.setMany,updateProjectAttachment:he.updateOne,updateProjectAttachments:he.updateMany,deleteProjectAttachment:he.deleteOne,deleteProjectAttachments:he.deleteMany}}),{initializeProjectAttachments:nl,addProjectAttachment:By,addProjectAttachments:cl,setProjectAttachment:rl,setProjectAttachments:dl,updateProjectAttachment:Gy,updateProjectAttachments:ul,deleteProjectAttachment:ol,deleteProjectAttachments:la}=oa.actions,ll=t=>t.projectAttachmentReducer.instances,hl=l.createSelector([ll],t=>Object.values(t)),ml=t=>e=>e.projectAttachmentReducer.instances[t],pl=S(l.createSelector([hl,(t,e)=>e],(t,e)=>g(t.filter(({project:s})=>e===s)))),Al=oa.reducer,me=T(t=>t.uuid),yl=me.getInitialState({activeProjectFileId:null,isImportingProjectFile:!1}),ha=l.createSlice({name:"projectFiles",initialState:yl,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,yl)),reducers:{initializeProjectFiles:me.initialize,setProjectFile:me.setOne,setProjectFiles:me.setMany,addProjectFile:me.addOne,addProjectFiles:me.addMany,updateProjectFile:me.updateOne,updateProjectFiles:me.updateMany,deleteProjectFile:me.deleteOne,deleteProjectFiles:me.deleteMany,setIsImportingProjectFile:(t,e)=>{t.isImportingProjectFile=e.payload},saveActiveProjectFileBounds:(t,e)=>{const s=t.activeProjectFileId;if(!s)throw new Error("Tried to save bounds for active project file, but no active project file was set.");if(!t.instances[s])throw new Error(`Tried to save bounds for active project file, but project file with ID ${s}
2
- doesn't exist.`);t.instances[s].bounds=e.payload},setActiveProjectFileId:(t,e)=>{t.activeProjectFileId=e.payload},resetProjectFileObjectUrls:(t,...e)=>{for(const s in t.instances)delete t.instances[s].objectURL}}}),{initializeProjectFiles:fl,setProjectFile:Ly,setProjectFiles:Ny,addProjectFile:Hy,addProjectFiles:Sl,updateProjectFile:ma,updateProjectFiles:Wy,deleteProjectFile:gl,deleteProjectFiles:bl,setIsImportingProjectFile:Tl,setActiveProjectFileId:Il,saveActiveProjectFileBounds:Fl,resetProjectFileObjectUrls:Ky}=ha.actions,Rl=t=>t.projectFileReducer.instances,Pl=l.createSelector([Rl],t=>g(Object.values(t).sort((e,s)=>e.z_index-s.z_index))),Yy=t=>e=>e.projectFileReducer.instances[t],Jy=t=>t.projectFileReducer.activeProjectFileId,Xy=t=>t.projectFileReducer.isImportingProjectFile,Ol=ha.reducer,Qy={isRehydrated:!1},pa=l.createSlice({name:"rehydrated",initialState:Qy,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:Zy}=pa.actions,xy=t=>t.rehydratedReducer.isRehydrated,_l=pa.reducer,qe=T(t=>t.uuid),vl=qe.getInitialState({}),Aa=l.createSlice({name:"teams",initialState:vl,extraReducers:t=>t.addCase("RESET",e=>Object.assign(e,vl)),reducers:{setTeam:qe.setOne,initializeTeams:qe.initialize,addTeam:qe.addOne,updateTeam:qe.updateOne,deleteTeam:qe.deleteOne}}),{setTeam:Me,initializeTeams:wl,addTeam:El,updateTeam:ya,deleteTeam:fa}=Aa.actions,Sa=t=>t.teamReducer.instances,ga=l.createSelector([Sa],t=>Object.values(t)),ke=t=>e=>e.teamReducer.instances[t],ef=S(l.createSelector([Sa,(t,e)=>e],(t,e)=>{const s=[];for(const a of e){const n=t[a];n?s.push(n):console.warn("selectTeamsByIds: No team exists with the id",a)}return g(s)})),tf=S(l.createSelector([ga,(t,e)=>e],(t,e)=>g(t.filter(s=>s.organization===e)))),sf=S(l.createSelector([ga,(t,e)=>e],(t,e)=>g(t.filter(s=>s.members.includes(e))))),jl=Aa.reducer,af={version:0},ql=l.createSlice({name:"versioning",initialState:af,reducers:{}}),Ml=ql.reducer,ba={outboxReducer:il,fileReducer:Nr,authReducer:or},nf=l.combineReducers(ba),kl={...ba,[De]:Ml,categoryReducer:Ar,assetReducer:cc,assetAttachmentReducer:nn,assetStageCompletionReducer:lc,assetStageReducer:fc,assetTypeReducer:rr,assetTypeAttachmentReducer:wc,issueReducer:yu,issueAttachmentReducer:Xd,issueTypeReducer:no,issueTypeAttachmentReducer:Ou,organizationReducer:Qo,projectReducer:Go,projectAttachmentReducer:Al,projectAccessReducer:zo,organizationAccessReducer:wo,projectFileReducer:Ol,rehydratedReducer:_l,formReducer:dd,formRevisionReducer:nd,formRevisionAttachmentReducer:Qr,formSubmissionAttachmentReducer:yd,formSubmissionReducer:Fd,userReducer:Fo,emailDomainsReducer:Vr,licenseReducer:go,documentsReducer:Mr,documentAttachmentReducer:Or,teamReducer:jl,agentsReducer:Ja,issueCommentReducer:ou,issueCommentAttachmentReducer:cu,issueUpdateReducer:Ao,geoImageReducer:Md,issueAssociationReducer:Bd,issueTypeFieldsReducer:Hu,issueTypeFieldValuesReducer:Uu,issueTypeFieldsAttachmentReducer:ku,issueTypeFieldValuesAttachmentReducer:Zu,assetTypeFieldsReducer:Nc,assetTypeFieldValuesReducer:ar,assetTypeFieldsAttachmentReducer:Dc,assetTypeFieldValuesAttachmentReducer:Qc,assetProcedureReducer:tc,assetProcedureInstanceReducer:Qn,assetProcedureFieldsReducer:jn,assetProcedureFieldValuesReducer:Hn,assetProcedureFieldsAttachmentReducer:Rn,assetProcedureFieldValuesAttachmentReducer:Un,assetProcedureAttachmentReducer:yn},cf=l.combineReducers(kl);let Cl;function rf(t){Cl=t}function Qe(){return Cl}let zl;function df(t){zl=t}function uf(){return zl}const Dl={};class Ul{constructor(e){f(this,"client");Dl[this.constructor.name]=this,this.client=e}async enqueueRequest(e){return this.client.enqueueRequest(e,this.host,this.constructor.name)}dispatch(e){this.client.store.dispatch(e)}}const Vl=()=>Gl.length-1,$l=t=>(t[De]={version:Vl()},t),Bl=()=>$l({}),of=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),lf=t=>e=>{var s;return e===void 0&&(e={}),((s=e[De])==null?void 0:s.version)===Vl()?e:t(e)},Gl=[$l,Bl,Bl,of],hf=Object.fromEntries(Gl.map((t,e)=>[e,lf(t)]));let Ta=null;function Pe(){const t=Qe();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(Ta)return Ta;const e=t.getState().offline.outbox,s=ze._fromOutbox(e);return Ta=s,s}const mf=t=>{if(t)throw t;const e=Qe();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},Ll=(t,e,s)=>{const a=Pe();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},Nl=(t,e,s)=>{const a=Pe();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 pf(t,e){if(!e.payload)throw new Error("Received empty payload");return Ff(e)}const Af={..._a,effect:pf,discard:Fa,returnPromises:!0,persistCallback:mf,retry:Pf,persistOptions:{storage:Zl},queue:{..._a.queue,enqueue:Ll,dequeue:Nl,peek:(...t)=>Rf(...t)}},yf=xl(hf,De),ff=l.compose(Ql.offline(Af),yf);function Sf(t){function e(s){return typeof s=="object"&&s!==null&&["ok","redirect","clientError","serverError","error"].every(n=>n in s)}if(e(t))return t;if(typeof t=="object"&&t!==null){const s=t;if(e(s.response))return s.response;if(s.response&&e(s.response.response))return s.response.response}}async function Ia(t,e){const s=Dl[t.meta.offline.effect.serviceName];if(!s)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);const a=s instanceof P;if(e.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");a&&t.payload.checkAuth!==!1&&await s.auth.prepareAuth();const c={queryParams:"",isAuthNeeded:!0},r=t.meta.offline.effect,{payload:u,headers:m,method:d,queryParams:o,attachmentHash:p,isExternalUrl:A,isAuthNeeded:y,isResponseBlob:b}={...c,...r.request},I=r.request;let F=I.url;const O=p?await e.files.fetchCache(p):void 0;if(p&&!O)throw new Error(`Cannot upload file ${p} because it's not cached.`);!A&&!F.startsWith("http")&&(!F.startsWith("/")&&!F.startsWith("blob:")&&(F="/"+F),F=t.meta.offline.effect.BASE_URL+F);const M=w=>{if(p){const pe=I.s3url;if(!pe)throw new Error(`No S3 URL for file ${p}`);if("warning"in pe)throw new Error(`S3 URL warning for file ${p}`);if(!O)throw new Error(`No file for file ${p}`);const xe=pe.fields["x-amz-checksum-sha1"];if(!xe)throw new Error(`No checksum for file ${p}`);return w.set("x-amz-checksum-sha1",xe).field({...u,...pe.fields}).attach("file",O)}return w.send(u)},qS={[h.GET]:()=>b?_e.get(F.toString()).responseType("blob"):_e.get(F.toString()),[h.POST]:()=>{const w=_e.post(F.toString());return M(w)},[h.PATCH]:()=>{const w=_e.patch(F.toString());return M(w)},[h.PUT]:()=>{const w=_e.put(F.toString());return M(w)},[h.DELETE]:()=>{const w=_e.delete(F.toString());return M(w)}}[d];let Oe=qS();if(y&&a){const w=s.auth.getAuthHeader();Oe=Oe.set("Authorization",w)}m&&(Oe=Oe.set(m));try{return await Oe.query(o)}catch(w){const pe=Sf(w),xe=pe==null?void 0:pe.status;if(a&&xe===401)return await s.auth.handleUnauthorized(Oe,pe),Oe.query(o);throw new q({response:pe,innerError:w,discard:Wl.includes(xe)})}}class gf{constructor(e){f(this,"_all");f(this,"_previous");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 Hl{constructor(){f(this,"next");this.next=null}then(e){return new gf(this).then(e)}async run(e){if(this.next)return this.next.run(e);{if(console.debug("Middleware finished. Performing request:",e),!Qe())throw new Error("Client store not set");const a=uf();if(!a)throw new Error("Client SDK not set");return Ia(e,a)}}}class bf extends Hl{async run(e){return super.run(e)}}class Tf extends Hl{async run(e){return super.run(e)}}const If=new bf().then(new Tf).compile();function Ff(t){var e;return(e=If[0])==null?void 0:e.run(t)}const Wl=[400,409,403,404,405,500];function Fa(t,e,s=0){var d;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
3
- Action:`,e,`
4
- Retries:`,s),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const a=Qe(),c=a.getState().outboxReducer.deletedRequests,r=e.payload.uuid;function u(){a.dispatch(tl(r));const o=Pe();if(!o)throw new Error("Outbox coordinator not set");o.remove(e.payload.uuid);const p=e.meta.offline.rollback;throw p&&(console.warn("Rolling back request due to SDK error:",e),a.dispatch(p)),t}if(t instanceof q&&t.options.discard)return console.debug("Discarding request due to explicit discard:",e),u();if(c.includes(r))return console.debug("Discarding request due to deletion:",e),u();if(t instanceof q){const o=t.status||((d=t.response)==null?void 0:d.status);if(o||console.warn("Error has no status code:",t),o!==void 0&&Wl.includes(o)){console.warn("Discarding request due to error:",t,`
5
- Action:`,e);const p=Pe();if(!p)throw new Error("Outbox coordinator not set");p.remove(e.payload.uuid),t.options.discard=!0,u()}}console.debug("Registering a retry for request:",e.payload.uuid);const m=Pe();if(!m)throw new Error("Outbox coordinator not set");return m.registerRetry(e.payload.uuid),!1}function Rf(t,e,s){var a;return(a=Pe())==null?void 0:a.peek()}function Pf(t,e){return Qe().dispatch(sl(new Date().getTime())),ka}const Ce="An unknown error occurred",Of=500,Kl=["non_field_errors","detail"];function _f(t,e){let s;if(t!=null&&t.body)if(typeof t.body=="object"){const a=t.body;if(typeof a.error=="string")s=a.error;else if(typeof a.message=="string")s=a.message;else try{s=Object.entries(a).map(([n,c])=>typeof c=="string"?Kl.includes(n)?c:`${n}: ${c}`:Array.isArray(c)?Kl.includes(n)?c.join(`
6
- `):c.map(r=>`${n}: ${r}`).join(`
7
- `):`${n}: ${JSON.stringify(c)}`).join(`
8
- `)}catch(n){console.error("Failed to extract error message from response body",n)}}else typeof t.body=="string"&&(s=t.body);else t!=null&&t.text?s=t.text:e instanceof Error&&(s=e.message);return!s||s.length>Of?Ce:s}class q extends Error{constructor(s){super(Ce);f(this,"status");f(this,"response");f(this,"message");f(this,"options");const{response:a,innerError:n}=s;this.message=s.message??_f(a,n)??Ce,this.status=(a==null?void 0:a.status)??0,this.response=a,s.discard=s.discard??!1,this.options=s}}class vf extends Ul{constructor(e){super(e)}}class P extends Ul{constructor(s,a){super(s);f(this,"auth");this.auth=a}}class wf extends P{async startConversation(e,s){return this.enqueueRequest({description:"Start agent conversation",method:h.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:s},blockers:["prompt"],blocks:["prompt"]}).then(a=>(this.dispatch(Wa(a)),a))}async continueConversation(e,s,a){return this.enqueueRequest({description:"Prompt agent",method:h.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:a},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:s}}).then(n=>{this.dispatch(Ya(n))})}async fetchDetails(e){return this.enqueueRequest({description:"Get agent conversation",method:h.GET,url:`/agents/conversations/${e}/`,blockers:["conversation"],blocks:["conversation"]}).then(s=>{this.dispatch(Ka(s))})}async rate(e,s){return this.enqueueRequest({description:"Rate agent response",method:h.PUT,url:`/agents/responses/${e}/rate/`,payload:{rating:s},blockers:["rate"],blocks:["rate"]})}async refreshStore(e){const s=await this.enqueueRequest({description:"Get agent conversation history",method:h.GET,url:`/projects/${e}/agent-conversations/`,blockers:["agent-conversations"],blocks:["agent-conversations"]});this.dispatch(Ha(s))}}class E extends P{getNumberOfAttachmentsWithSha1(e){const{issueAttachmentReducer:s,assetAttachmentReducer:a,assetTypeAttachmentReducer:n,documentAttachmentReducer:c,projectAttachmentReducer:r,formRevisionAttachmentReducer:u,formSubmissionAttachmentReducer:m,geoImageReducer:d,assetTypeFieldsAttachmentReducer:o,assetTypeFieldValuesAttachmentReducer:p,issueTypeFieldsAttachmentReducer:A,issueTypeFieldValuesAttachmentReducer:y}=this.client.store.getState();return[].concat(Object.values(s.instances),Object.values(a.instances),Object.values(n.instances),Object.values(c.instances),Object.values(r.instances),Object.values(u.instances),Object.values(m.instances),Object.values(d.instances),Object.values(o.instances),Object.values(p.instances),Object.values(A.instances),Object.values(y.instances)).filter(I=>I.file_sha1===e).length}processPresignedUrls(e){const s={};for(const[a,n]of Object.entries(e))s[a]=this.enqueueRequest({url:n.url,description:"Upload file to S3",method:h.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:a,blockers:[`s3-${n.fields.key}`],blocks:[a],s3url:n});return s}async getFilePayload(e){const s=await we(e),a={sha1:s,file_type:e.type,extension:e.name.split(".").pop(),size:e.size};return await this.client.files.addCache(e,s),a}}class Se extends E{async _bulkAdd(e){var d;const{store:s}=this.client,a=(d=s.getState().userReducer.currentUser)==null?void 0:d.id,n=new Date().toISOString(),c=[],r=[],u={};for(const o of e){const{modelUuid:p,file:A}=o,y=await this.getFilePayload(A);y.sha1 in u||(u[y.sha1]=y);const b=this.buildOfflineAttachment({file:A,file_sha1:y.sha1,submitted_at:n,created_by:a,description:"",modelUuid:p});c.push(b),r.push(this.buildAttachmentPayload({uuid:b.uuid,file_name:b.file_name,file_sha1:b.file_sha1,file_extension:y.extension,description:b.description,modelUuid:p}))}this.dispatch(this.addAttachments(c));const m=this.enqueueRequest({description:`Add ${this.name}`,method:h.POST,url:`${this.url}/bulk/`,payload:{submitted_at:n,attachments:r,files:Object.values(u)},blocks:c.map(o=>o.uuid),blockers:c.map(o=>o.file_sha1)});return m.then(({attachments:o,presigned_urls:p})=>{this.dispatch(this.updateAttachments(o)),this.processPresignedUrls(p)}).catch(()=>{this.dispatch(this.removeAttachments(c.map(o=>o.uuid)))}),[c,m.then(({attachments:o})=>o)]}async _delete(e){const{store:s}=this.client,a=this.selectAttachment(e)(s.getState());if(!a)throw new Error(`Attempting to delete attachment with uuid ${e} that does not exist in the store`);this.dispatch(this.removeAttachment(a.uuid));const n=this.enqueueRequest({description:`Delete ${this.name}`,method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return n.then(()=>{this.getNumberOfAttachmentsWithSha1(a.file_sha1)===0&&this.client.files.removeCache(a.file_sha1)}).catch(()=>{this.dispatch(this.setAttachment(a))}),n}}class Ef extends Se{constructor(){super(...arguments);f(this,"name","Asset Attachment");f(this,"url","/asset-attachments");f(this,"initializeAttachments",Vt);f(this,"addAttachments",$t);f(this,"updateAttachments",Za);f(this,"removeAttachments",Bt);f(this,"removeAttachment",xa);f(this,"setAttachment",Qa);f(this,"selectAttachment",sn)}buildOfflineAttachment(s){return R({file:URL.createObjectURL(s.file),file_sha1:s.file_sha1,created_by:s.created_by,file_name:s.file.name,file_type:s.file.type,submitted_at:s.submitted_at,description:s.description,asset:s.modelUuid})}buildAttachmentPayload(s){return{...s,asset:s.modelUuid}}async bulkAdd(s){return this._bulkAdd(s.map(a=>({modelUuid:a.assetUuid,file:a.file})))}async delete(s){return this._delete(s)}async refreshStore(s){const a=await this.enqueueRequest({description:"Get asset attachments",method:h.GET,url:`${this.url}/`,queryParams:{project:s},blocks:[],blockers:[]});this.dispatch(Vt(a))}}class jf extends Se{constructor(){super(...arguments);f(this,"name","Asset Procedure Attachment");f(this,"url","/asset-procedure-attachments");f(this,"addAttachments",dn);f(this,"updateAttachments",on);f(this,"removeAttachments",hn);f(this,"removeAttachment",ln);f(this,"setAttachment",un);f(this,"selectAttachment",An)}buildOfflineAttachment(s){return R({file:URL.createObjectURL(s.file),file_sha1:s.file_sha1,created_by:s.created_by,file_name:s.file.name,file_type:s.file.type,submitted_at:s.submitted_at,description:s.description,asset_procedure:s.modelUuid})}buildAttachmentPayload(s){return{...s,asset_procedure:s.modelUuid}}async bulkAdd(s){return this._bulkAdd(s.map(a=>({modelUuid:a.assetProcedureUuid,file:a.file})))}async delete(s){return this._delete(s)}async refreshStore(s){const a=await this.enqueueRequest({description:"Get asset procedure attachments",method:h.GET,url:`${this.url}/`,queryParams:{organization:s},blocks:[],blockers:[]});this.dispatch(rn(a))}}class qf extends E{async bulkAdd(e){var m;const s=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,n={},c=[],r=[];for(const d of e){const{fieldsRevisionUuid:o,fieldIdentifier:p,file:A}=d,y=await this.getFilePayload(A);y.sha1 in n||(n[y.sha1]=y);const b=R({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:y.sha1,created_by:a,fields_revision:o,submitted_at:s,field_identifier:p});c.push(b);const I={uuid:b.uuid,file_name:A.name,field_identifier:p,file_extension:y.extension,file_sha1:y.sha1,fields_revision:o};r.push(I)}this.dispatch(gn(c));const u=this.enqueueRequest({description:"Add asset procedure fields attachments",method:h.POST,url:"/asset-procedure-fields-attachments/bulk/",payload:{submitted_at:s,attachments:r,files:Object.values(n)},blockers:c.map(d=>d.fields_revision),blocks:c.map(d=>d.uuid)});return u.then(d=>{this.processPresignedUrls(d.presigned_urls),this.dispatch(bn(d.attachments))}).catch(()=>{this.dispatch(Tn(c.map(d=>d.uuid)))}),[c,u.then(({attachments:d})=>d)]}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset procedure fields attachments",method:h.GET,url:"/asset-procedure-fields-attachments/",queryParams:{organization:e},blockers:[],blocks:[]});this.dispatch(Sn(s))}}class Mf extends P{add(e){var u;const{store:s}=this.client,a=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,n=new Date().toISOString(),c=R({...e,created_by:a,submitted_at:n});this.dispatch(_n(c));const r=this.enqueueRequest({description:"Add Asset Procedure Fields",method:h.POST,url:"/asset-procedure-fields/",payload:c,blockers:[c.asset_procedure],blocks:[c.uuid]});return r.then(m=>{this.dispatch(vn(m))}).catch(m=>{throw this.dispatch(wn(c.uuid)),m}),[c,r]}async refreshStore(e){const s=await this.enqueueRequest({description:"Get Asset Procedure Fields",method:h.GET,url:"/asset-procedure-fields/",queryParams:{organization:e},blockers:[],blocks:[]});this.dispatch(On(s))}}function Ze(t,e){const s=[];let a=0;const n=t.length;for(;a<n;)s.push(t.slice(a,a+=e));return s}class kf extends E{async bulkAdd(e,s){var d;const a=new Date().toISOString(),n=(d=this.client.store.getState().userReducer.currentUser)==null?void 0:d.id,c=Ze(e,s??e.length),r=[],u=[];for(const o of c){const p={},A=[];for(const y of o){const{fieldValuesUuid:b,fieldIdentifier:I,file:F}=y,O=await this.getFilePayload(F);O.sha1 in p||(p[O.sha1]=O);const M=R({file:URL.createObjectURL(F),file_type:F.type,file_name:F.name,file_sha1:O.sha1,created_by:n,field_values:b,submitted_at:a,field_identifier:I});r.push(M);const _t={uuid:M.uuid,file_name:F.name,file_sha1:O.sha1,file_extension:O.extension,field_identifier:I,field_values:b};A.push(_t)}u.push({submitted_at:a,attachments:A,files:Object.values(p)})}this.dispatch(et(r));const m=u.map(o=>this.enqueueRequest({description:"Add asset procedure field values attachments",method:h.POST,url:"/asset-procedure-field-values-attachments/bulk/",payload:o,blockers:o.attachments.map(p=>p.field_values),blocks:o.attachments.map(p=>p.uuid)}));return Promise.all(m).then(o=>{for(const A of o)this.processPresignedUrls(A.presigned_urls);const p=o.flatMap(A=>A.attachments);this.dispatch(kn(p))}).catch(o=>{throw this.dispatch(tt(r.map(p=>p.uuid))),o}),[r,m.map(o=>o.then(({attachments:p})=>p))]}async bulkDelete(e){const{store:s}=this.client,a=s.getState(),n=zn(e)(a);this.dispatch(tt(e));try{await this.enqueueRequest({description:"Delete asset procedure field values attachments",method:h.DELETE,url:"/asset-procedure-field-values-attachments/bulk/",payload:{attachment_ids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(et(n)),c}}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset procedure field values attachments",method:h.GET,url:"/asset-procedure-field-values-attachments/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(Mn(s))}}class Cf extends P{add(e){var r;const{store:s}=this.client,a=s.getState(),n=R({...e,created_by:(r=a.userReducer.currentUser)==null?void 0:r.id,submitted_at:new Date().toISOString()}),c=this.enqueueRequest({description:"Add asset procedure field values",method:h.POST,url:"/asset-procedure-field-values/",payload:_(n),blockers:[e.asset,e.fields_revision,e.asset_procedure_instance],blocks:[n.uuid]});return this.dispatch(Jt(n)),c.then(u=>(this.dispatch(Ve(u)),u)).catch(()=>{this.dispatch(Xt(n.uuid))}),[n,c]}bulkAdd(e,s){var m;const a=new Date().toISOString(),n=[],c=Ze(e.payloads,s??e.payloads.length),r=[];for(const d of c){const o=[];for(const p of d){const A=R({...p,values:p.values,created_by:(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,submitted_at:a});n.push(A),o.push({uuid:A.uuid,asset:p.asset,fields_revision:p.fields_revision,asset_procedure_instance:p.asset_procedure_instance,published_at:p.published_at,values:A.values})}r.push({submitted_at:a,values:e.values,field_values:o})}this.dispatch(Bn(n));const u=[];for(const d of r){const o=d.field_values.map(I=>I.asset),p=d.field_values.map(I=>I.fields_revision),A=d.field_values.map(I=>I.asset_procedure_instance),y=d.field_values.map(I=>I.uuid),b=this.enqueueRequest({description:"Bulk add asset procedure field values",method:h.POST,url:"/asset-procedure-field-values/bulk/",payload:d,blockers:[...o,...p,...A],blocks:y});u.push(b)}return Promise.all(u).then(d=>{this.dispatch(Gn(d.flat()))}).catch(()=>{this.dispatch(Ln(n.map(d=>d.uuid)))}),[n,u]}update(e){const{store:s}=this.client,a=s.getState(),n=Zt(e.uuid)(a);if(!n)throw new Error(`Expected AssetProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(Ve(c));const r=this.enqueueRequest({description:"Update asset procedure field values",method:h.PATCH,url:`/asset-procedure-field-values/${e.uuid}/`,payload:e,blockers:[c.fields_revision,c.asset,c.asset_procedure_instance],blocks:[c.uuid]});return r.then(u=>{this.dispatch(Ve(u))}).catch(()=>{this.dispatch(Ve(n))}),[c,r]}async delete(e){const{store:s}=this.client,a=s.getState(),n=Zt(e)(a);if(!n)throw new Error(`Expected submission with uuid ${e} to exist`);const c=Dn(e)(a);this.dispatch(Xt(e)),this.dispatch(tt(c.map(r=>r.uuid)));try{await this.enqueueRequest({description:"Delete asset procedure field values",method:h.DELETE,url:`/asset-procedure-field-values/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(Jt(n)),this.dispatch(et(c)),r}}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset procedure field values",method:h.GET,url:"/asset-procedure-field-values/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch($n(s))}}class zf extends P{add(e){var u;const{store:s}=this.client,a=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,n=new Date().toISOString(),c=R({...e,created_by:a,submitted_at:n});this.dispatch(es(c));const r=this.enqueueRequest({description:"Create asset procedure instance",method:h.POST,url:"/asset-procedure-instances/",payload:_(c),blockers:[e.asset_procedure,e.asset_type],blocks:[c.uuid]});return r.then(m=>{this.dispatch($e(m))}).catch(()=>{this.dispatch(ts(c.uuid))}),[c,r]}update(e){const{store:s}=this.client,a=as(e.uuid)(s.getState());if(!a)throw new Error(`Expected asset procedure instance with uuid ${e.uuid} to exist`);const n={...a,...e};this.dispatch($e(n));const c=this.enqueueRequest({description:"Update asset procedure instance",method:h.PATCH,url:`/asset-procedure-instances/${e.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return c.then(r=>{this.dispatch($e(r))}).catch(()=>{this.dispatch($e(a))}),[n,c]}async remove(e){const{store:s}=this.client,a=s.getState(),n=as(e)(a);if(!n)throw new Error(`Expected asset procedure instance with uuid ${e} to exist`);return this.dispatch(ts(e)),this.enqueueRequest({description:"Delete asset procedure instance",method:h.DELETE,url:`/asset-procedure-instances/${e}/`,blockers:[e],blocks:[]}).catch(c=>{throw this.dispatch(es(n)),c})}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset procedure instances",method:h.GET,url:"/asset-procedure-instances/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(Kn(s))}}class Df extends P{add(e){var u;const{store:s}=this.client,a=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,n=new Date().toISOString(),c=R({...e,created_by:a,submitted_at:n});this.dispatch(cs(c));const r=this.enqueueRequest({description:"Create asset procedure",method:h.POST,url:"/asset-procedures/",payload:_(c),blockers:[],blocks:[c.uuid]});return r.then(m=>{this.dispatch(Be(m))}).catch(()=>{this.dispatch(rs(c.uuid))}),[c,r]}update(e){const{store:s}=this.client,a=us(e.uuid)(s.getState());if(!a)throw new Error(`Expected asset procedure with uuid ${e.uuid} to exist`);const n={...a,...e};this.dispatch(Be(n));const c=this.enqueueRequest({description:"Update asset procedure",method:h.PATCH,url:`/asset-procedures/${e.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return c.then(r=>{this.dispatch(Be(r))}).catch(()=>{this.dispatch(Be(a))}),[n,c]}async remove(e){const{store:s}=this.client,a=s.getState(),n=us(e)(a);if(!n)throw new Error(`Expected asset procedure with uuid ${e} to exist`);const c=Xn(e)(a);return this.dispatch(rs(e)),this.dispatch(Jn(c.map(r=>r.uuid))),this.enqueueRequest({description:"Delete asset procedure",method:h.DELETE,url:`/asset-procedures/${e}/`,blockers:[e],blocks:[]}).catch(r=>{throw this.dispatch(cs(n)),this.dispatch(Yn(c)),r})}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset procedures",method:h.GET,url:"/asset-procedures/",queryParams:{organization:e},blockers:[],blocks:[]});this.dispatch(xn(s))}}class Uf extends P{add(e){var u;const{store:s}=this.client;if(!e.canvas_marker&&!e.geo_marker)throw new Error("Asset must have either a canvas_marker or geo_marker");const a=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,n=new Date().toISOString(),c=R({...e,created_by:a,submitted_at:n});this.dispatch(ls(c));const r=this.enqueueRequest({description:"Create asset",method:h.POST,url:"/assets/",payload:_(c),blockers:[c.asset_type],blocks:[c.uuid]});return r.then(m=>{this.dispatch(Ge(m))}).catch(()=>{this.dispatch(ms(c.uuid))}),[c,r]}update(e){const{store:s}=this.client,a=ys(e.uuid)(s.getState());if(!a)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const n={...a,...e};if(!n.canvas_marker&&!n.geo_marker)throw new Error("Asset must have either a canvas_marker or geo_marker");this.dispatch(Ge(n));const c=this.enqueueRequest({description:"Edit asset",method:h.PATCH,url:`/assets/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return c.then(r=>{this.dispatch(Ge(r))}).catch(()=>{this.dispatch(Ge(a))}),[n,c]}async remove(e){const{store:s}=this.client,a=s.getState(),n=ys(e)(a);if(!n)throw new Error(`No asset with uuid ${e} found in the store`);const c=an(e)(a),r=Id(e)(a),u=$d(e)(a);if(this.dispatch(ms(e)),c.length>0){const m=c.map(({uuid:d})=>d);this.dispatch(Bt(m))}if(r.length>0){const m=r.map(({uuid:d})=>d);this.dispatch(pt(m))}if(u.length>0){const m=u.map(({uuid:d})=>d);this.dispatch(Ii(m))}return this.enqueueRequest({description:"Delete asset",method:h.DELETE,url:`/assets/${e}/`,blockers:[e],blocks:[]}).catch(m=>{throw this.dispatch(ls(n)),this.dispatch($t(c)),this.dispatch(mt(r)),this.dispatch(bi(u)),m})}bulkAdd(e,s,a,n){const c=new Date().toISOString(),r=ge.v4(),u=Ze(e,n).map(o=>{const p=o.map(A=>R(A));return{batchId:ge.v4(),payload:{transaction_id:r,submitted_at:c,asset_type:s,project:a,assets:p}}}),m=[];let d=null;for(const o of u){const{batchId:p,payload:A}=o,y=A.assets.map(O=>O.uuid),b=[s];d&&b.push(d);const I=y;I.push(p);const F=this.enqueueRequest({description:"Batch create assets",method:h.POST,url:"/assets/bulk/",payload:A,blockers:b,blocks:I});d=o.batchId,m.push(F)}return Promise.all(m).then(o=>{const p=o.flat();this.dispatch(hs(p))}),m}async refreshStore(e){const s=await this.enqueueRequest({description:"Get assets",method:h.GET,url:"/assets/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(ic(s))}}class Vf extends P{add(e){var u;const{store:s}=this.client,a=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,n=new Date().toISOString(),c=R({...e,created_by:a,submitted_at:n});this.dispatch(Ss(c));const r=this.enqueueRequest({description:"Add asset stage completion",method:h.POST,url:"/asset-stage-completions/",payload:_(c),blockers:[e.asset,e.stage],blocks:[c.uuid]});return r.then(m=>{this.dispatch(uc(m))}).catch(()=>{this.dispatch(bs(c.uuid))}),[c,r]}delete(e){const{store:s}=this.client,a=hc(e)(s.getState());if(!a)throw new Error(`Expected asset stage completion with uuid ${e} to exist`);this.dispatch(bs(e));const n=this.enqueueRequest({description:"Delete asset stage completion",method:h.DELETE,url:`/asset-stage-completions/${e}/`,blockers:[e],blocks:[]});return n.catch(()=>{this.dispatch(Ss(a))}),n}bulkAdd(e){var d;const{store:s}=this.client,a=new Date().toISOString(),n=(d=s.getState().userReducer.currentUser)==null?void 0:d.id,c=e.map(o=>R(o)),r=c.map(o=>({...o,created_by:n,submitted_at:a})),u=r.map(({uuid:o})=>o);this.dispatch(gs(r));const m=this.enqueueRequest({description:"Bulk create asset stage completions",method:h.POST,url:"/asset-stage-completions/bulk/",payload:{submitted_at:a,completions:c},blockers:[...e.map(o=>o.asset_procedure_instance),...e.map(o=>o.stage),...e.map(o=>o.asset)],blocks:u});return m.then(o=>{this.dispatch(oc(o))}).catch(()=>{this.dispatch(Ts(u))}),[r,m]}bulkDelete(e){const{store:s}=this.client,a=mc(e)(s.getState());this.dispatch(Ts(e));const n=this.enqueueRequest({description:"Deleting asset stage completions",method:h.DELETE,url:"/asset-stage-completions/bulk/",payload:{completion_ids:e},blockers:e,blocks:[]});return n.catch(()=>{this.dispatch(gs(a))}),n}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset stage completions",method:h.GET,url:"/asset-stage-completions/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(dc(s))}}class $f extends P{bulkAdd(e,s){var m;const a=new Date().toISOString(),n=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,c=e.map(d=>R(d)),r=c.map(d=>({...d,asset_procedure:s,created_by:n,submitted_at:a}));this.dispatch(Rs(r));const u=this.enqueueRequest({description:"Add asset stages",method:h.POST,url:"/asset-stages/bulk/",payload:{submitted_at:a,asset_procedure:s,stages:c},blockers:[s],blocks:c.map(({uuid:d})=>d)});return u.then(d=>{this.dispatch(st(d))}).catch(()=>{this.dispatch(Os(r.map(({uuid:d})=>d)))}),[r,u]}async bulkUpdate(e,s){const n=this.client.store.getState(),c=_s(e.map(({uuid:r})=>r))(n);return this.dispatch(st(e)),this.enqueueRequest({description:"Edit asset stages",method:h.PATCH,url:`/asset-procedures/${s}/bulk-update-stages/`,payload:{stages:e},blockers:[s],blocks:e.map(({uuid:r})=>r)}).catch(r=>{throw this.dispatch(st(c)),r})}async bulkDelete(e){const{store:s}=this.client,a=_s(e)(s.getState());this.dispatch(Os(e));const n=this.enqueueRequest({description:"Delete asset stages",method:h.DELETE,url:"/asset-stages/bulk/",payload:{stage_ids:e},blockers:e,blocks:[]});return n.catch(()=>{this.dispatch(Rs(a))}),n}update(e){const{store:s}=this.client,a=Sc(e.uuid)(s.getState());if(!a)throw new Error(`No asset stage with uuid ${e.uuid} found in the store`);const n={...a,...e};this.dispatch(Ps(n));const c=this.enqueueRequest({description:"Update asset stage",method:h.PATCH,url:`/asset-stages/${a.uuid}/`,payload:{name:e.name,description:e.description,priority:e.priority,color:e.color},blockers:[a.uuid],blocks:[a.uuid]});return c.then(r=>{this.dispatch(Ps(r))}).catch(()=>{this.dispatch(yc(a))}),[n,c]}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset stages",method:h.GET,url:"/asset-stages/",queryParams:{organization:e},blockers:[],blocks:[]});this.dispatch(Ac(s))}}class Bf extends Se{constructor(){super(...arguments);f(this,"name","Asset Type Attachment");f(this,"url","/asset-type-attachments");f(this,"addAttachments",ws);f(this,"updateAttachments",Fc);f(this,"removeAttachments",Es);f(this,"removeAttachment",Rc);f(this,"setAttachment",Ic);f(this,"selectAttachment",_c)}buildOfflineAttachment(s){return R({file:URL.createObjectURL(s.file),file_sha1:s.file_sha1,created_by:s.created_by,file_name:s.file.name,file_type:s.file.type,submitted_at:s.submitted_at,description:s.description,asset_type:s.modelUuid})}buildAttachmentPayload(s){return{...s,asset_type:s.modelUuid}}async bulkAdd(s){return this._bulkAdd(s.map(a=>({modelUuid:a.assetTypeUuid,file:a.file})))}async delete(s){return this._delete(s)}async refreshStore(s){const a=await this.enqueueRequest({description:"Get asset type attachments",method:h.GET,url:`${this.url}/`,queryParams:{organization:s},blocks:[],blockers:[]});this.dispatch(Tc(a))}}class Gf extends E{async bulkAdd(e){var m;const s=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,n={},c=[],r=[];for(const d of e){const{fieldsRevisionUuid:o,fieldIdentifier:p,file:A}=d,y=await this.getFilePayload(A);y.sha1 in n||(n[y.sha1]=y);const b=R({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:y.sha1,created_by:a,fields_revision:o,submitted_at:s,field_identifier:p});c.push(b);const I={uuid:b.uuid,file_name:A.name,field_identifier:p,file_extension:y.extension,file_sha1:y.sha1,fields_revision:o};r.push(I)}this.dispatch(qc(c));const u=this.enqueueRequest({description:"Add asset type fields attachments",method:h.POST,url:"/asset-type-fields-attachments/bulk/",payload:{submitted_at:s,attachments:r,files:Object.values(n)},blockers:c.map(d=>d.fields_revision),blocks:c.map(d=>d.uuid)});return u.then(d=>{this.processPresignedUrls(d.presigned_urls),this.dispatch(Mc(d.attachments))}).catch(()=>{this.dispatch(kc(c.map(d=>d.uuid)))}),[c,u.then(({attachments:d})=>d)]}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset type fields attachments",method:h.GET,url:"/asset-type-fields-attachments/",queryParams:{organization:e},blockers:[e],blocks:[]});this.dispatch(jc(s))}}class Lf extends P{add(e){var u;const{store:s}=this.client,a=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,n=new Date().toISOString(),c=R({...e,created_by:a,submitted_at:n});this.dispatch($c(c));const r=this.enqueueRequest({description:"Add Asset Type Fields",method:h.POST,url:"/asset-type-fields/",payload:c,blockers:[c.asset_type],blocks:[c.uuid]});return r.then(m=>{this.dispatch(Bc(m))}).catch(m=>{throw this.dispatch(Gc(c.uuid)),m}),[c,r]}async refreshStore(e){const s=await this.enqueueRequest({description:"Get Asset Type Fields",method:h.GET,url:"/asset-type-fields/",queryParams:{organization:e},blockers:[],blocks:[]});this.dispatch(Vc(s))}}class Nf extends E{async bulkAdd(e,s){var d;const a=new Date().toISOString(),n=(d=this.client.store.getState().userReducer.currentUser)==null?void 0:d.id,c=Ze(e,s??e.length),r=[],u=[];for(const o of c){const p={},A=[];for(const y of o){const{fieldValuesUuid:b,fieldIdentifier:I,file:F}=y,O=await this.getFilePayload(F);O.sha1 in p||(p[O.sha1]=O);const M=R({file:URL.createObjectURL(F),file_type:F.type,file_name:F.name,file_sha1:O.sha1,created_by:n,field_values:b,submitted_at:a,field_identifier:I});r.push(M);const _t={uuid:M.uuid,file_name:F.name,file_sha1:O.sha1,file_extension:O.extension,field_identifier:I,field_values:b};A.push(_t)}u.push({submitted_at:a,attachments:A,files:Object.values(p)})}this.dispatch(nt(r));const m=u.map(o=>this.enqueueRequest({description:"Add asset type field values attachments",method:h.POST,url:"/asset-type-field-values-attachments/bulk/",payload:o,blockers:o.attachments.map(p=>p.field_values),blocks:o.attachments.map(p=>p.uuid)}));return Promise.all(m).then(o=>{for(const A of o)this.processPresignedUrls(A.presigned_urls);const p=o.flatMap(A=>A.attachments);this.dispatch(Kc(p))}).catch(o=>{throw this.dispatch(ct(r.map(p=>p.uuid))),o}),[r,m.map(o=>o.then(({attachments:p})=>p))]}async bulkDelete(e){const{store:s}=this.client,a=s.getState(),n=Jc(e)(a);this.dispatch(ct(e));try{await this.enqueueRequest({description:"Delete asset type field values attachments",method:h.DELETE,url:"/asset-type-field-values-attachments/bulk/",payload:{attachment_ids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(nt(n)),c}}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset type field values attachments",method:h.GET,url:"/asset-type-field-values-attachments/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(Wc(s))}}class Hf extends P{add(e){var r;const{store:s}=this.client,a=s.getState(),n=R({...e,created_by:(r=a.userReducer.currentUser)==null?void 0:r.id,submitted_at:new Date().toISOString()}),c=this.enqueueRequest({description:"Add asset type field values",method:h.POST,url:"/asset-type-field-values/",payload:_(n),blockers:[e.asset,e.fields_revision],blocks:[n.uuid]});return this.dispatch(zs(n)),c.then(u=>(this.dispatch(Le(u)),u)).catch(()=>{this.dispatch(Ds(n.uuid))}),[n,c]}bulkAdd(e,s){var m;const a=new Date().toISOString(),n=[],c=Ze(e.payloads,s??e.payloads.length),r=[];for(const d of c){const o=[];for(const p of d){const A=R({...p,values:p.values,created_by:(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,submitted_at:a});n.push(A),o.push({uuid:A.uuid,asset:p.asset,fields_revision:p.fields_revision,published_at:p.published_at,values:A.values})}r.push({submitted_at:a,values:e.values,field_values:o})}this.dispatch(er(n));const u=[];for(const d of r){const o=d.field_values.map(b=>b.asset),p=d.field_values.map(b=>b.fields_revision),A=d.field_values.map(b=>b.uuid),y=this.enqueueRequest({description:"Bulk add asset type field values",method:h.POST,url:"/asset-type-field-values/bulk/",payload:d,blockers:[...o,...p],blocks:A});u.push(y)}return Promise.all(u).then(d=>{this.dispatch(tr(d.flat()))}).catch(()=>{this.dispatch(sr(n.map(d=>d.uuid)))}),[n,u]}update(e){const{store:s}=this.client,a=s.getState(),n=Vs(e.uuid)(a);if(!n)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(Le(c));const r=this.enqueueRequest({description:"Delete asset type field values",method:h.PATCH,url:`/asset-type-field-values/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.asset],blocks:[c.uuid]});return r.then(u=>{this.dispatch(Le(u))}).catch(()=>{this.dispatch(Le(n))}),[c,r]}async delete(e){const{store:s}=this.client,a=s.getState(),n=Vs(e)(a);if(!n)throw new Error(`Expected submission with uuid ${e} to exist`);const c=Xc(e)(a);this.dispatch(Ds(e)),this.dispatch(ct(c.map(r=>r.uuid)));try{await this.enqueueRequest({description:"Delete asset type field values",method:h.DELETE,url:`/asset-type-field-values/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(zs(n)),this.dispatch(nt(c)),r}}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset type field values",method:h.GET,url:"/asset-type-field-values/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(xc(s))}}class Wf extends P{add(e){var u;const{store:s}=this.client,a=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,n=new Date().toISOString(),c=R({...e,created_by:a,submitted_at:n});this.dispatch(Bs(c));const r=this.enqueueRequest({description:"Create asset type",method:h.POST,url:"/asset-types/",payload:_(c),blockers:[],blocks:[c.uuid]});return r.then(m=>{this.dispatch(Ne(m))}).catch(()=>{this.dispatch(Gs(c.uuid))}),[c,r]}update(e){const{store:s}=this.client,a=Ns(e.uuid)(s.getState());if(!a)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const n={...a,...e};this.dispatch(Ne(n));const c=this.enqueueRequest({description:"Update asset type",method:h.PATCH,url:`/asset-types/${e.uuid}/`,payload:{icon:e.icon,color:e.color,name:e.name,description:e.description},blockers:[a.uuid],blocks:[a.uuid]});return c.then(r=>{this.dispatch(Ne(r))}).catch(()=>{this.dispatch(Ne(a))}),[n,c]}async delete(e){const{store:s}=this.client,a=s.getState(),n=Ns(e)(a);if(!n)throw new Error(`Expected asset type with uuid ${e} to exist`);const c=As(e)(a),r=vc(e)(a);return this.dispatch(Gs(e)),this.dispatch(ac(c.map(u=>u.uuid))),this.dispatch(Es(r.map(({uuid:u})=>u))),this.enqueueRequest({description:"Delete asset type",method:h.DELETE,url:`/asset-types/${e}/`,blockers:[e],blocks:[]}).catch(u=>{throw this.dispatch(Bs(n)),this.dispatch(hs(c)),this.dispatch(ws(r)),u})}async refreshStore(e){const s=await this.enqueueRequest({description:"Get asset types",method:h.GET,url:"/asset-types/",queryParams:{organization:e},blockers:[],blocks:[]});this.dispatch(cr(s))}}class Kf extends P{add(e){var u;const{store:s}=this.client,a=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,n=new Date().toISOString(),c=R({...e,created_by:a,submitted_at:n});this.dispatch(Ws(c));const r=this.enqueueRequest({description:"Create Category",method:h.POST,url:"/categories/",payload:_(c),blockers:[e.project],blocks:[c.uuid]});return[c,r]}update(e){const s=this.client.store.getState(),a=Ys(e.uuid)(s);if(!a)throw new Error(`Expected an existing category with uuid ${e.uuid}`);const n={...a,...e};this.dispatch(mr(n));const c=this.enqueueRequest({description:"Edit Category",method:h.PATCH,url:`/categories/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return[n,c]}remove(e){const{store:s}=this.client,a=Ys(e)(s.getState());if(!a)throw new Error(`No category with uuid ${e} found in the store`);this.dispatch(pr(e));const n=this.enqueueRequest({description:"Delete Category",method:h.DELETE,url:`/categories/${a.uuid}/`,blockers:[a.uuid],blocks:[]});return n.catch(()=>{this.dispatch(Ws(a))}),n}async refreshStore(e){const s=await this.enqueueRequest({description:"Get categories",method:h.GET,url:"/categories/",queryParams:{project:e},blocks:[],blockers:[]});this.dispatch(hr(s))}}class Yf extends Se{constructor(){super(...arguments);f(this,"name","Document Attachment");f(this,"url","/document-attachments");f(this,"addAttachments",Sr);f(this,"updateAttachments",br);f(this,"removeAttachments",Ir);f(this,"removeAttachment",Tr);f(this,"setAttachment",gr);f(this,"selectAttachment",Pr)}buildOfflineAttachment(s){return R({file:URL.createObjectURL(s.file),file_sha1:s.file_sha1,created_by:s.created_by,file_name:s.file.name,file_type:s.file.type,submitted_at:s.submitted_at,description:s.description,document:s.modelUuid})}buildAttachmentPayload(s){return{...s,document:s.modelUuid}}async bulkAdd(s){var p;const{store:a}=this.client,n=(p=a.getState().userReducer.currentUser)==null?void 0:p.id,c=new Date().toISOString(),r=[],u=[],m={},d={};for(const A of s){const{documentUuid:y,file:b}=A,I=await this.getFilePayload(b);I.sha1 in m||(m[I.sha1]=I,d[I.sha1]=[]);const F=this.buildOfflineAttachment({file:b,file_sha1:I.sha1,submitted_at:c,created_by:n,description:"",modelUuid:y});r.push(F),u.push({uuid:F.uuid,file_name:F.file_name,file_sha1:F.file_sha1,file_extension:I.extension,description:F.description,document:y}),d[I.sha1].push(F.uuid)}this.dispatch(this.addAttachments(r));const o=this.enqueueRequest({description:"Attach files to document",method:h.POST,url:"/document-attachments/bulk/",payload:{submitted_at:c,attachments:u,files:Object.values(m)},blocks:r.map(A=>A.uuid),blockers:r.map(A=>A.file_sha1)});return o.then(({attachments:A,presigned_urls:y})=>{this.dispatch(this.updateAttachments(A));const b=this.processPresignedUrls(y);for(const[I,F]of Object.entries(b))F.then(()=>{const O=d[I];for(const M of O)this.makeReadable(M)})}).catch(()=>{this.dispatch(this.removeAttachments(r.map(A=>A.uuid)))}),[r,o.then(({attachments:A})=>A)]}async delete(s){return this._delete(s)}makeReadable(s){this.enqueueRequest({description:"Add attachment to AI assistant",method:h.PATCH,url:`/document-attachments/${s}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",s],blocks:["index-document-attachment"]})}async refreshStore(s,a){const n=await this.enqueueRequest({description:"Get document attachments",method:h.GET,url:`/projects/${s}/document-attachments/`,blocks:[],blockers:[]});this.dispatch(fr(n));const c=await this.enqueueRequest({description:"Get document attachments",method:h.GET,url:`/organizations/${a}/document-attachments/`,blocks:[],blockers:[]});this.dispatch(this.addAttachments(c))}}class Jf extends P{add(e){var u;const{store:s}=this.client,a=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,n=new Date().toISOString(),c=R({...e,created_by:a,submitted_at:n});this.dispatch(wr([c]));const r=this.enqueueRequest({description:"Create Document",method:h.POST,url:"/documents/",payload:_(c),queryParams:{parent_document:c.parent_document??void 0},blockers:c.parent_document?[c.parent_document]:[],blocks:[c.uuid]});return r.catch(()=>{this.dispatch(Qs([c.uuid]))}),[c,r]}update(e){const{store:s}=this.client,a=s.getState().documentsReducer.documents[e.uuid];if(!a)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const n={...a,...e};this.dispatch(fe([n]));const c=this.enqueueRequest({description:"Update Document",method:h.PATCH,url:`/documents/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return c.catch(()=>{fe([a])}),[n,c]}move(e,s,a){const{store:n}=this.client,c=Ee(n.getState()),r=[],u=c[e];if(!u)throw new Error(`attempting to move a document with uuid ${e} that does not exist in store.documents`);if(r.push(u),u.parent_document&&r.push(c[u.parent_document]),s){const d=c[s];if(!d)throw new Error(`attempting to move a document to target with uuid ${s} that does not exist in store.documents`);r.push(d),d.parent_document&&r.push(c[d.parent_document])}this.dispatch(Er({documentId:e,targetDocumentId:s,position:a}));const m=this.enqueueRequest({description:"Move Document",method:h.PATCH,url:`/documents/${e}/move/`,queryParams:{target:s??void 0,position:a},blockers:[e],blocks:[]});return m.then(d=>{this.dispatch(fe(d))}).catch(()=>{this.dispatch(fe(r))}),m}delete(e){const{store:s}=this.client,a=Ee(s.getState()),n=qr(e)(s.getState());if(!n)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const c=n.parent_document?a[n.parent_document]:void 0;this.dispatch(Qs([e]));const r=this.enqueueRequest({description:"Delete Document",method:h.DELETE,url:`/documents/${e}/`,blockers:[e],blocks:[]});return r.then(u=>{this.dispatch(fe(u))}).catch(()=>{this.dispatch(fe([n])),c&&this.dispatch(fe([c]))}),r}async refreshStore(e,s){const a=this.enqueueRequest({description:"Get project documents",method:h.GET,url:`/projects/${e}/documents/`,blockers:[],blocks:[]}),n=this.enqueueRequest({description:"Get organization documents",method:h.GET,url:`/organizations/${s}/documents/`,blockers:[],blocks:[]});this.dispatch(vr([...await a,...await n]))}}class Xf extends P{async add(e,s){return this.enqueueRequest({description:"Add email domain to organization",method:h.POST,url:"/organization-email-domains/",payload:{email:s,organization:e},blockers:[e,"create-org"],blocks:[]})}async remove(e){return this.dispatch(zr(e.uuid)),this.enqueueRequest({description:"Remove email domain from organization",method:h.DELETE,url:`/organization-email-domains/${e.uuid}/`,blockers:[e.domain],blocks:[]}).catch(s=>{throw this.dispatch(Cr(e)),s})}async refreshStore(e){const s=await this.enqueueRequest({description:"Fetch email domains for organization",method:h.GET,url:"/organization-email-domains/",queryParams:{organization:e},blockers:[e],blocks:[]});this.dispatch(kr(s))}}class Qf extends P{async getVerificationCode(e){return this.enqueueRequest({description:"Get verification code",method:h.GET,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(e,s=void 0){return this.enqueueRequest({description:"Validate verification code",method:h.POST,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,payload:s,blockers:[],blocks:[]})}}const Pt={},Ra=new Set;let Ot=0,Pa=0,Oa=0;const Zf=20;class xf extends P{constructor(){super(...arguments);f(this,"host");f(this,"_dbPromise",eh.openDB("fileCache",1,{upgrade(s){s.createObjectStore("files")}}))}async renewUploadUrl(s){const a=await this.fetchCache(s);if(!a)throw new Error(`File with sha1 ${s} not found in cache`);const n=await Ct(a,s),c=await this.enqueueRequest({description:"Get S3 URL",method:h.GET,url:"/authentication/files/presigned-upload-url/",queryParams:{sha1:await we(a),file_type:a.type,extension:a.name.split(".").pop(),size:a.size.toString()},blockers:[],blocks:[`s3-${n}`]});return"url"in c&&this.dispatch(Gr({sha1:s,...c})),c}async addCache(s,a){if(Ra.has(a))return;if(!s.type){const r=s.name.split("."),u=r[r.length-1];s=new File([s],s.name,{type:u})}if(!s.name||!s.size||!s.type)throw new Error("Cannot add files to cache that do not have a name, size and type.");const n=await this._dbPromise;!!await n.get("files",a)?(console.error("File already cached (this is unexpected at this point):",s.name,a),Ot++):(await n.put("files",s,a),Pa++),Ra.add(a),Oa++,Oa%Zf===0&&console.debug(`File cache summary: ${Ot} hits and ${Pa} misses, ${Ot/(Ot+Pa)*100}% hit rate over ${Oa} calls to addCache.`)}async removeCache(s){await(await this._dbPromise).delete("files",s),Ra.delete(s)}async fetchCache(s){return(await this._dbPromise).get("files",s)}async getOrRenewUploadUrl(s){const a=this.client.store.getState();return Lr(s)(a)??await this.renewUploadUrl(s)}async uploadFileToS3(s){const a=await this.fetchCache(s);if(!a)throw new Error(`File with sha1 ${s} not found in cache`);const n=await Ct(a,s),c={file_name:a.name,file_sha1:s,file:n},r=await this.getOrRenewUploadUrl(s);if("warning"in r){if(r.warning==="already_uploaded")return[c,Promise.resolve(void 0).then()];throw new Error(r.warning)}const u=r.url,m=this.enqueueRequest({url:u,description:"Upload file",method:h.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:s,blockers:[`s3-${n}`],blocks:[s],s3url:r});return[c,m]}async fetchFileFromUrl(s,a,n){const c=s.split("?")[0]??s,r=await this.fetchCache(a);if(r){if(!r.name)throw new Error("Cached file unexpectedly has no name.");return r}if(s.startsWith("blob:")){const o=await Va(s),p=new File([o],n??a,{type:o.type});return await this.addCache(p,a),p}let u=Pt[c],m=!0;u?m=!1:(u=new Promise(o=>{this.enqueueRequest({description:"Download file",method:h.GET,url:s,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1,blockers:[a],blocks:[a]}).then(p=>{const A=new File([p],n??a,{type:p.type});o(A)})}),Pt[c]=u);let d;try{d=await u}catch(o){throw m&&o instanceof q&&delete Pt[c],o}if(m){const o=await we(d);if(o!==a){const y=`The hash of the file returned from the server (${o}) does not match the
9
- expected hash (${a}). This can happen if you're using a local development server and the
1
+ (function(i,L){typeof exports=="object"&&typeof module<"u"?L(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("react"),require("file-saver"),require("fast-tree-builder"),require("ts-tree-lib"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("redux-persist-migrate"),require("buffer"),require("@overmap-ai/forms"),require("idb"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","react","file-saver","fast-tree-builder","ts-tree-lib","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","redux-persist-migrate","buffer","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],L):(i=typeof globalThis<"u"?globalThis:i||self,L(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.react,i.fileSaver,i.buildTree,i.tsTreeLib,i.reduxOffline,i.offlineConfig,i.localforage,i.createMigration,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,L,l,ht,at,_F,gF,MF,da,RF,ua,wF,vF,LM,kM,EF,BF,VF){"use strict";var $M=Object.defineProperty;var UM=(i,L,l)=>L in i?$M(i,L,{enumerable:!0,configurable:!0,writable:!0,value:l}):i[L]=l;var h=(i,L,l)=>UM(i,typeof L!="symbol"?L+"":L,l);var FF;const la=Object.freeze([]),oa=Object.freeze({});var ha=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(ha||{}),o=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(o||{}),pa=(t=>(t[t.PLANNED=0]="PLANNED",t[t.ACTIVE=1]="ACTIVE",t[t.MAINTENANCE=2]="MAINTENANCE",t[t.INACTIVE=3]="INACTIVE",t[t.RETIRED=4]="RETIRED",t[t.DISPOSED=5]="DISPOSED",t))(pa||{}),ma=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(ma||{}),ns=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))(ns||{}),$=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))($||{}),ya=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.PLANNED=1]="PLANNED",t[t.IN_PROGRESS=2]="IN_PROGRESS",t[t.COMPLETED=3]="COMPLETED",t[t.CANCELLED=4]="CANCELLED",t))(ya||{}),fa=(t=>(t[t.ADD_ASSIGNEE=0]="ADD_ASSIGNEE",t[t.REMOVE_ASSIGNEE=2]="REMOVE_ASSIGNEE",t[t.ADD_REVIEWER=4]="ADD_REVIEWER",t[t.REMOVE_REVIEWER=6]="REMOVE_REVIEWER",t))(fa||{}),Sa=(t=>(t[t.APPROVED=0]="APPROVED",t[t.REJECTED=2]="REJECTED",t[t.CHANGES_REQUESTED=4]="CHANGES_REQUESTED",t))(Sa||{});const zF=ns.MEDIUM,Aa=6e4;function P(t){return{addOne:(p,f)=>{const I=t(f.payload);p.instances[I]=f.payload},addMany:(p,f)=>{for(const I of f.payload){const R=t(I);p.instances[R]=I}},setOne:(p,f)=>{const I=t(f.payload);p.instances[I]=f.payload},setMany:(p,f)=>{for(const I of f.payload){const R=t(I);p.instances[R]=I}},updateOne:(p,f)=>{const I=t(f.payload);p.instances[I]=f.payload},updateMany:(p,f)=>{for(const I of f.payload){const R=t(I);p.instances[R]=I}},deleteOne:(p,f)=>{delete p.instances[f.payload]},deleteMany:(p,f)=>{for(const I of f.payload)delete p.instances[I]},initialize:(p,f)=>{p.instances={};const I=new Set;for(const R of f.payload){const b=t(R);I.add(b),p.instances[b]=R}I.size!==f.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function DF(t){return{initializeSelection:(d,m)=>{d[t]=Array.from(new Set(m.payload))},selectOne:(d,m)=>{console.debug(d,d[t]),!new Set(d[t]).has(m.payload)&&d[t].push(m.payload)},selectMany:(d,m)=>{const p=new Set(d[t]);for(const f of m.payload)p.has(f)||p.add(f);d[t]=Array.from(p)},unselectOne:(d,m)=>{const p=new Set(d[t]);p.has(m.payload)&&(p.delete(m.payload),d[t]=Array.from(p))},unselectMany:(d,m)=>{const p=new Set(d[t]);for(const f of m.payload)p.has(f)&&p.delete(f);d[t]=Array.from(p)},toggleOne:(d,m)=>{const p=new Set(d[t]);p.has(m.payload)?p.delete(m.payload):p.add(m.payload),d[t]=Array.from(p)},toggleMany:(d,m)=>{const p=new Set(d[t]);for(const f of m.payload)p.has(f)?p.delete(f):p.add(f);d[t]=Array.from(p)}}}const Ft="versioning",T=l.createAction("RESET"),V=l.createAction("RESET_PROJECT_STATE"),F=l.createAction("RESET_ORGANIZATION_STATE");function jF(t,s){return _F.useMemo(t,s)}FF=Symbol.toStringTag;class as{constructor(){h(this,FF,"Promise");h(this,"_promise");h(this,"_resolve");h(this,"_reject");h(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((s,e)=>{this._resolve=s,this._reject=e})}get state(){return this._state}then(s,e){return this._promise.then(s,e)}catch(s){return this._promise.catch(s)}resolve(s){if(!this._resolve)throw new Error("No resolve callback");this._resolve(s),this._state="fulfilled"}reject(s){if(!this._reject)throw s;this._reject(s),this._state="rejected"}finally(s){throw new Error("`finally` not implemented")}}let cs=!1;["true","1"].includes("".toLowerCase())&&(cs=!0);function qF(t,s){if(t===s)return!0;if(typeof t!=typeof s)return!1;const e=Object.keys(t),n=Object.keys(s),a=e.length;if(a!==n.length)return!1;for(let r=0;r<a;r++){const c=e[r];if(!Object.prototype.hasOwnProperty.call(s,c)||t[c]!==s[c])return!1}return!0}function rs(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(cs&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(cs&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function CF(t,s){if(t.length!==s.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==s[e])return!1;return!0}const S=t=>t.length===0?la:t,ds=t=>Object.keys(t).length===0?oa:t,Ia=rs(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===us.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),$F=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),UF=1e3*86400,us=new Date,LF=t=>new Date(t).toDateString()===us.toDateString(),kF=rs((t,s,e)=>{const n=Math.round((new Date(t).getTime()-us.getTime())/UF);return n<s||n>e?Ia(t):$F.format(n,"days")});function NF(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}function Vt(t){return new Promise((s,e)=>{const n=new FileReader;n.onload=()=>{const a=n.result;if(!a){e(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",a).then(r=>{const c=NF(r);s(c)})},n.readAsArrayBuffer(t)})}const GF=(t,s)=>`${t}${s?`.${s}`:""}`;function HF(t,s){return new File([t],s,{type:t.type})}function Ta(t){const s=t.name;return s.includes(".")?s.split(".").pop():""}const Oa=async t=>(await fetch(t)).blob(),Pa=async(t,s)=>{const e=await Oa(t);return new File([e],s,{type:e.type})};function WF(t){const s=new Blob([t]);gF.saveAs(s,t.name)}function Fa(t){return typeof t=="string"&&t.startsWith("blob:")}function KF(t){return t.type.startsWith("image/")}const ba={};function YF(t,s,e,...n){const a=ba[t];let r=!1;a?a[s]||(a[s]=!0,r=!0):(ba[t]={[s]:!0},r=!0),r&&console[e](...n)}const _a=["created_at","updated_at","index","revision"];function O(t){return{...t,uuid:at.v4()}}function ZF(t){const s={};for(const e of t)s[e.uuid]=e;return s}function v(t){return t.map(({uuid:s})=>s)}function zt(t,s){return t.localeCompare(s)}function ls(t,s){return zt(t.uuid,s.uuid)}function JF(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const r=t.split(".");r.length>1&&(s=r[r.length-1])}s&&!s.startsWith(".")&&(s="."+s);const a=s?s.length:0;return n.length+a>e&&(n=n.slice(0,e-a)+(s||"")),n}function XF(t){return t.toLowerCase().replace(" ","-")}function QF(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function xF(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const eb=/^.+@.+\..+$/;function M(t){const s={...t};for(const e of[..._a,"created_by"])e in s&&delete s[e];return s}const ga=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Ma=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Ra=t=>MF(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),tb=t=>{const{roots:s}=Ra(t);return s.map(e=>new da.Tree(e))},wa=(t,s)=>{const{nodes:e}=Ra(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new da.Tree(n)},bt=(t,s)=>t.submitted_at===s.submitted_at?0:t.submitted_at<s.submitted_at?-1:1;class sb{constructor(s){h(this,"operations",[]);h(this,"getData");this.getData=s}performOperations(s){let e=s;for(const n of this.operations)e=n(e);return e}filter(s,e){return this.operations.push(n=>n.filter(a=>a[s]===e)),this}exclude(s,e){return this.operations.push(n=>n.filter(a=>a[s]!==e)),this}orderBy(s){return this.operations.push(e=>e.toSorted((n,a)=>n[s]<=a[s]?1:-1)),this}reverse(){return this.operations.push(s=>s.toReversed()),this}all(){return this.operations.push(s=>s),this}get(s,e){return l.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[s]===e))}count(){return l.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return l.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return l.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return l.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return l.createSelector([this.getData],s=>S(this.performOperations(s)))}}const y=t=>(...s)=>e=>t(e,...s),G=P(t=>t.uuid),va={instances:{}},os=l.createSlice({name:"agents",initialState:va,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,va)),reducers:{initializeConversations:G.initialize,addConversation:G.addOne,addConversations:G.addMany,setConversation:G.setOne,setConversations:G.setMany,updateConversation:G.updateOne,updateConversations:G.updateMany,deleteConversation:G.deleteOne,deleteConversations:G.deleteMany}}),{initializeConversations:Ea,addConversation:Ba,addConversations:ib,setConversation:Va,setConversations:nb,updateConversation:za,updateConversations:ab,deleteConversation:cb,deleteConversations:rb}=os.actions,hs=t=>t.agentsReducer.instances,db=l.createSelector([hs],t=>Object.values(t)),ub=y(l.createSelector([hs,(t,s)=>s],(t,s)=>t[s])),Da=os.reducer,H=P(t=>t.uuid),ja={instances:{}},ps=l.createSlice({name:"assetAttachments",initialState:ja,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ja)),reducers:{initializeAssetAttachments:H.initialize,addAssetAttachment:H.addOne,addAssetAttachments:H.addMany,setAssetAttachment:H.setOne,setAssetAttachments:H.setMany,updateAssetAttachment:H.updateOne,updateAssetAttachments:H.updateMany,deleteAssetAttachment:H.deleteOne,deleteAssetAttachments:H.deleteMany}}),{initializeAssetAttachments:qa,addAssetAttachment:Ca,addAssetAttachments:ms,setAssetAttachment:$a,setAssetAttachments:Ua,updateAssetAttachment:La,updateAssetAttachments:ka,deleteAssetAttachment:Na,deleteAssetAttachments:ys}=ps.actions,Ga=t=>t.assetAttachmentReducer.instances,fs=l.createSelector([Ga],t=>Object.values(t)),Ha=t=>s=>s.assetAttachmentReducer.instances[t],Wa=y(l.createSelector([fs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ka=y(l.createSelector([fs,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>s===e)))),Ya=ps.reducer,W=P(t=>t.uuid),Za={instances:{}},Ss=l.createSlice({name:"assetComments",initialState:Za,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Za)),reducers:{initializeAssetComments:W.initialize,addAssetComment:W.addOne,addAssetComments:W.addMany,setAssetComment:W.setOne,setAssetComments:W.setMany,updateAssetComment:W.updateOne,updateAssetComments:W.updateMany,deleteAssetComment:W.deleteOne,deleteAssetComments:W.deleteMany}}),{initializeAssetComments:Ja,addAssetComment:Xa,addAssetComments:Dt,setAssetComment:Qa,setAssetComments:xa,updateAssetComment:ec,updateAssetComments:tc,deleteAssetComment:sc,deleteAssetComments:jt}=Ss.actions,ic=t=>t.assetCommentReducer.instances,qt=l.createSelector([ic],t=>S(Object.values(t).toSorted(bt))),nc=t=>s=>s.assetCommentReducer.instances[t],ac=y(l.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),cc=y(l.createSelector([qt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),rc=y(l.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.asset)))})),dc=Ss.reducer,K=P(t=>t.uuid),uc={instances:{}},As=l.createSlice({name:"assets",initialState:uc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,uc)),reducers:{initializeAssets:K.initialize,addAsset:K.addOne,addAssets:K.addMany,setAsset:K.setOne,setAssets:K.setMany,updateAsset:K.updateOne,updateAssets:K.updateMany,deleteAsset:K.deleteOne,deleteAssets:K.deleteMany}}),{initializeAssets:lc,addAsset:oc,addAssets:Is,updateAsset:hc,updateAssets:pc,deleteAsset:mc,deleteAssets:Ts,setAsset:yc,setAssets:fc}=As.actions,Sc=t=>t.assetReducer.instances,Ct=l.createSelector([Sc],t=>S(Object.values(t))),lb=y(l.createSelector([Ct,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>e===s)))),Ac=y(l.createSelector([Ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Ic=t=>s=>s.assetReducer.instances[t],Tc=y(l.createSelector([Ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Oc=As.reducer,Y=P(t=>t.uuid),Pc={instances:{}},Os=l.createSlice({name:"assetTypeAttachments",initialState:Pc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Pc)),reducers:{initializeAssetTypeAttachments:Y.initialize,addAssetTypeAttachment:Y.addOne,addAssetTypeAttachments:Y.addMany,setAssetTypeAttachment:Y.setOne,setAssetTypeAttachments:Y.setMany,updateAssetTypeAttachment:Y.updateOne,updateAssetTypeAttachments:Y.updateMany,deleteAssetTypeAttachment:Y.deleteOne,deleteAssetTypeAttachments:Y.deleteMany}}),{initializeAssetTypeAttachments:Fc,addAssetTypeAttachment:bc,addAssetTypeAttachments:Ps,setAssetTypeAttachment:_c,setAssetTypeAttachments:gc,updateAssetTypeAttachment:Mc,updateAssetTypeAttachments:Rc,deleteAssetTypeAttachment:wc,deleteAssetTypeAttachments:Fs}=Os.actions,vc=t=>t.assetTypeAttachmentReducer.instances,bs=l.createSelector([vc],t=>Object.values(t)),Ec=t=>s=>s.assetTypeAttachmentReducer.instances[t],Bc=y(l.createSelector([bs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Vc=y(l.createSelector([bs,(t,s)=>s],(t,s)=>S(t.filter(({asset_type:e})=>s===e)))),zc=Os.reducer,Z=P(t=>t.uuid),Dc={instances:{}},_s=l.createSlice({name:"assetTypeFieldsAttachments",initialState:Dc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Dc)),reducers:{initializeAssetTypeFieldsAttachments:Z.initialize,addAssetTypeFieldsAttachment:Z.addOne,addAssetTypeFieldsAttachments:Z.addMany,setAssetTypeFieldsAttachment:Z.setOne,setAssetTypeFieldsAttachments:Z.setMany,updateAssetTypeFieldsAttachment:Z.updateOne,updateAssetTypeFieldsAttachments:Z.updateMany,deleteAssetTypeFieldsAttachment:Z.deleteOne,deleteAssetTypeFieldsAttachments:Z.deleteMany}}),{initializeAssetTypeFieldsAttachments:jc,addAssetTypeFieldsAttachment:qc,addAssetTypeFieldsAttachments:Cc,setAssetTypeFieldsAttachment:$c,setAssetTypeFieldsAttachments:Uc,updateAssetTypeFieldsAttachment:Lc,updateAssetTypeFieldsAttachments:kc,deleteAssetTypeFieldsAttachment:Nc,deleteAssetTypeFieldsAttachments:Gc}=_s.actions,Hc=t=>t.assetTypeFieldsAttachmentReducer.instances,gs=l.createSelector([Hc],t=>Object.values(t)),ob=y(l.createSelector([gs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),Wc=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],Kc=y(l.createSelector([gs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Yc=_s.reducer,J=P(t=>t.uuid),Zc={instances:{}},Ms=l.createSlice({name:"assetTypeFields",initialState:Zc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Zc)),reducers:{initializeAssetTypeFields:J.initialize,addAssetTypeFields:J.addOne,addAssetTypeFieldsMany:J.addMany,setAssetTypeFields:J.setOne,setAssetTypeFieldsMany:J.setMany,updateAssetTypeFields:J.updateOne,updateAssetTypeFieldsMany:J.updateMany,deleteAssetTypeFields:J.deleteOne,deleteAssetTypeFieldsMany:J.deleteMany}}),{initializeAssetTypeFields:Jc,addAssetTypeFields:Xc,addAssetTypeFieldsMany:Qc,setAssetTypeFields:xc,setAssetTypeFieldsMany:er,updateAssetTypeFields:tr,updateAssetTypeFieldsMany:sr,deleteAssetTypeFields:ir,deleteAssetTypeFieldsMany:nr}=Ms.actions,ar=t=>t.assetTypeFieldsReducer.instances,_t=l.createSelector([ar],t=>Object.values(t)),hb=y(l.createSelector([_t,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),pb=y(l.createSelector([_t,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).toSorted(bt).pop())),cr=t=>s=>s.assetTypeFieldsReducer.instances[t],rr=y(l.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),dr=Ms.reducer,X=P(t=>t.uuid),ur={instances:{}},Rs=l.createSlice({name:"assetTypeFieldValuesAttachments",initialState:ur,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ur)),reducers:{initializeAssetTypeFieldValuesAttachments:X.initialize,addAssetTypeFieldValuesAttachment:X.addOne,addAssetTypeFieldValuesAttachments:X.addMany,setAssetTypeFieldValuesAttachment:X.setOne,setAssetTypeFieldValuesAttachments:X.setMany,updateAssetTypeFieldValuesAttachment:X.updateOne,updateAssetTypeFieldValuesAttachments:X.updateMany,deleteAssetTypeFieldValuesAttachment:X.deleteOne,deleteAssetTypeFieldValuesAttachments:X.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:lr,addAssetTypeFieldValuesAttachment:or,addAssetTypeFieldValuesAttachments:ws,setAssetTypeFieldValuesAttachment:hr,setAssetTypeFieldValuesAttachments:pr,updateAssetTypeFieldValuesAttachment:mr,updateAssetTypeFieldValuesAttachments:yr,deleteAssetTypeFieldValuesAttachment:fr,deleteAssetTypeFieldValuesAttachments:vs}=Rs.actions,Sr=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Es=l.createSelector([Sr],t=>Object.values(t)),Ar=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],Ir=y(l.createSelector([Es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Tr=y(l.createSelector([Es,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),Or=Rs.reducer,Q=P(t=>t.uuid),Pr={instances:{}},Bs=l.createSlice({name:"assetTypeFieldValues",initialState:Pr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Pr)),reducers:{initializeAssetTypeFieldValues:Q.initialize,addAssetTypeFieldValues:Q.addOne,addAssetTypeFieldValuesMany:Q.addMany,setAssetTypeFieldValues:Q.setOne,setAssetTypeFieldValuesMany:Q.setMany,updateAssetTypeFieldValues:Q.updateOne,updateAssetTypeFieldValuesMany:Q.updateMany,deleteAssetTypeFieldValues:Q.deleteOne,deleteAssetTypeFieldValuesMany:Q.deleteMany}}),{initializeAssetTypeFieldValues:Fr,addAssetTypeFieldValues:br,addAssetTypeFieldValuesMany:_r,setAssetTypeFieldValues:gr,setAssetTypeFieldValuesMany:Mr,updateAssetTypeFieldValues:Rr,updateAssetTypeFieldValuesMany:wr,deleteAssetTypeFieldValues:vr,deleteAssetTypeFieldValuesMany:Er}=Bs.actions,Br=t=>t.assetTypeFieldValuesReducer.instances,$t=l.createSelector([Br],t=>Object.values(t)),mb=y(l.createSelector([$t,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),yb=y(l.createSelector([_t,$t,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.asset_type===e).map(a=>a.uuid));return S(s.filter(a=>n.has(a.fields_revision)))})),Vr=t=>s=>s.assetTypeFieldValuesReducer.instances[t],zr=y(l.createSelector([$t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Dr=Bs.reducer,x=P(t=>t.uuid),jr={instances:{}},Vs=l.createSlice({name:"assetTypeIdentifiers",initialState:jr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,jr)),reducers:{initializeAssetTypeIdentifiers:x.initialize,addAssetTypeIdentifier:x.addOne,addAssetTypeIdentifiers:x.addMany,setAssetTypeIdentifier:x.setOne,setAssetTypeIdentifiers:x.setMany,updateAssetTypeIdentifier:x.updateOne,updateAssetTypeIdentifiers:x.updateMany,deleteAssetTypeIdentifier:x.deleteOne,deleteAssetTypeIdentifiers:x.deleteMany}}),{initializeAssetTypeIdentifiers:qr,addAssetTypeIdentifier:Cr,addAssetTypeIdentifiers:$r,setAssetTypeIdentifier:Ur,setAssetTypeIdentifiers:Lr,updateAssetTypeIdentifier:kr,updateAssetTypeIdentifiers:Nr,deleteAssetTypeIdentifier:Gr,deleteAssetTypeIdentifiers:Hr}=Vs.actions,Wr=t=>t.assetTypeIdentifierReducer.instances,zs=l.createSelector([Wr],t=>Object.values(t)),Kr=t=>s=>s.assetTypeIdentifierReducer.instances[t],Yr=y(l.createSelector([zs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),fb=y(l.createSelector([zs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Zr=Vs.reducer,ee=P(t=>t.uuid),Jr={instances:{}},Ds=l.createSlice({name:"assetTypeIdentifierValues",initialState:Jr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Jr)),reducers:{initializeAssetTypeIdentifierValues:ee.initialize,addAssetTypeIdentifierValue:ee.addOne,addAssetTypeIdentifierValues:ee.addMany,setAssetTypeIdentifierValue:ee.setOne,setAssetTypeIdentifierValues:ee.setMany,updateAssetTypeIdentifierValue:ee.updateOne,updateAssetTypeIdentifierValues:ee.updateMany,deleteAssetTypeIdentifierValue:ee.deleteOne,deleteAssetTypeIdentifierValues:ee.deleteMany}}),{initializeAssetTypeIdentifierValues:Xr,addAssetTypeIdentifierValue:Qr,addAssetTypeIdentifierValues:xr,setAssetTypeIdentifierValue:ed,setAssetTypeIdentifierValues:td,updateAssetTypeIdentifierValue:sd,updateAssetTypeIdentifierValues:id,deleteAssetTypeIdentifierValue:nd,deleteAssetTypeIdentifierValues:ad}=Ds.actions,cd=t=>t.assetTypeIdentifierValueReducer.instances,Ut=l.createSelector([cd],t=>Object.values(t)),rd=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],dd=y(l.createSelector([Ut,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Sb=y(l.createSelector([Ut,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),Ab=y(l.createSelector([Ut,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type_identifier===s)))),ud=Ds.reducer,te=P(t=>t.uuid),ld={instances:{}},js=l.createSlice({name:"assetTypes",initialState:ld,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,ld)),reducers:{initializeAssetTypes:te.initialize,setAssetType:te.setOne,setAssetTypes:te.setMany,addAssetType:te.addOne,addAssetTypes:te.addMany,updateAssetType:te.updateOne,updateAssetTypes:te.updateMany,deleteAssetType:te.deleteOne,deleteAssetTypes:te.deleteMany}}),{initializeAssetTypes:od,setAssetType:hd,setAssetTypes:pd,addAssetType:md,addAssetTypes:yd,updateAssetType:fd,updateAssetTypes:Sd,deleteAssetType:Ad,deleteAssetTypes:Id}=js.actions,Td=t=>t.assetTypeReducer.instances,qs=l.createSelector([Td],t=>Object.values(t)),Od=t=>s=>s.assetTypeReducer.instances[t],Pd=y(l.createSelector([qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ib=y(l.createSelector([qs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Fd=js.reducer,se=P(t=>t.uuid),bd={instances:{}},Cs=l.createSlice({name:"assetTypeStatuses",initialState:bd,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,bd)),reducers:{initializeAssetTypeStatuses:se.initialize,addAssetTypeStatus:se.addOne,addAssetTypeStatuses:se.addMany,setAssetTypeStatus:se.setOne,setAssetTypeStatuses:se.setMany,updateAssetTypeStatus:se.updateOne,updateAssetTypeStatuses:se.updateMany,deleteAssetTypeStatus:se.deleteOne,deleteAssetTypeStatuses:se.deleteMany}}),{initializeAssetTypeStatuses:_d,addAssetTypeStatus:gd,addAssetTypeStatuses:Md,setAssetTypeStatus:Rd,setAssetTypeStatuses:wd,updateAssetTypeStatus:vd,updateAssetTypeStatuses:Ed,deleteAssetTypeStatus:Bd,deleteAssetTypeStatuses:Vd}=Cs.actions,zd=t=>t.assetTypeStatusReducer.instances,$s=l.createSelector([zd],t=>S(Object.values(t).toSorted(ga))),Dd=t=>s=>s.assetTypeStatusReducer.instances[t],jd=y(l.createSelector([$s,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Tb=y(l.createSelector([$s,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),qd=Cs.reducer,Cd={accessToken:"",refreshToken:"",isLoggedIn:!1},Lt=l.createSlice({name:"auth",initialState:Cd,extraReducers:t=>t.addCase(T,s=>Object.assign(s,Cd)),reducers:{setTokens:(t,s)=>{t.accessToken=s.payload.accessToken,t.refreshToken=s.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,s)=>{s.payload||Lt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:Ob,clearTokens:Pb,setLoggedIn:$d}=Lt.actions,Fb=t=>t.authReducer.accessToken,bb=t=>t.authReducer.isLoggedIn,Ud=Lt.reducer,ie=P(t=>t.uuid),Ld={instances:{}},Us=l.createSlice({name:"documentAttachments",initialState:Ld,extraReducers:t=>t.addCase(T,s=>Object.assign(s,Ld)),reducers:{initializeDocumentAttachments:ie.initialize,addDocumentAttachment:ie.addOne,addDocumentAttachments:ie.addMany,setDocumentAttachment:ie.setOne,setDocumentAttachments:ie.setMany,updateDocumentAttachment:ie.updateOne,updateDocumentAttachments:ie.updateMany,deleteDocumentAttachment:ie.deleteOne,deleteDocumentAttachments:ie.deleteMany}}),{initializeDocumentAttachments:kd,addDocumentAttachment:Nd,addDocumentAttachments:Gd,setDocumentAttachment:Hd,setDocumentAttachments:Wd,updateDocumentAttachment:Kd,updateDocumentAttachments:Yd,deleteDocumentAttachment:Zd,deleteDocumentAttachments:Jd}=Us.actions,Xd=t=>t.documentAttachmentReducer.instances,Ls=l.createSelector([Xd],t=>Object.values(t)),Qd=t=>s=>s.documentAttachmentReducer.instances[t],xd=y(l.createSelector([Ls,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),_b=y(l.createSelector([Ls,(t,s)=>s],(t,s)=>S(t.filter(({document:e})=>s===e)))),eu=Us.reducer,ne=P(({uuid:t})=>t),tu={instances:{}},ks=l.createSlice({name:"documents",initialState:tu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>{Object.assign(s,tu)}),reducers:{initializeDocuments:ne.initialize,addDocument:ne.addOne,addDocuments:ne.addMany,setDocument:ne.setOne,setDocuments:ne.setMany,updateDocument:ne.updateOne,updateDocuments:ne.updateMany,deleteDocument:ne.deleteOne,deleteDocuments:ne.deleteMany}}),{initializeDocuments:su,addDocument:iu,addDocuments:nu,setDocument:au,setDocuments:cu,updateDocument:ru,updateDocuments:du,deleteDocument:uu,deleteDocuments:lu}=ks.actions,ou=ks.reducer,Ns=t=>t.documentsReducer.instances,kt=l.createSelector([Ns],t=>Object.values(t)),hu=t=>s=>s.documentsReducer.instances[t],pu=y(l.createSelector([kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),gb=y(l.createSelector([kt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Mb=y(l.createSelector([kt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),mu=y(l.createSelector([Ns,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const a=wa(s,Object.values(t)).all().map(({model:r})=>r);return S(a)})),ae=P(t=>t.uuid),yu={instances:{}},Gs=l.createSlice({name:"emailDomains",initialState:yu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,yu)),reducers:{initializeEmailDomains:ae.initialize,addEmailDomain:ae.addOne,addEmailDomains:ae.addMany,setEmailDomain:ae.setOne,setEmailDomains:ae.setMany,updateEmailDomain:ae.updateOne,updateEmailDomains:ae.updateMany,deleteEmailDomain:ae.deleteOne,deleteEmailDomains:ae.deleteMany}}),{initializeEmailDomains:fu,addEmailDomain:Su,addEmailDomains:Au,setEmailDomain:Iu,setEmailDomains:Tu,updateEmailDomain:Ou,updateEmailDomains:Pu,deleteEmailDomain:Fu,deleteEmailDomains:bu}=Gs.actions,_u=t=>t.emailDomainsReducer.instances,Hs=l.createSelector([_u],t=>Object.values(t)),gu=t=>s=>s.emailDomainsReducer.instances[t],Mu=y(l.createSelector([Hs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Rb=y(l.createSelector([Hs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Ru=Gs.reducer,wu={s3Urls:{}},vu=1e3*60*60,wb=vu*24*7,Ws=l.createSlice({name:"file",initialState:wu,extraReducers:t=>t.addCase(T,s=>Object.assign(s,wu)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,r=new Date,c=new Date(r.getTime()+wb);t.s3Urls[a]={url:e,fields:n,exp:c.getTime()}}}}),{setUploadUrl:vb}=Ws.actions,Eb=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<vu))return e},Eu=Ws.reducer,ce=P(t=>t.uuid),Bu={instances:{}},Ks=l.createSlice({name:"formIdentifiers",initialState:Bu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Bu)),reducers:{initializeFormIdentifiers:ce.initialize,addFormIdentifier:ce.addOne,addFormIdentifiers:ce.addMany,setFormIdentifier:ce.setOne,setFormIdentifiers:ce.setMany,updateFormIdentifier:ce.updateOne,updateFormIdentifiers:ce.updateMany,deleteFormIdentifier:ce.deleteOne,deleteFormIdentifiers:ce.deleteMany}}),{initializeFormIdentifiers:Vu,addFormIdentifier:zu,addFormIdentifiers:Du,setFormIdentifier:ju,setFormIdentifiers:qu,updateFormIdentifier:Cu,updateFormIdentifiers:$u,deleteFormIdentifier:Uu,deleteFormIdentifiers:Lu}=Ks.actions,ku=t=>t.formIdentifierReducer.instances,Ys=l.createSelector([ku],t=>Object.values(t)),Nu=t=>s=>s.formIdentifierReducer.instances[t],Gu=y(l.createSelector([Ys,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Bb=y(l.createSelector([Ys,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),Hu=Ks.reducer,re=P(t=>t.uuid),Wu={instances:{}},Zs=l.createSlice({name:"formIdentifierValues",initialState:Wu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Wu)),reducers:{initializeFormIdentifierValues:re.initialize,addFormIdentifierValue:re.addOne,addFormIdentifierValues:re.addMany,setFormIdentifierValue:re.setOne,setFormIdentifierValues:re.setMany,updateFormIdentifierValue:re.updateOne,updateFormIdentifierValues:re.updateMany,deleteFormIdentifierValue:re.deleteOne,deleteFormIdentifierValues:re.deleteMany}}),{initializeFormIdentifierValues:Ku,addFormIdentifierValue:Yu,addFormIdentifierValues:Zu,setFormIdentifierValue:Ju,setFormIdentifierValues:Xu,updateFormIdentifierValue:Qu,updateFormIdentifierValues:xu,deleteFormIdentifierValue:el,deleteFormIdentifierValues:tl}=Zs.actions,sl=t=>t.formIdentifierValueReducer.instances,Nt=l.createSelector([sl],t=>Object.values(t)),il=t=>s=>s.formIdentifierValueReducer.instances[t],nl=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Vb=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),zb=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_identifier===s)))),al=Zs.reducer,de=P(t=>t.uuid),cl={instances:{}},Js=l.createSlice({name:"formRevisionAttachments",initialState:cl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,cl)),reducers:{initializeFormRevisionAttachments:de.initialize,addFormRevisionAttachment:de.addOne,addFormRevisionAttachments:de.addMany,setFormRevisionAttachment:de.setOne,setFormRevisionAttachments:de.setMany,updateFormRevisionAttachment:de.updateOne,updateFormRevisionAttachments:de.updateMany,deleteFormRevisionAttachment:de.deleteOne,deleteFormRevisionAttachments:de.deleteMany}}),{initializeFormRevisionAttachments:rl,addFormRevisionAttachment:dl,addFormRevisionAttachments:ul,setFormRevisionAttachment:ll,setFormRevisionAttachments:ol,updateFormRevisionAttachment:hl,updateFormRevisionAttachments:pl,deleteFormRevisionAttachment:ml,deleteFormRevisionAttachments:yl}=Js.actions,Gt=t=>t.formRevisionAttachmentReducer.instances,fl=l.createSelector([Gt],t=>Object.values(t)),Sl=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>t[s])),Al=y(l.createSelector([fl,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Db=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.form_revision===s)))),Il=Js.reducer,ue=P(t=>t.uuid),Tl={instances:{}},Xs=l.createSlice({name:"formRevisions",initialState:Tl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Tl)),reducers:{initializeFormRevisions:ue.initialize,addFormRevision:ue.addOne,addFormRevisions:ue.addMany,setFormRevision:ue.setOne,setFormRevisions:ue.setMany,updateFormRevision:ue.updateOne,updateFormRevisions:ue.updateMany,deleteFormRevision:ue.deleteOne,deleteFormRevisions:ue.deleteMany}}),{initializeFormRevisions:Ol,addFormRevision:Pl,addFormRevisions:Qs,setFormRevision:Fl,setFormRevisions:bl,updateFormRevision:_l,updateFormRevisions:gl,deleteFormRevision:Ml,deleteFormRevisions:xs}=Xs.actions,Rl=t=>t.formRevisionReducer.instances,Ht=l.createSelector([Rl],t=>Object.values(t)),wl=t=>s=>s.formRevisionReducer.instances[t],vl=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),jb=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).toSorted(bt).pop())),El=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),Bl=Xs.reducer,le=P(t=>t.uuid),Vl={instances:{}},ei=l.createSlice({name:"forms",initialState:Vl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Vl)),reducers:{initializeForms:le.initialize,addForm:le.addOne,addForms:le.addMany,setForm:le.setOne,setForms:le.setMany,updateForm:le.updateOne,updateForms:le.updateMany,deleteForm:le.deleteOne,deleteForms:le.deleteMany}}),{initializeForms:zl,addForm:Dl,addForms:jl,setForm:ql,setForms:Cl,updateForm:$l,updateForms:Ul,deleteForm:Ll,deleteForms:kl}=ei.actions,Nl=ei.reducer,Gl=t=>t.formReducer.instances,ti=l.createSelector([Gl],t=>Object.values(t)),Hl=t=>s=>s.formReducer.instances[t],Wl=y(l.createSelector([ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),qb=y(l.createSelector([ti,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),oe=P(t=>t.uuid),Kl={instances:{}},si=l.createSlice({name:"formSubmissionAttachments",initialState:Kl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Kl)),reducers:{initializeFormSubmissionAttachments:oe.initialize,addFormSubmissionAttachment:oe.addOne,addFormSubmissionAttachments:oe.addMany,setFormSubmissionAttachment:oe.setOne,setFormSubmissionAttachments:oe.setMany,updateFormSubmissionAttachment:oe.updateOne,updateFormSubmissionAttachments:oe.updateMany,deleteFormSubmissionAttachment:oe.deleteOne,deleteFormSubmissionAttachments:oe.deleteMany}}),{initializeFormSubmissionAttachments:Yl,addFormSubmissionAttachment:Zl,addFormSubmissionAttachments:ii,setFormSubmissionAttachment:Jl,setFormSubmissionAttachments:Xl,updateFormSubmissionAttachment:Ql,updateFormSubmissionAttachments:xl,deleteFormSubmissionAttachment:eo,deleteFormSubmissionAttachments:ni}=si.actions,ai=t=>t.formSubmissionAttachmentReducer.instances,ci=l.createSelector([ai],t=>Object.values(t)),to=y(l.createSelector([ai,(t,s)=>s],(t,s)=>t[s])),ri=y(l.createSelector([ci,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.uuid)))})),so=ri,io=y(l.createSelector([ci,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),no=si.reducer,he=P(t=>t.uuid),ao={instances:{}},di=l.createSlice({name:"formSubmissions",initialState:ao,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,ao)),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:co,setFormSubmission:ro,setFormSubmissions:uo,addFormSubmission:lo,addFormSubmissions:ui,updateFormSubmission:oo,updateFormSubmissions:ho,deleteFormSubmission:po,deleteFormSubmissions:li}=di.actions,mo=t=>t.formSubmissionReducer.instances,oi=l.createSelector([mo],t=>Object.values(t)),yo=t=>s=>s.formSubmissionReducer.instances[t],fo=y(l.createSelector([oi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),So=y(l.createSelector([oi,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s))),Ao=di.reducer,pe=P(t=>t.uuid),Io={instances:{}},hi=l.createSlice({name:"geoImages",initialState:Io,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Io)),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:To,setGeoImage:Oo,setGeoImages:Po,addGeoImage:Fo,addGeoImages:bo,updateGeoImage:_o,updateGeoImages:go,deleteGeoImage:Mo,deleteGeoImages:Ro}=hi.actions,wo=t=>t.geoImageReducer.instances,pi=l.createSelector([wo],t=>Object.values(t)),vo=t=>s=>s.geoImageReducer.instances[t],Eo=y(l.createSelector([pi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Cb=y(l.createSelector([pi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),Bo=hi.reducer,me=P(t=>t.uuid),Vo={instances:{}},mi=l.createSlice({name:"issueAssociations",initialState:Vo,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Vo)),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:zo,setIssueAssociations:Do,setIssueAssociation:jo,updateIssueAssociation:qo,updateIssueAssociations:Co,addIssueAssociation:$o,addIssueAssociations:pt,deleteIssueAssociation:Uo,deleteIssueAssociations:mt}=mi.actions,Lo=t=>t.issueAssociationReducer.instances,yt=l.createSelector([Lo],t=>Object.values(t)),ko=t=>s=>s.issueAssociationReducer.instances[t],No=y(l.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Go=y(l.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({issue:n})=>e.has(n)))})),Ho=y(l.createSelector([yt,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>e===s)))),Wo=y(l.createSelector([yt,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>e===s)))),Ko=y(l.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>e.has(n)))})),Yo=mi.reducer,ye=P(t=>t.uuid),Zo={instances:{}},yi=l.createSlice({name:"issueAttachments",initialState:Zo,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Zo)),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:Jo,addIssueAttachment:Xo,addIssueAttachments:fi,setIssueAttachment:Qo,setIssueAttachments:xo,updateIssueAttachment:eh,updateIssueAttachments:th,deleteIssueAttachment:sh,deleteIssueAttachments:Si}=yi.actions,ih=t=>t.issueAttachmentReducer.instances,Ai=l.createSelector([ih],t=>Object.values(t)),nh=y(l.createSelector([Ai,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>s===e)))),ah=t=>s=>s.issueAttachmentReducer.instances[t],ch=y(l.createSelector([Ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rh=yi.reducer,fe=P(t=>t.uuid),dh={instances:{}},Ii=l.createSlice({name:"issueCommentAttachments",initialState:dh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,dh)),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:uh,addIssueCommentAttachment:lh,addIssueCommentAttachments:oh,setIssueCommentAttachment:hh,setIssueCommentAttachments:ph,updateIssueCommentAttachment:mh,updateIssueCommentAttachments:yh,deleteIssueCommentAttachment:fh,deleteIssueCommentAttachments:Sh}=Ii.actions,Ah=t=>t.issueCommentAttachmentReducer.instances,Ti=l.createSelector([Ah],t=>Object.values(t)),Ih=t=>s=>s.issueCommentAttachmentReducer.instances[t],Th=y(l.createSelector([Ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),$b=y(l.createSelector([Ti,(t,s)=>s],(t,s)=>S(t.filter(({issue_comment:e})=>s===e)))),Oh=Ii.reducer,Se=P(t=>t.uuid),Ph={instances:{}},Oi=l.createSlice({name:"issueComments",initialState:Ph,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Ph)),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:Fh,addIssueComment:bh,addIssueComments:_h,setIssueComment:gh,setIssueComments:Mh,updateIssueComment:Rh,updateIssueComments:wh,deleteIssueComment:vh,deleteIssueComments:Eh}=Oi.actions,Pi=t=>t.issueCommentReducer.instances,Bh=t=>s=>s.issueCommentReducer.instances[t],Vh=y(l.createSelector([Pi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),Ub=y(l.createSelector([Pi,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.issue===s)))),zh=Oi.reducer,Ae=P(t=>t.uuid),Dh={instances:{}},Fi=l.createSlice({name:"issues",initialState:Dh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Dh)),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:jh,addIssue:qh,addIssues:bi,setIssue:Ch,setIssues:$h,updateIssue:Uh,updateIssues:Lh,deleteIssue:kh,deleteIssues:_i}=Fi.actions,Nh=t=>t.issueReducer.instances,Wt=l.createSelector([Nh],t=>Object.values(t)),Gh=t=>s=>s.issueReducer.instances[t],Hh=y(l.createSelector([Wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Lb=y(l.createSelector([Wt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Wh=y(l.createSelector([Wt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),Kh=Fi.reducer,Ie=P(t=>t.uuid),Yh={instances:{}},gi=l.createSlice({name:"issueTypeAttachments",initialState:Yh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Yh)),reducers:{initializeIssueTypeAttachments:Ie.initialize,addIssueTypeAttachment:Ie.addOne,addIssueTypeAttachments:Ie.addMany,setIssueTypeAttachment:Ie.setOne,setIssueTypeAttachments:Ie.setMany,updateIssueTypeAttachment:Ie.updateOne,updateIssueTypeAttachments:Ie.updateMany,deleteIssueTypeAttachment:Ie.deleteOne,deleteIssueTypeAttachments:Ie.deleteMany}}),{initializeIssueTypeAttachments:Zh,addIssueTypeAttachment:Jh,addIssueTypeAttachments:Xh,setIssueTypeAttachment:Qh,setIssueTypeAttachments:xh,updateIssueTypeAttachment:ep,updateIssueTypeAttachments:tp,deleteIssueTypeAttachment:sp,deleteIssueTypeAttachments:ip}=gi.actions,np=t=>t.issueTypeAttachmentReducer.instances,Mi=l.createSelector([np],t=>Object.values(t)),ap=t=>s=>s.issueTypeAttachmentReducer.instances[t],cp=y(l.createSelector([Mi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),kb=y(l.createSelector([Mi,(t,s)=>s],(t,s)=>S(t.filter(({issue_type:e})=>s===e)))),rp=gi.reducer,Te=P(t=>t.uuid),dp={instances:{}},Ri=l.createSlice({name:"issueTypeFieldsAttachments",initialState:dp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,dp)),reducers:{initializeIssueTypeFieldsAttachments:Te.initialize,addIssueTypeFieldsAttachment:Te.addOne,addIssueTypeFieldsAttachments:Te.addMany,setIssueTypeFieldsAttachment:Te.setOne,setIssueTypeFieldsAttachments:Te.setMany,updateIssueTypeFieldsAttachment:Te.updateOne,updateIssueTypeFieldsAttachments:Te.updateMany,deleteIssueTypeFieldsAttachment:Te.deleteOne,deleteIssueTypeFieldsAttachments:Te.deleteMany}}),{initializeIssueTypeFieldsAttachments:up,addIssueTypeFieldsAttachment:lp,addIssueTypeFieldsAttachments:op,setIssueTypeFieldsAttachment:hp,setIssueTypeFieldsAttachments:pp,updateIssueTypeFieldsAttachment:mp,updateIssueTypeFieldsAttachments:yp,deleteIssueTypeFieldsAttachment:fp,deleteIssueTypeFieldsAttachments:Sp}=Ri.actions,Ap=t=>t.issueTypeFieldsAttachmentReducer.instances,wi=l.createSelector([Ap],t=>Object.values(t)),Nb=y(l.createSelector([wi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),Ip=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],Tp=y(l.createSelector([wi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Op=Ri.reducer,Oe=P(t=>t.uuid),Pp={instances:{}},vi=l.createSlice({name:"issueTypeFieldValues",initialState:Pp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Pp)),reducers:{initializeIssueTypeFieldValues:Oe.initialize,addIssueTypeFieldValues:Oe.addOne,addIssueTypeFieldValuesMany:Oe.addMany,setIssueTypeFieldValues:Oe.setOne,setIssueTypeFieldValuesMany:Oe.setMany,updateIssueTypeFieldValues:Oe.updateOne,updateIssueTypeFieldValuesMany:Oe.updateMany,deleteIssueTypeFieldValues:Oe.deleteOne,deleteIssueTypeFieldValuesMany:Oe.deleteMany}}),{initializeIssueTypeFieldValues:Fp,addIssueTypeFieldValues:bp,addIssueTypeFieldValuesMany:_p,setIssueTypeFieldValues:gp,setIssueTypeFieldValuesMany:Mp,updateIssueTypeFieldValues:Rp,updateIssueTypeFieldValuesMany:wp,deleteIssueTypeFieldValues:vp,deleteIssueTypeFieldValuesMany:Ep}=vi.actions,Bp=t=>t.issueTypeFieldValuesReducer.instances,Kt=l.createSelector([Bp],t=>Object.values(t)),Gb=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),Vp=t=>s=>s.issueTypeFieldValuesReducer.instances[t],zp=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Dp=vi.reducer,Pe=P(t=>t.uuid),jp={instances:{}},Ei=l.createSlice({name:"issueTypeFields",initialState:jp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,jp)),reducers:{initializeIssueTypeFields:Pe.initialize,addIssueTypeFields:Pe.addOne,addIssueTypeFieldsMany:Pe.addMany,setIssueTypeFields:Pe.setOne,setIssueTypeFieldsMany:Pe.setMany,updateIssueTypeFields:Pe.updateOne,updateIssueTypeFieldsMany:Pe.updateMany,deleteIssueTypeFields:Pe.deleteOne,deleteIssueTypeFieldsMany:Pe.deleteMany}}),{initializeIssueTypeFields:qp,addIssueTypeFields:Cp,addIssueTypeFieldsMany:$p,setIssueTypeFields:Up,setIssueTypeFieldsMany:Lp,updateIssueTypeFields:kp,updateIssueTypeFieldsMany:Np,deleteIssueTypeFields:Gp,deleteIssueTypeFieldsMany:Hp}=Ei.actions,Wp=t=>t.issueTypeFieldsReducer.instances,gt=l.createSelector([Wp],t=>Object.values(t)),Hb=y(l.createSelector([gt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),Wb=y(l.createSelector([gt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Kb=y(l.createSelector([gt,Kt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.issue_type===e).map(a=>a.uuid));return S(s.filter(a=>n.has(a.fields_revision)))})),Kp=t=>s=>s.issueTypeFieldsReducer.instances[t],Yp=y(l.createSelector([gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Zp=Ei.reducer,Fe=P(t=>t.uuid),Jp={instances:{}},Bi=l.createSlice({name:"issueTypeFieldValuesAttachments",initialState:Jp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Jp)),reducers:{initializeIssueTypeFieldValuesAttachments:Fe.initialize,addIssueTypeFieldValuesAttachment:Fe.addOne,addIssueTypeFieldValuesAttachments:Fe.addMany,setIssueTypeFieldValuesAttachment:Fe.setOne,setIssueTypeFieldValuesAttachments:Fe.setMany,updateIssueTypeFieldValuesAttachment:Fe.updateOne,updateIssueTypeFieldValuesAttachments:Fe.updateMany,deleteIssueTypeFieldValuesAttachment:Fe.deleteOne,deleteIssueTypeFieldValuesAttachments:Fe.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:Xp,addIssueTypeFieldValuesAttachment:Qp,addIssueTypeFieldValuesAttachments:Vi,setIssueTypeFieldValuesAttachment:xp,setIssueTypeFieldValuesAttachments:em,updateIssueTypeFieldValuesAttachment:tm,updateIssueTypeFieldValuesAttachments:sm,deleteIssueTypeFieldValuesAttachment:im,deleteIssueTypeFieldValuesAttachments:zi}=Bi.actions,nm=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Di=l.createSelector([nm],t=>Object.values(t)),am=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],cm=y(l.createSelector([Di,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rm=y(l.createSelector([Di,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),dm=Bi.reducer,be=P(t=>t.uuid),um={instances:{}},ji=l.createSlice({name:"issueTypeIdentifiers",initialState:um,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,um)),reducers:{initializeIssueTypeIdentifiers:be.initialize,addIssueTypeIdentifier:be.addOne,addIssueTypeIdentifiers:be.addMany,setIssueTypeIdentifier:be.setOne,setIssueTypeIdentifiers:be.setMany,updateIssueTypeIdentifier:be.updateOne,updateIssueTypeIdentifiers:be.updateMany,deleteIssueTypeIdentifier:be.deleteOne,deleteIssueTypeIdentifiers:be.deleteMany}}),{initializeIssueTypeIdentifiers:lm,addIssueTypeIdentifier:om,addIssueTypeIdentifiers:hm,setIssueTypeIdentifier:pm,setIssueTypeIdentifiers:mm,updateIssueTypeIdentifier:ym,updateIssueTypeIdentifiers:fm,deleteIssueTypeIdentifier:Sm,deleteIssueTypeIdentifiers:Am}=ji.actions,Im=t=>t.issueTypeIdentifierReducer.instances,qi=l.createSelector([Im],t=>Object.values(t)),Tm=t=>s=>s.issueTypeIdentifierReducer.instances[t],Om=y(l.createSelector([qi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Yb=y(l.createSelector([qi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),Pm=ji.reducer,_e=P(t=>t.uuid),Fm={instances:{}},Ci=l.createSlice({name:"issueTypeIdentifierValues",initialState:Fm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Fm)),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:bm,addIssueTypeIdentifierValue:_m,addIssueTypeIdentifierValues:gm,setIssueTypeIdentifierValue:Mm,setIssueTypeIdentifierValues:Rm,updateIssueTypeIdentifierValue:wm,updateIssueTypeIdentifierValues:vm,deleteIssueTypeIdentifierValue:Em,deleteIssueTypeIdentifierValues:Bm}=Ci.actions,Vm=t=>t.issueTypeIdentifierValueReducer.instances,Yt=l.createSelector([Vm],t=>Object.values(t)),zm=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],Dm=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Zb=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),Jb=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type_identifier===s)))),jm=Ci.reducer,ge=P(t=>t.uuid),qm={instances:{}},$i=l.createSlice({name:"issueTypes",initialState:qm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,qm)),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:Cm,addIssueType:$m,addIssueTypes:Um,setIssueType:Lm,setIssueTypes:km,updateIssueType:Nm,updateIssueTypes:Gm,deleteIssueType:Hm,deleteIssueTypes:Wm}=$i.actions,Km=t=>t.issueTypeReducer.instances,Ui=l.createSelector(Km,t=>Object.values(t)),Ym=t=>s=>s.issueTypeReducer.instances[t],Zm=y(l.createSelector([Ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Xb=y(l.createSelector([Ui,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Jm=$i.reducer,Me=P(t=>t.uuid),Xm={instances:{}},Li=l.createSlice({name:"issueTypeStatuses",initialState:Xm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Xm)),reducers:{initializeIssueTypeStatuses:Me.initialize,addIssueTypeStatus:Me.addOne,addIssueTypeStatuses:Me.addMany,setIssueTypeStatus:Me.setOne,setIssueTypeStatuses:Me.setMany,updateIssueTypeStatus:Me.updateOne,updateIssueTypeStatuses:Me.updateMany,deleteIssueTypeStatus:Me.deleteOne,deleteIssueTypeStatuses:Me.deleteMany}}),{initializeIssueTypeStatuses:Qm,addIssueTypeStatus:xm,addIssueTypeStatuses:ey,setIssueTypeStatus:ty,setIssueTypeStatuses:sy,updateIssueTypeStatus:iy,updateIssueTypeStatuses:ny,deleteIssueTypeStatus:ay,deleteIssueTypeStatuses:cy}=Li.actions,ry=t=>t.issueTypeStatusReducer.instances,ki=l.createSelector([ry],t=>S(Object.values(t).toSorted(Ma))),Ni=t=>s=>s.issueTypeStatusReducer.instances[t],dy=y(l.createSelector([ki,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Qb=y(l.createSelector([ki,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),uy=Li.reducer,Re=P(t=>t.uuid),ly={instances:{}},Gi=l.createSlice({name:"issueUpdates",initialState:ly,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ly)),reducers:{initializeIssueUpdates:Re.initialize,addIssueUpdate:Re.addOne,addIssueUpdates:Re.addMany,setIssueUpdate:Re.setOne,setIssueUpdates:Re.setMany,updateIssueUpdate:Re.updateOne,updateIssueUpdates:Re.updateMany,deleteIssueUpdate:Re.deleteOne,deleteIssueUpdates:Re.deleteMany}}),{initializeIssueUpdates:oy,addIssueUpdate:Hi,addIssueUpdates:Wi,setIssueUpdate:hy,setIssueUpdates:py,updateIssueUpdate:my,updateIssueUpdates:yy,deleteIssueUpdate:Ki,deleteIssueUpdates:Yi}=Gi.actions,Zi=t=>t.issueUpdateReducer.instances,Ji=l.createSelector([Zi],t=>Object.values(t)),fy=y(l.createSelector([Zi,(t,s)=>s],(t,s)=>t[s])),Sy=y(l.createSelector([Ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ay=y(l.createSelector([Ji,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),Iy=Gi.reducer,we=P(t=>t.id),Ty={instances:{},currentUser:null},Xi=l.createSlice({name:"users",initialState:Ty,extraReducers:t=>t.addCase(T,s=>Object.assign(s,Ty)).addCase(F,s=>Object.assign(s,{...s,instances:[]})),reducers:{initializeUsers:we.initialize,setUsers:we.setMany,setUser:we.setOne,addUsers:we.addMany,addUser:we.addOne,updateUsers:we.updateMany,updateUser:we.updateOne,deleteUser:we.deleteOne,deleteUsers:we.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload},setCurrentUserProfile:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile=s.payload;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile=s.payload}}}),{initializeUsers:Oy,setUsers:Py,setUser:Fy,addUsers:by,addUser:Qi,updateUsers:_y,updateUser:gy,deleteUser:xi,deleteUsers:My,setCurrentUser:xb,setCurrentUserProfile:e_}=Xi.actions,Ry=Xi.reducer,wy=t=>t.userReducer.currentUser,en=t=>t.userReducer.instances,Zt=l.createSelector([en],t=>Object.values(t)),Jt=t=>s=>s.userReducer.instances[t],vy=y(l.createSelector([Zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({id:n})=>e.has(n)))})),ve=P(t=>t.uuid),Ey={instances:{}},tn=l.createSlice({name:"organizationAccess",initialState:Ey,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Ey)),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:By,addOrganizationAccess:Vy,addOrganizationAccesses:zy,setOrganizationAccess:Dy,setOrganizationAccesses:jy,updateOrganizationAccess:qy,updateOrganizationAccesses:Cy,deleteOrganizationAccess:$y,deleteOrganizationAccesses:Uy}=tn.actions,Ly=tn.reducer,Xt=t=>t.organizationAccessReducer.instances,ky=t=>s=>s.organizationAccessReducer.instances[t],Ny=y(l.createSelector([Xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),t_=l.createSelector([wy,Xt],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),Gy=l.createSelector([Xt],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return ds(s)}),s_=y(l.createSelector([en,Gy,(t,s)=>s],(t,s,e)=>S(Object.values(t).filter(n=>{const a=s[n.id];return!!a&&a.organization===e})))),Ee=P(t=>t.uuid),Hy={instances:{}},sn=l.createSlice({name:"organizations",initialState:Hy,extraReducers:t=>t.addMatcher(l.isAnyOf(T),s=>Object.assign(s,Hy)),reducers:{initializeOrganizations:Ee.initialize,setOrganizations:Ee.setMany,setOrganization:Ee.setOne,addOrganizations:Ee.addMany,addOrganization:Ee.addOne,updateOrganizations:Ee.updateMany,updateOrganization:Ee.updateOne,deleteOrganization:Ee.deleteOne,deleteOrganizations:Ee.deleteMany}}),{initializeOrganizations:Wy,setOrganizations:Ky,setOrganization:Yy,addOrganizations:Zy,addOrganization:Jy,updateOrganizations:Xy,updateOrganization:Qy,deleteOrganization:xy,deleteOrganizations:ef}=sn.actions,tf=t=>t.organizationReducer.instances,sf=l.createSelector([tf],t=>Object.values(t)),nf=t=>s=>s.organizationReducer.instances[t],af=y(l.createSelector([sf,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),cf=sn.reducer,rf=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:at.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},df={deletedRequests:[],latestRetryTime:0},nn=l.createSlice({name:"outbox",initialState:df,extraReducers:t=>t.addCase(T,s=>Object.assign(s,df)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:s,serviceName:e,...n}=t;return rf(n,s,e)}},markForDeletion(t,s){t.deletedRequests.push(s.payload)},markAsDeleted(t,s){const e=t.deletedRequests.indexOf(s.payload);e!==-1&&t.deletedRequests.splice(e,1)},_setLatestRetryTime:(t,s)=>{t.latestRetryTime=s.payload}}}),i_=t=>t.outboxReducer.deletedRequests,n_=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:uf,markForDeletion:a_,markAsDeleted:lf,_setLatestRetryTime:of}=nn.actions,hf=nn.reducer,Be=P(t=>t.uuid),pf={instances:{}},an=l.createSlice({name:"projectAccess",initialState:pf,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,pf)),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:mf,addProjectAccess:yf,addProjectAccesses:ff,setProjectAccess:Sf,setProjectAccesses:Af,updateProjectAccess:If,updateProjectAccesses:Tf,deleteProjectAccess:Of,deleteProjectAccesses:Pf}=an.actions,Ff=an.reducer,cn=t=>t.projectAccessReducer.instances,Mt=l.createSelector(cn,t=>Object.values(t)),bf=t=>s=>s.projectAccessReducer.instances[t],_f=y(l.createSelector([Mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),c_=y(l.createSelector([cn,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.project===s)))),r_=y(l.createSelector([Mt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),d_=y(l.createSelector([Zt,Mt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.project===e).map(a=>a.user));return S(t.filter(a=>n.has(a.id)))})),Ve=P(t=>t.uuid),gf={instances:{}},rn=l.createSlice({name:"projectAttachments",initialState:gf,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,gf)),reducers:{initializeProjectAttachments:Ve.initialize,addProjectAttachment:Ve.addOne,addProjectAttachments:Ve.addMany,setProjectAttachment:Ve.setOne,setProjectAttachments:Ve.setMany,updateProjectAttachment:Ve.updateOne,updateProjectAttachments:Ve.updateMany,deleteProjectAttachment:Ve.deleteOne,deleteProjectAttachments:Ve.deleteMany}}),{initializeProjectAttachments:Mf,addProjectAttachment:Rf,addProjectAttachments:wf,setProjectAttachment:vf,setProjectAttachments:Ef,updateProjectAttachment:Bf,updateProjectAttachments:Vf,deleteProjectAttachment:zf,deleteProjectAttachments:Df}=rn.actions,jf=t=>t.projectAttachmentReducer.instances,dn=l.createSelector([jf],t=>Object.values(t)),qf=t=>s=>s.projectAttachmentReducer.instances[t],Cf=y(l.createSelector([dn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),u_=y(l.createSelector([dn,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>s===e)))),$f=rn.reducer,ze=P(t=>t.uuid),Uf={instances:{}},un=l.createSlice({name:"projectFiles",initialState:Uf,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Uf)),reducers:{initializeProjectFiles:ze.initialize,setProjectFile:ze.setOne,setProjectFiles:ze.setMany,addProjectFile:ze.addOne,addProjectFiles:ze.addMany,updateProjectFile:ze.updateOne,updateProjectFiles:ze.updateMany,deleteProjectFile:ze.deleteOne,deleteProjectFiles:ze.deleteMany}}),{initializeProjectFiles:Lf,setProjectFile:kf,setProjectFiles:Nf,addProjectFile:Gf,addProjectFiles:Hf,updateProjectFile:Wf,updateProjectFiles:Kf,deleteProjectFile:Yf,deleteProjectFiles:Zf}=un.actions,Jf=t=>t.projectFileReducer.instances,Xf=l.createSelector([Jf],t=>S(Object.values(t).toSorted((s,e)=>s.z_index-e.z_index))),Qf=t=>s=>s.projectFileReducer.instances[t],xf=y(l.createSelector([Xf,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),eS=un.reducer,De=P(t=>t.uuid),tS={instances:{}},ln=l.createSlice({name:"projects",initialState:tS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,tS)),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:sS,setProjects:iS,setProject:nS,addProjects:aS,addProject:cS,updateProjects:rS,updateProject:dS,deleteProject:uS,deleteProjects:lS}=ln.actions,oS=ln.reducer,hS=t=>t.projectReducer.instances,Qt=l.createSelector([hS],t=>Object.values(t)),pS=t=>s=>s.projectReducer.instances[t],mS=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),l_=y(l.createSelector([Qt,Mt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.user===e).map(a=>a.project));return S(t.filter(a=>n.has(a.uuid)))})),o_=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),je=P(({uuid:t})=>t),yS={instances:{}},on=l.createSlice({name:"procedureInitiatives",initialState:yS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,yS)),reducers:{initializeProcedureInitiatives:je.initialize,addProcedureInitiative:je.addOne,addProcedureInitiatives:je.addMany,setProcedureInitiative:je.setOne,setProcedureInitiatives:je.setMany,updateProcedureInitiative:je.updateOne,updateProcedureInitiatives:je.updateMany,deleteProcedureInitiative:je.deleteOne,deleteProcedureInitiatives:je.deleteMany}}),{initializeProcedureInitiatives:fS,addProcedureInitiative:SS,addProcedureInitiatives:AS,setProcedureInitiative:IS,setProcedureInitiatives:TS,updateProcedureInitiative:OS,updateProcedureInitiatives:PS,deleteProcedureInitiative:FS,deleteProcedureInitiatives:bS}=on.actions,_S=on.reducer,gS=t=>t.procedureInitiativeReducer.instances,xt=l.createSelector([gS],t=>Object.values(t)),MS=t=>s=>s.procedureInitiativeReducer.instances[t],RS=y(l.createSelector([xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),h_=y(l.createSelector([xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),p_=y(l.createSelector([xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),qe=P(({uuid:t})=>t),wS={instances:{}},hn=l.createSlice({name:"procedures",initialState:wS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,wS)),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:vS,addProcedure:ES,addProcedures:ft,setProcedure:BS,setProcedures:VS,updateProcedure:zS,updateProcedures:DS,deleteProcedure:jS,deleteProcedures:St}=hn.actions,qS=hn.reducer,CS=t=>t.procedureReducer.instances,ct=l.createSelector([CS],t=>Object.values(t)),$S=t=>s=>s.procedureReducer.instances[t],US=y(l.createSelector([ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),m_=y(l.createSelector([ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),LS=y(l.createSelector([ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),kS=y(l.createSelector([ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),NS=y(l.createSelector([ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>e.has(n)))})),GS=y(l.createSelector([ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_initiative===s)))),Ce=P(t=>t.uuid),HS={instances:{}},pn=l.createSlice({name:"procedureStepAssignees",initialState:HS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,HS)),reducers:{initializeProcedureStepAssignees:Ce.initialize,addProcedureStepAssignee:Ce.addOne,addProcedureStepAssignees:Ce.addMany,setProcedureStepAssignee:Ce.setOne,setProcedureStepAssignees:Ce.setMany,updateProcedureStepAssignee:Ce.updateOne,updateProcedureStepAssignees:Ce.updateMany,deleteProcedureStepAssignee:Ce.deleteOne,deleteProcedureStepAssignees:Ce.deleteMany}}),{initializeProcedureStepAssignees:WS,addProcedureStepAssignee:KS,addProcedureStepAssignees:YS,setProcedureStepAssignee:ZS,setProcedureStepAssignees:JS,updateProcedureStepAssignee:XS,updateProcedureStepAssignees:QS,deleteProcedureStepAssignee:xS,deleteProcedureStepAssignees:eA}=pn.actions,tA=t=>t.procedureStepAssigneeReducer.instances,Rt=l.createSelector([tA],t=>Object.values(t)),sA=t=>s=>s.procedureStepAssigneeReducer.instances[t],iA=y(l.createSelector([Rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),y_=y(l.createSelector([Rt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),f_=y(l.createSelector([Rt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),S_=y(l.createSelector([Rt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),nA=pn.reducer,$e=P(t=>t.uuid),aA={instances:{}},mn=l.createSlice({name:"procedureStepComments",initialState:aA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,aA)),reducers:{initializeProcedureStepComments:$e.initialize,addProcedureStepComment:$e.addOne,addProcedureStepComments:$e.addMany,setProcedureStepComment:$e.setOne,setProcedureStepComments:$e.setMany,updateProcedureStepComment:$e.updateOne,updateProcedureStepComments:$e.updateMany,deleteProcedureStepComment:$e.deleteOne,deleteProcedureStepComments:$e.deleteMany}}),{initializeProcedureStepComments:cA,addProcedureStepComment:rA,addProcedureStepComments:dA,setProcedureStepComment:uA,setProcedureStepComments:lA,updateProcedureStepComment:oA,updateProcedureStepComments:hA,deleteProcedureStepComment:pA,deleteProcedureStepComments:mA}=mn.actions,yA=t=>t.procedureStepCommentReducer.instances,wt=l.createSelector([yA],t=>Object.values(t)),fA=t=>s=>s.procedureStepCommentReducer.instances[t],SA=y(l.createSelector([wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),A_=y(l.createSelector([wt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),I_=y(l.createSelector([wt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),T_=y(l.createSelector([wt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),AA=mn.reducer,Ue=P(t=>t.uuid),IA={instances:{}},yn=l.createSlice({name:"procedureStepDefaultAssignees",initialState:IA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,IA)),reducers:{initializeProcedureStepDefaultAssignees:Ue.initialize,addProcedureStepDefaultAssignee:Ue.addOne,addProcedureStepDefaultAssignees:Ue.addMany,setProcedureStepDefaultAssignee:Ue.setOne,setProcedureStepDefaultAssignees:Ue.setMany,updateProcedureStepDefaultAssignee:Ue.updateOne,updateProcedureStepDefaultAssignees:Ue.updateMany,deleteProcedureStepDefaultAssignee:Ue.deleteOne,deleteProcedureStepDefaultAssignees:Ue.deleteMany}}),{initializeProcedureStepDefaultAssignees:TA,addProcedureStepDefaultAssignee:OA,addProcedureStepDefaultAssignees:PA,setProcedureStepDefaultAssignee:FA,setProcedureStepDefaultAssignees:bA,updateProcedureStepDefaultAssignee:_A,updateProcedureStepDefaultAssignees:gA,deleteProcedureStepDefaultAssignee:MA,deleteProcedureStepDefaultAssignees:RA}=yn.actions,wA=t=>t.procedureStepDefaultAssigneeReducer.instances,fn=l.createSelector([wA],t=>Object.values(t)),vA=t=>s=>s.procedureStepDefaultAssigneeReducer.instances[t],EA=y(l.createSelector([fn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),O_=y(l.createSelector([fn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),BA=yn.reducer,Le=P(t=>t.uuid),VA={instances:{}},Sn=l.createSlice({name:"procedureStepDefaultReviewers",initialState:VA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,VA)),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:zA,addProcedureStepDefaultReviewer:DA,addProcedureStepDefaultReviewers:jA,setProcedureStepDefaultReviewer:qA,setProcedureStepDefaultReviewers:CA,updateProcedureStepDefaultReviewer:$A,updateProcedureStepDefaultReviewers:UA,deleteProcedureStepDefaultReviewer:LA,deleteProcedureStepDefaultReviewers:kA}=Sn.actions,NA=t=>t.procedureStepDefaultReviewerReducer.instances,An=l.createSelector([NA],t=>Object.values(t)),GA=t=>s=>s.procedureStepDefaultReviewerReducer.instances[t],HA=y(l.createSelector([An,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),P_=y(l.createSelector([An,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),WA=Sn.reducer,ke=P(t=>t.uuid),KA={instances:{}},In=l.createSlice({name:"procedureStepEvents",initialState:KA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,KA)),reducers:{initializeProcedureStepEvents:ke.initialize,addProcedureStepEvent:ke.addOne,addProcedureStepEvents:ke.addMany,setProcedureStepEvent:ke.setOne,setProcedureStepEvents:ke.setMany,updateProcedureStepEvent:ke.updateOne,updateProcedureStepEvents:ke.updateMany,deleteProcedureStepEvent:ke.deleteOne,deleteProcedureStepEvents:ke.deleteMany}}),{initializeProcedureStepEvents:YA,addProcedureStepEvent:ZA,addProcedureStepEvents:JA,setProcedureStepEvent:XA,setProcedureStepEvents:QA,updateProcedureStepEvent:xA,updateProcedureStepEvents:eI,deleteProcedureStepEvent:tI,deleteProcedureStepEvents:sI}=In.actions,iI=t=>t.procedureStepEventReducer.instances,vt=l.createSelector([iI],t=>Object.values(t)),nI=t=>s=>s.procedureStepEventReducer.instances[t],aI=y(l.createSelector([vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),F_=y(l.createSelector([vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),b_=y(l.createSelector([vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),__=y(l.createSelector([vt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),cI=In.reducer,Ne=P(t=>t.uuid),rI={instances:{}},Tn=l.createSlice({name:"procedureStepFieldsAttachments",initialState:rI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,rI)),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:dI,addProcedureStepFieldsAttachment:uI,addProcedureStepFieldsAttachments:On,setProcedureStepFieldsAttachment:lI,setProcedureStepFieldsAttachments:oI,updateProcedureStepFieldsAttachment:hI,updateProcedureStepFieldsAttachments:pI,deleteProcedureStepFieldsAttachment:mI,deleteProcedureStepFieldsAttachments:Pn}=Tn.actions,yI=t=>t.procedureStepFieldsAttachmentReducer.instances,Fn=l.createSelector([yI],t=>Object.values(t)),fI=y(l.createSelector([Fn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),SI=t=>s=>s.procedureStepFieldsAttachmentReducer.instances[t],AI=y(l.createSelector([Fn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),II=Tn.reducer,Ge=P(t=>t.uuid),TI={instances:{}},bn=l.createSlice({name:"procedureStepFields",initialState:TI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,TI)),reducers:{initializeProcedureStepFields:Ge.initialize,addProcedureStepFields:Ge.addOne,addProcedureStepFieldsMany:Ge.addMany,setProcedureStepFields:Ge.setOne,setProcedureStepFieldsMany:Ge.setMany,updateProcedureStepFields:Ge.updateOne,updateProcedureStepFieldsMany:Ge.updateMany,deleteProcedureStepFields:Ge.deleteOne,deleteProcedureStepFieldsMany:Ge.deleteMany}}),{initializeProcedureStepFields:OI,addProcedureStepFields:PI,addProcedureStepFieldsMany:FI,setProcedureStepFields:bI,setProcedureStepFieldsMany:_I,updateProcedureStepFields:gI,updateProcedureStepFieldsMany:MI,deleteProcedureStepFields:RI,deleteProcedureStepFieldsMany:wI}=bn.actions,_n=t=>t.procedureStepFieldsReducer.instances,es=l.createSelector([_n],t=>Object.values(t)),g_=y(l.createSelector([es,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),M_=y(l.createSelector([es,(t,s)=>s],(t,s)=>t.filter(e=>e.procedure_step===s).toSorted(bt).pop())),R_=l.createSelector([_n],t=>{const s={};for(const e of Object.values(t)){const n=s[e.procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.procedure_step]=e)}return s}),vI=t=>s=>s.procedureStepFieldsReducer.instances[t],EI=y(l.createSelector([es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),BI=bn.reducer,He=P(t=>t.uuid),VI={instances:{}},gn=l.createSlice({name:"procedureStepFieldValuesAttachments",initialState:VI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,VI)),reducers:{initializeProcedureStepFieldValuesAttachments:He.initialize,addProcedureStepFieldValuesAttachment:He.addOne,addProcedureStepFieldValuesAttachments:He.addMany,setProcedureStepFieldValuesAttachment:He.setOne,setProcedureStepFieldValuesAttachments:He.setMany,updateProcedureStepFieldValuesAttachment:He.updateOne,updateProcedureStepFieldValuesAttachments:He.updateMany,deleteProcedureStepFieldValuesAttachment:He.deleteOne,deleteProcedureStepFieldValuesAttachments:He.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:zI,addProcedureStepFieldValuesAttachment:DI,addProcedureStepFieldValuesAttachments:Mn,setProcedureStepFieldValuesAttachment:jI,setProcedureStepFieldValuesAttachments:qI,updateProcedureStepFieldValuesAttachment:CI,updateProcedureStepFieldValuesAttachments:$I,deleteProcedureStepFieldValuesAttachment:UI,deleteProcedureStepFieldValuesAttachments:Rn}=gn.actions,LI=t=>t.procedureStepFieldValuesAttachmentReducer.instances,wn=l.createSelector([LI],t=>Object.values(t)),kI=t=>s=>s.procedureStepFieldValuesAttachmentReducer.instances[t],NI=y(l.createSelector([wn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),GI=y(l.createSelector([wn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),HI=gn.reducer,We=P(t=>t.uuid),WI={instances:{}},vn=l.createSlice({name:"procedureStepFieldValues",initialState:WI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,WI)),reducers:{initializeProcedureStepFieldValues:We.initialize,addProcedureStepFieldValues:We.addOne,addProcedureStepFieldValuesMany:We.addMany,setProcedureStepFieldValues:We.setOne,setProcedureStepFieldValuesMany:We.setMany,updateProcedureStepFieldValues:We.updateOne,updateProcedureStepFieldValuesMany:We.updateMany,deleteProcedureStepFieldValues:We.deleteOne,deleteProcedureStepFieldValuesMany:We.deleteMany}}),{initializeProcedureStepFieldValues:KI,addProcedureStepFieldValues:YI,addProcedureStepFieldValuesMany:ZI,setProcedureStepFieldValues:JI,setProcedureStepFieldValuesMany:XI,updateProcedureStepFieldValues:QI,updateProcedureStepFieldValuesMany:xI,deleteProcedureStepFieldValues:eT,deleteProcedureStepFieldValuesMany:tT}=vn.actions,sT=vn.reducer,iT=t=>t.procedureStepFieldValuesReducer.instances,rt=l.createSelector([iT],t=>Object.values(t)),w_=y(l.createSelector([rt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),v_=y(l.createSelector([rt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),nT=t=>s=>s.procedureStepFieldValuesReducer.instances[t],aT=y(l.createSelector([rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),E_=y(l.createSelector([rt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),Ke=P(t=>t.uuid),cT={instances:{}},En=l.createSlice({name:"procedureStepFieldValuesReviews",initialState:cT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,cT)),reducers:{initializeProcedureStepFieldValuesReviews:Ke.initialize,addProcedureStepFieldValuesReview:Ke.addOne,addProcedureStepFieldValuesReviews:Ke.addMany,setProcedureStepFieldValuesReview:Ke.setOne,setProcedureStepFieldValuesReviews:Ke.setMany,updateProcedureStepFieldValuesReview:Ke.updateOne,updateProcedureStepFieldValuesReviews:Ke.updateMany,deleteProcedureStepFieldValuesReview:Ke.deleteOne,deleteProcedureStepFieldValuesReviews:Ke.deleteMany}}),{initializeProcedureStepFieldValuesReviews:rT,addProcedureStepFieldValuesReview:dT,addProcedureStepFieldValuesReviews:Bn,setProcedureStepFieldValuesReview:uT,setProcedureStepFieldValuesReviews:lT,updateProcedureStepFieldValuesReview:oT,updateProcedureStepFieldValuesReviews:hT,deleteProcedureStepFieldValuesReview:pT,deleteProcedureStepFieldValuesReviews:Vn}=En.actions,mT=t=>t.procedureStepFieldValuesReviewReducer.instances,dt=l.createSelector([mT],t=>Object.values(t)),yT=t=>s=>s.procedureStepFieldValuesReviewReducer.instances[t],fT=y(l.createSelector([dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ST=y(l.createSelector([dt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),B_=y(l.createSelector([dt,(t,s)=>s],(t,s)=>{let e;for(const n of t){const{field_values:a}=n;a===s&&(!e||e.submitted_at<=n.submitted_at)&&(e=n)}return e})),V_=y(l.createSelector([rt,dt,(t,s)=>s],(t,s,e)=>{const n=new Set(v(t.filter(({procedure:a})=>e===a)));return S(s.filter(({field_values:a})=>n.has(a)))})),z_=y(l.createSelector([rt,dt,(t,s)=>s,(t,s,e)=>e],(t,s,e,n)=>{const a=new Set(v(t.filter(({procedure_step:r,procedure:c})=>e===c&&r===n)));return S(s.filter(({field_values:r})=>a.has(r)))})),D_=l.createSelector([dt],t=>{const s={};for(const e of t){const{field_values:n}=e,a=s[n];(!a||a.submitted_at<=e.submitted_at)&&(s[n]=e)}return s}),AT=En.reducer,Ye=P(t=>t.uuid),IT={instances:{}},zn=l.createSlice({name:"procedureStepReviewers",initialState:IT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,IT)),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:TT,addProcedureStepReviewer:OT,addProcedureStepReviewers:PT,setProcedureStepReviewer:FT,setProcedureStepReviewers:bT,updateProcedureStepReviewer:_T,updateProcedureStepReviewers:gT,deleteProcedureStepReviewer:MT,deleteProcedureStepReviewers:RT}=zn.actions,wT=t=>t.procedureStepReviewerReducer.instances,Et=l.createSelector([wT],t=>Object.values(t)),vT=t=>s=>s.procedureStepReviewerReducer.instances[t],ET=y(l.createSelector([Et,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),j_=y(l.createSelector([Et,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),q_=y(l.createSelector([Et,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),C_=y(l.createSelector([Et,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),BT=zn.reducer,Ze=P(t=>t.uuid),VT={instances:{}},Dn=l.createSlice({name:"procedureSteps",initialState:VT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,VT)),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:zT,setProcedureStep:DT,setProcedureSteps:jT,addProcedureStep:qT,addProcedureSteps:CT,updateProcedureStep:$T,updateProcedureSteps:UT,deleteProcedureStep:LT,deleteProcedureSteps:kT}=Dn.actions,NT=Dn.reducer,jn=t=>t.procedureStepReducer.instances,GT=t=>s=>s.procedureStepReducer.instances[t],qn=l.createSelector([jn],t=>Object.values(t).toSorted((s,e)=>s.order-e.order)),$_=y(l.createSelector([jn,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.procedure_type===s&&(e[n]=a);return ds(e)})),U_=y(l.createSelector([qn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),HT=y(l.createSelector([qn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Je=P(({uuid:t})=>t),WT={instances:{}},Cn=l.createSlice({name:"procedureTypeAttachments",initialState:WT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,WT)),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:KT,addProcedureTypeAttachment:YT,addProcedureTypeAttachments:ZT,setProcedureTypeAttachment:JT,setProcedureTypeAttachments:XT,updateProcedureTypeAttachment:QT,updateProcedureTypeAttachments:xT,deleteProcedureTypeAttachment:eO,deleteProcedureTypeAttachments:tO}=Cn.actions,sO=Cn.reducer,iO=t=>t.procedureTypeAttachmentReducer.instances,$n=l.createSelector([iO],t=>Object.values(t)),nO=t=>s=>s.procedureTypeAttachmentReducer.instances[t],aO=y(l.createSelector([$n,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),L_=y(l.createSelector([$n,(t,s)=>s],(t,s)=>S(t.filter(({procedure_type:e})=>s===e)))),Xe=P(({uuid:t})=>t),cO={instances:{}},Un=l.createSlice({name:"procedureTypeFieldsAttachments",initialState:cO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,cO)),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:rO,addProcedureTypeFieldsAttachment:dO,addProcedureTypeFieldsAttachments:uO,setProcedureTypeFieldsAttachment:lO,setProcedureTypeFieldsAttachments:oO,updateProcedureTypeFieldsAttachment:hO,updateProcedureTypeFieldsAttachments:pO,deleteProcedureTypeFieldsAttachment:mO,deleteProcedureTypeFieldsAttachments:yO}=Un.actions,fO=Un.reducer,SO=t=>t.procedureTypeFieldsAttachmentReducer.instances,Ln=l.createSelector([SO],t=>Object.values(t)),k_=y(l.createSelector([Ln,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),AO=t=>s=>s.procedureTypeFieldsAttachmentReducer.instances[t],IO=y(l.createSelector([Ln,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Qe=P(({uuid:t})=>t),TO={instances:{}},kn=l.createSlice({name:"procedureTypeFields",initialState:TO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,TO)),reducers:{initializeProcedureTypeFields:Qe.initialize,addProcedureTypeFields:Qe.addOne,addProcedureTypeFieldsMany:Qe.addMany,setProcedureTypeFields:Qe.setOne,setProcedureTypeFieldsMany:Qe.setMany,updateProcedureTypeFields:Qe.updateOne,updateProcedureTypeFieldsMany:Qe.updateMany,deleteProcedureTypeFields:Qe.deleteOne,deleteProcedureTypeFieldsMany:Qe.deleteMany}}),{initializeProcedureTypeFields:OO,addProcedureTypeFields:PO,addProcedureTypeFieldsMany:FO,setProcedureTypeFields:bO,setProcedureTypeFieldsMany:_O,updateProcedureTypeFields:gO,updateProcedureTypeFieldsMany:MO,deleteProcedureTypeFields:RO,deleteProcedureTypeFieldsMany:wO}=kn.actions,vO=kn.reducer,EO=t=>t.procedureTypeFieldsReducer.instances,ts=l.createSelector([EO],t=>Object.values(t)),N_=y(l.createSelector([ts,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),G_=y(l.createSelector([ts,(t,s)=>s],(t,s)=>t.filter(e=>e.procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),BO=t=>s=>s.procedureTypeFieldsReducer.instances[t],VO=y(l.createSelector([ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),xe=P(({uuid:t})=>t),zO={instances:{}},Nn=l.createSlice({name:"procedureFieldValuesAttachments",initialState:zO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,zO)),reducers:{initializeProcedureFieldValuesAttachments:xe.initialize,addProcedureFieldValuesAttachment:xe.addOne,addProcedureFieldValuesAttachments:xe.addMany,setProcedureFieldValuesAttachment:xe.setOne,setProcedureFieldValuesAttachments:xe.setMany,updateProcedureFieldValuesAttachment:xe.updateOne,updateProcedureFieldValuesAttachments:xe.updateMany,deleteProcedureFieldValuesAttachment:xe.deleteOne,deleteProcedureFieldValuesAttachments:xe.deleteMany}}),{initializeProcedureFieldValuesAttachments:DO,addProcedureFieldValuesAttachment:jO,addProcedureFieldValuesAttachments:Gn,setProcedureFieldValuesAttachment:qO,setProcedureFieldValuesAttachments:CO,updateProcedureFieldValuesAttachment:$O,updateProcedureFieldValuesAttachments:UO,deleteProcedureFieldValuesAttachment:LO,deleteProcedureFieldValuesAttachments:Hn}=Nn.actions,kO=Nn.reducer,NO=t=>t.procedureFieldValuesAttachmentReducer.instances,Wn=l.createSelector([NO],t=>Object.values(t)),GO=t=>s=>s.procedureFieldValuesAttachmentReducer.instances[t],HO=y(l.createSelector([Wn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),WO=y(l.createSelector([Wn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),et=P(({uuid:t})=>t),KO={instances:{}},Kn=l.createSlice({name:"procedureFieldValues",initialState:KO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,KO)),reducers:{initializeProcedureFieldValues:et.initialize,addProcedureFieldValues:et.addOne,addProcedureFieldValuesMany:et.addMany,setProcedureFieldValues:et.setOne,setProcedureFieldValuesMany:et.setMany,updateProcedureFieldValues:et.updateOne,updateProcedureFieldValuesMany:et.updateMany,deleteProcedureFieldValues:et.deleteOne,deleteProcedureFieldValuesMany:et.deleteMany}}),{initializeProcedureFieldValues:YO,addProcedureFieldValues:ZO,addProcedureFieldValuesMany:JO,setProcedureFieldValues:XO,setProcedureFieldValuesMany:QO,updateProcedureFieldValues:xO,updateProcedureFieldValuesMany:eP,deleteProcedureFieldValues:tP,deleteProcedureFieldValuesMany:sP}=Kn.actions,iP=Kn.reducer,nP=t=>t.procedureFieldValuesReducer.instances,Yn=l.createSelector([nP],t=>Object.values(t)),H_=y(l.createSelector([Yn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),aP=t=>s=>s.procedureFieldValuesReducer.instances[t],cP=y(l.createSelector([Yn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),tt=P(t=>t.uuid),rP={instances:{}},Zn=l.createSlice({name:"procedureTypes",initialState:rP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,rP)),reducers:{initializeProcedureTypes:tt.initialize,addProcedureType:tt.addOne,addProcedureTypes:tt.addMany,setProcedureType:tt.setOne,setProcedureTypes:tt.setMany,updateProcedureType:tt.updateOne,updateProcedureTypes:tt.updateMany,deleteProcedureType:tt.deleteOne,deleteProcedureTypes:tt.deleteMany}}),{initializeProcedureTypes:dP,addProcedureType:uP,addProcedureTypes:lP,setProcedureType:oP,setProcedureTypes:hP,updateProcedureType:pP,updateProcedureTypes:mP,deleteProcedureType:yP,deleteProcedureTypes:fP}=Zn.actions,SP=Zn.reducer,AP=t=>t.procedureTypeReducer.instances,Jn=l.createSelector([AP],t=>Object.values(t)),IP=t=>s=>s.procedureTypeReducer.instances[t],TP=y(l.createSelector([Jn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),W_=y(l.createSelector([Jn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),K_={isRehydrated:!1},Xn=l.createSlice({name:"rehydrated",initialState:K_,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:Y_}=Xn.actions,Z_=t=>t.rehydratedReducer.isRehydrated,OP=Xn.reducer,st=P(t=>t.uuid),PP={instances:{}},Qn=l.createSlice({name:"teamMemberships",initialState:PP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,PP)),reducers:{initializeTeamMemberships:st.initialize,addTeamMembership:st.addOne,addTeamMemberships:st.addMany,setTeamMembership:st.setOne,setTeamMemberships:st.setMany,updateTeamMembership:st.updateOne,updateTeamMemberships:st.updateMany,deleteTeamMembership:st.deleteOne,deleteTeamMemberships:st.deleteMany}}),{initializeTeamMemberships:FP,addTeamMembership:bP,addTeamMemberships:_P,setTeamMembership:gP,setTeamMemberships:MP,updateTeamMembership:RP,updateTeamMemberships:wP,deleteTeamMembership:vP,deleteTeamMemberships:EP}=Qn.actions,BP=Qn.reducer,VP=t=>t.teamMembershipReducer.instances,ss=l.createSelector([VP],t=>Object.values(t)),zP=t=>s=>s.teamMembershipReducer.instances[t],DP=y(l.createSelector([ss,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),J_=y(l.createSelector([ss,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),X_=y(l.createSelector([Zt,ss,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.team===e).map(a=>a.user));return S(t.filter(a=>n.has(a.id)))})),it=P(t=>t.uuid),jP={instances:{}},xn=l.createSlice({name:"teams",initialState:jP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,jP)),reducers:{initializeTeams:it.initialize,addTeam:it.addOne,addTeams:it.addMany,setTeam:it.setOne,setTeams:it.setMany,updateTeam:it.updateOne,updateTeams:it.updateMany,deleteTeam:it.deleteOne,deleteTeams:it.deleteMany}}),{initializeTeams:qP,addTeam:CP,addTeams:$P,setTeam:UP,setTeams:LP,updateTeam:kP,updateTeams:NP,deleteTeam:GP,deleteTeams:HP}=xn.actions,WP=t=>t.teamReducer.instances,ea=l.createSelector([WP],t=>Object.values(t)),KP=t=>s=>s.teamReducer.instances[t],YP=y(l.createSelector([ea,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Q_=y(l.createSelector([ea,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),ZP=xn.reducer,x_={version:0},JP=l.createSlice({name:"versioning",initialState:x_,reducers:{}}),XP=JP.reducer,ta={outboxReducer:hf,fileReducer:Eu,authReducer:Ud},eg=l.combineReducers(ta),QP={...ta,[Ft]:XP,assetReducer:Oc,assetAttachmentReducer:Ya,assetCommentReducer:dc,assetTypeReducer:Fd,assetTypeAttachmentReducer:zc,issueReducer:Kh,issueAttachmentReducer:rh,issueTypeReducer:Jm,issueTypeAttachmentReducer:rp,organizationReducer:cf,projectReducer:oS,projectAttachmentReducer:$f,projectAccessReducer:Ff,organizationAccessReducer:Ly,projectFileReducer:eS,procedureTypeReducer:SP,procedureInitiativeReducer:_S,procedureReducer:qS,procedureTypeFieldsReducer:vO,procedureFieldValuesReducer:iP,procedureTypeAttachmentReducer:sO,procedureTypeFieldsAttachmentReducer:fO,procedureFieldValuesAttachmentReducer:kO,procedureStepFieldsAttachmentReducer:II,procedureStepFieldsReducer:BI,procedureStepFieldValuesAttachmentReducer:HI,procedureStepFieldValuesReducer:sT,procedureStepFieldValuesReviewReducer:AT,procedureStepAssigneeReducer:nA,procedureStepCommentReducer:AA,procedureStepDefaultAssigneeReducer:BA,procedureStepDefaultReviewerReducer:WA,procedureStepEventReducer:cI,procedureStepReviewerReducer:BT,procedureStepReducer:NT,rehydratedReducer:OP,formReducer:Nl,formRevisionReducer:Bl,formRevisionAttachmentReducer:Il,formSubmissionAttachmentReducer:no,formSubmissionReducer:Ao,formIdentifierReducer:Hu,formIdentifierValueReducer:al,userReducer:Ry,emailDomainsReducer:Ru,documentsReducer:ou,documentAttachmentReducer:eu,teamReducer:ZP,agentsReducer:Da,issueCommentReducer:zh,issueCommentAttachmentReducer:Oh,issueUpdateReducer:Iy,geoImageReducer:Bo,issueAssociationReducer:Yo,issueTypeFieldsReducer:Zp,issueTypeFieldValuesReducer:Dp,issueTypeFieldsAttachmentReducer:Op,issueTypeFieldValuesAttachmentReducer:dm,issueTypeIdentifierReducer:Pm,issueTypeIdentifierValueReducer:jm,issueTypeStatusReducer:uy,assetTypeFieldsReducer:dr,assetTypeFieldValuesReducer:Dr,assetTypeFieldsAttachmentReducer:Yc,assetTypeFieldValuesAttachmentReducer:Or,assetTypeIdentifierReducer:Zr,assetTypeIdentifierValueReducer:ud,assetTypeStatusReducer:qd,teamMembershipReducer:BP},tg=l.combineReducers(QP),xP=1e4,eF=200,sa=[400,409,403,404,405,500],k=1e4,tF={};class sF{constructor(s){h(this,"client");h(this,"pageSize",xP);tF[this.constructor.name]=this,this.client=s}async performRequest(s,e){return this.client.performRequest(this.host,s,this,e)}async enqueueRequest(s){return this.client.enqueueRequest(s,this.host,this.constructor.name)}async performPagination(s,e){return this.client.performPagination(this.host,s,this.pageSize,this,e)}dispatch(s){this.client.store.dispatch(s)}select(s){return s(this.client.store.getState())}}const iF=()=>cF.length-1,nF=t=>(t[Ft]={version:iF()},t),aF=()=>nF({}),sg=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),ig=t=>s=>{var e;return s===void 0&&(s={}),((e=s[Ft])==null?void 0:e.version)===iF()?s:t(s)},cF=[nF,aF,aF,sg],ng=Object.fromEntries(cF.map((t,s)=>[s,ig(t)])),ag=t=>{if(t)throw t;const s=Tt();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},rF=(t,s,e)=>{const n=ot();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},dF=(t,s,e)=>{const n=ot();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const r=s.meta.offlineAction.payload.uuid;return n.remove(r),n.getQueue()};async function cg(t,s){if(!s.payload)throw new Error("Received empty payload");return OF(s)}const rg={...ua,effect:cg,discard:lF,returnPromises:!0,persistCallback:ag,retry:og,persistOptions:{storage:wF},queue:{...ua.queue,enqueue:rF,dequeue:dF,peek:(...t)=>lg(...t)}},dg=vF(ng,Ft),ug=l.compose(RF.offline(rg),dg);async function uF(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=tF[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return na(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function lF(t,s,e=0){var m;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
2
+ Url:`,s.payload.url,`
3
+ Retries:`,e),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const n=Tt(),r=n.getState().outboxReducer.deletedRequests,c=s.payload.uuid;function u(){n.dispatch(lf(c));const p=ot();if(!p)throw new Error("Outbox coordinator not set");p.remove(s.payload.uuid);const f=s.meta.offline.rollback;throw f&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(f)),t}if(t instanceof U&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s.payload.url),u()),r.includes(c)&&(console.debug("Discarding request due to deletion:",s.payload.url),u()),t instanceof U){const p=t.status||((m=t.response)==null?void 0:m.status);if(p||console.warn("Error has no status code:",t),p!==void 0&&sa.includes(p)){console.warn("Discarding request due to error:",t,`
4
+ Action:`,s);const f=ot();if(!f)throw new Error("Outbox coordinator not set");f.remove(s.payload.uuid),t.options.discard=!0,u()}}console.debug("Registering a retry for request:",s.payload.uuid);const d=ot();if(!d)throw new Error("Outbox coordinator not set");return d.registerRetry(s.payload.uuid),!1}function lg(t,s,e){var n;return(n=ot())==null?void 0:n.peek()}function og(t,s){return Tt().dispatch(of(new Date().getTime())),Aa}const At="An unknown error occurred",hg=500,oF=["non_field_errors","detail"];function pg(t,s){let e;if(t!=null&&t.body)if(typeof t.body=="object"){const n=t.body;if(typeof n.error=="string")e=n.error;else if(typeof n.message=="string")e=n.message;else try{e=Object.entries(n).map(([a,r])=>typeof r=="string"?oF.includes(a)?r:`${a}: ${r}`:Array.isArray(r)?oF.includes(a)?r.join(`
5
+ `):r.map(c=>`${a}: ${c}`).join(`
6
+ `):`${a}: ${JSON.stringify(r)}`).join(`
7
+ `)}catch(a){console.error("Failed to extract error message from response body",a)}}else typeof t.body=="string"&&(e=t.body);else t!=null&&t.text?e=t.text:s instanceof Error&&(e=s.message);return!e||e.length>hg?At:e}class U extends Error{constructor(e){super(At);h(this,"status");h(this,"response");h(this,"message");h(this,"options");const{response:n,innerError:a}=e;this.message=e.message??pg(n,a)??At,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function hF(t){function s(e){return typeof e=="object"&&e!==null&&["ok","redirect","clientError","serverError","error"].every(a=>a in e)}if(s(t))return t;if(typeof t=="object"&&t!==null){const e=t;if(s(e.response))return e.response;if(e.response&&s(e.response.response))return e.response.response}}class mg extends sF{constructor(s){super(s)}}class ut extends sF{constructor(e,n){super(e);h(this,"auth");this.auth=n}}class yg extends ut{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:o.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(Ba(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:o.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(a=>{this.dispatch(za(a))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:o.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(Va(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:o.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:o.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(Ea(n)),n}}function nt(t,s){const e=[];let n=0;const a=t.length;for(;n<a;)e.push(t.slice(n,n+=s));return e}function A(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case o.GET:return`Get ${n}`;case o.POST:return`Create ${n}`;case o.PATCH:return`Update ${n}`;case o.PUT:return`Update ${n}`;case o.DELETE:return`Delete ${n}`}}class E extends ut{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:o.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:o.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:o.GET,...s},e)}}class j extends E{constructor(){super(...arguments);h(this,"pageSize",eF)}async add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions;let c,u=null,d=null;if("file"in e){const{file:b,...g}=e;u=await this.client.files.getFilePayload(b),d=URL.createObjectURL(b),c={...g,file_sha1:u.sha1,file_type:u.file_type,file_name:b.name,file_extension:u.extension,file_url:d}}else c=e;const m=this.buildModel(c),p=this.buildPayload(m);this.dispatch(n(m));const f=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...p,...u?{file:u}:{}},blockers:this.getBlockers(m),blocks:this.getBlocks(m)});f.then(({instance:b})=>{this.dispatch(a(b))}).catch(b=>{throw this.dispatch(r(this.getId(m))),b}).finally(()=>{d&&URL.revokeObjectURL(d)});const I=f.then(({instance:b})=>b),R=f.then(async({instance:b,presigned_url:g})=>{try{return g&&await this.client.files.processPresignedUrl(b.file_sha1,g),b.file_sha1}catch(_){throw console.error("Upload to s3 using presigned url failed.",_),_}});return[m,I,R]}async bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=[],m=new Set,p=nt(e,Math.min(n??e.length,k)),f=[];for(const g of p){const _=[],w={},B=[],C=[];for(const z of g){let Ot;if("file"in z){const{file:ra,...CM}=z,Pt=await this.client.files.getFilePayload(ra);Pt.sha1 in w||(w[Pt.sha1]=Pt);const bF=URL.createObjectURL(ra);m.add(bF),Ot={...CM,file_sha1:Pt.sha1,file_type:Pt.file_type,file_name:ra.name,file_extension:Pt.extension,file_url:bF}}else Ot=z;const q=this.buildModel(Ot);d.push(q);const N=this.buildBulkPayload(q);_.push(N);const is=this.getBlockers(q);B.push(...is);const qM=this.getBlocks(q);C.push(...qM)}const D={payloads:_,submittedAt:u,files:Object.values(w),blockers:B,blocks:C};f.push(D)}this.dispatch(a(d));const I=f.map(g=>{const{submittedAt:_,files:w,payloads:B,blocks:C,blockers:D}=g;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,files:w,payloads:B},blockers:D,blocks:C})});Promise.all(I).then(g=>{const _=g.flatMap(w=>w.instances);this.dispatch(r(_))}).catch(g=>{throw this.dispatch(c(d.map(_=>this.getId(_)))),console.error(g),g}).finally(()=>{for(const g of m)URL.revokeObjectURL(g)});const R=Promise.all(I).then(g=>g.flatMap(({instances:_})=>_)),b=Promise.all(I).then(async g=>{const _=[];for(const{presigned_urls:w}of g){const B=this.client.files.processPresignedUrls(w);for(const[C,D]of Object.entries(B))try{await D,_.push(C)}catch(z){throw console.error("Upload to s3 using presigned url failed.",z),z}}return _});return[d,R,b]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(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:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(n(c)),u}}}class fg extends j{constructor(){super(...arguments);h(this,"name","Asset attachment");h(this,"url","/asset-attachments");h(this,"actions",{addOne:Ca,addMany:ms,setOne:$a,setMany:Ua,updateOne:La,updateMany:ka,deleteOne:Na,deleteMany:ys,initialize:qa});h(this,"selectors",{selectById:Ha,selectByIds:Wa})}getId(e){return e.uuid}getBlockers(e){const{asset:n}=e;return[n]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,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,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(c)),c}}class Sg extends E{constructor(){super(...arguments);h(this,"name","Asset Comment");h(this,"url","/asset-comments");h(this,"actions",{addOne:Xa,addMany:Dt,setOne:Qa,setMany:xa,updateOne:ec,updateMany:tc,deleteOne:sc,deleteMany:jt,initialize:Ja});h(this,"selectors",{selectById:nc,selectByIds:ac})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.asset],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Asset comment with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Asset comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(c)),c}}class Ag extends E{constructor(){super(...arguments);h(this,"url","/assets");h(this,"name","Asset");h(this,"actions",{addOne:oc,addMany:Is,setOne:yc,setMany:fc,updateOne:hc,updateMany:pc,deleteOne:mc,deleteMany:Ts,initialize:lc});h(this,"selectors",{selectById:Ic,selectByIds:Tc})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.asset_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No asset with uuid ${e} found in the store`);const u=this.select(Ka(e)),d=this.select(cc(e)),m=this.select(Wo(e)),p=this.select(kS(e));this.dispatch(a(e)),this.dispatch(ys(v(u))),this.dispatch(jt(v(d))),this.dispatch(mt(v(m))),this.dispatch(St(v(p)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(n(c)),this.dispatch(ms(u)),this.dispatch(Dt(d)),this.dispatch(pt(m)),this.dispatch(ft(p)),f}}bulkAdd(e,n){const{addMany:a}=this.actions,r=new Date().toISOString(),c=nt(e,Math.min(n??e.length,k)).map(m=>{const p=m.map(f=>O(f));return{batchId:at.v4(),payload:{submitted_at:r,assets:p}}}),u=[];let d=null;for(const m of c){const{batchId:p,payload:f}=m,I=f.assets.map(({uuid:w})=>w),R=f.assets.map(({asset_type:w})=>w),b=f.assets.map(({project:w})=>w),g=f.assets.map(({status:w})=>w),_=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(d?[d]:[]).concat(R).concat(b).concat(g),blocks:[p].concat(I)});d=m.batchId,u.push(_)}return Promise.all(u).then(m=>{const p=m.flat();this.dispatch(a(p))}),u}bulkUpdate(e,n){const{updateMany:a}=this.actions,{selectByIds:r}=this.selectors,c=v(e).toSorted(zt);if(c.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(c)).toSorted(ls);if(c.length!=u.length)throw new Error(`Attempting to bulk update ${c.length-u.length} assets that dont exist in the store`);const d=[];for(let I=0;I<c.length;I++)d.push({...u[I],...e[I]});this.dispatch(a(d));const m=nt(e,Math.min(n??e.length,k)),p=[];let f=null;for(const I of m){const R=at.v4(),b=v(I),g=I.map(({status:w})=>w).filter(Boolean),_=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(f?[f]:[]).concat(b).concat(g),blocks:[R].concat(b)});p.push(_),f=R}return Promise.all(p).then(I=>{this.dispatch(a(I.flat()))}).catch(()=>{this.dispatch(a(u))}),[d,p]}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e)),u=this.select(rc(e)),d=this.select(Ko(e)),m=this.select(NS(e));this.dispatch(a(e)),this.dispatch(jt(v(u))),this.dispatch(mt(v(d))),this.dispatch(St(v(m)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(n(c)),this.dispatch(Dt(u)),this.dispatch(pt(d)),this.dispatch(ft(m)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class Ig extends j{constructor(){super(...arguments);h(this,"name","Asset Type Attachment");h(this,"url","/asset-type-attachments");h(this,"actions",{addOne:bc,addMany:Ps,setOne:_c,setMany:gc,updateOne:Mc,updateMany:Rc,deleteOne:wc,deleteMany:Fs,initialize:Fc});h(this,"selectors",{selectById:Ec,selectByIds:Bc})}getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,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,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class Tg extends j{constructor(){super(...arguments);h(this,"name","Asset Type Fields Attachment");h(this,"url","/asset-type-fields-attachments");h(this,"actions",{addOne:qc,addMany:Cc,setOne:$c,setMany:Uc,updateOne:Lc,updateMany:kc,deleteOne:Nc,deleteMany:Gc,initialize:jc});h(this,"selectors",{selectById:Wc,selectByIds:Kc})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class Og extends E{constructor(){super(...arguments);h(this,"name","Asset Type Fields");h(this,"url","/asset-type-fields");h(this,"actions",{addOne:Xc,addMany:Qc,setOne:xc,setMany:er,updateOne:tr,updateMany:sr,deleteOne:ir,deleteMany:nr,initialize:Jc});h(this,"selectors",{selectById:cr,selectByIds:rr})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.asset_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(p=>{throw this.dispatch(r(d.uuid)),p}),[d,m]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class Pg extends j{constructor(){super(...arguments);h(this,"name","Asset Type Field Values Attachment");h(this,"url","/asset-type-field-values-attachments");h(this,"actions",{addOne:or,addMany:ws,setOne:hr,setMany:pr,updateOne:mr,updateMany:yr,deleteOne:fr,deleteMany:vs,initialize:lr});h(this,"selectors",{selectById:Ar,selectByIds:Ir})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class Fg extends E{constructor(){super(...arguments);h(this,"name","Asset Type Field Values");h(this,"url","/asset-type-field-values");h(this,"actions",{addOne:br,addMany:_r,setOne:gr,setMany:Mr,updateOne:Rr,updateMany:wr,deleteOne:vr,deleteMany:Er,initialize:Fr});h(this,"selectors",{selectById:Vr,selectByIds:zr})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u}),m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.asset,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}bulkAdd(e,n){const{payloads:a,values:r}=e,{addMany:c,setMany:u,deleteMany:d}=this.actions,m=new Date().toISOString(),p=[],f=nt(a,Math.min(n??a.length,k)),I=[];for(const b of f){const g=[];for(const _ of b){const w=O({..._,values:_.values,created_by:this.select(B=>{var C;return((C=B.userReducer.currentUser)==null?void 0:C.id)??null}),submitted_at:m});p.push(w),g.push({uuid:w.uuid,asset:_.asset,fields_revision:_.fields_revision,published_at:_.published_at,values:w.values})}I.push({submitted_at:m,values:r,field_values:g})}this.dispatch(c(p));const R=[];for(const b of I){const{field_values:g}=b,_=g.map(({asset:D})=>D),w=g.map(({fields_revision:D})=>D),B=g.map(({uuid:D})=>D),C=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:_.concat(w),blocks:B});R.push(C)}return Promise.all(R).then(b=>{this.dispatch(u(b.flat()))}).catch(()=>{this.dispatch(d(v(p)))}),[p,R]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(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 u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(Tr(e));this.dispatch(n(e)),this.dispatch(vs(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(ws(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class bg extends E{constructor(){super(...arguments);h(this,"name","Asset Type Identifier");h(this,"url","/asset-type-identifiers");h(this,"actions",{addOne:Cr,addMany:$r,setOne:Ur,setMany:Lr,updateOne:kr,updateMany:Nr,deleteOne:Gr,deleteMany:Hr,initialize:qr});h(this,"selectors",{selectById:Kr,selectByIds:Yr})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.asset_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class _g extends E{constructor(){super(...arguments);h(this,"name","Asset Type Identifier Value");h(this,"url","/asset-type-identifier-values");h(this,"actions",{addOne:Qr,addMany:xr,setOne:ed,setMany:td,updateOne:sd,updateMany:id,deleteOne:nd,deleteMany:ad,initialize:Xr});h(this,"selectors",{selectById:rd,selectByIds:dd})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.asset,e.asset_type_identifier],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=this.select(b=>{var g;return((g=b.userReducer.currentUser)==null?void 0:g.id)??null}),m=nt(e,Math.min(n??e.length,k)),p=[],f=[];for(const b of m){const g=[],_=[],w=[];for(const C of b){const D=O({...C,submitted_at:u,created_by:d});f.push(D);const z={uuid:D.uuid,asset:D.asset,asset_type_identifier:D.asset_type_identifier,value:D.value};g.push(z),_.push(D.asset),_.push(D.asset_type_identifier),w.push(D.uuid)}const B={payloads:g,submitted_at:u,blockers:_,blocks:w};p.push(B)}this.dispatch(a(f));const I=p.map(b=>{const{payloads:g,submitted_at:_,blockers:w,blocks:B}=b;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,payloads:g},blockers:w,blocks:B})});Promise.all(I).then(b=>{this.dispatch(r(b.flat()))}).catch(b=>{throw this.dispatch(c(v(f))),b});const R=Promise.all(I).then(b=>b.flat());return[f,R]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class gg extends E{constructor(){super(...arguments);h(this,"name","Asset Type");h(this,"url","/asset-types");h(this,"actions",{addOne:md,addMany:yd,setOne:hd,setMany:pd,updateOne:fd,updateMany:Sd,deleteOne:Ad,deleteMany:Id,initialize:od});h(this,"selectors",{selectById:Od,selectByIds:Pd})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected asset type with uuid ${e} to exist`);const u=this.select(Ac(e)),d=this.select(Vc(e));this.dispatch(n(e)),this.dispatch(Ts(v(u))),this.dispatch(Fs(v(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(a(c)),this.dispatch(Is(u)),this.dispatch(Ps(d)),m}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class Mg extends E{constructor(){super(...arguments);h(this,"name","Asset Type Status");h(this,"url","/asset-type-statuses");h(this,"actions",{addOne:gd,addMany:Md,setOne:Rd,setMany:wd,updateOne:vd,updateMany:Ed,deleteOne:Bd,deleteMany:Vd,initialize:_d});h(this,"selectors",{selectById:Dd,selectByIds:jd})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.asset_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class Rg extends j{constructor(){super(...arguments);h(this,"name","Document Attachment");h(this,"url","/document-attachments");h(this,"actions",{addOne:Nd,addMany:Gd,setOne:Hd,setMany:Wd,updateOne:Kd,updateMany:Yd,deleteOne:Zd,deleteMany:Jd,initialize:kd});h(this,"selectors",{selectById:Qd,selectByIds:xd})}getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,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,n){const[a,r,c]=await super.bulkAdd(e,n),u={};for(const{file_sha1:d,uuid:m}of a)d in u||(u[d]=[]),u[d].push(m);return c.then(d=>{const m=d.flatMap(p=>u[p]??[]);for(const p of m)this.makeReadable(p)}),[a,r,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,n){const{initialize:a}=this.actions,r=this.list({queryParams:{document__project__organization:e}},n),c=this.list({queryParams:{document__organization:e}},n),d=(await Promise.all([r,c])).flat();return this.dispatch(a(d)),d}}class wg extends E{constructor(){super(...arguments);h(this,"name","Document");h(this,"url","/documents");h(this,"actions",{addOne:iu,addMany:nu,setOne:au,setMany:cu,updateOne:ru,updateMany:du,deleteOne:uu,deleteMany:lu,initialize:su});h(this,"selectors",{selectById:hu,selectByIds:pu})}add(e){const{addOne:n,deleteOne:a,updateOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:d.parent_document?[d.parent_document]:[],blocks:[d.uuid]});return m.then(p=>{this.dispatch(r(p))}).catch(()=>{this.dispatch(a(d.uuid))}),[d,m]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a,addMany:r,deleteMany:c}=this.actions,{selectById:u}=this.selectors,d=this.select(u(e));if(!d)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const m=this.select(mu(e));this.dispatch(n(e)),this.dispatch(c(v(m)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(d)),this.dispatch(r(m)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,r=this.list({queryParams:{project__organization:e}},n),c=this.list({queryParams:{organization:e}},n),d=(await Promise.all([r,c])).flat();return this.dispatch(a(d)),d}}class lt extends ut{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:o.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:o.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:o.GET,...s},e)}}class vg extends lt{constructor(){super(...arguments);h(this,"name","Email Domains");h(this,"url","/organization-email-domains");h(this,"actions",{addOne:Su,addMany:Au,setOne:Iu,setMany:Tu,updateOne:Ou,updateMany:Pu,deleteOne:Fu,deleteMany:bu,initialize:fu});h(this,"selectors",{selectById:gu,selectByIds:Mu})}async add(e,n){return this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{email:n,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:n,addOne:a}=this.actions;this.dispatch(n(e.uuid));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(r){throw this.dispatch(a(e)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class Eg extends ut{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:o.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:o.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const Bt={},ia=new Set;class Bg extends ut{constructor(){super(...arguments);h(this,"host");h(this,"dbPromise",EF.openDB("fileCache",1,{upgrade(e){e.createObjectStore("files")}}))}async getDB(){return await this.dbPromise}async addCache(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 n=await Vt(e);if(ia.has(n))return;const a=await this.getDB();!!await a.get("files",n)?console.warn(`Attempting to add a file already cached, ${e.name}`):await a.put("files",e,n),ia.add(n)}async removeCache(e){await(await this.getDB()).delete("files",e),ia.delete(e)}async fetchCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,n,a=n){const r=e.split("?")[0]??e,c=await this.fetchCache(n);if(c)return c;let u;r in Bt?u=Bt[r]:Fa(e)?(u=Pa(e,a),Bt[r]=u):(u=new Promise(p=>{this.performRequest({method:o.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1}).then(f=>{const I=new File([f],a,{type:f.type});p(I)})}),Bt[r]=u);let d;try{d=await u}catch(p){throw p instanceof U&&delete Bt[r],p}const m=await Vt(d);if(m!==n){const p=`The hash of the file returned from the server (${m}) does not match the
8
+ expected hash (${n}). This can happen if you're using a local development server and the
10
9
  isExternalUrl flag in the request details is set to true, because instead of requesting the local
11
10
  REST API, you will be requesting localhost:80 (where this app runs), resulting in a transformed blob
12
11
  (with an uuid attached) being returned. Alternatively, you may be running with
13
12
  import.meta.env.PROD, which will result in some file requests being treated as
14
- external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(y)}const p=d.type.split("/")[1];if(!p)throw new Error("File has no extension");const A=n??o+"."+p;if(d=Ua(d,A),!d.name)throw new Error("Failed to set file's name");await this.addCache(d,o),Pt[c]=new Promise(y=>{y(d)})}return d}}class eS extends E{async bulkAdd(e){var m;const s=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,n={},c=[],r=[];for(const d of e){const{revisionUuid:o,fieldIdentifier:p,file:A}=d,y=await this.getFilePayload(A);y.sha1 in n||(n[y.sha1]=y);const b=R({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:y.sha1,created_by:a,form_revision:o,submitted_at:s,field_identifier:p});c.push(b);const I={uuid:b.uuid,file_name:A.name,field_identifier:p,file_extension:y.extension,file_sha1:y.sha1,form_revision:o};r.push(I)}this.dispatch(Kr(c));const u=this.enqueueRequest({description:"Attach files to form revision",method:h.POST,url:"/form-revision-attachments/bulk/",payload:{submitted_at:s,attachments:r,files:Object.values(n)},blockers:c.map(d=>d.form_revision),blocks:c.map(d=>d.uuid)});return u.then(d=>{this.processPresignedUrls(d.presigned_urls),this.dispatch(Yr(d.attachments))}).catch(()=>{this.dispatch(Jr(c.map(d=>d.uuid)))}),[c,u.then(({attachments:d})=>d)]}async refreshStore(e){const s=await this.enqueueRequest({description:"Fetch organization form revision attachments",method:h.GET,url:"/form-revision-attachments/",queryParams:{organization:e},blockers:[e],blocks:[]});this.dispatch(Wr(s))}}class tS extends E{add(e){var u;const{store:s}=this.client,n=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,c=R({...e,created_by:n,submitted_at:new Date().toISOString()});this.dispatch(si(c));const r=this.enqueueRequest({description:"Create form revision",method:h.POST,url:"/form-revisions/",payload:_(c),blockers:[e.form],blocks:[c.uuid]});return r.then(m=>{this.dispatch(xr(m))}).catch(()=>{this.dispatch(ii(c.uuid))}),[c,r]}async refreshStore(e){const s=await this.enqueueRequest({description:"Get organization form revisions",method:h.GET,url:"/form-revisions/",queryParams:{organization:e},blockers:[e],blocks:[]});this.dispatch(ed(s))}}class sS extends E{add(e,s){var d;const{store:a}=this.client,n=new Date().toISOString(),c=(d=a.getState().userReducer.currentUser)==null?void 0:d.id,r=R({...e,submitted_at:n,created_by:c}),u=R({...s,form:r.uuid,submitted_at:n,created_by:c});this.dispatch(ni(r)),this.dispatch(si(u));const m=this.enqueueRequest({description:"Create form",method:h.POST,url:"/forms/",payload:{..._(r),initial_revision:{uuid:u.uuid,submitted_at:u.submitted_at,title:u.title,description:u.description,fields:u.fields}},blockers:[],blocks:[r.uuid,u.uuid]});return m.catch(o=>{throw this.dispatch(ci(r.uuid)),this.dispatch(ii(u.uuid)),o}),[r,u,m]}async delete(e){const{store:s}=this.client,a=s.getState(),n=od(e)(a);if(!n)throw new Error("Expected form to exist");const c=bd(e)(a);c.length>0&&this.dispatch(pt(c.map(({uuid:u})=>u)));const r=ad(e)(a);r.length>0&&this.dispatch(sd(r.map(({uuid:u})=>u))),this.dispatch(ci(e));try{return await this.enqueueRequest({description:"Delete form",method:h.DELETE,url:`/forms/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(ni(n)),r.length>0&&this.dispatch(td(r)),c.length>0&&this.dispatch(mt(c)),u}}async refreshStore(e){const s=await this.enqueueRequest({description:"Fetch organization forms",method:h.GET,url:"/forms/",queryParams:{organization:e},blockers:[e],blocks:[]});this.dispatch(rd(s))}}class iS extends E{async bulkAdd(e){var m;const s=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,n={},c=[],r=[];for(const d of e){const{submissionUuid:o,fieldIdentifier:p,file:A}=d,y=await this.getFilePayload(A);y.sha1 in n||(n[y.sha1]=y);const b=R({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:y.sha1,created_by:a,form_submission:o,submitted_at:s,field_identifier:p});c.push(b);const I={uuid:b.uuid,file_name:A.name,file_sha1:y.sha1,file_extension:y.extension,field_identifier:p,form_submission:o};r.push(I)}this.dispatch(ot(c));const u=this.enqueueRequest({description:"Attach files to form submission",method:h.POST,url:"/form-submission-attachments/bulk/",payload:{submitted_at:s,attachments:r,files:Object.values(n)},blockers:c.map(d=>d.form_submission),blocks:c.map(d=>d.uuid)});return u.then(d=>{this.processPresignedUrls(d.presigned_urls),this.dispatch(md(d.attachments))}).catch(d=>{throw this.dispatch(lt(c.map(o=>o.uuid))),d}),[c,u.then(({attachments:d})=>d)]}async bulkDelete(e){const{store:s}=this.client,a=s.getState(),n=pd(e)(a);this.dispatch(lt(e));try{await this.enqueueRequest({description:"Delete form submission attachments",method:h.DELETE,url:"/form-submission-attachments/bulk/",payload:{attachment_ids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(ot(n)),c}}async refreshStore(e){const s=await this.enqueueRequest({description:"Get form submission attachments",method:h.GET,url:"/form-submission-attachments/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(hd(s))}}class aS extends E{add(e){var r;const{store:s}=this.client,a=s.getState(),n=R({...e,created_by:(r=a.userReducer.currentUser)==null?void 0:r.id,submitted_at:new Date().toISOString()}),c=this.enqueueRequest({description:"Add form submission",method:h.POST,url:"/form-submissions/",payload:_(n),blockers:["add-form-entry",e.form_revision,...e.issue?[e.issue]:[],...e.asset?[e.asset]:[]],blocks:[n.uuid]});return this.dispatch(oi(n)),c.then(u=>(this.dispatch(ht(u)),u)).catch(()=>{this.dispatch(li(n.uuid))}),[n,c]}update(e){const{store:s}=this.client,a=s.getState(),n=pi(e.uuid)(a);if(!n)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(gd(c));const r=this.enqueueRequest({description:"Delete user form submissions",method:h.PATCH,url:`/form-submissions/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return r.then(u=>{this.dispatch(ht(u))}).catch(()=>{this.dispatch(ht(n))}),[c,r]}async delete(e){const{store:s}=this.client,a=s.getState(),n=pi(e)(a);if(!n)throw new Error(`Expected submission with uuid ${e} to exist`);const c=Ad(e)(a);this.dispatch(li(e)),this.dispatch(lt(c.map(r=>r.uuid)));try{return await this.enqueueRequest({description:"Delete user form submissions",method:h.DELETE,url:`/form-submissions/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(oi(n)),this.dispatch(ot(c)),r}}async refreshStore(e){const s=await this.enqueueRequest({description:"Fetch form submissions",method:h.GET,url:"/form-submissions/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(Sd(s))}}class nS extends E{async add(e){var p;const{store:s}=this.client,{file:a,...n}=e,c=new Date().toISOString(),r=(p=s.getState().userReducer.currentUser)==null?void 0:p.id,u=n.project,m=await this.getFilePayload(a),d=R({...n,file_name:a.name,file_sha1:m.sha1,file:URL.createObjectURL(a),submitted_at:c,created_by:r});this.dispatch(_d(d));const o=this.enqueueRequest({description:"Add geo image",method:h.POST,url:"/geo-images/",payload:{uuid:d.uuid,submitted_at:c,title:d.title,description:d.description,geo_marker:d.geo_marker,canvas_marker:d.canvas_marker,sha1:d.file_sha1,project:d.project,file_name:d.file_name,direction:d.direction,original_date:d.original_date,file:m},blocks:[u],blockers:[u]});return o.then(A=>{this.processPresignedUrls(A.presigned_urls),this.dispatch(We(A.geo_image))}).catch(()=>{this.dispatch(yi(d.uuid))}),[d,o.then(A=>A.geo_image)]}async bulkAdd(e,s){var p;const{store:a}=this.client,n=new Date().toISOString(),c=(p=a.getState().userReducer.currentUser)==null?void 0:p.id,r=[],u=[],m=[],d={};for(const A of e){const{file:y,...b}=A,I=await this.getFilePayload(y);I.sha1 in d||(d[I.sha1]=I);const F=R({...b,file_name:y.name,file_sha1:I.sha1,file:URL.createObjectURL(y),submitted_at:n,created_by:c,project:s});r.push(F),u.push(F.uuid),m.push({uuid:F.uuid,sha1:F.file_sha1,file_name:F.file_name,title:F.title,description:F.description,geo_marker:F.geo_marker,canvas_marker:F.canvas_marker,direction:F.direction,original_date:F.original_date})}this.dispatch(vd(r));const o=this.enqueueRequest({description:"Bulk add geo images",method:h.POST,url:"/geo-images/bulk/",payload:{submitted_at:n,project:s,geo_images:m,files:Object.values(d)},blocks:[s],blockers:u});return o.then(A=>{this.processPresignedUrls(A.presigned_urls),this.dispatch(Od(A.geo_images))}).catch(()=>{this.dispatch(Ed(u))}),[r,o.then(A=>A.geo_images)]}update(e){const{store:s}=this.client,a=s.getState(),n=fi(e.uuid)(a);if(!n)throw new Error(`Map image with uuid ${e.uuid} does not exist in the store`);const c={...n,...e};this.dispatch(wd(c));const r=this.enqueueRequest({description:"Update geo image",method:h.PATCH,url:`/geo-images/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return r.then(u=>{this.dispatch(We(u))}).catch(()=>{this.dispatch(We(n))}),[c,r]}async delete(e){const{store:s}=this.client,a=s.getState(),n=fi(e)(a);if(!n)throw new Error(`Map image with uuid ${e} does not exist in the store`);this.dispatch(yi(e));const c=this.enqueueRequest({description:"Delete geo image",method:h.DELETE,url:`/geo-images/${e}/`,blocks:[e],blockers:[e]});return c.catch(()=>{this.dispatch(We(n))}),c}async refreshStore(e){const s=await this.enqueueRequest({description:"Get geo images",method:h.GET,url:"/geo-images/",queryParams:{project:e},blocks:[e],blockers:[]});this.dispatch(Pd(s))}}class cS extends P{add(e){var u;const{store:s}=this.client,a=new Date().toISOString(),n=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,c=R({...e,submitted_at:a,created_by:n});this.dispatch(gi(c));const r=this.enqueueRequest({description:"Add issue association",method:h.POST,url:"/issue-associations/",payload:_(c),blockers:[e.associated_issue,...e.issue?[e.issue]:[],...e.asset?[e.asset]:[]],blocks:[c.uuid]});return r.then(m=>{this.dispatch(zd(m))}).catch(()=>{this.dispatch(Ti(c.uuid))}),[c,r]}async delete(e){const{store:s}=this.client,a=Dd(e)(s.getState());if(!a)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(Ti(e));const n=this.enqueueRequest({description:"Delete issue association",method:h.DELETE,url:`/issue-associations/${e}/`,blockers:[e],blocks:[]});return n.catch(()=>{this.dispatch(gi(a))}),n}async refreshStore(e){const s=await this.enqueueRequest({description:"Fetch issue associations",method:h.GET,url:"/issue-associations/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(Cd(s))}}class rS extends Se{constructor(){super(...arguments);f(this,"name","Issue Attachment");f(this,"url","/issue-attachments");f(this,"initializeAttachments",Ri);f(this,"addAttachments",Pi);f(this,"updateAttachments",Nd);f(this,"removeAttachments",Oi);f(this,"removeAttachment",Hd);f(this,"setAttachment",Ld);f(this,"selectAttachment",Jd)}buildOfflineAttachment(s){return R({file:URL.createObjectURL(s.file),file_sha1:s.file_sha1,created_by:s.created_by,file_name:s.file.name,file_type:s.file.type,submitted_at:s.submitted_at,description:s.description,issue:s.modelUuid})}buildAttachmentPayload(s){return{...s,issue:s.modelUuid}}async bulkAdd(s){return this._bulkAdd(s.map(a=>({modelUuid:a.issueUuid,file:a.file})))}async delete(s){return this._delete(s)}async refreshStore(s){const a=await this.enqueueRequest({description:"Get issue attachments",method:h.GET,url:`${this.url}/`,queryParams:{project:s},blocks:[],blockers:[]});this.dispatch(Ri(a))}}class dS extends Se{constructor(){super(...arguments);f(this,"name","Issue Comment Attachment");f(this,"url","/issue-comment-attachments");f(this,"initializeAttachments",vi);f(this,"addAttachments",Zd);f(this,"updateAttachments",eu);f(this,"removeAttachments",su);f(this,"removeAttachment",tu);f(this,"setAttachment",xd);f(this,"selectAttachment",nu)}buildOfflineAttachment(s){return R({file:URL.createObjectURL(s.file),file_sha1:s.file_sha1,created_by:s.created_by,file_name:s.file.name,file_type:s.file.type,submitted_at:s.submitted_at,description:s.description,issue_comment:s.modelUuid})}buildAttachmentPayload(s){return{...s,issue_comment:s.modelUuid}}async bulkAdd(s){return this._bulkAdd(s.map(a=>({modelUuid:a.issueCommentUuid,file:a.file})))}async delete(s){return this._delete(s)}async refreshStore(s){const a=await this.enqueueRequest({description:"Get issue comment attachments",method:h.GET,url:`${this.url}/`,queryParams:{project:s},blocks:[],blockers:[]});this.dispatch(vi(a))}}class uS extends P{add(e){var c;const{store:s}=this.client,a=R({...e,author:(c=s.getState().userReducer.currentUser)==null?void 0:c.id,submitted_at:new Date().toISOString()});this.dispatch(ji(a));const n=this.enqueueRequest({description:"Add issue comment",method:h.POST,url:"/issue-comments/",payload:_(a),blockers:[e.issue],blocks:[a.uuid]});return n.catch(()=>{this.dispatch(qi(a.uuid))}),[a,n]}update(e){const{store:s}=this.client,a=Mi(e.uuid)(s.getState());if(!a)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const n={...a,...e};this.dispatch(Ei(n));const c=this.enqueueRequest({description:"Edit issue comment",method:h.PATCH,url:`/issue-comments/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return c.catch(()=>{this.dispatch(Ei(a))}),[n,c]}remove(e){const{store:s}=this.client,a=Mi(e)(s.getState());if(!a)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(qi(e));const n=this.enqueueRequest({description:"Delete comment",method:h.DELETE,url:`/issue-comments/${e}/`,blockers:[e],blocks:[]});return n.catch(()=>{this.dispatch(ji(a))}),n}async refreshStore(e){const s=await this.enqueueRequest({description:"Get comments",method:h.GET,url:"/issue-comments/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(du(s))}}class oS extends P{add(e){var m;const{store:s}=this.client,a=s.getState(),n=new Date().toISOString(),c=(m=a.userReducer.currentUser)==null?void 0:m.id,r=R({...e,submitted_at:n,created_by:c});this.dispatch(Ci(r));const u=this.enqueueRequest({description:"Create issue",method:h.POST,url:"/issues/",payload:_(r),blockers:["add-issue",r.project,r.issue_type,...r.category?[r.category]:[]],blocks:[r.uuid]});return u.then(d=>{this.dispatch(At(d))}).catch(d=>{throw this.dispatch(zi(r.uuid)),d}),[r,u]}update(e){var m;const s=this.client.store.getState(),a=Di(e.uuid)(s);if(!a)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const n={...a,...e};this.dispatch(At(n));const c={};for(const d of[v.TITLE,v.DESCRIPTION,v.STATUS,v.CATEGORY,v.PRIORITY,v.ASSIGNED_TO,v.DUE_DATE])if(d in e&&e[d]!==a[d])switch(d){case v.PRIORITY:case v.STATUS:{const o=e[d];c[d]=o!==void 0?Number(o):null;break}case v.DUE_DATE:case v.DESCRIPTION:case v.TITLE:c[d]=e[d]??null;break;case v.CATEGORY:{let o=null;const p=e[d];if(p&&(o=s.categoryReducer.instances[p]??null,!o))throw new Error(`Trying to update issue category to ${p} which does not exist in store`);c[d]=o?{name:o.name,color:o.color,uuid:o.uuid}:null;break}case v.ASSIGNED_TO:{let o=null;const p=e[d];if(p&&(o=s.userReducer.instances[p]??null,!o))throw new Error(`Trying to update issue assigned_to to ${p} which does not exist in store`);c[d]=o?{full_name:o.username,id:o.id}:null;break}}const r=R({created_by:(m=s.userReducer.currentUser)==null?void 0:m.id,submitted_at:new Date().toISOString(),issue:a.uuid,changes:c});this.dispatch(uo(r));const u=this.enqueueRequest({description:"Edit issue",method:h.PATCH,url:`/issues/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.catch(()=>{this.dispatch(At(a)),this.dispatch(lo(r.uuid))}),[n,u]}async remove(e){const{store:s}=this.client,a=s.getState(),n=Di(e)(a);if(!n)throw new Error(`No issue with uuid ${e} found in the store`);const c=Yd(e)(a),r=po(e)(a),u=Td(e)(a),m={};for(const o of Ud(e)(a))m[o.uuid]=o;for(const o of Vd(e)(a))m[o.uuid]=o;const d=Object.values(m);this.dispatch(zi(e)),c.length>0&&this.dispatch(Oi(c.map(({uuid:o})=>o))),r.length>0&&this.dispatch(ho(r.map(({uuid:o})=>o))),u.length>0&&this.dispatch(pt(u.map(({uuid:o})=>o))),d.length>0&&this.dispatch(Ii(d.map(({uuid:o})=>o)));try{return await this.enqueueRequest({description:"Delete issue",method:h.DELETE,url:`/issues/${e}/`,blockers:[e],blocks:[]})}catch(o){throw this.dispatch(Ci(n)),this.dispatch(Pi(c)),this.dispatch(oo(r)),this.dispatch(mt(u)),this.dispatch(bi(d)),o}}async refreshStore(e){const s=await this.enqueueRequest({description:"Get issues",method:h.GET,url:"/issues/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(hu(s))}}class lS extends Se{constructor(){super(...arguments);f(this,"name","Issue Type Attachment");f(this,"url","/issue-type-attachments");f(this,"initializeAttachments",Vi);f(this,"addAttachments",Su);f(this,"updateAttachments",bu);f(this,"removeAttachments",Iu);f(this,"removeAttachment",Tu);f(this,"setAttachment",gu);f(this,"selectAttachment",Pu)}buildOfflineAttachment(s){return R({file:URL.createObjectURL(s.file),file_sha1:s.file_sha1,created_by:s.created_by,file_name:s.file.name,file_type:s.file.type,submitted_at:s.submitted_at,description:s.description,issue_type:s.modelUuid})}buildAttachmentPayload(s){return{...s,issue_type:s.modelUuid}}async bulkAdd(s){return this._bulkAdd(s.map(a=>({modelUuid:a.issueTypeUuid,file:a.file})))}async delete(s){return this._delete(s)}async refreshStore(s){const a=await this.enqueueRequest({description:"Get issue type attachments",method:h.GET,url:`${this.url}/`,queryParams:{organization:s},blocks:[],blockers:[]});this.dispatch(Vi(a))}}class hS extends E{async bulkAdd(e){var m;const s=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,n={},c=[],r=[];for(const d of e){const{fieldsRevisionUuid:o,fieldIdentifier:p,file:A}=d,y=await this.getFilePayload(A);y.sha1 in n||(n[y.sha1]=y);const b=R({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:y.sha1,created_by:a,fields_revision:o,submitted_at:s,field_identifier:p});c.push(b);const I={uuid:b.uuid,file_name:A.name,file_extension:y.extension,field_identifier:p,file_sha1:y.sha1,fields_revision:o};r.push(I)}this.dispatch(wu(c));const u=this.enqueueRequest({description:"Add issue type fields attachments",method:h.POST,url:"/issue-type-fields-attachments/bulk/",payload:{submitted_at:s,attachments:r,files:Object.values(n)},blockers:c.map(d=>d.fields_revision),blocks:c.map(d=>d.uuid)});return u.then(d=>{this.processPresignedUrls(d.presigned_urls),this.dispatch(Eu(d.attachments))}).catch(()=>{this.dispatch(ju(c.map(d=>d.uuid)))}),[c,u.then(({attachments:d})=>d)]}async refreshStore(e){const s=await this.enqueueRequest({description:"get issue type fields attachments",method:h.GET,url:"/issue-type-fields-attachments/",queryParams:{organization:e},blockers:[e],blocks:[]});this.dispatch(vu(s))}}class mS extends P{add(e){var u;const{store:s}=this.client,a=(u=s.getState().userReducer.currentUser)==null?void 0:u.id,n=new Date().toISOString(),c=R({...e,created_by:a,submitted_at:n});this.dispatch(Bu(c));const r=this.enqueueRequest({description:"Add Issue Type Fields",method:h.POST,url:"/issue-type-fields/",payload:_(c),blockers:[c.issue_type],blocks:[c.uuid]});return r.then(m=>{this.dispatch(Gu(m))}).catch(m=>{throw this.dispatch(Lu(c.uuid)),m}),[c,r]}async refreshStore(e){const s=await this.enqueueRequest({description:"Get Issue Type Fields",method:h.GET,url:"/issue-type-fields/",queryParams:{organization:e},blockers:[],blocks:[]});this.dispatch($u(s))}}class pS extends E{async bulkAdd(e){var m;const s=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,n={},c=[],r=[];for(const d of e){const{fieldValuesUuid:o,fieldIdentifier:p,file:A}=d,y=await this.getFilePayload(A);y.sha1 in n||(n[y.sha1]=y);const b=R({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:y.sha1,created_by:a,field_values:o,submitted_at:s,field_identifier:p});c.push(b);const I={uuid:b.uuid,file_name:A.name,file_sha1:y.sha1,file_extension:y.extension,field_identifier:p,field_values:o};r.push(I)}this.dispatch(ft(c));const u=this.enqueueRequest({description:"Add issue type field values attachments",method:h.POST,url:"/issue-type-field-values-attachments/bulk/",payload:{submitted_at:s,attachments:r,files:Object.values(n)},blockers:c.map(d=>d.field_values),blocks:c.map(d=>d.uuid)});return u.then(({presigned_urls:d,attachments:o})=>{this.processPresignedUrls(d),this.dispatch(Yu(o))}).catch(d=>{throw this.dispatch(St(c.map(o=>o.uuid))),d}),[c,u.then(({attachments:d})=>d)]}async bulkDelete(e){const{store:s}=this.client,a=s.getState(),n=Xu(e)(a);this.dispatch(St(e));try{await this.enqueueRequest({description:"Delete issue type field values attachments",method:h.DELETE,url:"/issue-type-field-values-attachments/bulk/",payload:{attachment_ids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(ft(n)),c}}async refreshStore(e){const s=await this.enqueueRequest({description:"Get issue type field values attachments",method:h.GET,url:"/issue-type-field-values-attachments/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(Ku(s))}}class AS extends P{add(e){var r;const{store:s}=this.client,a=s.getState(),n=R({...e,created_by:(r=a.userReducer.currentUser)==null?void 0:r.id,submitted_at:new Date().toISOString()}),c=this.enqueueRequest({description:"Add issue type field values",method:h.POST,url:"/issue-type-field-values/",payload:_(n),blockers:[e.issue,e.fields_revision],blocks:[n.uuid]});return this.dispatch(Gi(n)),c.then(u=>(this.dispatch(Ye(u)),u)).catch(()=>{this.dispatch(Li(n.uuid))}),[n,c]}update(e){const{store:s}=this.client,a=s.getState(),n=Hi(e.uuid)(a);if(!n)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(Ye(c));const r=this.enqueueRequest({description:"Update issue type field values",method:h.PATCH,url:`/issue-type-field-values/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.issue],blocks:[c.uuid]});return r.then(u=>{this.dispatch(Ye(u))}).catch(()=>{this.dispatch(Ye(n))}),[c,r]}async delete(e){const{store:s}=this.client,a=s.getState(),n=Hi(e)(a);if(!n)throw new Error(`Expected submission with uuid ${e} to exist`);const c=Qu(e)(a);this.dispatch(Li(e)),this.dispatch(St(c.map(r=>r.uuid)));try{await this.enqueueRequest({description:"Delete issue type field values",method:h.DELETE,url:`/issue-type-field-values/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(Gi(n)),this.dispatch(ft(c)),r}}async refreshStore(e){const s=await this.enqueueRequest({description:"Get issue type field values",method:h.GET,url:"/issue-type-field-values/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(zu(s))}}class yS extends P{add(e){var r;const{store:s}=this.client,a=s.getState(),n=R({...e,submitted_at:new Date().toISOString(),created_by:(r=a.userReducer.currentUser)==null?void 0:r.id});this.dispatch(to(n));const c=this.enqueueRequest({method:h.POST,url:"/issue-types/",payload:_(n),blockers:[],blocks:[n.uuid]});return c.then(u=>{this.dispatch(Je(u))}).catch(()=>{this.dispatch(Xi(n.uuid))}),[n,c]}update(e){const{store:s}=this.client,a=s.getState(),n=Qi(e.uuid)(a);if(!n)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const c={...n,...e};this.dispatch(so(c));const r=this.enqueueRequest({method:h.PATCH,url:`/issue-types/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(Je(u))}).catch(()=>{this.dispatch(Je(n))}),[c,r]}delete(e){const{store:s}=this.client,a=s.getState(),n=Qi(e)(a);if(!n)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const c=Zi(e)(a);this.dispatch(Xi(e)),this.dispatch(pu(c.map(u=>u.uuid)));const r=this.enqueueRequest({method:h.DELETE,url:`/issue-types/${e}/`,blockers:[e],blocks:[]});return r.catch(()=>{this.dispatch(Je(n)),this.dispatch(mu(c))}),r}async refreshStore(e){const s=await this.enqueueRequest({method:h.GET,url:"/issue-types/",queryParams:{organization:e},blockers:[],blocks:[]});this.dispatch(eo(s))}}class fS extends P{async refreshStore(e){const s=await this.enqueueRequest({description:"Get issue updates",method:h.GET,url:"/issue-updates/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(ro(s))}}const SS=1800;function gS(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 bS extends vf{constructor(){super(...arguments);f(this,"_getRenewedTokens",async s=>{const a=this.enqueueRequest({description:"Get renewed tokens",method:h.POST,url:this.refreshTokensUrl,payload:{refresh:s},isAuthNeeded:!1,blockers:[],blocks:[],checkAuth:!1,immediate:!0});let n;try{n=await a}catch(c){console.error("Could not renew tokens; clearing auth",c),this.clearAuth();return}if(!n.access)throw new Error("Missing access token");return{accessToken:n.access,refreshToken:n.refresh??this.getRefreshToken()}})}clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(ur(!1)),this.clearTokens(),this.dispatch({type:th.RESET_STATE}),this.dispatch({type:Ca})}async renewTokens(){const s=this.getRefreshToken();if(!s)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const a=await this._getRenewedTokens(s);if(!a)return;console.log("Got renewed tokens"),this.setTokens(a)}catch(a){throw console.error("Could not renew tokens; clearing auth",a),this.clearAuth(),a}}tokenIsExpiringSoon(){const s=this.getAccessToken();if(!s)return!1;const a=Date.now()/1e3;let n;try{n=sh(s).exp??a}catch{n=a}return n-a<SS}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(s){return s instanceof q&&this.clearAuth(),s instanceof Error?Promise.reject(s):Promise.reject(new Error((s??Ce).toString()))}}}async handleUnauthorized(s,a){const n=this.client.store.getState();if(s.url.endsWith("/token/refresh/"))throw n.authReducer.isLoggedIn&&console.warn("No signed-in user to sign out."),this.clearAuth(),new q({message:"You have been signed out due to inactivity.",response:a,discard:!0});if(n.authReducer.isLoggedIn)await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new q({message:"Incorrect username or password.",response:a,discard:!0})}async initAuth(s){const a=ge.v4();return console.debug(this.constructor.name,"Initiating auth"),this.enqueueRequest({uuid:a,description:"Get token pair",method:h.POST,url:this.initTokensUrl,payload:s,isAuthNeeded:!1,checkAuth:!1,immediate:!0,blockers:[],blocks:[]}).then(n=>{this.setTokens(gS(n))})}}class TS extends P{async getLicense(e){const s=await this.enqueueRequest({description:"Get license",method:h.GET,url:`/billing/${e.uuid}/`,isAuthNeeded:!0,blockers:[e.organization_owner],blocks:[]});return this.dispatch(Ae(s)),s}async pauseLicense(e){const s=await this.enqueueRequest({description:"Pause license",method:h.DELETE,url:`/billing/${e.uuid}/suspend/`,isAuthNeeded:!0,blockers:[e.organization_owner],blocks:[]});return this.dispatch(Ae(s)),s}async resumeLicense(e){const s=await this.enqueueRequest({description:"Resume license",method:h.PATCH,url:`/billing/${e.uuid}/suspend/`,isAuthNeeded:!0,blockers:[e.organization_owner],blocks:[]});return this.dispatch(Ae(s)),s}async cancelLicense(e){const s=await this.enqueueRequest({description:"Cancel license",method:h.DELETE,url:`/billing/${e.uuid}/`,isAuthNeeded:!0,blockers:[e.organization_owner],blocks:[]});return this.dispatch(Ae(s)),s}async attachLicenseToProject(e,s){const a=await this.enqueueRequest({description:"Attach license",method:h.PATCH,url:`/billing/${e.uuid}/project/`,isAuthNeeded:!0,payload:{project:s.uuid},blockers:[e.organization_owner,s.uuid],blocks:["add-issue","add-form-entry","change-access-level","add-workspace"]});return this.dispatch(Ae(a)),a}async detachLicenseFromProject(e){const s=await this.enqueueRequest({description:"Detach license",method:h.DELETE,url:`/billing/${e.uuid}/project/`,isAuthNeeded:!0,blockers:[e.organization_owner],blocks:["add-issue","add-form-entry","change-access-level","add-workspace"]});return this.dispatch(Ae(s)),s}async getLatestTransaction(e){return await this.enqueueRequest({description:"Get latest transaction",method:h.GET,url:`/billing/${e.uuid}/transaction/`,isAuthNeeded:!0,blockers:[e.uuid],blocks:[e.uuid]})}async refreshStore(e,s){const a={},n=await this.enqueueRequest({description:"Get licenses",method:h.GET,url:`/organizations/${s}/licenses/`,isAuthNeeded:!0,blockers:[s],blocks:["add-issue","add-form-entry","change-access-level","add-workspace"]});for(const r of n)a[r.uuid]=r;const c=await this.enqueueRequest({description:"Get licenses",method:h.GET,url:`/projects/${e}/licenses/`,isAuthNeeded:!0,blockers:[e],blocks:["add-issue","add-form-entry","change-access-level","add-workspace"]});for(const r of c)a[r.uuid]=r;this.dispatch(fo(Object.values(a)))}}class IS extends P{async update(e){const s=this.enqueueRequest({description:"Edit organization access",method:h.PATCH,url:`/organization-accesses/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return s.then(()=>{this.dispatch(Oo(e))}),s}async remove(e){return this.dispatch(_o(e.uuid)),this.dispatch(Io(e.user)),this.enqueueRequest({description:"Remove organization access",method:h.DELETE,url:`/organization-accesses/${e.uuid}/`,blockers:[e.uuid],blocks:[]})}async refreshStore(e){const s=await this.enqueueRequest({description:"Get organization accesses",method:h.GET,url:"/organization-accesses/",queryParams:{organization:e},blockers:[],blocks:[]});this.dispatch(Po(s))}}class FS extends P{create(e){return this.enqueueRequest({description:"Create organization",method:h.POST,url:"/organizations/",payload:{name:e},blockers:[],blocks:[`add-org-${e}`,"create-org"]})}async update(e){return this.enqueueRequest({description:"Edit organization",method:h.PATCH,url:`/organizations/${e.uuid}/`,payload:e,blockers:[`add-org-${e.name}`,e.uuid],blocks:[e.uuid]})}async invite(e,s){return this.enqueueRequest({description:"Invite user to organization",method:h.POST,url:`/organizations/${e}/invite/${s}/`,blockers:[],blocks:[]})}async refreshStore(e,s){const a={},n=await this.enqueueRequest({description:"Get organizations",method:h.GET,url:`/projects/${e}/organizations/`,blockers:[],blocks:[]});for(const r of n)a[r.uuid]=r;const c=await this.enqueueRequest({description:"Get organization",method:h.GET,url:`/organizations/${s}/`,blockers:[],blocks:[]});a[c.uuid]=c,this.dispatch(Wo(Object.values(a)))}}class RS extends P{async update(e){return this.dispatch(jo(e)),this.enqueueRequest({description:"Edit project access",method:h.PATCH,url:`/project-accesses/${e.uuid}/`,payload:e,blockers:[e.uuid,"change-access-level"],blocks:[e.uuid]})}async remove(e){return this.dispatch(qo(e)),this.enqueueRequest({description:"Delete project access",method:h.DELETE,url:`/project-accesses/${e}/`,blockers:[e],blocks:[]})}async refreshStore(e){const s=await this.enqueueRequest({description:"Get project accesses",method:h.GET,url:"/project-accesses/",queryParams:{project:e},blockers:[],blocks:[]});this.dispatch(na(s))}}class PS extends Se{constructor(){super(...arguments);f(this,"name","Project Attachment");f(this,"url","/project-attachments");f(this,"addAttachments",cl);f(this,"updateAttachments",ul);f(this,"removeAttachments",la);f(this,"removeAttachment",ol);f(this,"setAttachment",rl);f(this,"selectAttachment",ml)}buildOfflineAttachment(s){return R({file:URL.createObjectURL(s.file),file_sha1:s.file_sha1,created_by:s.created_by,file_name:s.file.name,file_type:s.file.type,submitted_at:s.submitted_at,description:s.description,project:s.modelUuid})}buildAttachmentPayload(s){return{...s,project:s.modelUuid}}async bulkAdd(s){return this._bulkAdd(s.map(a=>({modelUuid:a.projectUuid,file:a.file})))}async delete(s){return this._delete(s)}async refreshStore(s){const a=await this.enqueueRequest({description:"Get project attachments",method:h.GET,url:`${this.url}/`,queryParams:{project:s},blockers:[],blocks:[]});this.dispatch(nl(a))}}class OS extends P{async saveExisting(e){if(!e.uuid)throw new Error("You can only use this method to save existing project files. The one provided has no uuid.");const s={...e};delete s.file;const a=this.enqueueRequest({method:h.PATCH,url:`/projects/files/${e.uuid}/`,payload:s,blockers:[e.uuid],blocks:[e.uuid]});return a.then(n=>{this.dispatch(ma(n))}),a}saveActive(){const{store:e}=this.client,s=e.getState(),a=s.projectFileReducer.activeProjectFileId;if(!a)throw new Error("No active project file");const n=s.projectFileReducer.instances[a];if(!n)throw new Error("No active project file");if(!n.bounds&&!n.canvas_bounds)throw new Error("Project file must either have bounds or canvas_bounds set");let c;if(typeof n.file=="string"&&!n.file.startsWith("blob:")){const m={...n};delete m.file,c={method:h.PATCH,url:`/projects/files/${a}/`,payload:m,blockers:[a],blocks:[a]}}else c=new Promise((m,d)=>{this.client.files.uploadFileToS3(n.file_sha1).then(([o])=>{m({method:h.POST,url:`/projects/${n.project}/files/`,payload:{...n,...o},blockers:[a],blocks:[a]})}).catch(d)});const u=Promise.resolve(c).then(m=>this.enqueueRequest(m));return u.then(m=>{this.dispatch(ma(m))}),this.dispatch(Fl),this.dispatch(Il(null)),this.dispatch(Tl(!1)),[n,u]}delete(e){return this.dispatch(gl(e)),this.enqueueRequest({method:h.DELETE,url:`/projects/files/${e}`,blockers:[e],blocks:[]})}async refreshStore(e){const s=await this.enqueueRequest({description:"Get project files",method:h.GET,url:`/projects/${e}/files/`,blockers:[],blocks:[]});this.dispatch(fl(s))}}class _S extends P{async add(e){if(!e.bounds&&!e.canvas_bounds)throw new Error("Project must either have bounds or canvas_bounds set");return await this.enqueueRequest({description:"Create project",method:h.POST,url:"/projects/",payload:{name:e.name,bounds:e.bounds,organization_owner:e.organization_owner},blockers:[],blocks:[]})}async update(e){if(!e.bounds&&!e.canvas_bounds)throw new Error("Project must either have bounds or canvas_bounds set");return this.dispatch(Vo(e)),await this.enqueueRequest({description:"Update project",method:h.PATCH,url:`/projects/${e.uuid}/`,payload:{name:e.name,bounds:e.bounds},blockers:[e.uuid],blocks:[e.uuid]})}async delete(e){const{store:s}=this.client,a=s.getState(),n=Rt(a),c=n[e];if(!c)throw new Error("Expected project to exist");const r=Pl(a).filter(o=>o.project===e);this.dispatch(bl(r.map(({uuid:o})=>o)));const u=pl(c.uuid)(a);this.dispatch(la(u.map(({uuid:o})=>o)));const m=ko(a);this.dispatch(Mo(m.map(({uuid:o})=>o))),this.dispatch({type:"rehydrated/setRehydrated",payload:!1}),this.dispatch($o(c.uuid));const d=So(c.uuid)(a);d&&this.dispatch(Ae({...d,project:null}));try{await this.enqueueRequest({description:"Delete project",method:h.DELETE,url:`/projects/${e}/`,blockers:[e],blocks:[]}),this.dispatch({type:"rehydrated/setRehydrated",payload:!0})}catch(o){throw this.dispatch(Uo(Object.values(n))),this.dispatch(na(Object.values(m))),this.dispatch(Sl(r)),this.dispatch(dl(u)),this.dispatch({type:"rehydrated/setRehydrated",payload:!0}),d&&this.dispatch(Ae({...d,project:c.uuid})),o}}invite(e,s){const a=ge.v4();return this.enqueueRequest({description:"Invite user to project",method:h.POST,url:`/projects/${e}/invite/${s}/`,payload:{uuid:a},blockers:[],blocks:[a]})}joinProject(e,s,a){return this.enqueueRequest({description:"Join project",method:h.GET,url:`/projects/${e}/join-project/${s}/${a}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}async acceptInvite(e){return this.enqueueRequest({description:"Accept project invite",method:h.PATCH,url:`/projects/${e}/accept-invite/`,blockers:[e],blocks:[e]}).then(()=>{this.dispatch(Bo(e))})}}class vS extends P{add(e){const s=R({...e,submitted_at:new Date().toISOString()});this.dispatch(El(s));const a=this.enqueueRequest({description:"Create team",method:h.POST,url:"/teams/",payload:s,blockers:[],blocks:[s.uuid]});return a.then(n=>{this.dispatch(Me(n))}).catch(()=>{this.dispatch(fa(s.uuid))}),[s,a]}update(e){const{store:s}=this.client,a=ke(e.uuid)(s.getState());if(!a)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const n={...a,...e};this.dispatch(ya(n));const c=this.enqueueRequest({description:"Update team",method:h.PATCH,url:`/teams/${e.uuid}/`,payload:_(e),blockers:[e.uuid],blocks:[e.uuid]});return c.then(r=>{this.dispatch(Me(r))}).catch(()=>{this.dispatch(Me(a))}),[n,c]}async delete(e){const{store:s}=this.client,a=s.getState(),n=ke(e)(a);if(!n)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(fa(e));try{return await this.enqueueRequest({description:"Delete team",method:h.DELETE,url:`/teams/${e}/`,blockers:[e],blocks:[e]})}catch(c){throw this.dispatch(Me(n)),c}}async setMembers(e,s){const{store:a}=this.client,n=ke(e)(a.getState());if(!n)throw new Error(`Expected team with uuid ${e} to exist`);if(s.length!==new Set(s).size)throw new Error("Duplicate members found in the list");this.dispatch(ya({...n,members:s}));const c=this.enqueueRequest({description:"Set team members",method:h.PUT,url:`/teams/${e}/set-members/`,payload:{users:s},blockers:[e],blocks:[e]});return c.catch(()=>{this.dispatch(Me(n))}),c}async addMembers(e,s){const{store:a}=this.client,n=ke(e)(a.getState());if(!n)throw new Error(`Expected team with uuid ${e} to exist`);const c=[...n.members,...s];return this.setMembers(e,c)}async removeMembers(e,s){const{store:a}=this.client,n=ke(e)(a.getState());if(!n)throw new Error(`Expected team with uuid ${e} to exist`);const c=n.members.filter(r=>!s.includes(r));return this.setMembers(e,c)}async refreshStore(e){const s=await this.enqueueRequest({description:"Fetch teams",method:h.GET,url:"/teams/",queryParams:{organization:e},blockers:[],blocks:[]});this.dispatch(wl(s))}}class wS extends P{async refreshStore(e,s){const a={},n=await this.enqueueRequest({description:"Fetch organization users",method:h.GET,url:`/organizations/${s}/users/`,blockers:[],blocks:[]});for(const r of n)a[r.id]=r;const c=await this.enqueueRequest({description:"Fetch project users",method:h.GET,url:`/projects/${e}/users/`,blockers:[],blocks:[]});for(const r of c)a[r.id]=r;this.dispatch(To(Object.values(a)))}}class ES{constructor(e){f(this,"store");this.store=e}async enqueueRequest(e,s,a){return this._enqueueRequest(e,s,a).then(n=>{if(n instanceof q)throw n;return n})}_enqueueRequest(e,s,a){const n=new za,c={...e,BASE_URL:s,serviceName:a};if(e.immediate){const r={...c,uuid:e.uuid??ge.v4()},u={payload:r,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:r,BASE_URL:s,serviceName:a}}}};Ia(u,this).then(m=>{n.resolve(m.body)}).catch(m=>{Fa(m,u),m instanceof Error?n.reject(m):n.reject(new Error((m??Ce).toString()))})}else{const r=this.store.dispatch(el(c)),u=d=>{if(d)n.resolve(d.body);else{const o=new q({message:"Could not get a response from the server.",response:d,discard:!0});n.reject(o)}},m=d=>{d instanceof q?d.options.discard=!0:(console.error("Received an unexpected error while processing a request:",d,`
15
- Converting error to APIError and discarding.`),d=new q({message:"An error occurred while processing the request.",innerError:d,discard:!0})),n.reject(d)};r.then(u,m)}return n}}class ze{constructor(){f(this,"graph");f(this,"requestAttemptCounter");this.graph=new ih.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(e){const s=new ze;for(let a=0;a<e.length;a++){const n=e[a];if(!n){console.error("Outbox item was undefined");continue}s.sneakRequest(n);for(let c=0;c<a;c++){const r=e[c];if(!r){console.error("Previous outbox item was undefined");continue}r.payload.uuid!==n.payload.uuid&&r.payload.blocks.some(u=>n.payload.blockers.includes(u))&&ze._addDependency(n.payload.uuid,r.payload.uuid,s.graph)}}return s}_addDependency(e,s){ze._addDependency(e,s,this.graph)}static _addDependency(e,s,a){if(e===s)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: ${s})`);if(!a.hasNode(s))throw new Error(`Tried to add dependency to non-existent node: ${s} (from node: ${e})`);a.addDependency(e,s)}addRequest(e){if(this.graph.addNode(e.payload.uuid,e),!(e.payload.blockers.length===0||this.graph.size()===1))for(const s of this.graph.overallOrder()){if(s===e.payload.uuid)continue;const a=this.graph.getNodeData(s);e.payload.blockers.some(n=>a.payload.blocks.includes(n))&&this._addDependency(e.payload.uuid,s)}}insertRequest(e){this.graph.addNode(e.payload.uuid,e);for(const s of this.graph.overallOrder()){if(s===e.payload.uuid)continue;this.graph.getNodeData(s).payload.blockers.some(n=>e.payload.blocks.includes(n))&&this._addDependency(s,e.payload.uuid)}}sneakRequest(e){this.graph.addNode(e.payload.uuid,e)}_getNextNode(){const e=this.graph.overallOrder(!0);let s=1/0,a;for(const n of e){const c=this.requestAttemptCounter[n]||0;c<s&&(s=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)),s=this._getNextNode();if(s){const a=this.graph.getNodeData(s),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(s=>this.graph.getNodeData(s));return e=e.sort((s,a)=>s.meta.offline.effect.timestamp.localeCompare(a.meta.offline.effect.timestamp)),e=e.sort((s,a)=>{const n=this.requestAttemptCounter[s.payload.uuid]||0,c=this.requestAttemptCounter[a.payload.uuid]||0;return n-c}),e}registerRetry(e){this.requestAttemptCounter[e]=(this.requestAttemptCounter[e]||0)+1}}const jS=(t,e)=>{const s=new e(t);return df(s),rf(t),s};var Yl=(t=>(t[t.USER_REGISTRATION=0]="USER_REGISTRATION",t[t.APPLICATION_INVITE=2]="APPLICATION_INVITE",t[t.PROJECT_INVITE=4]="PROJECT_INVITE",t[t.ORGANIZATION_INVITE=6]="ORGANIZATION_INVITE",t[t.ADD_EMAIL_DOMAIN=8]="ADD_EMAIL_DOMAIN",t[t.RESET_PASSWORD=10]="RESET_PASSWORD",t))(Yl||{});i.APIError=q,i.AgentService=wf,i.AssetAttachmentService=Ef,i.AssetProcedureAttachmentService=jf,i.AssetProcedureFieldValuesAttachmentService=kf,i.AssetProcedureFieldValuesService=Cf,i.AssetProcedureFieldsAttachmentService=qf,i.AssetProcedureFieldsService=Mf,i.AssetProcedureInstanceService=zf,i.AssetProcedureService=Df,i.AssetService=Uf,i.AssetStageCompletionService=Vf,i.AssetStageService=$f,i.AssetTypeAttachmentService=Bf,i.AssetTypeFieldValuesAttachmentService=Nf,i.AssetTypeFieldValuesService=Hf,i.AssetTypeFieldsAttachmentService=Gf,i.AssetTypeFieldsService=Lf,i.AssetTypeService=Wf,i.AttachmentModel=Ea,i.BaseApiService=P,i.BaseSDK=ES,i.COMMON_AUTO_FIELDS=Ba,i.CategoryService=Kf,i.DEFAULT_ISSUE_PRIORITY=nh,i.DEFAULT_ISSUE_STATUS=ah,i.DeferredPromise=za,i.DocumentAttachmentService=Yf,i.DocumentService=Jf,i.EMPTY_ARRAY=va,i.EMPTY_OBJECT=wa,i.EmailDomainsService=Xf,i.EmailVerificationService=Qf,i.FileService=xf,i.FormRevisionAttachmentService=eS,i.FormRevisionService=tS,i.FormService=sS,i.FormSubmissionAttachmentService=iS,i.FormSubmissionService=aS,i.GeoImageService=nS,i.HttpMethod=h,i.IssueAssociationService=cS,i.IssueAttachmentService=rS,i.IssueCommentAttachmentService=dS,i.IssueCommentService=uS,i.IssuePriority=Et,i.IssueService=oS,i.IssueStatus=jt,i.IssueTypeAttachmentService=lS,i.IssueTypeFieldValuesAttachmentService=pS,i.IssueTypeFieldValuesService=AS,i.IssueTypeFieldsAttachmentService=hS,i.IssueTypeFieldsService=mS,i.IssueTypeService=yS,i.IssueUpdateChange=v,i.IssueUpdateService=fS,i.JWTService=bS,i.LicenseLevel=qa,i.LicenseService=TS,i.LicenseStatus=Ma,i.OUTBOX_RETRY_DELAY=ka,i.OrganizationAccessLevel=wt,i.OrganizationAccessService=IS,i.OrganizationService=FS,i.OutboxCoordinator=ze,i.PaddleCheckoutEvent=ja,i.ProjectAccessLevel=vt,i.ProjectAccessService=RS,i.ProjectAttachmentService=PS,i.ProjectFileService=OS,i.ProjectService=_S,i.TeamService=vS,i.UNKNOWN_ERROR_MESSAGE=Ce,i.UserService=wS,i.VERSION_REDUCER_KEY=De,i.VerificationCodeType=Yl,i._setLatestRetryTime=sl,i.acceptProjectInvite=Bo,i.addAsset=ls,i.addAssetAttachment=jh,i.addAssetAttachments=$t,i.addAssetProcedure=cs,i.addAssetProcedureAttachment=kh,i.addAssetProcedureAttachments=dn,i.addAssetProcedureFieldValues=Jt,i.addAssetProcedureFieldValuesAttachment=xh,i.addAssetProcedureFieldValuesAttachments=et,i.addAssetProcedureFieldValuesMany=Bn,i.addAssetProcedureFields=_n,i.addAssetProcedureFieldsAttachment=Uh,i.addAssetProcedureFieldsAttachments=gn,i.addAssetProcedureFieldsMany=Hh,i.addAssetProcedureInstance=es,i.addAssetProcedureInstances=Yn,i.addAssetProcedures=pm,i.addAssetStage=vm,i.addAssetStageCompletion=Ss,i.addAssetStageCompletions=gs,i.addAssetStages=Rs,i.addAssetType=Bs,i.addAssetTypeAttachment=qm,i.addAssetTypeAttachments=ws,i.addAssetTypeFieldValues=zs,i.addAssetTypeFieldValuesAttachment=Xm,i.addAssetTypeFieldValuesAttachments=nt,i.addAssetTypeFieldValuesMany=er,i.addAssetTypeFields=$c,i.addAssetTypeFieldsAttachment=Cm,i.addAssetTypeFieldsAttachments=qc,i.addAssetTypeFieldsMany=Gm,i.addAssetTypes=dp,i.addAssets=hs,i.addCategory=Ws,i.addConversation=Wa,i.addDocumentAttachment=bp,i.addDocumentAttachments=Sr,i.addDocuments=wr,i.addEmailDomain=Cr,i.addForm=ni,i.addFormRevision=si,i.addFormRevisionAttachment=Ep,i.addFormRevisionAttachments=Kr,i.addFormRevisions=td,i.addFormSubmission=oi,i.addFormSubmissionAttachment=Lp,i.addFormSubmissionAttachments=ot,i.addFormSubmissions=mt,i.addForms=$p,i.addGeoImage=_d,i.addGeoImages=vd,i.addIssue=Ci,i.addIssueAssociation=gi,i.addIssueAssociations=bi,i.addIssueAttachment=sA,i.addIssueAttachments=Pi,i.addIssueComment=ji,i.addIssueCommentAttachment=nA,i.addIssueCommentAttachments=Zd,i.addIssueComments=uA,i.addIssueType=to,i.addIssueTypeAttachment=mA,i.addIssueTypeAttachments=Su,i.addIssueTypeFieldValues=Gi,i.addIssueTypeFieldValuesAttachment=VA,i.addIssueTypeFieldValuesAttachments=ft,i.addIssueTypeFieldValuesMany=RA,i.addIssueTypeFields=Bu,i.addIssueTypeFieldsAttachment=fA,i.addIssueTypeFieldsAttachments=wu,i.addIssueTypeFieldsMany=EA,i.addIssueUpdate=uo,i.addIssueUpdates=oo,i.addIssues=mu,i.addLicenses=JA,i.addOrganization=vy,i.addOrganizations=_y,i.addProject=gy,i.addProjectAttachment=By,i.addProjectAttachments=cl,i.addProjectFile=Hy,i.addProjectFiles=Sl,i.addProjects=Sy,i.addTeam=El,i.addUser=sy,i.addUsers=ty,i.agentsReducer=Ja,i.agentsSlice=zt,i.areArraysEqual=lh,i.assetAttachmentReducer=nn,i.assetAttachmentSlice=Ut,i.assetProcedureAttachmentReducer=yn,i.assetProcedureAttachmentSlice=Gt,i.assetProcedureFieldValuesAttachmentReducer=Un,i.assetProcedureFieldValuesAttachmentSlice=Wt,i.assetProcedureFieldValuesReducer=Hn,i.assetProcedureFieldValuesSlice=Yt,i.assetProcedureFieldsAttachmentReducer=Rn,i.assetProcedureFieldsAttachmentSlice=Lt,i.assetProcedureFieldsReducer=jn,i.assetProcedureFieldsSlice=Nt,i.assetProcedureInstanceReducer=Qn,i.assetProcedureInstanceSlice=xt,i.assetProcedureReducer=tc,i.assetProcedureSlice=ns,i.assetReducer=cc,i.assetSlice=os,i.assetStageCompletionReducer=lc,i.assetStageCompletionSlice=fs,i.assetStageReducer=fc,i.assetStageSlice=Fs,i.assetTypeAttachmentReducer=wc,i.assetTypeAttachmentSlice=vs,i.assetTypeFieldValuesAttachmentReducer=Qc,i.assetTypeFieldValuesAttachmentSlice=Ms,i.assetTypeFieldValuesReducer=ar,i.assetTypeFieldValuesSlice=Cs,i.assetTypeFieldsAttachmentReducer=Dc,i.assetTypeFieldsAttachmentSlice=js,i.assetTypeFieldsReducer=Nc,i.assetTypeFieldsSlice=qs,i.assetTypeReducer=rr,i.assetTypeSlice=$s,i.authReducer=or,i.authSlice=rt,i.baseReducer=nf,i.baseReducers=ba,i.blobToBase64=bh,i.categoryReducer=Ar,i.categorySlice=Hs,i.clearTokens=pp,i.constructUploadedFilePayloads=gh,i.coordinatesAreEqual=uh,i.createModelAdapter=T,i.createMultiPointGeometry=dh,i.createOfflineAction=Zo,i.createPayload=_,i.createPointGeometry=rh,i.createSelectionAdapter=ch,i.deleteAsset=ms,i.deleteAssetAttachment=xa,i.deleteAssetAttachments=Bt,i.deleteAssetProcedure=rs,i.deleteAssetProcedureAttachment=ln,i.deleteAssetProcedureAttachments=hn,i.deleteAssetProcedureFieldValues=Xt,i.deleteAssetProcedureFieldValuesAttachment=im,i.deleteAssetProcedureFieldValuesAttachments=tt,i.deleteAssetProcedureFieldValuesMany=Ln,i.deleteAssetProcedureFields=wn,i.deleteAssetProcedureFieldsAttachment=Gh,i.deleteAssetProcedureFieldsAttachments=Tn,i.deleteAssetProcedureFieldsMany=Jh,i.deleteAssetProcedureInstance=ts,i.deleteAssetProcedureInstances=Jn,i.deleteAssetProcedures=ym,i.deleteAssetStage=wm,i.deleteAssetStageCompletion=bs,i.deleteAssetStageCompletions=Ts,i.deleteAssetStages=Os,i.deleteAssetType=Gs,i.deleteAssetTypeAttachment=Rc,i.deleteAssetTypeAttachments=Es,i.deleteAssetTypeFieldValues=Ds,i.deleteAssetTypeFieldValuesAttachment=ep,i.deleteAssetTypeFieldValuesAttachments=ct,i.deleteAssetTypeFieldValuesMany=sr,i.deleteAssetTypeFields=Gc,i.deleteAssetTypeFieldsAttachment=Vm,i.deleteAssetTypeFieldsAttachments=kc,i.deleteAssetTypeFieldsMany=Wm,i.deleteAssetTypes=op,i.deleteAssets=ac,i.deleteCategory=pr,i.deleteDocumentAttachment=Tr,i.deleteDocumentAttachments=Ir,i.deleteEmailDomain=zr,i.deleteForm=ci,i.deleteFormRevision=ii,i.deleteFormRevisionAttachment=kp,i.deleteFormRevisionAttachments=Jr,i.deleteFormRevisions=sd,i.deleteFormSubmission=li,i.deleteFormSubmissionAttachment=Kp,i.deleteFormSubmissionAttachments=lt,i.deleteFormSubmissions=pt,i.deleteGeoImage=yi,i.deleteGeoImages=Ed,i.deleteIssue=zi,i.deleteIssueAssociation=Ti,i.deleteIssueAssociations=Ii,i.deleteIssueAttachment=Hd,i.deleteIssueAttachments=Oi,i.deleteIssueComment=qi,i.deleteIssueCommentAttachment=tu,i.deleteIssueCommentAttachments=su,i.deleteIssueComments=oA,i.deleteIssueTypeAttachment=Tu,i.deleteIssueTypeAttachments=Iu,i.deleteIssueTypeFieldValues=Li,i.deleteIssueTypeFieldValuesAttachment=LA,i.deleteIssueTypeFieldValuesAttachments=St,i.deleteIssueTypeFieldValuesMany=vA,i.deleteIssueTypeFields=Lu,i.deleteIssueTypeFieldsAttachment=TA,i.deleteIssueTypeFieldsAttachments=ju,i.deleteIssueTypeFieldsMany=kA,i.deleteIssueUpdate=lo,i.deleteIssueUpdates=ho,i.deleteIssues=pu,i.deleteOrganization=jy,i.deleteOrganizationAccess=_o,i.deleteOrganizations=qy,i.deleteProject=$o,i.deleteProjectAccess=qo,i.deleteProjectAccesses=Mo,i.deleteProjectAttachment=ol,i.deleteProjectAttachments=la,i.deleteProjectFile=gl,i.deleteProjectFiles=bl,i.deleteProjects=Ty,i.deleteTeam=fa,i.deleteUser=ny,i.deleteUsers=cy,i.dequeue=Nl,i.discard=Fa,i.documentAttachmentReducer=Or,i.documentAttachmentSlice=Js,i.documentSlice=Xs,i.documentsReducer=Mr,i.downloadFile=Th,i.downloadInMemoryFile=Sh,i.emailDomainsReducer=Vr,i.emailDomainsSlice=Zs,i.emailRegex=vh,i.enqueue=Ll,i.enqueueRequest=el,i.fallbackToEmptyArray=g,i.fallbackToEmptyObject=ve,i.fileReducer=Nr,i.fileSlice=xs,i.fileToBlob=Va,i.formReducer=dd,i.formRevisionAttachmentReducer=Qr,i.formRevisionAttachmentSlice=ei,i.formRevisionReducer=nd,i.formRevisionsSlice=ti,i.formSlice=ai,i.formSubmissionAttachmentReducer=yd,i.formSubmissionAttachmentSlice=ri,i.formSubmissionReducer=Fd,i.formSubmissionSlice=ui,i.geoImageReducer=Md,i.geoImageSlice=Ai,i.getFileIdentifier=fh,i.getFileS3Key=Ct,i.getLocalDateString=Da,i.getLocalRelativeDateString=Ah,i.getOutboxCoordinator=Pe,i.getRenamedFile=Ua,i.hashFile=we,i.initSDK=jS,i.initializeAssetAttachments=Vt,i.initializeAssetProcedureAttachments=rn,i.initializeAssetProcedureFieldValues=$n,i.initializeAssetProcedureFieldValuesAttachments=Mn,i.initializeAssetProcedureFields=On,i.initializeAssetProcedureFieldsAttachments=Sn,i.initializeAssetProcedureInstances=Kn,i.initializeAssetProcedures=xn,i.initializeAssetStageCompletions=dc,i.initializeAssetStages=Ac,i.initializeAssetTypeAttachments=Tc,i.initializeAssetTypeFieldValues=xc,i.initializeAssetTypeFieldValuesAttachments=Wc,i.initializeAssetTypeFields=Vc,i.initializeAssetTypeFieldsAttachments=jc,i.initializeAssetTypes=cr,i.initializeAssets=ic,i.initializeCategories=hr,i.initializeConversations=Ha,i.initializeDocumentAttachments=fr,i.initializeEmailDomains=kr,i.initializeFormRevisionAttachments=Wr,i.initializeFormRevisions=ed,i.initializeFormSubmissionAttachments=hd,i.initializeFormSubmissions=Sd,i.initializeForms=rd,i.initializeGeoImages=Pd,i.initializeIssueAssociations=Cd,i.initializeIssueAttachments=Ri,i.initializeIssueCommentAttachments=vi,i.initializeIssueTypeAttachments=Vi,i.initializeIssueTypeFieldValues=zu,i.initializeIssueTypeFieldValuesAttachments=Ku,i.initializeIssueTypeFields=$u,i.initializeIssueTypeFieldsAttachments=vu,i.initializeIssueTypes=eo,i.initializeIssueUpdates=ro,i.initializeIssues=hu,i.initializeLicences=fo,i.initializeOrganizationAccesses=Po,i.initializeOrganizations=Py,i.initializeProjectAccesses=na,i.initializeProjectAttachments=nl,i.initializeProjectFiles=fl,i.initializeProjects=yy,i.initializeTeams=wl,i.initializeUsers=To,i.isToday=ph,i.issueAssociationReducer=Bd,i.issueAssociationSlice=Si,i.issueAttachmentReducer=Xd,i.issueAttachmentSlice=Fi,i.issueCommentAttachmentReducer=cu,i.issueCommentAttachmentSlice=_i,i.issueCommentReducer=ou,i.issueCommentSlice=wi,i.issueReducer=yu,i.issueSlice=ki,i.issueTypeAttachmentReducer=Ou,i.issueTypeAttachmentSlice=Ui,i.issueTypeFieldValuesAttachmentReducer=Zu,i.issueTypeFieldValuesAttachmentSlice=Ki,i.issueTypeFieldValuesReducer=Uu,i.issueTypeFieldValuesSlice=Bi,i.issueTypeFieldsAttachmentReducer=ku,i.issueTypeFieldsAttachmentSlice=$i,i.issueTypeFieldsReducer=Hu,i.issueTypeFieldsSlice=Wi,i.issueTypeReducer=no,i.issueTypeSlice=Ji,i.issueUpdateReducer=Ao,i.issueUpdateSlice=xi,i.licenseReducer=go,i.licenseSlice=ea,i.logOnlyOnce=Ih,i.markAsDeleted=tl,i.markForDeletion=$y,i.memoize=Mt,i.moveDocument=Er,i.offline=R,i.onlyUniqueHashes=_h,i.onlyUniqueOfflineIds=La,i.organizationAccessReducer=wo,i.organizationAccessSlice=sa,i.organizationReducer=Qo,i.organizationSlice=da,i.outboxReducer=il,i.outboxSlice=ua,i.overmapEnhancer=ff,i.overmapReducer=cf,i.overmapReducers=kl,i.performRequest=Ia,i.projectAccessReducer=zo,i.projectAccessSlice=aa,i.projectAttachmentReducer=Al,i.projectAttachmentSlice=oa,i.projectFileReducer=Ol,i.projectFileSlice=ha,i.projectReducer=Go,i.projectSlice=ra,i.rehydratedReducer=_l,i.rehydratedSlice=pa,i.removeDocuments=Qs,i.removeIssueType=Xi,i.removeUser=Io,i.resetProjectFileObjectUrls=Ky,i.resetStore=Ca,i.restructureCreateSelectorWithArgs=S,i.saveActiveProjectFileBounds=Fl,i.selectAccessToken=Ap,i.selectActiveOrganizationAccess=hy,i.selectActiveProjectFileId=Jy,i.selectActiveStatusLicenses=QA,i.selectAllDocumentAttachments=Rr,i.selectAllProjectAttachments=hl,i.selectAncestorIdsOfDocument=Pp,i.selectAssetAttachmentById=sn,i.selectAssetAttachmentMapping=en,i.selectAssetAttachments=tn,i.selectAssetById=ys,i.selectAssetProcedureAttachmentById=An,i.selectAssetProcedureAttachmentMapping=mn,i.selectAssetProcedureAttachments=pn,i.selectAssetProcedureById=us,i.selectAssetProcedureFieldValues=Qt,i.selectAssetProcedureFieldValuesAttachmentById=am,i.selectAssetProcedureFieldValuesAttachments=Cn,i.selectAssetProcedureFieldValuesAttachmentsByIds=zn,i.selectAssetProcedureFieldValuesAttachmentsMapping=Kt,i.selectAssetProcedureFieldValuesById=Zt,i.selectAssetProcedureFieldValuesMapping=Nn,i.selectAssetProcedureFieldValuesOfAsset=rm,i.selectAssetProcedureFields=Ht,i.selectAssetProcedureFieldsAttachmentById=Nh,i.selectAssetProcedureFieldsAttachments=Fn,i.selectAssetProcedureFieldsAttachmentsMapping=In,i.selectAssetProcedureFieldsById=Zh,i.selectAssetProcedureFieldsMapping=En,i.selectAssetProcedureFieldsOfAssetProcedure=Xh,i.selectAssetProcedureInstanceById=as,i.selectAssetProcedureInstances=is,i.selectAssetProcedureInstancesByIds=mm,i.selectAssetProcedureInstancesMapping=ss,i.selectAssetProcedureInstancesOfAssetProcedure=Xn,i.selectAssetProcedureInstancesOfAssetType=hm,i.selectAssetProcedures=ec,i.selectAssetProceduresByIds=bm,i.selectAssetProceduresMapping=ds,i.selectAssetProceduresOfOrganization=gm,i.selectAssetStageById=Sc,i.selectAssetStageCompletionById=hc,i.selectAssetStageCompletionMapping=Is,i.selectAssetStageCompletions=Om,i.selectAssetStageCompletionsByIds=mc,i.selectAssetStages=gc,i.selectAssetStagesByIds=_s,i.selectAssetStagesMappingOfAssetProcedure=Em,i.selectAssetStagesOfAssetProcedure=jm,i.selectAssetTypeAttachmentById=_c,i.selectAssetTypeAttachmentMapping=Pc,i.selectAssetTypeAttachments=Oc,i.selectAssetTypeById=Ns,i.selectAssetTypeFieldValues=Us,i.selectAssetTypeFieldValuesAttachmentById=tp,i.selectAssetTypeFieldValuesAttachments=Yc,i.selectAssetTypeFieldValuesAttachmentsByIds=Jc,i.selectAssetTypeFieldValuesAttachmentsMapping=ks,i.selectAssetTypeFieldValuesById=Vs,i.selectAssetTypeFieldValuesMapping=ir,i.selectAssetTypeFieldValuesOfAsset=ap,i.selectAssetTypeFields=at,i.selectAssetTypeFieldsAttachmentById=Bm,i.selectAssetTypeFieldsAttachments=zc,i.selectAssetTypeFieldsAttachmentsMapping=Cc,i.selectAssetTypeFieldsById=Jm,i.selectAssetTypeFieldsMapping=Lc,i.selectAssetTypeFieldsOfAssetType=Km,i.selectAssetTypeValuesOfAssetType=np,i.selectAssetTypes=lp,i.selectAssetTypesByIds=hp,i.selectAssetTypesMapping=Ls,i.selectAssets=nc,i.selectAssetsByIds=Rm,i.selectAssetsMapping=ps,i.selectAssetsOfAssetType=As,i.selectAttachmentsOfAsset=an,i.selectAttachmentsOfAssetProcedure=Dh,i.selectAttachmentsOfAssetProcedureFieldValues=Dn,i.selectAttachmentsOfAssetProcedureFields=Lh,i.selectAttachmentsOfAssetType=vc,i.selectAttachmentsOfAssetTypeFieldValues=Xc,i.selectAttachmentsOfAssetTypeFields=$m,i.selectAttachmentsOfDocument=Fp,i.selectAttachmentsOfFormRevision=Cp,i.selectAttachmentsOfFormSubmission=Ad,i.selectAttachmentsOfIssue=Yd,i.selectAttachmentsOfIssueComment=dA,i.selectAttachmentsOfIssueType=yA,i.selectAttachmentsOfIssueTypeFieldValues=Qu,i.selectAttachmentsOfIssueTypeFields=IA,i.selectAttachmentsOfProject=pl,i.selectCategories=fp,i.selectCategoriesByIds=Sp,i.selectCategoryById=Ys,i.selectCategoryMapping=Ks,i.selectCommentsOfIssue=lA,i.selectConversation=Eh,i.selectConversationMapping=Dt,i.selectConversations=wh,i.selectCurrentUser=Tt,i.selectDeletedRequests=Uy,i.selectDocumentAttachmentById=Pr,i.selectDocumentAttachmentMapping=Fr,i.selectDocumentById=qr,i.selectDocuments=jr,i.selectDocumentsByIds=Rp,i.selectDocumentsMapping=Ee,i.selectEmailDomains=Ur,i.selectEmailDomainsAsMapping=Dr,i.selectEmailDomainsOfOrganization=vp,i.selectFieldValuesOfAssetProcedureInstance=dm,i.selectFormById=od,i.selectFormMapping=ud,i.selectFormRevisionAttachmentsMapping=Xr,i.selectFormRevisionById=Dp,i.selectFormRevisionMapping=ut,i.selectFormRevisions=id,i.selectFormRevisionsOfForm=ad,i.selectFormSubmissionAttachemntsByIds=pd,i.selectFormSubmissionAttachmentsMapping=di,i.selectFormSubmissionById=pi,i.selectFormSubmissions=mi,i.selectFormSubmissionsMapping=hi,i.selectFormSubmissionsOfAsset=Id,i.selectFormSubmissionsOfForm=bd,i.selectFormSubmissionsOfIssue=Td,i.selectForms=Gp,i.selectGeoImageById=fi,i.selectGeoImageMapping=jd,i.selectGeoImages=qd,i.selectGeoImagesOfProject=Qp,i.selectIsImportingProjectFile=Xy,i.selectIsLoggedIn=yp,i.selectIssueAssociationById=Dd,i.selectIssueAssociationMapping=Ke,i.selectIssueAssociations=tA,i.selectIssueAssociationsOfAsset=$d,i.selectIssueAssociationsOfIssue=Vd,i.selectIssueAssociationsToIssue=Ud,i.selectIssueAttachmentById=Jd,i.selectIssueAttachmentMapping=Wd,i.selectIssueAttachments=Kd,i.selectIssueById=Di,i.selectIssueCommentAttachmentById=nu,i.selectIssueCommentAttachmentMapping=iu,i.selectIssueCommentAttachments=au,i.selectIssueCommentById=Mi,i.selectIssueCommentMapping=uu,i.selectIssueCountOfCategory=gp,i.selectIssueMapping=Au,i.selectIssueTypeAttachmentById=Pu,i.selectIssueTypeAttachmentMapping=Fu,i.selectIssueTypeAttachments=Ru,i.selectIssueTypeById=Qi,i.selectIssueTypeFieldValues=Ni,i.selectIssueTypeFieldValuesAttachmentById=NA,i.selectIssueTypeFieldValuesAttachments=Ju,i.selectIssueTypeFieldValuesAttachmentsByIds=Xu,i.selectIssueTypeFieldValuesAttachmentsMapping=Yi,i.selectIssueTypeFieldValuesById=Hi,i.selectIssueTypeFieldValuesMapping=Du,i.selectIssueTypeFieldValuesOfIssue=wA,i.selectIssueTypeFields=yt,i.selectIssueTypeFieldsAttachmentById=FA,i.selectIssueTypeFieldsAttachments=Mu,i.selectIssueTypeFieldsAttachmentsMapping=qu,i.selectIssueTypeFieldsById=UA,i.selectIssueTypeFieldsMapping=Nu,i.selectIssueTypeFieldsOfIssueType=CA,i.selectIssueTypeMapping=io,i.selectIssueTypeValuesOfIssueType=DA,i.selectIssueTypes=ao,i.selectIssueTypesByIds=HA,i.selectIssueTypesOfOrganization=WA,i.selectIssueUpdateMapping=mo,i.selectIssueUpdatesOfIssue=po,i.selectIssuesByIds=hA,i.selectIssuesOfIssueType=Zi,i.selectIssuesOfIssueTypeCount=KA,i.selectLatestAssetProcedureFieldsOfAssetProcedure=Qh,i.selectLatestAssetTypeFieldsOfAssetType=Ym,i.selectLatestFormRevisionOfForm=Up,i.selectLatestIssueTypeFieldsOfIssueType=zA,i.selectLatestRetryTime=Vy,i.selectLicense=XA,i.selectLicenseForProject=So,i.selectLicenses=bt,i.selectLicensesForProjectsMapping=ZA,i.selectLicensesOfOrganization=zy,i.selectNumberOfAssetsOfAssetType=Pm,i.selectOrganizationAccessById=ly,i.selectOrganizationAccessForUser=my,i.selectOrganizationAccessUserMapping=vo,i.selectOrganizationAccesses=ia,i.selectOrganizationById=My,i.selectOrganizationUsersAsMapping=Xo,i.selectOrganizationUsersIds=Jo,i.selectOrganizations=Yo,i.selectOrganizationsMapping=Ko,i.selectOrganizationsWithAccess=ky,i.selectProjectAccessById=py,i.selectProjectAccessForUser=Ay,i.selectProjectAccessMapping=ca,i.selectProjectAccessUserMapping=Co,i.selectProjectAccesses=ko,i.selectProjectAttachmentById=ml,i.selectProjectAttachmentMapping=ll,i.selectProjectById=Fy,i.selectProjectFileById=Yy,i.selectProjectFileMapping=Rl,i.selectProjectFiles=Pl,i.selectProjectMapping=Rt,i.selectProjectUsersAsMapping=No,i.selectProjectUsersIds=Lo,i.selectProjects=Iy,i.selectProjectsOfOrganization=Cy,i.selectRehydrated=xy,i.selectRootDocuments=Op,i.selectSortedOrganizationUsers=Dy,i.selectSortedProjectUsers=Ry,i.selectStageMapping=it,i.selectTeamById=ke,i.selectTeams=ga,i.selectTeamsByIds=ef,i.selectTeamsMapping=Sa,i.selectTeamsOfOrganization=tf,i.selectTeamsOfUser=sf,i.selectUploadUrl=Lr,i.selectUserById=uy,i.selectUsersByIds=oy,i.selectUsersMapping=It,i.setActiveProjectFileId=Il,i.setAsset=Im,i.setAssetAttachment=Qa,i.setAssetAttachments=qh,i.setAssetProcedure=fm,i.setAssetProcedureAttachment=un,i.setAssetProcedureAttachments=Ch,i.setAssetProcedureFieldValues=nm,i.setAssetProcedureFieldValuesAttachment=em,i.setAssetProcedureFieldValuesAttachments=tm,i.setAssetProcedureFieldValuesMany=cm,i.setAssetProcedureFields=Wh,i.setAssetProcedureFieldsAttachment=Vh,i.setAssetProcedureFieldsAttachments=$h,i.setAssetProcedureFieldsMany=Kh,i.setAssetProcedureInstance=om,i.setAssetProcedureInstances=lm,i.setAssetProcedures=Sm,i.setAssetStage=yc,i.setAssetStages=_m,i.setAssetType=cp,i.setAssetTypeAttachment=Ic,i.setAssetTypeAttachments=Mm,i.setAssetTypeFieldValues=sp,i.setAssetTypeFieldValuesAttachment=Qm,i.setAssetTypeFieldValuesAttachments=Zm,i.setAssetTypeFieldValuesMany=ip,i.setAssetTypeFields=Lm,i.setAssetTypeFieldsAttachment=zm,i.setAssetTypeFieldsAttachments=Dm,i.setAssetTypeFieldsMany=Nm,i.setAssetTypes=rp,i.setAssets=Fm,i.setConversation=Ka,i.setCurrentUser=ry,i.setDocumentAttachment=gr,i.setDocumentAttachments=Tp,i.setDocuments=vr,i.setForm=Vp,i.setFormRevision=xr,i.setFormRevisionAttachment=jp,i.setFormRevisionAttachments=qp,i.setFormSubmission=ht,i.setFormSubmissionAttachment=Np,i.setFormSubmissionAttachments=Hp,i.setFormSubmissions=Yp,i.setGeoImage=We,i.setGeoImages=Od,i.setIsImportingProjectFile=Tl,i.setIssueAssociation=xp,i.setIssueAssociations=Zp,i.setIssueAttachment=Ld,i.setIssueAttachments=iA,i.setIssueComment=Ei,i.setIssueCommentAttachment=xd,i.setIssueCommentAttachments=cA,i.setIssueComments=du,i.setIssueType=Je,i.setIssueTypeAttachment=gu,i.setIssueTypeAttachments=pA,i.setIssueTypeFieldValues=PA,i.setIssueTypeFieldValuesAttachment=$A,i.setIssueTypeFieldValuesAttachments=BA,i.setIssueTypeFieldValuesMany=OA,i.setIssueTypeFields=jA,i.setIssueTypeFieldsAttachment=SA,i.setIssueTypeFieldsAttachments=gA,i.setIssueTypeFieldsMany=qA,i.setIssueUpdate=YA,i.setLoggedIn=ur,i.setOrganization=Oy,i.setOrganizations=Wo,i.setProfilePicture=dy,i.setProject=fy,i.setProjectAttachment=rl,i.setProjectAttachments=dl,i.setProjectFile=Ly,i.setProjectFiles=Ny,i.setProjects=Uo,i.setRehydrated=Zy,i.setTeam=Me,i.setTokens=mp,i.setUploadUrl=Gr,i.setUser=ey,i.setUsers=xA,i.shallowEqual=oh,i.slugify=Ph,i.spacesToDashesLower=Rh,i.teamReducer=jl,i.teamSlice=Aa,i.toFileNameSafeString=Fh,i.toOfflineIdRecord=Ga,i.truncate=Oh,i.updateAsset=Ge,i.updateAssetAttachment=Mh,i.updateAssetAttachments=Za,i.updateAssetProcedure=Be,i.updateAssetProcedureAttachment=zh,i.updateAssetProcedureAttachments=on,i.updateAssetProcedureFieldValues=Ve,i.updateAssetProcedureFieldValuesAttachment=sm,i.updateAssetProcedureFieldValuesAttachments=kn,i.updateAssetProcedureFieldValuesMany=Gn,i.updateAssetProcedureFields=vn,i.updateAssetProcedureFieldsAttachment=Bh,i.updateAssetProcedureFieldsAttachments=bn,i.updateAssetProcedureFieldsMany=Yh,i.updateAssetProcedureInstance=$e,i.updateAssetProcedureInstances=um,i.updateAssetProcedures=Am,i.updateAssetStage=Ps,i.updateAssetStageCompletion=uc,i.updateAssetStageCompletions=oc,i.updateAssetStages=st,i.updateAssetType=Ne,i.updateAssetTypeAttachment=km,i.updateAssetTypeAttachments=Fc,i.updateAssetTypeFieldValues=Le,i.updateAssetTypeFieldValuesAttachment=xm,i.updateAssetTypeFieldValuesAttachments=Kc,i.updateAssetTypeFieldValuesMany=tr,i.updateAssetTypeFields=Bc,i.updateAssetTypeFieldsAttachment=Um,i.updateAssetTypeFieldsAttachments=Mc,i.updateAssetTypeFieldsMany=Hm,i.updateAssetTypes=up,i.updateAssets=Tm,i.updateCategory=mr,i.updateConversation=Ya,i.updateDocumentAttachment=Ip,i.updateDocumentAttachments=br,i.updateDocuments=fe,i.updateForm=Bp,i.updateFormRevisionAttachment=Mp,i.updateFormRevisionAttachments=Yr,i.updateFormSubmission=gd,i.updateFormSubmissionAttachment=Wp,i.updateFormSubmissionAttachments=md,i.updateFormSubmissions=Jp,i.updateGeoImage=wd,i.updateGeoImages=Xp,i.updateIssue=At,i.updateIssueAssociation=zd,i.updateIssueAssociations=eA,i.updateIssueAttachment=aA,i.updateIssueAttachments=Nd,i.updateIssueCommentAttachment=rA,i.updateIssueCommentAttachments=eu,i.updateIssueType=so,i.updateIssueTypeAttachment=AA,i.updateIssueTypeAttachments=bu,i.updateIssueTypeFieldValues=Ye,i.updateIssueTypeFieldValuesAttachment=GA,i.updateIssueTypeFieldValuesAttachments=Yu,i.updateIssueTypeFieldValuesMany=_A,i.updateIssueTypeFields=Gu,i.updateIssueTypeFieldsAttachment=bA,i.updateIssueTypeFieldsAttachments=Eu,i.updateIssueTypeFieldsMany=MA,i.updateLicense=Ae,i.updateOrganization=Ey,i.updateOrganizationAccess=Oo,i.updateOrganizations=wy,i.updateProject=Vo,i.updateProjectAccess=jo,i.updateProjectAttachment=Gy,i.updateProjectAttachments=ul,i.updateProjectFile=ma,i.updateProjectFiles=Wy,i.updateProjects=by,i.updateTeam=ya,i.updateUser=ay,i.updateUsers=iy,i.userReducer=Fo,i.userSlice=ta,i.versioningReducer=Ml,i.versioningSlice=ql,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
13
+ external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(p)}return await this.addCache(d),d}processPresignedUrl(e,n){if("warning"in n){if(n.warning==="already_uploaded")return Promise.resolve(void 0);throw console.error(n.warning),new Error(n.warning)}return this.enqueueRequest({url:n.url,description:"Upload file to S3",method:o.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${n.fields.key}`],blocks:[e],s3url:n})}processPresignedUrls(e){const n={};for(const[a,r]of Object.entries(e))n[a]=this.processPresignedUrl(a,r);return n}async getFilePayload(e){const a={sha1:await Vt(e),file_type:e.type,extension:Ta(e),size:e.size};return await this.client.files.addCache(e),a}}class Vg extends E{constructor(){super(...arguments);h(this,"name","Form Identifier");h(this,"url","/form-identifiers");h(this,"actions",{addOne:zu,addMany:Du,setOne:ju,setMany:qu,updateOne:Cu,updateMany:$u,deleteOne:Uu,deleteMany:Lu,initialize:Vu});h(this,"selectors",{selectById:Nu,selectByIds:Gu})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.form],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(r)),r}}class zg extends E{constructor(){super(...arguments);h(this,"name","Form Identifier Value");h(this,"url","/form-identifier-values");h(this,"actions",{addOne:Yu,addMany:Zu,setOne:Ju,setMany:Xu,updateOne:Qu,updateMany:xu,deleteOne:el,deleteMany:tl,initialize:Ku});h(this,"selectors",{selectById:il,selectByIds:nl})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.form_submission,e.form_identifier],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class Dg extends j{constructor(){super(...arguments);h(this,"name","Form Revision Attachment");h(this,"url","/form-revision-attachments");h(this,"actions",{addOne:dl,addMany:ul,setOne:ll,setMany:ol,updateOne:hl,updateMany:pl,deleteOne:ml,deleteMany:yl,initialize:rl});h(this,"selectors",{selectById:Sl,selectByIds:Al})}getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(a(r)),r}}class jg extends E{constructor(){super(...arguments);h(this,"name","Form Revision");h(this,"url","/form-revisions");h(this,"actions",{addOne:Pl,addMany:Qs,setOne:Fl,setMany:bl,updateOne:_l,updateMany:gl,deleteOne:Ml,deleteMany:xs,initialize:Ol});h(this,"selectors",{selectById:wl,selectByIds:vl})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.form],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(r)),r}}class qg extends E{constructor(){super(...arguments);h(this,"name","Form");h(this,"url","/forms");h(this,"actions",{addOne:Dl,addMany:jl,setOne:ql,setMany:Cl,updateOne:$l,updateMany:Ul,deleteOne:Ll,deleteMany:kl,initialize:zl});h(this,"selectors",{selectById:Hl,selectByIds:Wl})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=new Date().toISOString(),u=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:c,created_by:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error("Expected form to exist");const u=this.select(So(e)),d=this.select(El(e));this.dispatch(n(e)),this.dispatch(li(v(u))),this.dispatch(xs(v(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(a(c)),this.dispatch(Qs(d)),this.dispatch(ui(u)),m}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class Cg extends j{constructor(){super(...arguments);h(this,"name","Form Submission Attachment");h(this,"url","/form-submission-attachments");h(this,"actions",{addOne:Zl,addMany:ii,setOne:Jl,setMany:Xl,updateOne:Ql,updateMany:xl,deleteOne:eo,deleteMany:ni,initialize:Yl});h(this,"selectors",{selectById:to,selectByIds:so})}getId(e){return e.uuid}getBlockers(e){return[e.form_submission]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,form_submission:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,form_submission:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,form_submission:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,form_submission:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,r=this.select(ri(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(a(r)),c}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e}},n)).flat();return this.dispatch(a(c)),c}}class $g extends E{constructor(){super(...arguments);h(this,"name","Form Submission");h(this,"url","/form-submissions");h(this,"actions",{addOne:lo,addMany:ui,setOne:ro,setMany:uo,updateOne:oo,updateMany:ho,deleteOne:po,deleteMany:li,initialize:co});h(this,"selectors",{selectById:yo,selectByIds:fo})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u}),m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.form_revision],blocks:[d.uuid]});return this.dispatch(n(d)),m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(io(e));this.dispatch(n(e)),this.dispatch(ni(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(ii(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_revision__form_organization:e}},n)).flat();return this.dispatch(a(c)),c}}class Ug extends j{constructor(){super(...arguments);h(this,"name","Geo Image");h(this,"url","/geo-images");h(this,"actions",{addOne:Fo,addMany:bo,setOne:Oo,setMany:Po,updateOne:_o,updateMany:go,deleteOne:Mo,deleteMany:Ro,initialize:To});h(this,"selectors",{selectById:vo,selectByIds:Eo})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,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,canvas_marker:e.canvas_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,canvas_marker:e.canvas_marker,direction:e.direction,original_date:e.original_date,project:e.project}}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{project:e}},n);return this.dispatch(a(r)),r}}class Lg extends E{constructor(){super(...arguments);h(this,"name","Issue Association");h(this,"url","/issue-associations");h(this,"actions",{addOne:$o,addMany:pt,setOne:jo,setMany:Do,updateOne:qo,updateMany:Co,deleteOne:Uo,deleteMany:mt,initialize:zo});h(this,"selectors",{selectById:ko,selectByIds:No})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=new Date().toISOString(),u=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:c,created_by:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.issue,e.asset],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}bulkAdd(e){const{addMany:n,deleteMany:a,updateMany:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(p=>O({...p,submitted_at:u,created_by:c}));this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{payloads:d.map(p=>M(p)),submitted_at:u},blockers:d.flatMap(p=>[p.issue,p.asset]),blocks:v(d)});return m.then(p=>{this.dispatch(r(p))}).catch(()=>{this.dispatch(a(v(d)))}),[d,m]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class kg extends j{constructor(){super(...arguments);h(this,"name","Issue Attachment");h(this,"url","/issue-attachments");h(this,"actions",{addOne:Xo,addMany:fi,setOne:Qo,setMany:xo,updateOne:eh,updateMany:th,deleteOne:sh,deleteMany:Si,initialize:Jo});h(this,"selectors",{selectById:ah,selectByIds:ch})}getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,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,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class Ng extends j{constructor(){super(...arguments);h(this,"name","Issue Comment Attachment");h(this,"url","/issue-comment-attachments");h(this,"actions",{addOne:lh,addMany:oh,setOne:hh,setMany:ph,updateOne:mh,updateMany:yh,deleteOne:fh,deleteMany:Sh,initialize:uh});h(this,"selectors",{selectById:Ih,selectByIds:Th})}getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class Gg extends E{constructor(){super(...arguments);h(this,"name","Issue Comment");h(this,"url","/issue-comments");h(this,"actions",{addOne:bh,addMany:_h,setOne:gh,setMany:Mh,updateOne:Rh,updateMany:wh,deleteOne:vh,deleteMany:Eh,initialize:Fh});h(this,"selectors",{selectById:Bh,selectByIds:Vh})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>d.userReducer.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.issue],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{setMany:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class Hg extends E{constructor(){super(...arguments);h(this,"name","Issue");h(this,"url","/issues");h(this,"actions",{addOne:qh,addMany:bi,setOne:Ch,setMany:$h,updateOne:Uh,updateMany:Lh,deleteOne:kh,deleteMany:_i,initialize:jh});h(this,"selectors",{selectById:Gh,selectByIds:Hh})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=new Date().toISOString(),u=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:c,created_by:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.project,d.issue_type,d.status],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(p=>{throw this.dispatch(r(d.uuid)),p}),[d,m]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const c={...r,...e};this.dispatch(n(c));const u={};for(const p of[$.TITLE,$.DESCRIPTION,$.STATUS,$.PRIORITY,$.ASSIGNED_TO,$.DUE_DATE])if(p in e&&e[p]!==r[p])switch(p){case $.PRIORITY:u[p]=e.priority;break;case $.DUE_DATE:u[p]=e.due_date;break;case $.DESCRIPTION:u[p]=e.description??"";break;case $.TITLE:u[p]=e.title??"";break;case $.STATUS:{const f=e[p],I=this.select(Ni(f));if(!I)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);u[p]={name:I.name,color:I.color,uuid:I.uuid};break}case $.ASSIGNED_TO:{const f=e[p];if(f===null)u[p]=null;else{const I=this.select(Jt(f));if(!I)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);u[p]={full_name:I.username,id:I.id}}break}}const d=O({created_by:this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),submitted_at:new Date().toISOString(),issue:r.uuid,changes:u});this.dispatch(Hi(d));const m=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return m.then(p=>{this.dispatch(n(p))}).catch(()=>{this.dispatch(n(r)),this.dispatch(Ki(d.uuid))}),[c,m]}bulkUpdate(e,n){const{updateMany:a}=this.actions,{selectByIds:r}=this.selectors,c=v(e).toSorted(zt);if(c.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(c)).toSorted(ls);if(c.length!=u.length)throw new Error(`Attempting to bulk update ${c.length-u.length} issues that dont exist in the store`);const d=[];for(let I=0;I<c.length;I++)d.push({...u[I],...e[I]});this.dispatch(a(d));const m=nt(e,Math.min(n??e.length,k)),p=[];let f=null;for(const I of m){const R=at.v4(),b=v(I),g=I.map(({status:w})=>w).filter(Boolean),_=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(f?[f]:[]).concat(b).concat(g),blocks:[R].concat(b)});p.push(_),f=R}return Promise.all(p).then(I=>{this.dispatch(a(I.flat()))}).catch(()=>{this.dispatch(a(u))}),[d,p]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const u=this.select(Ho(e)),d=this.select(nh(e)),m=this.select(Ay(e));this.dispatch(n(e)),this.dispatch(Si(v(d))),this.dispatch(Yi(v(m))),this.dispatch(mt(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(fi(d)),this.dispatch(Wi(m)),this.dispatch(pt(u)),p}}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e)),u=this.select(Go(e));this.dispatch(a(e)),this.dispatch(mt(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(n(c)),this.dispatch(pt(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class Wg extends j{constructor(){super(...arguments);h(this,"name","Issue Type Attachment");h(this,"url","/issue-type-attachments");h(this,"actions",{addOne:Jh,addMany:Xh,setOne:Qh,setMany:xh,updateOne:ep,updateMany:tp,deleteOne:sp,deleteMany:ip,initialize:Zh});h(this,"selectors",{selectById:ap,selectByIds:cp})}getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,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,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class Kg extends j{constructor(){super(...arguments);h(this,"name","Issue Type Fields Attachment");h(this,"url","/issue-type-fields-attachments");h(this,"actions",{addOne:lp,addMany:op,setOne:hp,setMany:pp,updateOne:mp,updateMany:yp,deleteOne:fp,deleteMany:Sp,initialize:up});h(this,"selectors",{selectById:Ip,selectByIds:Tp})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class Yg extends E{constructor(){super(...arguments);h(this,"name","Issue Type Fields");h(this,"url","/issue-type-fields");h(this,"actions",{addOne:Cp,addMany:$p,setOne:Up,setMany:Lp,updateOne:kp,updateMany:Np,deleteOne:Gp,deleteMany:Hp,initialize:qp});h(this,"selectors",{selectById:Kp,selectByIds:Yp})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.issue_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(p=>{throw this.dispatch(r(d.uuid)),p}),[d,m]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class Zg extends j{constructor(){super(...arguments);h(this,"name","Issue Type Field Values Attachment");h(this,"url","/issue-type-field-values-attachments");h(this,"actions",{addOne:Qp,addMany:Vi,setOne:xp,setMany:em,updateOne:tm,updateMany:sm,deleteOne:im,deleteMany:zi,initialize:Xp});h(this,"selectors",{selectById:am,selectByIds:cm})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class Jg extends E{constructor(){super(...arguments);h(this,"name","Issue Type Field Values");h(this,"url","/issue-type-field-values");h(this,"actions",{addOne:bp,addMany:_p,setOne:gp,setMany:Mp,updateOne:Rp,updateMany:wp,deleteOne:vp,deleteMany:Ep,initialize:Fp});h(this,"selectors",{selectById:Vp,selectByIds:zp})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u}),m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.issue,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(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 u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(rm(e));this.dispatch(n(e)),this.dispatch(zi(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(Vi(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class Xg extends E{constructor(){super(...arguments);h(this,"name","Issue Type Identifier");h(this,"url","/issue-type-identifiers");h(this,"actions",{addOne:om,addMany:hm,setOne:pm,setMany:mm,updateOne:ym,updateMany:fm,deleteOne:Sm,deleteMany:Am,initialize:lm});h(this,"selectors",{selectById:Tm,selectByIds:Om})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.issue_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class Qg extends E{constructor(){super(...arguments);h(this,"name","Issue Type Identifier Value");h(this,"url","/issue-type-identifier-values");h(this,"actions",{addOne:_m,addMany:gm,setOne:Mm,setMany:Rm,updateOne:wm,updateMany:vm,deleteOne:Em,deleteMany:Bm,initialize:bm});h(this,"selectors",{selectById:zm,selectByIds:Dm})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.issue,e.issue_type_identifier],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class xg extends E{constructor(){super(...arguments);h(this,"name","Issue Type");h(this,"url","/issue-types");h(this,"actions",{addOne:$m,addMany:Um,setOne:Lm,setMany:km,updateOne:Nm,updateMany:Gm,deleteOne:Hm,deleteMany:Wm,initialize:Cm});h(this,"selectors",{selectById:Ym,selectByIds:Zm})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,submitted_at:u,created_by:c});this.dispatch(n(d));const m=this.enqueueRequest({method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,setOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const u=this.select(Wh(e));this.dispatch(n(e)),this.dispatch(_i(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(bi(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class eM extends E{constructor(){super(...arguments);h(this,"name","Issue Type Status");h(this,"url","/issue-type-statuses");h(this,"actions",{addOne:xm,addMany:ey,setOne:ty,setMany:sy,updateOne:iy,updateMany:ny,deleteOne:ay,deleteMany:cy,initialize:Qm});h(this,"selectors",{selectById:Ni,selectByIds:dy})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.issue_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class tM extends E{constructor(){super(...arguments);h(this,"name","Issue Update");h(this,"url","/issue-updates");h(this,"actions",{addOne:Hi,addMany:Wi,setOne:hy,setMany:py,updateOne:my,updateMany:yy,deleteOne:Ki,deleteMany:Yi,initialize:oy});h(this,"selectors",{selectById:fy,selectByIds:Sy})}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}const sM=1800;function iM(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 nM extends mg{constructor(){super(...arguments);h(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:o.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await n}catch(r){console.error("Could not renew tokens; clearing auth",r),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($d(!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 n=await this._getRenewedTokens(e);if(!n)return;console.debug("Got renewed tokens"),this.setTokens(n)}catch(n){throw console.error("Could not renew tokens; clearing auth",n),this.clearAuth(),n}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const n=Date.now()/1e3;let a;try{a=BF(e).exp??n}catch{a=n}return a-n<sM}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 U&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??At).toString()))}}}async handleUnauthorized(e,n){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 U({message:"You have been signed out due to inactivity.",response:n,discard:!0});if(this.select(a=>a.authReducer.isLoggedIn))await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new U({message:"Incorrect username or password.",response:n,discard:!0})}async initAuth(e){const n=at.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:n,method:o.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(iM(a))})}}class aM extends lt{constructor(){super(...arguments);h(this,"name","Organization Access");h(this,"url","/organization-accesses");h(this,"actions",{addOne:Vy,addMany:zy,setOne:Dy,setMany:jy,updateOne:qy,updateMany:Cy,deleteOne:$y,deleteMany:Uy,initialize:By});h(this,"selectors",{selectById:ky,selectByIds:Ny})}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid)),c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(d=>{throw this.dispatch(n(r)),d}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e)),u=this.select(Jt(c.user));this.dispatch(n(c.uuid)),this.dispatch(xi(c.user));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${c.uuid}/`,blockers:[c.uuid],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(Qi(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class cM extends lt{constructor(){super(...arguments);h(this,"name","Organization");h(this,"url","/organizations");h(this,"actions",{addOne:Jy,addMany:Zy,setOne:Yy,setMany:Ky,updateOne:Qy,updateMany:Xy,deleteOne:xy,deleteMany:ef,initialize:Wy});h(this,"selectors",{selectById:nf,selectByIds:af})}async add(e){const{addOne:n}=this.actions,a=await this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(n(a)),a}async update(e){const{setOne:n}=this.actions,a=await this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(n(a)),a}async invite(e,n){return this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/${e}/invite/${n}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:n}=this.actions,a=await this.list({},e);return this.dispatch(n(a)),a}}class rM extends E{constructor(){super(...arguments);h(this,"name","Project Access");h(this,"url","/project-accesses");h(this,"actions",{addOne:yf,addMany:ff,setOne:Sf,setMany:Af,updateOne:If,updateMany:Tf,deleteOne:Of,deleteMany:Pf,initialize:mf});h(this,"selectors",{selectById:bf,selectByIds:_f})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null})});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.organization_access,c.project],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(r(c.uuid)),d}),[c,u]}bulkAdd(e){const{addMany:n,deleteMany:a,updateMany:r}=this.actions,c=this.select(m=>{var p;return((p=m.userReducer.currentUser)==null?void 0:p.id)??null}),u=e.map(m=>O({...m,created_by:c}));this.dispatch(n(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{project_accesses:u.map(m=>M(m))},blockers:u.flatMap(m=>[m.project,m.organization_access]),blocks:u.map(m=>m.uuid)});return d.then(m=>{this.dispatch(r(m))}).catch(m=>{throw this.dispatch(a(u.map(p=>p.uuid))),m}),[u,d]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid)),c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return u.then(d=>{this.dispatch(n(d))}).catch(d=>{throw this.dispatch(n(r)),d}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(r)),r}}class dM extends j{constructor(){super(...arguments);h(this,"name","Project Attachment");h(this,"url","/project-attachments");h(this,"actions",{addOne:Rf,addMany:wf,setOne:vf,setMany:Ef,updateOne:Bf,updateMany:Vf,deleteOne:zf,deleteMany:Df,initialize:Mf});h(this,"selectors",{selectById:qf,selectByIds:Cf})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,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,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(r)),r}}class uM extends j{constructor(){super(...arguments);h(this,"name","Project File");h(this,"url","/project-files");h(this,"actions",{addOne:Gf,addMany:Hf,setOne:kf,setMany:Nf,updateOne:Wf,updateMany:Kf,deleteOne:Yf,deleteMany:Zf,initialize:Lf});h(this,"selectors",{selectById:Qf,selectByIds:xf})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,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,canvas_bounds:e.canvas_bounds,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,canvas_bounds:e.canvas_bounds,bounds:e.bounds}}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class lM extends lt{constructor(){super(...arguments);h(this,"name","Project");h(this,"url","/projects");h(this,"actions",{addOne:cS,addMany:aS,setOne:nS,setMany:iS,updateOne:dS,updateMany:rS,deleteOne:uS,deleteMany:lS,initialize:sS});h(this,"selectors",{selectById:pS,selectByIds:mS})}async add(e){const{addOne:n}=this.actions,a=await this.performRequest({method:o.POST,url:`${this.url}/`,payload:M(e)});return this.dispatch(n(a)),a}async update(e){const{updateOne:n}=this.actions,a=await this.performRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e)});return this.dispatch(n(a)),a}async delete(e){const{deleteOne:n}=this.actions,a=await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(n(e)),a}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class oM extends E{constructor(){super(...arguments);h(this,"name","Procedure");h(this,"url","/procedures");h(this,"actions",{addOne:ES,addMany:ft,setOne:BS,setMany:VS,updateOne:zS,updateMany:DS,deleteOne:jS,deleteMany:St,initialize:vS});h(this,"selectors",{selectById:$S,selectByIds:US})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(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 u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e,n){var b;const{store:a}=this.client,{addMany:r,updateMany:c,deleteMany:u}=this.actions,d=new Date().toISOString(),m=((b=a.getState().userReducer.currentUser)==null?void 0:b.id)??null,p=[],f=nt(e,Math.min(n??e.length,k)),I=[];for(const g of f){const _=[],w=[],B=[];for(const D of g){const z=O({...D,submitted_at:d,created_by:m});p.push(z),_.push(M(z)),w.push(z.procedure_type,z.project,z.asset,...z.procedure_initiative?[z.procedure_initiative]:[]),B.push(z.uuid)}const C={payload:{submitted_at:d,payloads:_},blockers:w,blocks:B};I.push(C)}this.dispatch(r(p));const R=I.map(g=>{const{payload:_,blocks:w,blockers:B}=g;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:_,blockers:B,blocks:w})});return Promise.all(R).then(g=>{this.dispatch(c(g.flat()))}).catch(()=>{this.dispatch(u(v(p)))}),[p,Promise.all(R).then(g=>g.flat())]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(a(v(c)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(n(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class hM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Assignee");h(this,"url","/procedure-step-assignees");h(this,"actions",{addOne:KS,addMany:YS,setOne:ZS,setMany:JS,updateOne:XS,updateMany:QS,deleteOne:xS,deleteMany:eA,initialize:WS});h(this,"selectors",{selectById:sA,selectByIds:iA})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e){const{addMany:n,setMany:a,deleteMany:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(p=>O({...p,created_by:c,submitted_at:u}));this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_assignees:d.map(p=>M(p)),submitted_at:u},blockers:d.flatMap(p=>[p.procedure,p.procedure_step]),blocks:v(d)});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(v(d)))}),[d,m]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step assignee with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class pM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Comment");h(this,"url","/procedure-step-comments");h(this,"actions",{addOne:rA,addMany:dA,setOne:uA,setMany:lA,updateOne:oA,updateMany:hA,deleteOne:pA,deleteMany:mA,initialize:cA});h(this,"selectors",{selectById:fA,selectByIds:SA})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Procedure step comment with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Procedure step comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class mM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Default Assignee");h(this,"url","/procedure-step-default-assignees");h(this,"actions",{addOne:OA,addMany:PA,setOne:FA,setMany:bA,updateOne:_A,updateMany:gA,deleteOne:MA,deleteMany:RA,initialize:TA});h(this,"selectors",{selectById:vA,selectByIds:EA})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step default assignee with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class yM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Default Reviewer");h(this,"url","/procedure-step-default-reviewers");h(this,"actions",{addOne:DA,addMany:jA,setOne:qA,setMany:CA,updateOne:$A,updateMany:UA,deleteOne:LA,deleteMany:kA,initialize:zA});h(this,"selectors",{selectById:GA,selectByIds:HA})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step default reviewer with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class fM extends lt{constructor(){super(...arguments);h(this,"name","Procedure Step Event");h(this,"url","/procedure-step-events");h(this,"actions",{addOne:ZA,addMany:JA,setOne:XA,setMany:QA,updateOne:xA,updateMany:eI,deleteOne:tI,deleteMany:sI,initialize:YA});h(this,"selectors",{selectById:nI,selectByIds:aI})}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class SM extends j{constructor(){super(...arguments);h(this,"name","Procedure Step Fields Attachment");h(this,"url","/procedure-step-fields-attachments");h(this,"actions",{addOne:uI,addMany:On,setOne:lI,setMany:oI,updateOne:hI,updateMany:pI,deleteOne:mI,deleteMany:Pn,initialize:dI});h(this,"selectors",{selectById:SI,selectByIds:AI})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){return O({...e,created_by:this.select(n=>{var a;return((a=n.userReducer.currentUser)==null?void 0:a.id)??null}),submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class AM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Fields");h(this,"url","/procedure-step-fields");h(this,"actions",{addOne:PI,addMany:FI,setOne:bI,setMany:_I,updateOne:gI,updateMany:MI,deleteOne:RI,deleteMany:wI,initialize:OI});h(this,"selectors",{selectById:vI,selectByIds:EI})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const u=this.select(fI(e));this.dispatch(n(e)),this.dispatch(Pn(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(On(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class IM extends j{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values Attachment");h(this,"url","/procedure-step-field-values-attachments");h(this,"actions",{addOne:DI,addMany:Mn,setOne:jI,setMany:qI,updateOne:CI,updateMany:$I,deleteOne:UI,deleteMany:Rn,initialize:zI});h(this,"selectors",{selectById:kI,selectByIds:NI})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class TM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values Review");h(this,"url","/procedure-step-field-values-reviews");h(this,"actions",{addOne:dT,addMany:Bn,setOne:uT,setMany:lT,updateOne:oT,updateMany:hT,deleteOne:pT,deleteMany:Vn,initialize:rT});h(this,"selectors",{selectById:yT,selectByIds:fT})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.field_values],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Procedure step field values review with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Procedure step field values review with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class OM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values");h(this,"url","/procedure-step-field-values");h(this,"actions",{addOne:YI,addMany:ZI,setOne:JI,setMany:XI,updateOne:QI,updateMany:xI,deleteOne:eT,deleteMany:tT,initialize:KI});h(this,"selectors",{selectById:nT,selectByIds:aT})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u}),m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=this.select(R=>{var b;return((b=R.userReducer.currentUser)==null?void 0:b.id)??null}),m=[],p=nt(e,Math.min(n??e.length,k)),f=[];for(const R of p){const b=[],g=[],_=[];for(const w of R){const B=O({...w,values:w.values,created_by:d,submitted_at:u});m.push(B),b.push(M(B)),g.push(B.procedure_step,B.procedure,B.fields_revision),_.push(B.uuid)}f.push({payload:{payloads:b,submitted_at:u},blockers:g,blocks:_})}this.dispatch(a(m));const I=f.map(R=>{const{payload:b,blocks:g,blockers:_}=R;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:_,blocks:g})});return Promise.all(I).then(R=>{this.dispatch(r(R.flat()))}).catch(()=>{this.dispatch(c(v(m)))}),[m,Promise.all(I).then(R=>R.flat())]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(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 u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e} to exist`);const u=this.select(GI(e)),d=this.select(ST(e));this.dispatch(n(e)),this.dispatch(Rn(v(u))),this.dispatch(Vn(v(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(a(c)),this.dispatch(Mn(u)),this.dispatch(Bn(d)),m}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class PM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Reviewer");h(this,"url","/procedure-step-reviewers");h(this,"actions",{addOne:OT,addMany:PT,setOne:FT,setMany:bT,updateOne:_T,updateMany:gT,deleteOne:MT,deleteMany:RT,initialize:TT});h(this,"selectors",{selectById:vT,selectByIds:ET})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e){const{addMany:n,setMany:a,deleteMany:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(p=>O({...p,created_by:c,submitted_at:u}));this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_reviewers:d.map(p=>M(p)),submitted_at:u},blockers:d.flatMap(p=>[p.procedure,p.procedure_step]),blocks:d.map(p=>p.uuid)});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.map(p=>p.uuid)))}),[d,m]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step reviewer with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class FM extends E{constructor(){super(...arguments);h(this,"name","Procedure Initiative");h(this,"url","/procedure-initiatives");h(this,"actions",{addOne:SS,addMany:AS,setOne:IS,setMany:TS,updateOne:OS,updateMany:PS,deleteOne:FS,deleteMany:bS,initialize:fS});h(this,"selectors",{selectById:MS,selectByIds:RS})}add(e){var m;const{store:n}=this.client,{addOne:a,setOne:r,deleteOne:c}=this.actions,u=O({...e,created_by:((m=n.getState().userReducer.currentUser)==null?void 0:m.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(u),blockers:[u.procedure_type,u.project],blocks:[u.uuid]});return d.then(p=>{this.dispatch(r(p))}).catch(()=>{this.dispatch(c(u.uuid))}),[u,d]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected ${this.name} with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected ${this.name} with uuid ${e} to exist`);const u=this.select(GS(e));this.dispatch(n(e)),this.dispatch(St(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(ft(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class bM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step");h(this,"url","/procedure-steps");h(this,"actions",{addOne:qT,addMany:CT,setOne:DT,setMany:jT,updateOne:$T,updateMany:UT,deleteOne:LT,deleteMany:kT,initialize:zT});h(this,"selectors",{selectById:GT,selectByIds:HT})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`No procedure step with uuid ${e.uuid} found in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(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:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(n(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class _M extends j{constructor(){super(...arguments);h(this,"name","Procedure Type Attachment");h(this,"url","/procedure-type-attachments");h(this,"actions",{addOne:YT,addMany:ZT,setOne:JT,setMany:XT,updateOne:QT,updateMany:xT,deleteOne:eO,deleteMany:tO,initialize:KT});h(this,"selectors",{selectById:nO,selectByIds:aO})}getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const{procedure_type:n,file_sha1:a,file_extension:r,file_name:c,file_type:u,file_url:d}=e,m=this.select(f=>{var I;return((I=f.userReducer.currentUser)==null?void 0:I.id)??null}),p=new Date().toISOString();return O({file_url:d,file_sha1:a,file_extension:r,file_name:c,file_type:u,created_by:m,submitted_at:p,procedure_type:n})}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,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class gM extends j{constructor(){super(...arguments);h(this,"name","Procedure Type Fields Attachment");h(this,"url","/procedure-type-fields-attachments");h(this,"actions",{addOne:dO,addMany:uO,setOne:lO,setMany:oO,updateOne:hO,updateMany:pO,deleteOne:mO,deleteMany:yO,initialize:rO});h(this,"selectors",{selectById:AO,selectByIds:IO})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class MM extends E{constructor(){super(...arguments);h(this,"name","Procedure Type Fields");h(this,"url","/procedure-type-fields");h(this,"actions",{addOne:PO,addMany:FO,setOne:bO,setMany:_O,updateOne:gO,updateMany:MO,deleteOne:RO,deleteMany:wO,initialize:OO});h(this,"selectors",{selectById:BO,selectByIds:VO})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.procedure_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(p=>{throw this.dispatch(r(d.uuid)),p}),[d,m]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class RM extends j{constructor(){super(...arguments);h(this,"name","Procedure Field Values Attachment");h(this,"url","/procedure-field-values-attachments");h(this,"actions",{addOne:jO,addMany:Gn,setOne:qO,setMany:CO,updateOne:$O,updateMany:UO,deleteOne:LO,deleteMany:Hn,initialize:DO});h(this,"selectors",{selectById:GO,selectByIds:HO})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class wM extends E{constructor(){super(...arguments);h(this,"name","Procedure Field Values");h(this,"url","/procedure-field-values");h(this,"actions",{addOne:ZO,addMany:JO,setOne:XO,setMany:QO,updateOne:xO,updateMany:eP,deleteOne:tP,deleteMany:sP,initialize:YO});h(this,"selectors",{selectById:aP,selectByIds:cP})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u}),m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.fields_revision,e.procedure],blocks:[d.uuid]});return this.dispatch(n(d)),m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=this.select(R=>{var b;return((b=R.userReducer.currentUser)==null?void 0:b.id)??null}),m=[],p=nt(e,Math.min(n??e.length,k)),f=[];for(const R of p){const b=[],g=[],_=[];for(const w of R){const B=O({...w,values:w.values,created_by:d,submitted_at:u});m.push(B),b.push(M(B)),g.push(B.procedure,B.fields_revision),_.push(B.uuid)}f.push({payload:{payloads:b,submitted_at:u},blockers:g,blocks:_})}this.dispatch(a(m));const I=f.map(R=>{const{payload:b,blocks:g,blockers:_}=R;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:_,blocks:g})});return Promise.all(I).then(R=>{this.dispatch(r(R.flat()))}).catch(()=>{this.dispatch(c(v(m)))}),[m,Promise.all(I).then(R=>R.flat())]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(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 u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(WO(e));this.dispatch(n(e)),this.dispatch(Hn(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(Gn(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class vM extends E{constructor(){super(...arguments);h(this,"name","Procedure Type");h(this,"url","/procedure-types");h(this,"actions",{addOne:uP,addMany:lP,setOne:oP,setMany:hP,updateOne:pP,updateMany:mP,deleteOne:yP,deleteMany:fP,initialize:dP});h(this,"selectors",{selectById:IP,selectByIds:TP})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected procedure type with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure type with uuid ${e} to exist`);const u=this.select(LS(e));this.dispatch(n(e)),this.dispatch(St(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(ft(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class EM extends E{constructor(){super(...arguments);h(this,"name","Team Membership");h(this,"url","/team-memberships");h(this,"actions",{addOne:bP,addMany:_P,setOne:gP,setMany:MP,updateOne:RP,updateMany:wP,deleteOne:vP,deleteMany:EP,initialize:FP});h(this,"selectors",{selectById:zP,selectByIds:DP})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null})});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.team],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e){const{addMany:n,setMany:a,deleteMany:r}=this.actions,c=this.select(m=>{var p;return((p=m.userReducer.currentUser)==null?void 0:p.id)??null}),u=e.map(m=>O({...m,created_by:c}));this.dispatch(n(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{team_memberships:u.map(m=>M(m))},blockers:u.map(m=>m.team),blocks:u.map(m=>m.uuid)});return d.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(u.map(m=>m.uuid)))}),[u,d]}async delete(e){const{deleteOne:n,setOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(a(r)),r}}class BM extends E{constructor(){super(...arguments);h(this,"name","Team");h(this,"url","/teams");h(this,"actions",{addOne:CP,addMany:$P,setOne:UP,setMany:LP,updateOne:kP,updateMany:NP,deleteOne:GP,deleteMany:HP,initialize:qP});h(this,"selectors",{selectById:KP,selectByIds:YP})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,submitted_at:new Date().toISOString(),created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null})});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e),blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,setOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class VM extends lt{constructor(){super(...arguments);h(this,"name","User");h(this,"url","/user");h(this,"actions",{addOne:Qi,addMany:by,setOne:Fy,setMany:Py,updateOne:gy,updateMany:_y,deleteOne:xi,deleteMany:My,initialize:Oy});h(this,"selectors",{selectById:Jt,selectByIds:vy})}async list(e,n){const{organizationUuid:a,...r}=e,c=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:o.GET,url:c,...r},n)}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({organizationUuid:e},n);return this.dispatch(a(r)),r}}async function na(t,s,e,n,a){const r=n instanceof ut;r&&s.checkAuth!==!1&&await n.auth.prepareAuth();const c={queryParams:"",isAuthNeeded:!0},{s3url:u,payload:d,headers:m,method:p,queryParams:f,attachmentHash:I,isExternalUrl:R,isAuthNeeded:b,isResponseBlob:g}={...c,...s};let _=s.url;const w=I?await e.files.fetchCache(I):void 0;if(I&&!w)throw new Error(`Cannot upload file ${I} because it's not cached.`);!R&&!_.startsWith("http")&&(!_.startsWith("/")&&!_.startsWith("blob:")&&(_="/"+_),_=t+_);const B=q=>{if(I){if(!u)throw new Error(`No S3 URL for file ${I}`);if("warning"in u)throw new Error(`S3 URL warning for file ${I}`);if(!w)throw new Error(`No file for file ${I}`);const N=u.fields["x-amz-checksum-sha1"];if(!N)throw new Error(`No checksum for file ${I}`);return q.set("x-amz-checksum-sha1",N).field({...d,...u.fields}).attach("file",w)}return q.send(d)},D={[o.GET]:()=>g?ht.get(_.toString()).responseType("blob"):ht.get(_.toString()),[o.POST]:()=>{const q=ht.post(_.toString());return B(q)},[o.PATCH]:()=>{const q=ht.patch(_.toString());return B(q)},[o.PUT]:()=>{const q=ht.put(_.toString());return B(q)},[o.DELETE]:()=>{const q=ht.delete(_.toString());return B(q)}}[p];let z=D();const Ot=()=>{console.debug("aborting request:",s.url),z.abort()};if(a==null||a.addEventListener("abort",Ot),b&&r){const q=n.auth.getAuthHeader();z=z.set("Authorization",q)}m&&(z=z.set(m));try{return await z.query(f)}catch(q){const N=hF(q),is=N==null?void 0:N.status;if(r&&is===401)return await n.auth.handleUnauthorized(z,N),z.query(f);throw new U({response:N,innerError:q,discard:sa.includes(is)})}finally{a==null||a.removeEventListener("abort",Ot)}}class zM{constructor(s){h(this,"store");this.store=s}_performRequest(s,e,n,a){const r=new as,c={...e,uuid:e.uuid??at.v4()};return na(s,c,this,n,a).then(u=>{r.resolve(u.body)}).catch(u=>{u instanceof Error?r.reject(u):r.reject(new Error((u??At).toString()))}),r}async performRequest(s,e,n,a){return this._performRequest(s,e,n,a).then(r=>{if(r instanceof U)throw r;return r})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(a=>{if(a instanceof U)throw a;return a})}_enqueueRequest(s,e,n){const a=new as,r={...s,BASE_URL:e,serviceName:n},c=this.store.dispatch(uf(r)),u=m=>{if(m)a.resolve(m.body);else{const p=new U({message:"Could not get a response from the server.",response:m,discard:!0});a.reject(p)}},d=m=>{m instanceof U?m.options.discard=!0:(console.error("Received an unexpected error while processing a request:",m,`
14
+ Converting error to APIError and discarding.`),m=new U({message:"An error occurred while processing the request.",innerError:m,discard:!0})),a.reject(m)};return c.then(u,d),a}async performPagination(s,e,n,a,r){const c={...e,queryParams:{...e.queryParams,paginate:!0,limit:n}},{method:u}=c,d=[];let m=await this.performRequest(s,c,a,r);for(d.push(m.results);m.next;)m=await this.performRequest(s,{url:m.next,method:u},a,r),d.push(m.results);return d}}class It{constructor(){h(this,"graph");h(this,"requestAttemptCounter");this.graph=new VF.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new It;for(let n=0;n<s.length;n++){const a=s[n];if(!a){console.error("Outbox item was undefined");continue}e.sneakRequest(a);for(let r=0;r<n;r++){const c=s[r];if(!c){console.error("Previous outbox item was undefined");continue}c.payload.uuid!==a.payload.uuid&&c.payload.blocks.some(u=>a.payload.blockers.includes(u))&&It._addDependency(a.payload.uuid,c.payload.uuid,e.graph)}}return e}_addDependency(s,e){It._addDependency(s,e,this.graph)}static _addDependency(s,e,n){if(s===e)throw new Error(`Tried to add dependency from node to itself: ${s}`);if(!n.hasNode(s))throw new Error(`Tried to add dependency from non-existent node: ${s} (to node: ${e})`);if(!n.hasNode(e))throw new Error(`Tried to add dependency to non-existent node: ${e} (from node: ${s})`);n.addDependency(s,e)}addRequest(s){if(this.graph.addNode(s.payload.uuid,s),!(s.payload.blockers.length===0||this.graph.size()===1))for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;const n=this.graph.getNodeData(e),a=new Set(n.payload.blocks);s.payload.blockers.some(r=>a.has(r))&&this._addDependency(s.payload.uuid,e)}}insertRequest(s){this.graph.addNode(s.payload.uuid,s);for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;const n=this.graph.getNodeData(e),a=new Set(s.payload.blocks);n.payload.blockers.some(r=>a.has(r))&&this._addDependency(e,s.payload.uuid)}}sneakRequest(s){this.graph.addNode(s.payload.uuid,s)}_getNextNode(){const s=this.graph.overallOrder(!0);let e=1/0,n;for(const a of s){const r=this.requestAttemptCounter[a]||0;r<e&&(e=r,n=a)}return n}peek(){const s=this._getNextNode();if(s)return this.graph.getNodeData(s)}remove(s){this.graph.removeNode(s),delete this.requestAttemptCounter[s]}pop(){const s=this.peek();return s&&this.graph.removeNode(s.payload.uuid),s}getQueue(){const s=this.graph.overallOrder().map(n=>this.graph.getNodeData(n)),e=this._getNextNode();if(e){const n=this.graph.getNodeData(e),a=s.findIndex(r=>r.payload.uuid===n.payload.uuid);a!==-1&&(s.splice(a,1),s.unshift(n))}return s}getReady(){let s=this.graph.overallOrder(!0).map(e=>this.graph.getNodeData(e));return s=s.sort((e,n)=>e.meta.offline.effect.timestamp.localeCompare(n.meta.offline.effect.timestamp)),s=s.sort((e,n)=>{const a=this.requestAttemptCounter[e.payload.uuid]||0,r=this.requestAttemptCounter[n.payload.uuid]||0;return a-r}),s}registerRetry(s){this.requestAttemptCounter[s]=(this.requestAttemptCounter[s]||0)+1}}let pF;function mF(t){pF=t}function Tt(){return pF}let yF;function fF(t){yF=t}function SF(){return yF}let aa=null;function ot(){const t=Tt();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(aa)return aa;const s=t.getState().offline.outbox,e=It._fromOutbox(s);return aa=e,e}const DM=(t,s)=>{const e=new s(t);return fF(e),mF(t),e};class jM{constructor(s){h(this,"_all");h(this,"_previous");this._all=[s],this._previous=s,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(s){return this._previous&&(this._previous.next=s),this._all.push(s),this._previous=s,{then:this.then,compile:this.compile}}compile(){return this._all}}class ca{constructor(){h(this,"next");this.next=null}then(s){return new jM(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s.payload.url),!Tt())throw new Error("Client store not set");const n=SF();if(!n)throw new Error("Client SDK not set");return uF(s,n)}}}class AF extends ca{async run(s){return super.run(s)}}class IF extends ca{async run(s){return super.run(s)}}const TF=new AF().then(new IF).compile();function OF(t){var s;return(s=TF[0])==null?void 0:s.run(t)}var PF=(t=>(t[t.USER_REGISTRATION=0]="USER_REGISTRATION",t[t.APPLICATION_INVITE=2]="APPLICATION_INVITE",t[t.PROJECT_INVITE=4]="PROJECT_INVITE",t[t.ORGANIZATION_INVITE=6]="ORGANIZATION_INVITE",t[t.ADD_EMAIL_DOMAIN=8]="ADD_EMAIL_DOMAIN",t[t.RESET_PASSWORD=10]="RESET_PASSWORD",t))(PF||{});i.ALL_MIDDLEWARE=TF,i.APIError=U,i.AgentService=yg,i.AssetAttachmentService=fg,i.AssetCommentService=Sg,i.AssetService=Ag,i.AssetStatusType=pa,i.AssetTypeAttachmentService=Ig,i.AssetTypeFieldValuesAttachmentService=Pg,i.AssetTypeFieldValuesService=Fg,i.AssetTypeFieldsAttachmentService=Tg,i.AssetTypeFieldsService=Og,i.AssetTypeIdentifierService=bg,i.AssetTypeIdentifierValueService=_g,i.AssetTypeService=gg,i.AssetTypeStatusService=Mg,i.AttachmentModel=ma,i.BaseApiService=ut,i.BaseModelApiService=lt,i.BaseOfflineFileModelApiService=j,i.BaseOfflineModelApiService=E,i.BaseSDK=zM,i.COMMON_AUTO_FIELDS=_a,i.DEFAULT_ISSUE_PRIORITY=zF,i.DEFAULT_PAGE_SIZE=xP,i.DISCARD_HTTP_STATUSES=sa,i.DeferredPromise=as,i.DocumentAttachmentService=Rg,i.DocumentService=wg,i.EMPTY_ARRAY=la,i.EMPTY_OBJECT=oa,i.EmailDomainsService=vg,i.EmailVerificationService=Eg,i.FILE_MODEL_DEFAULT_PAGE_SIZE=eF,i.FileService=Bg,i.FormIdentifierService=Vg,i.FormIdentifierValueService=zg,i.FormRevisionAttachmentService=Dg,i.FormRevisionService=jg,i.FormService=qg,i.FormSubmissionAttachmentService=Cg,i.FormSubmissionService=$g,i.GeoImageService=Ug,i.HttpMethod=o,i.IssueAssociationService=Lg,i.IssueAttachmentService=kg,i.IssueCommentAttachmentService=Ng,i.IssueCommentService=Gg,i.IssuePriority=ns,i.IssueService=Hg,i.IssueStatusType=ya,i.IssueTypeAttachmentService=Wg,i.IssueTypeFieldValuesAttachmentService=Zg,i.IssueTypeFieldValuesService=Jg,i.IssueTypeFieldsAttachmentService=Kg,i.IssueTypeFieldsService=Yg,i.IssueTypeIdentifierService=Xg,i.IssueTypeIdentifierValueService=Qg,i.IssueTypeService=xg,i.IssueTypeStatusService=eM,i.IssueUpdateChange=$,i.IssueUpdateService=tM,i.JWTService=nM,i.MAX_SERVICE_BATCH_SIZE=k,i.OUTBOX_RETRY_DELAY=Aa,i.OfflineAnalyticsMiddleware=AF,i.OfflineMiddleware=ca,i.OrganizationAccessLevel=ha,i.OrganizationAccessService=aM,i.OrganizationService=cM,i.OutboxCoordinator=It,i.ProcdureInitiativeService=FM,i.ProcedureFieldValuesAttachmentService=RM,i.ProcedureFieldValuesService=wM,i.ProcedureService=oM,i.ProcedureStepAssigneeService=hM,i.ProcedureStepCommentService=pM,i.ProcedureStepDefaultAssigneeService=mM,i.ProcedureStepDefaultReviewerService=yM,i.ProcedureStepEventService=fM,i.ProcedureStepEventType=fa,i.ProcedureStepFieldValuesAttachmentService=IM,i.ProcedureStepFieldValuesReviewService=TM,i.ProcedureStepFieldValuesReviewType=Sa,i.ProcedureStepFieldValuesService=OM,i.ProcedureStepFieldsAttachmentService=SM,i.ProcedureStepFieldsService=AM,i.ProcedureStepReviewerService=PM,i.ProcedureStepService=bM,i.ProcedureTypeAttachmentService=_M,i.ProcedureTypeFieldsAttachmentService=gM,i.ProcedureTypeFieldsService=MM,i.ProcedureTypeService=vM,i.ProjectAccessService=rM,i.ProjectAttachmentService=dM,i.ProjectFileService=uM,i.ProjectService=lM,i.RESET_ORGANIZATION_STATE=F,i.RESET_PROJECT_STATE=V,i.RESET_STATE=T,i.RateLimitingMiddleware=IF,i.SelectorBuilder=sb,i.TeamMembershipService=EM,i.TeamService=BM,i.UNKNOWN_ERROR_MESSAGE=At,i.UserService=VM,i.VERSION_REDUCER_KEY=Ft,i.VerificationCodeType=PF,i._setLatestRetryTime=of,i.addAsset=oc,i.addAssetAttachment=Ca,i.addAssetAttachments=ms,i.addAssetComment=Xa,i.addAssetComments=Dt,i.addAssetType=md,i.addAssetTypeAttachment=bc,i.addAssetTypeAttachments=Ps,i.addAssetTypeFieldValues=br,i.addAssetTypeFieldValuesAttachment=or,i.addAssetTypeFieldValuesAttachments=ws,i.addAssetTypeFieldValuesMany=_r,i.addAssetTypeFields=Xc,i.addAssetTypeFieldsAttachment=qc,i.addAssetTypeFieldsAttachments=Cc,i.addAssetTypeFieldsMany=Qc,i.addAssetTypeIdentifier=Cr,i.addAssetTypeIdentifierValue=Qr,i.addAssetTypeIdentifierValues=xr,i.addAssetTypeIdentifiers=$r,i.addAssetTypeStatus=gd,i.addAssetTypeStatuses=Md,i.addAssetTypes=yd,i.addAssets=Is,i.addConversation=Ba,i.addConversations=ib,i.addDocument=iu,i.addDocumentAttachment=Nd,i.addDocumentAttachments=Gd,i.addDocuments=nu,i.addEmailDomain=Su,i.addEmailDomains=Au,i.addForm=Dl,i.addFormIdentifier=zu,i.addFormIdentifierValue=Yu,i.addFormIdentifierValues=Zu,i.addFormIdentifiers=Du,i.addFormRevision=Pl,i.addFormRevisionAttachment=dl,i.addFormRevisionAttachments=ul,i.addFormRevisions=Qs,i.addFormSubmission=lo,i.addFormSubmissionAttachment=Zl,i.addFormSubmissionAttachments=ii,i.addFormSubmissions=ui,i.addForms=jl,i.addGeoImage=Fo,i.addGeoImages=bo,i.addIssue=qh,i.addIssueAssociation=$o,i.addIssueAssociations=pt,i.addIssueAttachment=Xo,i.addIssueAttachments=fi,i.addIssueComment=bh,i.addIssueCommentAttachment=lh,i.addIssueCommentAttachments=oh,i.addIssueComments=_h,i.addIssueType=$m,i.addIssueTypeAttachment=Jh,i.addIssueTypeAttachments=Xh,i.addIssueTypeFieldValues=bp,i.addIssueTypeFieldValuesAttachment=Qp,i.addIssueTypeFieldValuesAttachments=Vi,i.addIssueTypeFieldValuesMany=_p,i.addIssueTypeFields=Cp,i.addIssueTypeFieldsAttachment=lp,i.addIssueTypeFieldsAttachments=op,i.addIssueTypeFieldsMany=$p,i.addIssueTypeIdentifier=om,i.addIssueTypeIdentifierValue=_m,i.addIssueTypeIdentifierValues=gm,i.addIssueTypeIdentifiers=hm,i.addIssueTypeStatus=xm,i.addIssueTypeStatuses=ey,i.addIssueTypes=Um,i.addIssueUpdate=Hi,i.addIssueUpdates=Wi,i.addIssues=bi,i.addOrganization=Jy,i.addOrganizationAccess=Vy,i.addOrganizationAccesses=zy,i.addOrganizations=Zy,i.addProcedure=ES,i.addProcedureFieldValues=ZO,i.addProcedureFieldValuesAttachment=jO,i.addProcedureFieldValuesAttachments=Gn,i.addProcedureFieldValuesMany=JO,i.addProcedureInitiative=SS,i.addProcedureInitiatives=AS,i.addProcedureStep=qT,i.addProcedureStepAssignee=KS,i.addProcedureStepAssignees=YS,i.addProcedureStepComment=rA,i.addProcedureStepComments=dA,i.addProcedureStepDefaultAssignee=OA,i.addProcedureStepDefaultAssignees=PA,i.addProcedureStepDefaultReviewer=DA,i.addProcedureStepDefaultReviewers=jA,i.addProcedureStepEvent=ZA,i.addProcedureStepEvents=JA,i.addProcedureStepFieldValues=YI,i.addProcedureStepFieldValuesAttachment=DI,i.addProcedureStepFieldValuesAttachments=Mn,i.addProcedureStepFieldValuesMany=ZI,i.addProcedureStepFieldValuesReview=dT,i.addProcedureStepFieldValuesReviews=Bn,i.addProcedureStepFields=PI,i.addProcedureStepFieldsAttachment=uI,i.addProcedureStepFieldsAttachments=On,i.addProcedureStepFieldsMany=FI,i.addProcedureStepReviewer=OT,i.addProcedureStepReviewers=PT,i.addProcedureSteps=CT,i.addProcedureType=uP,i.addProcedureTypeAttachment=YT,i.addProcedureTypeAttachments=ZT,i.addProcedureTypeFields=PO,i.addProcedureTypeFieldsAttachment=dO,i.addProcedureTypeFieldsAttachments=uO,i.addProcedureTypeFieldsMany=FO,i.addProcedureTypes=lP,i.addProcedures=ft,i.addProject=cS,i.addProjectAccess=yf,i.addProjectAccesses=ff,i.addProjectAttachment=Rf,i.addProjectAttachments=wf,i.addProjectFile=Gf,i.addProjectFiles=Hf,i.addProjects=aS,i.addTeam=CP,i.addTeamMembership=bP,i.addTeamMemberships=_P,i.addTeams=$P,i.addUser=Qi,i.addUsers=by,i.agentsReducer=Da,i.agentsSlice=os,i.areArraysEqual=CF,i.assetAttachmentReducer=Ya,i.assetAttachmentSlice=ps,i.assetCommentReducer=dc,i.assetCommentSlice=Ss,i.assetReducer=Oc,i.assetSlice=As,i.assetTypeAttachmentReducer=zc,i.assetTypeAttachmentSlice=Os,i.assetTypeFieldValuesAttachmentReducer=Or,i.assetTypeFieldValuesAttachmentSlice=Rs,i.assetTypeFieldValuesReducer=Dr,i.assetTypeFieldValuesSlice=Bs,i.assetTypeFieldsAttachmentReducer=Yc,i.assetTypeFieldsAttachmentSlice=_s,i.assetTypeFieldsReducer=dr,i.assetTypeFieldsSlice=Ms,i.assetTypeIdentifierReducer=Zr,i.assetTypeIdentifierSlice=Vs,i.assetTypeIdentifierValueReducer=ud,i.assetTypeIdentifierValueSlice=Ds,i.assetTypeReducer=Fd,i.assetTypeSlice=js,i.assetTypeStatusReducer=qd,i.assetTypeStatusSlice=Cs,i.assetTypeStatusSortFn=ga,i.authReducer=Ud,i.authSlice=Lt,i.baseReducer=eg,i.baseReducers=ta,i.clearTokens=Pb,i.createModelAdapter=P,i.createOfflineAction=rf,i.createPayload=M,i.createSelectionAdapter=DF,i.deleteAsset=mc,i.deleteAssetAttachment=Na,i.deleteAssetAttachments=ys,i.deleteAssetComment=sc,i.deleteAssetComments=jt,i.deleteAssetType=Ad,i.deleteAssetTypeAttachment=wc,i.deleteAssetTypeAttachments=Fs,i.deleteAssetTypeFieldValues=vr,i.deleteAssetTypeFieldValuesAttachment=fr,i.deleteAssetTypeFieldValuesAttachments=vs,i.deleteAssetTypeFieldValuesMany=Er,i.deleteAssetTypeFields=ir,i.deleteAssetTypeFieldsAttachment=Nc,i.deleteAssetTypeFieldsAttachments=Gc,i.deleteAssetTypeFieldsMany=nr,i.deleteAssetTypeIdentifier=Gr,i.deleteAssetTypeIdentifierValue=nd,i.deleteAssetTypeIdentifierValues=ad,i.deleteAssetTypeIdentifiers=Hr,i.deleteAssetTypeStatus=Bd,i.deleteAssetTypeStatuses=Vd,i.deleteAssetTypes=Id,i.deleteAssets=Ts,i.deleteConversation=cb,i.deleteConversations=rb,i.deleteDocument=uu,i.deleteDocumentAttachment=Zd,i.deleteDocumentAttachments=Jd,i.deleteDocuments=lu,i.deleteEmailDomain=Fu,i.deleteEmailDomains=bu,i.deleteForm=Ll,i.deleteFormIdentifier=Uu,i.deleteFormIdentifierValue=el,i.deleteFormIdentifierValues=tl,i.deleteFormIdentifiers=Lu,i.deleteFormRevision=Ml,i.deleteFormRevisionAttachment=ml,i.deleteFormRevisionAttachments=yl,i.deleteFormRevisions=xs,i.deleteFormSubmission=po,i.deleteFormSubmissionAttachment=eo,i.deleteFormSubmissionAttachments=ni,i.deleteFormSubmissions=li,i.deleteForms=kl,i.deleteGeoImage=Mo,i.deleteGeoImages=Ro,i.deleteIssue=kh,i.deleteIssueAssociation=Uo,i.deleteIssueAssociations=mt,i.deleteIssueAttachment=sh,i.deleteIssueAttachments=Si,i.deleteIssueComment=vh,i.deleteIssueCommentAttachment=fh,i.deleteIssueCommentAttachments=Sh,i.deleteIssueComments=Eh,i.deleteIssueType=Hm,i.deleteIssueTypeAttachment=sp,i.deleteIssueTypeAttachments=ip,i.deleteIssueTypeFieldValues=vp,i.deleteIssueTypeFieldValuesAttachment=im,i.deleteIssueTypeFieldValuesAttachments=zi,i.deleteIssueTypeFieldValuesMany=Ep,i.deleteIssueTypeFields=Gp,i.deleteIssueTypeFieldsAttachment=fp,i.deleteIssueTypeFieldsAttachments=Sp,i.deleteIssueTypeFieldsMany=Hp,i.deleteIssueTypeIdentifier=Sm,i.deleteIssueTypeIdentifierValue=Em,i.deleteIssueTypeIdentifierValues=Bm,i.deleteIssueTypeIdentifiers=Am,i.deleteIssueTypeStatus=ay,i.deleteIssueTypeStatuses=cy,i.deleteIssueTypes=Wm,i.deleteIssueUpdate=Ki,i.deleteIssueUpdates=Yi,i.deleteIssues=_i,i.deleteOrganization=xy,i.deleteOrganizationAccess=$y,i.deleteOrganizationAccesses=Uy,i.deleteOrganizations=ef,i.deleteProcedure=jS,i.deleteProcedureFieldValues=tP,i.deleteProcedureFieldValuesAttachment=LO,i.deleteProcedureFieldValuesAttachments=Hn,i.deleteProcedureFieldValuesMany=sP,i.deleteProcedureInitiative=FS,i.deleteProcedureInitiatives=bS,i.deleteProcedureStep=LT,i.deleteProcedureStepAssignee=xS,i.deleteProcedureStepAssignees=eA,i.deleteProcedureStepComment=pA,i.deleteProcedureStepComments=mA,i.deleteProcedureStepDefaultAssignee=MA,i.deleteProcedureStepDefaultAssignees=RA,i.deleteProcedureStepDefaultReviewer=LA,i.deleteProcedureStepDefaultReviewers=kA,i.deleteProcedureStepEvent=tI,i.deleteProcedureStepEvents=sI,i.deleteProcedureStepFieldValues=eT,i.deleteProcedureStepFieldValuesAttachment=UI,i.deleteProcedureStepFieldValuesAttachments=Rn,i.deleteProcedureStepFieldValuesMany=tT,i.deleteProcedureStepFieldValuesReview=pT,i.deleteProcedureStepFieldValuesReviews=Vn,i.deleteProcedureStepFields=RI,i.deleteProcedureStepFieldsAttachment=mI,i.deleteProcedureStepFieldsAttachments=Pn,i.deleteProcedureStepFieldsMany=wI,i.deleteProcedureStepReviewer=MT,i.deleteProcedureStepReviewers=RT,i.deleteProcedureSteps=kT,i.deleteProcedureType=yP,i.deleteProcedureTypeAttachment=eO,i.deleteProcedureTypeAttachments=tO,i.deleteProcedureTypeFields=RO,i.deleteProcedureTypeFieldsAttachment=mO,i.deleteProcedureTypeFieldsAttachments=yO,i.deleteProcedureTypeFieldsMany=wO,i.deleteProcedureTypes=fP,i.deleteProcedures=St,i.deleteProject=uS,i.deleteProjectAccess=Of,i.deleteProjectAccesses=Pf,i.deleteProjectAttachment=zf,i.deleteProjectAttachments=Df,i.deleteProjectFile=Yf,i.deleteProjectFiles=Zf,i.deleteProjects=lS,i.deleteTeam=GP,i.deleteTeamMembership=vP,i.deleteTeamMemberships=EP,i.deleteTeams=HP,i.deleteUser=xi,i.deleteUsers=My,i.dequeue=dF,i.discard=lF,i.documentAttachmentReducer=eu,i.documentAttachmentSlice=Us,i.documentSlice=ks,i.documentsReducer=ou,i.downloadFile=WF,i.emailDomainsReducer=Ru,i.emailDomainsSlice=Gs,i.emailRegex=eb,i.enqueue=rF,i.enqueueRequest=uf,i.extractResponseFromError=hF,i.fallbackToEmptyArray=S,i.fallbackToEmptyObject=ds,i.fetchBlobFromObjectUrl=Oa,i.fetchFileFromObjectUrl=Pa,i.fileReducer=Eu,i.fileSlice=Ws,i.formIdentifierReducer=Hu,i.formIdentifierSlice=Ks,i.formIdentifierValueReducer=al,i.formIdentifierValueSlice=Zs,i.formReducer=Nl,i.formRevisionAttachmentReducer=Il,i.formRevisionAttachmentSlice=Js,i.formRevisionReducer=Bl,i.formRevisionsSlice=Xs,i.formSlice=ei,i.formSubmissionAttachmentReducer=no,i.formSubmissionAttachmentSlice=si,i.formSubmissionReducer=Ao,i.formSubmissionSlice=di,i.geoImageReducer=Bo,i.geoImageSlice=hi,i.getClientSDK=SF,i.getClientStore=Tt,i.getDocumentSubTree=wa,i.getDocumentTrees=tb,i.getFileExtension=Ta,i.getLocalDateString=Ia,i.getLocalRelativeDateString=kF,i.getOutboxCoordinator=ot,i.getRenamedFile=HF,i.getRequestDescription=A,i.getS3FileKey=GF,i.hashFile=Vt,i.initSDK=DM,i.initializeAssetAttachments=qa,i.initializeAssetComments=Ja,i.initializeAssetTypeAttachments=Fc,i.initializeAssetTypeFieldValues=Fr,i.initializeAssetTypeFieldValuesAttachments=lr,i.initializeAssetTypeFields=Jc,i.initializeAssetTypeFieldsAttachments=jc,i.initializeAssetTypeIdentifierValues=Xr,i.initializeAssetTypeIdentifiers=qr,i.initializeAssetTypeStatuses=_d,i.initializeAssetTypes=od,i.initializeAssets=lc,i.initializeConversations=Ea,i.initializeDocumentAttachments=kd,i.initializeDocuments=su,i.initializeEmailDomains=fu,i.initializeFormIdentifierValues=Ku,i.initializeFormIdentifiers=Vu,i.initializeFormRevisionAttachments=rl,i.initializeFormRevisions=Ol,i.initializeFormSubmissionAttachments=Yl,i.initializeFormSubmissions=co,i.initializeForms=zl,i.initializeGeoImages=To,i.initializeIssueAssociations=zo,i.initializeIssueAttachments=Jo,i.initializeIssueCommentAttachments=uh,i.initializeIssueComments=Fh,i.initializeIssueTypeAttachments=Zh,i.initializeIssueTypeFieldValues=Fp,i.initializeIssueTypeFieldValuesAttachments=Xp,i.initializeIssueTypeFields=qp,i.initializeIssueTypeFieldsAttachments=up,i.initializeIssueTypeIdentifierValues=bm,i.initializeIssueTypeIdentifiers=lm,i.initializeIssueTypeStatuses=Qm,i.initializeIssueTypes=Cm,i.initializeIssueUpdates=oy,i.initializeIssues=jh,i.initializeOrganizationAccesses=By,i.initializeOrganizations=Wy,i.initializeProcedureFieldValues=YO,i.initializeProcedureFieldValuesAttachments=DO,i.initializeProcedureInitiatives=fS,i.initializeProcedureStepAssignees=WS,i.initializeProcedureStepComments=cA,i.initializeProcedureStepDefaultAssignees=TA,i.initializeProcedureStepDefaultReviewers=zA,i.initializeProcedureStepEvents=YA,i.initializeProcedureStepFieldValues=KI,i.initializeProcedureStepFieldValuesAttachments=zI,i.initializeProcedureStepFieldValuesReviews=rT,i.initializeProcedureStepFields=OI,i.initializeProcedureStepFieldsAttachments=dI,i.initializeProcedureStepReviewers=TT,i.initializeProcedureSteps=zT,i.initializeProcedureTypeAttachments=KT,i.initializeProcedureTypeFields=OO,i.initializeProcedureTypeFieldsAttachments=rO,i.initializeProcedureTypes=dP,i.initializeProcedures=vS,i.initializeProjectAccesses=mf,i.initializeProjectAttachments=Mf,i.initializeProjectFiles=Lf,i.initializeProjects=sS,i.initializeTeamMemberships=FP,i.initializeTeams=qP,i.initializeUsers=Oy,i.isImageFile=KF,i.isObjectUrl=Fa,i.isToday=LF,i.issueAssociationReducer=Yo,i.issueAssociationSlice=mi,i.issueAttachmentReducer=rh,i.issueAttachmentSlice=yi,i.issueCommentAttachmentReducer=Oh,i.issueCommentAttachmentSlice=Ii,i.issueCommentReducer=zh,i.issueCommentSlice=Oi,i.issueReducer=Kh,i.issueSlice=Fi,i.issueTypeAttachmentReducer=rp,i.issueTypeAttachmentSlice=gi,i.issueTypeFieldValuesAttachmentReducer=dm,i.issueTypeFieldValuesAttachmentSlice=Bi,i.issueTypeFieldValuesReducer=Dp,i.issueTypeFieldValuesSlice=vi,i.issueTypeFieldsAttachmentReducer=Op,i.issueTypeFieldsAttachmentSlice=Ri,i.issueTypeFieldsReducer=Zp,i.issueTypeFieldsSlice=Ei,i.issueTypeIdentifierReducer=Pm,i.issueTypeIdentifierSlice=ji,i.issueTypeIdentifierValueReducer=jm,i.issueTypeIdentifierValueSlice=Ci,i.issueTypeReducer=Jm,i.issueTypeSlice=$i,i.issueTypeStatusReducer=uy,i.issueTypeStatusSlice=Li,i.issueTypeStatusSortFn=Ma,i.issueUpdateReducer=Iy,i.issueUpdateSlice=Gi,i.logOnlyOnce=YF,i.markAsDeleted=lf,i.markForDeletion=a_,i.memoize=rs,i.organizationAccessReducer=Ly,i.organizationAccessSlice=tn,i.organizationReducer=cf,i.organizationSlice=sn,i.outboxReducer=hf,i.outboxSlice=nn,i.overmapEnhancer=ug,i.overmapReducer=tg,i.overmapReducers=QP,i.performRequest=na,i.performRequestFromAction=uF,i.procedureFieldValuesAttachmentReducer=kO,i.procedureFieldValuesAttachmentSlice=Nn,i.procedureFieldValuesReducer=iP,i.procedureFieldValuesSlice=Kn,i.procedureInitiativeReducer=_S,i.procedureInitiativeSlice=on,i.procedureReducer=qS,i.procedureSlice=hn,i.procedureStepAssigneeReducer=nA,i.procedureStepAssigneeSlice=pn,i.procedureStepCommentReducer=AA,i.procedureStepCommentSlice=mn,i.procedureStepDefaultAssigneeReducer=BA,i.procedureStepDefaultAssigneeSlice=yn,i.procedureStepDefaultReviewerReducer=WA,i.procedureStepDefaultReviewerSlice=Sn,i.procedureStepEventReducer=cI,i.procedureStepEventSlice=In,i.procedureStepFieldValuesAttachmentReducer=HI,i.procedureStepFieldValuesAttachmentSlice=gn,i.procedureStepFieldValuesReducer=sT,i.procedureStepFieldValuesReviewReducer=AT,i.procedureStepFieldValuesReviewSlice=En,i.procedureStepFieldValuesSlice=vn,i.procedureStepFieldsAttachmentReducer=II,i.procedureStepFieldsAttachmentSlice=Tn,i.procedureStepFieldsReducer=BI,i.procedureStepFieldsSlice=bn,i.procedureStepReducer=NT,i.procedureStepReviewerReducer=BT,i.procedureStepReviewerSlice=zn,i.procedureStepSlice=Dn,i.procedureTypeAttachmentReducer=sO,i.procedureTypeAttachmentSlice=Cn,i.procedureTypeFieldsAttachmentReducer=fO,i.procedureTypeFieldsAttachmentSlice=Un,i.procedureTypeFieldsReducer=vO,i.procedureTypeFieldsSlice=kn,i.procedureTypeReducer=SP,i.procedureTypeSlice=Zn,i.projectAccessReducer=Ff,i.projectAccessSlice=an,i.projectAttachmentReducer=$f,i.projectAttachmentSlice=rn,i.projectFileReducer=eS,i.projectFileSlice=un,i.projectReducer=oS,i.projectSlice=ln,i.rehydratedReducer=OP,i.rehydratedSlice=Xn,i.restructureSelectorWithArgs=y,i.runMiddleware=OF,i.selectAccessToken=Fb,i.selectAccessesByUserOfProject=r_,i.selectAccessibleProjects=l_,i.selectActiveOrganizationAccess=t_,i.selectAllDocumentAttachments=Ls,i.selectAssetAttachmentById=Ha,i.selectAssetAttachmentMapping=Ga,i.selectAssetAttachments=fs,i.selectAssetAttachmentsByIds=Wa,i.selectAssetById=Ic,i.selectAssetCommentById=nc,i.selectAssetCommentMapping=ic,i.selectAssetComments=qt,i.selectAssetCommentsByIds=ac,i.selectAssetTypeAttachmentById=Ec,i.selectAssetTypeAttachmentMapping=vc,i.selectAssetTypeAttachments=bs,i.selectAssetTypeAttachmentsByIds=Bc,i.selectAssetTypeById=Od,i.selectAssetTypeFieldValues=$t,i.selectAssetTypeFieldValuesAttachmentById=Ar,i.selectAssetTypeFieldValuesAttachments=Es,i.selectAssetTypeFieldValuesAttachmentsByIds=Ir,i.selectAssetTypeFieldValuesAttachmentsMapping=Sr,i.selectAssetTypeFieldValuesById=Vr,i.selectAssetTypeFieldValuesByIds=zr,i.selectAssetTypeFieldValuesMapping=Br,i.selectAssetTypeFieldValuesOfAsset=mb,i.selectAssetTypeFields=_t,i.selectAssetTypeFieldsAttachmentById=Wc,i.selectAssetTypeFieldsAttachments=gs,i.selectAssetTypeFieldsAttachmentsByIds=Kc,i.selectAssetTypeFieldsAttachmentsMapping=Hc,i.selectAssetTypeFieldsById=cr,i.selectAssetTypeFieldsByIds=rr,i.selectAssetTypeFieldsMapping=ar,i.selectAssetTypeFieldsOfAssetType=hb,i.selectAssetTypeIdentifierById=Kr,i.selectAssetTypeIdentifierMapping=Wr,i.selectAssetTypeIdentifierValueById=rd,i.selectAssetTypeIdentifierValueMapping=cd,i.selectAssetTypeIdentifierValues=Ut,i.selectAssetTypeIdentifierValuesByIds=dd,i.selectAssetTypeIdentifierValuesOfAsset=Sb,i.selectAssetTypeIdentifierValuesOfIdentifier=Ab,i.selectAssetTypeIdentifiers=zs,i.selectAssetTypeIdentifiersByIds=Yr,i.selectAssetTypeIdentifiersOfAssetType=fb,i.selectAssetTypeStatusById=Dd,i.selectAssetTypeStatusMapping=zd,i.selectAssetTypeStatuses=$s,i.selectAssetTypeStatusesByIds=jd,i.selectAssetTypeStatusesOfAssetType=Tb,i.selectAssetTypeValuesOfAssetType=yb,i.selectAssetTypes=qs,i.selectAssetTypesByIds=Pd,i.selectAssetTypesMapping=Td,i.selectAssetTypesOfOrganization=Ib,i.selectAssets=Ct,i.selectAssetsByIds=Tc,i.selectAssetsMapping=Sc,i.selectAssetsOfAssetType=Ac,i.selectAssetsOfProject=lb,i.selectAttachmentsOfAsset=Ka,i.selectAttachmentsOfAssetType=Vc,i.selectAttachmentsOfAssetTypeFieldValues=Tr,i.selectAttachmentsOfAssetTypeFields=ob,i.selectAttachmentsOfDocument=_b,i.selectAttachmentsOfFormRevision=Db,i.selectAttachmentsOfFormSubmission=io,i.selectAttachmentsOfIssue=nh,i.selectAttachmentsOfIssueComment=$b,i.selectAttachmentsOfIssueType=kb,i.selectAttachmentsOfIssueTypeFieldValues=rm,i.selectAttachmentsOfIssueTypeFields=Nb,i.selectAttachmentsOfProcedureFieldValues=WO,i.selectAttachmentsOfProcedureStepFieldValues=GI,i.selectAttachmentsOfProcedureStepFields=fI,i.selectAttachmentsOfProcedureType=L_,i.selectAttachmentsOfProcedureTypeFields=k_,i.selectAttachmentsOfProject=u_,i.selectCommentsOfAsset=cc,i.selectCommentsOfAssets=rc,i.selectCommentsOfIssue=Ub,i.selectConversation=ub,i.selectConversationMapping=hs,i.selectConversations=db,i.selectCurrentUser=wy,i.selectDeletedRequests=i_,i.selectDescendantsOfDocument=mu,i.selectDocumentAttachmentById=Qd,i.selectDocumentAttachmentMapping=Xd,i.selectDocumentAttachmentsByIds=xd,i.selectDocumentById=hu,i.selectDocuments=kt,i.selectDocumentsByIds=pu,i.selectDocumentsMapping=Ns,i.selectEmailDomainById=gu,i.selectEmailDomains=Hs,i.selectEmailDomainsAsMapping=_u,i.selectEmailDomainsByIds=Mu,i.selectEmailDomainsOfOrganization=Rb,i.selectFieldValuesOfProcedure=H_,i.selectFormById=Hl,i.selectFormIdentifierById=Nu,i.selectFormIdentifierMapping=ku,i.selectFormIdentifierValueById=il,i.selectFormIdentifierValueMapping=sl,i.selectFormIdentifierValues=Nt,i.selectFormIdentifierValuesByIds=nl,i.selectFormIdentifierValuesOfFormSubmission=Vb,i.selectFormIdentifierValuesOfIdentifier=zb,i.selectFormIdentifiers=Ys,i.selectFormIdentifiersByIds=Gu,i.selectFormIdentifiersOfForm=Bb,i.selectFormMapping=Gl,i.selectFormRevisionAttachmentById=Sl,i.selectFormRevisionAttachments=fl,i.selectFormRevisionAttachmentsByIds=Al,i.selectFormRevisionAttachmentsMapping=Gt,i.selectFormRevisionById=wl,i.selectFormRevisionMapping=Rl,i.selectFormRevisions=Ht,i.selectFormRevisionsByIds=vl,i.selectFormRevisionsOfForm=El,i.selectFormSubmissionAttachemntsByIds=ri,i.selectFormSubmissionAttachmentById=to,i.selectFormSubmissionAttachments=ci,i.selectFormSubmissionAttachmentsByIds=so,i.selectFormSubmissionAttachmentsMapping=ai,i.selectFormSubmissionById=yo,i.selectFormSubmissions=oi,i.selectFormSubmissionsByIds=fo,i.selectFormSubmissionsMapping=mo,i.selectFormSubmissionsOfForm=So,i.selectForms=ti,i.selectFormsByIds=Wl,i.selectFormsOfOrganization=qb,i.selectGeoImageById=vo,i.selectGeoImageMapping=wo,i.selectGeoImages=pi,i.selectGeoImagesByIds=Eo,i.selectGeoImagesOfProject=Cb,i.selectIsLoggedIn=bb,i.selectIssueAssociationById=ko,i.selectIssueAssociationMapping=Lo,i.selectIssueAssociations=yt,i.selectIssueAssociationsByIds=No,i.selectIssueAssociationsOfAsset=Wo,i.selectIssueAssociationsOfAssets=Ko,i.selectIssueAssociationsOfIssue=Ho,i.selectIssueAssociationsOfIssues=Go,i.selectIssueAttachmentById=ah,i.selectIssueAttachmentMapping=ih,i.selectIssueAttachments=Ai,i.selectIssueAttachmentsByIds=ch,i.selectIssueById=Gh,i.selectIssueCommentAttachmentById=Ih,i.selectIssueCommentAttachmentMapping=Ah,i.selectIssueCommentAttachments=Ti,i.selectIssueCommentAttachmentsByIds=Th,i.selectIssueCommentById=Bh,i.selectIssueCommentMapping=Pi,i.selectIssueCommentsByIds=Vh,i.selectIssueMapping=Nh,i.selectIssueTypeAttachmentById=ap,i.selectIssueTypeAttachmentMapping=np,i.selectIssueTypeAttachments=Mi,i.selectIssueTypeAttachmentsByIds=cp,i.selectIssueTypeById=Ym,i.selectIssueTypeFieldValues=Kt,i.selectIssueTypeFieldValuesAttachmentById=am,i.selectIssueTypeFieldValuesAttachments=Di,i.selectIssueTypeFieldValuesAttachmentsByIds=cm,i.selectIssueTypeFieldValuesAttachmentsMapping=nm,i.selectIssueTypeFieldValuesById=Vp,i.selectIssueTypeFieldValuesByIds=zp,i.selectIssueTypeFieldValuesMapping=Bp,i.selectIssueTypeFieldValuesOfIssue=Gb,i.selectIssueTypeFields=gt,i.selectIssueTypeFieldsAttachmentById=Ip,i.selectIssueTypeFieldsAttachments=wi,i.selectIssueTypeFieldsAttachmentsByIds=Tp,i.selectIssueTypeFieldsAttachmentsMapping=Ap,i.selectIssueTypeFieldsById=Kp,i.selectIssueTypeFieldsByIds=Yp,i.selectIssueTypeFieldsMapping=Wp,i.selectIssueTypeFieldsOfIssueType=Hb,i.selectIssueTypeIdentifierById=Tm,i.selectIssueTypeIdentifierMapping=Im,i.selectIssueTypeIdentifierValueById=zm,i.selectIssueTypeIdentifierValueMapping=Vm,i.selectIssueTypeIdentifierValues=Yt,i.selectIssueTypeIdentifierValuesByIds=Dm,i.selectIssueTypeIdentifierValuesOfIdentifier=Jb,i.selectIssueTypeIdentifierValuesOfIssue=Zb,i.selectIssueTypeIdentifiers=qi,i.selectIssueTypeIdentifiersByIds=Om,i.selectIssueTypeIdentifiersOfIssueType=Yb,i.selectIssueTypeMapping=Km,i.selectIssueTypeStatusById=Ni,i.selectIssueTypeStatusMapping=ry,i.selectIssueTypeStatuses=ki,i.selectIssueTypeStatusesByIds=dy,i.selectIssueTypeStatusesOfIssueType=Qb,i.selectIssueTypeValuesOfIssueType=Kb,i.selectIssueTypes=Ui,i.selectIssueTypesByIds=Zm,i.selectIssueTypesOfOrganization=Xb,i.selectIssueUpdateById=fy,i.selectIssueUpdateMapping=Zi,i.selectIssueUpdates=Ji,i.selectIssueUpdatesByIds=Sy,i.selectIssueUpdatesOfIssue=Ay,i.selectIssues=Wt,i.selectIssuesByIds=Hh,i.selectIssuesOfIssueType=Wh,i.selectIssuesOfProject=Lb,i.selectLatestAssetTypeFieldsOfAssetType=pb,i.selectLatestFieldsByProcedureStep=R_,i.selectLatestFormRevisionOfForm=jb,i.selectLatestIssueTypeFieldsOfIssueType=Wb,i.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=D_,i.selectLatestProcedureStepFieldsOfProcedureStep=M_,i.selectLatestProcedureTypeFieldsOfProcedureType=G_,i.selectLatestRetryTime=n_,i.selectLatestReviewOfProcedureStepFieldValues=B_,i.selectMembershipsByUserOfTeam=J_,i.selectOrganizationAccessById=ky,i.selectOrganizationAccessMapping=Xt,i.selectOrganizationAccessUserMapping=Gy,i.selectOrganizationAccessesByIds=Ny,i.selectOrganizationById=nf,i.selectOrganizationDocuments=Mb,i.selectOrganizations=sf,i.selectOrganizationsByIds=af,i.selectOrganizationsMapping=tf,i.selectProcedureById=$S,i.selectProcedureFieldValues=Yn,i.selectProcedureFieldValuesAttachmentById=GO,i.selectProcedureFieldValuesAttachments=Wn,i.selectProcedureFieldValuesAttachmentsByIds=HO,i.selectProcedureFieldValuesAttachmentsMapping=NO,i.selectProcedureFieldValuesById=aP,i.selectProcedureFieldValuesByIds=cP,i.selectProcedureFieldValuesMapping=nP,i.selectProcedureInitiativeById=MS,i.selectProcedureInitiatives=xt,i.selectProcedureInitiativesByIds=RS,i.selectProcedureInitiativesMapping=gS,i.selectProcedureInitiativesOfProcedureType=p_,i.selectProcedureInitiativesOfProject=h_,i.selectProcedureStepAssigneeById=sA,i.selectProcedureStepAssignees=Rt,i.selectProcedureStepAssigneesByIds=iA,i.selectProcedureStepAssigneesMapping=tA,i.selectProcedureStepAssigneesOfProcedure=y_,i.selectProcedureStepAssigneesOfProcedureAndProcedureStep=S_,i.selectProcedureStepAssigneesOfProcedureStep=f_,i.selectProcedureStepById=GT,i.selectProcedureStepCommentById=fA,i.selectProcedureStepComments=wt,i.selectProcedureStepCommentsByIds=SA,i.selectProcedureStepCommentsMapping=yA,i.selectProcedureStepCommentsOfProcedure=A_,i.selectProcedureStepCommentsOfProcedureAndProcedureStep=T_,i.selectProcedureStepCommentsOfProcedureStep=I_,i.selectProcedureStepDefaultAssigneeById=vA,i.selectProcedureStepDefaultAssignees=fn,i.selectProcedureStepDefaultAssigneesByIds=EA,i.selectProcedureStepDefaultAssigneesMapping=wA,i.selectProcedureStepDefaultAssigneesOfProcedureStep=O_,i.selectProcedureStepDefaultReviewerById=GA,i.selectProcedureStepDefaultReviewers=An,i.selectProcedureStepDefaultReviewersByIds=HA,i.selectProcedureStepDefaultReviewersMapping=NA,i.selectProcedureStepDefaultReviewersOfProcedureStep=P_,i.selectProcedureStepEventById=nI,i.selectProcedureStepEvents=vt,i.selectProcedureStepEventsByIds=aI,i.selectProcedureStepEventsMapping=iI,i.selectProcedureStepEventsOfProcedure=F_,i.selectProcedureStepEventsOfProcedureAndProcedureStep=__,i.selectProcedureStepEventsOfProcedureStep=b_,i.selectProcedureStepFieldValues=rt,i.selectProcedureStepFieldValuesAttachmentById=kI,i.selectProcedureStepFieldValuesAttachments=wn,i.selectProcedureStepFieldValuesAttachmentsByIds=NI,i.selectProcedureStepFieldValuesAttachmentsMapping=LI,i.selectProcedureStepFieldValuesById=nT,i.selectProcedureStepFieldValuesByIds=aT,i.selectProcedureStepFieldValuesMapping=iT,i.selectProcedureStepFieldValuesOfProcedure=w_,i.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=E_,i.selectProcedureStepFieldValuesOfProcedureStep=v_,i.selectProcedureStepFieldValuesReviewById=yT,i.selectProcedureStepFieldValuesReviews=dt,i.selectProcedureStepFieldValuesReviewsByIds=fT,i.selectProcedureStepFieldValuesReviewsMapping=mT,i.selectProcedureStepFieldValuesReviewsOfProcedure=V_,i.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=z_,i.selectProcedureStepFields=es,i.selectProcedureStepFieldsAttachmentById=SI,i.selectProcedureStepFieldsAttachments=Fn,i.selectProcedureStepFieldsAttachmentsByIds=AI,i.selectProcedureStepFieldsAttachmentsMapping=yI,i.selectProcedureStepFieldsById=vI,i.selectProcedureStepFieldsByIds=EI,i.selectProcedureStepFieldsMapping=_n,i.selectProcedureStepFieldsOfProcedureStep=g_,i.selectProcedureStepReviewerById=vT,i.selectProcedureStepReviewers=Et,i.selectProcedureStepReviewersByIds=ET,i.selectProcedureStepReviewersMapping=wT,i.selectProcedureStepReviewersOfProcedure=j_,i.selectProcedureStepReviewersOfProcedureAndProcedureStep=C_,i.selectProcedureStepReviewersOfProcedureStep=q_,i.selectProcedureSteps=qn,i.selectProcedureStepsByIds=HT,i.selectProcedureStepsMapping=jn,i.selectProcedureStepsMappingOfProcedureType=$_,i.selectProcedureStepsOfProcedureType=U_,i.selectProcedureTypeAttachmentById=nO,i.selectProcedureTypeAttachmentMapping=iO,i.selectProcedureTypeAttachments=$n,i.selectProcedureTypeAttachmentsByIds=aO,i.selectProcedureTypeById=IP,i.selectProcedureTypeFields=ts,i.selectProcedureTypeFieldsAttachmentById=AO,i.selectProcedureTypeFieldsAttachments=Ln,i.selectProcedureTypeFieldsAttachmentsByIds=IO,i.selectProcedureTypeFieldsAttachmentsMapping=SO,i.selectProcedureTypeFieldsById=BO,i.selectProcedureTypeFieldsByIds=VO,i.selectProcedureTypeFieldsMapping=EO,i.selectProcedureTypeFieldsOfProcedureType=N_,i.selectProcedureTypes=Jn,i.selectProcedureTypesByIds=TP,i.selectProcedureTypesMapping=AP,i.selectProcedureTypesOfOrganization=W_,i.selectProcedures=ct,i.selectProceduresByIds=US,i.selectProceduresMapping=CS,i.selectProceduresOfAsset=kS,i.selectProceduresOfAssets=NS,i.selectProceduresOfProcedureInitiative=GS,i.selectProceduresOfProcedureType=LS,i.selectProceduresOfProject=m_,i.selectProjectAccessById=bf,i.selectProjectAccessMapping=cn,i.selectProjectAccesses=Mt,i.selectProjectAccessesByIds=_f,i.selectProjectAccessesOfProject=c_,i.selectProjectAttachmentById=qf,i.selectProjectAttachmentMapping=jf,i.selectProjectAttachments=dn,i.selectProjectAttachmentsByIds=Cf,i.selectProjectById=pS,i.selectProjectDocuments=gb,i.selectProjectFileById=Qf,i.selectProjectFileMapping=Jf,i.selectProjectFiles=Xf,i.selectProjectFilesByIds=xf,i.selectProjectMapping=hS,i.selectProjects=Qt,i.selectProjectsByIds=mS,i.selectProjectsOfOrganization=o_,i.selectRehydrated=Z_,i.selectReviewsOfProcedureStepFieldValues=ST,i.selectTeamById=KP,i.selectTeamMembershipById=zP,i.selectTeamMemberships=ss,i.selectTeamMembershipsByIds=DP,i.selectTeamMembershipsMapping=VP,i.selectTeams=ea,i.selectTeamsByIds=YP,i.selectTeamsMapping=WP,i.selectTeamsOfOrganization=Q_,i.selectUploadUrl=Eb,i.selectUserById=Jt,i.selectUsers=Zt,i.selectUsersByIds=vy,i.selectUsersMapping=en,i.selectUsersOfOrganization=s_,i.selectUsersOfProject=d_,i.selectUsersOfTeam=X_,i.setAsset=yc,i.setAssetAttachment=$a,i.setAssetAttachments=Ua,i.setAssetComment=Qa,i.setAssetComments=xa,i.setAssetType=hd,i.setAssetTypeAttachment=_c,i.setAssetTypeAttachments=gc,i.setAssetTypeFieldValues=gr,i.setAssetTypeFieldValuesAttachment=hr,i.setAssetTypeFieldValuesAttachments=pr,i.setAssetTypeFieldValuesMany=Mr,i.setAssetTypeFields=xc,i.setAssetTypeFieldsAttachment=$c,i.setAssetTypeFieldsAttachments=Uc,i.setAssetTypeFieldsMany=er,i.setAssetTypeIdentifier=Ur,i.setAssetTypeIdentifierValue=ed,i.setAssetTypeIdentifierValues=td,i.setAssetTypeIdentifiers=Lr,i.setAssetTypeStatus=Rd,i.setAssetTypeStatuses=wd,i.setAssetTypes=pd,i.setAssets=fc,i.setClientSDK=fF,i.setClientStore=mF,i.setConversation=Va,i.setConversations=nb,i.setCurrentUser=xb,i.setCurrentUserProfile=e_,i.setDocument=au,i.setDocumentAttachment=Hd,i.setDocumentAttachments=Wd,i.setDocuments=cu,i.setEmailDomain=Iu,i.setEmailDomains=Tu,i.setForm=ql,i.setFormIdentifier=ju,i.setFormIdentifierValue=Ju,i.setFormIdentifierValues=Xu,i.setFormIdentifiers=qu,i.setFormRevision=Fl,i.setFormRevisionAttachment=ll,i.setFormRevisionAttachments=ol,i.setFormRevisions=bl,i.setFormSubmission=ro,i.setFormSubmissionAttachment=Jl,i.setFormSubmissionAttachments=Xl,i.setFormSubmissions=uo,i.setForms=Cl,i.setGeoImage=Oo,i.setGeoImages=Po,i.setIssue=Ch,i.setIssueAssociation=jo,i.setIssueAssociations=Do,i.setIssueAttachment=Qo,i.setIssueAttachments=xo,i.setIssueComment=gh,i.setIssueCommentAttachment=hh,i.setIssueCommentAttachments=ph,i.setIssueComments=Mh,i.setIssueType=Lm,i.setIssueTypeAttachment=Qh,i.setIssueTypeAttachments=xh,i.setIssueTypeFieldValues=gp,i.setIssueTypeFieldValuesAttachment=xp,i.setIssueTypeFieldValuesAttachments=em,i.setIssueTypeFieldValuesMany=Mp,i.setIssueTypeFields=Up,i.setIssueTypeFieldsAttachment=hp,i.setIssueTypeFieldsAttachments=pp,i.setIssueTypeFieldsMany=Lp,i.setIssueTypeIdentifier=pm,i.setIssueTypeIdentifierValue=Mm,i.setIssueTypeIdentifierValues=Rm,i.setIssueTypeIdentifiers=mm,i.setIssueTypeStatus=ty,i.setIssueTypeStatuses=sy,i.setIssueTypes=km,i.setIssueUpdate=hy,i.setIssueUpdates=py,i.setIssues=$h,i.setLoggedIn=$d,i.setOrganization=Yy,i.setOrganizationAccess=Dy,i.setOrganizationAccesses=jy,i.setOrganizations=Ky,i.setProcedure=BS,i.setProcedureFieldValues=XO,i.setProcedureFieldValuesAttachment=qO,i.setProcedureFieldValuesAttachments=CO,i.setProcedureFieldValuesMany=QO,i.setProcedureInitiative=IS,i.setProcedureInitiatives=TS,i.setProcedureStep=DT,i.setProcedureStepAssignee=ZS,i.setProcedureStepAssignees=JS,i.setProcedureStepComment=uA,i.setProcedureStepComments=lA,i.setProcedureStepDefaultAssignee=FA,i.setProcedureStepDefaultAssignees=bA,i.setProcedureStepDefaultReviewer=qA,i.setProcedureStepDefaultReviewers=CA,i.setProcedureStepEvent=XA,i.setProcedureStepEvents=QA,i.setProcedureStepFieldValues=JI,i.setProcedureStepFieldValuesAttachment=jI,i.setProcedureStepFieldValuesAttachments=qI,i.setProcedureStepFieldValuesMany=XI,i.setProcedureStepFieldValuesReview=uT,i.setProcedureStepFieldValuesReviews=lT,i.setProcedureStepFields=bI,i.setProcedureStepFieldsAttachment=lI,i.setProcedureStepFieldsAttachments=oI,i.setProcedureStepFieldsMany=_I,i.setProcedureStepReviewer=FT,i.setProcedureStepReviewers=bT,i.setProcedureSteps=jT,i.setProcedureType=oP,i.setProcedureTypeAttachment=JT,i.setProcedureTypeAttachments=XT,i.setProcedureTypeFields=bO,i.setProcedureTypeFieldsAttachment=lO,i.setProcedureTypeFieldsAttachments=oO,i.setProcedureTypeFieldsMany=_O,i.setProcedureTypes=hP,i.setProcedures=VS,i.setProject=nS,i.setProjectAccess=Sf,i.setProjectAccesses=Af,i.setProjectAttachment=vf,i.setProjectAttachments=Ef,i.setProjectFile=kf,i.setProjectFiles=Nf,i.setProjects=iS,i.setRehydrated=Y_,i.setTeam=UP,i.setTeamMembership=gP,i.setTeamMemberships=MP,i.setTeams=LP,i.setTokens=Ob,i.setUploadUrl=vb,i.setUser=Fy,i.setUsers=Py,i.shallowEqual=qF,i.slugify=QF,i.spacesToDashesLower=XF,i.submittedAtModelSortFn=bt,i.teamMembershipReducer=BP,i.teamMembershipSlice=Qn,i.teamReducer=ZP,i.teamSlice=xn,i.toFileNameSafeString=JF,i.toUuidArray=v,i.toUuidIdRecord=ZF,i.truncate=xF,i.updateAsset=hc,i.updateAssetAttachment=La,i.updateAssetAttachments=ka,i.updateAssetComment=ec,i.updateAssetComments=tc,i.updateAssetType=fd,i.updateAssetTypeAttachment=Mc,i.updateAssetTypeAttachments=Rc,i.updateAssetTypeFieldValues=Rr,i.updateAssetTypeFieldValuesAttachment=mr,i.updateAssetTypeFieldValuesAttachments=yr,i.updateAssetTypeFieldValuesMany=wr,i.updateAssetTypeFields=tr,i.updateAssetTypeFieldsAttachment=Lc,i.updateAssetTypeFieldsAttachments=kc,i.updateAssetTypeFieldsMany=sr,i.updateAssetTypeIdentifier=kr,i.updateAssetTypeIdentifierValue=sd,i.updateAssetTypeIdentifierValues=id,i.updateAssetTypeIdentifiers=Nr,i.updateAssetTypeStatus=vd,i.updateAssetTypeStatuses=Ed,i.updateAssetTypes=Sd,i.updateAssets=pc,i.updateConversation=za,i.updateConversations=ab,i.updateDocument=ru,i.updateDocumentAttachment=Kd,i.updateDocumentAttachments=Yd,i.updateDocuments=du,i.updateEmailDomain=Ou,i.updateEmailDomains=Pu,i.updateForm=$l,i.updateFormIdentifier=Cu,i.updateFormIdentifierValue=Qu,i.updateFormIdentifierValues=xu,i.updateFormIdentifiers=$u,i.updateFormRevision=_l,i.updateFormRevisionAttachment=hl,i.updateFormRevisionAttachments=pl,i.updateFormRevisions=gl,i.updateFormSubmission=oo,i.updateFormSubmissionAttachment=Ql,i.updateFormSubmissionAttachments=xl,i.updateFormSubmissions=ho,i.updateForms=Ul,i.updateGeoImage=_o,i.updateGeoImages=go,i.updateIssue=Uh,i.updateIssueAssociation=qo,i.updateIssueAssociations=Co,i.updateIssueAttachment=eh,i.updateIssueAttachments=th,i.updateIssueComment=Rh,i.updateIssueCommentAttachment=mh,i.updateIssueCommentAttachments=yh,i.updateIssueComments=wh,i.updateIssueType=Nm,i.updateIssueTypeAttachment=ep,i.updateIssueTypeAttachments=tp,i.updateIssueTypeFieldValues=Rp,i.updateIssueTypeFieldValuesAttachment=tm,i.updateIssueTypeFieldValuesAttachments=sm,i.updateIssueTypeFieldValuesMany=wp,i.updateIssueTypeFields=kp,i.updateIssueTypeFieldsAttachment=mp,i.updateIssueTypeFieldsAttachments=yp,i.updateIssueTypeFieldsMany=Np,i.updateIssueTypeIdentifier=ym,i.updateIssueTypeIdentifierValue=wm,i.updateIssueTypeIdentifierValues=vm,i.updateIssueTypeIdentifiers=fm,i.updateIssueTypeStatus=iy,i.updateIssueTypeStatuses=ny,i.updateIssueTypes=Gm,i.updateIssueUpdate=my,i.updateIssueUpdates=yy,i.updateIssues=Lh,i.updateOrganization=Qy,i.updateOrganizationAccess=qy,i.updateOrganizationAccesses=Cy,i.updateOrganizations=Xy,i.updateProcedure=zS,i.updateProcedureFieldValues=xO,i.updateProcedureFieldValuesAttachment=$O,i.updateProcedureFieldValuesAttachments=UO,i.updateProcedureFieldValuesMany=eP,i.updateProcedureInitiative=OS,i.updateProcedureInitiatives=PS,i.updateProcedureStep=$T,i.updateProcedureStepAssignee=XS,i.updateProcedureStepAssignees=QS,i.updateProcedureStepComment=oA,i.updateProcedureStepComments=hA,i.updateProcedureStepDefaultAssignee=_A,i.updateProcedureStepDefaultAssignees=gA,i.updateProcedureStepDefaultReviewer=$A,i.updateProcedureStepDefaultReviewers=UA,i.updateProcedureStepEvent=xA,i.updateProcedureStepEvents=eI,i.updateProcedureStepFieldValues=QI,i.updateProcedureStepFieldValuesAttachment=CI,i.updateProcedureStepFieldValuesAttachments=$I,i.updateProcedureStepFieldValuesMany=xI,i.updateProcedureStepFieldValuesReview=oT,i.updateProcedureStepFieldValuesReviews=hT,i.updateProcedureStepFields=gI,i.updateProcedureStepFieldsAttachment=hI,i.updateProcedureStepFieldsAttachments=pI,i.updateProcedureStepFieldsMany=MI,i.updateProcedureStepReviewer=_T,i.updateProcedureStepReviewers=gT,i.updateProcedureSteps=UT,i.updateProcedureType=pP,i.updateProcedureTypeAttachment=QT,i.updateProcedureTypeAttachments=xT,i.updateProcedureTypeFields=gO,i.updateProcedureTypeFieldsAttachment=hO,i.updateProcedureTypeFieldsAttachments=pO,i.updateProcedureTypeFieldsMany=MO,i.updateProcedureTypes=mP,i.updateProcedures=DS,i.updateProject=dS,i.updateProjectAccess=If,i.updateProjectAccesses=Tf,i.updateProjectAttachment=Bf,i.updateProjectAttachments=Vf,i.updateProjectFile=Wf,i.updateProjectFiles=Kf,i.updateProjects=rS,i.updateTeam=kP,i.updateTeamMembership=RP,i.updateTeamMemberships=wP,i.updateTeams=NP,i.updateUser=gy,i.updateUsers=_y,i.useSelectorBuilder=jF,i.userReducer=Ry,i.userSlice=Xi,i.uuidObj=O,i.uuidObjSortFn=ls,i.uuidSortFn=zt,i.versioningReducer=XP,i.versioningSlice=JP,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});