@overmap-ai/core 1.0.78-bulk-update.3 → 1.0.78-bulk-update.5

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.
@@ -2,7 +2,7 @@ var bc = Object.defineProperty;
2
2
  var Pc = (t, s, e) => s in t ? bc(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e;
3
3
  var h = (t, s, e) => Pc(t, typeof s != "symbol" ? s + "" : s, e);
4
4
  import "@redux-offline/redux-offline/lib/types";
5
- import { createAction as Pt, createSelector as g, createSelectorCreator as mi, weakMapMemoize as yi, createSlice as M, isAnyOf as E, combineReducers as fi, compose as gc } from "@reduxjs/toolkit";
5
+ import { createAction as Pt, createSelector as g, createSelectorCreator as mi, lruMemoize as yi, createSlice as M, isAnyOf as E, combineReducers as fi, compose as gc } from "@reduxjs/toolkit";
6
6
  import tt from "superagent";
7
7
  import { v4 as Qe } from "uuid";
8
8
  import { useMemo as _c } from "react";
@@ -1,4 +1,4 @@
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("react-fast-compare"),require("react-redux"),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","react-fast-compare","react-redux","@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.isEqual,i.reactRedux,i.reduxOffline,i.offlineConfig,i.localforage,i.createMigration,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,L,p,it,et,RO,wO,Gn,pt,EO,vO,VO,Hn,zO,BO,_b,Mb,jO,qO,DO){"use strict";var gb=Object.defineProperty;var bb=(i,L,p)=>L in i?gb(i,L,{enumerable:!0,configurable:!0,writable:!0,value:p}):i[L]=p;var m=(i,L,p)=>bb(i,typeof L!="symbol"?L+"":L,p);var _O;const Wn=Object.freeze([]),Kn=Object.freeze({});var Yn=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(Yn||{}),h=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(h||{}),Zn=(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))(Zn||{}),Jn=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(Jn||{}),Lt=(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))(Lt||{}),U=(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))(U||{}),Xn=(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))(Xn||{});const CO=Lt.MEDIUM,Qn=6e4;function w(t){return{addOne:(o,y)=>{const A=t(y.payload);o.instances[A]=y.payload},addMany:(o,y)=>{for(const A of y.payload){const f=t(A);o.instances[f]=A}},setOne:(o,y)=>{const A=t(y.payload);o.instances[A]=y.payload},setMany:(o,y)=>{for(const A of y.payload){const f=t(A);o.instances[f]=A}},updateOne:(o,y)=>{const A=t(y.payload);o.instances[A]=y.payload},updateMany:(o,y)=>{for(const A of y.payload){const f=t(A);o.instances[f]=A}},deleteOne:(o,y)=>{delete o.instances[y.payload]},deleteMany:(o,y)=>{for(const A of y.payload)delete o.instances[A]},initialize:(o,y)=>{o.instances={};const A=new Set;for(const f of y.payload){const I=t(f);A.add(I),o.instances[I]=f}A.size!==y.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function $O(){return{initializeSelection:(u,d)=>{u.selection=Array.from(new Set(d.payload))},selectOne:(u,d)=>{new Set(u.selection).has(d.payload)||u.selection.push(d.payload)},selectMany:(u,d)=>{const o=new Set(u.selection);for(const y of d.payload)o.has(y)||o.add(y);u.selection=Array.from(o)},unselectOne:(u,d)=>{const o=new Set(u.selection);o.has(d.payload)&&(o.delete(d.payload),u.selection=Array.from(o))},unselectMany:(u,d)=>{const o=new Set(u.selection);for(const y of d.payload)o.has(y)&&o.delete(y);u.selection=Array.from(o)},toggleOne:(u,d)=>{const o=new Set(u.selection);o.has(d.payload)?o.delete(d.payload):o.add(d.payload),u.selection=Array.from(o)},toggleMany:(u,d)=>{const o=new Set(u.selection);for(const y of d.payload)o.has(y)?o.delete(y):o.add(y);u.selection=Array.from(o)},getInitialState:u=>({...u,selection:[]})}}const ut="versioning",M=p.createAction("RESET"),$=p.createAction("RESET_PROJECT_STATE"),E=p.createAction("RESET_ORGANIZATION_STATE");function UO(t,s){return RO.useMemo(t,s)}_O=Symbol.toStringTag;class Nt{constructor(){m(this,_O,"Promise");m(this,"_promise");m(this,"_resolve");m(this,"_reject");m(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 Gt=!1;["true","1"].includes("".toLowerCase())&&(Gt=!0);function kO(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 c=0;c<a;c++){const r=e[c];if(!Object.prototype.hasOwnProperty.call(s,r)||t[r]!==s[r])return!1}return!0}function Ht(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(Gt&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(Gt&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function LO(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?Wn:t,At=t=>Object.keys(t).length===0?Kn:t,xn=Ht(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===Wt.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),NO=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),GO=1e3*86400,Wt=new Date,HO=t=>new Date(t).toDateString()===Wt.toDateString(),WO=Ht((t,s,e)=>{const n=Math.round((new Date(t).getTime()-Wt.getTime())/GO);return n<s||n>e?xn(t):NO.format(n,"days")});function KO(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}const Kt=async(t,s)=>{s||(s=await nt(t));let e=t.type;if(e.includes("/")&&(e=e.split("/")[1]),!e)throw new Error(`Could not extract file type from ${t.type}`);return`${s}.${e}`};function nt(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(c=>{const r=KO(c);s(r)})},n.readAsArrayBuffer(t)})}function YO(t){if(!t.name||!t.type||!t.size){const s="File has no name, type, and/or size";throw new Error(s)}return`${t.name}&${t.type}${t.size}`}function ea(t,s){return new File([t],s,{type:t.type})}function ZO(t,s){const e=document.createElement("a");e.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(s)),e.setAttribute("download",t),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)}const JO=async t=>{const s={};for(const e of t){const n=await nt(e);s[n]={sha1:n,extension:e.name.split(".").pop()||"",file_type:e.type,size:e.size}}return Object.values(s)},ta=async t=>(await fetch(t)).blob(),XO=t=>new Promise((s,e)=>{const n=new FileReader;n.onloadend=()=>{var a;s(((a=n.result)==null?void 0:a.toString())||"")},n.readAsDataURL(t)});function QO(t){const s=new Blob([t]);wO.saveAs(s,t.name)}const sa={};function xO(t,s,e,...n){const a=sa[t];let c=!1;a?a[s]||(a[s]=!0,c=!0):(sa[t]={[s]:!0},c=!0),c&&console[e](...n)}const ia=["created_at","updated_at","index","revision"];function R(t){return{...t,uuid:et.v4()}}function eP(t){const s={};for(const e of t)s[e.uuid]=e;return s}function C(t){return t.map(({uuid:s})=>s)}function ft(t,s){return t.localeCompare(s)}function Yt(t,s){return ft(t.uuid,s.uuid)}function tP(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const c=t.split(".");c.length>1&&(s=c[c.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 sP(t){return t.toLowerCase().replace(" ","-")}function iP(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function nP(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const aP=/^.+@.+\..+$/;function z(t){const s={...t};for(const e of[...ia,"created_by"])e in s&&delete s[e];return s}const na=t=>{const s=t.toSorted((e,n)=>e.order-n.order);return Gn(s,{id:e=>e.uuid,parentId:e=>e.parent,includeEmptyChildrenArray:!0,valueKey:!1})},cP=t=>{const{roots:s}=na(t);return s.map(e=>new pt.Tree(e))},aa=(t,s)=>{const{nodes:e}=na(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new pt.Tree(n)},ca=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,da=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,ra=t=>Gn(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),dP=t=>{const{roots:s}=ra(t);return s.map(e=>new pt.Tree(e))},ua=(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 pt.Tree(n)};class rP{constructor(s){m(this,"operations",[]);m(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].sort((n,a)=>n[s]<=a[s]?1:-1)),this}reverse(){return this.operations.push(s=>[...s].reverse()),this}all(){return this.operations.push(s=>s),this}get(s,e){return p.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[s]===e))}count(){return p.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return p.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return p.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return p.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return p.createSelector([this.getData],s=>S(this.performOperations(s)))}}const T=t=>s=>e=>t(e,s),O=p.createSelectorCreator({memoize:p.weakMapMemoize,memoizeOptions:{resultEqualityCheck:vO.shallowEqual}}),uP=p.createSelectorCreator({memoize:p.weakMapMemoize,memoizeOptions:{resultEqualityCheck:EO}}),G=w(t=>t.uuid),la={instances:{}},Zt=p.createSlice({name:"agents",initialState:la,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,la)),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:oa,addConversation:ha,addConversations:lP,setConversation:ma,setConversations:oP,updateConversation:ya,updateConversations:hP,deleteConversation:mP,deleteConversations:yP}=Zt.actions,Jt=t=>t.agentsReducer.instances,pP=p.createSelector([Jt],t=>Object.values(t)),AP=T(p.createSelector([Jt,(t,s)=>s],(t,s)=>t[s])),pa=Zt.reducer,H=w(t=>t.uuid),Aa={instances:{}},Xt=p.createSlice({name:"assetAttachments",initialState:Aa,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Aa)),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:fa,addAssetAttachment:Ta,addAssetAttachments:Qt,setAssetAttachment:Sa,setAssetAttachments:Ia,updateAssetAttachment:Oa,updateAssetAttachments:Pa,deleteAssetAttachment:Fa,deleteAssetAttachments:xt}=Xt.actions,ga=t=>t.assetAttachmentReducer.instances,es=p.createSelector([ga],t=>Object.values(t)),ba=t=>s=>s.assetAttachmentReducer.instances[t],_a=T(O([es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ma=T(O([es,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>s===e)))),Ra=Xt.reducer,W=w(({uuid:t})=>t),wa={instances:{}},ts=p.createSlice({name:"assetProcedureTypeAttachments",initialState:wa,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,wa)),reducers:{initializeAssetProcedureTypeAttachments:W.initialize,addAssetProcedureTypeAttachment:W.addOne,addAssetProcedureTypeAttachments:W.addMany,setAssetProcedureTypeAttachment:W.setOne,setAssetProcedureTypeAttachments:W.setMany,updateAssetProcedureTypeAttachment:W.updateOne,updateAssetProcedureTypeAttachments:W.updateMany,deleteAssetProcedureTypeAttachment:W.deleteOne,deleteAssetProcedureTypeAttachments:W.deleteMany}}),{initializeAssetProcedureTypeAttachments:Ea,addAssetProcedureTypeAttachment:va,addAssetProcedureTypeAttachments:Va,setAssetProcedureTypeAttachment:za,setAssetProcedureTypeAttachments:Ba,updateAssetProcedureTypeAttachment:ja,updateAssetProcedureTypeAttachments:qa,deleteAssetProcedureTypeAttachment:Da,deleteAssetProcedureTypeAttachments:Ca}=ts.actions,$a=ts.reducer,Ua=t=>t.assetProcedureTypeAttachmentReducer.instances,ss=p.createSelector([Ua],t=>Object.values(t)),ka=t=>s=>s.assetProcedureTypeAttachmentReducer.instances[t],La=T(O([ss,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),fP=T(O([ss,(t,s)=>s],(t,s)=>S(t.filter(({asset_procedure_type:e})=>s===e)))),K=w(({uuid:t})=>t),Na={instances:{}},is=p.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:Na,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Na)),reducers:{initializeAssetProcedureTypeFieldsAttachments:K.initialize,addAssetProcedureTypeFieldsAttachment:K.addOne,addAssetProcedureTypeFieldsAttachments:K.addMany,setAssetProcedureTypeFieldsAttachment:K.setOne,setAssetProcedureTypeFieldsAttachments:K.setMany,updateAssetProcedureTypeFieldsAttachment:K.updateOne,updateAssetProcedureTypeFieldsAttachments:K.updateMany,deleteAssetProcedureTypeFieldsAttachment:K.deleteOne,deleteAssetProcedureTypeFieldsAttachments:K.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:Ga,addAssetProcedureTypeFieldsAttachment:Ha,addAssetProcedureTypeFieldsAttachments:Wa,setAssetProcedureTypeFieldsAttachment:Ka,setAssetProcedureTypeFieldsAttachments:Ya,updateAssetProcedureTypeFieldsAttachment:Za,updateAssetProcedureTypeFieldsAttachments:Ja,deleteAssetProcedureTypeFieldsAttachment:Xa,deleteAssetProcedureTypeFieldsAttachments:Qa}=is.actions,xa=is.reducer,ec=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,ns=p.createSelector([ec],t=>Object.values(t)),TP=T(O([ns,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),tc=t=>s=>s.assetProcedureTypeFieldsAttachmentReducer.instances[t],sc=T(O([ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Y=w(({uuid:t})=>t),ic={instances:{}},as=p.createSlice({name:"assetProcedureTypeFields",initialState:ic,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,ic)),reducers:{initializeAssetProcedureTypeFields:Y.initialize,addAssetProcedureTypeFields:Y.addOne,addAssetProcedureTypeFieldsMany:Y.addMany,setAssetProcedureTypeFields:Y.setOne,setAssetProcedureTypeFieldsMany:Y.setMany,updateAssetProcedureTypeFields:Y.updateOne,updateAssetProcedureTypeFieldsMany:Y.updateMany,deleteAssetProcedureTypeFields:Y.deleteOne,deleteAssetProcedureTypeFieldsMany:Y.deleteMany}}),{initializeAssetProcedureTypeFields:nc,addAssetProcedureTypeFields:ac,addAssetProcedureTypeFieldsMany:cc,setAssetProcedureTypeFields:dc,setAssetProcedureTypeFieldsMany:rc,updateAssetProcedureTypeFields:uc,updateAssetProcedureTypeFieldsMany:lc,deleteAssetProcedureTypeFields:oc,deleteAssetProcedureTypeFieldsMany:hc}=as.actions,mc=as.reducer,yc=t=>t.assetProcedureTypeFieldsReducer.instances,Tt=p.createSelector([yc],t=>Object.values(t)),SP=T(O([Tt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),IP=T(p.createSelector([Tt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),pc=t=>s=>s.assetProcedureTypeFieldsReducer.instances[t],Ac=T(O([Tt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Z=w(({uuid:t})=>t),fc={instances:{}},cs=p.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:fc,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,fc)),reducers:{initializeAssetProcedureTypeFieldValuesAttachments:Z.initialize,addAssetProcedureTypeFieldValuesAttachment:Z.addOne,addAssetProcedureTypeFieldValuesAttachments:Z.addMany,setAssetProcedureTypeFieldValuesAttachment:Z.setOne,setAssetProcedureTypeFieldValuesAttachments:Z.setMany,updateAssetProcedureTypeFieldValuesAttachment:Z.updateOne,updateAssetProcedureTypeFieldValuesAttachments:Z.updateMany,deleteAssetProcedureTypeFieldValuesAttachment:Z.deleteOne,deleteAssetProcedureTypeFieldValuesAttachments:Z.deleteMany}}),{initializeAssetProcedureTypeFieldValuesAttachments:Tc,addAssetProcedureTypeFieldValuesAttachment:Sc,addAssetProcedureTypeFieldValuesAttachments:ds,setAssetProcedureTypeFieldValuesAttachment:Ic,setAssetProcedureTypeFieldValuesAttachments:Oc,updateAssetProcedureTypeFieldValuesAttachment:Pc,updateAssetProcedureTypeFieldValuesAttachments:Fc,deleteAssetProcedureTypeFieldValuesAttachment:gc,deleteAssetProcedureTypeFieldValuesAttachments:rs}=cs.actions,bc=cs.reducer,_c=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,us=p.createSelector([_c],t=>Object.values(t)),Mc=t=>s=>s.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],Rc=T(O([us,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),wc=T(O([us,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),J=w(({uuid:t})=>t),Ec={instances:{}},ls=p.createSlice({name:"assetProcedureTypeFieldValues",initialState:Ec,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Ec)),reducers:{initializeAssetProcedureTypeFieldValues:J.initialize,addAssetProcedureTypeFieldValues:J.addOne,addAssetProcedureTypeFieldValuesMany:J.addMany,setAssetProcedureTypeFieldValues:J.setOne,setAssetProcedureTypeFieldValuesMany:J.setMany,updateAssetProcedureTypeFieldValues:J.updateOne,updateAssetProcedureTypeFieldValuesMany:J.updateMany,deleteAssetProcedureTypeFieldValues:J.deleteOne,deleteAssetProcedureTypeFieldValuesMany:J.deleteMany}}),{initializeAssetProcedureTypeFieldValues:vc,addAssetProcedureTypeFieldValues:Vc,addAssetProcedureTypeFieldValuesMany:zc,setAssetProcedureTypeFieldValues:Bc,setAssetProcedureTypeFieldValuesMany:jc,updateAssetProcedureTypeFieldValues:qc,updateAssetProcedureTypeFieldValuesMany:Dc,deleteAssetProcedureTypeFieldValues:Cc,deleteAssetProcedureTypeFieldValuesMany:$c}=ls.actions,Uc=ls.reducer,kc=t=>t.assetProcedureTypeFieldValuesReducer.instances,St=p.createSelector([kc],t=>Object.values(t)),OP=T(O([St,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),PP=T(O([St,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure===s)))),Lc=t=>s=>s.assetProcedureTypeFieldValuesReducer.instances[t],Nc=T(O([St,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),X=w(({uuid:t})=>t),Gc={instances:{}},os=p.createSlice({name:"assetProcedures",initialState:Gc,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Gc)),reducers:{initializeAssetProcedures:X.initialize,addAssetProcedure:X.addOne,addAssetProcedures:X.addMany,setAssetProcedure:X.setOne,setAssetProcedures:X.setMany,updateAssetProcedure:X.updateOne,updateAssetProcedures:X.updateMany,deleteAssetProcedure:X.deleteOne,deleteAssetProcedures:X.deleteMany}}),{initializeAssetProcedures:Hc,addAssetProcedure:Wc,addAssetProcedures:hs,updateAssetProcedure:Kc,updateAssetProcedures:Yc,deleteAssetProcedure:Zc,deleteAssetProcedures:ms,setAssetProcedure:Jc,setAssetProcedures:Xc}=os.actions,Qc=os.reducer,xc=t=>t.assetProcedureReducer.instances,It=p.createSelector([xc],t=>Object.values(t)),ed=T(O([It,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),FP=T(O([It,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),td=t=>s=>s.assetProcedureReducer.instances[t],sd=T(O([It,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Q=w(t=>t.uuid),id={instances:{}},ys=p.createSlice({name:"assetProcedureTypes",initialState:id,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,id)),reducers:{initializeAssetProcedureTypes:Q.initialize,addAssetProcedureType:Q.addOne,addAssetProcedureTypes:Q.addMany,setAssetProcedureType:Q.setOne,setAssetProcedureTypes:Q.setMany,updateAssetProcedureType:Q.updateOne,updateAssetProcedureTypes:Q.updateMany,deleteAssetProcedureType:Q.deleteOne,deleteAssetProcedureTypes:Q.deleteMany}}),{initializeAssetProcedureTypes:nd,addAssetProcedureType:ad,addAssetProcedureTypes:cd,updateAssetProcedureType:dd,updateAssetProcedureTypes:rd,deleteAssetProcedureType:ud,deleteAssetProcedureTypes:ld,setAssetProcedureType:od,setAssetProcedureTypes:hd}=ys.actions,md=ys.reducer,yd=t=>t.assetProcedureTypeReducer.instances,ps=p.createSelector([yd],t=>Object.values(t)),pd=t=>s=>s.assetProcedureTypeReducer.instances[t],Ad=T(O([ps,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),gP=T(O([ps,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),x=w(t=>t.uuid),fd={instances:{}},As=p.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:fd,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,fd)),reducers:{initializeAssetProcedureStepFieldsAttachments:x.initialize,addAssetProcedureStepFieldsAttachment:x.addOne,addAssetProcedureStepFieldsAttachments:x.addMany,setAssetProcedureStepFieldsAttachment:x.setOne,setAssetProcedureStepFieldsAttachments:x.setMany,updateAssetProcedureStepFieldsAttachment:x.updateOne,updateAssetProcedureStepFieldsAttachments:x.updateMany,deleteAssetProcedureStepFieldsAttachment:x.deleteOne,deleteAssetProcedureStepFieldsAttachments:x.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:Td,addAssetProcedureStepFieldsAttachment:Sd,addAssetProcedureStepFieldsAttachments:Id,setAssetProcedureStepFieldsAttachment:Od,setAssetProcedureStepFieldsAttachments:Pd,updateAssetProcedureStepFieldsAttachment:Fd,updateAssetProcedureStepFieldsAttachments:gd,deleteAssetProcedureStepFieldsAttachment:bd,deleteAssetProcedureStepFieldsAttachments:_d}=As.actions,Md=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,fs=p.createSelector([Md],t=>Object.values(t)),bP=T(O([fs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),Rd=t=>s=>s.assetProcedureStepFieldsAttachmentReducer.instances[t],wd=T(O([fs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ed=As.reducer,ee=w(t=>t.uuid),vd={instances:{}},Ts=p.createSlice({name:"assetProcedureStepFields",initialState:vd,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,vd)),reducers:{initializeAssetProcedureStepFields:ee.initialize,addAssetProcedureStepFields:ee.addOne,addAssetProcedureStepFieldsMany:ee.addMany,setAssetProcedureStepFields:ee.setOne,setAssetProcedureStepFieldsMany:ee.setMany,updateAssetProcedureStepFields:ee.updateOne,updateAssetProcedureStepFieldsMany:ee.updateMany,deleteAssetProcedureStepFields:ee.deleteOne,deleteAssetProcedureStepFieldsMany:ee.deleteMany}}),{initializeAssetProcedureStepFields:Vd,addAssetProcedureStepFields:zd,addAssetProcedureStepFieldsMany:Bd,setAssetProcedureStepFields:jd,setAssetProcedureStepFieldsMany:qd,updateAssetProcedureStepFields:Dd,updateAssetProcedureStepFieldsMany:Cd,deleteAssetProcedureStepFields:$d,deleteAssetProcedureStepFieldsMany:Ud}=Ts.actions,Ss=t=>t.assetProcedureStepFieldsReducer.instances,Ot=p.createSelector([Ss],t=>Object.values(t)),_P=T(O([Ot,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_step===s)))),MP=T(p.createSelector([Ot,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_step===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),RP=p.createSelector([Ss],t=>{const s={};for(const e of Object.values(t)){const n=s[e.asset_procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.asset_procedure_step]=e)}return s}),kd=t=>s=>s.assetProcedureStepFieldsReducer.instances[t],Ld=T(O([Ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Nd=Ts.reducer,te=w(t=>t.uuid),Gd={instances:{}},Is=p.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:Gd,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Gd)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:te.initialize,addAssetProcedureStepFieldValuesAttachment:te.addOne,addAssetProcedureStepFieldValuesAttachments:te.addMany,setAssetProcedureStepFieldValuesAttachment:te.setOne,setAssetProcedureStepFieldValuesAttachments:te.setMany,updateAssetProcedureStepFieldValuesAttachment:te.updateOne,updateAssetProcedureStepFieldValuesAttachments:te.updateMany,deleteAssetProcedureStepFieldValuesAttachment:te.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:te.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:Hd,addAssetProcedureStepFieldValuesAttachment:Wd,addAssetProcedureStepFieldValuesAttachments:Os,setAssetProcedureStepFieldValuesAttachment:Kd,setAssetProcedureStepFieldValuesAttachments:Yd,updateAssetProcedureStepFieldValuesAttachment:Zd,updateAssetProcedureStepFieldValuesAttachments:Jd,deleteAssetProcedureStepFieldValuesAttachment:Xd,deleteAssetProcedureStepFieldValuesAttachments:Ps}=Is.actions,Qd=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,Fs=p.createSelector([Qd],t=>Object.values(t)),xd=t=>s=>s.assetProcedureStepFieldValuesAttachmentReducer.instances[t],er=T(O([Fs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),tr=T(O([Fs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),sr=Is.reducer,se=w(t=>t.uuid),ir={instances:{}},gs=p.createSlice({name:"assetProcedureStepFieldValues",initialState:ir,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,ir)),reducers:{initializeAssetProcedureStepFieldValues:se.initialize,addAssetProcedureStepFieldValues:se.addOne,addAssetProcedureStepFieldValuesMany:se.addMany,setAssetProcedureStepFieldValues:se.setOne,setAssetProcedureStepFieldValuesMany:se.setMany,updateAssetProcedureStepFieldValues:se.updateOne,updateAssetProcedureStepFieldValuesMany:se.updateMany,deleteAssetProcedureStepFieldValues:se.deleteOne,deleteAssetProcedureStepFieldValuesMany:se.deleteMany}}),{initializeAssetProcedureStepFieldValues:nr,addAssetProcedureStepFieldValues:ar,addAssetProcedureStepFieldValuesMany:cr,setAssetProcedureStepFieldValues:dr,setAssetProcedureStepFieldValuesMany:rr,updateAssetProcedureStepFieldValues:ur,updateAssetProcedureStepFieldValuesMany:lr,deleteAssetProcedureStepFieldValues:or,deleteAssetProcedureStepFieldValuesMany:hr}=gs.actions,mr=t=>t.assetProcedureStepFieldValuesReducer.instances,lt=p.createSelector([mr],t=>Object.values(t)),wP=T(O([lt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),EP=T(O([lt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure===s)))),vP=T(O([lt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_step===s)))),yr=t=>s=>s.assetProcedureStepFieldValuesReducer.instances[t],pr=T(O([lt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ar=gs.reducer,ie=w(t=>t.uuid),fr={instances:{}},bs=p.createSlice({name:"assetProcedureSteps",initialState:fr,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,fr)),reducers:{initializeAssetProcedureSteps:ie.initialize,setAssetProcedureStep:ie.setOne,setAssetProcedureSteps:ie.setMany,addAssetProcedureStep:ie.addOne,addAssetProcedureSteps:ie.addMany,updateAssetProcedureStep:ie.updateOne,updateAssetProcedureSteps:ie.updateMany,deleteAssetProcedureStep:ie.deleteOne,deleteAssetProcedureSteps:ie.deleteMany}}),{initializeAssetProcedureSteps:Tr,setAssetProcedureStep:Sr,setAssetProcedureSteps:Ir,addAssetProcedureStep:Or,addAssetProcedureSteps:Pr,updateAssetProcedureStep:Fr,updateAssetProcedureSteps:gr,deleteAssetProcedureStep:br,deleteAssetProcedureSteps:_r}=bs.actions,Mr=bs.reducer,Pt=t=>t.assetProcedureStepReducer.instances,Rr=t=>s=>s.assetProcedureStepReducer.instances[t],_s=p.createSelector([Pt],t=>Object.values(t)),VP=T(p.createSelector([Pt,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return At(e)})),zP=T(O([_s,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),wr=T(O([_s,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Er=T(O([Pt,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const a=aa(s,Object.values(t)).all().map(({model:c})=>c);return S(a)})),ne=w(t=>t.uuid),vr={instances:{}},Ms=p.createSlice({name:"assets",initialState:vr,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,vr)),reducers:{initializeAssets:ne.initialize,addAsset:ne.addOne,addAssets:ne.addMany,setAsset:ne.setOne,setAssets:ne.setMany,updateAsset:ne.updateOne,updateAssets:ne.updateMany,deleteAsset:ne.deleteOne,deleteAssets:ne.deleteMany}}),{initializeAssets:Vr,addAsset:zr,addAssets:Rs,updateAsset:Br,updateAssets:jr,deleteAsset:qr,deleteAssets:ws,setAsset:Dr,setAssets:Cr}=Ms.actions,$r=t=>t.assetReducer.instances,Es=p.createSelector([$r],t=>S(Object.values(t))),vs=T(O([Es,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Ur=t=>s=>s.assetReducer.instances[t],kr=T(O([Es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),BP=t=>s=>vs(t)(s).length,Lr=Ms.reducer,ae=w(t=>t.uuid),Nr={instances:{}},Vs=p.createSlice({name:"assetStageCompletions",initialState:Nr,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Nr)),reducers:{initializeAssetStageCompletions:ae.initialize,addAssetStageCompletion:ae.addOne,addAssetStageCompletions:ae.addMany,setAssetStageCompletion:ae.setOne,setAssetStageCompletions:ae.setMany,updateAssetStageCompletion:ae.updateOne,updateAssetStageCompletions:ae.updateMany,deleteAssetStageCompletion:ae.deleteOne,deleteAssetStageCompletions:ae.deleteMany}}),{initializeAssetStageCompletions:Gr,addAssetStageCompletion:Hr,addAssetStageCompletions:Wr,setAssetStageCompletion:Kr,setAssetStageCompletions:Yr,updateAssetStageCompletion:Zr,updateAssetStageCompletions:Jr,deleteAssetStageCompletion:Xr,deleteAssetStageCompletions:Qr}=Vs.actions,xr=Vs.reducer,eu=t=>t.assetStageCompletionReducer.instances,tu=p.createSelector([eu],t=>Object.values(t)),su=t=>s=>s.assetStageCompletionReducer.instances[t],iu=T(O([tu,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ce=w(t=>t.uuid),nu={instances:{}},zs=p.createSlice({name:"assetStages",initialState:nu,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,nu)),reducers:{initializeAssetStages:ce.initialize,setAssetStage:ce.setOne,setAssetStages:ce.setMany,addAssetStage:ce.addOne,addAssetStages:ce.addMany,updateAssetStage:ce.updateOne,updateAssetStages:ce.updateMany,deleteAssetStage:ce.deleteOne,deleteAssetStages:ce.deleteMany}}),{initializeAssetStages:au,setAssetStage:cu,setAssetStages:du,addAssetStage:ru,addAssetStages:uu,updateAssetStage:lu,updateAssetStages:ou,deleteAssetStage:hu,deleteAssetStages:mu}=zs.actions,yu=zs.reducer,Bs=t=>t.assetStageReducer.instances,pu=t=>s=>s.assetStageReducer.instances[t],js=p.createSelector([Bs],t=>Object.values(t)),jP=T(p.createSelector([Bs,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return At(e)})),qP=T(O([js,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),Au=T(O([js,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),de=w(t=>t.uuid),fu={instances:{}},qs=p.createSlice({name:"assetTypeAttachments",initialState:fu,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,fu)),reducers:{initializeAssetTypeAttachments:de.initialize,addAssetTypeAttachment:de.addOne,addAssetTypeAttachments:de.addMany,setAssetTypeAttachment:de.setOne,setAssetTypeAttachments:de.setMany,updateAssetTypeAttachment:de.updateOne,updateAssetTypeAttachments:de.updateMany,deleteAssetTypeAttachment:de.deleteOne,deleteAssetTypeAttachments:de.deleteMany}}),{initializeAssetTypeAttachments:Tu,addAssetTypeAttachment:Su,addAssetTypeAttachments:Ds,setAssetTypeAttachment:Iu,setAssetTypeAttachments:Ou,updateAssetTypeAttachment:Pu,updateAssetTypeAttachments:Fu,deleteAssetTypeAttachment:gu,deleteAssetTypeAttachments:Cs}=qs.actions,bu=t=>t.assetTypeAttachmentReducer.instances,$s=p.createSelector([bu],t=>Object.values(t)),_u=t=>s=>s.assetTypeAttachmentReducer.instances[t],Mu=T(O([$s,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ru=T(O([$s,(t,s)=>s],(t,s)=>S(t.filter(({asset_type:e})=>s===e)))),wu=qs.reducer,re=w(t=>t.uuid),Eu={instances:{}},Us=p.createSlice({name:"assetTypeFieldsAttachments",initialState:Eu,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Eu)),reducers:{initializeAssetTypeFieldsAttachments:re.initialize,addAssetTypeFieldsAttachment:re.addOne,addAssetTypeFieldsAttachments:re.addMany,setAssetTypeFieldsAttachment:re.setOne,setAssetTypeFieldsAttachments:re.setMany,updateAssetTypeFieldsAttachment:re.updateOne,updateAssetTypeFieldsAttachments:re.updateMany,deleteAssetTypeFieldsAttachment:re.deleteOne,deleteAssetTypeFieldsAttachments:re.deleteMany}}),{initializeAssetTypeFieldsAttachments:vu,addAssetTypeFieldsAttachment:Vu,addAssetTypeFieldsAttachments:zu,setAssetTypeFieldsAttachment:Bu,setAssetTypeFieldsAttachments:ju,updateAssetTypeFieldsAttachment:qu,updateAssetTypeFieldsAttachments:Du,deleteAssetTypeFieldsAttachment:Cu,deleteAssetTypeFieldsAttachments:$u}=Us.actions,Uu=t=>t.assetTypeFieldsAttachmentReducer.instances,ks=p.createSelector([Uu],t=>Object.values(t)),DP=T(O([ks,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),ku=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],Lu=T(O([ks,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Nu=Us.reducer,ue=w(t=>t.uuid),Gu={instances:{}},Ls=p.createSlice({name:"assetTypeFields",initialState:Gu,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Gu)),reducers:{initializeAssetTypeFields:ue.initialize,addAssetTypeFields:ue.addOne,addAssetTypeFieldsMany:ue.addMany,setAssetTypeFields:ue.setOne,setAssetTypeFieldsMany:ue.setMany,updateAssetTypeFields:ue.updateOne,updateAssetTypeFieldsMany:ue.updateMany,deleteAssetTypeFields:ue.deleteOne,deleteAssetTypeFieldsMany:ue.deleteMany}}),{initializeAssetTypeFields:Hu,addAssetTypeFields:Wu,addAssetTypeFieldsMany:Ku,setAssetTypeFields:Yu,setAssetTypeFieldsMany:Zu,updateAssetTypeFields:Ju,updateAssetTypeFieldsMany:Xu,deleteAssetTypeFields:Qu,deleteAssetTypeFieldsMany:xu}=Ls.actions,el=t=>t.assetTypeFieldsReducer.instances,ot=p.createSelector([el],t=>Object.values(t)),CP=T(O([ot,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),$P=T(p.createSelector([ot,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),tl=t=>s=>s.assetTypeFieldsReducer.instances[t],sl=T(O([ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),il=Ls.reducer,le=w(t=>t.uuid),nl={instances:{}},Ns=p.createSlice({name:"assetTypeFieldValuesAttachments",initialState:nl,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,nl)),reducers:{initializeAssetTypeFieldValuesAttachments:le.initialize,addAssetTypeFieldValuesAttachment:le.addOne,addAssetTypeFieldValuesAttachments:le.addMany,setAssetTypeFieldValuesAttachment:le.setOne,setAssetTypeFieldValuesAttachments:le.setMany,updateAssetTypeFieldValuesAttachment:le.updateOne,updateAssetTypeFieldValuesAttachments:le.updateMany,deleteAssetTypeFieldValuesAttachment:le.deleteOne,deleteAssetTypeFieldValuesAttachments:le.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:al,addAssetTypeFieldValuesAttachment:cl,addAssetTypeFieldValuesAttachments:Gs,setAssetTypeFieldValuesAttachment:dl,setAssetTypeFieldValuesAttachments:rl,updateAssetTypeFieldValuesAttachment:ul,updateAssetTypeFieldValuesAttachments:ll,deleteAssetTypeFieldValuesAttachment:ol,deleteAssetTypeFieldValuesAttachments:Hs}=Ns.actions,hl=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Ws=p.createSelector([hl],t=>Object.values(t)),ml=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],yl=T(O([Ws,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),pl=T(O([Ws,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),Al=Ns.reducer,oe=w(t=>t.uuid),fl={instances:{}},Ks=p.createSlice({name:"assetTypeFieldValues",initialState:fl,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,fl)),reducers:{initializeAssetTypeFieldValues:oe.initialize,addAssetTypeFieldValues:oe.addOne,addAssetTypeFieldValuesMany:oe.addMany,setAssetTypeFieldValues:oe.setOne,setAssetTypeFieldValuesMany:oe.setMany,updateAssetTypeFieldValues:oe.updateOne,updateAssetTypeFieldValuesMany:oe.updateMany,deleteAssetTypeFieldValues:oe.deleteOne,deleteAssetTypeFieldValuesMany:oe.deleteMany}}),{initializeAssetTypeFieldValues:Tl,addAssetTypeFieldValues:Sl,addAssetTypeFieldValuesMany:Il,setAssetTypeFieldValues:Ol,setAssetTypeFieldValuesMany:Pl,updateAssetTypeFieldValues:Fl,updateAssetTypeFieldValuesMany:gl,deleteAssetTypeFieldValues:bl,deleteAssetTypeFieldValuesMany:_l}=Ks.actions,Ml=t=>t.assetTypeFieldValuesReducer.instances,Ft=p.createSelector([Ml],t=>Object.values(t)),UP=T(O([Ft,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),kP=T(O([ot,Ft,(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)))})),Rl=t=>s=>s.assetTypeFieldValuesReducer.instances[t],wl=T(O([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),El=Ks.reducer,he=w(t=>t.uuid),vl={instances:{}},Ys=p.createSlice({name:"assetTypeIdentifiers",initialState:vl,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,vl)),reducers:{initializeAssetTypeIdentifiers:he.initialize,addAssetTypeIdentifier:he.addOne,addAssetTypeIdentifiers:he.addMany,setAssetTypeIdentifier:he.setOne,setAssetTypeIdentifiers:he.setMany,updateAssetTypeIdentifier:he.updateOne,updateAssetTypeIdentifiers:he.updateMany,deleteAssetTypeIdentifier:he.deleteOne,deleteAssetTypeIdentifiers:he.deleteMany}}),{initializeAssetTypeIdentifiers:Vl,addAssetTypeIdentifier:zl,addAssetTypeIdentifiers:Bl,setAssetTypeIdentifier:jl,setAssetTypeIdentifiers:ql,updateAssetTypeIdentifier:Dl,updateAssetTypeIdentifiers:Cl,deleteAssetTypeIdentifier:$l,deleteAssetTypeIdentifiers:Ul}=Ys.actions,kl=t=>t.assetTypeIdentifierReducer.instances,Zs=p.createSelector([kl],t=>Object.values(t)),Ll=t=>s=>s.assetTypeIdentifierReducer.instances[t],Nl=T(O([Zs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),LP=T(O([Zs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Gl=Ys.reducer,me=w(t=>t.uuid),Hl={instances:{}},Js=p.createSlice({name:"assetTypeIdentifierValues",initialState:Hl,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Hl)),reducers:{initializeAssetTypeIdentifierValues:me.initialize,addAssetTypeIdentifierValue:me.addOne,addAssetTypeIdentifierValues:me.addMany,setAssetTypeIdentifierValue:me.setOne,setAssetTypeIdentifierValues:me.setMany,updateAssetTypeIdentifierValue:me.updateOne,updateAssetTypeIdentifierValues:me.updateMany,deleteAssetTypeIdentifierValue:me.deleteOne,deleteAssetTypeIdentifierValues:me.deleteMany}}),{initializeAssetTypeIdentifierValues:Wl,addAssetTypeIdentifierValue:Kl,addAssetTypeIdentifierValues:Yl,setAssetTypeIdentifierValue:Zl,setAssetTypeIdentifierValues:Jl,updateAssetTypeIdentifierValue:Xl,updateAssetTypeIdentifierValues:Ql,deleteAssetTypeIdentifierValue:xl,deleteAssetTypeIdentifierValues:eo}=Js.actions,to=t=>t.assetTypeIdentifierValueReducer.instances,gt=p.createSelector([to],t=>Object.values(t)),so=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],io=T(O([gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),NP=T(O([gt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),GP=T(O([gt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type_identifier===s)))),no=Js.reducer,ye=w(t=>t.uuid),ao={instances:{}},Xs=p.createSlice({name:"assetTypes",initialState:ao,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,ao)),reducers:{initializeAssetTypes:ye.initialize,setAssetType:ye.setOne,setAssetTypes:ye.setMany,addAssetType:ye.addOne,addAssetTypes:ye.addMany,updateAssetType:ye.updateOne,updateAssetTypes:ye.updateMany,deleteAssetType:ye.deleteOne,deleteAssetTypes:ye.deleteMany}}),{initializeAssetTypes:co,setAssetType:ro,setAssetTypes:uo,addAssetType:lo,addAssetTypes:oo,updateAssetType:ho,updateAssetTypes:mo,deleteAssetType:yo,deleteAssetTypes:po}=Xs.actions,Ao=t=>t.assetTypeReducer.instances,Qs=p.createSelector([Ao],t=>Object.values(t)),fo=t=>s=>s.assetTypeReducer.instances[t],To=T(O([Qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),HP=T(O([Qs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),So=Xs.reducer,pe=w(t=>t.uuid),Io={instances:{}},xs=p.createSlice({name:"assetTypeStatuses",initialState:Io,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Io)),reducers:{initializeAssetTypeStatuses:pe.initialize,addAssetTypeStatus:pe.addOne,addAssetTypeStatuses:pe.addMany,setAssetTypeStatus:pe.setOne,setAssetTypeStatuses:pe.setMany,updateAssetTypeStatus:pe.updateOne,updateAssetTypeStatuses:pe.updateMany,deleteAssetTypeStatus:pe.deleteOne,deleteAssetTypeStatuses:pe.deleteMany}}),{initializeAssetTypeStatuses:Oo,addAssetTypeStatus:Po,addAssetTypeStatuses:Fo,setAssetTypeStatus:go,setAssetTypeStatuses:bo,updateAssetTypeStatus:_o,updateAssetTypeStatuses:Mo,deleteAssetTypeStatus:Ro,deleteAssetTypeStatuses:wo}=xs.actions,Eo=t=>t.assetTypeStatusReducer.instances,ei=p.createSelector([Eo],t=>S(Object.values(t).toSorted(ca))),vo=t=>s=>s.assetTypeStatusReducer.instances[t],Vo=T(O([ei,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),WP=T(O([ei,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),zo=xs.reducer,Bo={accessToken:"",refreshToken:"",isLoggedIn:!1},bt=p.createSlice({name:"auth",initialState:Bo,extraReducers:t=>t.addCase(M,s=>Object.assign(s,Bo)),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||bt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:KP,clearTokens:YP,setLoggedIn:jo}=bt.actions,ZP=t=>t.authReducer.accessToken,JP=t=>t.authReducer.isLoggedIn,qo=bt.reducer,Ae=w(t=>t.uuid),Do={instances:{}},ti=p.createSlice({name:"categories",initialState:Do,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Do)),reducers:{initializeCategories:Ae.initialize,addCategory:Ae.addOne,addCategories:Ae.addMany,setCategory:Ae.setOne,setCategories:Ae.setMany,updateCategory:Ae.updateOne,updateCategories:Ae.updateMany,deleteCategory:Ae.deleteOne,deleteCategories:Ae.deleteMany}}),{initializeCategories:Co,addCategory:$o,addCategories:Uo,setCategory:ko,setCategories:Lo,updateCategory:No,updateCategories:Go,deleteCategory:Ho,deleteCategories:Wo}=ti.actions,Ko=t=>t.categoryReducer.instances,si=p.createSelector([Ko],t=>Object.values(t)),ii=t=>s=>s.categoryReducer.instances[t],Yo=T(O([si,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),XP=T(O([si,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),Zo=ti.reducer,fe=w(t=>t.uuid),Jo={instances:{}},ni=p.createSlice({name:"documentAttachments",initialState:Jo,extraReducers:t=>t.addCase(M,s=>Object.assign(s,Jo)),reducers:{initializeDocumentAttachments:fe.initialize,addDocumentAttachment:fe.addOne,addDocumentAttachments:fe.addMany,setDocumentAttachment:fe.setOne,setDocumentAttachments:fe.setMany,updateDocumentAttachment:fe.updateOne,updateDocumentAttachments:fe.updateMany,deleteDocumentAttachment:fe.deleteOne,deleteDocumentAttachments:fe.deleteMany}}),{initializeDocumentAttachments:Xo,addDocumentAttachment:Qo,addDocumentAttachments:xo,setDocumentAttachment:eh,setDocumentAttachments:th,updateDocumentAttachment:sh,updateDocumentAttachments:ih,deleteDocumentAttachment:nh,deleteDocumentAttachments:ah}=ni.actions,ch=t=>t.documentAttachmentReducer.instances,ai=p.createSelector([ch],t=>Object.values(t)),dh=t=>s=>s.documentAttachmentReducer.instances[t],rh=T(O([ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),QP=T(O([ai,(t,s)=>s],(t,s)=>S(t.filter(({document:e})=>s===e)))),uh=ni.reducer,Te=w(({uuid:t})=>t),lh={instances:{}},ci=p.createSlice({name:"documents",initialState:lh,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>{Object.assign(s,lh)}),reducers:{initializeDocuments:Te.initialize,addDocument:Te.addOne,addDocuments:Te.addMany,setDocument:Te.setOne,setDocuments:Te.setMany,updateDocument:Te.updateOne,updateDocuments:Te.updateMany,deleteDocument:Te.deleteOne,deleteDocuments:Te.deleteMany}}),{initializeDocuments:oh,addDocument:hh,addDocuments:mh,setDocument:yh,setDocuments:ph,updateDocument:Ah,updateDocuments:fh,deleteDocument:Th,deleteDocuments:Sh}=ci.actions,Ih=ci.reducer,di=t=>t.documentsReducer.instances,_t=p.createSelector([di],t=>Object.values(t)),Oh=t=>s=>s.documentsReducer.instances[t],Ph=T(O([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),xP=T(O([_t,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),eF=T(O([_t,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),Fh=T(O([di,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const a=ua(s,Object.values(t)).all().map(({model:c})=>c);return S(a)})),Se=w(t=>t.uuid),gh={instances:{}},ri=p.createSlice({name:"emailDomains",initialState:gh,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,gh)),reducers:{initializeEmailDomains:Se.initialize,addEmailDomain:Se.addOne,addEmailDomains:Se.addMany,setEmailDomain:Se.setOne,setEmailDomains:Se.setMany,updateEmailDomain:Se.updateOne,updateEmailDomains:Se.updateMany,deleteEmailDomain:Se.deleteOne,deleteEmailDomains:Se.deleteMany}}),{initializeEmailDomains:bh,addEmailDomain:_h,addEmailDomains:Mh,setEmailDomain:Rh,setEmailDomains:wh,updateEmailDomain:Eh,updateEmailDomains:vh,deleteEmailDomain:Vh,deleteEmailDomains:zh}=ri.actions,Bh=t=>t.emailDomainsReducer.instances,ui=p.createSelector([Bh],t=>Object.values(t)),jh=t=>s=>s.emailDomainsReducer.instances[t],qh=T(O([ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),tF=T(O([ui,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Dh=ri.reducer,Ch={s3Urls:{}},$h=1e3*60*60,sF=$h*24*7,li=p.createSlice({name:"file",initialState:Ch,extraReducers:t=>t.addCase(M,s=>Object.assign(s,Ch)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,c=new Date,r=new Date(c.getTime()+sF);t.s3Urls[a]={url:e,fields:n,exp:r.getTime()}}}}),{setUploadUrl:Uh}=li.actions,kh=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<$h))return e},Lh=li.reducer,Ie=w(t=>t.uuid),Nh={instances:{}},oi=p.createSlice({name:"formIdentifiers",initialState:Nh,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Nh)),reducers:{initializeFormIdentifiers:Ie.initialize,addFormIdentifier:Ie.addOne,addFormIdentifiers:Ie.addMany,setFormIdentifier:Ie.setOne,setFormIdentifiers:Ie.setMany,updateFormIdentifier:Ie.updateOne,updateFormIdentifiers:Ie.updateMany,deleteFormIdentifier:Ie.deleteOne,deleteFormIdentifiers:Ie.deleteMany}}),{initializeFormIdentifiers:Gh,addFormIdentifier:Hh,addFormIdentifiers:Wh,setFormIdentifier:Kh,setFormIdentifiers:Yh,updateFormIdentifier:Zh,updateFormIdentifiers:Jh,deleteFormIdentifier:Xh,deleteFormIdentifiers:Qh}=oi.actions,xh=t=>t.formIdentifierReducer.instances,hi=p.createSelector([xh],t=>Object.values(t)),em=t=>s=>s.formIdentifierReducer.instances[t],tm=T(O([hi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),iF=T(O([hi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),sm=oi.reducer,Oe=w(t=>t.uuid),im={instances:{}},mi=p.createSlice({name:"formIdentifierValues",initialState:im,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,im)),reducers:{initializeFormIdentifierValues:Oe.initialize,addFormIdentifierValue:Oe.addOne,addFormIdentifierValues:Oe.addMany,setFormIdentifierValue:Oe.setOne,setFormIdentifierValues:Oe.setMany,updateFormIdentifierValue:Oe.updateOne,updateFormIdentifierValues:Oe.updateMany,deleteFormIdentifierValue:Oe.deleteOne,deleteFormIdentifierValues:Oe.deleteMany}}),{initializeFormIdentifierValues:nm,addFormIdentifierValue:am,addFormIdentifierValues:cm,setFormIdentifierValue:dm,setFormIdentifierValues:rm,updateFormIdentifierValue:um,updateFormIdentifierValues:lm,deleteFormIdentifierValue:om,deleteFormIdentifierValues:hm}=mi.actions,mm=t=>t.formIdentifierValueReducer.instances,Mt=p.createSelector([mm],t=>Object.values(t)),ym=t=>s=>s.formIdentifierValueReducer.instances[t],pm=T(O([Mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),nF=T(O([Mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),aF=T(O([Mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_identifier===s)))),Am=mi.reducer,Pe=w(t=>t.uuid),fm={instances:{}},yi=p.createSlice({name:"formRevisionAttachments",initialState:fm,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,fm)),reducers:{initializeFormRevisionAttachments:Pe.initialize,addFormRevisionAttachment:Pe.addOne,addFormRevisionAttachments:Pe.addMany,setFormRevisionAttachment:Pe.setOne,setFormRevisionAttachments:Pe.setMany,updateFormRevisionAttachment:Pe.updateOne,updateFormRevisionAttachments:Pe.updateMany,deleteFormRevisionAttachment:Pe.deleteOne,deleteFormRevisionAttachments:Pe.deleteMany}}),{initializeFormRevisionAttachments:Tm,addFormRevisionAttachment:Sm,addFormRevisionAttachments:Im,setFormRevisionAttachment:Om,setFormRevisionAttachments:Pm,updateFormRevisionAttachment:Fm,updateFormRevisionAttachments:gm,deleteFormRevisionAttachment:bm,deleteFormRevisionAttachments:_m}=yi.actions,Rt=t=>t.formRevisionAttachmentReducer.instances,Mm=p.createSelector([Rt],t=>Object.values(t)),Rm=T(p.createSelector([Rt,(t,s)=>s],(t,s)=>t[s])),wm=T(O([Mm,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),cF=T(O([Rt,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.form_revision===s)))),Em=yi.reducer,Fe=w(t=>t.uuid),vm={instances:{}},pi=p.createSlice({name:"formRevisions",initialState:vm,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,vm)),reducers:{initializeFormRevisions:Fe.initialize,addFormRevision:Fe.addOne,addFormRevisions:Fe.addMany,setFormRevision:Fe.setOne,setFormRevisions:Fe.setMany,updateFormRevision:Fe.updateOne,updateFormRevisions:Fe.updateMany,deleteFormRevision:Fe.deleteOne,deleteFormRevisions:Fe.deleteMany}}),{initializeFormRevisions:Vm,addFormRevision:Ai,addFormRevisions:fi,setFormRevision:zm,setFormRevisions:Bm,updateFormRevision:jm,updateFormRevisions:qm,deleteFormRevision:Ti,deleteFormRevisions:Si}=pi.actions,Ii=t=>t.formRevisionReducer.instances,wt=p.createSelector([Ii],t=>Object.values(t)),Dm=t=>s=>s.formRevisionReducer.instances[t],Cm=T(O([wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),dF=T(p.createSelector([wt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),$m=T(O([wt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),Um=pi.reducer,ge=w(t=>t.uuid),km={instances:{}},Oi=p.createSlice({name:"forms",initialState:km,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,km)),reducers:{initializeForms:ge.initialize,addForm:ge.addOne,addForms:ge.addMany,setForm:ge.setOne,setForms:ge.setMany,updateForm:ge.updateOne,updateForms:ge.updateMany,deleteForm:ge.deleteOne,deleteForms:ge.deleteMany}}),{initializeForms:Lm,addForm:Nm,addForms:Gm,setForm:Hm,setForms:Wm,updateForm:Km,updateForms:Ym,deleteForm:Zm,deleteForms:Jm}=Oi.actions,Xm=Oi.reducer,Qm=t=>t.formReducer.instances,Pi=p.createSelector([Qm],t=>Object.values(t)),xm=t=>s=>s.formReducer.instances[t],ey=T(O([Pi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rF=T(O([Pi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),be=w(t=>t.uuid),ty={instances:{}},Fi=p.createSlice({name:"formSubmissionAttachments",initialState:ty,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,ty)),reducers:{initializeFormSubmissionAttachments:be.initialize,addFormSubmissionAttachment:be.addOne,addFormSubmissionAttachments:be.addMany,setFormSubmissionAttachment:be.setOne,setFormSubmissionAttachments:be.setMany,updateFormSubmissionAttachment:be.updateOne,updateFormSubmissionAttachments:be.updateMany,deleteFormSubmissionAttachment:be.deleteOne,deleteFormSubmissionAttachments:be.deleteMany}}),{initializeFormSubmissionAttachments:sy,addFormSubmissionAttachment:iy,addFormSubmissionAttachments:gi,setFormSubmissionAttachment:ny,setFormSubmissionAttachments:ay,updateFormSubmissionAttachment:cy,updateFormSubmissionAttachments:dy,deleteFormSubmissionAttachment:ry,deleteFormSubmissionAttachments:bi}=Fi.actions,_i=t=>t.formSubmissionAttachmentReducer.instances,Mi=p.createSelector([_i],t=>Object.values(t)),uy=T(p.createSelector([_i,(t,s)=>s],(t,s)=>t[s])),Ri=T(O([Mi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.uuid)))})),ly=Ri,oy=T(O([Mi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),hy=Fi.reducer,_e=w(t=>t.uuid),my={instances:{}},wi=p.createSlice({name:"formSubmissions",initialState:my,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,my)),reducers:{initializeFormSubmissions:_e.initialize,setFormSubmission:_e.setOne,setFormSubmissions:_e.setMany,addFormSubmission:_e.addOne,addFormSubmissions:_e.addMany,updateFormSubmission:_e.updateOne,updateFormSubmissions:_e.updateMany,deleteFormSubmission:_e.deleteOne,deleteFormSubmissions:_e.deleteMany}}),{initializeFormSubmissions:yy,setFormSubmission:py,setFormSubmissions:Ay,addFormSubmission:fy,addFormSubmissions:Ei,updateFormSubmission:Ty,updateFormSubmissions:Sy,deleteFormSubmission:Iy,deleteFormSubmissions:vi}=wi.actions,Vi=t=>t.formSubmissionReducer.instances,Oy=p.createSelector([Vi],t=>Object.values(t)),Py=t=>s=>s.formSubmissionReducer.instances[t],Fy=T(O([Oy,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),gy=T(O([Vi,Ii,(t,s)=>s],(t,s,e)=>{const n=new Set;for(const a of Object.values(s))a.form===e&&n.add(a.uuid);return Object.values(t).filter(a=>n.has(a.form_revision))})),by=wi.reducer,Me=w(t=>t.uuid),_y={instances:{}},zi=p.createSlice({name:"geoImages",initialState:_y,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,_y)),reducers:{initializeGeoImages:Me.initialize,setGeoImage:Me.setOne,setGeoImages:Me.setMany,addGeoImage:Me.addOne,addGeoImages:Me.addMany,updateGeoImage:Me.updateOne,updateGeoImages:Me.updateMany,deleteGeoImage:Me.deleteOne,deleteGeoImages:Me.deleteMany}}),{initializeGeoImages:My,setGeoImage:Ry,setGeoImages:wy,addGeoImage:Ey,addGeoImages:vy,updateGeoImage:Vy,updateGeoImages:zy,deleteGeoImage:By,deleteGeoImages:jy}=zi.actions,qy=t=>t.geoImageReducer.instances,Bi=p.createSelector([qy],t=>Object.values(t)),Dy=t=>s=>s.geoImageReducer.instances[t],Cy=T(O([Bi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),uF=T(O([Bi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),$y=zi.reducer,Re=w(t=>t.uuid),Uy={instances:{}},ji=p.createSlice({name:"issueAssociations",initialState:Uy,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Uy)),reducers:{initializeIssueAssociations:Re.initialize,addIssueAssociation:Re.addOne,addIssueAssociations:Re.addMany,setIssueAssociation:Re.setOne,setIssueAssociations:Re.setMany,updateIssueAssociation:Re.updateOne,updateIssueAssociations:Re.updateMany,deleteIssueAssociation:Re.deleteOne,deleteIssueAssociations:Re.deleteMany}}),{initializeIssueAssociations:ky,setIssueAssociations:Ly,setIssueAssociation:Ny,updateIssueAssociation:Gy,updateIssueAssociations:Hy,addIssueAssociation:Wy,addIssueAssociations:Et,deleteIssueAssociation:Ky,deleteIssueAssociations:vt}=ji.actions,ht=t=>t.issueAssociationReducer.instances,Yy=p.createSelector([ht],t=>Object.values(t)),Zy=t=>s=>s.issueAssociationReducer.instances[t],Jy=T(O([Yy,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Xy=T(O([ht,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.associated_issue===s)))),Qy=T(O([ht,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.issue===s)))),xy=T(O([ht,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.asset===s)))),ep=ji.reducer,we=w(t=>t.uuid),tp={instances:{}},qi=p.createSlice({name:"issueAttachments",initialState:tp,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,tp)),reducers:{initializeIssueAttachments:we.initialize,addIssueAttachment:we.addOne,addIssueAttachments:we.addMany,setIssueAttachment:we.setOne,setIssueAttachments:we.setMany,updateIssueAttachment:we.updateOne,updateIssueAttachments:we.updateMany,deleteIssueAttachment:we.deleteOne,deleteIssueAttachments:we.deleteMany}}),{initializeIssueAttachments:sp,addIssueAttachment:ip,addIssueAttachments:Di,setIssueAttachment:np,setIssueAttachments:ap,updateIssueAttachment:cp,updateIssueAttachments:dp,deleteIssueAttachment:rp,deleteIssueAttachments:Ci}=qi.actions,up=t=>t.issueAttachmentReducer.instances,$i=p.createSelector([up],t=>Object.values(t)),lp=T(O([$i,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>s===e)))),op=t=>s=>s.issueAttachmentReducer.instances[t],hp=T(O([$i,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),mp=qi.reducer,Ee=w(t=>t.uuid),yp={instances:{}},Ui=p.createSlice({name:"issueCommentAttachments",initialState:yp,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,yp)),reducers:{initializeIssueCommentAttachments:Ee.initialize,addIssueCommentAttachment:Ee.addOne,addIssueCommentAttachments:Ee.addMany,setIssueCommentAttachment:Ee.setOne,setIssueCommentAttachments:Ee.setMany,updateIssueCommentAttachment:Ee.updateOne,updateIssueCommentAttachments:Ee.updateMany,deleteIssueCommentAttachment:Ee.deleteOne,deleteIssueCommentAttachments:Ee.deleteMany}}),{initializeIssueCommentAttachments:pp,addIssueCommentAttachment:Ap,addIssueCommentAttachments:fp,setIssueCommentAttachment:Tp,setIssueCommentAttachments:Sp,updateIssueCommentAttachment:Ip,updateIssueCommentAttachments:Op,deleteIssueCommentAttachment:Pp,deleteIssueCommentAttachments:Fp}=Ui.actions,gp=t=>t.issueCommentAttachmentReducer.instances,ki=p.createSelector([gp],t=>Object.values(t)),bp=t=>s=>s.issueCommentAttachmentReducer.instances[t],_p=T(O([ki,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),lF=T(O([ki,(t,s)=>s],(t,s)=>S(t.filter(({issue_comment:e})=>s===e)))),Mp=Ui.reducer,ve=w(t=>t.uuid),Rp={instances:{}},Li=p.createSlice({name:"issueComments",initialState:Rp,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Rp)),reducers:{initializeIssueComments:ve.initialize,addIssueComment:ve.addOne,addIssueComments:ve.addMany,setIssueComment:ve.setOne,setIssueComments:ve.setMany,updateIssueComment:ve.updateOne,updateIssueComments:ve.updateMany,deleteIssueComment:ve.deleteOne,deleteIssueComments:ve.deleteMany}}),{initializeIssueComments:wp,addIssueComment:Ep,addIssueComments:vp,setIssueComment:Vp,setIssueComments:zp,updateIssueComment:Bp,updateIssueComments:jp,deleteIssueComment:qp,deleteIssueComments:Dp}=Li.actions,Ni=t=>t.issueCommentReducer.instances,Cp=t=>s=>s.issueCommentReducer.instances[t],$p=T(O([Ni,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),oF=T(O([Ni,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.issue===s)))),Up=Li.reducer,Ve=w(t=>t.uuid),kp={instances:{}},Gi=p.createSlice({name:"issues",initialState:kp,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,kp)),reducers:{initializeIssues:Ve.initialize,addIssue:Ve.addOne,addIssues:Ve.addMany,setIssue:Ve.setOne,setIssues:Ve.setMany,updateIssue:Ve.updateOne,updateIssues:Ve.updateMany,deleteIssue:Ve.deleteOne,deleteIssues:Ve.deleteMany}}),{initializeIssues:Lp,addIssue:Np,addIssues:Hi,setIssue:Gp,setIssues:Hp,updateIssue:Wp,updateIssues:Kp,deleteIssue:Yp,deleteIssues:Wi}=Gi.actions,Zp=t=>t.issueReducer.instances,Vt=p.createSelector([Zp],t=>Object.values(t)),Jp=t=>s=>s.issueReducer.instances[t],Xp=T(O([Vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),hF=T(O([Vt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Qp=T(O([Vt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),xp=Gi.reducer,ze=w(t=>t.uuid),eA={instances:{}},Ki=p.createSlice({name:"issueTypeAttachments",initialState:eA,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,eA)),reducers:{initializeIssueTypeAttachments:ze.initialize,addIssueTypeAttachment:ze.addOne,addIssueTypeAttachments:ze.addMany,setIssueTypeAttachment:ze.setOne,setIssueTypeAttachments:ze.setMany,updateIssueTypeAttachment:ze.updateOne,updateIssueTypeAttachments:ze.updateMany,deleteIssueTypeAttachment:ze.deleteOne,deleteIssueTypeAttachments:ze.deleteMany}}),{initializeIssueTypeAttachments:tA,addIssueTypeAttachment:sA,addIssueTypeAttachments:iA,setIssueTypeAttachment:nA,setIssueTypeAttachments:aA,updateIssueTypeAttachment:cA,updateIssueTypeAttachments:dA,deleteIssueTypeAttachment:rA,deleteIssueTypeAttachments:uA}=Ki.actions,lA=t=>t.issueTypeAttachmentReducer.instances,Yi=p.createSelector([lA],t=>Object.values(t)),oA=t=>s=>s.issueTypeAttachmentReducer.instances[t],hA=T(O([Yi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),mF=T(O([Yi,(t,s)=>s],(t,s)=>S(t.filter(({issue_type:e})=>s===e)))),mA=Ki.reducer,Be=w(t=>t.uuid),yA={instances:{}},Zi=p.createSlice({name:"issueTypeFieldsAttachments",initialState:yA,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,yA)),reducers:{initializeIssueTypeFieldsAttachments:Be.initialize,addIssueTypeFieldsAttachment:Be.addOne,addIssueTypeFieldsAttachments:Be.addMany,setIssueTypeFieldsAttachment:Be.setOne,setIssueTypeFieldsAttachments:Be.setMany,updateIssueTypeFieldsAttachment:Be.updateOne,updateIssueTypeFieldsAttachments:Be.updateMany,deleteIssueTypeFieldsAttachment:Be.deleteOne,deleteIssueTypeFieldsAttachments:Be.deleteMany}}),{initializeIssueTypeFieldsAttachments:pA,addIssueTypeFieldsAttachment:AA,addIssueTypeFieldsAttachments:fA,setIssueTypeFieldsAttachment:TA,setIssueTypeFieldsAttachments:SA,updateIssueTypeFieldsAttachment:IA,updateIssueTypeFieldsAttachments:OA,deleteIssueTypeFieldsAttachment:PA,deleteIssueTypeFieldsAttachments:FA}=Zi.actions,gA=t=>t.issueTypeFieldsAttachmentReducer.instances,Ji=p.createSelector([gA],t=>Object.values(t)),yF=T(O([Ji,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),bA=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],_A=T(O([Ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),MA=Zi.reducer,je=w(t=>t.uuid),RA={instances:{}},Xi=p.createSlice({name:"issueTypeFieldValues",initialState:RA,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,RA)),reducers:{initializeIssueTypeFieldValues:je.initialize,addIssueTypeFieldValues:je.addOne,addIssueTypeFieldValuesMany:je.addMany,setIssueTypeFieldValues:je.setOne,setIssueTypeFieldValuesMany:je.setMany,updateIssueTypeFieldValues:je.updateOne,updateIssueTypeFieldValuesMany:je.updateMany,deleteIssueTypeFieldValues:je.deleteOne,deleteIssueTypeFieldValuesMany:je.deleteMany}}),{initializeIssueTypeFieldValues:wA,addIssueTypeFieldValues:EA,addIssueTypeFieldValuesMany:vA,setIssueTypeFieldValues:VA,setIssueTypeFieldValuesMany:zA,updateIssueTypeFieldValues:BA,updateIssueTypeFieldValuesMany:jA,deleteIssueTypeFieldValues:qA,deleteIssueTypeFieldValuesMany:DA}=Xi.actions,CA=t=>t.issueTypeFieldValuesReducer.instances,zt=p.createSelector([CA],t=>Object.values(t)),pF=T(O([zt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),$A=t=>s=>s.issueTypeFieldValuesReducer.instances[t],UA=T(O([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),kA=Xi.reducer,qe=w(t=>t.uuid),LA={instances:{}},Qi=p.createSlice({name:"issueTypeFields",initialState:LA,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,LA)),reducers:{initializeIssueTypeFields:qe.initialize,addIssueTypeFields:qe.addOne,addIssueTypeFieldsMany:qe.addMany,setIssueTypeFields:qe.setOne,setIssueTypeFieldsMany:qe.setMany,updateIssueTypeFields:qe.updateOne,updateIssueTypeFieldsMany:qe.updateMany,deleteIssueTypeFields:qe.deleteOne,deleteIssueTypeFieldsMany:qe.deleteMany}}),{initializeIssueTypeFields:NA,addIssueTypeFields:GA,addIssueTypeFieldsMany:HA,setIssueTypeFields:WA,setIssueTypeFieldsMany:KA,updateIssueTypeFields:YA,updateIssueTypeFieldsMany:ZA,deleteIssueTypeFields:JA,deleteIssueTypeFieldsMany:XA}=Qi.actions,QA=t=>t.issueTypeFieldsReducer.instances,mt=p.createSelector([QA],t=>Object.values(t)),AF=T(O([mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),fF=T(p.createSelector([mt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),TF=T(O([mt,zt,(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)))})),xA=t=>s=>s.issueTypeFieldsReducer.instances[t],ef=T(O([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),tf=Qi.reducer,De=w(t=>t.uuid),sf={instances:{}},xi=p.createSlice({name:"issueTypeFieldValuesAttachments",initialState:sf,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,sf)),reducers:{initializeIssueTypeFieldValuesAttachments:De.initialize,addIssueTypeFieldValuesAttachment:De.addOne,addIssueTypeFieldValuesAttachments:De.addMany,setIssueTypeFieldValuesAttachment:De.setOne,setIssueTypeFieldValuesAttachments:De.setMany,updateIssueTypeFieldValuesAttachment:De.updateOne,updateIssueTypeFieldValuesAttachments:De.updateMany,deleteIssueTypeFieldValuesAttachment:De.deleteOne,deleteIssueTypeFieldValuesAttachments:De.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:nf,addIssueTypeFieldValuesAttachment:af,addIssueTypeFieldValuesAttachments:en,setIssueTypeFieldValuesAttachment:cf,setIssueTypeFieldValuesAttachments:df,updateIssueTypeFieldValuesAttachment:rf,updateIssueTypeFieldValuesAttachments:uf,deleteIssueTypeFieldValuesAttachment:lf,deleteIssueTypeFieldValuesAttachments:tn}=xi.actions,of=t=>t.issueTypeFieldValuesAttachmentReducer.instances,sn=p.createSelector([of],t=>Object.values(t)),hf=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],mf=T(O([sn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),yf=T(O([sn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),pf=xi.reducer,Ce=w(t=>t.uuid),Af={instances:{}},nn=p.createSlice({name:"issueTypeIdentifiers",initialState:Af,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Af)),reducers:{initializeIssueTypeIdentifiers:Ce.initialize,addIssueTypeIdentifier:Ce.addOne,addIssueTypeIdentifiers:Ce.addMany,setIssueTypeIdentifier:Ce.setOne,setIssueTypeIdentifiers:Ce.setMany,updateIssueTypeIdentifier:Ce.updateOne,updateIssueTypeIdentifiers:Ce.updateMany,deleteIssueTypeIdentifier:Ce.deleteOne,deleteIssueTypeIdentifiers:Ce.deleteMany}}),{initializeIssueTypeIdentifiers:ff,addIssueTypeIdentifier:Tf,addIssueTypeIdentifiers:Sf,setIssueTypeIdentifier:If,setIssueTypeIdentifiers:Of,updateIssueTypeIdentifier:Pf,updateIssueTypeIdentifiers:Ff,deleteIssueTypeIdentifier:gf,deleteIssueTypeIdentifiers:bf}=nn.actions,_f=t=>t.issueTypeIdentifierReducer.instances,an=p.createSelector([_f],t=>Object.values(t)),Mf=t=>s=>s.issueTypeIdentifierReducer.instances[t],Rf=T(O([an,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),SF=T(O([an,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),wf=nn.reducer,$e=w(t=>t.uuid),Ef={instances:{}},cn=p.createSlice({name:"issueTypeIdentifierValues",initialState:Ef,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Ef)),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:vf,addIssueTypeIdentifierValue:Vf,addIssueTypeIdentifierValues:zf,setIssueTypeIdentifierValue:Bf,setIssueTypeIdentifierValues:jf,updateIssueTypeIdentifierValue:qf,updateIssueTypeIdentifierValues:Df,deleteIssueTypeIdentifierValue:Cf,deleteIssueTypeIdentifierValues:$f}=cn.actions,Uf=t=>t.issueTypeIdentifierValueReducer.instances,Bt=p.createSelector([Uf],t=>Object.values(t)),kf=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],Lf=T(O([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),IF=T(O([Bt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),OF=T(O([Bt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type_identifier===s)))),Nf=cn.reducer,Ue=w(t=>t.uuid),Gf={instances:{}},dn=p.createSlice({name:"issueTypes",initialState:Gf,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Gf)),reducers:{initializeIssueTypes:Ue.initialize,addIssueType:Ue.addOne,addIssueTypes:Ue.addMany,setIssueType:Ue.setOne,setIssueTypes:Ue.setMany,updateIssueType:Ue.updateOne,updateIssueTypes:Ue.updateMany,deleteIssueType:Ue.deleteOne,deleteIssueTypes:Ue.deleteMany}}),{initializeIssueTypes:Hf,addIssueType:Wf,addIssueTypes:Kf,setIssueType:Yf,setIssueTypes:Zf,updateIssueType:Jf,updateIssueTypes:Xf,deleteIssueType:Qf,deleteIssueTypes:xf}=dn.actions,eT=t=>t.issueTypeReducer.instances,rn=p.createSelector(eT,t=>Object.values(t)),tT=t=>s=>s.issueTypeReducer.instances[t],sT=T(O([rn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),PF=T(O([rn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),iT=dn.reducer,ke=w(t=>t.uuid),nT={instances:{}},un=p.createSlice({name:"issueTypeStatuses",initialState:nT,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,nT)),reducers:{initializeIssueTypeStatuses:ke.initialize,addIssueTypeStatus:ke.addOne,addIssueTypeStatuses:ke.addMany,setIssueTypeStatus:ke.setOne,setIssueTypeStatuses:ke.setMany,updateIssueTypeStatus:ke.updateOne,updateIssueTypeStatuses:ke.updateMany,deleteIssueTypeStatus:ke.deleteOne,deleteIssueTypeStatuses:ke.deleteMany}}),{initializeIssueTypeStatuses:aT,addIssueTypeStatus:cT,addIssueTypeStatuses:dT,setIssueTypeStatus:rT,setIssueTypeStatuses:uT,updateIssueTypeStatus:lT,updateIssueTypeStatuses:oT,deleteIssueTypeStatus:hT,deleteIssueTypeStatuses:mT}=un.actions,yT=t=>t.issueTypeStatusReducer.instances,ln=p.createSelector([yT],t=>S(Object.values(t).toSorted(da))),on=t=>s=>s.issueTypeStatusReducer.instances[t],pT=T(O([ln,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),FF=T(O([ln,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),AT=un.reducer,Le=w(t=>t.uuid),fT={instances:{}},hn=p.createSlice({name:"issueUpdates",initialState:fT,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,fT)),reducers:{initializeIssueUpdates:Le.initialize,addIssueUpdate:Le.addOne,addIssueUpdates:Le.addMany,setIssueUpdate:Le.setOne,setIssueUpdates:Le.setMany,updateIssueUpdate:Le.updateOne,updateIssueUpdates:Le.updateMany,deleteIssueUpdate:Le.deleteOne,deleteIssueUpdates:Le.deleteMany}}),{initializeIssueUpdates:TT,addIssueUpdate:mn,addIssueUpdates:yn,setIssueUpdate:ST,setIssueUpdates:IT,updateIssueUpdate:OT,updateIssueUpdates:PT,deleteIssueUpdate:pn,deleteIssueUpdates:An}=hn.actions,fn=t=>t.issueUpdateReducer.instances,Tn=p.createSelector([fn],t=>Object.values(t)),FT=T(p.createSelector([fn,(t,s)=>s],(t,s)=>t[s])),gT=T(O([Tn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),bT=T(O([Tn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),_T=hn.reducer,Ne=w(t=>t.id),MT={instances:{},currentUser:null},Sn=p.createSlice({name:"users",initialState:MT,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,MT)),reducers:{initializeUsers:Ne.initialize,setUsers:Ne.setMany,setUser:Ne.setOne,addUsers:Ne.addMany,addUser:Ne.addOne,updateUsers:Ne.updateMany,updateUser:Ne.updateOne,deleteUser:Ne.deleteOne,deleteUsers:Ne.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload},setProfilePicture:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile.file=s.payload.file??null,t.currentUser.profile.file_sha1=s.payload.file_sha1??null;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile.file=s.payload.file??null,e.profile.file_sha1=s.payload.file_sha1??null}}}),{initializeUsers:RT,setUsers:wT,setUser:ET,addUsers:vT,addUser:In,updateUsers:VT,updateUser:zT,deleteUser:On,deleteUsers:BT,setCurrentUser:gF,setProfilePicture:bF}=Sn.actions,jT=Sn.reducer,qT=t=>t.userReducer.currentUser,Pn=t=>t.userReducer.instances,jt=p.createSelector([Pn],t=>Object.values(t)),qt=t=>s=>s.userReducer.instances[t],DT=T(O([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({id:n})=>e.has(n)))})),Ge=w(t=>t.uuid),CT={instances:{}},Fn=p.createSlice({name:"organizationAccess",initialState:CT,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,CT)),reducers:{initializeOrganizationAccesses:Ge.initialize,addOrganizationAccess:Ge.addOne,addOrganizationAccesses:Ge.addMany,setOrganizationAccess:Ge.setOne,setOrganizationAccesses:Ge.setMany,updateOrganizationAccess:Ge.updateOne,updateOrganizationAccesses:Ge.updateMany,deleteOrganizationAccess:Ge.deleteOne,deleteOrganizationAccesses:Ge.deleteMany}}),{initializeOrganizationAccesses:$T,addOrganizationAccess:UT,addOrganizationAccesses:kT,setOrganizationAccess:LT,setOrganizationAccesses:NT,updateOrganizationAccess:GT,updateOrganizationAccesses:HT,deleteOrganizationAccess:WT,deleteOrganizationAccesses:KT}=Fn.actions,YT=Fn.reducer,Dt=t=>t.organizationAccessReducer.instances,ZT=t=>s=>s.organizationAccessReducer.instances[t],JT=T(O([Dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),_F=p.createSelector([qT,Dt],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),XT=p.createSelector([Dt],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return At(s)}),MF=T(O([Pn,XT,(t,s)=>s],(t,s,e)=>S(Object.values(t).filter(n=>{const a=s[n.id];return!!a&&a.organization===e})))),He=w(t=>t.uuid),QT={instances:{}},gn=p.createSlice({name:"organizations",initialState:QT,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,QT)),reducers:{initializeOrganizations:He.initialize,setOrganizations:He.setMany,setOrganization:He.setOne,addOrganizations:He.addMany,addOrganization:He.addOne,updateOrganizations:He.updateMany,updateOrganization:He.updateOne,deleteOrganization:He.deleteOne,deleteOrganizations:He.deleteMany}}),{initializeOrganizations:xT,setOrganizations:eS,setOrganization:tS,addOrganizations:sS,addOrganization:iS,updateOrganizations:nS,updateOrganization:aS,deleteOrganization:cS,deleteOrganizations:dS}=gn.actions,rS=t=>t.organizationReducer.instances,uS=p.createSelector([rS],t=>Object.values(t)),lS=t=>s=>s.organizationReducer.instances[t],oS=T(O([uS,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),hS=gn.reducer,mS=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:et.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},yS={deletedRequests:[],latestRetryTime:0},bn=p.createSlice({name:"outbox",initialState:yS,extraReducers:t=>t.addCase(M,s=>Object.assign(s,yS)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t);const{BASE_URL:s,serviceName:e,...n}=t;return mS(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}}}),RF=t=>t.outboxReducer.deletedRequests,wF=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:pS,markForDeletion:EF,markAsDeleted:AS,_setLatestRetryTime:fS}=bn.actions,TS=bn.reducer,We=w(t=>t.uuid),SS={instances:{}},_n=p.createSlice({name:"projectAccess",initialState:SS,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,SS)),reducers:{initializeProjectAccesses:We.initialize,addProjectAccess:We.addOne,addProjectAccesses:We.addMany,setProjectAccess:We.setOne,setProjectAccesses:We.setMany,updateProjectAccess:We.updateOne,updateProjectAccesses:We.updateMany,deleteProjectAccess:We.deleteOne,deleteProjectAccesses:We.deleteMany}}),{initializeProjectAccesses:IS,addProjectAccess:OS,addProjectAccesses:PS,setProjectAccess:FS,setProjectAccesses:gS,updateProjectAccess:bS,updateProjectAccesses:_S,deleteProjectAccess:MS,deleteProjectAccesses:RS}=_n.actions,wS=_n.reducer,Mn=t=>t.projectAccessReducer.instances,yt=p.createSelector(Mn,t=>Object.values(t)),ES=t=>s=>s.projectAccessReducer.instances[t],vS=T(O([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),vF=T(O([Mn,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.project===s)))),VF=T(p.createSelector([yt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),zF=T(O([jt,yt,(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)))})),Ke=w(t=>t.uuid),VS={instances:{}},Rn=p.createSlice({name:"projectAttachments",initialState:VS,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,VS)),reducers:{initializeProjectAttachments:Ke.initialize,addProjectAttachment:Ke.addOne,addProjectAttachments:Ke.addMany,setProjectAttachment:Ke.setOne,setProjectAttachments:Ke.setMany,updateProjectAttachment:Ke.updateOne,updateProjectAttachments:Ke.updateMany,deleteProjectAttachment:Ke.deleteOne,deleteProjectAttachments:Ke.deleteMany}}),{initializeProjectAttachments:zS,addProjectAttachment:BS,addProjectAttachments:jS,setProjectAttachment:qS,setProjectAttachments:DS,updateProjectAttachment:CS,updateProjectAttachments:$S,deleteProjectAttachment:US,deleteProjectAttachments:kS}=Rn.actions,LS=t=>t.projectAttachmentReducer.instances,wn=p.createSelector([LS],t=>Object.values(t)),NS=t=>s=>s.projectAttachmentReducer.instances[t],GS=T(O([wn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),BF=T(O([wn,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>s===e)))),HS=Rn.reducer,Ye=w(t=>t.uuid),WS={instances:{},activeProjectFileId:null,isImportingProjectFile:!1},En=p.createSlice({name:"projectFiles",initialState:WS,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,WS)),reducers:{initializeProjectFiles:Ye.initialize,setProjectFile:Ye.setOne,setProjectFiles:Ye.setMany,addProjectFile:Ye.addOne,addProjectFiles:Ye.addMany,updateProjectFile:Ye.updateOne,updateProjectFiles:Ye.updateMany,deleteProjectFile:Ye.deleteOne,deleteProjectFiles:Ye.deleteMany,setIsImportingProjectFile:(t,s)=>{t.isImportingProjectFile=s.payload},saveActiveProjectFileBounds:(t,s)=>{const e=t.activeProjectFileId;if(!e)throw new Error("Tried to save bounds for active project file, but no active project file was set.");if(!t.instances[e])throw new Error(`Tried to save bounds for active project file, but project file with ID ${e}
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("react-fast-compare"),require("react-redux"),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","react-fast-compare","react-redux","@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.isEqual,i.reactRedux,i.reduxOffline,i.offlineConfig,i.localforage,i.createMigration,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,L,p,it,et,RO,wO,Gn,pt,EO,vO,VO,Hn,zO,BO,_b,Mb,jO,qO,DO){"use strict";var gb=Object.defineProperty;var bb=(i,L,p)=>L in i?gb(i,L,{enumerable:!0,configurable:!0,writable:!0,value:p}):i[L]=p;var m=(i,L,p)=>bb(i,typeof L!="symbol"?L+"":L,p);var _O;const Wn=Object.freeze([]),Kn=Object.freeze({});var Yn=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(Yn||{}),h=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(h||{}),Zn=(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))(Zn||{}),Jn=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(Jn||{}),Lt=(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))(Lt||{}),U=(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))(U||{}),Xn=(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))(Xn||{});const CO=Lt.MEDIUM,Qn=6e4;function w(t){return{addOne:(o,y)=>{const A=t(y.payload);o.instances[A]=y.payload},addMany:(o,y)=>{for(const A of y.payload){const f=t(A);o.instances[f]=A}},setOne:(o,y)=>{const A=t(y.payload);o.instances[A]=y.payload},setMany:(o,y)=>{for(const A of y.payload){const f=t(A);o.instances[f]=A}},updateOne:(o,y)=>{const A=t(y.payload);o.instances[A]=y.payload},updateMany:(o,y)=>{for(const A of y.payload){const f=t(A);o.instances[f]=A}},deleteOne:(o,y)=>{delete o.instances[y.payload]},deleteMany:(o,y)=>{for(const A of y.payload)delete o.instances[A]},initialize:(o,y)=>{o.instances={};const A=new Set;for(const f of y.payload){const I=t(f);A.add(I),o.instances[I]=f}A.size!==y.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function $O(){return{initializeSelection:(u,d)=>{u.selection=Array.from(new Set(d.payload))},selectOne:(u,d)=>{new Set(u.selection).has(d.payload)||u.selection.push(d.payload)},selectMany:(u,d)=>{const o=new Set(u.selection);for(const y of d.payload)o.has(y)||o.add(y);u.selection=Array.from(o)},unselectOne:(u,d)=>{const o=new Set(u.selection);o.has(d.payload)&&(o.delete(d.payload),u.selection=Array.from(o))},unselectMany:(u,d)=>{const o=new Set(u.selection);for(const y of d.payload)o.has(y)&&o.delete(y);u.selection=Array.from(o)},toggleOne:(u,d)=>{const o=new Set(u.selection);o.has(d.payload)?o.delete(d.payload):o.add(d.payload),u.selection=Array.from(o)},toggleMany:(u,d)=>{const o=new Set(u.selection);for(const y of d.payload)o.has(y)?o.delete(y):o.add(y);u.selection=Array.from(o)},getInitialState:u=>({...u,selection:[]})}}const ut="versioning",M=p.createAction("RESET"),$=p.createAction("RESET_PROJECT_STATE"),E=p.createAction("RESET_ORGANIZATION_STATE");function UO(t,s){return RO.useMemo(t,s)}_O=Symbol.toStringTag;class Nt{constructor(){m(this,_O,"Promise");m(this,"_promise");m(this,"_resolve");m(this,"_reject");m(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 Gt=!1;["true","1"].includes("".toLowerCase())&&(Gt=!0);function kO(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 c=0;c<a;c++){const r=e[c];if(!Object.prototype.hasOwnProperty.call(s,r)||t[r]!==s[r])return!1}return!0}function Ht(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(Gt&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(Gt&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function LO(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?Wn:t,At=t=>Object.keys(t).length===0?Kn:t,xn=Ht(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===Wt.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),NO=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),GO=1e3*86400,Wt=new Date,HO=t=>new Date(t).toDateString()===Wt.toDateString(),WO=Ht((t,s,e)=>{const n=Math.round((new Date(t).getTime()-Wt.getTime())/GO);return n<s||n>e?xn(t):NO.format(n,"days")});function KO(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}const Kt=async(t,s)=>{s||(s=await nt(t));let e=t.type;if(e.includes("/")&&(e=e.split("/")[1]),!e)throw new Error(`Could not extract file type from ${t.type}`);return`${s}.${e}`};function nt(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(c=>{const r=KO(c);s(r)})},n.readAsArrayBuffer(t)})}function YO(t){if(!t.name||!t.type||!t.size){const s="File has no name, type, and/or size";throw new Error(s)}return`${t.name}&${t.type}${t.size}`}function ea(t,s){return new File([t],s,{type:t.type})}function ZO(t,s){const e=document.createElement("a");e.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(s)),e.setAttribute("download",t),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)}const JO=async t=>{const s={};for(const e of t){const n=await nt(e);s[n]={sha1:n,extension:e.name.split(".").pop()||"",file_type:e.type,size:e.size}}return Object.values(s)},ta=async t=>(await fetch(t)).blob(),XO=t=>new Promise((s,e)=>{const n=new FileReader;n.onloadend=()=>{var a;s(((a=n.result)==null?void 0:a.toString())||"")},n.readAsDataURL(t)});function QO(t){const s=new Blob([t]);wO.saveAs(s,t.name)}const sa={};function xO(t,s,e,...n){const a=sa[t];let c=!1;a?a[s]||(a[s]=!0,c=!0):(sa[t]={[s]:!0},c=!0),c&&console[e](...n)}const ia=["created_at","updated_at","index","revision"];function R(t){return{...t,uuid:et.v4()}}function eP(t){const s={};for(const e of t)s[e.uuid]=e;return s}function C(t){return t.map(({uuid:s})=>s)}function ft(t,s){return t.localeCompare(s)}function Yt(t,s){return ft(t.uuid,s.uuid)}function tP(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const c=t.split(".");c.length>1&&(s=c[c.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 sP(t){return t.toLowerCase().replace(" ","-")}function iP(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function nP(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const aP=/^.+@.+\..+$/;function z(t){const s={...t};for(const e of[...ia,"created_by"])e in s&&delete s[e];return s}const na=t=>{const s=t.toSorted((e,n)=>e.order-n.order);return Gn(s,{id:e=>e.uuid,parentId:e=>e.parent,includeEmptyChildrenArray:!0,valueKey:!1})},cP=t=>{const{roots:s}=na(t);return s.map(e=>new pt.Tree(e))},aa=(t,s)=>{const{nodes:e}=na(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new pt.Tree(n)},ca=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,da=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,ra=t=>Gn(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),dP=t=>{const{roots:s}=ra(t);return s.map(e=>new pt.Tree(e))},ua=(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 pt.Tree(n)};class rP{constructor(s){m(this,"operations",[]);m(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].sort((n,a)=>n[s]<=a[s]?1:-1)),this}reverse(){return this.operations.push(s=>[...s].reverse()),this}all(){return this.operations.push(s=>s),this}get(s,e){return p.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[s]===e))}count(){return p.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return p.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return p.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return p.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return p.createSelector([this.getData],s=>S(this.performOperations(s)))}}const T=t=>s=>e=>t(e,s),O=p.createSelectorCreator({memoize:p.lruMemoize,memoizeOptions:{resultEqualityCheck:vO.shallowEqual}}),uP=p.createSelectorCreator({memoize:p.lruMemoize,memoizeOptions:{resultEqualityCheck:EO}}),G=w(t=>t.uuid),la={instances:{}},Zt=p.createSlice({name:"agents",initialState:la,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,la)),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:oa,addConversation:ha,addConversations:lP,setConversation:ma,setConversations:oP,updateConversation:ya,updateConversations:hP,deleteConversation:mP,deleteConversations:yP}=Zt.actions,Jt=t=>t.agentsReducer.instances,pP=p.createSelector([Jt],t=>Object.values(t)),AP=T(p.createSelector([Jt,(t,s)=>s],(t,s)=>t[s])),pa=Zt.reducer,H=w(t=>t.uuid),Aa={instances:{}},Xt=p.createSlice({name:"assetAttachments",initialState:Aa,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Aa)),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:fa,addAssetAttachment:Ta,addAssetAttachments:Qt,setAssetAttachment:Sa,setAssetAttachments:Ia,updateAssetAttachment:Oa,updateAssetAttachments:Pa,deleteAssetAttachment:Fa,deleteAssetAttachments:xt}=Xt.actions,ga=t=>t.assetAttachmentReducer.instances,es=p.createSelector([ga],t=>Object.values(t)),ba=t=>s=>s.assetAttachmentReducer.instances[t],_a=T(O([es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ma=T(O([es,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>s===e)))),Ra=Xt.reducer,W=w(({uuid:t})=>t),wa={instances:{}},ts=p.createSlice({name:"assetProcedureTypeAttachments",initialState:wa,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,wa)),reducers:{initializeAssetProcedureTypeAttachments:W.initialize,addAssetProcedureTypeAttachment:W.addOne,addAssetProcedureTypeAttachments:W.addMany,setAssetProcedureTypeAttachment:W.setOne,setAssetProcedureTypeAttachments:W.setMany,updateAssetProcedureTypeAttachment:W.updateOne,updateAssetProcedureTypeAttachments:W.updateMany,deleteAssetProcedureTypeAttachment:W.deleteOne,deleteAssetProcedureTypeAttachments:W.deleteMany}}),{initializeAssetProcedureTypeAttachments:Ea,addAssetProcedureTypeAttachment:va,addAssetProcedureTypeAttachments:Va,setAssetProcedureTypeAttachment:za,setAssetProcedureTypeAttachments:Ba,updateAssetProcedureTypeAttachment:ja,updateAssetProcedureTypeAttachments:qa,deleteAssetProcedureTypeAttachment:Da,deleteAssetProcedureTypeAttachments:Ca}=ts.actions,$a=ts.reducer,Ua=t=>t.assetProcedureTypeAttachmentReducer.instances,ss=p.createSelector([Ua],t=>Object.values(t)),ka=t=>s=>s.assetProcedureTypeAttachmentReducer.instances[t],La=T(O([ss,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),fP=T(O([ss,(t,s)=>s],(t,s)=>S(t.filter(({asset_procedure_type:e})=>s===e)))),K=w(({uuid:t})=>t),Na={instances:{}},is=p.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:Na,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Na)),reducers:{initializeAssetProcedureTypeFieldsAttachments:K.initialize,addAssetProcedureTypeFieldsAttachment:K.addOne,addAssetProcedureTypeFieldsAttachments:K.addMany,setAssetProcedureTypeFieldsAttachment:K.setOne,setAssetProcedureTypeFieldsAttachments:K.setMany,updateAssetProcedureTypeFieldsAttachment:K.updateOne,updateAssetProcedureTypeFieldsAttachments:K.updateMany,deleteAssetProcedureTypeFieldsAttachment:K.deleteOne,deleteAssetProcedureTypeFieldsAttachments:K.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:Ga,addAssetProcedureTypeFieldsAttachment:Ha,addAssetProcedureTypeFieldsAttachments:Wa,setAssetProcedureTypeFieldsAttachment:Ka,setAssetProcedureTypeFieldsAttachments:Ya,updateAssetProcedureTypeFieldsAttachment:Za,updateAssetProcedureTypeFieldsAttachments:Ja,deleteAssetProcedureTypeFieldsAttachment:Xa,deleteAssetProcedureTypeFieldsAttachments:Qa}=is.actions,xa=is.reducer,ec=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,ns=p.createSelector([ec],t=>Object.values(t)),TP=T(O([ns,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),tc=t=>s=>s.assetProcedureTypeFieldsAttachmentReducer.instances[t],sc=T(O([ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Y=w(({uuid:t})=>t),ic={instances:{}},as=p.createSlice({name:"assetProcedureTypeFields",initialState:ic,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,ic)),reducers:{initializeAssetProcedureTypeFields:Y.initialize,addAssetProcedureTypeFields:Y.addOne,addAssetProcedureTypeFieldsMany:Y.addMany,setAssetProcedureTypeFields:Y.setOne,setAssetProcedureTypeFieldsMany:Y.setMany,updateAssetProcedureTypeFields:Y.updateOne,updateAssetProcedureTypeFieldsMany:Y.updateMany,deleteAssetProcedureTypeFields:Y.deleteOne,deleteAssetProcedureTypeFieldsMany:Y.deleteMany}}),{initializeAssetProcedureTypeFields:nc,addAssetProcedureTypeFields:ac,addAssetProcedureTypeFieldsMany:cc,setAssetProcedureTypeFields:dc,setAssetProcedureTypeFieldsMany:rc,updateAssetProcedureTypeFields:uc,updateAssetProcedureTypeFieldsMany:lc,deleteAssetProcedureTypeFields:oc,deleteAssetProcedureTypeFieldsMany:hc}=as.actions,mc=as.reducer,yc=t=>t.assetProcedureTypeFieldsReducer.instances,Tt=p.createSelector([yc],t=>Object.values(t)),SP=T(O([Tt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),IP=T(p.createSelector([Tt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),pc=t=>s=>s.assetProcedureTypeFieldsReducer.instances[t],Ac=T(O([Tt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Z=w(({uuid:t})=>t),fc={instances:{}},cs=p.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:fc,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,fc)),reducers:{initializeAssetProcedureTypeFieldValuesAttachments:Z.initialize,addAssetProcedureTypeFieldValuesAttachment:Z.addOne,addAssetProcedureTypeFieldValuesAttachments:Z.addMany,setAssetProcedureTypeFieldValuesAttachment:Z.setOne,setAssetProcedureTypeFieldValuesAttachments:Z.setMany,updateAssetProcedureTypeFieldValuesAttachment:Z.updateOne,updateAssetProcedureTypeFieldValuesAttachments:Z.updateMany,deleteAssetProcedureTypeFieldValuesAttachment:Z.deleteOne,deleteAssetProcedureTypeFieldValuesAttachments:Z.deleteMany}}),{initializeAssetProcedureTypeFieldValuesAttachments:Tc,addAssetProcedureTypeFieldValuesAttachment:Sc,addAssetProcedureTypeFieldValuesAttachments:ds,setAssetProcedureTypeFieldValuesAttachment:Ic,setAssetProcedureTypeFieldValuesAttachments:Oc,updateAssetProcedureTypeFieldValuesAttachment:Pc,updateAssetProcedureTypeFieldValuesAttachments:Fc,deleteAssetProcedureTypeFieldValuesAttachment:gc,deleteAssetProcedureTypeFieldValuesAttachments:rs}=cs.actions,bc=cs.reducer,_c=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,us=p.createSelector([_c],t=>Object.values(t)),Mc=t=>s=>s.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],Rc=T(O([us,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),wc=T(O([us,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),J=w(({uuid:t})=>t),Ec={instances:{}},ls=p.createSlice({name:"assetProcedureTypeFieldValues",initialState:Ec,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Ec)),reducers:{initializeAssetProcedureTypeFieldValues:J.initialize,addAssetProcedureTypeFieldValues:J.addOne,addAssetProcedureTypeFieldValuesMany:J.addMany,setAssetProcedureTypeFieldValues:J.setOne,setAssetProcedureTypeFieldValuesMany:J.setMany,updateAssetProcedureTypeFieldValues:J.updateOne,updateAssetProcedureTypeFieldValuesMany:J.updateMany,deleteAssetProcedureTypeFieldValues:J.deleteOne,deleteAssetProcedureTypeFieldValuesMany:J.deleteMany}}),{initializeAssetProcedureTypeFieldValues:vc,addAssetProcedureTypeFieldValues:Vc,addAssetProcedureTypeFieldValuesMany:zc,setAssetProcedureTypeFieldValues:Bc,setAssetProcedureTypeFieldValuesMany:jc,updateAssetProcedureTypeFieldValues:qc,updateAssetProcedureTypeFieldValuesMany:Dc,deleteAssetProcedureTypeFieldValues:Cc,deleteAssetProcedureTypeFieldValuesMany:$c}=ls.actions,Uc=ls.reducer,kc=t=>t.assetProcedureTypeFieldValuesReducer.instances,St=p.createSelector([kc],t=>Object.values(t)),OP=T(O([St,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),PP=T(O([St,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure===s)))),Lc=t=>s=>s.assetProcedureTypeFieldValuesReducer.instances[t],Nc=T(O([St,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),X=w(({uuid:t})=>t),Gc={instances:{}},os=p.createSlice({name:"assetProcedures",initialState:Gc,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Gc)),reducers:{initializeAssetProcedures:X.initialize,addAssetProcedure:X.addOne,addAssetProcedures:X.addMany,setAssetProcedure:X.setOne,setAssetProcedures:X.setMany,updateAssetProcedure:X.updateOne,updateAssetProcedures:X.updateMany,deleteAssetProcedure:X.deleteOne,deleteAssetProcedures:X.deleteMany}}),{initializeAssetProcedures:Hc,addAssetProcedure:Wc,addAssetProcedures:hs,updateAssetProcedure:Kc,updateAssetProcedures:Yc,deleteAssetProcedure:Zc,deleteAssetProcedures:ms,setAssetProcedure:Jc,setAssetProcedures:Xc}=os.actions,Qc=os.reducer,xc=t=>t.assetProcedureReducer.instances,It=p.createSelector([xc],t=>Object.values(t)),ed=T(O([It,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),FP=T(O([It,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),td=t=>s=>s.assetProcedureReducer.instances[t],sd=T(O([It,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Q=w(t=>t.uuid),id={instances:{}},ys=p.createSlice({name:"assetProcedureTypes",initialState:id,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,id)),reducers:{initializeAssetProcedureTypes:Q.initialize,addAssetProcedureType:Q.addOne,addAssetProcedureTypes:Q.addMany,setAssetProcedureType:Q.setOne,setAssetProcedureTypes:Q.setMany,updateAssetProcedureType:Q.updateOne,updateAssetProcedureTypes:Q.updateMany,deleteAssetProcedureType:Q.deleteOne,deleteAssetProcedureTypes:Q.deleteMany}}),{initializeAssetProcedureTypes:nd,addAssetProcedureType:ad,addAssetProcedureTypes:cd,updateAssetProcedureType:dd,updateAssetProcedureTypes:rd,deleteAssetProcedureType:ud,deleteAssetProcedureTypes:ld,setAssetProcedureType:od,setAssetProcedureTypes:hd}=ys.actions,md=ys.reducer,yd=t=>t.assetProcedureTypeReducer.instances,ps=p.createSelector([yd],t=>Object.values(t)),pd=t=>s=>s.assetProcedureTypeReducer.instances[t],Ad=T(O([ps,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),gP=T(O([ps,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),x=w(t=>t.uuid),fd={instances:{}},As=p.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:fd,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,fd)),reducers:{initializeAssetProcedureStepFieldsAttachments:x.initialize,addAssetProcedureStepFieldsAttachment:x.addOne,addAssetProcedureStepFieldsAttachments:x.addMany,setAssetProcedureStepFieldsAttachment:x.setOne,setAssetProcedureStepFieldsAttachments:x.setMany,updateAssetProcedureStepFieldsAttachment:x.updateOne,updateAssetProcedureStepFieldsAttachments:x.updateMany,deleteAssetProcedureStepFieldsAttachment:x.deleteOne,deleteAssetProcedureStepFieldsAttachments:x.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:Td,addAssetProcedureStepFieldsAttachment:Sd,addAssetProcedureStepFieldsAttachments:Id,setAssetProcedureStepFieldsAttachment:Od,setAssetProcedureStepFieldsAttachments:Pd,updateAssetProcedureStepFieldsAttachment:Fd,updateAssetProcedureStepFieldsAttachments:gd,deleteAssetProcedureStepFieldsAttachment:bd,deleteAssetProcedureStepFieldsAttachments:_d}=As.actions,Md=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,fs=p.createSelector([Md],t=>Object.values(t)),bP=T(O([fs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),Rd=t=>s=>s.assetProcedureStepFieldsAttachmentReducer.instances[t],wd=T(O([fs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ed=As.reducer,ee=w(t=>t.uuid),vd={instances:{}},Ts=p.createSlice({name:"assetProcedureStepFields",initialState:vd,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,vd)),reducers:{initializeAssetProcedureStepFields:ee.initialize,addAssetProcedureStepFields:ee.addOne,addAssetProcedureStepFieldsMany:ee.addMany,setAssetProcedureStepFields:ee.setOne,setAssetProcedureStepFieldsMany:ee.setMany,updateAssetProcedureStepFields:ee.updateOne,updateAssetProcedureStepFieldsMany:ee.updateMany,deleteAssetProcedureStepFields:ee.deleteOne,deleteAssetProcedureStepFieldsMany:ee.deleteMany}}),{initializeAssetProcedureStepFields:Vd,addAssetProcedureStepFields:zd,addAssetProcedureStepFieldsMany:Bd,setAssetProcedureStepFields:jd,setAssetProcedureStepFieldsMany:qd,updateAssetProcedureStepFields:Dd,updateAssetProcedureStepFieldsMany:Cd,deleteAssetProcedureStepFields:$d,deleteAssetProcedureStepFieldsMany:Ud}=Ts.actions,Ss=t=>t.assetProcedureStepFieldsReducer.instances,Ot=p.createSelector([Ss],t=>Object.values(t)),_P=T(O([Ot,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_step===s)))),MP=T(p.createSelector([Ot,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_step===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),RP=p.createSelector([Ss],t=>{const s={};for(const e of Object.values(t)){const n=s[e.asset_procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.asset_procedure_step]=e)}return s}),kd=t=>s=>s.assetProcedureStepFieldsReducer.instances[t],Ld=T(O([Ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Nd=Ts.reducer,te=w(t=>t.uuid),Gd={instances:{}},Is=p.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:Gd,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Gd)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:te.initialize,addAssetProcedureStepFieldValuesAttachment:te.addOne,addAssetProcedureStepFieldValuesAttachments:te.addMany,setAssetProcedureStepFieldValuesAttachment:te.setOne,setAssetProcedureStepFieldValuesAttachments:te.setMany,updateAssetProcedureStepFieldValuesAttachment:te.updateOne,updateAssetProcedureStepFieldValuesAttachments:te.updateMany,deleteAssetProcedureStepFieldValuesAttachment:te.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:te.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:Hd,addAssetProcedureStepFieldValuesAttachment:Wd,addAssetProcedureStepFieldValuesAttachments:Os,setAssetProcedureStepFieldValuesAttachment:Kd,setAssetProcedureStepFieldValuesAttachments:Yd,updateAssetProcedureStepFieldValuesAttachment:Zd,updateAssetProcedureStepFieldValuesAttachments:Jd,deleteAssetProcedureStepFieldValuesAttachment:Xd,deleteAssetProcedureStepFieldValuesAttachments:Ps}=Is.actions,Qd=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,Fs=p.createSelector([Qd],t=>Object.values(t)),xd=t=>s=>s.assetProcedureStepFieldValuesAttachmentReducer.instances[t],er=T(O([Fs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),tr=T(O([Fs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),sr=Is.reducer,se=w(t=>t.uuid),ir={instances:{}},gs=p.createSlice({name:"assetProcedureStepFieldValues",initialState:ir,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,ir)),reducers:{initializeAssetProcedureStepFieldValues:se.initialize,addAssetProcedureStepFieldValues:se.addOne,addAssetProcedureStepFieldValuesMany:se.addMany,setAssetProcedureStepFieldValues:se.setOne,setAssetProcedureStepFieldValuesMany:se.setMany,updateAssetProcedureStepFieldValues:se.updateOne,updateAssetProcedureStepFieldValuesMany:se.updateMany,deleteAssetProcedureStepFieldValues:se.deleteOne,deleteAssetProcedureStepFieldValuesMany:se.deleteMany}}),{initializeAssetProcedureStepFieldValues:nr,addAssetProcedureStepFieldValues:ar,addAssetProcedureStepFieldValuesMany:cr,setAssetProcedureStepFieldValues:dr,setAssetProcedureStepFieldValuesMany:rr,updateAssetProcedureStepFieldValues:ur,updateAssetProcedureStepFieldValuesMany:lr,deleteAssetProcedureStepFieldValues:or,deleteAssetProcedureStepFieldValuesMany:hr}=gs.actions,mr=t=>t.assetProcedureStepFieldValuesReducer.instances,lt=p.createSelector([mr],t=>Object.values(t)),wP=T(O([lt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),EP=T(O([lt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure===s)))),vP=T(O([lt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_step===s)))),yr=t=>s=>s.assetProcedureStepFieldValuesReducer.instances[t],pr=T(O([lt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ar=gs.reducer,ie=w(t=>t.uuid),fr={instances:{}},bs=p.createSlice({name:"assetProcedureSteps",initialState:fr,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,fr)),reducers:{initializeAssetProcedureSteps:ie.initialize,setAssetProcedureStep:ie.setOne,setAssetProcedureSteps:ie.setMany,addAssetProcedureStep:ie.addOne,addAssetProcedureSteps:ie.addMany,updateAssetProcedureStep:ie.updateOne,updateAssetProcedureSteps:ie.updateMany,deleteAssetProcedureStep:ie.deleteOne,deleteAssetProcedureSteps:ie.deleteMany}}),{initializeAssetProcedureSteps:Tr,setAssetProcedureStep:Sr,setAssetProcedureSteps:Ir,addAssetProcedureStep:Or,addAssetProcedureSteps:Pr,updateAssetProcedureStep:Fr,updateAssetProcedureSteps:gr,deleteAssetProcedureStep:br,deleteAssetProcedureSteps:_r}=bs.actions,Mr=bs.reducer,Pt=t=>t.assetProcedureStepReducer.instances,Rr=t=>s=>s.assetProcedureStepReducer.instances[t],_s=p.createSelector([Pt],t=>Object.values(t)),VP=T(p.createSelector([Pt,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return At(e)})),zP=T(O([_s,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),wr=T(O([_s,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Er=T(O([Pt,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const a=aa(s,Object.values(t)).all().map(({model:c})=>c);return S(a)})),ne=w(t=>t.uuid),vr={instances:{}},Ms=p.createSlice({name:"assets",initialState:vr,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,vr)),reducers:{initializeAssets:ne.initialize,addAsset:ne.addOne,addAssets:ne.addMany,setAsset:ne.setOne,setAssets:ne.setMany,updateAsset:ne.updateOne,updateAssets:ne.updateMany,deleteAsset:ne.deleteOne,deleteAssets:ne.deleteMany}}),{initializeAssets:Vr,addAsset:zr,addAssets:Rs,updateAsset:Br,updateAssets:jr,deleteAsset:qr,deleteAssets:ws,setAsset:Dr,setAssets:Cr}=Ms.actions,$r=t=>t.assetReducer.instances,Es=p.createSelector([$r],t=>S(Object.values(t))),vs=T(O([Es,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Ur=t=>s=>s.assetReducer.instances[t],kr=T(O([Es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),BP=t=>s=>vs(t)(s).length,Lr=Ms.reducer,ae=w(t=>t.uuid),Nr={instances:{}},Vs=p.createSlice({name:"assetStageCompletions",initialState:Nr,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Nr)),reducers:{initializeAssetStageCompletions:ae.initialize,addAssetStageCompletion:ae.addOne,addAssetStageCompletions:ae.addMany,setAssetStageCompletion:ae.setOne,setAssetStageCompletions:ae.setMany,updateAssetStageCompletion:ae.updateOne,updateAssetStageCompletions:ae.updateMany,deleteAssetStageCompletion:ae.deleteOne,deleteAssetStageCompletions:ae.deleteMany}}),{initializeAssetStageCompletions:Gr,addAssetStageCompletion:Hr,addAssetStageCompletions:Wr,setAssetStageCompletion:Kr,setAssetStageCompletions:Yr,updateAssetStageCompletion:Zr,updateAssetStageCompletions:Jr,deleteAssetStageCompletion:Xr,deleteAssetStageCompletions:Qr}=Vs.actions,xr=Vs.reducer,eu=t=>t.assetStageCompletionReducer.instances,tu=p.createSelector([eu],t=>Object.values(t)),su=t=>s=>s.assetStageCompletionReducer.instances[t],iu=T(O([tu,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ce=w(t=>t.uuid),nu={instances:{}},zs=p.createSlice({name:"assetStages",initialState:nu,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,nu)),reducers:{initializeAssetStages:ce.initialize,setAssetStage:ce.setOne,setAssetStages:ce.setMany,addAssetStage:ce.addOne,addAssetStages:ce.addMany,updateAssetStage:ce.updateOne,updateAssetStages:ce.updateMany,deleteAssetStage:ce.deleteOne,deleteAssetStages:ce.deleteMany}}),{initializeAssetStages:au,setAssetStage:cu,setAssetStages:du,addAssetStage:ru,addAssetStages:uu,updateAssetStage:lu,updateAssetStages:ou,deleteAssetStage:hu,deleteAssetStages:mu}=zs.actions,yu=zs.reducer,Bs=t=>t.assetStageReducer.instances,pu=t=>s=>s.assetStageReducer.instances[t],js=p.createSelector([Bs],t=>Object.values(t)),jP=T(p.createSelector([Bs,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return At(e)})),qP=T(O([js,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),Au=T(O([js,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),de=w(t=>t.uuid),fu={instances:{}},qs=p.createSlice({name:"assetTypeAttachments",initialState:fu,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,fu)),reducers:{initializeAssetTypeAttachments:de.initialize,addAssetTypeAttachment:de.addOne,addAssetTypeAttachments:de.addMany,setAssetTypeAttachment:de.setOne,setAssetTypeAttachments:de.setMany,updateAssetTypeAttachment:de.updateOne,updateAssetTypeAttachments:de.updateMany,deleteAssetTypeAttachment:de.deleteOne,deleteAssetTypeAttachments:de.deleteMany}}),{initializeAssetTypeAttachments:Tu,addAssetTypeAttachment:Su,addAssetTypeAttachments:Ds,setAssetTypeAttachment:Iu,setAssetTypeAttachments:Ou,updateAssetTypeAttachment:Pu,updateAssetTypeAttachments:Fu,deleteAssetTypeAttachment:gu,deleteAssetTypeAttachments:Cs}=qs.actions,bu=t=>t.assetTypeAttachmentReducer.instances,$s=p.createSelector([bu],t=>Object.values(t)),_u=t=>s=>s.assetTypeAttachmentReducer.instances[t],Mu=T(O([$s,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ru=T(O([$s,(t,s)=>s],(t,s)=>S(t.filter(({asset_type:e})=>s===e)))),wu=qs.reducer,re=w(t=>t.uuid),Eu={instances:{}},Us=p.createSlice({name:"assetTypeFieldsAttachments",initialState:Eu,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Eu)),reducers:{initializeAssetTypeFieldsAttachments:re.initialize,addAssetTypeFieldsAttachment:re.addOne,addAssetTypeFieldsAttachments:re.addMany,setAssetTypeFieldsAttachment:re.setOne,setAssetTypeFieldsAttachments:re.setMany,updateAssetTypeFieldsAttachment:re.updateOne,updateAssetTypeFieldsAttachments:re.updateMany,deleteAssetTypeFieldsAttachment:re.deleteOne,deleteAssetTypeFieldsAttachments:re.deleteMany}}),{initializeAssetTypeFieldsAttachments:vu,addAssetTypeFieldsAttachment:Vu,addAssetTypeFieldsAttachments:zu,setAssetTypeFieldsAttachment:Bu,setAssetTypeFieldsAttachments:ju,updateAssetTypeFieldsAttachment:qu,updateAssetTypeFieldsAttachments:Du,deleteAssetTypeFieldsAttachment:Cu,deleteAssetTypeFieldsAttachments:$u}=Us.actions,Uu=t=>t.assetTypeFieldsAttachmentReducer.instances,ks=p.createSelector([Uu],t=>Object.values(t)),DP=T(O([ks,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),ku=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],Lu=T(O([ks,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Nu=Us.reducer,ue=w(t=>t.uuid),Gu={instances:{}},Ls=p.createSlice({name:"assetTypeFields",initialState:Gu,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Gu)),reducers:{initializeAssetTypeFields:ue.initialize,addAssetTypeFields:ue.addOne,addAssetTypeFieldsMany:ue.addMany,setAssetTypeFields:ue.setOne,setAssetTypeFieldsMany:ue.setMany,updateAssetTypeFields:ue.updateOne,updateAssetTypeFieldsMany:ue.updateMany,deleteAssetTypeFields:ue.deleteOne,deleteAssetTypeFieldsMany:ue.deleteMany}}),{initializeAssetTypeFields:Hu,addAssetTypeFields:Wu,addAssetTypeFieldsMany:Ku,setAssetTypeFields:Yu,setAssetTypeFieldsMany:Zu,updateAssetTypeFields:Ju,updateAssetTypeFieldsMany:Xu,deleteAssetTypeFields:Qu,deleteAssetTypeFieldsMany:xu}=Ls.actions,el=t=>t.assetTypeFieldsReducer.instances,ot=p.createSelector([el],t=>Object.values(t)),CP=T(O([ot,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),$P=T(p.createSelector([ot,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),tl=t=>s=>s.assetTypeFieldsReducer.instances[t],sl=T(O([ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),il=Ls.reducer,le=w(t=>t.uuid),nl={instances:{}},Ns=p.createSlice({name:"assetTypeFieldValuesAttachments",initialState:nl,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,nl)),reducers:{initializeAssetTypeFieldValuesAttachments:le.initialize,addAssetTypeFieldValuesAttachment:le.addOne,addAssetTypeFieldValuesAttachments:le.addMany,setAssetTypeFieldValuesAttachment:le.setOne,setAssetTypeFieldValuesAttachments:le.setMany,updateAssetTypeFieldValuesAttachment:le.updateOne,updateAssetTypeFieldValuesAttachments:le.updateMany,deleteAssetTypeFieldValuesAttachment:le.deleteOne,deleteAssetTypeFieldValuesAttachments:le.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:al,addAssetTypeFieldValuesAttachment:cl,addAssetTypeFieldValuesAttachments:Gs,setAssetTypeFieldValuesAttachment:dl,setAssetTypeFieldValuesAttachments:rl,updateAssetTypeFieldValuesAttachment:ul,updateAssetTypeFieldValuesAttachments:ll,deleteAssetTypeFieldValuesAttachment:ol,deleteAssetTypeFieldValuesAttachments:Hs}=Ns.actions,hl=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Ws=p.createSelector([hl],t=>Object.values(t)),ml=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],yl=T(O([Ws,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),pl=T(O([Ws,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),Al=Ns.reducer,oe=w(t=>t.uuid),fl={instances:{}},Ks=p.createSlice({name:"assetTypeFieldValues",initialState:fl,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,fl)),reducers:{initializeAssetTypeFieldValues:oe.initialize,addAssetTypeFieldValues:oe.addOne,addAssetTypeFieldValuesMany:oe.addMany,setAssetTypeFieldValues:oe.setOne,setAssetTypeFieldValuesMany:oe.setMany,updateAssetTypeFieldValues:oe.updateOne,updateAssetTypeFieldValuesMany:oe.updateMany,deleteAssetTypeFieldValues:oe.deleteOne,deleteAssetTypeFieldValuesMany:oe.deleteMany}}),{initializeAssetTypeFieldValues:Tl,addAssetTypeFieldValues:Sl,addAssetTypeFieldValuesMany:Il,setAssetTypeFieldValues:Ol,setAssetTypeFieldValuesMany:Pl,updateAssetTypeFieldValues:Fl,updateAssetTypeFieldValuesMany:gl,deleteAssetTypeFieldValues:bl,deleteAssetTypeFieldValuesMany:_l}=Ks.actions,Ml=t=>t.assetTypeFieldValuesReducer.instances,Ft=p.createSelector([Ml],t=>Object.values(t)),UP=T(O([Ft,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),kP=T(O([ot,Ft,(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)))})),Rl=t=>s=>s.assetTypeFieldValuesReducer.instances[t],wl=T(O([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),El=Ks.reducer,he=w(t=>t.uuid),vl={instances:{}},Ys=p.createSlice({name:"assetTypeIdentifiers",initialState:vl,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,vl)),reducers:{initializeAssetTypeIdentifiers:he.initialize,addAssetTypeIdentifier:he.addOne,addAssetTypeIdentifiers:he.addMany,setAssetTypeIdentifier:he.setOne,setAssetTypeIdentifiers:he.setMany,updateAssetTypeIdentifier:he.updateOne,updateAssetTypeIdentifiers:he.updateMany,deleteAssetTypeIdentifier:he.deleteOne,deleteAssetTypeIdentifiers:he.deleteMany}}),{initializeAssetTypeIdentifiers:Vl,addAssetTypeIdentifier:zl,addAssetTypeIdentifiers:Bl,setAssetTypeIdentifier:jl,setAssetTypeIdentifiers:ql,updateAssetTypeIdentifier:Dl,updateAssetTypeIdentifiers:Cl,deleteAssetTypeIdentifier:$l,deleteAssetTypeIdentifiers:Ul}=Ys.actions,kl=t=>t.assetTypeIdentifierReducer.instances,Zs=p.createSelector([kl],t=>Object.values(t)),Ll=t=>s=>s.assetTypeIdentifierReducer.instances[t],Nl=T(O([Zs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),LP=T(O([Zs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Gl=Ys.reducer,me=w(t=>t.uuid),Hl={instances:{}},Js=p.createSlice({name:"assetTypeIdentifierValues",initialState:Hl,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Hl)),reducers:{initializeAssetTypeIdentifierValues:me.initialize,addAssetTypeIdentifierValue:me.addOne,addAssetTypeIdentifierValues:me.addMany,setAssetTypeIdentifierValue:me.setOne,setAssetTypeIdentifierValues:me.setMany,updateAssetTypeIdentifierValue:me.updateOne,updateAssetTypeIdentifierValues:me.updateMany,deleteAssetTypeIdentifierValue:me.deleteOne,deleteAssetTypeIdentifierValues:me.deleteMany}}),{initializeAssetTypeIdentifierValues:Wl,addAssetTypeIdentifierValue:Kl,addAssetTypeIdentifierValues:Yl,setAssetTypeIdentifierValue:Zl,setAssetTypeIdentifierValues:Jl,updateAssetTypeIdentifierValue:Xl,updateAssetTypeIdentifierValues:Ql,deleteAssetTypeIdentifierValue:xl,deleteAssetTypeIdentifierValues:eo}=Js.actions,to=t=>t.assetTypeIdentifierValueReducer.instances,gt=p.createSelector([to],t=>Object.values(t)),so=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],io=T(O([gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),NP=T(O([gt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),GP=T(O([gt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type_identifier===s)))),no=Js.reducer,ye=w(t=>t.uuid),ao={instances:{}},Xs=p.createSlice({name:"assetTypes",initialState:ao,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,ao)),reducers:{initializeAssetTypes:ye.initialize,setAssetType:ye.setOne,setAssetTypes:ye.setMany,addAssetType:ye.addOne,addAssetTypes:ye.addMany,updateAssetType:ye.updateOne,updateAssetTypes:ye.updateMany,deleteAssetType:ye.deleteOne,deleteAssetTypes:ye.deleteMany}}),{initializeAssetTypes:co,setAssetType:ro,setAssetTypes:uo,addAssetType:lo,addAssetTypes:oo,updateAssetType:ho,updateAssetTypes:mo,deleteAssetType:yo,deleteAssetTypes:po}=Xs.actions,Ao=t=>t.assetTypeReducer.instances,Qs=p.createSelector([Ao],t=>Object.values(t)),fo=t=>s=>s.assetTypeReducer.instances[t],To=T(O([Qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),HP=T(O([Qs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),So=Xs.reducer,pe=w(t=>t.uuid),Io={instances:{}},xs=p.createSlice({name:"assetTypeStatuses",initialState:Io,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Io)),reducers:{initializeAssetTypeStatuses:pe.initialize,addAssetTypeStatus:pe.addOne,addAssetTypeStatuses:pe.addMany,setAssetTypeStatus:pe.setOne,setAssetTypeStatuses:pe.setMany,updateAssetTypeStatus:pe.updateOne,updateAssetTypeStatuses:pe.updateMany,deleteAssetTypeStatus:pe.deleteOne,deleteAssetTypeStatuses:pe.deleteMany}}),{initializeAssetTypeStatuses:Oo,addAssetTypeStatus:Po,addAssetTypeStatuses:Fo,setAssetTypeStatus:go,setAssetTypeStatuses:bo,updateAssetTypeStatus:_o,updateAssetTypeStatuses:Mo,deleteAssetTypeStatus:Ro,deleteAssetTypeStatuses:wo}=xs.actions,Eo=t=>t.assetTypeStatusReducer.instances,ei=p.createSelector([Eo],t=>S(Object.values(t).toSorted(ca))),vo=t=>s=>s.assetTypeStatusReducer.instances[t],Vo=T(O([ei,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),WP=T(O([ei,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),zo=xs.reducer,Bo={accessToken:"",refreshToken:"",isLoggedIn:!1},bt=p.createSlice({name:"auth",initialState:Bo,extraReducers:t=>t.addCase(M,s=>Object.assign(s,Bo)),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||bt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:KP,clearTokens:YP,setLoggedIn:jo}=bt.actions,ZP=t=>t.authReducer.accessToken,JP=t=>t.authReducer.isLoggedIn,qo=bt.reducer,Ae=w(t=>t.uuid),Do={instances:{}},ti=p.createSlice({name:"categories",initialState:Do,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Do)),reducers:{initializeCategories:Ae.initialize,addCategory:Ae.addOne,addCategories:Ae.addMany,setCategory:Ae.setOne,setCategories:Ae.setMany,updateCategory:Ae.updateOne,updateCategories:Ae.updateMany,deleteCategory:Ae.deleteOne,deleteCategories:Ae.deleteMany}}),{initializeCategories:Co,addCategory:$o,addCategories:Uo,setCategory:ko,setCategories:Lo,updateCategory:No,updateCategories:Go,deleteCategory:Ho,deleteCategories:Wo}=ti.actions,Ko=t=>t.categoryReducer.instances,si=p.createSelector([Ko],t=>Object.values(t)),ii=t=>s=>s.categoryReducer.instances[t],Yo=T(O([si,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),XP=T(O([si,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),Zo=ti.reducer,fe=w(t=>t.uuid),Jo={instances:{}},ni=p.createSlice({name:"documentAttachments",initialState:Jo,extraReducers:t=>t.addCase(M,s=>Object.assign(s,Jo)),reducers:{initializeDocumentAttachments:fe.initialize,addDocumentAttachment:fe.addOne,addDocumentAttachments:fe.addMany,setDocumentAttachment:fe.setOne,setDocumentAttachments:fe.setMany,updateDocumentAttachment:fe.updateOne,updateDocumentAttachments:fe.updateMany,deleteDocumentAttachment:fe.deleteOne,deleteDocumentAttachments:fe.deleteMany}}),{initializeDocumentAttachments:Xo,addDocumentAttachment:Qo,addDocumentAttachments:xo,setDocumentAttachment:eh,setDocumentAttachments:th,updateDocumentAttachment:sh,updateDocumentAttachments:ih,deleteDocumentAttachment:nh,deleteDocumentAttachments:ah}=ni.actions,ch=t=>t.documentAttachmentReducer.instances,ai=p.createSelector([ch],t=>Object.values(t)),dh=t=>s=>s.documentAttachmentReducer.instances[t],rh=T(O([ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),QP=T(O([ai,(t,s)=>s],(t,s)=>S(t.filter(({document:e})=>s===e)))),uh=ni.reducer,Te=w(({uuid:t})=>t),lh={instances:{}},ci=p.createSlice({name:"documents",initialState:lh,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>{Object.assign(s,lh)}),reducers:{initializeDocuments:Te.initialize,addDocument:Te.addOne,addDocuments:Te.addMany,setDocument:Te.setOne,setDocuments:Te.setMany,updateDocument:Te.updateOne,updateDocuments:Te.updateMany,deleteDocument:Te.deleteOne,deleteDocuments:Te.deleteMany}}),{initializeDocuments:oh,addDocument:hh,addDocuments:mh,setDocument:yh,setDocuments:ph,updateDocument:Ah,updateDocuments:fh,deleteDocument:Th,deleteDocuments:Sh}=ci.actions,Ih=ci.reducer,di=t=>t.documentsReducer.instances,_t=p.createSelector([di],t=>Object.values(t)),Oh=t=>s=>s.documentsReducer.instances[t],Ph=T(O([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),xP=T(O([_t,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),eF=T(O([_t,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),Fh=T(O([di,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const a=ua(s,Object.values(t)).all().map(({model:c})=>c);return S(a)})),Se=w(t=>t.uuid),gh={instances:{}},ri=p.createSlice({name:"emailDomains",initialState:gh,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,gh)),reducers:{initializeEmailDomains:Se.initialize,addEmailDomain:Se.addOne,addEmailDomains:Se.addMany,setEmailDomain:Se.setOne,setEmailDomains:Se.setMany,updateEmailDomain:Se.updateOne,updateEmailDomains:Se.updateMany,deleteEmailDomain:Se.deleteOne,deleteEmailDomains:Se.deleteMany}}),{initializeEmailDomains:bh,addEmailDomain:_h,addEmailDomains:Mh,setEmailDomain:Rh,setEmailDomains:wh,updateEmailDomain:Eh,updateEmailDomains:vh,deleteEmailDomain:Vh,deleteEmailDomains:zh}=ri.actions,Bh=t=>t.emailDomainsReducer.instances,ui=p.createSelector([Bh],t=>Object.values(t)),jh=t=>s=>s.emailDomainsReducer.instances[t],qh=T(O([ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),tF=T(O([ui,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Dh=ri.reducer,Ch={s3Urls:{}},$h=1e3*60*60,sF=$h*24*7,li=p.createSlice({name:"file",initialState:Ch,extraReducers:t=>t.addCase(M,s=>Object.assign(s,Ch)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,c=new Date,r=new Date(c.getTime()+sF);t.s3Urls[a]={url:e,fields:n,exp:r.getTime()}}}}),{setUploadUrl:Uh}=li.actions,kh=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<$h))return e},Lh=li.reducer,Ie=w(t=>t.uuid),Nh={instances:{}},oi=p.createSlice({name:"formIdentifiers",initialState:Nh,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Nh)),reducers:{initializeFormIdentifiers:Ie.initialize,addFormIdentifier:Ie.addOne,addFormIdentifiers:Ie.addMany,setFormIdentifier:Ie.setOne,setFormIdentifiers:Ie.setMany,updateFormIdentifier:Ie.updateOne,updateFormIdentifiers:Ie.updateMany,deleteFormIdentifier:Ie.deleteOne,deleteFormIdentifiers:Ie.deleteMany}}),{initializeFormIdentifiers:Gh,addFormIdentifier:Hh,addFormIdentifiers:Wh,setFormIdentifier:Kh,setFormIdentifiers:Yh,updateFormIdentifier:Zh,updateFormIdentifiers:Jh,deleteFormIdentifier:Xh,deleteFormIdentifiers:Qh}=oi.actions,xh=t=>t.formIdentifierReducer.instances,hi=p.createSelector([xh],t=>Object.values(t)),em=t=>s=>s.formIdentifierReducer.instances[t],tm=T(O([hi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),iF=T(O([hi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),sm=oi.reducer,Oe=w(t=>t.uuid),im={instances:{}},mi=p.createSlice({name:"formIdentifierValues",initialState:im,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,im)),reducers:{initializeFormIdentifierValues:Oe.initialize,addFormIdentifierValue:Oe.addOne,addFormIdentifierValues:Oe.addMany,setFormIdentifierValue:Oe.setOne,setFormIdentifierValues:Oe.setMany,updateFormIdentifierValue:Oe.updateOne,updateFormIdentifierValues:Oe.updateMany,deleteFormIdentifierValue:Oe.deleteOne,deleteFormIdentifierValues:Oe.deleteMany}}),{initializeFormIdentifierValues:nm,addFormIdentifierValue:am,addFormIdentifierValues:cm,setFormIdentifierValue:dm,setFormIdentifierValues:rm,updateFormIdentifierValue:um,updateFormIdentifierValues:lm,deleteFormIdentifierValue:om,deleteFormIdentifierValues:hm}=mi.actions,mm=t=>t.formIdentifierValueReducer.instances,Mt=p.createSelector([mm],t=>Object.values(t)),ym=t=>s=>s.formIdentifierValueReducer.instances[t],pm=T(O([Mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),nF=T(O([Mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),aF=T(O([Mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_identifier===s)))),Am=mi.reducer,Pe=w(t=>t.uuid),fm={instances:{}},yi=p.createSlice({name:"formRevisionAttachments",initialState:fm,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,fm)),reducers:{initializeFormRevisionAttachments:Pe.initialize,addFormRevisionAttachment:Pe.addOne,addFormRevisionAttachments:Pe.addMany,setFormRevisionAttachment:Pe.setOne,setFormRevisionAttachments:Pe.setMany,updateFormRevisionAttachment:Pe.updateOne,updateFormRevisionAttachments:Pe.updateMany,deleteFormRevisionAttachment:Pe.deleteOne,deleteFormRevisionAttachments:Pe.deleteMany}}),{initializeFormRevisionAttachments:Tm,addFormRevisionAttachment:Sm,addFormRevisionAttachments:Im,setFormRevisionAttachment:Om,setFormRevisionAttachments:Pm,updateFormRevisionAttachment:Fm,updateFormRevisionAttachments:gm,deleteFormRevisionAttachment:bm,deleteFormRevisionAttachments:_m}=yi.actions,Rt=t=>t.formRevisionAttachmentReducer.instances,Mm=p.createSelector([Rt],t=>Object.values(t)),Rm=T(p.createSelector([Rt,(t,s)=>s],(t,s)=>t[s])),wm=T(O([Mm,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),cF=T(O([Rt,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.form_revision===s)))),Em=yi.reducer,Fe=w(t=>t.uuid),vm={instances:{}},pi=p.createSlice({name:"formRevisions",initialState:vm,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,vm)),reducers:{initializeFormRevisions:Fe.initialize,addFormRevision:Fe.addOne,addFormRevisions:Fe.addMany,setFormRevision:Fe.setOne,setFormRevisions:Fe.setMany,updateFormRevision:Fe.updateOne,updateFormRevisions:Fe.updateMany,deleteFormRevision:Fe.deleteOne,deleteFormRevisions:Fe.deleteMany}}),{initializeFormRevisions:Vm,addFormRevision:Ai,addFormRevisions:fi,setFormRevision:zm,setFormRevisions:Bm,updateFormRevision:jm,updateFormRevisions:qm,deleteFormRevision:Ti,deleteFormRevisions:Si}=pi.actions,Ii=t=>t.formRevisionReducer.instances,wt=p.createSelector([Ii],t=>Object.values(t)),Dm=t=>s=>s.formRevisionReducer.instances[t],Cm=T(O([wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),dF=T(p.createSelector([wt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),$m=T(O([wt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),Um=pi.reducer,ge=w(t=>t.uuid),km={instances:{}},Oi=p.createSlice({name:"forms",initialState:km,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,km)),reducers:{initializeForms:ge.initialize,addForm:ge.addOne,addForms:ge.addMany,setForm:ge.setOne,setForms:ge.setMany,updateForm:ge.updateOne,updateForms:ge.updateMany,deleteForm:ge.deleteOne,deleteForms:ge.deleteMany}}),{initializeForms:Lm,addForm:Nm,addForms:Gm,setForm:Hm,setForms:Wm,updateForm:Km,updateForms:Ym,deleteForm:Zm,deleteForms:Jm}=Oi.actions,Xm=Oi.reducer,Qm=t=>t.formReducer.instances,Pi=p.createSelector([Qm],t=>Object.values(t)),xm=t=>s=>s.formReducer.instances[t],ey=T(O([Pi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rF=T(O([Pi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),be=w(t=>t.uuid),ty={instances:{}},Fi=p.createSlice({name:"formSubmissionAttachments",initialState:ty,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,ty)),reducers:{initializeFormSubmissionAttachments:be.initialize,addFormSubmissionAttachment:be.addOne,addFormSubmissionAttachments:be.addMany,setFormSubmissionAttachment:be.setOne,setFormSubmissionAttachments:be.setMany,updateFormSubmissionAttachment:be.updateOne,updateFormSubmissionAttachments:be.updateMany,deleteFormSubmissionAttachment:be.deleteOne,deleteFormSubmissionAttachments:be.deleteMany}}),{initializeFormSubmissionAttachments:sy,addFormSubmissionAttachment:iy,addFormSubmissionAttachments:gi,setFormSubmissionAttachment:ny,setFormSubmissionAttachments:ay,updateFormSubmissionAttachment:cy,updateFormSubmissionAttachments:dy,deleteFormSubmissionAttachment:ry,deleteFormSubmissionAttachments:bi}=Fi.actions,_i=t=>t.formSubmissionAttachmentReducer.instances,Mi=p.createSelector([_i],t=>Object.values(t)),uy=T(p.createSelector([_i,(t,s)=>s],(t,s)=>t[s])),Ri=T(O([Mi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.uuid)))})),ly=Ri,oy=T(O([Mi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),hy=Fi.reducer,_e=w(t=>t.uuid),my={instances:{}},wi=p.createSlice({name:"formSubmissions",initialState:my,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,my)),reducers:{initializeFormSubmissions:_e.initialize,setFormSubmission:_e.setOne,setFormSubmissions:_e.setMany,addFormSubmission:_e.addOne,addFormSubmissions:_e.addMany,updateFormSubmission:_e.updateOne,updateFormSubmissions:_e.updateMany,deleteFormSubmission:_e.deleteOne,deleteFormSubmissions:_e.deleteMany}}),{initializeFormSubmissions:yy,setFormSubmission:py,setFormSubmissions:Ay,addFormSubmission:fy,addFormSubmissions:Ei,updateFormSubmission:Ty,updateFormSubmissions:Sy,deleteFormSubmission:Iy,deleteFormSubmissions:vi}=wi.actions,Vi=t=>t.formSubmissionReducer.instances,Oy=p.createSelector([Vi],t=>Object.values(t)),Py=t=>s=>s.formSubmissionReducer.instances[t],Fy=T(O([Oy,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),gy=T(O([Vi,Ii,(t,s)=>s],(t,s,e)=>{const n=new Set;for(const a of Object.values(s))a.form===e&&n.add(a.uuid);return Object.values(t).filter(a=>n.has(a.form_revision))})),by=wi.reducer,Me=w(t=>t.uuid),_y={instances:{}},zi=p.createSlice({name:"geoImages",initialState:_y,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,_y)),reducers:{initializeGeoImages:Me.initialize,setGeoImage:Me.setOne,setGeoImages:Me.setMany,addGeoImage:Me.addOne,addGeoImages:Me.addMany,updateGeoImage:Me.updateOne,updateGeoImages:Me.updateMany,deleteGeoImage:Me.deleteOne,deleteGeoImages:Me.deleteMany}}),{initializeGeoImages:My,setGeoImage:Ry,setGeoImages:wy,addGeoImage:Ey,addGeoImages:vy,updateGeoImage:Vy,updateGeoImages:zy,deleteGeoImage:By,deleteGeoImages:jy}=zi.actions,qy=t=>t.geoImageReducer.instances,Bi=p.createSelector([qy],t=>Object.values(t)),Dy=t=>s=>s.geoImageReducer.instances[t],Cy=T(O([Bi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),uF=T(O([Bi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),$y=zi.reducer,Re=w(t=>t.uuid),Uy={instances:{}},ji=p.createSlice({name:"issueAssociations",initialState:Uy,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Uy)),reducers:{initializeIssueAssociations:Re.initialize,addIssueAssociation:Re.addOne,addIssueAssociations:Re.addMany,setIssueAssociation:Re.setOne,setIssueAssociations:Re.setMany,updateIssueAssociation:Re.updateOne,updateIssueAssociations:Re.updateMany,deleteIssueAssociation:Re.deleteOne,deleteIssueAssociations:Re.deleteMany}}),{initializeIssueAssociations:ky,setIssueAssociations:Ly,setIssueAssociation:Ny,updateIssueAssociation:Gy,updateIssueAssociations:Hy,addIssueAssociation:Wy,addIssueAssociations:Et,deleteIssueAssociation:Ky,deleteIssueAssociations:vt}=ji.actions,ht=t=>t.issueAssociationReducer.instances,Yy=p.createSelector([ht],t=>Object.values(t)),Zy=t=>s=>s.issueAssociationReducer.instances[t],Jy=T(O([Yy,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Xy=T(O([ht,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.associated_issue===s)))),Qy=T(O([ht,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.issue===s)))),xy=T(O([ht,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.asset===s)))),ep=ji.reducer,we=w(t=>t.uuid),tp={instances:{}},qi=p.createSlice({name:"issueAttachments",initialState:tp,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,tp)),reducers:{initializeIssueAttachments:we.initialize,addIssueAttachment:we.addOne,addIssueAttachments:we.addMany,setIssueAttachment:we.setOne,setIssueAttachments:we.setMany,updateIssueAttachment:we.updateOne,updateIssueAttachments:we.updateMany,deleteIssueAttachment:we.deleteOne,deleteIssueAttachments:we.deleteMany}}),{initializeIssueAttachments:sp,addIssueAttachment:ip,addIssueAttachments:Di,setIssueAttachment:np,setIssueAttachments:ap,updateIssueAttachment:cp,updateIssueAttachments:dp,deleteIssueAttachment:rp,deleteIssueAttachments:Ci}=qi.actions,up=t=>t.issueAttachmentReducer.instances,$i=p.createSelector([up],t=>Object.values(t)),lp=T(O([$i,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>s===e)))),op=t=>s=>s.issueAttachmentReducer.instances[t],hp=T(O([$i,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),mp=qi.reducer,Ee=w(t=>t.uuid),yp={instances:{}},Ui=p.createSlice({name:"issueCommentAttachments",initialState:yp,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,yp)),reducers:{initializeIssueCommentAttachments:Ee.initialize,addIssueCommentAttachment:Ee.addOne,addIssueCommentAttachments:Ee.addMany,setIssueCommentAttachment:Ee.setOne,setIssueCommentAttachments:Ee.setMany,updateIssueCommentAttachment:Ee.updateOne,updateIssueCommentAttachments:Ee.updateMany,deleteIssueCommentAttachment:Ee.deleteOne,deleteIssueCommentAttachments:Ee.deleteMany}}),{initializeIssueCommentAttachments:pp,addIssueCommentAttachment:Ap,addIssueCommentAttachments:fp,setIssueCommentAttachment:Tp,setIssueCommentAttachments:Sp,updateIssueCommentAttachment:Ip,updateIssueCommentAttachments:Op,deleteIssueCommentAttachment:Pp,deleteIssueCommentAttachments:Fp}=Ui.actions,gp=t=>t.issueCommentAttachmentReducer.instances,ki=p.createSelector([gp],t=>Object.values(t)),bp=t=>s=>s.issueCommentAttachmentReducer.instances[t],_p=T(O([ki,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),lF=T(O([ki,(t,s)=>s],(t,s)=>S(t.filter(({issue_comment:e})=>s===e)))),Mp=Ui.reducer,ve=w(t=>t.uuid),Rp={instances:{}},Li=p.createSlice({name:"issueComments",initialState:Rp,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Rp)),reducers:{initializeIssueComments:ve.initialize,addIssueComment:ve.addOne,addIssueComments:ve.addMany,setIssueComment:ve.setOne,setIssueComments:ve.setMany,updateIssueComment:ve.updateOne,updateIssueComments:ve.updateMany,deleteIssueComment:ve.deleteOne,deleteIssueComments:ve.deleteMany}}),{initializeIssueComments:wp,addIssueComment:Ep,addIssueComments:vp,setIssueComment:Vp,setIssueComments:zp,updateIssueComment:Bp,updateIssueComments:jp,deleteIssueComment:qp,deleteIssueComments:Dp}=Li.actions,Ni=t=>t.issueCommentReducer.instances,Cp=t=>s=>s.issueCommentReducer.instances[t],$p=T(O([Ni,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),oF=T(O([Ni,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.issue===s)))),Up=Li.reducer,Ve=w(t=>t.uuid),kp={instances:{}},Gi=p.createSlice({name:"issues",initialState:kp,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,kp)),reducers:{initializeIssues:Ve.initialize,addIssue:Ve.addOne,addIssues:Ve.addMany,setIssue:Ve.setOne,setIssues:Ve.setMany,updateIssue:Ve.updateOne,updateIssues:Ve.updateMany,deleteIssue:Ve.deleteOne,deleteIssues:Ve.deleteMany}}),{initializeIssues:Lp,addIssue:Np,addIssues:Hi,setIssue:Gp,setIssues:Hp,updateIssue:Wp,updateIssues:Kp,deleteIssue:Yp,deleteIssues:Wi}=Gi.actions,Zp=t=>t.issueReducer.instances,Vt=p.createSelector([Zp],t=>Object.values(t)),Jp=t=>s=>s.issueReducer.instances[t],Xp=T(O([Vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),hF=T(O([Vt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Qp=T(O([Vt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),xp=Gi.reducer,ze=w(t=>t.uuid),eA={instances:{}},Ki=p.createSlice({name:"issueTypeAttachments",initialState:eA,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,eA)),reducers:{initializeIssueTypeAttachments:ze.initialize,addIssueTypeAttachment:ze.addOne,addIssueTypeAttachments:ze.addMany,setIssueTypeAttachment:ze.setOne,setIssueTypeAttachments:ze.setMany,updateIssueTypeAttachment:ze.updateOne,updateIssueTypeAttachments:ze.updateMany,deleteIssueTypeAttachment:ze.deleteOne,deleteIssueTypeAttachments:ze.deleteMany}}),{initializeIssueTypeAttachments:tA,addIssueTypeAttachment:sA,addIssueTypeAttachments:iA,setIssueTypeAttachment:nA,setIssueTypeAttachments:aA,updateIssueTypeAttachment:cA,updateIssueTypeAttachments:dA,deleteIssueTypeAttachment:rA,deleteIssueTypeAttachments:uA}=Ki.actions,lA=t=>t.issueTypeAttachmentReducer.instances,Yi=p.createSelector([lA],t=>Object.values(t)),oA=t=>s=>s.issueTypeAttachmentReducer.instances[t],hA=T(O([Yi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),mF=T(O([Yi,(t,s)=>s],(t,s)=>S(t.filter(({issue_type:e})=>s===e)))),mA=Ki.reducer,Be=w(t=>t.uuid),yA={instances:{}},Zi=p.createSlice({name:"issueTypeFieldsAttachments",initialState:yA,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,yA)),reducers:{initializeIssueTypeFieldsAttachments:Be.initialize,addIssueTypeFieldsAttachment:Be.addOne,addIssueTypeFieldsAttachments:Be.addMany,setIssueTypeFieldsAttachment:Be.setOne,setIssueTypeFieldsAttachments:Be.setMany,updateIssueTypeFieldsAttachment:Be.updateOne,updateIssueTypeFieldsAttachments:Be.updateMany,deleteIssueTypeFieldsAttachment:Be.deleteOne,deleteIssueTypeFieldsAttachments:Be.deleteMany}}),{initializeIssueTypeFieldsAttachments:pA,addIssueTypeFieldsAttachment:AA,addIssueTypeFieldsAttachments:fA,setIssueTypeFieldsAttachment:TA,setIssueTypeFieldsAttachments:SA,updateIssueTypeFieldsAttachment:IA,updateIssueTypeFieldsAttachments:OA,deleteIssueTypeFieldsAttachment:PA,deleteIssueTypeFieldsAttachments:FA}=Zi.actions,gA=t=>t.issueTypeFieldsAttachmentReducer.instances,Ji=p.createSelector([gA],t=>Object.values(t)),yF=T(O([Ji,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),bA=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],_A=T(O([Ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),MA=Zi.reducer,je=w(t=>t.uuid),RA={instances:{}},Xi=p.createSlice({name:"issueTypeFieldValues",initialState:RA,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,RA)),reducers:{initializeIssueTypeFieldValues:je.initialize,addIssueTypeFieldValues:je.addOne,addIssueTypeFieldValuesMany:je.addMany,setIssueTypeFieldValues:je.setOne,setIssueTypeFieldValuesMany:je.setMany,updateIssueTypeFieldValues:je.updateOne,updateIssueTypeFieldValuesMany:je.updateMany,deleteIssueTypeFieldValues:je.deleteOne,deleteIssueTypeFieldValuesMany:je.deleteMany}}),{initializeIssueTypeFieldValues:wA,addIssueTypeFieldValues:EA,addIssueTypeFieldValuesMany:vA,setIssueTypeFieldValues:VA,setIssueTypeFieldValuesMany:zA,updateIssueTypeFieldValues:BA,updateIssueTypeFieldValuesMany:jA,deleteIssueTypeFieldValues:qA,deleteIssueTypeFieldValuesMany:DA}=Xi.actions,CA=t=>t.issueTypeFieldValuesReducer.instances,zt=p.createSelector([CA],t=>Object.values(t)),pF=T(O([zt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),$A=t=>s=>s.issueTypeFieldValuesReducer.instances[t],UA=T(O([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),kA=Xi.reducer,qe=w(t=>t.uuid),LA={instances:{}},Qi=p.createSlice({name:"issueTypeFields",initialState:LA,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,LA)),reducers:{initializeIssueTypeFields:qe.initialize,addIssueTypeFields:qe.addOne,addIssueTypeFieldsMany:qe.addMany,setIssueTypeFields:qe.setOne,setIssueTypeFieldsMany:qe.setMany,updateIssueTypeFields:qe.updateOne,updateIssueTypeFieldsMany:qe.updateMany,deleteIssueTypeFields:qe.deleteOne,deleteIssueTypeFieldsMany:qe.deleteMany}}),{initializeIssueTypeFields:NA,addIssueTypeFields:GA,addIssueTypeFieldsMany:HA,setIssueTypeFields:WA,setIssueTypeFieldsMany:KA,updateIssueTypeFields:YA,updateIssueTypeFieldsMany:ZA,deleteIssueTypeFields:JA,deleteIssueTypeFieldsMany:XA}=Qi.actions,QA=t=>t.issueTypeFieldsReducer.instances,mt=p.createSelector([QA],t=>Object.values(t)),AF=T(O([mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),fF=T(p.createSelector([mt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),TF=T(O([mt,zt,(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)))})),xA=t=>s=>s.issueTypeFieldsReducer.instances[t],ef=T(O([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),tf=Qi.reducer,De=w(t=>t.uuid),sf={instances:{}},xi=p.createSlice({name:"issueTypeFieldValuesAttachments",initialState:sf,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,sf)),reducers:{initializeIssueTypeFieldValuesAttachments:De.initialize,addIssueTypeFieldValuesAttachment:De.addOne,addIssueTypeFieldValuesAttachments:De.addMany,setIssueTypeFieldValuesAttachment:De.setOne,setIssueTypeFieldValuesAttachments:De.setMany,updateIssueTypeFieldValuesAttachment:De.updateOne,updateIssueTypeFieldValuesAttachments:De.updateMany,deleteIssueTypeFieldValuesAttachment:De.deleteOne,deleteIssueTypeFieldValuesAttachments:De.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:nf,addIssueTypeFieldValuesAttachment:af,addIssueTypeFieldValuesAttachments:en,setIssueTypeFieldValuesAttachment:cf,setIssueTypeFieldValuesAttachments:df,updateIssueTypeFieldValuesAttachment:rf,updateIssueTypeFieldValuesAttachments:uf,deleteIssueTypeFieldValuesAttachment:lf,deleteIssueTypeFieldValuesAttachments:tn}=xi.actions,of=t=>t.issueTypeFieldValuesAttachmentReducer.instances,sn=p.createSelector([of],t=>Object.values(t)),hf=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],mf=T(O([sn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),yf=T(O([sn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),pf=xi.reducer,Ce=w(t=>t.uuid),Af={instances:{}},nn=p.createSlice({name:"issueTypeIdentifiers",initialState:Af,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Af)),reducers:{initializeIssueTypeIdentifiers:Ce.initialize,addIssueTypeIdentifier:Ce.addOne,addIssueTypeIdentifiers:Ce.addMany,setIssueTypeIdentifier:Ce.setOne,setIssueTypeIdentifiers:Ce.setMany,updateIssueTypeIdentifier:Ce.updateOne,updateIssueTypeIdentifiers:Ce.updateMany,deleteIssueTypeIdentifier:Ce.deleteOne,deleteIssueTypeIdentifiers:Ce.deleteMany}}),{initializeIssueTypeIdentifiers:ff,addIssueTypeIdentifier:Tf,addIssueTypeIdentifiers:Sf,setIssueTypeIdentifier:If,setIssueTypeIdentifiers:Of,updateIssueTypeIdentifier:Pf,updateIssueTypeIdentifiers:Ff,deleteIssueTypeIdentifier:gf,deleteIssueTypeIdentifiers:bf}=nn.actions,_f=t=>t.issueTypeIdentifierReducer.instances,an=p.createSelector([_f],t=>Object.values(t)),Mf=t=>s=>s.issueTypeIdentifierReducer.instances[t],Rf=T(O([an,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),SF=T(O([an,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),wf=nn.reducer,$e=w(t=>t.uuid),Ef={instances:{}},cn=p.createSlice({name:"issueTypeIdentifierValues",initialState:Ef,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,Ef)),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:vf,addIssueTypeIdentifierValue:Vf,addIssueTypeIdentifierValues:zf,setIssueTypeIdentifierValue:Bf,setIssueTypeIdentifierValues:jf,updateIssueTypeIdentifierValue:qf,updateIssueTypeIdentifierValues:Df,deleteIssueTypeIdentifierValue:Cf,deleteIssueTypeIdentifierValues:$f}=cn.actions,Uf=t=>t.issueTypeIdentifierValueReducer.instances,Bt=p.createSelector([Uf],t=>Object.values(t)),kf=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],Lf=T(O([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),IF=T(O([Bt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),OF=T(O([Bt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type_identifier===s)))),Nf=cn.reducer,Ue=w(t=>t.uuid),Gf={instances:{}},dn=p.createSlice({name:"issueTypes",initialState:Gf,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,Gf)),reducers:{initializeIssueTypes:Ue.initialize,addIssueType:Ue.addOne,addIssueTypes:Ue.addMany,setIssueType:Ue.setOne,setIssueTypes:Ue.setMany,updateIssueType:Ue.updateOne,updateIssueTypes:Ue.updateMany,deleteIssueType:Ue.deleteOne,deleteIssueTypes:Ue.deleteMany}}),{initializeIssueTypes:Hf,addIssueType:Wf,addIssueTypes:Kf,setIssueType:Yf,setIssueTypes:Zf,updateIssueType:Jf,updateIssueTypes:Xf,deleteIssueType:Qf,deleteIssueTypes:xf}=dn.actions,eT=t=>t.issueTypeReducer.instances,rn=p.createSelector(eT,t=>Object.values(t)),tT=t=>s=>s.issueTypeReducer.instances[t],sT=T(O([rn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),PF=T(O([rn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),iT=dn.reducer,ke=w(t=>t.uuid),nT={instances:{}},un=p.createSlice({name:"issueTypeStatuses",initialState:nT,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,nT)),reducers:{initializeIssueTypeStatuses:ke.initialize,addIssueTypeStatus:ke.addOne,addIssueTypeStatuses:ke.addMany,setIssueTypeStatus:ke.setOne,setIssueTypeStatuses:ke.setMany,updateIssueTypeStatus:ke.updateOne,updateIssueTypeStatuses:ke.updateMany,deleteIssueTypeStatus:ke.deleteOne,deleteIssueTypeStatuses:ke.deleteMany}}),{initializeIssueTypeStatuses:aT,addIssueTypeStatus:cT,addIssueTypeStatuses:dT,setIssueTypeStatus:rT,setIssueTypeStatuses:uT,updateIssueTypeStatus:lT,updateIssueTypeStatuses:oT,deleteIssueTypeStatus:hT,deleteIssueTypeStatuses:mT}=un.actions,yT=t=>t.issueTypeStatusReducer.instances,ln=p.createSelector([yT],t=>S(Object.values(t).toSorted(da))),on=t=>s=>s.issueTypeStatusReducer.instances[t],pT=T(O([ln,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),FF=T(O([ln,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),AT=un.reducer,Le=w(t=>t.uuid),fT={instances:{}},hn=p.createSlice({name:"issueUpdates",initialState:fT,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,fT)),reducers:{initializeIssueUpdates:Le.initialize,addIssueUpdate:Le.addOne,addIssueUpdates:Le.addMany,setIssueUpdate:Le.setOne,setIssueUpdates:Le.setMany,updateIssueUpdate:Le.updateOne,updateIssueUpdates:Le.updateMany,deleteIssueUpdate:Le.deleteOne,deleteIssueUpdates:Le.deleteMany}}),{initializeIssueUpdates:TT,addIssueUpdate:mn,addIssueUpdates:yn,setIssueUpdate:ST,setIssueUpdates:IT,updateIssueUpdate:OT,updateIssueUpdates:PT,deleteIssueUpdate:pn,deleteIssueUpdates:An}=hn.actions,fn=t=>t.issueUpdateReducer.instances,Tn=p.createSelector([fn],t=>Object.values(t)),FT=T(p.createSelector([fn,(t,s)=>s],(t,s)=>t[s])),gT=T(O([Tn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),bT=T(O([Tn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),_T=hn.reducer,Ne=w(t=>t.id),MT={instances:{},currentUser:null},Sn=p.createSlice({name:"users",initialState:MT,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,MT)),reducers:{initializeUsers:Ne.initialize,setUsers:Ne.setMany,setUser:Ne.setOne,addUsers:Ne.addMany,addUser:Ne.addOne,updateUsers:Ne.updateMany,updateUser:Ne.updateOne,deleteUser:Ne.deleteOne,deleteUsers:Ne.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload},setProfilePicture:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile.file=s.payload.file??null,t.currentUser.profile.file_sha1=s.payload.file_sha1??null;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile.file=s.payload.file??null,e.profile.file_sha1=s.payload.file_sha1??null}}}),{initializeUsers:RT,setUsers:wT,setUser:ET,addUsers:vT,addUser:In,updateUsers:VT,updateUser:zT,deleteUser:On,deleteUsers:BT,setCurrentUser:gF,setProfilePicture:bF}=Sn.actions,jT=Sn.reducer,qT=t=>t.userReducer.currentUser,Pn=t=>t.userReducer.instances,jt=p.createSelector([Pn],t=>Object.values(t)),qt=t=>s=>s.userReducer.instances[t],DT=T(O([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({id:n})=>e.has(n)))})),Ge=w(t=>t.uuid),CT={instances:{}},Fn=p.createSlice({name:"organizationAccess",initialState:CT,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,CT)),reducers:{initializeOrganizationAccesses:Ge.initialize,addOrganizationAccess:Ge.addOne,addOrganizationAccesses:Ge.addMany,setOrganizationAccess:Ge.setOne,setOrganizationAccesses:Ge.setMany,updateOrganizationAccess:Ge.updateOne,updateOrganizationAccesses:Ge.updateMany,deleteOrganizationAccess:Ge.deleteOne,deleteOrganizationAccesses:Ge.deleteMany}}),{initializeOrganizationAccesses:$T,addOrganizationAccess:UT,addOrganizationAccesses:kT,setOrganizationAccess:LT,setOrganizationAccesses:NT,updateOrganizationAccess:GT,updateOrganizationAccesses:HT,deleteOrganizationAccess:WT,deleteOrganizationAccesses:KT}=Fn.actions,YT=Fn.reducer,Dt=t=>t.organizationAccessReducer.instances,ZT=t=>s=>s.organizationAccessReducer.instances[t],JT=T(O([Dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),_F=p.createSelector([qT,Dt],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),XT=p.createSelector([Dt],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return At(s)}),MF=T(O([Pn,XT,(t,s)=>s],(t,s,e)=>S(Object.values(t).filter(n=>{const a=s[n.id];return!!a&&a.organization===e})))),He=w(t=>t.uuid),QT={instances:{}},gn=p.createSlice({name:"organizations",initialState:QT,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,QT)),reducers:{initializeOrganizations:He.initialize,setOrganizations:He.setMany,setOrganization:He.setOne,addOrganizations:He.addMany,addOrganization:He.addOne,updateOrganizations:He.updateMany,updateOrganization:He.updateOne,deleteOrganization:He.deleteOne,deleteOrganizations:He.deleteMany}}),{initializeOrganizations:xT,setOrganizations:eS,setOrganization:tS,addOrganizations:sS,addOrganization:iS,updateOrganizations:nS,updateOrganization:aS,deleteOrganization:cS,deleteOrganizations:dS}=gn.actions,rS=t=>t.organizationReducer.instances,uS=p.createSelector([rS],t=>Object.values(t)),lS=t=>s=>s.organizationReducer.instances[t],oS=T(O([uS,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),hS=gn.reducer,mS=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:et.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},yS={deletedRequests:[],latestRetryTime:0},bn=p.createSlice({name:"outbox",initialState:yS,extraReducers:t=>t.addCase(M,s=>Object.assign(s,yS)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t);const{BASE_URL:s,serviceName:e,...n}=t;return mS(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}}}),RF=t=>t.outboxReducer.deletedRequests,wF=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:pS,markForDeletion:EF,markAsDeleted:AS,_setLatestRetryTime:fS}=bn.actions,TS=bn.reducer,We=w(t=>t.uuid),SS={instances:{}},_n=p.createSlice({name:"projectAccess",initialState:SS,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,SS)),reducers:{initializeProjectAccesses:We.initialize,addProjectAccess:We.addOne,addProjectAccesses:We.addMany,setProjectAccess:We.setOne,setProjectAccesses:We.setMany,updateProjectAccess:We.updateOne,updateProjectAccesses:We.updateMany,deleteProjectAccess:We.deleteOne,deleteProjectAccesses:We.deleteMany}}),{initializeProjectAccesses:IS,addProjectAccess:OS,addProjectAccesses:PS,setProjectAccess:FS,setProjectAccesses:gS,updateProjectAccess:bS,updateProjectAccesses:_S,deleteProjectAccess:MS,deleteProjectAccesses:RS}=_n.actions,wS=_n.reducer,Mn=t=>t.projectAccessReducer.instances,yt=p.createSelector(Mn,t=>Object.values(t)),ES=t=>s=>s.projectAccessReducer.instances[t],vS=T(O([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),vF=T(O([Mn,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.project===s)))),VF=T(p.createSelector([yt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),zF=T(O([jt,yt,(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)))})),Ke=w(t=>t.uuid),VS={instances:{}},Rn=p.createSlice({name:"projectAttachments",initialState:VS,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,VS)),reducers:{initializeProjectAttachments:Ke.initialize,addProjectAttachment:Ke.addOne,addProjectAttachments:Ke.addMany,setProjectAttachment:Ke.setOne,setProjectAttachments:Ke.setMany,updateProjectAttachment:Ke.updateOne,updateProjectAttachments:Ke.updateMany,deleteProjectAttachment:Ke.deleteOne,deleteProjectAttachments:Ke.deleteMany}}),{initializeProjectAttachments:zS,addProjectAttachment:BS,addProjectAttachments:jS,setProjectAttachment:qS,setProjectAttachments:DS,updateProjectAttachment:CS,updateProjectAttachments:$S,deleteProjectAttachment:US,deleteProjectAttachments:kS}=Rn.actions,LS=t=>t.projectAttachmentReducer.instances,wn=p.createSelector([LS],t=>Object.values(t)),NS=t=>s=>s.projectAttachmentReducer.instances[t],GS=T(O([wn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),BF=T(O([wn,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>s===e)))),HS=Rn.reducer,Ye=w(t=>t.uuid),WS={instances:{},activeProjectFileId:null,isImportingProjectFile:!1},En=p.createSlice({name:"projectFiles",initialState:WS,extraReducers:t=>t.addMatcher(p.isAnyOf(M,$,E),s=>Object.assign(s,WS)),reducers:{initializeProjectFiles:Ye.initialize,setProjectFile:Ye.setOne,setProjectFiles:Ye.setMany,addProjectFile:Ye.addOne,addProjectFiles:Ye.addMany,updateProjectFile:Ye.updateOne,updateProjectFiles:Ye.updateMany,deleteProjectFile:Ye.deleteOne,deleteProjectFiles:Ye.deleteMany,setIsImportingProjectFile:(t,s)=>{t.isImportingProjectFile=s.payload},saveActiveProjectFileBounds:(t,s)=>{const e=t.activeProjectFileId;if(!e)throw new Error("Tried to save bounds for active project file, but no active project file was set.");if(!t.instances[e])throw new Error(`Tried to save bounds for active project file, but project file with ID ${e}
2
2
  doesn't exist.`);t.instances[e].bounds=s.payload},setActiveProjectFileId:(t,s)=>{t.activeProjectFileId=s.payload}}}),{initializeProjectFiles:KS,setProjectFile:YS,setProjectFiles:ZS,addProjectFile:JS,addProjectFiles:XS,updateProjectFile:QS,updateProjectFiles:xS,deleteProjectFile:eI,deleteProjectFiles:tI,setIsImportingProjectFile:sI,setActiveProjectFileId:iI,saveActiveProjectFileBounds:nI}=En.actions,aI=t=>t.projectFileReducer.instances,cI=p.createSelector([aI],t=>S(Object.values(t).sort((s,e)=>s.z_index-e.z_index))),dI=t=>s=>s.projectFileReducer.instances[t],rI=T(O([cI,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),jF=t=>t.projectFileReducer.activeProjectFileId,qF=t=>t.projectFileReducer.isImportingProjectFile,uI=En.reducer,Ze=w(t=>t.uuid),lI={instances:{}},vn=p.createSlice({name:"projects",initialState:lI,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,lI)),reducers:{initializeProjects:Ze.initialize,setProjects:Ze.setMany,setProject:Ze.setOne,addProjects:Ze.addMany,addProject:Ze.addOne,updateProjects:Ze.updateMany,updateProject:Ze.updateOne,deleteProject:Ze.deleteOne,deleteProjects:Ze.deleteMany}}),{initializeProjects:oI,setProjects:hI,setProject:mI,addProjects:yI,addProject:pI,updateProjects:AI,updateProject:fI,deleteProject:TI,deleteProjects:SI}=vn.actions,II=vn.reducer,OI=t=>t.projectReducer.instances,Ct=p.createSelector([OI],t=>Object.values(t)),PI=t=>s=>s.projectReducer.instances[t],FI=T(O([Ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),DF=T(O([Ct,yt,(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)))})),CF=T(O([Ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),$F={isRehydrated:!1},Vn=p.createSlice({name:"rehydrated",initialState:$F,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:UF}=Vn.actions,kF=t=>t.rehydratedReducer.isRehydrated,gI=Vn.reducer,Je=w(t=>t.uuid),bI={instances:{}},zn=p.createSlice({name:"teamMemberships",initialState:bI,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,bI)),reducers:{initializeTeamMemberships:Je.initialize,addTeamMembership:Je.addOne,addTeamMemberships:Je.addMany,setTeamMembership:Je.setOne,setTeamMemberships:Je.setMany,updateTeamMembership:Je.updateOne,updateTeamMemberships:Je.updateMany,deleteTeamMembership:Je.deleteOne,deleteTeamMemberships:Je.deleteMany}}),{initializeTeamMemberships:_I,addTeamMembership:MI,addTeamMemberships:RI,setTeamMembership:wI,setTeamMemberships:EI,updateTeamMembership:vI,updateTeamMemberships:VI,deleteTeamMembership:zI,deleteTeamMemberships:BI}=zn.actions,jI=zn.reducer,qI=t=>t.teamMembershipReducer.instances,$t=p.createSelector([qI],t=>Object.values(t)),DI=t=>s=>s.teamMembershipReducer.instances[t],CI=T(O([$t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),LF=T(p.createSelector([$t,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),NF=T(O([jt,$t,(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)))})),Xe=w(t=>t.uuid),$I={instances:{}},Bn=p.createSlice({name:"teams",initialState:$I,extraReducers:t=>t.addMatcher(p.isAnyOf(M,E),s=>Object.assign(s,$I)),reducers:{initializeTeams:Xe.initialize,addTeam:Xe.addOne,addTeams:Xe.addMany,setTeam:Xe.setOne,setTeams:Xe.setMany,updateTeam:Xe.updateOne,updateTeams:Xe.updateMany,deleteTeam:Xe.deleteOne,deleteTeams:Xe.deleteMany}}),{initializeTeams:UI,addTeam:kI,addTeams:LI,setTeam:NI,setTeams:GI,updateTeam:HI,updateTeams:WI,deleteTeam:KI,deleteTeams:YI}=Bn.actions,ZI=t=>t.teamReducer.instances,jn=p.createSelector([ZI],t=>Object.values(t)),JI=t=>s=>s.teamReducer.instances[t],XI=T(O([jn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),GF=T(O([jn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),QI=Bn.reducer,HF={version:0},xI=p.createSlice({name:"versioning",initialState:HF,reducers:{}}),eO=xI.reducer,qn={outboxReducer:TS,fileReducer:Lh,authReducer:qo},WF=p.combineReducers(qn),tO={...qn,[ut]:eO,categoryReducer:Zo,assetReducer:Lr,assetAttachmentReducer:Ra,assetStageCompletionReducer:xr,assetStageReducer:yu,assetTypeReducer:So,assetTypeAttachmentReducer:wu,issueReducer:xp,issueAttachmentReducer:mp,issueTypeReducer:iT,issueTypeAttachmentReducer:mA,organizationReducer:hS,projectReducer:II,projectAttachmentReducer:HS,projectAccessReducer:wS,organizationAccessReducer:YT,projectFileReducer:uI,rehydratedReducer:gI,formReducer:Xm,formRevisionReducer:Um,formRevisionAttachmentReducer:Em,formSubmissionAttachmentReducer:hy,formSubmissionReducer:by,formIdentifierReducer:sm,formIdentifierValueReducer:Am,userReducer:jT,emailDomainsReducer:Dh,documentsReducer:Ih,documentAttachmentReducer:uh,teamReducer:QI,agentsReducer:pa,issueCommentReducer:Up,issueCommentAttachmentReducer:Mp,issueUpdateReducer:_T,geoImageReducer:$y,issueAssociationReducer:ep,issueTypeFieldsReducer:tf,issueTypeFieldValuesReducer:kA,issueTypeFieldsAttachmentReducer:MA,issueTypeFieldValuesAttachmentReducer:pf,issueTypeIdentifierReducer:wf,issueTypeIdentifierValueReducer:Nf,issueTypeStatusReducer:AT,assetTypeFieldsReducer:il,assetTypeFieldValuesReducer:El,assetTypeFieldsAttachmentReducer:Nu,assetTypeFieldValuesAttachmentReducer:Al,assetTypeIdentifierReducer:Gl,assetTypeIdentifierValueReducer:no,assetTypeStatusReducer:zo,assetProcedureTypeReducer:md,assetProcedureReducer:Qc,assetProcedureTypeFieldsReducer:mc,assetProcedureTypeFieldValuesReducer:Uc,assetProcedureTypeFieldsAttachmentReducer:xa,assetProcedureTypeFieldValuesAttachmentReducer:bc,assetProcedureTypeAttachmentReducer:$a,assetProcedureStepFieldsAttachmentReducer:Ed,assetProcedureStepFieldsReducer:Nd,assetProcedureStepFieldValuesAttachmentReducer:sr,assetProcedureStepFieldValuesReducer:Ar,assetProcedureStepReducer:Mr,teamMembershipReducer:jI},KF=p.combineReducers(tO),sO=1e4,iO=200,Dn=[400,409,403,404,405,500],N=1e4,nO={};class aO{constructor(s){m(this,"client");m(this,"pageSize",sO);nO[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)}}const cO=()=>uO.length-1,dO=t=>(t[ut]={version:cO()},t),rO=()=>dO({}),YF=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),ZF=t=>s=>{var e;return s===void 0&&(s={}),((e=s[ut])==null?void 0:e.version)===cO()?s:t(s)},uO=[dO,rO,rO,YF],JF=Object.fromEntries(uO.map((t,s)=>[s,ZF(t)])),XF=t=>{if(t)throw t;const s=rt();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},lO=(t,s,e)=>{const n=st();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},oO=(t,s,e)=>{const n=st();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=s.meta.offlineAction.payload.uuid;return n.remove(c),n.getQueue()};async function QF(t,s){if(!s.payload)throw new Error("Received empty payload");return gO(s)}const xF={...Hn,effect:QF,discard:mO,returnPromises:!0,persistCallback:XF,retry:ig,persistOptions:{storage:zO},queue:{...Hn.queue,enqueue:lO,dequeue:oO,peek:(...t)=>sg(...t)}},eg=BO(JF,ut),tg=p.compose(VO.offline(xF),eg);async function hO(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=nO[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return kn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function mO(t,s,e=0){var d;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
3
3
  Action:`,s,`
4
4
  Retries:`,e),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const n=rt(),c=n.getState().outboxReducer.deletedRequests,r=s.payload.uuid;function l(){n.dispatch(AS(r));const o=st();if(!o)throw new Error("Outbox coordinator not set");o.remove(s.payload.uuid);const y=s.meta.offline.rollback;throw y&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(y)),t}if(t instanceof k&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s),l()),c.includes(r)&&(console.debug("Discarding request due to deletion:",s),l()),t instanceof k){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&&Dn.includes(o)){console.warn("Discarding request due to error:",t,`
@@ -1,4 +1,4 @@
1
- import { weakMapMemoize } from '@reduxjs/toolkit';
1
+ import { lruMemoize } from '@reduxjs/toolkit';
2
2
  export declare const restructureCreateSelectorWithArgs: <TState, TArgs, TRet>(selector: (state: TState, args: TArgs) => TRet) => (args: TArgs) => (state: TState) => TRet;
3
- export declare const createShallowEqualSelector: import('reselect').CreateSelectorFunction<typeof weakMapMemoize, typeof weakMapMemoize, any>;
4
- export declare const createDeepEqualSelector: import('reselect').CreateSelectorFunction<typeof weakMapMemoize, typeof weakMapMemoize, any>;
3
+ export declare const createShallowEqualSelector: import('reselect').CreateSelectorFunction<typeof lruMemoize, typeof import('reselect').weakMapMemoize, any>;
4
+ export declare const createDeepEqualSelector: import('reselect').CreateSelectorFunction<typeof lruMemoize, typeof import('reselect').weakMapMemoize, any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@overmap-ai/core",
3
- "version": "1.0.78-bulk-update.3",
3
+ "version": "1.0.78-bulk-update.5",
4
4
  "description": "Core functionality for Overmap",
5
5
  "keywords": [
6
6
  "components",