{"version":3,"file":"angular-vue-plugins.mjs","sources":["../src/plugins/angular-vue-plain-plugin.js","../src/plugins/angular-vue-route-plugin.js","../src/plugins/angular-vue-router-plugin.js","../src/plugins/angular-vue-auth-plugin.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_root.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/isArray.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/toString.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/upperFirst.js","../node_modules/lodash/capitalize.js","../node_modules/lodash/_arrayReduce.js","../node_modules/lodash/_basePropertyOf.js","../node_modules/lodash/_deburrLetter.js","../node_modules/lodash/deburr.js","../node_modules/lodash/_asciiWords.js","../node_modules/lodash/_hasUnicodeWord.js","../node_modules/lodash/_unicodeWords.js","../node_modules/lodash/words.js","../node_modules/lodash/_createCompounder.js","../node_modules/lodash/camelCase.js","../src/libs/safe-apply.js","../src/libs/render-v-node-to-dom-element.js","../src/components/vue-ng.js","../src/libs/pascal-case.js","../src/plugins/angular-vue-plugin.js"],"sourcesContent":["\nexport default function CreateAngularVuePlainPlugin(ngServiceName, ngService) {\n\n    return {\n        // called by Vue.use(CreateAngularVuePlainPlugin)\n        install(Vue, options) {\n            if(!Vue.prototype[ngServiceName])\n                Vue.prototype[ngServiceName] = ngService;\n        }\n      }\n}","import Vue from 'Vue';\n\nexport default function AngularVueRoutePlugin($injector) {\n\n  if(!$injector)\n    $injector = Vue?.prototype?.$ngVue?.$injector;\n\n    if(!$injector)\n        throw new Error('Angular $injector not provided, cannot use AngularVueRoutePlugin plugin');\n  \n    const $location  = $injector.get('$location');\n    const $route     = $injector.get('$route');\n    const $rootScope = $injector.get('$rootScope');\n  \n    if(!$location)\n        throw new Error('Angular $location service not available, cannot use AngularVueRoutePlugin plugin');\n    if(!$route)\n        throw new Error('Angular $route service not available, cannot use AngularVueRoutePlugin');\n  \n    const observableRoute = window.Vue.observable({\n      _route : null\n    })\n  \n    function updateRoute() {\n      const fullPath = $location.url();\n      const path   = $location.path();\n      const hash   = $location.hash();\n      const query  = { ...($location.search()    || {})};\n      const params = { ...($route.current?.params|| {})};\n\n      observableRoute._route = {\n        get fullPath() { return fullPath; },\n        get path()   { return path; },\n        get hash()   { return hash ? `#${hash}` : ''; },\n        get query()  { return { ...query  }; },\n        get params() { return { ...params }; },\n      }\n    }\n  \n    $rootScope.$on('$routeUpdate',        updateRoute);\n    $rootScope.$on('$routeChangeSuccess', updateRoute);\n  \n    if(!$route.current) { // initial route (at boot time)\n      const cancelWatch = $rootScope.$watch(()=>$route.current, (currentRoute)=>{\n        if(currentRoute===undefined) return;\n        cancelWatch();\n        updateRoute();\n      });\n    }\n  \n    updateRoute();\n  \n    return {\n        install(Vue, options) {\n            if(!Vue.prototype.$route) {\n              Object.defineProperty(Vue.prototype, '$route', {\n                get () { return observableRoute._route }\n              })\n            }\n        }\n      }\n  };","import Vue from 'Vue';\n\nexport default function AngularVueRouterPlugin($injector) {\n    \n    if(!$injector)\n        $injector = Vue?.prototype?.$ngVue?.$injector;\n\n    if(!$injector)\n        throw new Error('Angular $injector not provided, cannot use AngularVueRouterPlugin plugin');\n\n    const $location = $injector.get('$location');\n    const $rootScope = $injector.get('$rootScope');\n    if(!$location)\n        throw new Error('Angular $location service not available, cannot use AngularVueRouterPlugin plugin');\n\n    const ngApply = (callback) => {\n        if($rootScope.$$phase) \n            callback();\n        else \n            $rootScope.$apply(callback);\n    } \n\n    var router ={\n        push ({path, query, hash}){\n            ngApply(() => {\n                if(path)  \n                    $location.path(path);\n                if(query) \n                    $location.search(query||{});\n                if(hash!==undefined) \n                    $location.hash((hash||'').replace(/^#/, ''));\n            });\n        },\n        replace(...args) {\n            ngApply(() => {\n                $location.replace();\n                this.push(...args);\n            });\n        }\n    }\n    return {\n        install(Vue, options) {\n            if(!Vue.prototype.$router)\n                Vue.prototype.$router = router;\n        }\n      }\n}","export default function ({ login, logout, fetchUser }={}) {\n    const state = Vue.observable({\n      user     : null,\n      userToken: null,\n    });\n  \n    const auth = {\n      get user()          { return state.user; },\n      get loggedIn()      { return !!(state.user && state?.user?.isAuthenticated); },\n      setUser(newUser)    { state.user = newUser; },\n      setUserToken(token) { state.userToken = token; },\n  \n      async login(...args)        {\n\n        if(!login) { throw new Error('\"login\" Not Implemented'); } \n\n        if(this.loggedIn) return;\n\n        return await login(...args);\n      },\n      logout()        {\n        if(!logout) { throw new Error('\"logout\" Not Implemented'); } \n\n        logout();\n      },\n      async fetchUser()     {\n        if(!fetchUser) { throw new Error('\"fetchUser\" Not Implemented'); } \n\n        const user = await fetchUser();\n        this.setUser(user);\n        return user;\n      },\n      hasScope(scopeName)      {\n        let rolesToValidate = [];\n        if (typeof scopeName === 'string') rolesToValidate = [ scopeName ];\n        else if (!Array.isArray(scopeName)) throw new Error('`scopeName` must be string or array od string');\n  \n        rolesToValidate = scopeName;\n  \n        const hasRole = rolesToValidate.find((scope) => this.user?.roles.includes(scope));\n  \n        return !!hasRole;\n      },\n      refreshTokens() { throw new Error('Not Implemented'); },\n      onError()       { throw new Error('Not Implemented'); },\n      onRedirect()    { throw new Error('Not Implemented'); },\n      strategy: {\n        token: {\n          get()      { return state.userToken; },\n          set(token) { state.userToken = token; },\n        },\n        get refreshToken() { throw new Error('Not Implemented');  },\n      },\n    };\n  \n    return {\n      install(Vue, options) {\n        if (!Vue.prototype.$auth) {\n          Object.defineProperty(Vue.prototype, '$auth', {\n            get() { return auth; },\n          });\n        }\n      },\n    };\n  }\n  ","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length,\n      result = Array(length);\n\n  while (++index < length) {\n    result[index] = iteratee(array[index], index, array);\n  }\n  return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\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 object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\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 a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var Symbol = require('./_Symbol'),\n    arrayMap = require('./_arrayMap'),\n    isArray = require('./isArray'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isArray(value)) {\n    // Recursively convert values (susceptible to call stack limits).\n    return arrayMap(value, baseToString) + '';\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n  var index = -1,\n      length = array.length;\n\n  if (start < 0) {\n    start = -start > length ? 0 : (length + start);\n  }\n  end = end > length ? length : end;\n  if (end < 0) {\n    end += length;\n  }\n  length = start > end ? 0 : ((end - start) >>> 0);\n  start >>>= 0;\n\n  var result = Array(length);\n  while (++index < length) {\n    result[index] = array[index + start];\n  }\n  return result;\n}\n\nmodule.exports = baseSlice;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n  var length = array.length;\n  end = end === undefined ? length : end;\n  return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n    rsComboMarksRange = '\\\\u0300-\\\\u036f',\n    reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n    rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n    rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n    rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange  + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n  return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n  return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n    rsComboMarksRange = '\\\\u0300-\\\\u036f',\n    reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n    rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n    rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n    rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n    rsCombo = '[' + rsComboRange + ']',\n    rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n    rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n    rsNonAstral = '[^' + rsAstralRange + ']',\n    rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n    rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n    rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n    rsOptVar = '[' + rsVarRange + ']?',\n    rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n    rsSeq = rsOptVar + reOptMod + rsOptJoin,\n    rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n  return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","var asciiToArray = require('./_asciiToArray'),\n    hasUnicode = require('./_hasUnicode'),\n    unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n  return hasUnicode(string)\n    ? unicodeToArray(string)\n    : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","var castSlice = require('./_castSlice'),\n    hasUnicode = require('./_hasUnicode'),\n    stringToArray = require('./_stringToArray'),\n    toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n  return function(string) {\n    string = toString(string);\n\n    var strSymbols = hasUnicode(string)\n      ? stringToArray(string)\n      : undefined;\n\n    var chr = strSymbols\n      ? strSymbols[0]\n      : string.charAt(0);\n\n    var trailing = strSymbols\n      ? castSlice(strSymbols, 1).join('')\n      : string.slice(1);\n\n    return chr[methodName]() + trailing;\n  };\n}\n\nmodule.exports = createCaseFirst;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","var toString = require('./toString'),\n    upperFirst = require('./upperFirst');\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n  return upperFirst(toString(string).toLowerCase());\n}\n\nmodule.exports = capitalize;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n *  the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  if (initAccum && length) {\n    accumulator = array[++index];\n  }\n  while (++index < length) {\n    accumulator = iteratee(accumulator, array[index], index, array);\n  }\n  return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n  return function(key) {\n    return object == null ? undefined : object[key];\n  };\n}\n\nmodule.exports = basePropertyOf;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n  // Latin-1 Supplement block.\n  '\\xc0': 'A',  '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n  '\\xe0': 'a',  '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n  '\\xc7': 'C',  '\\xe7': 'c',\n  '\\xd0': 'D',  '\\xf0': 'd',\n  '\\xc8': 'E',  '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n  '\\xe8': 'e',  '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n  '\\xcc': 'I',  '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n  '\\xec': 'i',  '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n  '\\xd1': 'N',  '\\xf1': 'n',\n  '\\xd2': 'O',  '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n  '\\xf2': 'o',  '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n  '\\xd9': 'U',  '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n  '\\xf9': 'u',  '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n  '\\xdd': 'Y',  '\\xfd': 'y', '\\xff': 'y',\n  '\\xc6': 'Ae', '\\xe6': 'ae',\n  '\\xde': 'Th', '\\xfe': 'th',\n  '\\xdf': 'ss',\n  // Latin Extended-A block.\n  '\\u0100': 'A',  '\\u0102': 'A', '\\u0104': 'A',\n  '\\u0101': 'a',  '\\u0103': 'a', '\\u0105': 'a',\n  '\\u0106': 'C',  '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n  '\\u0107': 'c',  '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n  '\\u010e': 'D',  '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n  '\\u0112': 'E',  '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n  '\\u0113': 'e',  '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n  '\\u011c': 'G',  '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n  '\\u011d': 'g',  '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n  '\\u0124': 'H',  '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n  '\\u0128': 'I',  '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n  '\\u0129': 'i',  '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n  '\\u0134': 'J',  '\\u0135': 'j',\n  '\\u0136': 'K',  '\\u0137': 'k', '\\u0138': 'k',\n  '\\u0139': 'L',  '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n  '\\u013a': 'l',  '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n  '\\u0143': 'N',  '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n  '\\u0144': 'n',  '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n  '\\u014c': 'O',  '\\u014e': 'O', '\\u0150': 'O',\n  '\\u014d': 'o',  '\\u014f': 'o', '\\u0151': 'o',\n  '\\u0154': 'R',  '\\u0156': 'R', '\\u0158': 'R',\n  '\\u0155': 'r',  '\\u0157': 'r', '\\u0159': 'r',\n  '\\u015a': 'S',  '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n  '\\u015b': 's',  '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n  '\\u0162': 'T',  '\\u0164': 'T', '\\u0166': 'T',\n  '\\u0163': 't',  '\\u0165': 't', '\\u0167': 't',\n  '\\u0168': 'U',  '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n  '\\u0169': 'u',  '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n  '\\u0174': 'W',  '\\u0175': 'w',\n  '\\u0176': 'Y',  '\\u0177': 'y', '\\u0178': 'Y',\n  '\\u0179': 'Z',  '\\u017b': 'Z', '\\u017d': 'Z',\n  '\\u017a': 'z',  '\\u017c': 'z', '\\u017e': 'z',\n  '\\u0132': 'IJ', '\\u0133': 'ij',\n  '\\u0152': 'Oe', '\\u0153': 'oe',\n  '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","var deburrLetter = require('./_deburrLetter'),\n    toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n    reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n    rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n    rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n  string = toString(string);\n  return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n  return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n  return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n    rsComboMarksRange = '\\\\u0300-\\\\u036f',\n    reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n    rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n    rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n    rsDingbatRange = '\\\\u2700-\\\\u27bf',\n    rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n    rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n    rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n    rsPunctuationRange = '\\\\u2000-\\\\u206f',\n    rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n    rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n    rsVarRange = '\\\\ufe0e\\\\ufe0f',\n    rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n    rsBreak = '[' + rsBreakRange + ']',\n    rsCombo = '[' + rsComboRange + ']',\n    rsDigits = '\\\\d+',\n    rsDingbat = '[' + rsDingbatRange + ']',\n    rsLower = '[' + rsLowerRange + ']',\n    rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n    rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n    rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n    rsNonAstral = '[^' + rsAstralRange + ']',\n    rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n    rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n    rsUpper = '[' + rsUpperRange + ']',\n    rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n    rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n    rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n    rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n    reOptMod = rsModifier + '?',\n    rsOptVar = '[' + rsVarRange + ']?',\n    rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n    rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n    rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n    rsSeq = rsOptVar + reOptMod + rsOptJoin,\n    rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n  rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n  rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n  rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n  rsUpper + '+' + rsOptContrUpper,\n  rsOrdUpper,\n  rsOrdLower,\n  rsDigits,\n  rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n  return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","var asciiWords = require('./_asciiWords'),\n    hasUnicodeWord = require('./_hasUnicodeWord'),\n    toString = require('./toString'),\n    unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n  string = toString(string);\n  pattern = guard ? undefined : pattern;\n\n  if (pattern === undefined) {\n    return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n  }\n  return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","var arrayReduce = require('./_arrayReduce'),\n    deburr = require('./deburr'),\n    words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n  return function(string) {\n    return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n  };\n}\n\nmodule.exports = createCompounder;\n","var capitalize = require('./capitalize'),\n    createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n  word = word.toLowerCase();\n  return result + (index ? capitalize(word) : word);\n});\n\nmodule.exports = camelCase;\n","export default function safeApply($scope, fn) {\n    var phase = $scope.$root.$$phase;\n\n    if (phase == '$apply' || phase == '$digest') {\n        fn();\n    } else {\n        $scope.$apply(fn);\n    }\n};","export default function renderVNodeToDomElement(vNode) {\n\n    const comp = new Vue({ render: () => vNode }); // create a dummy component that return the VNode from the render fn\n\n    comp.$mount() // Mount as an orphan component\n\n    const domElement = comp.$el; // Save the native DOM Element converted from VNode;\n\n    comp.$destroy();\n\n    return domElement;\n}","import angular from 'angular';\nimport camelCase from \"lodash/camelCase\";\nimport safeApply from '../libs/safe-apply';\nimport renderVNodeToDomElement from '../libs/render-v-node-to-dom-element'\n\nexport default {\n    render(h) {\n        return h(null, 'angular placeholder')\n    },\n    mounted() {\n\n        if (!this.$ngVue) throw new Error(\"AngularVuePlugin not installed\");\n\n        const { $injector } = this.$ngVue;\n\n        //lookup throughout parent tree first to find closest ngScope.... otherwise  \n        const $parentScope = angular.element(this.$el).parents('.ng-scope:first')?.scope()\n            || $injector.get('$rootScope');\n\n        const $scope = $parentScope.$new(true); // create ew isolated scope!\n        this.$scope = $scope;\n\n        Object.keys(this.$attrs).forEach(attrKey => {\n\n            const propKey = camelCase(attrKey);\n\n            console.debug(`vue(ng): initial set vue => ng (${propKey}):`, this.$attrs[attrKey]);\n\n            $scope[propKey] = this.$attrs[attrKey];\n\n            // From Vue => Angular\n            this.$watch(() => this.$attrs[attrKey], (v) => {\n\n                if ($scope.$$destroyed) return;\n\n                safeApply($scope, () => {\n\n                    if ($scope[propKey] === v) return;\n\n                    console.debug(`vue(ng): vue => ng (${propKey})`, v);\n                    $scope[propKey] = v;\n                });\n            });\n\n            // From Angular => Vue\n            $scope.$watch(() => $scope[propKey], (v) => {\n\n                if (this.$attrs[attrKey] === v) return;\n\n                console.debug(`vue(ng): ng => vue (${propKey})`, v);\n\n                this.$emit(`update:${propKey}`, v)\n            });\n        })\n\n        const domElement = renderVNodeToDomElement(this.$slots.default); // convert default slot to domElement\n        const $compile = $injector.get('$compile');\n        const bindFn = $compile(domElement);\n        const [ngElement] = bindFn($scope); //Bind to scope\n\n        ngElement.$component = this; //save current component to DOM element \n\n        //Replace this component wrapper (this.$el) in the browser DOM with the angular one (ngElement) \n        this.$el.parentElement.replaceChild(ngElement, this.$el);\n    },\n    beforeDestroy() {\n\n        const { $scope } = this;\n\n        if ($scope) {\n            console.debug('vue(ng): destroying ng-scope', $scope)\n            delete this.$scope;\n            $scope.$destroy()\n        }\n    }\n}","import camelCase from \"lodash/camelCase\";\n\nexport default function pascalCase(t) {\n  t = camelCase(t);\n\n  if(t) t = t[0].toUpperCase() + t.slice(1);\n\n  return t;\n};\n\n","import angular from 'angular';\nimport AngularVueComponent from \"../components/vue-ng.js\";\nimport pascalCase from '../libs/pascal-case.js';\n\nexport default function AngularVuePlugin({ $injector, ngApp, vueApp }) {\n\n  // if(!$injector)\n  //     throw new Error('Angular $injector not provided, cannot use AngularVuePlugin plugin');\n\n  const ngVuePlugin = {\n    get $injector()   { return $injector || angular.injector(); },\n    get vueApp()      { return vueApp; },\n    get ngApp()       { return ngApp; },\n  }\n\n  return {\n\n    install(Vue, options) {\n        if(!Vue.prototype.$ngVue) {\n\n          const { vueNgName } = options || {};\n\n          Vue.component(pascalCase(vueNgName || 'VueNg'), AngularVueComponent)\n\n          Object.defineProperty(Vue.prototype, '$ngVue', {\n            get () { return ngVuePlugin }\n          })\n        }\n    }\n  };\n}\n"],"names":["CreateAngularVuePlainPlugin","ngServiceName","ngService","install","Vue","options","prototype","AngularVueRoutePlugin","$injector","$ngVue","Error","$location","get","$route","$rootScope","observableRoute","window","observable","_route","updateRoute","fullPath","url","path","hash","query","search","params","current","$on","cancelWatch","$watch","currentRoute","undefined","Object","defineProperty","AngularVueRouterPlugin","ngApply","callback","$$phase","$apply","router","push","replace","args","$router","angularVueAuthPlugin","login","logout","fetchUser","state","user","userToken","auth","loggedIn","isAuthenticated","setUser","newUser","setUserToken","token","hasScope","scopeName","rolesToValidate","Array","isArray","hasRole","find","scope","roles","includes","refreshTokens","onError","onRedirect","strategy","set","refreshToken","$auth","freeGlobal","global","_freeGlobal","require$$0","freeSelf","self","root","Function","_root","Symbol","_Symbol","arrayMap","array","iteratee","index","length","result","_arrayMap","isArray_1","objectProto","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","getRawTag","value","isOwn","call","tag","unmasked","e","_getRawTag","objectToString","_objectToString","require$$1","require$$2","nullTag","undefinedTag","baseGetTag","_baseGetTag","isObjectLike","isObjectLike_1","symbolTag","isSymbol","isSymbol_1","require$$3","INFINITY","symbolProto","symbolToString","baseToString","_baseToString","toString_1","baseSlice","start","end","_baseSlice","castSlice","_castSlice","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsVarRange","rsZWJ","reHasUnicode","RegExp","hasUnicode","string","test","_hasUnicode","asciiToArray","split","_asciiToArray","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsOptJoin","join","rsSeq","rsSymbol","reUnicode","unicodeToArray","match","_unicodeToArray","stringToArray","_stringToArray","createCaseFirst","methodName","strSymbols","chr","charAt","trailing","slice","_createCaseFirst","upperFirst","upperFirst_1","capitalize","toLowerCase","capitalize_1","arrayReduce","accumulator","initAccum","_arrayReduce","basePropertyOf","object","key","_basePropertyOf","deburredLetters","deburrLetter","_deburrLetter","reLatin","reComboMark","deburr","deburr_1","reAsciiWord","asciiWords","_asciiWords","reHasUnicodeWord","hasUnicodeWord","_hasUnicodeWord","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsBreakRange","rsApos","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","rsOrdLower","rsOrdUpper","rsEmoji","reUnicodeWord","unicodeWords","_unicodeWords","words","pattern","guard","words_1","reApos","createCompounder","_createCompounder","camelCase","word","camelCase_1","safeApply","$scope","fn","phase","$root","renderVNodeToDomElement","vNode","comp","render","$mount","domElement","$el","$destroy","AngularVueComponent","h","mounted","$parentScope","angular","element","parents","$new","keys","$attrs","forEach","attrKey","propKey","console","debug","v","$$destroyed","$emit","$slots","default","$compile","bindFn","ngElement","$component","parentElement","replaceChild","beforeDestroy","pascalCase","t","toUpperCase","AngularVuePlugin","ngApp","vueApp","ngVuePlugin","injector","vueNgName","component"],"mappings":"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G,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC1E,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC1E,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAC7B,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC5C,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC1E,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC1E,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC3D,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC3D,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC5C,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC5C,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC5C,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC5C,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC3D,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC3D,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC5C,QAAQ,EAAE,GAAG;EAAG,QAAQ,EAAE,GAAG;EAAE,QAAQ,EAAE,GAAG;EAC5C,QAAQ,EAAE,GAAG;EAAG,QA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"}