{"version":3,"file":"static/chunks/8927-c9897b1b0c59c265.js","mappings":"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","sources":["webpack://_N_E/./node_modules/lodash/isNil.js","webpack://_N_E/./node_modules/@ucast/core/dist/es6m/index.mjs","webpack://_N_E/./node_modules/@ucast/mongo/dist/es6m/index.mjs","webpack://_N_E/./node_modules/@ucast/js/dist/es6m/index.mjs","webpack://_N_E/./node_modules/@ucast/mongo2js/dist/es6m/index.mjs","webpack://_N_E/./node_modules/@casl/ability/dist/es6m/index.mjs","webpack://_N_E/./node_modules/@casl/react/dist/es6m/index.mjs","webpack://_N_E/"],"sourcesContent":["/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","class t{constructor(t,e){this.operator=t,this.value=e,Object.defineProperty(this,\"t\",{writable:!0})}get notes(){return this.t}addNote(t){this.t=this.t||[],this.t.push(t)}}class e extends t{}class r extends e{constructor(t,e){if(!Array.isArray(e))throw new Error(`\"${t}\" operator expects to receive an array of conditions`);super(t,e)}}const n=\"__itself__\";class o extends t{constructor(t,e,r){super(t,r),this.field=e}}const s=new e(\"__null__\",null),i=Object.prototype.hasOwnProperty.call.bind(Object.prototype.hasOwnProperty);function c(t,e){return e instanceof r&&e.operator===t}function u(t,e){return 1===e.length?e[0]:new r(t,function t(e,r,n){const o=n||[];for(let n=0,s=r.length;nt,h=()=>Object.create(null),f=Object.defineProperty(h(),\"__@type@__\",{value:\"ignore value\"});function l(t,e,r=!1){if(!t||t&&t.constructor!==Object)return!1;for(const n in t){if(i(t,n)&&i(e,n)&&(!r||t[n]!==f))return!0}return!1}function d(t){const e=[];for(const r in t)i(t,r)&&t[r]!==f&&e.push(r);return e}function p(t,e){e!==s&&t.push(e)}const w=t=>u(\"and\",t),b=t=>u(\"or\",t),O={compound(t,e,n){const o=(Array.isArray(e)?e:[e]).map(t=>n.parse(t));return new r(t.name,o)},field:(t,e,r)=>new o(t.name,r.field,e),document:(t,r)=>new e(t.name,r)};class j{constructor(t,e=h()){this.o=void 0,this.s=void 0,this.i=void 0,this.u=void 0,this.h=void 0,this.parse=this.parse.bind(this),this.u={operatorToConditionName:e.operatorToConditionName||a,defaultOperatorName:e.defaultOperatorName||\"eq\",mergeFinalConditions:e.mergeFinalConditions||w},this.o=Object.keys(t).reduce((e,r)=>(e[r]=Object.assign({name:this.u.operatorToConditionName(r)},t[r]),e),{}),this.s=Object.assign({},e.fieldContext,{field:\"\",query:{},parse:this.parse,hasOperators:t=>l(t,this.o,e.useIgnoreValue)}),this.i=Object.assign({},e.documentContext,{parse:this.parse,query:{}}),this.h=e.useIgnoreValue?d:Object.keys}setParse(t){this.parse=t,this.s.parse=t,this.i.parse=t}parseField(t,e,r,n){const o=this.o[e];if(!o)throw new Error(`Unsupported operator \"${e}\"`);if(\"field\"!==o.type)throw new Error(`Unexpected ${o.type} operator \"${e}\" at field level`);return this.s.field=t,this.s.query=n,this.parseInstruction(o,r,this.s)}parseInstruction(t,e,r){\"function\"==typeof t.validate&&t.validate(t,e);return(t.parse||O[t.type])(t,e,r)}parseFieldOperators(t,e){const r=[],n=this.h(e);for(let o=0,s=n.length;o{const o=n(e,r);return _(t,o)(e,s)};break;case 3:o=(e,o,i)=>{const c=n(e,r);return _(t,c)(e,o,i,s)};break;default:o=(e,o)=>{const i=n(e,r);return _(t,i)(e,o,s)}}const s=Object.assign({},r,{interpret:o});return s.interpret}function v(t,e){return(r,...n)=>{const o=t(r,...n),s=e.bind(null,o);return s.ast=o,s}}const x=j.prototype.parseInstruction;export{r as CompoundCondition,t as Condition,e as DocumentCondition,o as FieldCondition,n as ITSELF,s as NULL_CONDITION,j as ObjectQueryParser,w as buildAnd,b as buildOr,m as createInterpreter,v as createTranslatorFactory,O as defaultInstructionParsers,l as hasOperators,a as identity,f as ignoreValue,c as isCompound,h as object,u as optimizedCompoundCondition,x as parseInstruction};\n//# sourceMappingURL=index.mjs.map\n","import{optimizedCompoundCondition as e,FieldCondition as t,CompoundCondition as r,ITSELF as o,NULL_CONDITION as a,ObjectQueryParser as n,buildAnd as i}from\"@ucast/core\";export{defaultInstructionParsers as defaultParsers}from\"@ucast/core\";function s(e,t){if(!Array.isArray(t))throw new Error(`\"${e.name}\" expects value to be an array`)}function p(e,t){if(s(e,t),!t.length)throw new Error(`\"${e.name}\" expects to have at least one element in array`)}const l=e=>(t,r)=>{if(typeof r!==e)throw new Error(`\"${t.name}\" expects value to be a \"${e}\"`)},c={type:\"compound\",validate:p,parse(t,r,{parse:o}){const a=r.map(e=>o(e));return e(t.name,a)}},f=c,d={type:\"compound\",validate:p},u={type:\"field\",validate(e,t){if(!(t&&(t instanceof RegExp||t.constructor===Object)))throw new Error(`\"${e.name}\" expects to receive either regular expression or object of field operators`)},parse(e,o,a){const n=o instanceof RegExp?new t(\"regex\",a.field,o):a.parse(o,a);return new r(e.name,[n])}},$={type:\"field\",validate(e,t){if(!t||t.constructor!==Object)throw new Error(`\"${e.name}\" expects to receive an object with nested query or field level operators`)},parse(e,r,{parse:a,field:n,hasOperators:i}){const s=i(r)?a(r,{field:o}):a(r);return new t(e.name,n,s)}},w={type:\"field\",validate:l(\"number\")},y={type:\"field\",validate:s},x=y,v=y,h={type:\"field\",validate(e,t){if(!Array.isArray(t)||2!==t.length)throw new Error(`\"${e.name}\" expects an array with 2 numeric elements`)}},m={type:\"field\",validate:l(\"boolean\")},g={type:\"field\",validate:function(e,t){if(!(\"string\"==typeof t||\"number\"==typeof t||t instanceof Date))throw new Error(`\"${e.name}\" expects value to be comparable (i.e., string, number or date)`)}},b=g,E=b,j=b,O={type:\"field\"},R=O,_={type:\"field\",validate(e,t){if(!(t instanceof RegExp)&&\"string\"!=typeof t)throw new Error(`\"${e.name}\" expects value to be a regular expression or a string that represents regular expression`)},parse(e,r,o){const a=\"string\"==typeof r?new RegExp(r,o.query.$options||\"\"):r;return new t(e.name,o.field,a)}},q={type:\"field\",parse:()=>a},A={type:\"document\",validate:l(\"function\")};var N=Object.freeze({__proto__:null,$and:c,$or:f,$nor:d,$not:u,$elemMatch:$,$size:w,$in:y,$nin:x,$all:v,$mod:h,$exists:m,$gte:g,$gt:b,$lt:E,$lte:j,$eq:O,$ne:R,$regex:_,$options:q,$where:A});class P extends n{constructor(e){super(e,{defaultOperatorName:\"$eq\",operatorToConditionName:e=>e.slice(1)})}parse(e,t){return t&&t.field?i(this.parseFieldOperators(t.field,e)):super.parse(e)}}const z=N;export{v as $all,c as $and,$ as $elemMatch,O as $eq,m as $exists,b as $gt,g as $gte,y as $in,E as $lt,j as $lte,h as $mod,R as $ne,x as $nin,d as $nor,u as $not,q as $options,f as $or,_ as $regex,w as $size,A as $where,P as MongoQueryParser,z as allParsingInstructions};\n//# sourceMappingURL=index.mjs.map\n","import{ITSELF as r,createInterpreter as t}from\"@ucast/core\";function n(r,t,n){for(let e=0,o=r.length;e{const o=e.get(n,t.field);return Array.isArray(o)?o.some(n=>r(t,n,e)):r(t,o,e)}}const c=(r,t)=>r[t];function i(r,t,n){const e=t.lastIndexOf(\".\");return-1===e?[r,t]:[n(r,t.slice(0,e)),t.slice(e+1)]}function f(t,n,e=c){if(n===r)return t;if(!t)throw new Error(`Unable to get field \"${n}\" out of ${String(t)}.`);return function(r,t,n){if(-1===t.indexOf(\".\"))return o(r,t,n);const e=t.split(\".\");let u=r;for(let r=0,t=e.length;rf(t,n,r)}function a(r,t){return r===t?0:r>t?1:-1}function l(r,n={}){return t(r,Object.assign({get:f,compare:a},n))}const p=(r,t,{interpret:n})=>r.value.some(r=>n(r,t)),g=(r,t,n)=>!p(r,t,n),m=(r,t,{interpret:n})=>r.value.every(r=>n(r,t)),y=(r,t,{interpret:n})=>!n(r.value[0],t),b=(r,t,{compare:e,get:o})=>{const u=o(t,r.field);return Array.isArray(u)&&!Array.isArray(r.value)?n(u,r.value,e):0===e(u,r.value)},A=(r,t,n)=>!b(r,t,n),d=u((r,t,n)=>{const e=n.compare(t,r.value);return 0===e||-1===e}),h=u((r,t,n)=>-1===n.compare(t,r.value)),j=u((r,t,n)=>1===n.compare(t,r.value)),w=u((r,t,n)=>{const e=n.compare(t,r.value);return 0===e||1===e}),_=(t,n,{get:o})=>{if(t.field===r)return void 0!==n;const[u,c]=i(n,t.field,o),f=r=>!!r&&r.hasOwnProperty(c)===t.value;return e(u,c)?u.some(f):f(u)},v=u((r,t)=>\"number\"==typeof t&&t%r.value[0]===r.value[1]),x=(t,n,{get:o})=>{const[u,c]=i(n,t.field,o),f=r=>{const n=o(r,c);return Array.isArray(n)&&n.length===t.value};return t.field!==r&&e(u,c)?u.some(f):f(u)},O=u((r,t)=>\"string\"==typeof t&&r.value.test(t)),N=u((r,t,{compare:e})=>n(r.value,t,e)),$=(r,t,n)=>!N(r,t,n),q=(r,t,{compare:e,get:o})=>{const u=o(t,r.field);return Array.isArray(u)&&r.value.every(r=>n(u,r,e))},z=(r,t,{interpret:n,get:e})=>{const o=e(t,r.field);return Array.isArray(o)&&o.some(t=>n(r.value,t))},E=(r,t)=>r.value.call(t);var M=Object.freeze({__proto__:null,or:p,nor:g,and:m,not:y,eq:b,ne:A,lte:d,lt:h,gt:j,gte:w,exists:_,mod:v,size:x,regex:O,within:N,nin:$,all:q,elemMatch:z,where:E});const S=Object.assign({},M,{in:N}),U=l(S);export{q as all,S as allInterpreters,m as and,a as compare,s as createGetter,l as createJsInterpreter,z as elemMatch,b as eq,_ as exists,f as getObjectField,i as getObjectFieldCursor,j as gt,w as gte,U as interpret,h as lt,d as lte,v as mod,A as ne,$ as nin,g as nor,y as not,p as or,O as regex,x as size,E as where,N as within};\n//# sourceMappingURL=index.mjs.map\n","import{createTranslatorFactory as o,ITSELF as t}from\"@ucast/core\";export*from\"@ucast/core\";import{MongoQueryParser as r,allParsingInstructions as e,defaultParsers as c}from\"@ucast/mongo\";export*from\"@ucast/mongo\";import{createJsInterpreter as n,allInterpreters as f,compare as s}from\"@ucast/js\";export*from\"@ucast/js\";function i(o){return o instanceof Date?o.getTime():o&&\"function\"==typeof o.toJSON?o.toJSON():o}const m=(o,t)=>s(i(o),i(t));function p(e,c,f){const s=new r(e),i=n(c,Object.assign({compare:m},f));if(f&&f.forPrimitives){const o={field:t},r=s.parse;s.setParse(t=>r(t,o))}return o(s.parse,i)}const a=p(e,f),u=p([\"$and\",\"$or\"].reduce((o,t)=>(o[t]=Object.assign({},o[t],{type:\"field\"}),o),Object.assign({},e,{$nor:Object.assign({},e.$nor,{type:\"field\",parse:c.compound})})),f,{forPrimitives:!0}),j=a;export{p as createFactory,j as filter,a as guard,u as squire};\n//# sourceMappingURL=index.mjs.map\n","import{createFactory as t,$eq as e,$ne as i,$lt as s,$lte as n,$gt as r,$gte as o,$in as c,$nin as u,$all as h,$size as l,$regex as a,$options as f,$elemMatch as d,$exists as y,eq as b,ne as p,lt as w,lte as g,gt as $,gte as A,within as j,nin as M,all as m,size as E,regex as v,elemMatch as x,exists as F,and as _}from\"@ucast/mongo2js\";function O(t){return Array.isArray(t)?t:[t]}const C=Object.hasOwn||Object.prototype.hasOwnProperty.call.bind(Object.prototype.hasOwnProperty);const R=\"__caslSubjectType__\";function P(t,e){if(e)if(!C(e,R))Object.defineProperty(e,R,{value:t});else if(t!==e[R])throw new Error(`Trying to cast object to subject type ${t} but previously it was casted to ${e[R]}`);return e}const S=t=>{const e=typeof t;return\"string\"===e||\"function\"===e};const T=t=>t.modelName||t.name;const B=t=>\"string\"===typeof t?t:T(t);function q(t){if(C(t,R))return t[R];return T(t.constructor)}function z(t,e,i){let s=O(e);let n=0;while(nt.concat(e);function k(t,e){if(e in t)throw new Error(`Cannot use \"${e}\" as an alias because it's reserved action.`);const i=Object.keys(t);const s=(t,i)=>{const s=D(t,i);if(s)throw new Error(`Detected cycle ${s} -> ${t.join(\", \")}`);const n=\"string\"===typeof i&&i===e||-1!==t.indexOf(e)||Array.isArray(i)&&-1!==i.indexOf(e);if(n)throw new Error(`Cannot make an alias to \"${e}\" because this is reserved action`);return t.concat(i)};for(let e=0;ez(t,e,Y)}function L(t,e,i){for(let s=i;st;function J(t,e){if(Array.isArray(t.fields)&&!t.fields.length)throw new Error(\"`rawRule.fields` cannot be an empty array. https://bit.ly/390miLa\");if(t.fields&&!e.fieldMatcher)throw new Error('You need to pass \"fieldMatcher\" option in order to restrict access by fields');if(t.conditions&&!e.conditionsMatcher)throw new Error('You need to pass \"conditionsMatcher\" option in order to restrict access by conditions')}class K{constructor(t,e,i=0){J(t,e);this.action=e.resolveAction(t.action);this.subject=t.subject;this.inverted=!!t.inverted;this.conditions=t.conditions;this.reason=t.reason;this.origin=t;this.fields=t.fields?O(t.fields):void 0;this.priority=i;this.t=e}i(){if(this.conditions&&!this.o)this.o=this.t.conditionsMatcher(this.conditions);return this.o}get ast(){const t=this.i();return t?t.ast:void 0}matchesConditions(t){if(!this.conditions)return true;if(!t||S(t))return!this.inverted;const e=this.i();return e(t)}matchesField(t){if(!this.fields)return true;if(!t)return!this.inverted;if(this.fields&&!this.u)this.u=this.t.fieldMatcher(this.fields);return this.u(t)}}function N(t,e){const i={value:t,prev:e,next:null};if(e)e.next=i;return i}function Q(t){if(t.next)t.next.prev=t.prev;if(t.prev)t.prev.next=t.next;t.next=t.prev=null}const V=t=>({value:t.value,prev:t.prev,next:t.next});const W=()=>({rules:[],merged:false});const X=()=>new Map;class Z{constructor(t=[],e={}){this.h=false;this.l={conditionsMatcher:e.conditionsMatcher,fieldMatcher:e.fieldMatcher,resolveAction:e.resolveAction||H};this.p=e.anyAction||\"manage\";this.g=e.anySubjectType||\"all\";this.$=e.detectSubjectType||q;this.A=t;this.j=this.M(t)}get rules(){return this.A}detectSubjectType(t){if(S(t))return t;if(!t)return this.g;return this.$(t)}update(t){const e={rules:t,ability:this,target:this};this.m(\"update\",e);this.A=t;this.j=this.M(t);this.m(\"updated\",e);return this}M(t){const e=new Map;for(let i=t.length-1;i>=0;i--){const s=t.length-i-1;const n=new K(t[i],this.l,s);const r=O(n.action);const o=O(n.subject||this.g);if(!this.h&&n.fields)this.h=true;for(let t=0;tt.matchesField(i)))}actionsFor(t){if(!S(t))throw new Error('\"actionsFor\" accepts only subject types (i.e., string or class) as a parameter');const e=new Set;const i=this.j.get(t);if(i)Array.from(i.keys()).forEach((t=>e.add(t)));const s=t!==this.g?this.j.get(this.g):void 0;if(s)Array.from(s.keys()).forEach((t=>e.add(t)));return Array.from(e)}on(t,e){this.v=this.v||new Map;const i=this.v;const s=i.get(t)||null;const n=N(e,s);i.set(t,n);return()=>{const e=i.get(t);if(!n.next&&!n.prev&&e===n)i.delete(t);else if(n===e)i.set(t,n.prev);Q(n)}}m(t,e){if(!this.v)return;let i=this.v.get(t)||null;while(null!==i){const t=i.prev?V(i.prev):null;i.value(e);i=t}}}class PureAbility extends Z{can(t,e,i){const s=this.relevantRuleFor(t,e,i);return!!s&&!s.inverted}relevantRuleFor(t,e,i){const s=this.detectSubjectType(e);const n=this.rulesFor(t,s,i);for(let t=0,i=n.length;tt(Object.assign({},tt,e),Object.assign({},et,i),s);const st=t(tt,et);const nt=/[-/\\\\^$+?.()|[\\]{}]/g;const rt=/\\.?\\*+\\.?/g;const ot=/\\*+/;const ct=/\\./g;function ut(t,e,i){const s=\"*\"===i[0]||\".\"===t[0]&&\".\"===t[t.length-1]?\"+\":\"*\";const n=-1===t.indexOf(\"**\")?\"[^.]\":\".\";const r=t.replace(ct,\"\\\\$&\").replace(ot,n+s);return e+t.length===i.length?`(?:${r})?`:r}function ht(t,e,i){if(\".\"===t&&(\"*\"===i[e-1]||\"*\"===i[e+1]))return t;return`\\\\${t}`}function lt(t){const e=t.map((t=>t.replace(nt,ht).replace(rt,ut)));const i=e.length>1?`(?:${e.join(\"|\")})`:e[0];return new RegExp(`^${i}$`)}const at=t=>{let e;return i=>{if(\"undefined\"===typeof e)e=t.every((t=>-1===t.indexOf(\"*\")))?null:lt(t);return null===e?-1!==t.indexOf(i):e.test(i)}};class Ability extends PureAbility{constructor(t=[],e={}){super(t,Object.assign({conditionsMatcher:st,fieldMatcher:at},e))}}function createMongoAbility(t=[],e={}){return new PureAbility(t,Object.assign({conditionsMatcher:st,fieldMatcher:at},e))}function isAbilityClass(t){return\"function\"===typeof t.prototype.possibleRulesFor}class ft{constructor(t){this.F=t}because(t){this.F.reason=t;return this}}class AbilityBuilder{constructor(t){this.rules=[];this._=t;this.can=(t,e,i,s)=>this.O(t,e,i,s,false);this.cannot=(t,e,i,s)=>this.O(t,e,i,s,true);this.build=t=>isAbilityClass(this._)?new this._(this.rules,t):this._(this.rules,t)}O(t,e,i,s,n){const r={action:t};if(n)r.inverted=n;if(e){r.subject=e;if(Array.isArray(i)||\"string\"===typeof i)r.fields=i;else if(\"undefined\"!==typeof i)r.conditions=i;if(\"undefined\"!==typeof s)r.conditions=s}this.rules.push(r);return new ft(r)}}function defineAbility(t,e){const i=new AbilityBuilder(createMongoAbility);const s=t(i.can,i.cannot);if(s&&\"function\"===typeof s.then)return s.then((()=>i.build(e)));return i.build(e)}const dt=t=>`Cannot execute \"${t.action}\" on \"${t.subjectType}\"`;const yt=function t(e){this.message=e};yt.prototype=Object.create(Error.prototype);class ForbiddenError extends yt{static setDefaultMessage(t){this.C=\"string\"===typeof t?()=>t:t}static from(t){return new this(t)}constructor(t){super(\"\");this.ability=t;if(\"function\"===typeof Error.captureStackTrace){this.name=\"ForbiddenError\";Error.captureStackTrace(this,this.constructor)}}setMessage(t){this.message=t;return this}throwUnlessCan(t,e,i){const s=this.unlessCan(t,e,i);if(s)throw s}unlessCan(t,e,i){const s=this.ability.relevantRuleFor(t,e,i);if(s&&!s.inverted)return;this.action=t;this.subject=e;this.subjectType=B(this.ability.detectSubjectType(e));this.field=i;const n=s?s.reason:\"\";this.message=this.message||n||this.constructor.C(this);return this}}ForbiddenError.C=dt;var bt=Object.freeze({__proto__:null});export{Ability,AbilityBuilder,ForbiddenError,PureAbility,it as buildMongoQueryMatcher,I as createAliasResolver,createMongoAbility,defineAbility,q as detectSubjectType,at as fieldPatternMatcher,dt as getDefaultErrorMessage,bt as hkt,st as mongoQueryMatcher,P as subject,O as wrapArray};\n//# sourceMappingURL=index.mjs.map\n","import t,{PureComponent as i,createElement as n}from\"react\";const s=()=>{};class e extends i{constructor(...t){super(...t);this.t=false;this.i=null;this.o=s}componentWillUnmount(){this.o()}u(t){if(t===this.i)return;this.o();this.i=null;if(t){this.i=t;this.o=t.on(\"updated\",(()=>this.forceUpdate()))}}get allowed(){return this.t}h(){const t=this.props;const i=t.of||t.a||t.an||t.this||t.on;const n=t.not?\"cannot\":\"can\";return t.ability[n](t.I||t.do,i,t.field)}render(){this.u(this.props.ability);this.t=this.h();return this.props.passThrough||this.t?this.l():null}l(){const{children:t,ability:i}=this.props;const n=\"function\"===typeof t?t(this.t,i):t;return n}}function r(t){var i,n;return n=i=class extends e{},i.defaultProps={ability:t},n}function o(t){return i=>n(t,{children:t=>n(e,Object.assign({ability:t},i))})}function useAbility(i){if(\"production\"!==process.env.NODE_ENV&&\"function\"!==typeof t.useContext)throw new Error(\"You must use React >= 16.8 in order to use useAbility()\");const n=t.useContext(i);const[s,e]=t.useState();t.useEffect((()=>n.on(\"updated\",(t=>{if(t.rules!==s)e(t.rules)}))),[]);return n}export{e as Can,r as createCanBoundTo,o as createContextualCan,useAbility};\n//# sourceMappingURL=index.mjs.map\n"],"names":["module","exports","value","es6m_t","constructor","t","e","operator","Object","defineProperty","writable","notes","addNote","push","r","Array","isArray","es6m_n","es6m_o","field","s","i","prototype","hasOwnProperty","call","bind","u","length","n","o","a","h","create","f","d","p","w","O","compound","map","parse","name","document","j","operatorToConditionName","defaultOperatorName","mergeFinalConditions","keys","reduce","assign","fieldContext","query","hasOperators","l","useIgnoreValue","documentContext","setParse","parseField","type","parseInstruction","validate","parseFieldOperators","_","y","es6m_s","es6m_p","es6m_l","es6m_c","$","es6m_w","es6m_y","es6m_m","g","Date","es6m_O","es6m_","RegExp","$options","q","A","N","freeze","__proto__","$and","$or","$nor","$not","$elemMatch","$size","$in","$nin","$all","$mod","$exists","$gte","$gt","$lt","$lte","$eq","$ne","$regex","$where","P","slice","es6m_e","Number","isNaN","concat","dist_es6m_u","get","some","dist_es6m_c","es6m_i","lastIndexOf","dist_es6m_f","String","indexOf","split","es6m_a","dist_es6m_l","m","getInterpreterName","numberOfArguments","c","interpret","compare","dist_es6m_p","dist_es6m_m","every","dist_es6m_b","es6m_A","dist_es6m_d","dist_es6m_h","dist_es6m_j","dist_es6m_w","dist_es6m_","dist_es6m_v","dist_es6m_x","dist_es6m_O","test","es6m_N","es6m_$","es6m_q","es6m_z","M","or","nor","and","not","eq","ne","lte","lt","gt","gte","exists","mod","size","regex","within","nin","all","elemMatch","where","S","in","dist_es6m_i","getTime","toJSON","mongo2js_dist_es6m_m","mongo2js_dist_es6m_p","forPrimitives","ast","ability_dist_es6m_O","z","C","hasOwn","es6m_R","es6m_S","T","modelName","B","dist_es6m_q","L","es6m_U","priority","G","set","H","K","J","fields","fieldMatcher","conditions","conditionsMatcher","action","resolveAction","subject","inverted","reason","origin","matchesConditions","matchesField","V","prev","next","W","rules","merged","X","Map","Z","anyAction","anySubjectType","detectSubjectType","update","ability","target","possibleRulesFor","has","rulesFor","filter","actionsFor","Set","from","forEach","add","on","v","dist_es6m_N","delete","PureAbility","can","relevantRuleFor","cannot","st","nt","rt","ot","ct","ut","replace","ht","at","join","createMongoAbility","ft","F","because","AbilityBuilder","build","isAbilityClass","yt","message","Error","ForbiddenError","setDefaultMessage","captureStackTrace","setMessage","throwUnlessCan","unlessCan","subjectType","react__WEBPACK_IMPORTED_MODULE_0__","PureComponent","componentWillUnmount","forceUpdate","allowed","props","of","an","this","I","do","render","passThrough","children","defaultProps"],"sourceRoot":""}