@infrab4a/connect 1.0.0-beta.6 → 1.0.0-beta.7
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infrab4a-connect.umd.js","sources":["../../../projects/connect/src/domain/general/model/base.model.ts","../../../projects/connect/src/domain/general/repository/enums/where.enum.ts","../../../projects/connect/src/domain/general/repository/enums/update-option-actions.enum.ts","../../../projects/connect/src/domain/users/models/enums/accessory-importances.enum.ts","../../../projects/connect/src/domain/users/models/enums/area.enum.ts","../../../projects/connect/src/domain/users/models/enums/beard-problems.enum.ts","../../../projects/connect/src/domain/users/models/enums/beard-sizes.enum.ts","../../../projects/connect/src/domain/users/models/enums/beauty-product-importances.enum.ts","../../../projects/connect/src/domain/users/models/enums/body-problems.enum.ts","../../../projects/connect/src/domain/users/models/enums/body-shapes.enum.ts","../../../projects/connect/src/domain/users/models/enums/body-tattoos.enum.ts","../../../projects/connect/src/domain/users/models/enums/face-skin-oilinesses.enum.ts","../../../projects/connect/src/domain/users/models/enums/face-skin-problems.enum.ts","../../../projects/connect/src/domain/users/models/enums/face-skin-tones.enum.ts","../../../projects/connect/src/domain/users/models/enums/family-incomes.enum.ts","../../../projects/connect/src/domain/users/models/enums/fragrance-importances.enum.ts","../../../projects/connect/src/domain/users/models/enums/hair-colors.enum.ts","../../../projects/connect/src/domain/users/models/enums/hair-problems.enum.ts","../../../projects/connect/src/domain/users/models/enums/hair-strands.enum.ts","../../../projects/connect/src/domain/users/models/enums/hair-types.enum.ts","../../../projects/connect/src/domain/users/models/enums/office-position.enum.ts","../../../projects/connect/src/domain/users/models/enums/product-spents.enum.ts","../../../projects/connect/src/domain/users/models/enums/user-type.enum.ts","../../../projects/connect/src/domain/users/models/subscription/enums/billing-status.enum.ts","../../../projects/connect/src/domain/users/models/subscription/enums/edition-status.enum.ts","../../../projects/connect/src/domain/users/models/subscription/enums/payment-type.enum.ts","../../../projects/connect/src/domain/users/models/subscription/enums/status.enum.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/connect/src/domain/users/models/subscription/edition.ts","../../../projects/connect/src/domain/shopping/models/payment.ts","../../../projects/connect/src/domain/users/models/subscription/payment.ts","../../../projects/connect/src/domain/location/models/address.ts","../../../projects/connect/src/utils/mixins/base.mixin.ts","../../../projects/connect/src/domain/shopping/models/coupons/enums/discount-type.enum.ts","../../../projects/connect/src/domain/shopping/models/coupons/enums/exclusivities.enum.ts","../../../projects/connect/src/domain/shopping/models/coupons/coupon.ts","../../../projects/connect/src/domain/shopping/models/subscription/plan.ts","../../../projects/connect/src/domain/users/models/beauty-profile.ts","../../../projects/connect/src/domain/users/models/user.ts","../../../projects/connect/src/domain/users/models/subscription/subscription.ts","../../../projects/connect/src/domain/users/models/user-address.ts","../../../projects/connect/src/domain/users/models/user-payment-method.ts","../../../projects/connect/src/domain/users/models/lead.ts","../../../projects/connect/src/domain/users/errors/unauthorized.error.ts","../../../projects/connect/src/domain/users/use-cases/authentication.ts","../../../projects/connect/src/domain/users/errors/user-already-registered.error.ts","../../../projects/connect/src/domain/users/errors/weak-password.error.ts","../../../projects/connect/src/domain/users/use-cases/register.ts","../../../projects/connect/src/domain/users/use-cases/signout.ts","../../../projects/connect/src/domain/users/use-cases/recovery-password.ts","../../../projects/connect/src/domain/catalog/models/enums/shops.enum.ts","../../../projects/connect/src/domain/catalog/models/category.ts","../../../projects/connect/src/domain/catalog/models/product.ts","../../../projects/connect/src/domain/catalog/models/variant.ts","../../../projects/connect/src/domain/shopping/models/enums/checkout-types.enum.ts","../../../projects/connect/src/domain/shopping/models/coupons/club-coupon.ts","../../../projects/connect/src/domain/shopping/models/coupons/store-coupon.ts","../../../projects/connect/src/domain/shopping/models/enums/order-status.enum.ts","../../../projects/connect/src/domain/shopping/models/line-item.ts","../../../projects/connect/src/domain/shopping/models/shipping-method.ts","../../../projects/connect/src/domain/shopping/models/checkout.ts","../../../projects/connect/src/domain/shopping/models/order.ts","../../../projects/connect/src/domain/shopping/models/subscription/checkout.ts","../../../projects/connect/src/domain/shopping/models/buy-2-win.ts","../../../projects/connect/src/domain/shop-settings/enums/filter-type.enum.ts","../../../projects/connect/src/domain/shop-settings/enums/questions-filters.enum.ts","../../../projects/connect/src/domain/shop-settings/helpers/beauty-questions.helper.ts","../../../projects/connect/src/domain/shop-settings/models/home.ts","../../../projects/connect/src/domain/shop-settings/models/shop-menu.ts","../../../projects/connect/src/errors/invalid-argument.error.ts","../../../projects/connect/src/errors/required-argument.error.ts","../../../projects/connect/src/errors/not-found.error.ts","../../../projects/connect/src/errors/duplicated-results.error.ts","../../../projects/connect/src/infra/elasticsearch/adapters/axios.adapter.ts","../../../projects/connect/src/infra/elasticsearch/indexes/products-index.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-helpers.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-get-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-find-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-create-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-update-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-delete-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-sub-collection.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-crud-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/subscription-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/models/user-search.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/user-search-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/user-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/user-address-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/lead-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/catalog/category-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/order-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.ts","../../../projects/connect/src/infra/firebase/auth/authentication-firebase-auth.service.ts","../../../projects/connect/src/infra/firebase/auth/register-firebase-auth.service.ts","../../../projects/connect/src/infrab4a-connect.ts"],"sourcesContent":["import { plainToClass, classToPlain } from 'class-transformer'\n\nimport { NonFunctionProperties } from './types/non-function-properties.type'\n\nexport class BaseModel<Model> {\n constructor(args?: Partial<Model>) {\n Object.assign(this, args)\n }\n\n static toInstance<T>(this: new () => Partial<T>, data: NonFunctionProperties<T>): T {\n return plainToClass(this, data) as any\n }\n\n toPlain(): any {\n return classToPlain(this, { exposeUnsetFields: false })\n }\n}\n","export enum Where {\n EQUALS = '==',\n NOTEQUALS = '!=',\n GT = '>',\n GTE = '>=',\n IN = 'in',\n LT = '<',\n LTE = '<=',\n LIKE = 'like',\n}\n","export enum UpdateOptionActions {\n UPDATE = 'update',\n MERGE = 'merge',\n REMOVE = 'remove',\n REMOVE_FIELD = 'removeField',\n NULL = 'null',\n}\n","export enum AccessoryImportances {\n NOT_INTERESTED = 'Não tenho interesse',\n LIKE_RARELY_USE = 'Gosto, mas uso poucos',\n LIKE_ALWAYS_FOLLOW_FASHION = 'Gosto muito de acessórios e sempre procuro acompanhar a moda',\n}\n","export enum Area {\n GP = 'Geral',\n CRM = 'CRM',\n MediaProd = 'Media Production',\n Tech = 'Tecnologia',\n Transactional = 'Transacional',\n Operations = 'Opera\\u00E7\\u00F5es',\n Sales = 'Comercial',\n Finantial = 'Financeiro',\n HR = 'RH',\n}\n","export enum BeardProblems {\n NO_PROBLEMS = 'Sem problemas',\n DRY = 'Barba Seca',\n OILY = 'Barba Oleaosa',\n DANCRUFF = 'Barba com Caspa',\n INGROWN_HAIRS = 'Pêlos Encravados',\n DOESNT_GROW = 'Não Cresce',\n SPARSE_BEARD = 'Barba Rala',\n}\n","export enum BeardSizes {\n BIG = 'Grande',\n MEDIUM = 'Média',\n SHORT = 'Curta',\n MUSTACHE = 'Bigode',\n NOTHING = 'Sem Barba',\n}\n","export enum BeautyProductImportances {\n KNOW_LITTLE_ABOUT = 'Conheço bem pouco de produtos de beleza e rotinas de cuidados',\n ALREADY_BOUGHT_NOTHING_SPECIALIZED = 'Já comprei alguns produtos básicos para cuidar de mim, mas nada muito especializado',\n GOOD_CARE_MYSELF = 'Me considero um homem que se cuida bem. Conheço sobre produtos especializados e me preocupo em ter uma rotina de cuidados',\n PERSONAL_CARE_EXPERT = 'Sou um expert em cuidados pessoais',\n}\n","export enum BodyProblems {\n NO_WORRIES = 'Sem preocupações',\n FLACCIDITY = 'Flacidez',\n LOCALIZED_FAT = 'Gordura Localizada',\n STRETCH_MARKS = 'Estrias',\n SENSITIVE_SKIN = 'Pele Sensível',\n DRY_SKIN = 'Pele Seca',\n OILY_ACNE = 'Oleosa/Acne',\n SKIN_FRECKLES = 'Pele com Sardas',\n PHOTOSENSITIVE_SKIN = 'Pele Fotossensível',\n}\n","export enum BodyShapes {\n LEAN = 'Magro',\n REGULAR = 'Regular',\n OVERWEIGHT = 'Acima do Peso',\n ATHLETIC = 'Atlético',\n MUSCULAR = 'Musculoso',\n}\n","export enum BodyTattoos {\n NONE = 'Nenhuma',\n HAS_DOESNT_CARE = 'Tenho mas não cuido',\n HAS_CARE_LOT = 'Tenho e cuido bastante',\n}\n","export enum FaceSkinOilinesses {\n DRY = 'Seca',\n OILY = 'Oleaosa',\n MIXED = 'Mista',\n NORMAL = 'Normal',\n DONT_KNOW = 'Eu não sei como dizer',\n}\n","export enum FaceSkinProblems {\n NO_PROBLEMS = 'Sem problemas',\n DARK_CIRCLES = 'Olheiras',\n WRINKLES = 'Rugas',\n BLACKHEADS_PIMPLES = 'Cravos e Espinhas',\n STAINS = 'Manchas',\n FRECKLES = 'Sardas',\n SENSITIVE = 'Sensível',\n PHOTOSENSITIVE = 'Fotossensível',\n}\n","export enum FaceSkinTones {\n VERY_CLEAR = 'Muito Clara',\n CLEAR = 'Clara',\n MEDIUM_LIGHT = 'Clara Média',\n MEDIUM_DARK = 'Escura Média',\n DARK = 'Escura',\n VERY_DARK = 'Muito Escura',\n}\n","export enum FamilyIncomes {\n UNTIL_3000 = 'Até R$3.000',\n SINCE_3001_TO_7000 = 'De R$3.001 a R$7.000',\n SINCE_7001_TO_10000 = 'De R$7.001 a R$10.000',\n SINCE_10001_TO_15000 = 'De R$10.001 a R$15.000',\n GRAN_THAN_15000 = 'Mais de R$15.000',\n NOW_ANSWER = 'Prefiro nao responder',\n}\n","export enum FragranceImportances {\n NOT_INTERESTED = 'Não tenho interesse',\n LIKE_ALWAYS_USE_SAME = 'Gosto de perfumes, mas uso sempre os mesmos',\n LIKE_INNOVATE = 'Gosto de inovar e conhecer novas fragrâncias',\n}\n","export enum HairColors {\n BLACK = 'Preto',\n DARK_BROWN = 'Castanho Escuro',\n LIGHT_BROWN = 'Castanho Claro',\n DARK_BLONDE = 'Loiro Escuro',\n LIGHT_BLONDE = 'Loiro Claro',\n WHITE_GRAY = 'Branco/Grisalho',\n REDHEAD = 'Ruivo',\n OTHER = 'RuiOutroo',\n}\n","export enum HairProblems {\n NO_PROBLEMS = 'Sem problemas',\n DANCRUFF = 'Caspa',\n LOSS = 'Queda',\n OILY = 'Oleosidade',\n DRYNESS = 'Ressecamento',\n CHEMICAL = 'Quimica',\n WHITE_HAIR = 'Cabelos Brancos',\n REBEL_WIRES = 'Fios Rebeldes',\n}\n","export enum HairStrands {\n NORMAL = 'Fio Normal',\n DRY = 'Fio Seco',\n OILY = 'Fio Oleoso',\n MIXED = 'Fio Misto',\n FINE = 'Fio Fino',\n THICK = 'Fio Grosso',\n}\n","export enum HairTypes {\n Smooth = 'Liso',\n WAVY = 'Ondulado',\n CURLY = 'Cacheado',\n FRIZZY = 'Crespo',\n BALD = 'Sou careca',\n}\n","export enum OfficePosition {\n Intern = 'Estagi\\u00E1rio',\n Analyst = 'Analista',\n Manager = 'Gerente',\n Director = 'Diretor',\n}\n","export enum ProductSpents {\n UNTIL_50 = 'Até R$50',\n SINCE_51_TO_100 = 'De R$51 a R$100',\n SINCE_101_TO_200 = 'De R$101 a R$200',\n SINCE_201_TO_300 = 'De R$201 a R$300',\n GRAN_THAN_300 = 'Mais de R$300',\n NOW_ANSWER = 'Prefiro nao responder',\n}\n","export enum UserType {\n B2C = 'Cliente Transacional',\n GlamGirl = 'Glamgirl',\n MensBoy = 'Mensboy',\n B2B = 'Company',\n Collaborator = 'Funcionário',\n Influencer = 'Influencer',\n}\n","export enum BillingStatus {\n PAYED = 'PAGO',\n}\n","export enum EditionStatus {\n ALLOCATION_WAITING = 'Aguardando alocação',\n SHIPPED = 'Enviado',\n}\n","export enum PaymentType {\n AQUISITION = 'Aquisição',\n RENEWAL = 'Renovação',\n FREIGHT = 'mudança de endereço, Frete',\n}\n","export enum Status {\n ACTIVE = 'active',\n CANCELLED = 'Cancelado',\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { BaseModel } from '../../../general/model/base.model'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../../general/model/types/non-function-property-name.type'\n\nimport { EditionStatus, BillingStatus } from './enums'\n\nexport class Edition extends BaseModel<Edition> implements IdentifierFields<Edition> {\n id: string\n subscriptionId: string\n billingStatus: BillingStatus\n editionId: number\n editionStatus: EditionStatus\n installment: number\n paymentId: string\n draftId?: string\n createdAt: Date\n updatedAt: Date\n\n identifierFields(): NonFunctionPropertyNames<Edition>[] {\n return ['id']\n }\n}\n","import { Expose } from 'class-transformer'\n\nimport { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types'\n\nimport { PaymentBilling, PaymentCard, PaymentCustomer, PaymentItem, PaymentShipping } from './types'\n\nexport class Payment extends BaseModel<Payment> implements IdentifierFields<Payment> {\n id: number\n object: string\n status: string\n tid: number\n nsu: number\n amount: number\n cost: number\n installments: number\n referer: string\n ip: string\n phone: string\n address: string\n metadata: any\n device: string\n payment: string\n addition: string\n discount: string\n customer: PaymentCustomer\n billing: PaymentBilling\n shipping: PaymentShipping\n items: PaymentItem[]\n card: PaymentCard\n\n @Expose({ name: 'refuse_reason' })\n refuseReason: string\n @Expose({ name: 'status_reason' })\n statusReason: string\n @Expose({ name: 'acquirer_response_code' })\n acquirerResponseCode: string\n @Expose({ name: 'acquirer_name' })\n acquirerName: string\n @Expose({ name: 'acquirer_id' })\n acquirerId: string\n @Expose({ name: 'authorization_code' })\n authorizationCode: string\n @Expose({ name: 'soft_descriptor' })\n softDescriptor: string\n @Expose({ name: 'date_created' })\n dateCreated: string\n @Expose({ name: 'date_updated' })\n dateUpdated: string\n @Expose({ name: 'authorized_amount' })\n authorizedAmount: number\n @Expose({ name: 'paid_amount' })\n paidAmount: number\n @Expose({ name: 'refunded_amount' })\n refundedAmount: number\n @Expose({ name: 'card_holder_name' })\n cardHolderName: string\n @Expose({ name: 'card_last_digits' })\n cardLastDigits: string\n @Expose({ name: 'card_first_digits' })\n cardFirstDigits: string\n @Expose({ name: 'card_brand' })\n cardBrand: string\n @Expose({ name: 'card_pin_mode' })\n cardPinMode: string\n @Expose({ name: 'card_magstripe_fallback' })\n cardMagstripeFallback: boolean\n @Expose({ name: 'cvm_pin' })\n cvmPin: boolean\n @Expose({ name: 'postback_url' })\n postbackUrl: string\n @Expose({ name: 'payment_method' })\n paymentMethod: string\n @Expose({ name: 'capture_method' })\n captureMethod: string\n @Expose({ name: 'antifraud_score' })\n antifraudScore: string\n @Expose({ name: 'boleto_url' })\n boletoUrl: string\n @Expose({ name: 'boleto_barcode' })\n boletoBarcode: string\n @Expose({ name: 'boleto_expiration_date' })\n boletoExpirationDate: string\n @Expose({ name: 'subscription_id' })\n subscriptionId: string\n @Expose({ name: 'split_rules' })\n splitRules: string\n @Expose({ name: 'antifraud_metadata' })\n antifraudMetadata: any\n @Expose({ name: 'reference_key' })\n referenceKey: string\n @Expose({ name: 'local_transaction_id' })\n localTransactionId: string\n @Expose({ name: 'local_time' })\n localTime: string\n @Expose({ name: 'fraud_covered' })\n fraudCovered: boolean\n @Expose({ name: 'fraud_reimbursed' })\n fraudReimbursed: string\n @Expose({ name: 'order_id' })\n orderId: string\n @Expose({ name: 'risk_level' })\n riskLevel: string\n @Expose({ name: 'receipt_url' })\n receiptUrl: string\n @Expose({ name: 'private_label' })\n privateLabel: string\n @Expose({ name: 'pix_qr_code' })\n pixQrCode: string\n @Expose({ name: 'pix_expiration_date' })\n pixExpirationDate: string\n\n identifierFields(): NonFunctionPropertyNames<Payment>[] {\n return ['id']\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { BaseModel } from '../../../general/model/base.model'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../../general/model/types'\nimport { Payment } from '../../../shopping/models/payment'\n\nimport { PaymentType } from './enums/payment-type.enum'\n\nexport class SubscriptionPayment\n extends BaseModel<SubscriptionPayment>\n implements IdentifierFields<SubscriptionPayment>\n{\n id: string\n subscriptionId: string\n paymentType: PaymentType\n createdAt: Date\n attempts?: number\n\n @Type(() => Payment)\n payment: Payment\n\n identifierFields(): NonFunctionPropertyNames<SubscriptionPayment>[] {\n return ['id']\n }\n}\n","import { BaseModel } from '../../general/model/base.model'\n\nimport { LocationGeometry } from './types/location-geometry.type'\n\nexport abstract class Address extends BaseModel<Address> {\n default?: boolean\n recipient?: string\n zip?: string\n street?: string\n number?: string\n extension?: string\n district?: string\n city?: string\n regionalPole?: string\n region?: string\n state?: string\n country?: string\n mailbox?: boolean\n mailboxNumber?: string\n formattedAddress?: string\n placeId?: string\n geometry?: LocationGeometry\n}\n","export class Base {\n constructor(...args: Array<any>) {\n Object.assign(this, ...args)\n }\n}\n","export enum DiscountType {\n ABSOLUTE = 1,\n PERCENTAGE = 2,\n FREE_SHIPPING = 3,\n}\n","export enum Exclusivities {\n ALL_USERS = 1,\n SPECIFIC_USER = 2,\n COLLABORATORS = 3,\n}\n","import { Expose } from 'class-transformer'\n\nimport { BaseModel } from '../../../general/model/base.model'\nimport { CheckoutTypes } from '../enums/checkout-types.enum'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { isNil } from '../../../../utils'\nimport { NonFunctionPropertyNames } from '../../../general/model/types'\nimport { Shops } from '../../../catalog/models/enums/shops.enum'\n\nimport { DiscountType, Exclusivities } from './enums'\n\nexport class Coupon<CouponSubType extends Coupon = any>\n extends BaseModel<CouponSubType>\n implements IdentifierFields<Coupon>\n{\n id: string\n name: string\n nickname: string\n expiresAt: Date\n beginAt: Date\n discountType: DiscountType\n discount?: number\n useLimit?: number\n quantityPerUser?: number\n shopAvailability: Shops\n personId?: number\n influencerEmail?: string\n recipient?: string\n createdAt: Date\n updatedAt?: Date\n\n @Expose({ name: 'checkout_type' })\n checkoutType: CheckoutTypes\n @Expose({ name: 'exclusivity_type' })\n exclusivityType?: Exclusivities\n\n get isInfluencer(): boolean {\n return !isNil(this.influencerEmail)\n }\n\n identifierFields(): NonFunctionPropertyNames<Coupon>[] {\n return ['id']\n }\n\n calculeDiscount(amount: number): number {\n switch (this.discountType) {\n case DiscountType.ABSOLUTE:\n return this.discount < amount ? this.discount : amount\n case DiscountType.PERCENTAGE:\n return this.discount * 0.01 * amount\n }\n }\n}\n","import { BaseModel } from '../../../general/model/base.model'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../../general/model/types'\n\nexport class SubscriptionPlan extends BaseModel<SubscriptionPlan> implements IdentifierFields<SubscriptionPlan> {\n id: string\n name: string\n billingPrice: number\n recurrencePrice: number\n recurrenceCycle: number\n maxAttempts: number\n\n identifierFields(): NonFunctionPropertyNames<SubscriptionPlan>[] {\n return ['id']\n }\n}\n","import { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types/non-function-property-name.type'\n\nimport { BeardSizes, HairTypes } from './enums'\n\nexport class BeautyProfile extends BaseModel<BeautyProfile> implements IdentifierFields<BeautyProfile> {\n id: string\n userId: string\n beardSize?: BeardSizes\n hairType?: HairTypes\n\n toPlain(): any {\n const plain = super.toPlain()\n\n delete plain.id\n\n return plain\n }\n\n identifierFields(): NonFunctionPropertyNames<BeautyProfile>[] {\n return ['id']\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { isNil } from '../../../utils'\nimport { NonFunctionProperties, NonFunctionPropertyNames } from '../../general/model/types'\n\nimport { Area, OfficePosition, UserType } from './enums'\nimport { BeautyProfile } from './beauty-profile'\n\nexport class User extends BaseModel<User> implements IdentifierFields<User> {\n id: string\n cpf?: string\n email: string\n firstName: string\n lastName: string\n displayName?: string\n phone: string\n birthday?: Date\n acceptsNewsletter: boolean\n type?: UserType\n area?: Area\n officePosition?: OfficePosition\n isSubscriber?: boolean\n subscriptionPlan?: string\n\n @Type(() => BeautyProfile)\n beautyProfile?: BeautyProfile\n\n static toInstance<T>(this: new () => Partial<T>, data: NonFunctionProperties<T> & NonFunctionProperties<User>): T {\n const instance = super.toInstance<User>(data)\n\n if (!isNil(data.firstName))\n instance.displayName = `${data.firstName}${!isNil(data.lastName) ? ` ${data.lastName}` : ''}`\n\n return instance as any\n }\n\n identifierFields(): NonFunctionPropertyNames<User>[] {\n return ['id']\n }\n\n toPlain(): any {\n const plain = super.toPlain()\n\n delete plain.beautyProfile\n\n return plain\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { Address } from '../../../location/models/address'\nimport { BaseModel } from '../../../general/model/base.model'\nimport { Coupon } from '../../../shopping/models/coupons/coupon'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../../general/model/types/non-function-property-name.type'\nimport { SubscriptionPlan } from '../../../shopping/models/subscription/plan'\nimport { User } from '../user'\n\nimport { Edition } from './edition'\nimport { Status } from './enums/status.enum'\nimport { SubscriptionPayment } from './payment'\n\nexport class Subscription extends BaseModel<Subscription> implements IdentifierFields<Subscription> {\n id: string\n nextPayment: Date\n recurrence: boolean\n status: Status\n cardToken: string\n subtotalPrice?: number\n discount?: number\n totalPrice?: number\n createdAt: Date\n updatedAt: Date\n\n @Type(() => User)\n user: User\n @Type(() => SubscriptionPlan)\n subscriptionPlan: SubscriptionPlan\n @Type(() => Address)\n shippingAddress: Address\n @Type(() => Address)\n billingAddress?: Address\n @Type(() => Coupon)\n coupon?: Coupon\n @Type(() => Edition)\n editions: Edition[]\n @Type(() => SubscriptionPayment)\n payment?: SubscriptionPayment[]\n\n identifierFields(): NonFunctionPropertyNames<Subscription>[] {\n return ['id']\n }\n}\n","import { Address } from '../../location/models/address'\nimport { NonFunctionPropertyNames } from '../../general/model/types/non-function-property-name.type'\n\nexport class UserAddress extends Address {\n id: string\n userId: string\n\n identifierFields(): NonFunctionPropertyNames<UserAddress>[] {\n return ['id']\n }\n}\n","import { BaseModel } from '../../general/model/base.model'\nimport { NonFunctionPropertyNames } from '../../general/model/types/non-function-property-name.type'\n\nexport class UserPaymentMethod extends BaseModel<UserPaymentMethod> {\n brand: string\n cpf: string\n holderName: string\n last4: string\n pagarmeToken: string\n validUntil: string\n userId: string\n id: string\n fingerprint: string\n\n identifierFields(): NonFunctionPropertyNames<UserPaymentMethod>[] {\n return ['id']\n }\n}\n","import { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types'\n\nexport class Lead extends BaseModel<Lead> implements IdentifierFields<Lead> {\n id: string\n acceptsNewsletter: boolean\n email: string\n\n identifierFields(): NonFunctionPropertyNames<Lead>[] {\n return ['id']\n }\n}\n","export class UnauthorizedError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","import { Area, OfficePosition, User, UserType } from '../models'\nimport { AuthenticationService } from '../services/authentication.service'\nimport { isNil } from '../../../utils'\nimport { UnauthorizedError } from '../errors/unauthorized.error'\nimport { UserRepository } from '../repositories/user.repository'\n\nexport enum SignInMethods {\n EMAIL_PASSWORD = 'email_password',\n GOOGLE = 'google',\n}\n\ntype SignInMethod = Lowercase<keyof typeof SignInMethods>\n\ntype SignInParams = {\n email?: string\n password?: string\n}\n\nexport class Authentication {\n constructor(private readonly authService: AuthenticationService, private readonly userRepository: UserRepository) {}\n\n async signIn({ email, password }: SignInParams, signInMethod: SignInMethod): Promise<User> {\n const method = this.getServiceByMethod(signInMethod)\n const userAuth = await this.authService[method]({ email, password })\n const user = this.userRepository.get(userAuth)\n\n if (!isNil(user)) return user\n if (/^.+@b4a.com.br$/.test(userAuth.email)) return this.createsUserByCredential(userAuth)\n\n throw new UnauthorizedError('Invalid credentials')\n }\n\n private getServiceByMethod(signInMethod: SignInMethod): string {\n return signInMethod === SignInMethods.EMAIL_PASSWORD ? 'signInWithEmailAndPassword' : 'signInWithGoogle'\n }\n\n private async createsUserByCredential(user: Partial<User>): Promise<User> {\n const [firstName, lastName] = user.displayName?.split(/\\s/)\n const person = User.toInstance({\n ...user,\n cpf: '',\n birthday: new Date(),\n firstName,\n lastName,\n acceptsNewsletter: false,\n area: Area.Transactional,\n officePosition: OfficePosition.Intern,\n type: UserType.Collaborator,\n })\n\n return this.userRepository.create(person)\n }\n}\n","export class UserAlreadyRegisteredError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","export class WeakPasswordError extends Error {\n constructor(readonly message = 'Weak password') {\n super(message)\n }\n}\n","import { User, UserType } from '../models'\nimport { RegisterService } from '../services/register.service'\nimport { UserAlreadyRegisteredError } from '../errors'\nimport { UserRepository } from '../repositories/user.repository'\n\ntype RegisterParams = Partial<User> & { password: string }\n\nexport class Register {\n constructor(private readonly registerService: RegisterService, private readonly userRepository: UserRepository) {}\n\n async register(params: RegisterParams): Promise<User> {\n const email = params.email.toLocaleLowerCase()\n const displayName = `${params.firstName} ${params.lastName}`\n\n if (await this.userRepository.checkIfExistsByField('cpf', params.cpf))\n throw new UserAlreadyRegisteredError(`Usuário com CPF ${params.cpf} já registrado.`)\n if (await this.userRepository.checkIfExistsByField('email', params.email))\n throw new UserAlreadyRegisteredError(`Usuário com e-mail ${params.email} já registrado.`)\n\n const auth = await this.registerService.register({\n birthday: params.birthday,\n email,\n firstName: params.firstName,\n lastName: params.lastName,\n cpf: params.cpf,\n displayName,\n phone: params.phone,\n password: params.password,\n })\n\n delete params.password\n\n const user = await this.userRepository.create({\n ...params,\n id: auth.id,\n email,\n displayName,\n type: UserType.B2C,\n dateCreated: new Date(),\n dateModified: new Date(),\n })\n\n return user\n }\n}\n","import { AuthenticationService } from '../services/authentication.service'\n\nexport class SignOut {\n constructor(private readonly authService: AuthenticationService) {}\n\n async signOut(): Promise<void> {\n await this.authService.signOut()\n }\n}\n","import { AuthenticationService } from '../services/authentication.service'\n\nexport class RecoveryPassword {\n constructor(private readonly authService: AuthenticationService) {}\n\n async sendEmail(email: string): Promise<void> {\n await this.authService.sendPasswordResetEmail(email)\n }\n}\n","export enum Shops {\n MENSMARKET = `mensmarket`,\n GLAMSHOP = 'Glamshop',\n GLAMPOINTS = 'Glampoints'\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model'\nimport { Shops } from './enums'\n\nimport { CategoryCondition, CategoryFilter } from './types'\n\nexport class Category extends BaseModel<Category> implements IdentifierFields<Category> {\n id: string\n brandCategory: boolean\n brandLogo?: string\n name: string\n slug: string\n image?: string\n brandCategoryBanner?: string\n brandCategoryBannerMobile?: string\n description: string\n conditions?: CategoryCondition\n products?: string[]\n filters?: CategoryFilter[]\n createdAt: Date\n updatedAt: Date\n shop: Shops\n published: boolean\n\n identifierFields(): NonFunctionPropertyNames<Category>[] {\n return ['id']\n }\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model'\n\nimport { Shops } from './enums/shops.enum'\nimport { ProductReview, ShopDescription, ShopPrice, ShopsDescription, ShopsPrice, Stock } from './types'\nimport { Variant } from './variant'\n\nexport class Product extends BaseModel<Product> implements IdentifierFields<Product> {\n id: string\n name: string\n slug: string\n shopAvailability: Shops[]\n description: ShopsDescription\n sku: string\n price: ShopsPrice\n hasVariants: boolean\n NCM: string\n EAN: string\n CEST: string\n weight: number\n stock: Stock\n costPrice: number\n images?: string[]\n miniatures?: string[]\n published: boolean\n publishedGlam: boolean\n createdAt: Date\n updatedAt: Date\n brand: string\n tags?: string[]\n type?: string\n categories?: string[]\n reviews?: ProductReview[]\n variant?: Variant\n video?: string\n\n identifierFields(): NonFunctionPropertyNames<Product>[] {\n return ['id']\n }\n\n getInfoByShop(shop: Shops): ShopDescription & ShopPrice & Stock {\n return {\n ...(this.description?.[shop]?.description ? { description: this.description?.[shop]?.description } : {}),\n ...(this.price?.[shop] || {}),\n ...(this.stock?.[shop] || {}),\n }\n }\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model'\n\nimport { ShopsPrice, Stock, VariantGrade } from './types'\n\nexport class Variant extends BaseModel<Variant> implements IdentifierFields<Variant> {\n id: string\n productId: string\n sku: string\n price: ShopsPrice\n EAN: string\n stock: Stock\n grade: VariantGrade[]\n costPrice: number\n weight: number\n\n identifierFields(): NonFunctionPropertyNames<Variant>[] {\n return ['id']\n }\n}\n","export enum CheckoutTypes {\n ECOMMERCE = 1,\n SUBSCRIPTION = 2,\n}\n","import { Expose } from 'class-transformer'\n\nimport { CheckoutTypes } from '../enums/checkout-types.enum'\n\nimport { Coupon } from './coupon'\n\nexport class ClubCoupon extends Coupon<ClubCoupon> {\n plan?: string\n\n @Expose({ name: 'checkout_type' })\n checkoutType = CheckoutTypes.SUBSCRIPTION\n\n static isClubCoupon(coupon: Coupon): coupon is ClubCoupon {\n return coupon instanceof ClubCoupon\n }\n}\n","import { Expose, Type } from 'class-transformer'\n\nimport { CheckoutTypes } from '../enums/checkout-types.enum'\nimport { Category } from '../../../catalog'\n\nimport { Coupon } from './coupon'\n\nexport class StoreCoupon extends Coupon<StoreCoupon> {\n @Expose({ name: 'checkout_type' })\n checkoutType = CheckoutTypes.ECOMMERCE\n\n @Type(() => Category)\n categories?: Category[]\n\n static isStoreCoupon(coupon: Coupon): coupon is StoreCoupon {\n return coupon instanceof StoreCoupon\n }\n}\n","export enum OrderStatus {\n AGUARDANDO_PAGAMENTO = 'Aguardando pagamento',\n EM_PREPARO = 'Preparando pedido',\n NF_EMITIDA = 'Nota Fiscal Emitida',\n AGUARDANDO_ENVIO = 'Aguardando Transaportadora',\n ENVIADO = 'Pedido Enviado',\n ENTREGUE = 'Pedido entregue',\n CANCELADO = 'Cancelado',\n CREDIT_CARD = 'credit_card',\n}\n","import { Product } from '../../catalog/models/product'\n\nexport class LineItem extends Product {\n parentId?: string\n quantity: number\n isGift?: boolean\n pricePaid?: number\n image?: string\n}\n","import { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types'\n\nexport class ShippingMethod extends BaseModel<ShippingMethod> implements IdentifierFields<ShippingMethod> {\n id: string\n CNPJ: string\n DaysToDelivery: number\n MaxGrams: number\n MinGrams: number\n ServiceCompanyRangeId: number\n ShippingCompanyId: number\n ShippingCompanyName: string\n ShippingPrice: number\n State: string\n ZipEnd: number\n ZipStart: number\n\n identifierFields(): NonFunctionPropertyNames<ShippingMethod>[] {\n return ['id']\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { Address } from '../../location/models/address'\nimport { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types'\nimport { User } from '../../users/models/user'\n\nimport { StoreCoupon } from './coupons/store-coupon'\nimport { LineItem } from './line-item'\nimport { ShippingMethod } from './shipping-method'\nimport { Shops } from '../../catalog/models/enums/shops.enum'\n\nexport class Checkout extends BaseModel<Checkout> implements IdentifierFields<Checkout> {\n id?: string\n paymentId?: string\n status?: string\n createdAt?: Date\n updatedAt?: Date\n completedAt?: Date\n discount?: number\n shop: Shops\n glampoints?: number\n\n @Type(() => LineItem)\n lineItems?: LineItem[]\n @Type(() => User)\n user?: User\n @Type(() => Address)\n shippingAddress?: Address\n @Type(() => Address)\n billingAddress?: Address\n @Type(() => ShippingMethod)\n shipping?: ShippingMethod\n @Type(() => StoreCoupon)\n coupon?: StoreCoupon\n\n get subTotalPrice(): number {\n return this.lineItems.reduce((total, item) => {\n return total + item.pricePaid\n }, 0)\n }\n\n get totalPrice(): number {\n return this.totalPrice - this.discount\n }\n\n identifierFields(): NonFunctionPropertyNames<Checkout>[] {\n return ['id']\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { Checkout } from './checkout'\nimport { OrderStatus } from './enums/order-status.enum'\nimport { Payment } from './payment'\n\nexport class Order extends Checkout {\n status: OrderStatus\n trackingCode?: string\n trackingUrl?: string\n\n @Type(() => Payment)\n payment: Payment\n}\n","import { Type } from 'class-transformer'\n\nimport { Address } from '../../../location/models/address'\nimport { BaseModel } from '../../../general/model/base.model'\nimport { Coupon } from '../coupons/coupon'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../../general/model/types'\nimport { User } from '../../../users/models/user'\n\nimport { SubscriptionPlan } from './plan'\n\nexport class CheckoutSubscription\n extends BaseModel<CheckoutSubscription>\n implements IdentifierFields<CheckoutSubscription>\n{\n id?: string\n user: User\n createdAt: Date\n updatedAt: Date\n completedAt?: Date\n userId?: string\n discount?: number\n subTotalPrice?: number\n totalPrice?: number\n\n @Type(() => Address)\n shippingAddress: Address\n @Type(() => Address)\n billingAddress?: Address\n @Type(() => SubscriptionPlan)\n subscriptionPlan: SubscriptionPlan\n @Type(() => Coupon)\n coupon?: Coupon\n\n identifierFields(): NonFunctionPropertyNames<CheckoutSubscription>[] {\n return ['id']\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types'\nimport { Shops, Category } from '../../catalog/models'\n\nexport class Buy2Win extends BaseModel<Buy2Win> implements IdentifierFields<Buy2Win> {\n active: boolean\n cartValue: number\n createdAt: Date\n endDate: Date\n id?: string\n name: string\n products?: string[]\n shop: Shops\n startDate: Date\n updatedAt?: Date\n\n @Type(() => Category)\n categories: Category[]\n\n identifierFields(): NonFunctionPropertyNames<Buy2Win>[] {\n return ['id']\n }\n}\n","export enum FilterType {\n ACCESSORY_IMPORTANCE = 'accessoryImportance',\n BEARD_PROBLEMS = 'beardProblems',\n BEARD_SIZE = 'beardSize',\n BEAUTY_PRODUCT_IMPORTANCE = 'beautyProductImportance',\n BODY_PROBLEMS = 'bodyProblems',\n BODY_SHAPE = 'bodyShape',\n BODY_TATTOOS = 'bodyTattoos',\n FACE_SKIN_OILINESS = 'faceSkinOiliness',\n FACE_SKIN_PROBLEMS = 'faceSkinProblems',\n FACE_SKIN_TONE = 'faceSkinTone',\n FAMILY_INCOME = 'familyIncome',\n FRAGRANCE_IMPORTANCE = 'fragranceImportance',\n HAIR_COLOR = 'hairColor',\n HAIR_PROBLEMS = 'hairProblems',\n HAIR_STRANDS = 'hairStrands',\n HAIR_TYPE = 'hairType',\n PRODUCT_SPENT = 'productSpent',\n}\n","export enum QuestionsFilters {\n ACCESSORY_IMPORTANCE = 'Você gosta de usar acessórios masculinos?',\n BEARD_PROBLEMS = 'Quais problemas de barba você tem?',\n BEARD_SIZE = 'Quais caracteristicas se aplicam à sua BARBA/BIGODE?',\n BEAUTY_PRODUCT_IMPORTANCE = 'O que descreve melhor a sua relação com produtos de beleza e cuidados pessoais?',\n BODY_PROBLEMS = 'Qual ou quais preocupações você tem com a pele do seu corpo?',\n BODY_SHAPE = 'Qual e seu tipo de CORPO?',\n BODY_TATTOOS = 'Você tem alguma tatuagem?',\n FACE_SKIN_OILINESS = 'Quais caracteristicas se aplicam à pele do seu ROSTO?',\n FACE_SKIN_PROBLEMS = 'Quais problemas a pele do seu rosto tem?',\n FACE_SKIN_TONE = 'Qual seu tom de pele?',\n FAMILY_INCOME = 'Qual a sua renda familiar mensal (considerando a renda de todas as pessoas que moram com você)?',\n FRAGRANCE_IMPORTANCE = 'O quanto você gosta de experimentar perfumes?',\n HAIR_COLOR = 'Seu cabelo é naturalmente de qual COR?',\n HAIR_PROBLEMS = 'Qual ou quais problemas/característica de cabelo te preocupam?',\n HAIR_STRANDS = 'Como são seus fios?',\n HAIR_TYPE = 'Como é o seu cabelo?',\n PRODUCT_SPENT = 'Qual é o seu nivel de gasto mensal em produtos de beleza e cuidados pessoais?',\n}\n","import * as Answers from '../../users/models/enums'\nimport { FilterType, QuestionsFilters } from '../enums'\n\ntype FilterAnswers = {\n [key: string]: string\n}\n\nexport class BeautyQuestionsHelper {\n static getAnswers(filter: FilterType): FilterAnswers {\n switch (filter) {\n case FilterType.ACCESSORY_IMPORTANCE:\n return Answers.AccessoryImportances\n case FilterType.BEARD_PROBLEMS:\n return Answers.BeardProblems\n case FilterType.BEARD_SIZE:\n return Answers.BeardSizes\n case FilterType.BEAUTY_PRODUCT_IMPORTANCE:\n return Answers.BeautyProductImportances\n case FilterType.BODY_PROBLEMS:\n return Answers.BodyProblems\n case FilterType.BODY_SHAPE:\n return Answers.BodyShapes\n case FilterType.BODY_TATTOOS:\n return Answers.BodyTattoos\n case FilterType.FACE_SKIN_OILINESS:\n return Answers.FaceSkinOilinesses\n case FilterType.FACE_SKIN_PROBLEMS:\n return Answers.FaceSkinProblems\n case FilterType.FACE_SKIN_TONE:\n return Answers.FaceSkinTones\n case FilterType.FAMILY_INCOME:\n return Answers.FamilyIncomes\n case FilterType.FRAGRANCE_IMPORTANCE:\n return Answers.FragranceImportances\n case FilterType.HAIR_COLOR:\n return Answers.HairColors\n case FilterType.HAIR_PROBLEMS:\n return Answers.HairProblems\n case FilterType.HAIR_STRANDS:\n return Answers.HairStrands\n case FilterType.HAIR_TYPE:\n return Answers.HairTypes\n case FilterType.PRODUCT_SPENT:\n return Answers.ProductSpents\n }\n }\n\n static getQuestions(filter: FilterType): string {\n return QuestionsFilters[filter]\n }\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model'\nimport { Banner, Benefit, HomeDataStructure } from './types'\n\nexport class Home extends BaseModel<Home> implements IdentifierFields<Home> {\n benefitsSection: Benefit[]\n blockBanners: Banner[]\n blogBanner: Banner\n brandsCarousel: Banner[]\n buyToWinBanner: Banner\n discoverCategories: string[]\n featuredCampaignBanner: Banner\n featuredCategories: string[]\n heroCarousel: Banner[]\n verticalCarousels: string[]\n id: string\n data: HomeDataStructure\n\n identifierFields(): NonFunctionPropertyNames<Home>[] {\n return ['id']\n }\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model'\nimport { MenuNav } from './types/menu-nav.type'\n\nexport class ShopMenu extends BaseModel<ShopMenu> implements IdentifierFields<ShopMenu> {\n menuNav: MenuNav[]\n id: string\n\n identifierFields(): NonFunctionPropertyNames<ShopMenu>[] {\n return ['id']\n }\n}\n","export class InvalidArgumentError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","export class RequiredArgumentError extends Error {\n arguments: string[]\n\n constructor(readonly args: string[]) {\n super(`Required arguments: ${args.join(', ')}`)\n\n this.arguments = args\n }\n}\n","export class NotFoundError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","export class DuplicatedResultsError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","import axios from 'axios'\n\nimport { BaseModel } from '../../../domain'\nimport { ElasticSearchResult } from '../types/elastic-search-result'\n\nexport type AxiosElasticSearchConfig = {\n url: string\n credential: string\n}\n\nexport class AxiosAdapter<T extends BaseModel<T>> {\n constructor(private readonly config: AxiosElasticSearchConfig) {}\n\n async query(index: string, query: any): Promise<ElasticSearchResult<Partial<T>>> {\n const { data } = await axios({\n url: `${this.config.url}/${index}`,\n method: 'POST',\n headers: { Authorization: `Basic ${this.config.credential}` },\n data: query,\n })\n\n return {\n total: data.hits.total.value,\n hits: data.hits.hits,\n }\n }\n}\n","import { AxiosAdapter } from '../adapters'\nimport { Product, Shops } from '../../../domain'\n\nexport class ProductsIndex {\n constructor(private readonly adapter: AxiosAdapter<Product>) {}\n\n async findById(ids: string[], options?: { hasStock: boolean; size: number; shop: Shops }): Promise<Product[]> {\n const publishedField = options.shop === Shops.GLAMSHOP ? 'publishedGlam' : 'published'\n const fields = [\n 'brand',\n 'id',\n 'images',\n 'miniatures',\n 'name',\n 'price',\n 'sku',\n 'stock',\n 'slug',\n 'reviews',\n 'pricePaid',\n 'isGift',\n 'stock',\n 'weight',\n 'tags',\n 'hasVariants',\n ]\n const { hits } = await this.adapter.query('products/_search', {\n _source: fields,\n query: {\n bool: {\n filter: [\n {\n terms: {\n _id: ids,\n },\n },\n {\n term: {\n [publishedField]: true,\n },\n },\n ...(options.hasStock\n ? [\n {\n range: {\n 'stock.quantity': {\n gt: 0,\n },\n },\n },\n ]\n : []),\n ],\n },\n },\n ...(options.size ? { size: options.size } : {}),\n })\n\n return hits.map((hit) => Product.toInstance(hit._source))\n }\n}\n","import { CollectionReference, DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'\nimport firebase from 'firebase'\n\nimport { BaseModelBuilder, BaseModelWithIdentifier } from '../../../../domain'\nimport { FirestoreRepository } from '../types'\nimport { MixinCtor } from '../../../../utils'\n\nexport const withFirestore = <TBase extends BaseModelWithIdentifier<TBase>>(MixinBase: MixinCtor) => {\n return class extends MixinBase implements FirestoreRepository<TBase> {\n readonly firestore?: FirebaseFirestore\n collectionName: string\n model: BaseModelBuilder<TBase>\n\n constructor(...args: Array<any>) {\n super(args)\n }\n\n collection(path?: string): CollectionReference<TBase> {\n return this.firestore.collection(path || this.collectionName).withConverter(this.buildModelInstance())\n }\n\n buildModelInstance(): {\n toFirestore: (data: TBase) => DocumentData\n fromFirestore: (snap: QueryDocumentSnapshot<TBase>) => TBase\n } {\n return {\n toFirestore: (data: TBase): DocumentData => (data?.toPlain ? data.toPlain() : data),\n fromFirestore: (snap: QueryDocumentSnapshot<TBase>): TBase => {\n const data = snap.data()\n\n Object.keys(data).forEach((key) => {\n if (data[key] instanceof firebase.firestore.Timestamp) {\n data[key] = data[key].toDate()\n }\n })\n\n return this.model.toInstance({ ...data, id: snap.id })\n },\n }\n }\n }\n}\n","import { QuerySnapshot, QueryDocumentSnapshot } from '@firebase/firestore-types'\n\nimport { BaseModelWithIdentifier } from '../../../../domain'\n\nimport { FirestoreHelpers, FirestoreRepository, FirestoreSubRepository } from '../types'\nimport { isNil, MixinCtor } from '../../../../utils'\n\nexport const withHelpers = <Model extends BaseModelWithIdentifier<Model>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor & TMixinBase,\n) => {\n return class extends MixinBase implements FirestoreHelpers {\n toArray<T extends BaseModelWithIdentifier<T>>(snapShot: QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[] {\n if (Array.isArray(snapShot)) {\n return snapShot.map((doc: QueryDocumentSnapshot<T>) => doc.data())\n } else {\n return snapShot.docs.map((doc: QueryDocumentSnapshot<T>) => doc.data())\n }\n }\n\n isSubCollection<T extends BaseModelWithIdentifier<T>>(\n repository: FirestoreRepository<T>,\n ): repository is FirestoreSubRepository<T> {\n return !isNil(Object.keys(this).find((key) => key === 'parentRepository'))\n }\n }\n}\n","import { BaseModelWithIdentifier, GetRepository, NonFunctionProperties } from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { isNil, MixinCtor } from '../../../../utils'\nimport { NotFoundError } from '../../../../errors'\n\nexport const withGetFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n return class GetFirestore extends MixinBase implements GetRepository<TBase> {\n async get(identifiers: NonFunctionProperties<TBase>): Promise<TBase> {\n const doc = await this.collection(this.buildCollectionPathForGet(identifiers))\n .doc(Object.values(identifiers).shift().toString())\n .get()\n const data = doc.data()\n\n if (isNil(data)) throw new NotFoundError(`Document ${JSON.stringify(identifiers)} not found`)\n\n return data\n }\n\n buildCollectionPathForGet(identifiers: NonFunctionProperties<TBase>): string {\n return this.isSubCollection(this)\n ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`\n : this.collectionName\n }\n }\n}\n","import { CollectionReference, Query } from '@firebase/firestore-types'\n\nimport {\n BaseModelWithIdentifier,\n FindRepository,\n NonFunctionPropertyNames,\n RepositoryFindField,\n RepositoryFindFielters,\n RepositoryFindFieltersOptions,\n RepositoryFindResult,\n RepositoryLimitOptions,\n RepositoryOrderByList,\n Where,\n} from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { isDate, isNil, isNumber, isObject, isString, MixinCtor, set } from '../../../../utils'\n\nexport const withFindFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n const checkIfIsFilterOption = (filter: any): filter is RepositoryFindFieltersOptions<TBase, any> =>\n !isNil(filter?.operator)\n const getValueFromFilter = (filter: RepositoryFindField<TBase, any>): any => {\n return checkIfIsFilterOption(filter) ? filter.value : filter\n }\n const getFinalValueFrom = (value: any) =>\n isNumber(value) || isString(value) || isDate(value) || Array.isArray(value)\n ? value\n : Object.values(getFinalValueFrom)\n\n return class FindFirestore extends MixinBase implements FindRepository<TBase> {\n async find(\n filters?: RepositoryFindFielters<TBase>[],\n limits?: RepositoryLimitOptions<TBase>,\n orderBy?: RepositoryOrderByList<TBase>,\n ): Promise<RepositoryFindResult<TBase>> {\n let query: CollectionReference<TBase> | Query<TBase> = this.collection(this.buildCollectionPathForFind(filters))\n\n filters?.forEach((filterer) => (query = this.makeFirestoreWhere(query, filterer)))\n\n orderBy?.forEach((orderer) =>\n Object.keys(orderer).forEach((fieldName) => (query = query.orderBy(fieldName, orderer[fieldName]))),\n )\n\n query = await this.defineLimits(query, filters, limits)\n\n const docs = await query.get()\n const data = docs.docs.map((doc) => doc.data())\n\n return {\n data,\n count: this.calculateCount(data, limits),\n }\n }\n\n buildCollectionPathForFind(filters: RepositoryFindFielters<TBase>[]): string {\n if (!this.isSubCollection<TBase>(this)) return this.collectionName\n\n const parentIdField = this.parentIdField\n const parentId = getValueFromFilter(\n filters.find((groupFilter) => Boolean(getValueFromFilter(groupFilter[parentIdField])))?.[parentIdField],\n )\n\n return `${this.parentRepository.collectionName}/${parentId}/${this.collectionName}`\n }\n\n makeFirestoreWhere = (\n queryReference: CollectionReference<TBase> | Query<TBase>,\n filter: RepositoryFindFielters<TBase>,\n ): Query<TBase> =>\n Object.keys(filter).reduce(\n (query: Query<TBase>, fieldName: string) => this.buildWhereSentence(query, fieldName, filter[fieldName]),\n queryReference,\n )\n\n buildWhereSentence = (\n queryReference: CollectionReference<TBase> | Query<TBase>,\n fieldName: NonFunctionPropertyNames<TBase> | string,\n options: RepositoryFindFieltersOptions<TBase, NonFunctionPropertyNames<TBase>>,\n ): Query<TBase> => {\n if (this.isSubCollection<TBase>(this) && fieldName === this.parentIdField) return queryReference\n\n const value = options?.value || options\n const object = {}\n\n set(object, fieldName, value)\n\n const plainInstance = new this.model(object).toPlain()\n const firestoreFieldName =\n fieldName.toString().indexOf('.') > -1\n ? fieldName.toString()\n : Object.keys(plainInstance).find((key) => plainInstance[key])\n\n if (options?.operator === Where.LIKE) {\n if (Array.isArray(options?.value))\n return queryReference.where(firestoreFieldName, 'array-contains-any', options.value)\n\n queryReference = queryReference.where(firestoreFieldName, '>=', options.value)\n queryReference = queryReference.where(firestoreFieldName, '<=', `${options.value}~`)\n\n return queryReference\n }\n if (options?.operator === Where.IN && Array.isArray(options?.value))\n return queryReference.where(firestoreFieldName, 'array-contains', options.value)\n if (isObject(options) && isNil(options?.operator) && isNil(options?.value)) {\n return Object.keys(options).reduce(\n (queryReferenceWithWhere, key) =>\n this.buildWhereSentence(queryReferenceWithWhere, `${fieldName}.${key}`, options[key]),\n queryReference,\n )\n }\n\n return queryReference.where(firestoreFieldName, options?.operator || '==', options?.value || options)\n }\n\n async defineLimits(\n query: CollectionReference<TBase> | Query<TBase>,\n filters: RepositoryFindFielters<TBase>[],\n limits: RepositoryLimitOptions<TBase>,\n ): Promise<Query<TBase>> {\n if (limits?.offset) {\n if (limits.offset instanceof this.model)\n query = query.startAfter(\n await this.collection(this.buildCollectionPathForFind(filters))\n .doc(limits.offset[limits.offset.identifierFields().shift() as string])\n .get(),\n )\n else if (isNumber(limits.offset) || isString(limits.offset)) query = query.startAt(limits.offset)\n }\n if (limits?.limit) query = query.limit(limits.limit)\n\n return query\n }\n\n calculateCount(data: TBase[], limits: RepositoryLimitOptions<TBase>): number {\n if (data.length <= 0) return 0\n if (data.length < limits?.limit) return data.length\n\n return Infinity\n }\n }\n}\n","import { DocumentReference } from '@firebase/firestore-types'\n\nimport { CreateRepository, BaseModelWithIdentifier } from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { isEmpty, MixinCtor } from '../../../../utils'\n\nexport const withCreateFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n return class CreateFirestore extends MixinBase implements CreateRepository<TBase> {\n async create(data: Partial<TBase>): Promise<TBase> {\n const docRef = await this.save(this.model.toInstance(data))\n const doc = await docRef.get()\n\n return doc.data()\n }\n\n async save(data: TBase): Promise<DocumentReference<TBase>> {\n const id = data[data.identifierFields().shift()]?.toString()\n const collectionPath = this.buildCollectionPathForAdd(data)\n\n if (isEmpty(id)) return this.collection(collectionPath).add(data)\n\n const docRef = this.collection(collectionPath).doc(id)\n await docRef.set(data)\n\n return docRef\n }\n\n buildCollectionPathForAdd(identifiers: Partial<TBase>): string {\n return this.isSubCollection(this)\n ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`\n : this.collectionName\n }\n }\n}\n","import firebase from 'firebase'\n\nimport {\n BaseModelWithIdentifier,\n NonFunctionPropertyNames,\n RepositoryUpdateParams,\n UpdateOptionActions,\n UpdateOptions,\n UpdateRepository,\n} from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { isNil, MixinCtor, PropType } from '../../../../utils'\n\nexport const withUpdateFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n const getValueFromParams = (\n params: RepositoryUpdateParams<TBase>,\n field: NonFunctionPropertyNames<TBase>,\n ): PropType<TBase, NonFunctionPropertyNames<TBase>> =>\n (isNil(params[field as string]?.value) ? params[field as string] : params[field as string].value) || null\n const getValueByAction = (options: UpdateOptions<TBase>): firebase.firestore.FieldValue | unknown => {\n const fieldValues = firebase.firestore.FieldValue\n\n if (isNil(options.action)) return options\n if (options.action === UpdateOptionActions.REMOVE_FIELD) return fieldValues.delete()\n if (Array.isArray(options.value)) {\n if (options.action === UpdateOptionActions.MERGE) return fieldValues.arrayUnion(...options.value)\n if (options.action === UpdateOptionActions.REMOVE) return fieldValues.arrayRemove(...options.value)\n }\n\n return options.value\n }\n\n return class UpdateFirestore extends MixinBase implements UpdateRepository<TBase> {\n async update(data: RepositoryUpdateParams<TBase>): Promise<TBase> {\n const model = new this.model()\n const keyField = model.identifierFields().shift()\n const docRef = this.collection(this.buildCollectionPathForUpdate(data)).doc(\n getValueFromParams(data, keyField).toString(),\n )\n\n await docRef.set(this.paramsToPlain(data), { merge: true })\n\n const doc = await docRef.get()\n\n return doc.data()\n }\n\n buildCollectionPathForUpdate(identifiers: RepositoryUpdateParams<TBase>): string {\n return this.isSubCollection(this)\n ? `${this.parentRepository.collectionName}/${getValueFromParams(identifiers, this.parentIdField)}/${\n this.collectionName\n }`\n : this.collectionName\n }\n\n paramsToPlain(params: RepositoryUpdateParams<TBase>): Partial<TBase> {\n const model = this.model\n\n if (params instanceof model) return params\n\n return Object.keys(params).reduce(\n (data, currentKey) => ({ ...data, [currentKey]: getValueByAction(params[currentKey]) }),\n {},\n )\n }\n }\n}\n","import { BaseModelWithIdentifier, NonFunctionProperties, DeleteRepository } from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { MixinCtor } from '../../../../utils'\n\nexport const withDeleteFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n return class DeleteFirestore extends MixinBase implements DeleteRepository<TBase> {\n async delete(identifiers: NonFunctionProperties<TBase>): Promise<void> {\n await this.collection(this.buildCollectionPathForRemove(identifiers))\n .doc(Object.values(identifiers).shift().toString())\n .delete()\n }\n\n buildCollectionPathForRemove(identifiers: NonFunctionProperties<TBase>): string {\n return this.isSubCollection(this)\n ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`\n : this.collectionName\n }\n }\n}\n","import { CollectionReference, DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'\n\nimport { BaseModelWithIdentifier, NonFunctionPropertyNames } from '../../../../domain'\nimport { FirestoreRepository, FirestoreSubRepository } from '../types'\nimport { MixinCtor } from '../../../../utils'\n\nexport const withSubCollection = <\n TBase extends BaseModelWithIdentifier<TBase>,\n TBaseParent extends BaseModelWithIdentifier<TBaseParent>,\n TMixinBase extends MixinCtor,\n>(\n MixinBase: MixinCtor<FirestoreRepository<TBase>> & TMixinBase,\n ParentModel: new () => TBaseParent,\n) => {\n return class SubCollectionMix\n extends MixinBase\n implements FirestoreSubRepository<TBase, InstanceType<typeof ParentModel>>\n {\n readonly parentRepository: FirestoreRepository<InstanceType<typeof ParentModel>>\n parentIdField: NonFunctionPropertyNames<TBase>\n\n constructor(...args: Array<any>) {\n super(args)\n }\n\n collection(path?: string): CollectionReference<TBase> {\n return super.collection(path)\n }\n }\n}\n","import { BaseModelWithIdentifier, CrudRepository } from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { MixinCtor } from '../../../../utils'\n\nimport { withCreateFirestore } from './with-create-firestore.mixin'\nimport { withDeleteFirestore } from './with-delete-firestore.mixin'\nimport { withFindFirestore } from './with-find-firestore.mixin'\nimport { withGetFirestore } from './with-get-firestore.mixin'\nimport { withUpdateFirestore } from './with-update-firestore.mixin'\n\nexport const withCrudFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n return class CrudFirestore\n extends withUpdateFirestore(\n withGetFirestore(withFindFirestore(withDeleteFirestore(withCreateFirestore(MixinBase)))),\n )\n implements CrudRepository<TBase> {}\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Subscription, SubscriptionRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class SubscriptionFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Subscription>(Base)))\n implements SubscriptionRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'subscription'\n this.model = Subscription\n }\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../../../domain/general'\n\nexport class UserSearch extends BaseModel<UserSearch> implements IdentifierFields<UserSearch> {\n id: string\n cpf?: string\n email?: string\n createdAt: Date\n copiedAt: Date\n\n identifierFields(): NonFunctionPropertyNames<UserSearch>[] {\n return ['id']\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { CrudRepository } from '../../../../../domain'\nimport { UserSearch } from '../../models/user-search'\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class UserSearchFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<UserSearch>(Base)))\n implements CrudRepository<UserSearch>\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'userSearch'\n this.model = UserSearch\n }\n}\n","import { DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { BeautyProfile, User, UserRepository, Where } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nimport { UserSearchFirestoreRepository } from './user-search-firestore.repository'\n\nexport class UserFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<User>(Base)))\n implements UserRepository\n{\n constructor(\n readonly firestore: FirebaseFirestore,\n private readonly userSearchFirestoreRepository = new UserSearchFirestoreRepository(firestore),\n ) {\n super()\n this.collectionName = 'users'\n this.model = User\n }\n\n async get(identifiers: Partial<User>): Promise<User> {\n const user = await super.get({ id: identifiers.id })\n\n user.beautyProfile = await this.getBeautyProfile(user.id)\n user.isSubscriber = await this.checkIfIsSubscriber(user.id)\n\n return user\n }\n\n async checkIfExistsByField(field: string, value: string): Promise<boolean> {\n const result = await this.userSearchFirestoreRepository.find([{ [field]: { operator: Where.EQUALS, value } }])\n\n return result.count > 0\n }\n\n buildModelInstance(): {\n toFirestore: (data: User) => DocumentData\n fromFirestore: (snap: QueryDocumentSnapshot<User>) => User\n } {\n const { fromFirestore, toFirestore } = super.buildModelInstance()\n\n return {\n toFirestore: (data: User): DocumentData => {\n const plain = toFirestore(data)\n\n delete plain.isSubscriber\n\n return plain\n },\n fromFirestore,\n }\n }\n\n private async getBeautyProfile(userId: string): Promise<BeautyProfile> {\n const beautyProfile = await this.collection()\n .doc(userId)\n .collection('CX')\n .withConverter(this.buildBeautyProfileModelInstance())\n .doc('beautyProfile')\n .get()\n\n return beautyProfile.data()\n }\n\n private async checkIfIsSubscriber(userId: string): Promise<boolean> {\n const docs = await this.firestore\n .collection('subscription')\n .where('user.id', '==', userId)\n .where('status', '==', 'active')\n .get()\n\n return !!docs && !!docs.size\n }\n\n private buildBeautyProfileModelInstance(): {\n toFirestore: (data: BeautyProfile) => DocumentData\n fromFirestore: (snap: QueryDocumentSnapshot<BeautyProfile>) => BeautyProfile\n } {\n return {\n toFirestore: (data: BeautyProfile): DocumentData => data.toPlain(),\n fromFirestore: (snap: QueryDocumentSnapshot<BeautyProfile>): BeautyProfile =>\n BeautyProfile.toInstance(snap.data()),\n }\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Edition, Subscription, EditionRepository } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { SubscriptionFirestoreRepository } from './subscription-firestore.repository'\n\nexport class SubscriptionEditionFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<Edition>(Base))), Subscription)\n implements EditionRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: SubscriptionFirestoreRepository) {\n super()\n this.collectionName = 'editions'\n this.parentIdField = 'subscriptionId'\n this.model = Edition\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { BeautyProfile, BeautyProfileRepository, User } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { UserFirestoreRepository } from './user-firestore.repository'\n\nexport class UserBeautyProfileFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<BeautyProfile>(Base))), User)\n implements BeautyProfileRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: UserFirestoreRepository) {\n super()\n this.collectionName = 'CX'\n this.parentIdField = 'userId'\n this.model = BeautyProfile\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { User, UserAddress, UserAddressRepository } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { UserFirestoreRepository } from './user-firestore.repository'\n\nexport class UserAddressFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<UserAddress>(Base))), User)\n implements UserAddressRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: UserFirestoreRepository) {\n super()\n this.collectionName = 'address'\n this.parentIdField = 'userId'\n this.model = UserAddress\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { User, UserPaymentMethod, UserPaymentMethodRepository } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { UserFirestoreRepository } from './user-firestore.repository'\n\nexport class UserPaymentMethodFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<UserPaymentMethod>(Base))), User)\n implements UserPaymentMethodRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: UserFirestoreRepository) {\n super()\n this.collectionName = 'payment_method'\n this.parentIdField = 'userId'\n this.model = UserPaymentMethod\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { SubscriptionPayment, Subscription, SubscriptionPaymentRepository } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { SubscriptionFirestoreRepository } from './subscription-firestore.repository'\n\nexport class SubscriptionPaymentFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<SubscriptionPayment>(Base))), Subscription)\n implements SubscriptionPaymentRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: SubscriptionFirestoreRepository) {\n super()\n this.collectionName = 'payments'\n this.parentIdField = 'subscriptionId'\n this.model = SubscriptionPayment\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Lead, LeadRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class LeadFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Lead>(Base)))\n implements LeadRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'leads'\n this.model = Lead\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base, chunk } from '../../../../../utils'\nimport { Category, CategoryRepository, Product, Shops } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\nimport { DuplicatedResultsError, NotFoundError, RequiredArgumentError } from '../../../../../errors'\n\nexport class CategoryFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Category>(Base)))\n implements CategoryRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'categories'\n this.model = Category\n }\n\n getCategoryBySlug(slug: string, shop: Shops): Promise<Category> {\n return this.collection(this.collectionName)\n .where('slug', '==', slug)\n .where('shop', '==', shop)\n .where('published', '==', true)\n .get()\n .then((snap) => {\n if (snap.size > 1) throw new DuplicatedResultsError('Query returned duplicated values')\n\n if (snap.empty) throw new NotFoundError(`Document with slug ${slug} not found`)\n\n return snap.docs[0].data()\n })\n .catch((error) => error)\n }\n\n async getCategoriesForHome(categoryIds: string[], limit = 4): Promise<{ category: Category; products: Product[] }[]> {\n const categorySnap = await this.collection(this.collectionName)\n .where('id', 'in', categoryIds.filter(Boolean))\n .where('published', '==', true)\n .get()\n\n if (categorySnap.empty) throw new NotFoundError('Categories not found')\n\n const categories = categorySnap.docs.map((doc) => doc.data())\n const homeSections = await Promise.all(\n categories.map(async (category) => ({\n category,\n products: await this.mountCategory(category, { limit, hasStock: true }),\n })),\n )\n\n return homeSections\n }\n\n async mountCategory(category: Category, options?: { limit?: number; hasStock?: boolean }): Promise<Product[]> {\n if (!category.products) throw new RequiredArgumentError(['Category products is empty'])\n\n const chunks = chunk(category.products, 10)\n const products = []\n const publishedField = category.shop === Shops.GLAMSHOP ? 'publishedGlam' : 'published'\n\n for (const productIds of chunks) {\n if (options?.limit && products.length >= options?.limit) break\n\n let query = await this.collection('products').where(publishedField, '==', true).where('id', 'in', productIds)\n\n if (options?.hasStock) query = query.where('stock.quantity', '>', 0)\n if (options?.limit) query = query.limit(options?.limit)\n\n const productSnap = await query.get()\n\n if (productSnap.empty) continue\n\n products.push(...productSnap.docs.map((doc) => doc.data()))\n }\n\n return products\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Product, ProductRepository, Shops, Where } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class ProductFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Product>(Base)))\n implements ProductRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'products'\n this.model = Product\n }\n\n async getBySlug(slug: string, shop: Shops): Promise<Product> {\n const result = await this.find([\n { slug: { operator: Where.EQUALS, value: slug } },\n { shopAvailability: { operator: Where.IN, value: [shop] } },\n ])\n\n return result?.data?.shift()\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Product, Variant, VariantRepository } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { ProductFirestoreRepository } from './product-firestore.repository'\n\nexport class ProductVariantFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<Variant>(Base))), Product)\n implements VariantRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: ProductFirestoreRepository) {\n super()\n this.collectionName = 'variants'\n this.parentIdField = 'productId'\n this.model = Variant\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Product, SubscriptionProductRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class SubscriptionProductFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Product>(Base)))\n implements SubscriptionProductRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'subscriptionProducts'\n this.model = Product\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Checkout, CheckoutRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class CheckoutFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Checkout>(Base)))\n implements CheckoutRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'checkouts'\n this.model = Checkout\n }\n}\n","import { DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'\nimport firebase from 'firebase'\n\nimport { Base } from '../../../../../utils'\nimport { CheckoutTypes, ClubCoupon, Coupon, CouponRepository, StoreCoupon } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class CouponFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Coupon>(Base)))\n implements CouponRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'coupons'\n this.model = Coupon\n }\n\n buildModelInstance(): {\n toFirestore: (data: Coupon) => DocumentData\n fromFirestore: (snap: QueryDocumentSnapshot<Coupon>) => Coupon\n } {\n return {\n toFirestore: (data: Coupon): DocumentData => {\n const plain = data?.toPlain ? data.toPlain() : data\n\n if (!!plain.categories) plain.categories = plain?.categories?.map((category) => category.id)\n\n return plain\n },\n fromFirestore: (snap: QueryDocumentSnapshot): Coupon => {\n const data = snap.data()\n\n Object.keys(data).forEach((key) => {\n if (data[key] instanceof firebase.firestore.Timestamp) {\n data[key] = data[key].toDate()\n }\n })\n\n data.categories = data?.categories?.map((category) => ({ id: category }))\n\n if (data.checkout_type === CheckoutTypes.SUBSCRIPTION) return ClubCoupon.toInstance({ id: snap.id, ...data })\n if (data.checkout_type === CheckoutTypes.ECOMMERCE) return StoreCoupon.toInstance({ id: snap.id, ...data })\n\n return this.model.toInstance({ id: snap.id, ...data })\n },\n }\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Order, OrderRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class OrderFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Order>(Base)))\n implements OrderRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'orders'\n this.model = Order\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Payment, PaymentRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class PaymentFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Payment>(Base)))\n implements PaymentRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'payments'\n this.model = Payment\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { CheckoutSubscription, CheckoutSubscriptionRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class CheckoutSubscriptionFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<CheckoutSubscription>(Base)))\n implements CheckoutSubscriptionRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'checkoutsSubscription'\n this.model = CheckoutSubscription\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { SubscriptionPlan, SubscriptionPlanRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class SubscriptionPlanFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<SubscriptionPlan>(Base)))\n implements SubscriptionPlanRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'subscriptionPlans'\n this.model = SubscriptionPlan\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Buy2Win, Buy2WinRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class Buy2WinFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Buy2Win>(Base)))\n implements Buy2WinRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'buy2win'\n this.model = Buy2Win\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { LegacyOrderRepository } from '../../../../../domain'\n\nimport { OrderFirestoreRepository } from './order-firestore.repository'\n\nexport class LegacyOrderFirestoreRepository extends OrderFirestoreRepository implements LegacyOrderRepository {\n constructor(readonly firestore: FirebaseFirestore) {\n super(firestore)\n this.collectionName = 'legacyOrders'\n }\n}\n","import { DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'\nimport firebase from 'firebase'\n\nimport { Base } from '../../../../../utils'\nimport { Category, Home, HomeCategoryGroup, HomeRepository, Product } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class HomeFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Home>(Base)))\n implements HomeRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'dms'\n this.model = Home\n }\n\n buildModelInstance(): {\n toFirestore: (data: Home) => DocumentData\n fromFirestore: (snap: QueryDocumentSnapshot<Home>) => Home\n } {\n const { fromFirestore, toFirestore } = super.buildModelInstance()\n\n return {\n toFirestore: (data: Home): DocumentData => {\n const modifiedData = this.homeToFirestore(data)\n\n return toFirestore(modifiedData)\n },\n fromFirestore: (snap: QueryDocumentSnapshot<Home>): Home => {\n const instance = fromFirestore(snap)\n\n return this.homeFromFirestore(instance)\n },\n }\n }\n\n private homeToFirestore = (home: Home): Home => {\n if (home.data?.data) {\n home.data.data.discoverProducts = home.data.data.discoverProducts.map(this.homeCategoryGroupToPlain)\n home.data.data.featuredProducts = home.data.data.featuredProducts.map(this.homeCategoryGroupToPlain)\n home.data.data.verticalProducts = home.data.data.verticalProducts.map(this.homeCategoryGroupToPlain)\n }\n\n return home\n }\n\n private homeCategoryGroupToPlain = (homeCategoryGroup: HomeCategoryGroup) => ({\n category: homeCategoryGroup.category.toPlain(),\n products: homeCategoryGroup.products.map((product) => product.toPlain()),\n })\n\n private homeFromFirestore = (home: Home): Home => {\n if (home.data?.data) {\n home.data.data.discoverProducts = home.data.data.discoverProducts.map(this.plainToHomeCategoryGroup)\n home.data.data.featuredProducts = home.data.data.featuredProducts.map(this.plainToHomeCategoryGroup)\n home.data.data.verticalProducts = home.data.data.verticalProducts.map(this.plainToHomeCategoryGroup)\n home.data.createdAt =\n home.data.createdAt instanceof firebase.firestore.Timestamp ? home.data.createdAt.toDate() : home.data.createdAt\n home.data.expiresAt =\n home.data.expiresAt instanceof firebase.firestore.Timestamp ? home.data.expiresAt.toDate() : home.data.expiresAt\n }\n\n return home\n }\n\n private plainToHomeCategoryGroup = (homeCategoryGroup: HomeCategoryGroup) => ({\n category: Category.toInstance(homeCategoryGroup.category),\n products: homeCategoryGroup.products.map((product) => Product.toInstance(product)),\n })\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\nimport { ShopMenu, ShopMenuRepository } from '../../../../../domain'\n\nimport { Base } from '../../../../../utils'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class ShopMenuFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<ShopMenu>(Base)))\n implements ShopMenuRepository {\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'shopMenus'\n this.model = ShopMenu\n }\n}\n","import firebase from 'firebase/app'\n\nimport { AuthenticationService, BasicUserData, LoginAndPasswordParams } from '../../../domain'\n\nimport { FirebaseUserWithId } from './types/firebase-user-with-id.type'\n\nexport class AuthenticationFirebaseAuthService implements AuthenticationService {\n constructor(private readonly firebaseAuth: firebase.auth.Auth) {}\n\n async signInWithEmailAndPassword(data: LoginAndPasswordParams): Promise<BasicUserData> {\n const credentials = await this.firebaseAuth.signInWithEmailAndPassword(data.email, data.password)\n const user = credentials.user\n\n return {\n id: user.uid,\n displayName: user.displayName,\n email: user.email,\n phone: user.phoneNumber,\n isAnonymous: false,\n }\n }\n\n async signInWithGoogle(): Promise<BasicUserData> {\n const credentials = await this.firebaseAuth.signInWithPopup(new firebase.auth.GoogleAuthProvider())\n const user = credentials.user\n\n return {\n id: user.uid,\n displayName: user.displayName,\n email: user.email,\n phone: user.phoneNumber,\n isAnonymous: false,\n }\n }\n\n async signOut(): Promise<void> {\n this.firebaseAuth.signOut()\n }\n\n async signInAnonymously(): Promise<FirebaseUserWithId> {\n const auth = await this.firebaseAuth.signInAnonymously()\n const user = auth.user as FirebaseUserWithId\n\n user.id = auth.user.uid\n\n return user\n }\n\n async sendPasswordResetEmail(email: string): Promise<void> {\n return this.firebaseAuth.sendPasswordResetEmail(email)\n }\n}\n","import firebase from 'firebase/app'\n\nimport { RegisterParams, RegisterService, UserAlreadyRegisteredError, WeakPasswordError } from '../../../domain'\n\nimport { FirebaseUserWithId } from './types/firebase-user-with-id.type'\n\nexport class RegisterFirebaseAuthService implements RegisterService {\n constructor(private readonly firebaseAuth: firebase.auth.Auth) {}\n\n async register(params: RegisterParams): Promise<FirebaseUserWithId> {\n try {\n const auth = await this.firebaseAuth.createUserWithEmailAndPassword(params.email, params.password)\n const user = auth.user as FirebaseUserWithId\n\n user.sendEmailVerification()\n user.id = auth.user.uid\n\n return user\n } catch (error) {\n if (error.code === 'auth/email-already-in-use') throw new UserAlreadyRegisteredError('Email already registered')\n if (error.code === 'auth/weak-password') throw new WeakPasswordError()\n\n throw error\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["plainToClass","classToPlain","Where","UpdateOptionActions","AccessoryImportances","Area","BeardProblems","BeardSizes","BeautyProductImportances","BodyProblems","BodyShapes","BodyTattoos","FaceSkinOilinesses","FaceSkinProblems","FaceSkinTones","FamilyIncomes","FragranceImportances","HairColors","HairProblems","HairStrands","HairTypes","OfficePosition","ProductSpents","UserType","BillingStatus","EditionStatus","PaymentType","Status","Expose","Type","DiscountType","Exclusivities","isNil","SignInMethods","Shops","CheckoutTypes","OrderStatus","FilterType","QuestionsFilters","Answers.AccessoryImportances","Answers.BeardProblems","Answers.BeardSizes","Answers.BeautyProductImportances","Answers.BodyProblems","Answers.BodyShapes","Answers.BodyTattoos","Answers.FaceSkinOilinesses","Answers.FaceSkinProblems","Answers.FaceSkinTones","Answers.FamilyIncomes","Answers.FragranceImportances","Answers.HairColors","Answers.HairProblems","Answers.HairStrands","Answers.HairTypes","Answers.ProductSpents","axios","firebase","isNumber","isString","isDate","set","isObject","isEmpty","chunk"],"mappings":";;;;;;;;;;;;;QAKE,mBAAY,IAAqB;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SAC1B;QAEM,oBAAU,GAAjB,UAAiD,IAA8B;YAC7E,OAAOA,6BAAY,CAAC,IAAI,EAAE,IAAI,CAAQ,CAAA;SACvC;QAED,2BAAO,GAAP;YACE,OAAOC,6BAAY,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAA;SACxD;wBACF;KAAA;;AChBWC;IAAZ,WAAY,KAAK;QACf,sBAAa,CAAA;QACb,yBAAgB,CAAA;QAChB,iBAAQ,CAAA;QACR,mBAAU,CAAA;QACV,kBAAS,CAAA;QACT,iBAAQ,CAAA;QACR,mBAAU,CAAA;QACV,sBAAa,CAAA;IACf,CAAC,EATWA,aAAK,KAALA,aAAK;;ACALC;IAAZ,WAAY,mBAAmB;QAC7B,wCAAiB,CAAA;QACjB,sCAAe,CAAA;QACf,wCAAiB,CAAA;QACjB,mDAA4B,CAAA;QAC5B,oCAAa,CAAA;IACf,CAAC,EANWA,2BAAmB,KAAnBA,2BAAmB;;ACAnBC;IAAZ,WAAY,oBAAoB;QAC9B,mEAAsC,CAAA;QACtC,iEAAyC,CAAA;QACzC,wHAA2F,CAAA;IAC7F,CAAC,EAJWA,4BAAoB,KAApBA,4BAAoB;;ACApBC;IAAZ,WAAY,IAAI;QACd,oBAAY,CAAA;QACZ,mBAAW,CAAA;QACX,sCAA8B,CAAA;QAC9B,2BAAmB,CAAA;QACnB,sCAA8B,CAAA;QAC9B,0CAAkC,CAAA;QAClC,2BAAmB,CAAA;QACnB,gCAAwB,CAAA;QACxB,iBAAS,CAAA;IACX,CAAC,EAVWA,YAAI,KAAJA,YAAI;;ACAJC;IAAZ,WAAY,aAAa;QACvB,8CAA6B,CAAA;QAC7B,mCAAkB,CAAA;QAClB,uCAAsB,CAAA;QACtB,6CAA4B,CAAA;QAC5B,wDAAkC,CAAA;QAClC,gDAA0B,CAAA;QAC1B,4CAA2B,CAAA;IAC7B,CAAC,EARWA,qBAAa,KAAbA,qBAAa;;ACAbC;IAAZ,WAAY,UAAU;QACpB,4BAAc,CAAA;QACd,mCAAgB,CAAA;QAChB,6BAAe,CAAA;QACf,iCAAmB,CAAA;QACnB,mCAAqB,CAAA;IACvB,CAAC,EANWA,kBAAU,KAAVA,kBAAU;;ACAVC;IAAZ,WAAY,wBAAwB;QAClC,oHAAmF,CAAA;QACnF,gKAA0H,CAAA;QAC1H,+KAA8I,CAAA;QAC9I,uFAA2D,CAAA;IAC7D,CAAC,EALWA,gCAAwB,KAAxBA,gCAAwB;;ACAxBC;IAAZ,WAAY,YAAY;QACtB,yDAA+B,CAAA;QAC/B,uCAAuB,CAAA;QACvB,oDAAoC,CAAA;QACpC,yCAAyB,CAAA;QACzB,qDAAgC,CAAA;QAChC,sCAAsB,CAAA;QACtB,yCAAyB,CAAA;QACzB,iDAAiC,CAAA;QACjC,+DAA0C,CAAA;IAC5C,CAAC,EAVWA,oBAAY,KAAZA,oBAAY;;ACAZC;IAAZ,WAAY,UAAU;QACpB,4BAAc,CAAA;QACd,iCAAmB,CAAA;QACnB,0CAA4B,CAAA;QAC5B,wCAAqB,CAAA;QACrB,oCAAsB,CAAA;IACxB,CAAC,EANWA,kBAAU,KAAVA,kBAAU;;ACAVC;IAAZ,WAAY,WAAW;QACrB,+BAAgB,CAAA;QAChB,2DAAuC,CAAA;QACvC,sDAAuC,CAAA;IACzC,CAAC,EAJWA,mBAAW,KAAXA,mBAAW;;ACAXC;IAAZ,WAAY,kBAAkB;QAC5B,kCAAY,CAAA;QACZ,sCAAgB,CAAA;QAChB,qCAAe,CAAA;QACf,uCAAiB,CAAA;QACjB,8DAAmC,CAAA;IACrC,CAAC,EANWA,0BAAkB,KAAlBA,0BAAkB;;ACAlBC;IAAZ,WAAY,gBAAgB;QAC1B,iDAA6B,CAAA;QAC7B,6CAAyB,CAAA;QACzB,sCAAkB,CAAA;QAClB,4DAAwC,CAAA;QACxC,sCAAkB,CAAA;QAClB,uCAAmB,CAAA;QACnB,+CAAsB,CAAA;QACtB,yDAAgC,CAAA;IAClC,CAAC,EATWA,wBAAgB,KAAhBA,wBAAgB;;ACAhBC;IAAZ,WAAY,aAAa;QACvB,2CAA0B,CAAA;QAC1B,gCAAe,CAAA;QACf,kDAA4B,CAAA;QAC5B,kDAA4B,CAAA;QAC5B,gCAAe,CAAA;QACf,2CAA0B,CAAA;IAC5B,CAAC,EAPWA,qBAAa,KAAbA,qBAAa;;ACAbC;IAAZ,WAAY,aAAa;QACvB,gDAA0B,CAAA;QAC1B,4DAA2C,CAAA;QAC3C,8DAA6C,CAAA;QAC7C,gEAA+C,CAAA;QAC/C,qDAAoC,CAAA;QACpC,qDAAoC,CAAA;IACtC,CAAC,EAPWA,qBAAa,KAAbA,qBAAa;;ACAbC;IAAZ,WAAY,oBAAoB;QAC9B,mEAAsC,CAAA;QACtC,4FAAoE,CAAA;QACpE,2FAA8D,CAAA;IAChE,CAAC,EAJWA,4BAAoB,KAApBA,4BAAoB;;ACApBC;IAAZ,WAAY,UAAU;QACpB,6BAAe,CAAA;QACf,4CAA8B,CAAA;QAC9B,4CAA8B,CAAA;QAC9B,0CAA4B,CAAA;QAC5B,0CAA4B,CAAA;QAC5B,4CAA8B,CAAA;QAC9B,+BAAiB,CAAA;QACjB,iCAAmB,CAAA;IACrB,CAAC,EATWA,kBAAU,KAAVA,kBAAU;;ACAVC;IAAZ,WAAY,YAAY;QACtB,6CAA6B,CAAA;QAC7B,kCAAkB,CAAA;QAClB,8BAAc,CAAA;QACd,mCAAmB,CAAA;QACnB,wCAAwB,CAAA;QACxB,oCAAoB,CAAA;QACpB,8CAA8B,CAAA;QAC9B,6CAA6B,CAAA;IAC/B,CAAC,EATWA,oBAAY,KAAZA,oBAAY;;ACAZC;IAAZ,WAAY,WAAW;QACrB,oCAAqB,CAAA;QACrB,+BAAgB,CAAA;QAChB,kCAAmB,CAAA;QACnB,kCAAmB,CAAA;QACnB,gCAAiB,CAAA;QACjB,mCAAoB,CAAA;IACtB,CAAC,EAPWA,mBAAW,KAAXA,mBAAW;;ACAXC;IAAZ,WAAY,SAAS;QACnB,4BAAe,CAAA;QACf,8BAAiB,CAAA;QACjB,+BAAkB,CAAA;QAClB,8BAAiB,CAAA;QACjB,gCAAmB,CAAA;IACrB,CAAC,EANWA,iBAAS,KAATA,iBAAS;;ACATC;IAAZ,WAAY,cAAc;QACxB,4CAA0B,CAAA;QAC1B,sCAAoB,CAAA;QACpB,qCAAmB,CAAA;QACnB,sCAAoB,CAAA;IACtB,CAAC,EALWA,sBAAc,KAAdA,sBAAc;;ACAdC;IAAZ,WAAY,aAAa;QACvB,2CAAqB,CAAA;QACrB,oDAAmC,CAAA;QACnC,sDAAqC,CAAA;QACrC,sDAAqC,CAAA;QACrC,gDAA+B,CAAA;QAC/B,qDAAoC,CAAA;IACtC,CAAC,EAPWA,qBAAa,KAAbA,qBAAa;;ACAbC;IAAZ,WAAY,QAAQ;QAClB,wCAA4B,CAAA;QAC5B,iCAAqB,CAAA;QACrB,+BAAmB,CAAA;QACnB,2BAAe,CAAA;QACf,6CAA4B,CAAA;QAC5B,qCAAyB,CAAA;IAC3B,CAAC,EAPWA,gBAAQ,KAARA,gBAAQ;;ACARC;IAAZ,WAAY,aAAa;QACvB,+BAAc,CAAA;IAChB,CAAC,EAFWA,qBAAa,KAAbA,qBAAa;;ACAbC;IAAZ,WAAY,aAAa;QACvB,qEAA0C,CAAA;QAC1C,oCAAmB,CAAA;IACrB,CAAC,EAHWA,qBAAa,KAAbA,qBAAa;;ACAbC;IAAZ,WAAY,WAAW;QACrB,iDAAwB,CAAA;QACxB,8CAAqB,CAAA;QACrB,+DAAsC,CAAA;IACxC,CAAC,EAJWA,mBAAW,KAAXA,mBAAW;;ACAXC;IAAZ,WAAY,MAAM;QAChB,2BAAiB,CAAA;QACjB,iCAAuB,CAAA;IACzB,CAAC,EAHWA,cAAM,KAANA,cAAM;;ICAlB;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;QCxO6B,2BAAkB;QAA/C;;SAeC;QAHC,kCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;sBACF;KAfD,CAA6B,SAAkB;;;QCElB,2BAAkB;QAA/C;;SA4GC;QAHC,kCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;sBACF;KA5GD,CAA6B,SAAkB,GA4G9C;IAnFC;QADCC,uBAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;iDACd;IAEpB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;iDACd;IAEpB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;;yDACf;IAE5B;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;iDACd;IAEpB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;+CACd;IAElB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;;sDACd;IAEzB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;mDACd;IAEtB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;gDACd;IAEnB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;gDACd;IAEnB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;;qDACd;IAExB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;+CACd;IAElB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;mDACd;IAEtB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;;mDACf;IAEtB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;;mDACf;IAEtB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;;oDACf;IAEvB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;8CACd;IAEjB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;gDACf;IAEnB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;;0DACd;IAE9B;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;2CACb;IAEf;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;gDACd;IAEnB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;;kDACd;IAErB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;;kDACd;IAErB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;mDACd;IAEtB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;8CACd;IAEjB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;;kDACd;IAErB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;;yDACf;IAE5B;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;mDACd;IAEtB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;+CACd;IAElB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;;sDACjB;IAEtB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;iDACd;IAEpB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;;uDACf;IAE1B;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;8CACd;IAEjB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;iDACb;IAErB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;;oDACd;IAEvB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;;4CACd;IAEf;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;8CACd;IAEjB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;+CACd;IAElB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;iDACd;IAEpB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;8CACf;IAEjB;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;;sDACf;;;QCrGjB,uCAA8B;QADxC;;SAgBC;QAHC,8CAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;kCACF;KAhBD,CACU,SAA8B,GAevC;IALC;QADCC,qBAAI,CAAC,cAAM,OAAA,OAAO,GAAA,CAAC;kCACX,OAAO;wDAAA;;;QChBoB,2BAAkB;QAAxD;;SAkBC;sBAAA;KAlBD,CAAsC,SAAkB;;;QCHtD;YAAY,cAAmB;iBAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;gBAAnB,yBAAmB;;YAC7B,MAAM,CAAC,MAAM,OAAb,MAAM,iBAAQ,IAAI,UAAK,IAAI,IAAC;SAC7B;mBACF;KAAA;;ACJWC;IAAZ,WAAY,YAAY;QACtB,uDAAY,CAAA;QACZ,2DAAc,CAAA;QACd,iEAAiB,CAAA;IACnB,CAAC,EAJWA,oBAAY,KAAZA,oBAAY;;ACAZC;IAAZ,WAAY,aAAa;QACvB,2DAAa,CAAA;QACb,mEAAiB,CAAA;QACjB,mEAAiB,CAAA;IACnB,CAAC,EAJWA,qBAAa,KAAbA,qBAAa;;;QCYf,0BAAwB;QADlC;;SAyCC;QAhBC,sBAAI,gCAAY;iBAAhB;gBACE,OAAO,CAACC,YAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;aACpC;;;WAAA;QAED,iCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;QAED,gCAAe,GAAf,UAAgB,MAAc;YAC5B,QAAQ,IAAI,CAAC,YAAY;gBACvB,KAAKF,oBAAY,CAAC,QAAQ;oBACxB,OAAO,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAA;gBACxD,KAAKA,oBAAY,CAAC,UAAU;oBAC1B,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAA;aACvC;SACF;qBACF;KAzCD,CACU,SAAwB,GAwCjC;IApBC;QADCF,uBAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;gDACP;IAE3B;QADCA,uBAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;;mDACN;;;QC9BK,oCAA2B;QAAjE;;SAWC;QAHC,2CAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;+BACF;KAXD,CAAsC,SAA2B;;;QCE9B,iCAAwB;QAA3D;;SAiBC;QAXC,+BAAO,GAAP;YACE,IAAM,KAAK,GAAG,iBAAM,OAAO,WAAE,CAAA;YAE7B,OAAO,KAAK,CAAC,EAAE,CAAA;YAEf,OAAO,KAAK,CAAA;SACb;QAED,wCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;4BACF;KAjBD,CAAmC,SAAwB;;;QCIjC,wBAAe;QAAzC;;SAuCC;QApBQ,eAAU,GAAjB,UAAiD,IAA4D;YAC3G,IAAM,QAAQ,GAAG,OAAM,UAAU,YAAO,IAAI,CAAC,CAAA;YAE7C,IAAI,CAACI,YAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBACxB,QAAQ,CAAC,WAAW,GAAG,KAAG,IAAI,CAAC,SAAS,IAAG,CAACA,YAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAI,IAAI,CAAC,QAAU,GAAG,EAAE,CAAE,CAAA;YAE/F,OAAO,QAAe,CAAA;SACvB;QAED,+BAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;QAED,sBAAO,GAAP;YACE,IAAM,KAAK,GAAG,iBAAM,OAAO,WAAE,CAAA;YAE7B,OAAO,KAAK,CAAC,aAAa,CAAA;YAE1B,OAAO,KAAK,CAAA;SACb;mBACF;KAvCD,CAA0B,SAAe,GAuCxC;IAtBC;QADCH,qBAAI,CAAC,cAAM,OAAA,aAAa,GAAA,CAAC;kCACV,aAAa;+CAAA;;;QCbG,gCAAuB;QAAzD;;SA8BC;QAHC,uCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;2BACF;KA9BD,CAAkC,SAAuB,GA8BxD;IAjBC;QADCA,qBAAI,CAAC,cAAM,OAAA,IAAI,GAAA,CAAC;kCACX,IAAI;8CAAA;IAEV;QADCA,qBAAI,CAAC,cAAM,OAAA,gBAAgB,GAAA,CAAC;kCACX,gBAAgB;0DAAA;IAElC;QADCA,qBAAI,CAAC,cAAM,OAAA,OAAO,GAAA,CAAC;kCACH,OAAO;yDAAA;IAExB;QADCA,qBAAI,CAAC,cAAM,OAAA,OAAO,GAAA,CAAC;kCACH,OAAO;wDAAA;IAExB;QADCA,qBAAI,CAAC,cAAM,OAAA,MAAM,GAAA,CAAC;kCACV,MAAM;gDAAA;IAEf;QADCA,qBAAI,CAAC,cAAM,OAAA,OAAO,GAAA,CAAC;;kDACD;IAEnB;QADCA,qBAAI,CAAC,cAAM,OAAA,mBAAmB,GAAA,CAAC;;iDACD;;;QCpCA,+BAAO;QAAxC;;SAOC;QAHC,sCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;0BACF;KAPD,CAAiC,OAAO;;;QCAD,qCAA4B;QAAnE;;SAcC;QAHC,4CAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;gCACF;KAdD,CAAuC,SAA4B;;;QCCzC,wBAAe;QAAzC;;SAQC;QAHC,+BAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;mBACF;KARD,CAA0B,SAAe;;;QCJF,qCAAK;QAC1C,2BAAqB,OAAO;YAA5B,YACE,kBAAM,OAAO,CAAC,SACf;YAFoB,aAAO,GAAP,OAAO,CAAA;;SAE3B;gCACF;KAJD,CAAuC,KAAK;;ACMhCI;IAAZ,WAAY,aAAa;QACvB,kDAAiC,CAAA;QACjC,kCAAiB,CAAA;IACnB,CAAC,EAHWA,qBAAa,KAAbA,qBAAa,QAGxB;;QAUC,wBAA6B,WAAkC,EAAmB,cAA8B;YAAnF,gBAAW,GAAX,WAAW,CAAuB;YAAmB,mBAAc,GAAd,cAAc,CAAgB;SAAI;QAE9G,+BAAM,GAAN,UAAO,EAAiC,EAAE,YAA0B;gBAA3D,KAAK,WAAA,EAAE,QAAQ,cAAA;;;;;;4BACtB,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;4BACnC,qBAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAA;;4BAA9D,QAAQ,GAAG,SAAmD;4BAC9D,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;4BAE9C,IAAI,CAACD,YAAK,CAAC,IAAI,CAAC;gCAAE,sBAAO,IAAI,EAAA;4BAC7B,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gCAAE,sBAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAA;4BAEzF,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,CAAA;;;aACnD;SAAA;QAEO,2CAAkB,GAAlB,UAAmB,YAA0B;YACnD,OAAO,YAAY,KAAKC,qBAAa,CAAC,cAAc,GAAG,4BAA4B,GAAG,kBAAkB,CAAA;SACzG;QAEa,gDAAuB,GAAvB,UAAwB,IAAmB;;;;;oBACjD,KAAA,OAAwB,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK,CAAC,IAAI,CAAC,IAAA,EAApD,SAAS,QAAA,EAAE,QAAQ,QAAA,CAAiC;oBACrD,MAAM,GAAG,IAAI,CAAC,UAAU,iCACzB,IAAI,KACP,GAAG,EAAE,EAAE,EACP,QAAQ,EAAE,IAAI,IAAI,EAAE,EACpB,SAAS,WAAA;wBACT,QAAQ,UAAA,EACR,iBAAiB,EAAE,KAAK,EACxB,IAAI,EAAE5B,YAAI,CAAC,aAAa,EACxB,cAAc,EAAEgB,sBAAc,CAAC,MAAM,EACrC,IAAI,EAAEE,gBAAQ,CAAC,YAAY,IAC3B,CAAA;oBAEF,sBAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAA;;;SAC1C;6BACF;KAAA;;;QCpD+C,8CAAK;QACnD,oCAAqB,OAAO;YAA5B,YACE,kBAAM,OAAO,CAAC,SACf;YAFoB,aAAO,GAAP,OAAO,CAAA;;SAE3B;yCACF;KAJD,CAAgD,KAAK;;;QCAd,qCAAK;QAC1C,2BAAqB,OAAyB;YAAzB,wBAAA,EAAA,yBAAyB;YAA9C,YACE,kBAAM,OAAO,CAAC,SACf;YAFoB,aAAO,GAAP,OAAO,CAAkB;;SAE7C;gCACF;KAJD,CAAuC,KAAK;;;QCQ1C,kBAA6B,eAAgC,EAAmB,cAA8B;YAAjF,oBAAe,GAAf,eAAe,CAAiB;YAAmB,mBAAc,GAAd,cAAc,CAAgB;SAAI;QAE5G,2BAAQ,GAAR,UAAS,MAAsB;;;;;;4BAC7B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAA;4BACxC,WAAW,GAAM,MAAM,CAAC,SAAS,SAAI,MAAM,CAAC,QAAU,CAAA;4BAExD,qBAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAA;;4BAArE,IAAI,SAAiE;gCACnE,MAAM,IAAI,0BAA0B,CAAC,0BAAmB,MAAM,CAAC,GAAG,yBAAiB,CAAC,CAAA;4BAClF,qBAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAA;;4BAAzE,IAAI,SAAqE;gCACvE,MAAM,IAAI,0BAA0B,CAAC,6BAAsB,MAAM,CAAC,KAAK,yBAAiB,CAAC,CAAA;4BAE9E,qBAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;oCAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ;oCACzB,KAAK,OAAA;oCACL,SAAS,EAAE,MAAM,CAAC,SAAS;oCAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oCACzB,GAAG,EAAE,MAAM,CAAC,GAAG;oCACf,WAAW,aAAA;oCACX,KAAK,EAAE,MAAM,CAAC,KAAK;oCACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iCAC1B,CAAC,EAAA;;4BATI,IAAI,GAAG,SASX;4BAEF,OAAO,MAAM,CAAC,QAAQ,CAAA;4BAET,qBAAM,IAAI,CAAC,cAAc,CAAC,MAAM,iCACxC,MAAM,KACT,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,KAAK,OAAA;oCACL,WAAW,aAAA,EACX,IAAI,EAAEA,gBAAQ,CAAC,GAAG,EAClB,WAAW,EAAE,IAAI,IAAI,EAAE,EACvB,YAAY,EAAE,IAAI,IAAI,EAAE,IACxB,EAAA;;4BARI,IAAI,GAAG,SAQX;4BAEF,sBAAO,IAAI,EAAA;;;aACZ;SAAA;uBACF;KAAA;;;QCzCC,iBAA6B,WAAkC;YAAlC,gBAAW,GAAX,WAAW,CAAuB;SAAI;QAE7D,yBAAO,GAAP;;;;gCACJ,qBAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAA;;4BAAhC,SAAgC,CAAA;;;;aACjC;SAAA;sBACF;KAAA;;;QCLC,0BAA6B,WAAkC;YAAlC,gBAAW,GAAX,WAAW,CAAuB;SAAI;QAE7D,oCAAS,GAAT,UAAU,KAAa;;;;gCAC3B,qBAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAA;;4BAApD,SAAoD,CAAA;;;;aACrD;SAAA;+BACF;KAAA;;ACRWW;IAAZ,WAAY,KAAK;QACf,kCAAyB,CAAA;QACzB,8BAAqB,CAAA;QACrB,kCAAyB,CAAA;IAC3B,CAAC,EAJWA,aAAK,KAALA,aAAK;;;QCKa,4BAAmB;QAAjD;;SAqBC;QAHC,mCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;uBACF;KArBD,CAA8B,SAAmB;;;QCCpB,2BAAkB;QAA/C;;SAwCC;QAXC,kCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;QAED,+BAAa,GAAb,UAAc,IAAW;;YACvB,sDACM,CAAA,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAG,IAAI,CAAC,0CAAE,WAAW,IAAG,EAAE,WAAW,EAAE,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAG,IAAI,CAAC,0CAAE,WAAW,EAAE,GAAG,EAAE,KACnG,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAG,IAAI,CAAC,KAAI,EAAE,KACxB,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAG,IAAI,CAAC,KAAI,EAAE,GAC7B;SACF;sBACF;KAxCD,CAA6B,SAAkB;;;QCFlB,2BAAkB;QAA/C;;SAcC;QAHC,kCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;sBACF;KAdD,CAA6B,SAAkB;;ACJnCC;IAAZ,WAAY,aAAa;QACvB,2DAAa,CAAA;QACb,iEAAgB,CAAA;IAClB,CAAC,EAHWA,qBAAa,KAAbA,qBAAa;;;QCMO,8BAAkB;QAAlD;YAAA,6EASC;YALC,kBAAY,GAAGA,qBAAa,CAAC,YAAY,CAAA;;SAK1C;QAHQ,uBAAY,GAAnB,UAAoB,MAAc;YAChC,OAAO,MAAM,YAAY,UAAU,CAAA;SACpC;yBACF;KATD,CAAgC,MAAkB,GASjD;IALC;QADCP,uBAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;oDACO;;;QCHV,+BAAmB;QAApD;YAAA,6EAUC;YARC,kBAAY,GAAGO,qBAAa,CAAC,SAAS,CAAA;;SAQvC;QAHQ,yBAAa,GAApB,UAAqB,MAAc;YACjC,OAAO,MAAM,YAAY,WAAW,CAAA;SACrC;0BACF;KAVD,CAAiC,MAAmB,GAUnD;IARC;QADCP,uBAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;qDACI;IAGtC;QADCC,qBAAI,CAAC,cAAM,OAAA,QAAQ,GAAA,CAAC;;mDACE;;ACZbO;IAAZ,WAAY,WAAW;QACrB,4DAA6C,CAAA;QAC7C,+CAAgC,CAAA;QAChC,iDAAkC,CAAA;QAClC,8DAA+C,CAAA;QAC/C,yCAA0B,CAAA;QAC1B,2CAA4B,CAAA;QAC5B,sCAAuB,CAAA;QACvB,0CAA2B,CAAA;IAC7B,CAAC,EATWA,mBAAW,KAAXA,mBAAW;;;QCEO,4BAAO;QAArC;;SAMC;uBAAA;KAND,CAA8B,OAAO;;;QCED,kCAAyB;QAA7D;;SAiBC;QAHC,yCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;6BACF;KAjBD,CAAoC,SAAyB;;;QCS/B,4BAAmB;QAAjD;;SAqCC;QAbC,sBAAI,mCAAa;iBAAjB;gBACE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,IAAI;oBACvC,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAA;iBAC9B,EAAE,CAAC,CAAC,CAAA;aACN;;;WAAA;QAED,sBAAI,gCAAU;iBAAd;gBACE,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAA;aACvC;;;WAAA;QAED,mCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;uBACF;KArCD,CAA8B,SAAmB,GAqChD;IAzBC;QADCP,qBAAI,CAAC,cAAM,OAAA,QAAQ,GAAA,CAAC;;+CACC;IAEtB;QADCA,qBAAI,CAAC,cAAM,OAAA,IAAI,GAAA,CAAC;kCACV,IAAI;0CAAA;IAEX;QADCA,qBAAI,CAAC,cAAM,OAAA,OAAO,GAAA,CAAC;kCACF,OAAO;qDAAA;IAEzB;QADCA,qBAAI,CAAC,cAAM,OAAA,OAAO,GAAA,CAAC;kCACH,OAAO;oDAAA;IAExB;QADCA,qBAAI,CAAC,cAAM,OAAA,cAAc,GAAA,CAAC;kCAChB,cAAc;8CAAA;IAEzB;QADCA,qBAAI,CAAC,cAAM,OAAA,WAAW,GAAA,CAAC;kCACf,WAAW;4CAAA;;;QC7BK,yBAAQ;QAAnC;;SAOC;oBAAA;KAPD,CAA2B,QAAQ,GAOlC;IADC;QADCA,qBAAI,CAAC,cAAM,OAAA,OAAO,GAAA,CAAC;kCACX,OAAO;0CAAA;;;QCAR,wCAA+B;QADzC;;SA0BC;QAHC,+CAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;mCACF;KA1BD,CACU,SAA+B,GAyBxC;IAXC;QADCA,qBAAI,CAAC,cAAM,OAAA,OAAO,GAAA,CAAC;kCACH,OAAO;iEAAA;IAExB;QADCA,qBAAI,CAAC,cAAM,OAAA,OAAO,GAAA,CAAC;kCACH,OAAO;gEAAA;IAExB;QADCA,qBAAI,CAAC,cAAM,OAAA,gBAAgB,GAAA,CAAC;kCACX,gBAAgB;kEAAA;IAElC;QADCA,qBAAI,CAAC,cAAM,OAAA,MAAM,GAAA,CAAC;kCACV,MAAM;wDAAA;;;QCzBY,2BAAkB;QAA/C;;SAkBC;QAHC,kCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;sBACF;KAlBD,CAA6B,SAAkB,GAkB9C;IALC;QADCA,qBAAI,CAAC,cAAM,OAAA,QAAQ,GAAA,CAAC;;+CACC;;ACpBZQ;IAAZ,WAAY,UAAU;QACpB,0DAA4C,CAAA;QAC5C,8CAAgC,CAAA;QAChC,sCAAwB,CAAA;QACxB,mEAAqD,CAAA;QACrD,4CAA8B,CAAA;QAC9B,sCAAwB,CAAA;QACxB,0CAA4B,CAAA;QAC5B,qDAAuC,CAAA;QACvC,qDAAuC,CAAA;QACvC,6CAA+B,CAAA;QAC/B,4CAA8B,CAAA;QAC9B,0DAA4C,CAAA;QAC5C,sCAAwB,CAAA;QACxB,4CAA8B,CAAA;QAC9B,0CAA4B,CAAA;QAC5B,oCAAsB,CAAA;QACtB,4CAA8B,CAAA;IAChC,CAAC,EAlBWA,kBAAU,KAAVA,kBAAU;;ACAVC;IAAZ,WAAY,gBAAgB;QAC1B,gGAAkE,CAAA;QAClE,8EAAqD,CAAA;QACrD,4FAAmE,CAAA;QACnE,2IAA6G,CAAA;QAC7G,iHAA8E,CAAA;QAC9E,4DAAwC,CAAA;QACxC,mEAA0C,CAAA;QAC1C,qGAA4E,CAAA;QAC5E,mFAA+D,CAAA;QAC/D,4DAAwC,CAAA;QACxC,0IAAiH,CAAA;QACjH,+FAAsE,CAAA;QACtE,8EAAqD,CAAA;QACrD,yGAAgF,CAAA;QAChF,6DAAoC,CAAA;QACpC,2DAAkC,CAAA;QAClC,wHAA+F,CAAA;IACjG,CAAC,EAlBWA,wBAAgB,KAAhBA,wBAAgB;;;QCO5B;SA2CC;QA1CQ,gCAAU,GAAjB,UAAkB,MAAkB;YAClC,QAAQ,MAAM;gBACZ,KAAKD,kBAAU,CAAC,oBAAoB;oBAClC,OAAOE,4BAA4B,CAAA;gBACrC,KAAKF,kBAAU,CAAC,cAAc;oBAC5B,OAAOG,qBAAqB,CAAA;gBAC9B,KAAKH,kBAAU,CAAC,UAAU;oBACxB,OAAOI,kBAAkB,CAAA;gBAC3B,KAAKJ,kBAAU,CAAC,yBAAyB;oBACvC,OAAOK,gCAAgC,CAAA;gBACzC,KAAKL,kBAAU,CAAC,aAAa;oBAC3B,OAAOM,oBAAoB,CAAA;gBAC7B,KAAKN,kBAAU,CAAC,UAAU;oBACxB,OAAOO,kBAAkB,CAAA;gBAC3B,KAAKP,kBAAU,CAAC,YAAY;oBAC1B,OAAOQ,mBAAmB,CAAA;gBAC5B,KAAKR,kBAAU,CAAC,kBAAkB;oBAChC,OAAOS,0BAA0B,CAAA;gBACnC,KAAKT,kBAAU,CAAC,kBAAkB;oBAChC,OAAOU,wBAAwB,CAAA;gBACjC,KAAKV,kBAAU,CAAC,cAAc;oBAC5B,OAAOW,qBAAqB,CAAA;gBAC9B,KAAKX,kBAAU,CAAC,aAAa;oBAC3B,OAAOY,qBAAqB,CAAA;gBAC9B,KAAKZ,kBAAU,CAAC,oBAAoB;oBAClC,OAAOa,4BAA4B,CAAA;gBACrC,KAAKb,kBAAU,CAAC,UAAU;oBACxB,OAAOc,kBAAkB,CAAA;gBAC3B,KAAKd,kBAAU,CAAC,aAAa;oBAC3B,OAAOe,oBAAoB,CAAA;gBAC7B,KAAKf,kBAAU,CAAC,YAAY;oBAC1B,OAAOgB,mBAAmB,CAAA;gBAC5B,KAAKhB,kBAAU,CAAC,SAAS;oBACvB,OAAOiB,iBAAiB,CAAA;gBAC1B,KAAKjB,kBAAU,CAAC,aAAa;oBAC3B,OAAOkB,qBAAqB,CAAA;aAC/B;SACF;QAEM,kCAAY,GAAnB,UAAoB,MAAkB;YACpC,OAAOjB,wBAAgB,CAAC,MAAM,CAAC,CAAA;SAChC;oCACF;KAAA;;;QC/CyB,wBAAe;QAAzC;;SAiBC;QAHC,+BAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;mBACF;KAjBD,CAA0B,SAAe;;;QCAX,4BAAmB;QAAjD;;SAOC;QAHC,mCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;uBACF;KAPD,CAA8B,SAAmB;;;QCHP,wCAAK;QAC7C,8BAAqB,OAAO;YAA5B,YACE,kBAAM,OAAO,CAAC,SACf;YAFoB,aAAO,GAAP,OAAO,CAAA;;SAE3B;mCACF;KAJD,CAA0C,KAAK;;;QCAJ,yCAAK;QAG9C,+BAAqB,IAAc;YAAnC,YACE,kBAAM,yBAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAG,CAAC,SAGhD;YAJoB,UAAI,GAAJ,IAAI,CAAU;YAGjC,KAAI,CAAC,SAAS,GAAG,IAAI,CAAA;;SACtB;oCACF;KARD,CAA2C,KAAK;;;QCAb,iCAAK;QACtC,uBAAqB,OAAO;YAA5B,YACE,kBAAM,OAAO,CAAC,SACf;YAFoB,aAAO,GAAP,OAAO,CAAA;;SAE3B;4BACF;KAJD,CAAmC,KAAK;;;QCAI,0CAAK;QAC/C,gCAAqB,OAAO;YAA5B,YACE,kBAAM,OAAO,CAAC,SACf;YAFoB,aAAO,GAAP,OAAO,CAAA;;SAE3B;qCACF;KAJD,CAA4C,KAAK;;;QCW/C,sBAA6B,MAAgC;YAAhC,WAAM,GAAN,MAAM,CAA0B;SAAI;QAE3D,4BAAK,GAAL,UAAM,KAAa,EAAE,KAAU;;;;;gCAClB,qBAAMkB,yBAAK,CAAC;gCAC3B,GAAG,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG,SAAI,KAAO;gCAClC,MAAM,EAAE,MAAM;gCACd,OAAO,EAAE,EAAE,aAAa,EAAE,WAAS,IAAI,CAAC,MAAM,CAAC,UAAY,EAAE;gCAC7D,IAAI,EAAE,KAAK;6BACZ,CAAC,EAAA;;4BALM,IAAI,GAAK,CAAA,SAKf,MALU;4BAOZ,sBAAO;oCACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;oCAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;iCACrB,EAAA;;;aACF;SAAA;2BACF;KAAA;;;QCtBC,uBAA6B,OAA8B;YAA9B,YAAO,GAAP,OAAO,CAAuB;SAAI;QAEzD,gCAAQ,GAAR,UAAS,GAAa,EAAE,OAA0D;;;;;;;4BAChF,cAAc,GAAG,OAAO,CAAC,IAAI,KAAKtB,aAAK,CAAC,QAAQ,GAAG,eAAe,GAAG,WAAW,CAAA;4BAChF,MAAM,GAAG;gCACb,OAAO;gCACP,IAAI;gCACJ,QAAQ;gCACR,YAAY;gCACZ,MAAM;gCACN,OAAO;gCACP,KAAK;gCACL,OAAO;gCACP,MAAM;gCACN,SAAS;gCACT,WAAW;gCACX,QAAQ;gCACR,OAAO;gCACP,QAAQ;gCACR,MAAM;gCACN,aAAa;6BACd,CAAA;4BACgB,qBAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,kBAC1D,OAAO,EAAE,MAAM,EACf,KAAK,EAAE;wCACL,IAAI,EAAE;4CACJ,MAAM;gDACJ;oDACE,KAAK,EAAE;wDACL,GAAG,EAAE,GAAG;qDACT;iDACF;gDACD;oDACE,IAAI;wDACF,GAAC,cAAc,IAAG,IAAI;2DACvB;iDACF;uDACG,OAAO,CAAC,QAAQ;kDAChB;oDACE;wDACE,KAAK,EAAE;4DACL,gBAAgB,EAAE;gEAChB,EAAE,EAAE,CAAC;6DACN;yDACF;qDACF;iDACF;kDACD,EAAE,GACP;yCACF;qCACF,KACG,OAAO,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAC9C,EAAA;;4BA9BM,IAAI,GAAK,CAAA,SA8Bf,MA9BU;4BAgCZ,sBAAO,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAA,CAAC,EAAA;;;aAC1D;SAAA;4BACF;KAAA;;QCrDY,aAAa,GAAG,UAA+C,SAAoB;QAC9F;YAAqB,2BAAS;YAK5B;gBAAY,cAAmB;qBAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;oBAAnB,yBAAmB;;uBAC7B,kBAAM,IAAI,CAAC;aACZ;YAED,4BAAU,GAAV,UAAW,IAAa;gBACtB,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;aACvG;YAED,oCAAkB,GAAlB;gBAAA,iBAkBC;gBAdC,OAAO;oBACL,WAAW,EAAE,UAAC,IAAW,IAAmB,QAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,IAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,IAAC;oBACnF,aAAa,EAAE,UAAC,IAAkC;wBAChD,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;wBAExB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;4BAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,YAAYuB,4BAAQ,CAAC,SAAS,CAAC,SAAS,EAAE;gCACrD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;6BAC/B;yBACF,CAAC,CAAA;wBAEF,OAAO,KAAI,CAAC,KAAK,CAAC,UAAU,iCAAM,IAAI,KAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAG,CAAA;qBACvD;iBACF,CAAA;aACF;0BACF;SAhCM,CAAc,SAAS,GAgC7B;IACH;;QClCa,WAAW,GAAG,UACzB,SAAiC;QAEjC;YAAqB,2BAAS;YAAvB;;aAcN;YAbC,yBAAO,GAAP,UAA8C,QAAuD;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC3B,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAC,GAA6B,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,GAAA,CAAC,CAAA;iBACnE;qBAAM;oBACL,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAA6B,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,GAAA,CAAC,CAAA;iBACxE;aACF;YAED,iCAAe,GAAf,UACE,UAAkC;gBAElC,OAAO,CAACzB,YAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,KAAK,kBAAkB,GAAA,CAAC,CAAC,CAAA;aAC3E;0BACF;SAdM,CAAc,SAAS,GAc7B;IACH;;QCpBa,gBAAgB,GAAG,UAC9B,SAAgF;QAEhF;YAAkC,gCAAS;YAApC;;aAiBN;YAhBO,0BAAG,GAAH,UAAI,WAAyC;;;;;oCACrC,qBAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;qCAC3E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;qCAClD,GAAG,EAAE,EAAA;;gCAFF,GAAG,GAAG,SAEJ;gCACF,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;gCAEvB,IAAIA,YAAK,CAAC,IAAI,CAAC;oCAAE,MAAM,IAAI,aAAa,CAAC,cAAY,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eAAY,CAAC,CAAA;gCAE7F,sBAAO,IAAI,EAAA;;;iBACZ;aAAA;YAED,gDAAyB,GAAzB,UAA0B,WAAyC;gBACjE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;sBAC1B,IAAI,CAAC,gBAAgB,CAAC,cAAc,SAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAI,IAAI,CAAC,cAAgB;sBACnG,IAAI,CAAC,cAAc,CAAA;aACxB;+BACF;SAjBM,CAA2B,SAAS,GAiB1C;IACH;;QCTa,iBAAiB,GAAG,UAC/B,SAAgF;QAEhF,IAAM,qBAAqB,GAAG,UAAC,MAAW,IACxC,OAAA,CAACA,YAAK,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,GAAA,CAAA;QAC1B,IAAM,kBAAkB,GAAG,UAAC,MAAuC;YACjE,OAAO,qBAAqB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAA;SAC7D,CAAA;QACD,IAAM,iBAAiB,GAAG,UAAC,KAAU,IACnC,OAAA0B,eAAQ,CAAC,KAAK,CAAC,IAAIC,eAAQ,CAAC,KAAK,CAAC,IAAIC,aAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;cACvE,KAAK;cACL,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAA,CAAA;QAEtC;YAAmC,iCAAS;YAArC;gBAAA,6EA8GN;gBA1EC,wBAAkB,GAAG,UACnB,cAAyD,EACzD,MAAqC,IAErC,OAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CACxB,UAAC,KAAmB,EAAE,SAAiB,IAAK,OAAA,KAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAA,EACxG,cAAc,CACf,GAAA,CAAA;gBAEH,wBAAkB,GAAG,UACnB,cAAyD,EACzD,SAAmD,EACnD,OAA8E;oBAE9E,IAAI,KAAI,CAAC,eAAe,CAAQ,KAAI,CAAC,IAAI,SAAS,KAAK,KAAI,CAAC,aAAa;wBAAE,OAAO,cAAc,CAAA;oBAEhG,IAAM,KAAK,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,OAAO,CAAA;oBACvC,IAAM,MAAM,GAAG,EAAE,CAAA;oBAEjBC,UAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;oBAE7B,IAAM,aAAa,GAAG,IAAI,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;oBACtD,IAAM,kBAAkB,GACtB,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;0BAClC,SAAS,CAAC,QAAQ,EAAE;0BACpB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,aAAa,CAAC,GAAG,CAAC,GAAA,CAAC,CAAA;oBAElE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK3D,aAAK,CAAC,IAAI,EAAE;wBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;4BAC/B,OAAO,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;wBAEtF,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;wBAC9E,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,EAAK,OAAO,CAAC,KAAK,MAAG,CAAC,CAAA;wBAEpF,OAAO,cAAc,CAAA;qBACtB;oBACD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAKA,aAAK,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;wBACjE,OAAO,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;oBAClF,IAAI4D,eAAQ,CAAC,OAAO,CAAC,IAAI9B,YAAK,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,IAAIA,YAAK,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,EAAE;wBAC1E,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAChC,UAAC,uBAAuB,EAAE,GAAG,IAC3B,OAAA,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAK,SAAS,SAAI,GAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAA,EACvF,cAAc,CACf,CAAA;qBACF;oBAED,OAAO,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,OAAO,CAAC,CAAA;iBACtG,CAAA;;aA2BF;YA7GO,4BAAI,GAAJ,UACJ,OAAyC,EACzC,MAAsC,EACtC,OAAsC;;;qCAmBvC;;;;gCAjBK,KAAK,GAA8C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAA;gCAEhH,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,UAAC,QAAQ,IAAK,QAAC,KAAK,GAAG,KAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAC,CAAC,CAAA;gCAElF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,UAAC,OAAO,IACvB,OAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,SAAS,IAAK,QAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,IAAC,CAAC,GAAA,CACpG,CAAA;gCAEO,qBAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAA;;gCAAvD,KAAK,GAAG,SAA+C,CAAA;gCAE1C,qBAAM,KAAK,CAAC,GAAG,EAAE,EAAA;;gCAAxB,IAAI,GAAG,SAAiB;gCACxB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,GAAA,CAAC,CAAA;gCAE/C,sBAAO;wCACL,IAAI,MAAA;wCACJ,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;qCACzC,EAAA;;;iBACF;aAAA;YAED,kDAA0B,GAA1B,UAA2B,OAAwC;;gBACjE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAQ,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC,cAAc,CAAA;gBAElE,IAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;gBACxC,IAAM,QAAQ,GAAG,kBAAkB,CACjC,MAAA,OAAO,CAAC,IAAI,CAAC,UAAC,WAAW,IAAK,OAAA,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,GAAA,CAAC,0CAAG,aAAa,CAAC,CACxG,CAAA;gBAED,OAAU,IAAI,CAAC,gBAAgB,CAAC,cAAc,SAAI,QAAQ,SAAI,IAAI,CAAC,cAAgB,CAAA;aACpF;YAmDK,oCAAY,GAAZ,UACJ,KAAgD,EAChD,OAAwC,EACxC,MAAqC;;;;;;sCAEjC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAd,wBAAc;sCACZ,MAAM,CAAC,MAAM,YAAY,IAAI,CAAC,KAAK,CAAA,EAAnC,wBAAmC;gCAC7B,KAAA,CAAA,KAAA,KAAK,EAAC,UAAU,CAAA;gCACtB,qBAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;yCAC5D,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAY,CAAC,CAAC;yCACtE,GAAG,EAAE,EAAA;;gCAHV,KAAK,GAAG,cACN,SAEQ,EACT,CAAA;;;gCACE,IAAI0B,eAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAIC,eAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;oCAAE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;;;gCAEnG,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK;oCAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gCAEpD,sBAAO,KAAK,EAAA;;;iBACb;aAAA;YAED,sCAAc,GAAd,UAAe,IAAa,EAAE,MAAqC;gBACjE,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAA;gBAC9B,IAAI,IAAI,CAAC,MAAM,IAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA;oBAAE,OAAO,IAAI,CAAC,MAAM,CAAA;gBAEnD,OAAO,QAAQ,CAAA;aAChB;gCACF;SA9GM,CAA4B,SAAS,GA8G3C;IACH;;QCvIa,mBAAmB,GAAG,UACjC,SAAgF;QAEhF;YAAqC,mCAAS;YAAvC;;aAyBN;YAxBO,gCAAM,GAAN,UAAO,IAAoB;;;;;oCAChB,qBAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAA;;gCAArD,MAAM,GAAG,SAA4C;gCAC/C,qBAAM,MAAM,CAAC,GAAG,EAAE,EAAA;;gCAAxB,GAAG,GAAG,SAAkB;gCAE9B,sBAAO,GAAG,CAAC,IAAI,EAAE,EAAA;;;iBAClB;aAAA;YAEK,8BAAI,GAAJ,UAAK,IAAW;;;;;;;gCACd,EAAE,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,CAAC,0CAAE,QAAQ,EAAE,CAAA;gCACtD,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAA;gCAE3D,IAAII,cAAO,CAAC,EAAE,CAAC;oCAAE,sBAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAA;gCAE3D,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gCACtD,qBAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAA;;gCAAtB,SAAsB,CAAA;gCAEtB,sBAAO,MAAM,EAAA;;;;aACd;YAED,mDAAyB,GAAzB,UAA0B,WAA2B;gBACnD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;sBAC1B,IAAI,CAAC,gBAAgB,CAAC,cAAc,SAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAI,IAAI,CAAC,cAAgB;sBACnG,IAAI,CAAC,cAAc,CAAA;aACxB;kCACF;SAzBM,CAA8B,SAAS,GAyB7C;IACH;;QCtBa,mBAAmB,GAAG,UACjC,SAAgF;QAEhF,IAAM,kBAAkB,GAAG,UACzB,MAAqC,EACrC,KAAsC,YAEtC,OAAA,CAAC/B,YAAK,CAAC,MAAA,MAAM,CAAC,KAAe,CAAC,0CAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAe,CAAC,GAAG,MAAM,CAAC,KAAe,CAAC,CAAC,KAAK,KAAK,IAAI,CAAA,EAAA,CAAA;QAC3G,IAAM,gBAAgB,GAAG,UAAC,OAA6B;YACrD,IAAM,WAAW,GAAGyB,4BAAQ,CAAC,SAAS,CAAC,UAAU,CAAA;YAEjD,IAAIzB,YAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,OAAO,CAAA;YACzC,IAAI,OAAO,CAAC,MAAM,KAAK7B,2BAAmB,CAAC,YAAY;gBAAE,OAAO,WAAW,CAAC,MAAM,EAAE,CAAA;YACpF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAChC,IAAI,OAAO,CAAC,MAAM,KAAKA,2BAAmB,CAAC,KAAK;oBAAE,OAAO,WAAW,CAAC,UAAU,OAAtB,WAAW,2BAAe,OAAO,CAAC,KAAK,IAAC;gBACjG,IAAI,OAAO,CAAC,MAAM,KAAKA,2BAAmB,CAAC,MAAM;oBAAE,OAAO,WAAW,CAAC,WAAW,OAAvB,WAAW,2BAAgB,OAAO,CAAC,KAAK,IAAC;aACpG;YAED,OAAO,OAAO,CAAC,KAAK,CAAA;SACrB,CAAA;QAED;YAAqC,mCAAS;YAAvC;;aAiCN;YAhCO,gCAAM,GAAN,UAAO,IAAmC;;;;;;gCACxC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAA;gCACxB,QAAQ,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,CAAA;gCAC3C,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CACzE,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAC9C,CAAA;gCAED,qBAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;;gCAA3D,SAA2D,CAAA;gCAE/C,qBAAM,MAAM,CAAC,GAAG,EAAE,EAAA;;gCAAxB,GAAG,GAAG,SAAkB;gCAE9B,sBAAO,GAAG,CAAC,IAAI,EAAE,EAAA;;;iBAClB;aAAA;YAED,sDAA4B,GAA5B,UAA6B,WAA0C;gBACrE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;sBAC1B,IAAI,CAAC,gBAAgB,CAAC,cAAc,SAAI,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,SAC5F,IAAI,CAAC,cACL;sBACF,IAAI,CAAC,cAAc,CAAA;aACxB;YAED,uCAAa,GAAb,UAAc,MAAqC;gBACjD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBAExB,IAAI,MAAM,YAAY,KAAK;oBAAE,OAAO,MAAM,CAAA;gBAE1C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC/B,UAAC,IAAI,EAAE,UAAU;;oBAAK,wCAAM,IAAI,aAAE,GAAC,UAAU,IAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;iBAAG,EACvF,EAAE,CACH,CAAA;aACF;kCACF;SAjCM,CAA8B,SAAS,GAiC7C;IACH;;QChEa,mBAAmB,GAAG,UACjC,SAAgF;QAEhF;YAAqC,mCAAS;YAAvC;;aAYN;YAXO,gCAAM,GAAN,UAAO,WAAyC;;;;oCACpD,qBAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;qCAClE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;qCAClD,MAAM,EAAE,EAAA;;gCAFX,SAEW,CAAA;;;;iBACZ;aAAA;YAED,sDAA4B,GAA5B,UAA6B,WAAyC;gBACpE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;sBAC1B,IAAI,CAAC,gBAAgB,CAAC,cAAc,SAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAI,IAAI,CAAC,cAAgB;sBACnG,IAAI,CAAC,cAAc,CAAA;aACxB;kCACF;SAZM,CAA8B,SAAS,GAY7C;IACH;;QCda,iBAAiB,GAAG,UAK/B,SAA6D,EAC7D,WAAkC;QAElC;YACU,oCAAS;YAMjB;gBAAY,cAAmB;qBAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;oBAAnB,yBAAmB;;uBAC7B,kBAAM,IAAI,CAAC;aACZ;YAED,qCAAU,GAAV,UAAW,IAAa;gBACtB,OAAO,iBAAM,UAAU,YAAC,IAAI,CAAC,CAAA;aAC9B;mCACF;SAdM,CACG,SAAS,GAalB;IACH;;QCnBa,iBAAiB,GAAG,UAC/B,SAAgF;QAEhF;YACU,iCAEP;YAHI;;aAI8B;gCAAA;SAAA,CAH3B,mBAAmB,CACzB,gBAAgB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACzF,GACkC;IACvC;;;QCVU,mDAAiE;QAGzE,yCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,cAAc,CAAA;YACpC,KAAI,CAAC,KAAK,GAAG,YAAY,CAAA;;SAC1B;8CACF;KAAA,CARS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAe,IAAI,CAAC,CAAC,CAAC;;ICN3E;QAAgC,8BAAqB;QAArD;;SAUC;QAHC,qCAAgB,GAAhB;YACE,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;yBACF;KAVD,CAAgC,SAAqB;;;QCM3C,iDAA+D;QAGvE,uCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,YAAY,CAAA;YAClC,KAAI,CAAC,KAAK,GAAG,UAAU,CAAA;;SACxB;4CACF;KAAA,CARS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAa,IAAI,CAAC,CAAC,CAAC;;;QCC/D,6CAAyD;QAGjE,iCACW,SAA4B,EACpB,6BAA4E;YAA5E,8CAAA,EAAA,oCAAoC,6BAA6B,CAAC,SAAS,CAAC;YAF/F,YAIE,mBAAO,SAGR;YANU,eAAS,GAAT,SAAS,CAAmB;YACpB,mCAA6B,GAA7B,6BAA6B,CAA+C;YAG7F,KAAI,CAAC,cAAc,GAAG,OAAO,CAAA;YAC7B,KAAI,CAAC,KAAK,GAAG,IAAI,CAAA;;SAClB;QAEK,qCAAG,GAAH,UAAI,WAA0B;;;;;;;;gCACrB,qBAAM,OAAM,GAAG,YAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,EAAA;;4BAA9C,IAAI,GAAG,SAAuC;4BAEpD,KAAA,IAAI,CAAA;4BAAiB,qBAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAA;;4BAAzD,GAAK,aAAa,GAAG,SAAoC,CAAA;4BACzD,KAAA,IAAI,CAAA;4BAAgB,qBAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAA;;4BAA3D,GAAK,YAAY,GAAG,SAAuC,CAAA;4BAE3D,sBAAO,IAAI,EAAA;;;aACZ;SAAA;QAEK,sDAAoB,GAApB,UAAqB,KAAa,EAAE,KAAa;;;;;;gCACtC,qBAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAG,GAAC,KAAK,IAAG,EAAE,QAAQ,EAAED,aAAK,CAAC,MAAM,EAAE,KAAK,OAAA,EAAE,MAAG,CAAC,EAAA;;4BAAxG,MAAM,GAAG,SAA+F;4BAE9G,sBAAO,MAAM,CAAC,KAAK,GAAG,CAAC,EAAA;;;aACxB;SAAA;QAED,oDAAkB,GAAlB;YAIQ,IAAA,KAAiC,mBAAM,kBAAkB,WAAE,EAAzD,aAAa,mBAAA,EAAE,WAAW,iBAA+B,CAAA;YAEjE,OAAO;gBACL,WAAW,EAAE,UAAC,IAAU;oBACtB,IAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;oBAE/B,OAAO,KAAK,CAAC,YAAY,CAAA;oBAEzB,OAAO,KAAK,CAAA;iBACb;gBACD,aAAa,eAAA;aACd,CAAA;SACF;QAEa,kDAAgB,GAAhB,UAAiB,MAAc;;;;;gCACrB,qBAAM,IAAI,CAAC,UAAU,EAAE;iCAC1C,GAAG,CAAC,MAAM,CAAC;iCACX,UAAU,CAAC,IAAI,CAAC;iCAChB,aAAa,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC;iCACrD,GAAG,CAAC,eAAe,CAAC;iCACpB,GAAG,EAAE,EAAA;;4BALF,aAAa,GAAG,SAKd;4BAER,sBAAO,aAAa,CAAC,IAAI,EAAE,EAAA;;;aAC5B;SAAA;QAEa,qDAAmB,GAAnB,UAAoB,MAAc;;;;;gCACjC,qBAAM,IAAI,CAAC,SAAS;iCAC9B,UAAU,CAAC,cAAc,CAAC;iCAC1B,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;iCAC9B,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC;iCAC/B,GAAG,EAAE,EAAA;;4BAJF,IAAI,GAAG,SAIL;4BAER,sBAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAA;;;aAC7B;SAAA;QAEO,iEAA+B,GAA/B;YAIN,OAAO;gBACL,WAAW,EAAE,UAAC,IAAmB,IAAmB,OAAA,IAAI,CAAC,OAAO,EAAE,GAAA;gBAClE,aAAa,EAAE,UAAC,IAA0C,IACxD,OAAA,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAA;aACxC,CAAA;SACF;sCACF;KAAA,CA5ES,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAO,IAAI,CAAC,CAAC,CAAC;;;QCAzD,0DAA6F;QAGrG,gDAAqB,SAA4B,EAAW,gBAAiD;YAA7G,YACE,iBAAO,SAIR;YALoB,eAAS,GAAT,SAAS,CAAmB;YAAW,sBAAgB,GAAhB,gBAAgB,CAAiC;YAE3G,KAAI,CAAC,cAAc,GAAG,UAAU,CAAA;YAChC,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAA;YACrC,KAAI,CAAC,KAAK,GAAG,OAAO,CAAA;;SACrB;qDACF;KAAA,CATS,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAU,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;;;QCA7F,wDAA2F;QAGnG,8CAAqB,SAA4B,EAAW,gBAAyC;YAArG,YACE,iBAAO,SAIR;YALoB,eAAS,GAAT,SAAS,CAAmB;YAAW,sBAAgB,GAAhB,gBAAgB,CAAyB;YAEnG,KAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAA;YAC7B,KAAI,CAAC,KAAK,GAAG,aAAa,CAAA;;SAC3B;mDACF;KAAA,CATS,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAgB,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;;;QCA3F,kDAAyF;QAGjG,wCAAqB,SAA4B,EAAW,gBAAyC;YAArG,YACE,iBAAO,SAIR;YALoB,eAAS,GAAT,SAAS,CAAmB;YAAW,sBAAgB,GAAhB,gBAAgB,CAAyB;YAEnG,KAAI,CAAC,cAAc,GAAG,SAAS,CAAA;YAC/B,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAA;YAC7B,KAAI,CAAC,KAAK,GAAG,WAAW,CAAA;;SACzB;6CACF;KAAA,CATS,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAc,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;;;QCAzF,wDAA+F;QAGvG,8CAAqB,SAA4B,EAAW,gBAAyC;YAArG,YACE,iBAAO,SAIR;YALoB,eAAS,GAAT,SAAS,CAAmB;YAAW,sBAAgB,GAAhB,gBAAgB,CAAyB;YAEnG,KAAI,CAAC,cAAc,GAAG,gBAAgB,CAAA;YACtC,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAA;YAC7B,KAAI,CAAC,KAAK,GAAG,iBAAiB,CAAA;;SAC/B;mDACF;KAAA,CATS,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAoB,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;;;QCA/F,0DAAyG;QAGjH,gDAAqB,SAA4B,EAAW,gBAAiD;YAA7G,YACE,iBAAO,SAIR;YALoB,eAAS,GAAT,SAAS,CAAmB;YAAW,sBAAgB,GAAhB,gBAAgB,CAAiC;YAE3G,KAAI,CAAC,cAAc,GAAG,UAAU,CAAA;YAChC,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAA;YACrC,KAAI,CAAC,KAAK,GAAG,mBAAmB,CAAA;;SACjC;qDACF;KAAA,CATS,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAsB,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;;;QCDzG,2CAAyD;QAGjE,iCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,OAAO,CAAA;YAC7B,KAAI,CAAC,KAAK,GAAG,IAAI,CAAA;;SAClB;sCACF;KAAA,CARS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAO,IAAI,CAAC,CAAC,CAAC;;;QCCzD,+CAA6D;QAGrE,qCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,YAAY,CAAA;YAClC,KAAI,CAAC,KAAK,GAAG,QAAQ,CAAA;;SACtB;QAED,uDAAiB,GAAjB,UAAkB,IAAY,EAAE,IAAW;YACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;iBACxC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;iBACzB,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;iBACzB,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;iBAC9B,GAAG,EAAE;iBACL,IAAI,CAAC,UAAC,IAAI;gBACT,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;oBAAE,MAAM,IAAI,sBAAsB,CAAC,kCAAkC,CAAC,CAAA;gBAEvF,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAM,IAAI,aAAa,CAAC,wBAAsB,IAAI,eAAY,CAAC,CAAA;gBAE/E,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;aAC3B,CAAC;iBACD,KAAK,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,GAAA,CAAC,CAAA;SAC3B;QAEK,0DAAoB,GAApB,UAAqB,WAAqB,EAAE,KAAS;YAAT,sBAAA,EAAA,SAAS;;;iCAiB1D;;;gCAhBsB,qBAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;iCAC5D,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iCAC9C,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;iCAC9B,GAAG,EAAE,EAAA;;4BAHF,YAAY,GAAG,SAGb;4BAER,IAAI,YAAY,CAAC,KAAK;gCAAE,MAAM,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAAA;4BAEjE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,GAAA,CAAC,CAAA;4BACxC,qBAAM,OAAO,CAAC,GAAG,CACpC,UAAU,CAAC,GAAG,CAAC,UAAO,QAAQ;;;;;;oDAC5B,QAAQ,UAAA;;gDACE,qBAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,OAAA,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAA;oDAFtC,uBAEjC,WAAQ,GAAE,SAA6D;yDACvE;;;kCAAA,GAAA,CAAC,CACJ,EAAA;;4BALK,YAAY,GAAG,SAKpB;4BAED,sBAAO,YAAY,EAAA;;;aACpB;SAAA;QAEK,mDAAa,GAAb,UAAc,QAAkB,EAAE,OAAgD;;;;;;;4BACtF,IAAI,CAAC,QAAQ,CAAC,QAAQ;gCAAE,MAAM,IAAI,qBAAqB,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAA;4BAEjF,MAAM,GAAG8D,YAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;4BACrC,QAAQ,GAAG,EAAE,CAAA;4BACb,cAAc,GAAG,QAAQ,CAAC,IAAI,KAAK9B,aAAK,CAAC,QAAQ,GAAG,eAAe,GAAG,WAAW,CAAA;;;;4BAE9D,WAAA,SAAA,MAAM,CAAA;;;;4BAApB,UAAU;4BACnB,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,QAAQ,CAAC,MAAM,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAA;gCAAE,wBAAK;4BAElD,qBAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAA;;4BAAzG,KAAK,GAAG,SAAiG;4BAE7G,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;gCAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;4BACpE,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;gCAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAA;4BAEnC,qBAAM,KAAK,CAAC,GAAG,EAAE,EAAA;;4BAA/B,WAAW,GAAG,SAAiB;4BAErC,IAAI,WAAW,CAAC,KAAK;gCAAE,wBAAQ;4BAE/B,QAAQ,CAAC,IAAI,OAAb,QAAQ,2BAAS,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,GAAA,CAAC,IAAC;;;;;;;;;;;;;;;;gCAG7D,sBAAO,QAAQ,EAAA;;;aAChB;SAAA;0CACF;KAAA,CApES,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAW,IAAI,CAAC,CAAC,CAAC;;;QCD7D,8CAA4D;QAGpE,oCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,UAAU,CAAA;YAChC,KAAI,CAAC,KAAK,GAAG,OAAO,CAAA;;SACrB;QAEK,8CAAS,GAAT,UAAU,IAAY,EAAE,IAAW;;;;;;gCACxB,qBAAM,IAAI,CAAC,IAAI,CAAC;gCAC7B,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAEhC,aAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gCACjD,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAEA,aAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE;6BAC5D,CAAC,EAAA;;4BAHI,MAAM,GAAG,SAGb;4BAEF,sBAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAE,KAAK,EAAE,EAAA;;;;SAC7B;yCACF;KAAA,CAjBS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAU,IAAI,CAAC,CAAC,CAAC;;;QCC5D,qDAAwF;QAGhG,2CAAqB,SAA4B,EAAW,gBAA4C;YAAxG,YACE,iBAAO,SAIR;YALoB,eAAS,GAAT,SAAS,CAAmB;YAAW,sBAAgB,GAAhB,gBAAgB,CAA4B;YAEtG,KAAI,CAAC,cAAc,GAAG,UAAU,CAAA;YAChC,KAAI,CAAC,aAAa,GAAG,WAAW,CAAA;YAChC,KAAI,CAAC,KAAK,GAAG,OAAO,CAAA;;SACrB;gDACF;KAAA,CATS,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAU,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;;;QCDxF,0DAA4D;QAGpE,gDAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,sBAAsB,CAAA;YAC5C,KAAI,CAAC,KAAK,GAAG,OAAO,CAAA;;SACrB;qDACF;KAAA,CARS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAU,IAAI,CAAC,CAAC,CAAC;;;QCA5D,+CAA6D;QAGrE,qCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,WAAW,CAAA;YACjC,KAAI,CAAC,KAAK,GAAG,QAAQ,CAAA;;SACtB;0CACF;KAAA,CARS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAW,IAAI,CAAC,CAAC,CAAC;;;QCC7D,6CAA2D;QAGnE,mCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,SAAS,CAAA;YAC/B,KAAI,CAAC,KAAK,GAAG,MAAM,CAAA;;SACpB;QAED,sDAAkB,GAAlB;YAAA,iBA6BC;YAzBC,OAAO;gBACL,WAAW,EAAE,UAAC,IAAY;;oBACxB,IAAM,KAAK,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,IAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAA;oBAEnD,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU;wBAAE,KAAK,CAAC,UAAU,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,EAAE,GAAA,CAAC,CAAA;oBAE5F,OAAO,KAAK,CAAA;iBACb;gBACD,aAAa,EAAE,UAAC,IAA2B;;oBACzC,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;oBAExB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;wBAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,YAAYuD,4BAAQ,CAAC,SAAS,CAAC,SAAS,EAAE;4BACrD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;yBAC/B;qBACF,CAAC,CAAA;oBAEF,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,GAAG,CAAC,UAAC,QAAQ,IAAK,QAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAC,CAAC,CAAA;oBAEzE,IAAI,IAAI,CAAC,aAAa,KAAKtB,qBAAa,CAAC,YAAY;wBAAE,OAAO,UAAU,CAAC,UAAU,iBAAG,EAAE,EAAE,IAAI,CAAC,EAAE,IAAK,IAAI,EAAG,CAAA;oBAC7G,IAAI,IAAI,CAAC,aAAa,KAAKA,qBAAa,CAAC,SAAS;wBAAE,OAAO,WAAW,CAAC,UAAU,iBAAG,EAAE,EAAE,IAAI,CAAC,EAAE,IAAK,IAAI,EAAG,CAAA;oBAE3G,OAAO,KAAI,CAAC,KAAK,CAAC,UAAU,iBAAG,EAAE,EAAE,IAAI,CAAC,EAAE,IAAK,IAAI,EAAG,CAAA;iBACvD;aACF,CAAA;SACF;wCACF;KAAA,CAvCS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAS,IAAI,CAAC,CAAC,CAAC;;;QCD3D,4CAA0D;QAGlE,kCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,QAAQ,CAAA;YAC9B,KAAI,CAAC,KAAK,GAAG,KAAK,CAAA;;SACnB;uCACF;KAAA,CARS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAQ,IAAI,CAAC,CAAC,CAAC;;;QCA1D,8CAA4D;QAGpE,oCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,UAAU,CAAA;YAChC,KAAI,CAAC,KAAK,GAAG,OAAO,CAAA;;SACrB;yCACF;KAAA,CARS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAU,IAAI,CAAC,CAAC,CAAC;;;QCA5D,2DAAyE;QAGjF,iDAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,uBAAuB,CAAA;YAC7C,KAAI,CAAC,KAAK,GAAG,oBAAoB,CAAA;;SAClC;sDACF;KAAA,CARS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAuB,IAAI,CAAC,CAAC,CAAC;;;QCAzE,uDAAqE;QAG7E,6CAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,mBAAmB,CAAA;YACzC,KAAI,CAAC,KAAK,GAAG,gBAAgB,CAAA;;SAC9B;kDACF;KAAA,CARS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAmB,IAAI,CAAC,CAAC,CAAC;;;QCArE,8CAA4D;QAGpE,oCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,SAAS,CAAA;YAC/B,KAAI,CAAC,KAAK,GAAG,OAAO,CAAA;;SACrB;yCACF;KAAA,CARS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAU,IAAI,CAAC,CAAC,CAAC;;;QCFlB,kDAAwB;QAC1E,wCAAqB,SAA4B;YAAjD,YACE,kBAAM,SAAS,CAAC,SAEjB;YAHoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,cAAc,CAAA;;SACrC;6CACF;KALD,CAAoD,wBAAwB;;;QCGlE,2CAAyD;QAGjE,iCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YA0BzC,qBAAe,GAAG,UAAC,IAAU;;gBACnC,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE;oBACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAA;oBACpG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAA;oBACpG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAA;iBACrG;gBAED,OAAO,IAAI,CAAA;aACZ,CAAA;YAEO,8BAAwB,GAAG,UAAC,iBAAoC,IAAK,QAAC;gBAC5E,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC9C,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,OAAO,EAAE,GAAA,CAAC;aACzE,IAAC,CAAA;YAEM,uBAAiB,GAAG,UAAC,IAAU;;gBACrC,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE;oBACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAA;oBACpG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAA;oBACpG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAA;oBACpG,IAAI,CAAC,IAAI,CAAC,SAAS;wBACjB,IAAI,CAAC,IAAI,CAAC,SAAS,YAAYsB,4BAAQ,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;oBAClH,IAAI,CAAC,IAAI,CAAC,SAAS;wBACjB,IAAI,CAAC,IAAI,CAAC,SAAS,YAAYA,4BAAQ,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;iBACnH;gBAED,OAAO,IAAI,CAAA;aACZ,CAAA;YAEO,8BAAwB,GAAG,UAAC,iBAAoC,IAAK,QAAC;gBAC5E,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gBACzD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAA,CAAC;aACnF,IAAC,CAAA;YAxDA,KAAI,CAAC,cAAc,GAAG,KAAK,CAAA;YAC3B,KAAI,CAAC,KAAK,GAAG,IAAI,CAAA;;SAClB;QAED,oDAAkB,GAAlB;YAAA,iBAkBC;YAdO,IAAA,KAAiC,iBAAM,kBAAkB,WAAE,EAAzD,aAAa,mBAAA,EAAE,WAAW,iBAA+B,CAAA;YAEjE,OAAO;gBACL,WAAW,EAAE,UAAC,IAAU;oBACtB,IAAM,YAAY,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;oBAE/C,OAAO,WAAW,CAAC,YAAY,CAAC,CAAA;iBACjC;gBACD,aAAa,EAAE,UAAC,IAAiC;oBAC/C,IAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;oBAEpC,OAAO,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;iBACxC;aACF,CAAA;SACF;sCAmCF;KAAA,CA9DS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAO,IAAI,CAAC,CAAC,CAAC;;;QCDzD,+CAA6D;QAErE,qCAAqB,SAA4B;YAAjD,YACE,iBAAO,SAGR;YAJoB,eAAS,GAAT,SAAS,CAAmB;YAE/C,KAAI,CAAC,cAAc,GAAG,WAAW,CAAA;YACjC,KAAI,CAAC,KAAK,GAAG,QAAQ,CAAA;;SACtB;0CACF;KAAA,CAPS,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAW,IAAI,CAAC,CAAC,CAAC;;;QCDrE,2CAA6B,YAAgC;YAAhC,iBAAY,GAAZ,YAAY,CAAoB;SAAI;QAE3D,sEAA0B,GAA1B,UAA2B,IAA4B;;;;;gCACvC,qBAAM,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAA;;4BAA3F,WAAW,GAAG,SAA6E;4BAC3F,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;4BAE7B,sBAAO;oCACL,EAAE,EAAE,IAAI,CAAC,GAAG;oCACZ,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;oCACjB,KAAK,EAAE,IAAI,CAAC,WAAW;oCACvB,WAAW,EAAE,KAAK;iCACnB,EAAA;;;aACF;SAAA;QAEK,4DAAgB,GAAhB;;;;;gCACgB,qBAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAIA,8BAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAA;;4BAA7F,WAAW,GAAG,SAA+E;4BAC7F,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;4BAE7B,sBAAO;oCACL,EAAE,EAAE,IAAI,CAAC,GAAG;oCACZ,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;oCACjB,KAAK,EAAE,IAAI,CAAC,WAAW;oCACvB,WAAW,EAAE,KAAK;iCACnB,EAAA;;;aACF;SAAA;QAEK,mDAAO,GAAP;;;oBACJ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAA;;;aAC5B;SAAA;QAEK,6DAAiB,GAAjB;;;;;gCACS,qBAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAA;;4BAAlD,IAAI,GAAG,SAA2C;4BAClD,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAA;4BAE5C,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;4BAEvB,sBAAO,IAAI,EAAA;;;aACZ;SAAA;QAEK,kEAAsB,GAAtB,UAAuB,KAAa;;;oBACxC,sBAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAA;;aACvD;SAAA;gDACF;KAAA;;;QC5CC,qCAA6B,YAAgC;YAAhC,iBAAY,GAAZ,YAAY,CAAoB;SAAI;QAE3D,8CAAQ,GAAR,UAAS,MAAsB;;;;;;;4BAEpB,qBAAM,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAA;;4BAA5F,IAAI,GAAG,SAAqF;4BAC5F,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAA;4BAE5C,IAAI,CAAC,qBAAqB,EAAE,CAAA;4BAC5B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;4BAEvB,sBAAO,IAAI,EAAA;;;4BAEX,IAAI,OAAK,CAAC,IAAI,KAAK,2BAA2B;gCAAE,MAAM,IAAI,0BAA0B,CAAC,0BAA0B,CAAC,CAAA;4BAChH,IAAI,OAAK,CAAC,IAAI,KAAK,oBAAoB;gCAAE,MAAM,IAAI,iBAAiB,EAAE,CAAA;4BAEtE,MAAM,OAAK,CAAA;;;;aAEd;SAAA;0CACF;KAAA;;ICzBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"infrab4a-connect.umd.js","sources":["../../../projects/connect/src/domain/general/model/base.model.ts","../../../projects/connect/src/domain/general/repository/enums/where.enum.ts","../../../projects/connect/src/domain/general/repository/enums/update-option-actions.enum.ts","../../../projects/connect/src/domain/users/models/enums/accessory-importances.enum.ts","../../../projects/connect/src/domain/users/models/enums/area.enum.ts","../../../projects/connect/src/domain/users/models/enums/beard-problems.enum.ts","../../../projects/connect/src/domain/users/models/enums/beard-sizes.enum.ts","../../../projects/connect/src/domain/users/models/enums/beauty-product-importances.enum.ts","../../../projects/connect/src/domain/users/models/enums/body-problems.enum.ts","../../../projects/connect/src/domain/users/models/enums/body-shapes.enum.ts","../../../projects/connect/src/domain/users/models/enums/body-tattoos.enum.ts","../../../projects/connect/src/domain/users/models/enums/face-skin-oilinesses.enum.ts","../../../projects/connect/src/domain/users/models/enums/face-skin-problems.enum.ts","../../../projects/connect/src/domain/users/models/enums/face-skin-tones.enum.ts","../../../projects/connect/src/domain/users/models/enums/family-incomes.enum.ts","../../../projects/connect/src/domain/users/models/enums/fragrance-importances.enum.ts","../../../projects/connect/src/domain/users/models/enums/hair-colors.enum.ts","../../../projects/connect/src/domain/users/models/enums/hair-problems.enum.ts","../../../projects/connect/src/domain/users/models/enums/hair-strands.enum.ts","../../../projects/connect/src/domain/users/models/enums/hair-types.enum.ts","../../../projects/connect/src/domain/users/models/enums/office-position.enum.ts","../../../projects/connect/src/domain/users/models/enums/product-spents.enum.ts","../../../projects/connect/src/domain/users/models/enums/user-type.enum.ts","../../../projects/connect/src/domain/users/models/subscription/enums/billing-status.enum.ts","../../../projects/connect/src/domain/users/models/subscription/enums/edition-status.enum.ts","../../../projects/connect/src/domain/users/models/subscription/enums/payment-type.enum.ts","../../../projects/connect/src/domain/users/models/subscription/enums/status.enum.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/connect/src/domain/users/models/subscription/edition.ts","../../../projects/connect/src/domain/shopping/models/payment.ts","../../../projects/connect/src/domain/users/models/subscription/payment.ts","../../../projects/connect/src/domain/location/models/address.ts","../../../projects/connect/src/utils/mixins/base.mixin.ts","../../../projects/connect/src/domain/shopping/models/coupons/enums/discount-type.enum.ts","../../../projects/connect/src/domain/shopping/models/coupons/enums/exclusivities.enum.ts","../../../projects/connect/src/domain/shopping/models/coupons/coupon.ts","../../../projects/connect/src/domain/shopping/models/subscription/plan.ts","../../../projects/connect/src/domain/users/models/beauty-profile.ts","../../../projects/connect/src/domain/users/models/user.ts","../../../projects/connect/src/domain/users/models/subscription/subscription.ts","../../../projects/connect/src/domain/users/models/user-address.ts","../../../projects/connect/src/domain/users/models/user-payment-method.ts","../../../projects/connect/src/domain/users/models/lead.ts","../../../projects/connect/src/domain/users/errors/unauthorized.error.ts","../../../projects/connect/src/domain/users/use-cases/authentication.ts","../../../projects/connect/src/domain/users/errors/user-already-registered.error.ts","../../../projects/connect/src/domain/users/errors/weak-password.error.ts","../../../projects/connect/src/domain/users/use-cases/register.ts","../../../projects/connect/src/domain/users/use-cases/signout.ts","../../../projects/connect/src/domain/users/use-cases/recovery-password.ts","../../../projects/connect/src/domain/catalog/models/enums/shops.enum.ts","../../../projects/connect/src/domain/catalog/models/category.ts","../../../projects/connect/src/domain/catalog/models/product.ts","../../../projects/connect/src/domain/catalog/models/variant.ts","../../../projects/connect/src/domain/shopping/models/enums/checkout-types.enum.ts","../../../projects/connect/src/domain/shopping/models/coupons/club-coupon.ts","../../../projects/connect/src/domain/shopping/models/coupons/store-coupon.ts","../../../projects/connect/src/domain/shopping/models/enums/order-status.enum.ts","../../../projects/connect/src/domain/shopping/models/line-item.ts","../../../projects/connect/src/domain/shopping/models/shipping-method.ts","../../../projects/connect/src/domain/shopping/models/checkout.ts","../../../projects/connect/src/domain/shopping/models/order.ts","../../../projects/connect/src/domain/shopping/models/subscription/checkout.ts","../../../projects/connect/src/domain/shopping/models/buy-2-win.ts","../../../projects/connect/src/domain/shop-settings/enums/filter-type.enum.ts","../../../projects/connect/src/domain/shop-settings/enums/questions-filters.enum.ts","../../../projects/connect/src/domain/shop-settings/helpers/beauty-questions.helper.ts","../../../projects/connect/src/domain/shop-settings/models/home.ts","../../../projects/connect/src/domain/shop-settings/models/shop-menu.ts","../../../projects/connect/src/errors/invalid-argument.error.ts","../../../projects/connect/src/errors/required-argument.error.ts","../../../projects/connect/src/errors/not-found.error.ts","../../../projects/connect/src/errors/duplicated-results.error.ts","../../../projects/connect/src/infra/elasticsearch/adapters/axios.adapter.ts","../../../projects/connect/src/infra/elasticsearch/indexes/products-index.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-helpers.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-get-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-find-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-create-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-update-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-delete-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-sub-collection.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/mixins/with-crud-firestore.mixin.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/subscription-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/models/user-search.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/user-search-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/user-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/user-address-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/users/lead-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/catalog/category-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/order-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.ts","../../../projects/connect/src/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.ts","../../../projects/connect/src/infra/firebase/auth/authentication-firebase-auth.service.ts","../../../projects/connect/src/infra/firebase/auth/register-firebase-auth.service.ts","../../../projects/connect/src/infrab4a-connect.ts"],"sourcesContent":["import { plainToClass, classToPlain } from 'class-transformer'\n\nimport { NonFunctionProperties } from './types/non-function-properties.type'\n\nexport class BaseModel<Model> {\n constructor(args?: Partial<Model>) {\n Object.assign(this, args)\n }\n\n static toInstance<T>(this: new () => Partial<T>, data: NonFunctionProperties<T>): T {\n return plainToClass(this, data) as any\n }\n\n toPlain(): any {\n return classToPlain(this, { exposeUnsetFields: false })\n }\n}\n","export enum Where {\n EQUALS = '==',\n NOTEQUALS = '!=',\n GT = '>',\n GTE = '>=',\n IN = 'in',\n LT = '<',\n LTE = '<=',\n LIKE = 'like',\n}\n","export enum UpdateOptionActions {\n UPDATE = 'update',\n MERGE = 'merge',\n REMOVE = 'remove',\n REMOVE_FIELD = 'removeField',\n NULL = 'null',\n}\n","export enum AccessoryImportances {\n NOT_INTERESTED = 'Não tenho interesse',\n LIKE_RARELY_USE = 'Gosto, mas uso poucos',\n LIKE_ALWAYS_FOLLOW_FASHION = 'Gosto muito de acessórios e sempre procuro acompanhar a moda',\n}\n","export enum Area {\n GP = 'Geral',\n CRM = 'CRM',\n MediaProd = 'Media Production',\n Tech = 'Tecnologia',\n Transactional = 'Transacional',\n Operations = 'Opera\\u00E7\\u00F5es',\n Sales = 'Comercial',\n Finantial = 'Financeiro',\n HR = 'RH',\n}\n","export enum BeardProblems {\n NO_PROBLEMS = 'Sem problemas',\n DRY = 'Barba Seca',\n OILY = 'Barba Oleaosa',\n DANCRUFF = 'Barba com Caspa',\n INGROWN_HAIRS = 'Pêlos Encravados',\n DOESNT_GROW = 'Não Cresce',\n SPARSE_BEARD = 'Barba Rala',\n}\n","export enum BeardSizes {\n BIG = 'Grande',\n MEDIUM = 'Média',\n SHORT = 'Curta',\n MUSTACHE = 'Bigode',\n NOTHING = 'Sem Barba',\n}\n","export enum BeautyProductImportances {\n KNOW_LITTLE_ABOUT = 'Conheço bem pouco de produtos de beleza e rotinas de cuidados',\n ALREADY_BOUGHT_NOTHING_SPECIALIZED = 'Já comprei alguns produtos básicos para cuidar de mim, mas nada muito especializado',\n GOOD_CARE_MYSELF = 'Me considero um homem que se cuida bem. Conheço sobre produtos especializados e me preocupo em ter uma rotina de cuidados',\n PERSONAL_CARE_EXPERT = 'Sou um expert em cuidados pessoais',\n}\n","export enum BodyProblems {\n NO_WORRIES = 'Sem preocupações',\n FLACCIDITY = 'Flacidez',\n LOCALIZED_FAT = 'Gordura Localizada',\n STRETCH_MARKS = 'Estrias',\n SENSITIVE_SKIN = 'Pele Sensível',\n DRY_SKIN = 'Pele Seca',\n OILY_ACNE = 'Oleosa/Acne',\n SKIN_FRECKLES = 'Pele com Sardas',\n PHOTOSENSITIVE_SKIN = 'Pele Fotossensível',\n}\n","export enum BodyShapes {\n LEAN = 'Magro',\n REGULAR = 'Regular',\n OVERWEIGHT = 'Acima do Peso',\n ATHLETIC = 'Atlético',\n MUSCULAR = 'Musculoso',\n}\n","export enum BodyTattoos {\n NONE = 'Nenhuma',\n HAS_DOESNT_CARE = 'Tenho mas não cuido',\n HAS_CARE_LOT = 'Tenho e cuido bastante',\n}\n","export enum FaceSkinOilinesses {\n DRY = 'Seca',\n OILY = 'Oleaosa',\n MIXED = 'Mista',\n NORMAL = 'Normal',\n DONT_KNOW = 'Eu não sei como dizer',\n}\n","export enum FaceSkinProblems {\n NO_PROBLEMS = 'Sem problemas',\n DARK_CIRCLES = 'Olheiras',\n WRINKLES = 'Rugas',\n BLACKHEADS_PIMPLES = 'Cravos e Espinhas',\n STAINS = 'Manchas',\n FRECKLES = 'Sardas',\n SENSITIVE = 'Sensível',\n PHOTOSENSITIVE = 'Fotossensível',\n}\n","export enum FaceSkinTones {\n VERY_CLEAR = 'Muito Clara',\n CLEAR = 'Clara',\n MEDIUM_LIGHT = 'Clara Média',\n MEDIUM_DARK = 'Escura Média',\n DARK = 'Escura',\n VERY_DARK = 'Muito Escura',\n}\n","export enum FamilyIncomes {\n UNTIL_3000 = 'Até R$3.000',\n SINCE_3001_TO_7000 = 'De R$3.001 a R$7.000',\n SINCE_7001_TO_10000 = 'De R$7.001 a R$10.000',\n SINCE_10001_TO_15000 = 'De R$10.001 a R$15.000',\n GRAN_THAN_15000 = 'Mais de R$15.000',\n NOW_ANSWER = 'Prefiro nao responder',\n}\n","export enum FragranceImportances {\n NOT_INTERESTED = 'Não tenho interesse',\n LIKE_ALWAYS_USE_SAME = 'Gosto de perfumes, mas uso sempre os mesmos',\n LIKE_INNOVATE = 'Gosto de inovar e conhecer novas fragrâncias',\n}\n","export enum HairColors {\n BLACK = 'Preto',\n DARK_BROWN = 'Castanho Escuro',\n LIGHT_BROWN = 'Castanho Claro',\n DARK_BLONDE = 'Loiro Escuro',\n LIGHT_BLONDE = 'Loiro Claro',\n WHITE_GRAY = 'Branco/Grisalho',\n REDHEAD = 'Ruivo',\n OTHER = 'RuiOutroo',\n}\n","export enum HairProblems {\n NO_PROBLEMS = 'Sem problemas',\n DANCRUFF = 'Caspa',\n LOSS = 'Queda',\n OILY = 'Oleosidade',\n DRYNESS = 'Ressecamento',\n CHEMICAL = 'Quimica',\n WHITE_HAIR = 'Cabelos Brancos',\n REBEL_WIRES = 'Fios Rebeldes',\n}\n","export enum HairStrands {\n NORMAL = 'Fio Normal',\n DRY = 'Fio Seco',\n OILY = 'Fio Oleoso',\n MIXED = 'Fio Misto',\n FINE = 'Fio Fino',\n THICK = 'Fio Grosso',\n}\n","export enum HairTypes {\n Smooth = 'Liso',\n WAVY = 'Ondulado',\n CURLY = 'Cacheado',\n FRIZZY = 'Crespo',\n BALD = 'Sou careca',\n}\n","export enum OfficePosition {\n Intern = 'Estagi\\u00E1rio',\n Analyst = 'Analista',\n Manager = 'Gerente',\n Director = 'Diretor',\n}\n","export enum ProductSpents {\n UNTIL_50 = 'Até R$50',\n SINCE_51_TO_100 = 'De R$51 a R$100',\n SINCE_101_TO_200 = 'De R$101 a R$200',\n SINCE_201_TO_300 = 'De R$201 a R$300',\n GRAN_THAN_300 = 'Mais de R$300',\n NOW_ANSWER = 'Prefiro nao responder',\n}\n","export enum UserType {\n B2C = 'Cliente Transacional',\n GlamGirl = 'Glamgirl',\n MensBoy = 'Mensboy',\n B2B = 'Company',\n Collaborator = 'Funcionário',\n Influencer = 'Influencer',\n}\n","export enum BillingStatus {\n PAYED = 'PAGO',\n}\n","export enum EditionStatus {\n ALLOCATION_WAITING = 'Aguardando alocação',\n SHIPPED = 'Enviado',\n}\n","export enum PaymentType {\n AQUISITION = 'Aquisição',\n RENEWAL = 'Renovação',\n FREIGHT = 'mudança de endereço, Frete',\n}\n","export enum Status {\n ACTIVE = 'active',\n CANCELLED = 'Cancelado',\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { BaseModel } from '../../../general/model/base.model'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../../general/model/types/non-function-property-name.type'\n\nimport { EditionStatus, BillingStatus } from './enums'\n\nexport class Edition extends BaseModel<Edition> implements IdentifierFields<Edition> {\n id: string\n subscriptionId: string\n billingStatus: BillingStatus\n editionId: number\n editionStatus: EditionStatus\n installment: number\n paymentId: string\n draftId?: string\n createdAt: Date\n updatedAt: Date\n\n identifierFields(): NonFunctionPropertyNames<Edition>[] {\n return ['id']\n }\n}\n","import { Expose } from 'class-transformer'\n\nimport { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types'\n\nimport { PaymentBilling, PaymentCard, PaymentCustomer, PaymentItem, PaymentShipping } from './types'\n\nexport class Payment extends BaseModel<Payment> implements IdentifierFields<Payment> {\n id: number\n object: string\n status: string\n tid: number\n nsu: number\n amount: number\n cost: number\n installments: number\n referer: string\n ip: string\n phone: string\n address: string\n metadata: any\n device: string\n payment: string\n addition: string\n discount: string\n customer: PaymentCustomer\n billing: PaymentBilling\n shipping: PaymentShipping\n items: PaymentItem[]\n card: PaymentCard\n\n @Expose({ name: 'refuse_reason' })\n refuseReason: string\n @Expose({ name: 'status_reason' })\n statusReason: string\n @Expose({ name: 'acquirer_response_code' })\n acquirerResponseCode: string\n @Expose({ name: 'acquirer_name' })\n acquirerName: string\n @Expose({ name: 'acquirer_id' })\n acquirerId: string\n @Expose({ name: 'authorization_code' })\n authorizationCode: string\n @Expose({ name: 'soft_descriptor' })\n softDescriptor: string\n @Expose({ name: 'date_created' })\n dateCreated: string\n @Expose({ name: 'date_updated' })\n dateUpdated: string\n @Expose({ name: 'authorized_amount' })\n authorizedAmount: number\n @Expose({ name: 'paid_amount' })\n paidAmount: number\n @Expose({ name: 'refunded_amount' })\n refundedAmount: number\n @Expose({ name: 'card_holder_name' })\n cardHolderName: string\n @Expose({ name: 'card_last_digits' })\n cardLastDigits: string\n @Expose({ name: 'card_first_digits' })\n cardFirstDigits: string\n @Expose({ name: 'card_brand' })\n cardBrand: string\n @Expose({ name: 'card_pin_mode' })\n cardPinMode: string\n @Expose({ name: 'card_magstripe_fallback' })\n cardMagstripeFallback: boolean\n @Expose({ name: 'cvm_pin' })\n cvmPin: boolean\n @Expose({ name: 'postback_url' })\n postbackUrl: string\n @Expose({ name: 'payment_method' })\n paymentMethod: string\n @Expose({ name: 'capture_method' })\n captureMethod: string\n @Expose({ name: 'antifraud_score' })\n antifraudScore: string\n @Expose({ name: 'boleto_url' })\n boletoUrl: string\n @Expose({ name: 'boleto_barcode' })\n boletoBarcode: string\n @Expose({ name: 'boleto_expiration_date' })\n boletoExpirationDate: string\n @Expose({ name: 'subscription_id' })\n subscriptionId: string\n @Expose({ name: 'split_rules' })\n splitRules: string\n @Expose({ name: 'antifraud_metadata' })\n antifraudMetadata: any\n @Expose({ name: 'reference_key' })\n referenceKey: string\n @Expose({ name: 'local_transaction_id' })\n localTransactionId: string\n @Expose({ name: 'local_time' })\n localTime: string\n @Expose({ name: 'fraud_covered' })\n fraudCovered: boolean\n @Expose({ name: 'fraud_reimbursed' })\n fraudReimbursed: string\n @Expose({ name: 'order_id' })\n orderId: string\n @Expose({ name: 'risk_level' })\n riskLevel: string\n @Expose({ name: 'receipt_url' })\n receiptUrl: string\n @Expose({ name: 'private_label' })\n privateLabel: string\n @Expose({ name: 'pix_qr_code' })\n pixQrCode: string\n @Expose({ name: 'pix_expiration_date' })\n pixExpirationDate: string\n\n identifierFields(): NonFunctionPropertyNames<Payment>[] {\n return ['id']\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { BaseModel } from '../../../general/model/base.model'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../../general/model/types'\nimport { Payment } from '../../../shopping/models/payment'\n\nimport { PaymentType } from './enums/payment-type.enum'\n\nexport class SubscriptionPayment\n extends BaseModel<SubscriptionPayment>\n implements IdentifierFields<SubscriptionPayment>\n{\n id: string\n subscriptionId: string\n paymentType: PaymentType\n createdAt: Date\n attempts?: number\n\n @Type(() => Payment)\n payment: Payment\n\n identifierFields(): NonFunctionPropertyNames<SubscriptionPayment>[] {\n return ['id']\n }\n}\n","import { BaseModel } from '../../general/model/base.model'\n\nimport { LocationGeometry } from './types/location-geometry.type'\n\nexport abstract class Address extends BaseModel<Address> {\n default?: boolean\n recipient?: string\n zip?: string\n street?: string\n number?: string\n extension?: string\n district?: string\n city?: string\n regionalPole?: string\n region?: string\n state?: string\n country?: string\n mailbox?: boolean\n mailboxNumber?: string\n formattedAddress?: string\n placeId?: string\n geometry?: LocationGeometry\n}\n","export class Base {\n constructor(...args: Array<any>) {\n Object.assign(this, ...args)\n }\n}\n","export enum DiscountType {\n ABSOLUTE = 1,\n PERCENTAGE = 2,\n FREE_SHIPPING = 3,\n}\n","export enum Exclusivities {\n ALL_USERS = 1,\n SPECIFIC_USER = 2,\n COLLABORATORS = 3,\n}\n","import { Expose } from 'class-transformer'\n\nimport { BaseModel } from '../../../general/model/base.model'\nimport { CheckoutTypes } from '../enums/checkout-types.enum'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { isNil } from '../../../../utils'\nimport { NonFunctionPropertyNames } from '../../../general/model/types'\nimport { Shops } from '../../../catalog/models/enums/shops.enum'\n\nimport { DiscountType, Exclusivities } from './enums'\n\nexport class Coupon<CouponSubType extends Coupon = any>\n extends BaseModel<CouponSubType>\n implements IdentifierFields<Coupon>\n{\n id: string\n name: string\n nickname: string\n expiresAt: Date\n beginAt: Date\n discountType: DiscountType\n discount?: number\n useLimit?: number\n quantityPerUser?: number\n shopAvailability: Shops\n personId?: number\n influencerEmail?: string\n recipient?: string\n createdAt: Date\n updatedAt?: Date\n\n @Expose({ name: 'checkout_type' })\n checkoutType: CheckoutTypes\n @Expose({ name: 'exclusivity_type' })\n exclusivityType?: Exclusivities\n\n get isInfluencer(): boolean {\n return !isNil(this.influencerEmail)\n }\n\n identifierFields(): NonFunctionPropertyNames<Coupon>[] {\n return ['id']\n }\n\n calculeDiscount(amount: number): number {\n switch (this.discountType) {\n case DiscountType.ABSOLUTE:\n return this.discount < amount ? this.discount : amount\n case DiscountType.PERCENTAGE:\n return this.discount * 0.01 * amount\n }\n }\n}\n","import { BaseModel } from '../../../general/model/base.model'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../../general/model/types'\n\nexport class SubscriptionPlan extends BaseModel<SubscriptionPlan> implements IdentifierFields<SubscriptionPlan> {\n id: string\n name: string\n billingPrice: number\n recurrencePrice: number\n recurrenceCycle: number\n maxAttempts: number\n\n identifierFields(): NonFunctionPropertyNames<SubscriptionPlan>[] {\n return ['id']\n }\n}\n","import { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types/non-function-property-name.type'\n\nimport { BeardSizes, HairTypes } from './enums'\n\nexport class BeautyProfile extends BaseModel<BeautyProfile> implements IdentifierFields<BeautyProfile> {\n id: string\n userId: string\n beardSize?: BeardSizes\n hairType?: HairTypes\n\n toPlain(): any {\n const plain = super.toPlain()\n\n delete plain.id\n\n return plain\n }\n\n identifierFields(): NonFunctionPropertyNames<BeautyProfile>[] {\n return ['id']\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { isNil } from '../../../utils'\nimport { NonFunctionProperties, NonFunctionPropertyNames } from '../../general/model/types'\n\nimport { Area, OfficePosition, UserType } from './enums'\nimport { BeautyProfile } from './beauty-profile'\n\nexport class User extends BaseModel<User> implements IdentifierFields<User> {\n id: string\n cpf?: string\n email: string\n firstName: string\n lastName: string\n displayName?: string\n phone: string\n birthday?: Date\n acceptsNewsletter: boolean\n type?: UserType\n area?: Area\n officePosition?: OfficePosition\n isSubscriber?: boolean\n subscriptionPlan?: string\n\n @Type(() => BeautyProfile)\n beautyProfile?: BeautyProfile\n\n static toInstance<T>(this: new () => Partial<T>, data: NonFunctionProperties<T> & NonFunctionProperties<User>): T {\n const instance = super.toInstance<User>(data)\n\n if (!isNil(data.firstName))\n instance.displayName = `${data.firstName}${!isNil(data.lastName) ? ` ${data.lastName}` : ''}`\n\n return instance as any\n }\n\n identifierFields(): NonFunctionPropertyNames<User>[] {\n return ['id']\n }\n\n toPlain(): any {\n const plain = super.toPlain()\n\n delete plain.beautyProfile\n\n return plain\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { Address } from '../../../location/models/address'\nimport { BaseModel } from '../../../general/model/base.model'\nimport { Coupon } from '../../../shopping/models/coupons/coupon'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../../general/model/types/non-function-property-name.type'\nimport { SubscriptionPlan } from '../../../shopping/models/subscription/plan'\nimport { User } from '../user'\n\nimport { Edition } from './edition'\nimport { Status } from './enums/status.enum'\nimport { SubscriptionPayment } from './payment'\n\nexport class Subscription extends BaseModel<Subscription> implements IdentifierFields<Subscription> {\n id: string\n nextPayment: Date\n recurrence: boolean\n status: Status\n cardToken: string\n subtotalPrice?: number\n discount?: number\n totalPrice?: number\n createdAt: Date\n updatedAt: Date\n\n @Type(() => User)\n user: User\n @Type(() => SubscriptionPlan)\n subscriptionPlan: SubscriptionPlan\n @Type(() => Address)\n shippingAddress: Address\n @Type(() => Address)\n billingAddress?: Address\n @Type(() => Coupon)\n coupon?: Coupon\n @Type(() => Edition)\n editions: Edition[]\n @Type(() => SubscriptionPayment)\n payment?: SubscriptionPayment[]\n\n identifierFields(): NonFunctionPropertyNames<Subscription>[] {\n return ['id']\n }\n}\n","import { Address } from '../../location/models/address'\nimport { NonFunctionPropertyNames } from '../../general/model/types/non-function-property-name.type'\n\nexport class UserAddress extends Address {\n id: string\n userId: string\n\n identifierFields(): NonFunctionPropertyNames<UserAddress>[] {\n return ['id']\n }\n}\n","import { BaseModel } from '../../general/model/base.model'\nimport { NonFunctionPropertyNames } from '../../general/model/types/non-function-property-name.type'\n\nexport class UserPaymentMethod extends BaseModel<UserPaymentMethod> {\n brand: string\n cpf: string\n holderName: string\n last4: string\n pagarmeToken: string\n validUntil: string\n userId: string\n id: string\n fingerprint: string\n\n identifierFields(): NonFunctionPropertyNames<UserPaymentMethod>[] {\n return ['id']\n }\n}\n","import { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types'\n\nexport class Lead extends BaseModel<Lead> implements IdentifierFields<Lead> {\n id: string\n acceptsNewsletter: boolean\n email: string\n\n identifierFields(): NonFunctionPropertyNames<Lead>[] {\n return ['id']\n }\n}\n","export class UnauthorizedError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","import { Area, OfficePosition, User, UserType } from '../models'\nimport { AuthenticationService } from '../services/authentication.service'\nimport { isNil } from '../../../utils'\nimport { UnauthorizedError } from '../errors/unauthorized.error'\nimport { UserRepository } from '../repositories/user.repository'\n\nexport enum SignInMethods {\n EMAIL_PASSWORD = 'email_password',\n GOOGLE = 'google',\n}\n\ntype SignInMethod = Lowercase<keyof typeof SignInMethods>\n\ntype SignInParams = {\n email?: string\n password?: string\n}\n\nexport class Authentication {\n constructor(private readonly authService: AuthenticationService, private readonly userRepository: UserRepository) {}\n\n async signIn({ email, password }: SignInParams, signInMethod: SignInMethod): Promise<User> {\n const method = this.getServiceByMethod(signInMethod)\n const userAuth = await this.authService[method]({ email, password })\n const user = this.userRepository.get(userAuth)\n\n if (!isNil(user)) return user\n if (/^.+@b4a.com.br$/.test(userAuth.email)) return this.createsUserByCredential(userAuth)\n\n throw new UnauthorizedError('Invalid credentials')\n }\n\n private getServiceByMethod(signInMethod: SignInMethod): string {\n return signInMethod === SignInMethods.EMAIL_PASSWORD ? 'signInWithEmailAndPassword' : 'signInWithGoogle'\n }\n\n private async createsUserByCredential(user: Partial<User>): Promise<User> {\n const [firstName, lastName] = user.displayName?.split(/\\s/)\n const person = User.toInstance({\n ...user,\n cpf: '',\n birthday: new Date(),\n firstName,\n lastName,\n acceptsNewsletter: false,\n area: Area.Transactional,\n officePosition: OfficePosition.Intern,\n type: UserType.Collaborator,\n })\n\n return this.userRepository.create(person)\n }\n}\n","export class UserAlreadyRegisteredError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","export class WeakPasswordError extends Error {\n constructor(readonly message = 'Weak password') {\n super(message)\n }\n}\n","import { User, UserType } from '../models'\nimport { RegisterService } from '../services/register.service'\nimport { UserAlreadyRegisteredError } from '../errors'\nimport { UserRepository } from '../repositories/user.repository'\n\ntype RegisterParams = Partial<User> & { password: string }\n\nexport class Register {\n constructor(private readonly registerService: RegisterService, private readonly userRepository: UserRepository) {}\n\n async register(params: RegisterParams): Promise<User> {\n const email = params.email.toLocaleLowerCase()\n const displayName = `${params.firstName} ${params.lastName}`\n\n if (await this.userRepository.checkIfExistsByField('cpf', params.cpf))\n throw new UserAlreadyRegisteredError(`Usuário com CPF ${params.cpf} já registrado.`)\n if (await this.userRepository.checkIfExistsByField('email', params.email))\n throw new UserAlreadyRegisteredError(`Usuário com e-mail ${params.email} já registrado.`)\n\n const auth = await this.registerService.register({\n birthday: params.birthday,\n email,\n firstName: params.firstName,\n lastName: params.lastName,\n cpf: params.cpf,\n displayName,\n phone: params.phone,\n password: params.password,\n })\n\n delete params.password\n\n const user = await this.userRepository.create({\n ...params,\n id: auth.id,\n email,\n displayName,\n type: UserType.B2C,\n dateCreated: new Date(),\n dateModified: new Date(),\n })\n\n return user\n }\n}\n","import { AuthenticationService } from '../services/authentication.service'\n\nexport class SignOut {\n constructor(private readonly authService: AuthenticationService) {}\n\n async signOut(): Promise<void> {\n await this.authService.signOut()\n }\n}\n","import { AuthenticationService } from '../services/authentication.service'\n\nexport class RecoveryPassword {\n constructor(private readonly authService: AuthenticationService) {}\n\n async sendEmail(email: string): Promise<void> {\n await this.authService.sendPasswordResetEmail(email)\n }\n}\n","export enum Shops {\n MENSMARKET = `mensmarket`,\n GLAMSHOP = 'Glamshop',\n GLAMPOINTS = 'Glampoints'\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model'\nimport { Shops } from './enums'\n\nimport { CategoryCondition, CategoryFilter } from './types'\n\nexport class Category extends BaseModel<Category> implements IdentifierFields<Category> {\n id: string\n brandCategory: boolean\n brandLogo?: string\n name: string\n slug: string\n image?: string\n brandCategoryBanner?: string\n brandCategoryBannerMobile?: string\n description: string\n conditions?: CategoryCondition\n products?: string[]\n filters?: CategoryFilter[]\n createdAt: Date\n updatedAt: Date\n shop: Shops\n published: boolean\n\n identifierFields(): NonFunctionPropertyNames<Category>[] {\n return ['id']\n }\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model'\n\nimport { Shops } from './enums/shops.enum'\nimport { ProductReview, ShopDescription, ShopPrice, ShopsDescription, ShopsPrice, Stock } from './types'\nimport { Variant } from './variant'\n\nexport class Product extends BaseModel<Product> implements IdentifierFields<Product> {\n id: string\n name: string\n slug: string\n shopAvailability: Shops[]\n description: ShopsDescription\n sku: string\n price: ShopsPrice\n hasVariants: boolean\n NCM: string\n EAN: string\n CEST: string\n weight: number\n stock: Stock\n costPrice: number\n images?: string[]\n miniatures?: string[]\n published: boolean\n publishedGlam: boolean\n createdAt: Date\n updatedAt: Date\n brand: string\n tags?: string[]\n type?: string\n categories?: string[]\n reviews?: ProductReview[]\n variant?: Variant\n video?: string\n\n identifierFields(): NonFunctionPropertyNames<Product>[] {\n return ['id']\n }\n\n getInfoByShop(shop: Shops): ShopDescription & ShopPrice & Stock {\n return {\n ...(this.description?.[shop]?.description ? { description: this.description?.[shop]?.description } : {}),\n ...(this.price?.[shop] || {}),\n ...(this.stock?.[shop] || {}),\n }\n }\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model'\n\nimport { ShopsPrice, Stock, VariantGrade } from './types'\n\nexport class Variant extends BaseModel<Variant> implements IdentifierFields<Variant> {\n id: string\n productId: string\n sku: string\n price: ShopsPrice\n EAN: string\n stock: Stock\n grade: VariantGrade[]\n costPrice: number\n weight: number\n\n identifierFields(): NonFunctionPropertyNames<Variant>[] {\n return ['id']\n }\n}\n","export enum CheckoutTypes {\n ECOMMERCE = 1,\n SUBSCRIPTION = 2,\n}\n","import { Expose } from 'class-transformer'\n\nimport { CheckoutTypes } from '../enums/checkout-types.enum'\n\nimport { Coupon } from './coupon'\n\nexport class ClubCoupon extends Coupon<ClubCoupon> {\n plan?: string\n\n @Expose({ name: 'checkout_type' })\n checkoutType = CheckoutTypes.SUBSCRIPTION\n\n static isClubCoupon(coupon: Coupon): coupon is ClubCoupon {\n return coupon instanceof ClubCoupon\n }\n}\n","import { Expose, Type } from 'class-transformer'\n\nimport { CheckoutTypes } from '../enums/checkout-types.enum'\nimport { Category } from '../../../catalog'\n\nimport { Coupon } from './coupon'\n\nexport class StoreCoupon extends Coupon<StoreCoupon> {\n @Expose({ name: 'checkout_type' })\n checkoutType = CheckoutTypes.ECOMMERCE\n\n @Type(() => Category)\n categories?: Category[]\n\n static isStoreCoupon(coupon: Coupon): coupon is StoreCoupon {\n return coupon instanceof StoreCoupon\n }\n}\n","export enum OrderStatus {\n AGUARDANDO_PAGAMENTO = 'Aguardando pagamento',\n EM_PREPARO = 'Preparando pedido',\n NF_EMITIDA = 'Nota Fiscal Emitida',\n AGUARDANDO_ENVIO = 'Aguardando Transaportadora',\n ENVIADO = 'Pedido Enviado',\n ENTREGUE = 'Pedido entregue',\n CANCELADO = 'Cancelado',\n CREDIT_CARD = 'credit_card',\n}\n","import { Product } from '../../catalog/models/product'\n\nexport class LineItem extends Product {\n parentId?: string\n quantity: number\n isGift?: boolean\n pricePaid?: number\n image?: string\n}\n","import { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types'\n\nexport class ShippingMethod extends BaseModel<ShippingMethod> implements IdentifierFields<ShippingMethod> {\n id: string\n CNPJ: string\n DaysToDelivery: number\n MaxGrams: number\n MinGrams: number\n ServiceCompanyRangeId: number\n ShippingCompanyId: number\n ShippingCompanyName: string\n ShippingPrice: number\n State: string\n ZipEnd: number\n ZipStart: number\n\n identifierFields(): NonFunctionPropertyNames<ShippingMethod>[] {\n return ['id']\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { Address } from '../../location/models/address'\nimport { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types'\nimport { User } from '../../users/models/user'\n\nimport { StoreCoupon } from './coupons/store-coupon'\nimport { LineItem } from './line-item'\nimport { ShippingMethod } from './shipping-method'\nimport { Shops } from '../../catalog/models/enums/shops.enum'\n\nexport class Checkout extends BaseModel<Checkout> implements IdentifierFields<Checkout> {\n id?: string\n paymentId?: string\n status?: string\n createdAt?: Date\n updatedAt?: Date\n completedAt?: Date\n discount?: number\n shop: Shops\n glampoints?: number\n\n @Type(() => LineItem)\n lineItems?: LineItem[]\n @Type(() => User)\n user?: User\n @Type(() => Address)\n shippingAddress?: Address\n @Type(() => Address)\n billingAddress?: Address\n @Type(() => ShippingMethod)\n shipping?: ShippingMethod\n @Type(() => StoreCoupon)\n coupon?: StoreCoupon\n\n get subTotalPrice(): number {\n return this.lineItems.reduce((total, item) => {\n return total + item.pricePaid\n }, 0)\n }\n\n get totalPrice(): number {\n return this.subTotalPrice + this.shipping?.ShippingPrice - this.discount\n }\n\n identifierFields(): NonFunctionPropertyNames<Checkout>[] {\n return ['id']\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { Checkout } from './checkout'\nimport { OrderStatus } from './enums/order-status.enum'\nimport { Payment } from './payment'\n\nexport class Order extends Checkout {\n status: OrderStatus\n trackingCode?: string\n trackingUrl?: string\n\n @Type(() => Payment)\n payment: Payment\n}\n","import { Type } from 'class-transformer'\n\nimport { Address } from '../../../location/models/address'\nimport { BaseModel } from '../../../general/model/base.model'\nimport { Coupon } from '../coupons/coupon'\nimport { IdentifierFields } from '../../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../../general/model/types'\nimport { User } from '../../../users/models/user'\n\nimport { SubscriptionPlan } from './plan'\n\nexport class CheckoutSubscription\n extends BaseModel<CheckoutSubscription>\n implements IdentifierFields<CheckoutSubscription>\n{\n id?: string\n user: User\n createdAt: Date\n updatedAt: Date\n completedAt?: Date\n userId?: string\n discount?: number\n subTotalPrice?: number\n totalPrice?: number\n\n @Type(() => Address)\n shippingAddress: Address\n @Type(() => Address)\n billingAddress?: Address\n @Type(() => SubscriptionPlan)\n subscriptionPlan: SubscriptionPlan\n @Type(() => Coupon)\n coupon?: Coupon\n\n identifierFields(): NonFunctionPropertyNames<CheckoutSubscription>[] {\n return ['id']\n }\n}\n","import { Type } from 'class-transformer'\n\nimport { BaseModel } from '../../general/model/base.model'\nimport { IdentifierFields } from '../../general/model/identifier-fields'\nimport { NonFunctionPropertyNames } from '../../general/model/types'\nimport { Shops, Category } from '../../catalog/models'\n\nexport class Buy2Win extends BaseModel<Buy2Win> implements IdentifierFields<Buy2Win> {\n active: boolean\n cartValue: number\n createdAt: Date\n endDate: Date\n id?: string\n name: string\n products?: string[]\n shop: Shops\n startDate: Date\n updatedAt?: Date\n\n @Type(() => Category)\n categories: Category[]\n\n identifierFields(): NonFunctionPropertyNames<Buy2Win>[] {\n return ['id']\n }\n}\n","export enum FilterType {\n ACCESSORY_IMPORTANCE = 'accessoryImportance',\n BEARD_PROBLEMS = 'beardProblems',\n BEARD_SIZE = 'beardSize',\n BEAUTY_PRODUCT_IMPORTANCE = 'beautyProductImportance',\n BODY_PROBLEMS = 'bodyProblems',\n BODY_SHAPE = 'bodyShape',\n BODY_TATTOOS = 'bodyTattoos',\n FACE_SKIN_OILINESS = 'faceSkinOiliness',\n FACE_SKIN_PROBLEMS = 'faceSkinProblems',\n FACE_SKIN_TONE = 'faceSkinTone',\n FAMILY_INCOME = 'familyIncome',\n FRAGRANCE_IMPORTANCE = 'fragranceImportance',\n HAIR_COLOR = 'hairColor',\n HAIR_PROBLEMS = 'hairProblems',\n HAIR_STRANDS = 'hairStrands',\n HAIR_TYPE = 'hairType',\n PRODUCT_SPENT = 'productSpent',\n}\n","export enum QuestionsFilters {\n ACCESSORY_IMPORTANCE = 'Você gosta de usar acessórios masculinos?',\n BEARD_PROBLEMS = 'Quais problemas de barba você tem?',\n BEARD_SIZE = 'Quais caracteristicas se aplicam à sua BARBA/BIGODE?',\n BEAUTY_PRODUCT_IMPORTANCE = 'O que descreve melhor a sua relação com produtos de beleza e cuidados pessoais?',\n BODY_PROBLEMS = 'Qual ou quais preocupações você tem com a pele do seu corpo?',\n BODY_SHAPE = 'Qual e seu tipo de CORPO?',\n BODY_TATTOOS = 'Você tem alguma tatuagem?',\n FACE_SKIN_OILINESS = 'Quais caracteristicas se aplicam à pele do seu ROSTO?',\n FACE_SKIN_PROBLEMS = 'Quais problemas a pele do seu rosto tem?',\n FACE_SKIN_TONE = 'Qual seu tom de pele?',\n FAMILY_INCOME = 'Qual a sua renda familiar mensal (considerando a renda de todas as pessoas que moram com você)?',\n FRAGRANCE_IMPORTANCE = 'O quanto você gosta de experimentar perfumes?',\n HAIR_COLOR = 'Seu cabelo é naturalmente de qual COR?',\n HAIR_PROBLEMS = 'Qual ou quais problemas/característica de cabelo te preocupam?',\n HAIR_STRANDS = 'Como são seus fios?',\n HAIR_TYPE = 'Como é o seu cabelo?',\n PRODUCT_SPENT = 'Qual é o seu nivel de gasto mensal em produtos de beleza e cuidados pessoais?',\n}\n","import * as Answers from '../../users/models/enums'\nimport { FilterType, QuestionsFilters } from '../enums'\n\ntype FilterAnswers = {\n [key: string]: string\n}\n\nexport class BeautyQuestionsHelper {\n static getAnswers(filter: FilterType): FilterAnswers {\n switch (filter) {\n case FilterType.ACCESSORY_IMPORTANCE:\n return Answers.AccessoryImportances\n case FilterType.BEARD_PROBLEMS:\n return Answers.BeardProblems\n case FilterType.BEARD_SIZE:\n return Answers.BeardSizes\n case FilterType.BEAUTY_PRODUCT_IMPORTANCE:\n return Answers.BeautyProductImportances\n case FilterType.BODY_PROBLEMS:\n return Answers.BodyProblems\n case FilterType.BODY_SHAPE:\n return Answers.BodyShapes\n case FilterType.BODY_TATTOOS:\n return Answers.BodyTattoos\n case FilterType.FACE_SKIN_OILINESS:\n return Answers.FaceSkinOilinesses\n case FilterType.FACE_SKIN_PROBLEMS:\n return Answers.FaceSkinProblems\n case FilterType.FACE_SKIN_TONE:\n return Answers.FaceSkinTones\n case FilterType.FAMILY_INCOME:\n return Answers.FamilyIncomes\n case FilterType.FRAGRANCE_IMPORTANCE:\n return Answers.FragranceImportances\n case FilterType.HAIR_COLOR:\n return Answers.HairColors\n case FilterType.HAIR_PROBLEMS:\n return Answers.HairProblems\n case FilterType.HAIR_STRANDS:\n return Answers.HairStrands\n case FilterType.HAIR_TYPE:\n return Answers.HairTypes\n case FilterType.PRODUCT_SPENT:\n return Answers.ProductSpents\n }\n }\n\n static getQuestions(filter: FilterType): string {\n return QuestionsFilters[filter]\n }\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model'\nimport { Banner, Benefit, HomeDataStructure } from './types'\n\nexport class Home extends BaseModel<Home> implements IdentifierFields<Home> {\n benefitsSection: Benefit[]\n blockBanners: Banner[]\n blogBanner: Banner\n brandsCarousel: Banner[]\n buyToWinBanner: Banner\n discoverCategories: string[]\n featuredCampaignBanner: Banner\n featuredCategories: string[]\n heroCarousel: Banner[]\n verticalCarousels: string[]\n id: string\n data: HomeDataStructure\n\n identifierFields(): NonFunctionPropertyNames<Home>[] {\n return ['id']\n }\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model'\nimport { MenuNav } from './types/menu-nav.type'\n\nexport class ShopMenu extends BaseModel<ShopMenu> implements IdentifierFields<ShopMenu> {\n menuNav: MenuNav[]\n id: string\n\n identifierFields(): NonFunctionPropertyNames<ShopMenu>[] {\n return ['id']\n }\n}\n","export class InvalidArgumentError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","export class RequiredArgumentError extends Error {\n arguments: string[]\n\n constructor(readonly args: string[]) {\n super(`Required arguments: ${args.join(', ')}`)\n\n this.arguments = args\n }\n}\n","export class NotFoundError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","export class DuplicatedResultsError extends Error {\n constructor(readonly message) {\n super(message)\n }\n}\n","import axios from 'axios'\n\nimport { BaseModel } from '../../../domain'\nimport { ElasticSearchResult } from '../types/elastic-search-result'\n\nexport type AxiosElasticSearchConfig = {\n url: string\n credential: string\n}\n\nexport class AxiosAdapter<T extends BaseModel<T>> {\n constructor(private readonly config: AxiosElasticSearchConfig) {}\n\n async query(index: string, query: any): Promise<ElasticSearchResult<Partial<T>>> {\n const { data } = await axios({\n url: `${this.config.url}/${index}`,\n method: 'POST',\n headers: { Authorization: `Basic ${this.config.credential}` },\n data: query,\n })\n\n return {\n total: data.hits.total.value,\n hits: data.hits.hits,\n }\n }\n}\n","import { AxiosAdapter } from '../adapters'\nimport { Product, Shops } from '../../../domain'\n\nexport class ProductsIndex {\n constructor(private readonly adapter: AxiosAdapter<Product>) {}\n\n async findById(ids: string[], options?: { hasStock: boolean; size: number; shop: Shops }): Promise<Product[]> {\n const publishedField = options.shop === Shops.GLAMSHOP ? 'publishedGlam' : 'published'\n const fields = [\n 'brand',\n 'id',\n 'images',\n 'miniatures',\n 'name',\n 'price',\n 'sku',\n 'stock',\n 'slug',\n 'reviews',\n 'pricePaid',\n 'isGift',\n 'stock',\n 'weight',\n 'tags',\n 'hasVariants',\n ]\n const { hits } = await this.adapter.query('products/_search', {\n _source: fields,\n query: {\n bool: {\n filter: [\n {\n terms: {\n _id: ids,\n },\n },\n {\n term: {\n [publishedField]: true,\n },\n },\n ...(options.hasStock\n ? [\n {\n range: {\n 'stock.quantity': {\n gt: 0,\n },\n },\n },\n ]\n : []),\n ],\n },\n },\n ...(options.size ? { size: options.size } : {}),\n })\n\n return hits.map((hit) => Product.toInstance(hit._source))\n }\n}\n","import { CollectionReference, DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'\nimport firebase from 'firebase'\n\nimport { BaseModelBuilder, BaseModelWithIdentifier } from '../../../../domain'\nimport { FirestoreRepository } from '../types'\nimport { MixinCtor } from '../../../../utils'\n\nexport const withFirestore = <TBase extends BaseModelWithIdentifier<TBase>>(MixinBase: MixinCtor) => {\n return class extends MixinBase implements FirestoreRepository<TBase> {\n readonly firestore?: FirebaseFirestore\n collectionName: string\n model: BaseModelBuilder<TBase>\n\n constructor(...args: Array<any>) {\n super(args)\n }\n\n collection(path?: string): CollectionReference<TBase> {\n return this.firestore.collection(path || this.collectionName).withConverter(this.buildModelInstance())\n }\n\n buildModelInstance(): {\n toFirestore: (data: TBase) => DocumentData\n fromFirestore: (snap: QueryDocumentSnapshot<TBase>) => TBase\n } {\n return {\n toFirestore: (data: TBase): DocumentData => (data?.toPlain ? data.toPlain() : data),\n fromFirestore: (snap: QueryDocumentSnapshot<TBase>): TBase => {\n const data = snap.data()\n\n Object.keys(data).forEach((key) => {\n if (data[key] instanceof firebase.firestore.Timestamp) {\n data[key] = data[key].toDate()\n }\n })\n\n return this.model.toInstance({ ...data, id: snap.id })\n },\n }\n }\n }\n}\n","import { QuerySnapshot, QueryDocumentSnapshot } from '@firebase/firestore-types'\n\nimport { BaseModelWithIdentifier } from '../../../../domain'\n\nimport { FirestoreHelpers, FirestoreRepository, FirestoreSubRepository } from '../types'\nimport { isNil, MixinCtor } from '../../../../utils'\n\nexport const withHelpers = <Model extends BaseModelWithIdentifier<Model>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor & TMixinBase,\n) => {\n return class extends MixinBase implements FirestoreHelpers {\n toArray<T extends BaseModelWithIdentifier<T>>(snapShot: QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[] {\n if (Array.isArray(snapShot)) {\n return snapShot.map((doc: QueryDocumentSnapshot<T>) => doc.data())\n } else {\n return snapShot.docs.map((doc: QueryDocumentSnapshot<T>) => doc.data())\n }\n }\n\n isSubCollection<T extends BaseModelWithIdentifier<T>>(\n repository: FirestoreRepository<T>,\n ): repository is FirestoreSubRepository<T> {\n return !isNil(Object.keys(this).find((key) => key === 'parentRepository'))\n }\n }\n}\n","import { BaseModelWithIdentifier, GetRepository, NonFunctionProperties } from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { isNil, MixinCtor } from '../../../../utils'\nimport { NotFoundError } from '../../../../errors'\n\nexport const withGetFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n return class GetFirestore extends MixinBase implements GetRepository<TBase> {\n async get(identifiers: NonFunctionProperties<TBase>): Promise<TBase> {\n const doc = await this.collection(this.buildCollectionPathForGet(identifiers))\n .doc(Object.values(identifiers).shift().toString())\n .get()\n const data = doc.data()\n\n if (isNil(data)) throw new NotFoundError(`Document ${JSON.stringify(identifiers)} not found`)\n\n return data\n }\n\n buildCollectionPathForGet(identifiers: NonFunctionProperties<TBase>): string {\n return this.isSubCollection(this)\n ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`\n : this.collectionName\n }\n }\n}\n","import { CollectionReference, Query } from '@firebase/firestore-types'\n\nimport {\n BaseModelWithIdentifier,\n FindRepository,\n NonFunctionPropertyNames,\n RepositoryFindField,\n RepositoryFindFielters,\n RepositoryFindFieltersOptions,\n RepositoryFindResult,\n RepositoryLimitOptions,\n RepositoryOrderByList,\n Where,\n} from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { isDate, isNil, isNumber, isObject, isString, MixinCtor, set } from '../../../../utils'\n\nexport const withFindFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n const checkIfIsFilterOption = (filter: any): filter is RepositoryFindFieltersOptions<TBase, any> =>\n !isNil(filter?.operator)\n const getValueFromFilter = (filter: RepositoryFindField<TBase, any>): any => {\n return checkIfIsFilterOption(filter) ? filter.value : filter\n }\n const getFinalValueFrom = (value: any) =>\n isNumber(value) || isString(value) || isDate(value) || Array.isArray(value)\n ? value\n : Object.values(getFinalValueFrom)\n\n return class FindFirestore extends MixinBase implements FindRepository<TBase> {\n async find(\n filters?: RepositoryFindFielters<TBase>[],\n limits?: RepositoryLimitOptions<TBase>,\n orderBy?: RepositoryOrderByList<TBase>,\n ): Promise<RepositoryFindResult<TBase>> {\n let query: CollectionReference<TBase> | Query<TBase> = this.collection(this.buildCollectionPathForFind(filters))\n\n filters?.forEach((filterer) => (query = this.makeFirestoreWhere(query, filterer)))\n\n orderBy?.forEach((orderer) =>\n Object.keys(orderer).forEach((fieldName) => (query = query.orderBy(fieldName, orderer[fieldName]))),\n )\n\n query = await this.defineLimits(query, filters, limits)\n\n const docs = await query.get()\n const data = docs.docs.map((doc) => doc.data())\n\n return {\n data,\n count: this.calculateCount(data, limits),\n }\n }\n\n buildCollectionPathForFind(filters: RepositoryFindFielters<TBase>[]): string {\n if (!this.isSubCollection<TBase>(this)) return this.collectionName\n\n const parentIdField = this.parentIdField\n const parentId = getValueFromFilter(\n filters.find((groupFilter) => Boolean(getValueFromFilter(groupFilter[parentIdField])))?.[parentIdField],\n )\n\n return `${this.parentRepository.collectionName}/${parentId}/${this.collectionName}`\n }\n\n makeFirestoreWhere = (\n queryReference: CollectionReference<TBase> | Query<TBase>,\n filter: RepositoryFindFielters<TBase>,\n ): Query<TBase> =>\n Object.keys(filter).reduce(\n (query: Query<TBase>, fieldName: string) => this.buildWhereSentence(query, fieldName, filter[fieldName]),\n queryReference,\n )\n\n buildWhereSentence = (\n queryReference: CollectionReference<TBase> | Query<TBase>,\n fieldName: NonFunctionPropertyNames<TBase> | string,\n options: RepositoryFindFieltersOptions<TBase, NonFunctionPropertyNames<TBase>>,\n ): Query<TBase> => {\n if (this.isSubCollection<TBase>(this) && fieldName === this.parentIdField) return queryReference\n\n const value = options?.value || options\n const object = {}\n\n set(object, fieldName, value)\n\n const plainInstance = new this.model(object).toPlain()\n const firestoreFieldName =\n fieldName.toString().indexOf('.') > -1\n ? fieldName.toString()\n : Object.keys(plainInstance).find((key) => plainInstance[key])\n\n if (options?.operator === Where.LIKE) {\n if (Array.isArray(options?.value))\n return queryReference.where(firestoreFieldName, 'array-contains-any', options.value)\n\n queryReference = queryReference.where(firestoreFieldName, '>=', options.value)\n queryReference = queryReference.where(firestoreFieldName, '<=', `${options.value}~`)\n\n return queryReference\n }\n if (options?.operator === Where.IN && Array.isArray(options?.value))\n return queryReference.where(firestoreFieldName, 'array-contains', options.value)\n if (isObject(options) && isNil(options?.operator) && isNil(options?.value)) {\n return Object.keys(options).reduce(\n (queryReferenceWithWhere, key) =>\n this.buildWhereSentence(queryReferenceWithWhere, `${fieldName}.${key}`, options[key]),\n queryReference,\n )\n }\n\n return queryReference.where(firestoreFieldName, options?.operator || '==', options?.value || options)\n }\n\n async defineLimits(\n query: CollectionReference<TBase> | Query<TBase>,\n filters: RepositoryFindFielters<TBase>[],\n limits: RepositoryLimitOptions<TBase>,\n ): Promise<Query<TBase>> {\n if (limits?.offset) {\n if (limits.offset instanceof this.model)\n query = query.startAfter(\n await this.collection(this.buildCollectionPathForFind(filters))\n .doc(limits.offset[limits.offset.identifierFields().shift() as string])\n .get(),\n )\n else if (isNumber(limits.offset) || isString(limits.offset)) query = query.startAt(limits.offset)\n }\n if (limits?.limit) query = query.limit(limits.limit)\n\n return query\n }\n\n calculateCount(data: TBase[], limits: RepositoryLimitOptions<TBase>): number {\n if (data.length <= 0) return 0\n if (data.length < limits?.limit) return data.length\n\n return Infinity\n }\n }\n}\n","import { DocumentReference } from '@firebase/firestore-types'\n\nimport { CreateRepository, BaseModelWithIdentifier } from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { isEmpty, MixinCtor } from '../../../../utils'\n\nexport const withCreateFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n return class CreateFirestore extends MixinBase implements CreateRepository<TBase> {\n async create(data: Partial<TBase>): Promise<TBase> {\n const docRef = await this.save(this.model.toInstance(data))\n const doc = await docRef.get()\n\n return doc.data()\n }\n\n async save(data: TBase): Promise<DocumentReference<TBase>> {\n const id = data[data.identifierFields().shift()]?.toString()\n const collectionPath = this.buildCollectionPathForAdd(data)\n\n if (isEmpty(id)) return this.collection(collectionPath).add(data)\n\n const docRef = this.collection(collectionPath).doc(id)\n await docRef.set(data)\n\n return docRef\n }\n\n buildCollectionPathForAdd(identifiers: Partial<TBase>): string {\n return this.isSubCollection(this)\n ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`\n : this.collectionName\n }\n }\n}\n","import firebase from 'firebase'\n\nimport {\n BaseModelWithIdentifier,\n NonFunctionPropertyNames,\n RepositoryUpdateParams,\n UpdateOptionActions,\n UpdateOptions,\n UpdateRepository,\n} from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { isNil, MixinCtor, PropType } from '../../../../utils'\n\nexport const withUpdateFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n const getValueFromParams = (\n params: RepositoryUpdateParams<TBase>,\n field: NonFunctionPropertyNames<TBase>,\n ): PropType<TBase, NonFunctionPropertyNames<TBase>> =>\n (isNil(params[field as string]?.value) ? params[field as string] : params[field as string].value) || null\n const getValueByAction = (options: UpdateOptions<TBase>): firebase.firestore.FieldValue | unknown => {\n const fieldValues = firebase.firestore.FieldValue\n\n if (isNil(options.action)) return options\n if (options.action === UpdateOptionActions.REMOVE_FIELD) return fieldValues.delete()\n if (Array.isArray(options.value)) {\n if (options.action === UpdateOptionActions.MERGE) return fieldValues.arrayUnion(...options.value)\n if (options.action === UpdateOptionActions.REMOVE) return fieldValues.arrayRemove(...options.value)\n }\n\n return options.value\n }\n\n return class UpdateFirestore extends MixinBase implements UpdateRepository<TBase> {\n async update(data: RepositoryUpdateParams<TBase>): Promise<TBase> {\n const model = new this.model()\n const keyField = model.identifierFields().shift()\n const docRef = this.collection(this.buildCollectionPathForUpdate(data)).doc(\n getValueFromParams(data, keyField).toString(),\n )\n\n await docRef.set(this.paramsToPlain(data), { merge: true })\n\n const doc = await docRef.get()\n\n return doc.data()\n }\n\n buildCollectionPathForUpdate(identifiers: RepositoryUpdateParams<TBase>): string {\n return this.isSubCollection(this)\n ? `${this.parentRepository.collectionName}/${getValueFromParams(identifiers, this.parentIdField)}/${\n this.collectionName\n }`\n : this.collectionName\n }\n\n paramsToPlain(params: RepositoryUpdateParams<TBase>): Partial<TBase> {\n const model = this.model\n\n if (params instanceof model) return params\n\n return Object.keys(params).reduce(\n (data, currentKey) => ({ ...data, [currentKey]: getValueByAction(params[currentKey]) }),\n {},\n )\n }\n }\n}\n","import { BaseModelWithIdentifier, NonFunctionProperties, DeleteRepository } from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { MixinCtor } from '../../../../utils'\n\nexport const withDeleteFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n return class DeleteFirestore extends MixinBase implements DeleteRepository<TBase> {\n async delete(identifiers: NonFunctionProperties<TBase>): Promise<void> {\n await this.collection(this.buildCollectionPathForRemove(identifiers))\n .doc(Object.values(identifiers).shift().toString())\n .delete()\n }\n\n buildCollectionPathForRemove(identifiers: NonFunctionProperties<TBase>): string {\n return this.isSubCollection(this)\n ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`\n : this.collectionName\n }\n }\n}\n","import { CollectionReference, DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'\n\nimport { BaseModelWithIdentifier, NonFunctionPropertyNames } from '../../../../domain'\nimport { FirestoreRepository, FirestoreSubRepository } from '../types'\nimport { MixinCtor } from '../../../../utils'\n\nexport const withSubCollection = <\n TBase extends BaseModelWithIdentifier<TBase>,\n TBaseParent extends BaseModelWithIdentifier<TBaseParent>,\n TMixinBase extends MixinCtor,\n>(\n MixinBase: MixinCtor<FirestoreRepository<TBase>> & TMixinBase,\n ParentModel: new () => TBaseParent,\n) => {\n return class SubCollectionMix\n extends MixinBase\n implements FirestoreSubRepository<TBase, InstanceType<typeof ParentModel>>\n {\n readonly parentRepository: FirestoreRepository<InstanceType<typeof ParentModel>>\n parentIdField: NonFunctionPropertyNames<TBase>\n\n constructor(...args: Array<any>) {\n super(args)\n }\n\n collection(path?: string): CollectionReference<TBase> {\n return super.collection(path)\n }\n }\n}\n","import { BaseModelWithIdentifier, CrudRepository } from '../../../../domain'\nimport { FirestoreHelpers, FirestoreRepository } from '../types'\nimport { MixinCtor } from '../../../../utils'\n\nimport { withCreateFirestore } from './with-create-firestore.mixin'\nimport { withDeleteFirestore } from './with-delete-firestore.mixin'\nimport { withFindFirestore } from './with-find-firestore.mixin'\nimport { withGetFirestore } from './with-get-firestore.mixin'\nimport { withUpdateFirestore } from './with-update-firestore.mixin'\n\nexport const withCrudFirestore = <TBase extends BaseModelWithIdentifier<TBase>, TMixinBase extends MixinCtor>(\n MixinBase: MixinCtor<FirestoreRepository<TBase> & FirestoreHelpers> & TMixinBase,\n) => {\n return class CrudFirestore\n extends withUpdateFirestore(\n withGetFirestore(withFindFirestore(withDeleteFirestore(withCreateFirestore(MixinBase)))),\n )\n implements CrudRepository<TBase> {}\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Subscription, SubscriptionRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class SubscriptionFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Subscription>(Base)))\n implements SubscriptionRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'subscription'\n this.model = Subscription\n }\n}\n","import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../../../domain/general'\n\nexport class UserSearch extends BaseModel<UserSearch> implements IdentifierFields<UserSearch> {\n id: string\n cpf?: string\n email?: string\n createdAt: Date\n copiedAt: Date\n\n identifierFields(): NonFunctionPropertyNames<UserSearch>[] {\n return ['id']\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { CrudRepository } from '../../../../../domain'\nimport { UserSearch } from '../../models/user-search'\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class UserSearchFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<UserSearch>(Base)))\n implements CrudRepository<UserSearch>\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'userSearch'\n this.model = UserSearch\n }\n}\n","import { DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { BeautyProfile, User, UserRepository, Where } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nimport { UserSearchFirestoreRepository } from './user-search-firestore.repository'\n\nexport class UserFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<User>(Base)))\n implements UserRepository\n{\n constructor(\n readonly firestore: FirebaseFirestore,\n private readonly userSearchFirestoreRepository = new UserSearchFirestoreRepository(firestore),\n ) {\n super()\n this.collectionName = 'users'\n this.model = User\n }\n\n async get(identifiers: Partial<User>): Promise<User> {\n const user = await super.get({ id: identifiers.id })\n\n user.beautyProfile = await this.getBeautyProfile(user.id)\n user.isSubscriber = await this.checkIfIsSubscriber(user.id)\n\n return user\n }\n\n async checkIfExistsByField(field: string, value: string): Promise<boolean> {\n const result = await this.userSearchFirestoreRepository.find([{ [field]: { operator: Where.EQUALS, value } }])\n\n return result.count > 0\n }\n\n buildModelInstance(): {\n toFirestore: (data: User) => DocumentData\n fromFirestore: (snap: QueryDocumentSnapshot<User>) => User\n } {\n const { fromFirestore, toFirestore } = super.buildModelInstance()\n\n return {\n toFirestore: (data: User): DocumentData => {\n const plain = toFirestore(data)\n\n delete plain.isSubscriber\n\n return plain\n },\n fromFirestore,\n }\n }\n\n private async getBeautyProfile(userId: string): Promise<BeautyProfile> {\n const beautyProfile = await this.collection()\n .doc(userId)\n .collection('CX')\n .withConverter(this.buildBeautyProfileModelInstance())\n .doc('beautyProfile')\n .get()\n\n return beautyProfile.data()\n }\n\n private async checkIfIsSubscriber(userId: string): Promise<boolean> {\n const docs = await this.firestore\n .collection('subscription')\n .where('user.id', '==', userId)\n .where('status', '==', 'active')\n .get()\n\n return !!docs && !!docs.size\n }\n\n private buildBeautyProfileModelInstance(): {\n toFirestore: (data: BeautyProfile) => DocumentData\n fromFirestore: (snap: QueryDocumentSnapshot<BeautyProfile>) => BeautyProfile\n } {\n return {\n toFirestore: (data: BeautyProfile): DocumentData => data.toPlain(),\n fromFirestore: (snap: QueryDocumentSnapshot<BeautyProfile>): BeautyProfile =>\n BeautyProfile.toInstance(snap.data()),\n }\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Edition, Subscription, EditionRepository } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { SubscriptionFirestoreRepository } from './subscription-firestore.repository'\n\nexport class SubscriptionEditionFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<Edition>(Base))), Subscription)\n implements EditionRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: SubscriptionFirestoreRepository) {\n super()\n this.collectionName = 'editions'\n this.parentIdField = 'subscriptionId'\n this.model = Edition\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { BeautyProfile, BeautyProfileRepository, User } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { UserFirestoreRepository } from './user-firestore.repository'\n\nexport class UserBeautyProfileFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<BeautyProfile>(Base))), User)\n implements BeautyProfileRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: UserFirestoreRepository) {\n super()\n this.collectionName = 'CX'\n this.parentIdField = 'userId'\n this.model = BeautyProfile\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { User, UserAddress, UserAddressRepository } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { UserFirestoreRepository } from './user-firestore.repository'\n\nexport class UserAddressFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<UserAddress>(Base))), User)\n implements UserAddressRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: UserFirestoreRepository) {\n super()\n this.collectionName = 'address'\n this.parentIdField = 'userId'\n this.model = UserAddress\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { User, UserPaymentMethod, UserPaymentMethodRepository } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { UserFirestoreRepository } from './user-firestore.repository'\n\nexport class UserPaymentMethodFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<UserPaymentMethod>(Base))), User)\n implements UserPaymentMethodRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: UserFirestoreRepository) {\n super()\n this.collectionName = 'payment_method'\n this.parentIdField = 'userId'\n this.model = UserPaymentMethod\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { SubscriptionPayment, Subscription, SubscriptionPaymentRepository } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { SubscriptionFirestoreRepository } from './subscription-firestore.repository'\n\nexport class SubscriptionPaymentFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<SubscriptionPayment>(Base))), Subscription)\n implements SubscriptionPaymentRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: SubscriptionFirestoreRepository) {\n super()\n this.collectionName = 'payments'\n this.parentIdField = 'subscriptionId'\n this.model = SubscriptionPayment\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Lead, LeadRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class LeadFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Lead>(Base)))\n implements LeadRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'leads'\n this.model = Lead\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base, chunk } from '../../../../../utils'\nimport { Category, CategoryRepository, Product, Shops } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\nimport { DuplicatedResultsError, NotFoundError, RequiredArgumentError } from '../../../../../errors'\n\nexport class CategoryFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Category>(Base)))\n implements CategoryRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'categories'\n this.model = Category\n }\n\n getCategoryBySlug(slug: string, shop: Shops): Promise<Category> {\n return this.collection(this.collectionName)\n .where('slug', '==', slug)\n .where('shop', '==', shop)\n .where('published', '==', true)\n .get()\n .then((snap) => {\n if (snap.size > 1) throw new DuplicatedResultsError('Query returned duplicated values')\n\n if (snap.empty) throw new NotFoundError(`Document with slug ${slug} not found`)\n\n return snap.docs[0].data()\n })\n .catch((error) => error)\n }\n\n async getCategoriesForHome(categoryIds: string[], limit = 4): Promise<{ category: Category; products: Product[] }[]> {\n const categorySnap = await this.collection(this.collectionName)\n .where('id', 'in', categoryIds.filter(Boolean))\n .where('published', '==', true)\n .get()\n\n if (categorySnap.empty) throw new NotFoundError('Categories not found')\n\n const categories = categorySnap.docs.map((doc) => doc.data())\n const homeSections = await Promise.all(\n categories.map(async (category) => ({\n category,\n products: await this.mountCategory(category, { limit, hasStock: true }),\n })),\n )\n\n return homeSections\n }\n\n async mountCategory(category: Category, options?: { limit?: number; hasStock?: boolean }): Promise<Product[]> {\n if (!category.products) throw new RequiredArgumentError(['Category products is empty'])\n\n const chunks = chunk(category.products, 10)\n const products = []\n const publishedField = category.shop === Shops.GLAMSHOP ? 'publishedGlam' : 'published'\n\n for (const productIds of chunks) {\n if (options?.limit && products.length >= options?.limit) break\n\n let query = await this.collection('products').where(publishedField, '==', true).where('id', 'in', productIds)\n\n if (options?.hasStock) query = query.where('stock.quantity', '>', 0)\n if (options?.limit) query = query.limit(options?.limit)\n\n const productSnap = await query.get()\n\n if (productSnap.empty) continue\n\n products.push(...productSnap.docs.map((doc) => doc.data()))\n }\n\n return products\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Product, ProductRepository, Shops, Where } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class ProductFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Product>(Base)))\n implements ProductRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'products'\n this.model = Product\n }\n\n async getBySlug(slug: string, shop: Shops): Promise<Product> {\n const result = await this.find([\n { slug: { operator: Where.EQUALS, value: slug } },\n { shopAvailability: { operator: Where.IN, value: [shop] } },\n ])\n\n return result?.data?.shift()\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Product, Variant, VariantRepository } from '../../../../../domain'\nimport { withCrudFirestore, withFirestore, withHelpers, withSubCollection } from '../../mixins'\n\nimport { ProductFirestoreRepository } from './product-firestore.repository'\n\nexport class ProductVariantFirestoreRepository\n extends withSubCollection(withCrudFirestore(withHelpers(withFirestore<Variant>(Base))), Product)\n implements VariantRepository\n{\n constructor(readonly firestore: FirebaseFirestore, readonly parentRepository: ProductFirestoreRepository) {\n super()\n this.collectionName = 'variants'\n this.parentIdField = 'productId'\n this.model = Variant\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Product, SubscriptionProductRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class SubscriptionProductFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Product>(Base)))\n implements SubscriptionProductRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'subscriptionProducts'\n this.model = Product\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Checkout, CheckoutRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class CheckoutFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Checkout>(Base)))\n implements CheckoutRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'checkouts'\n this.model = Checkout\n }\n}\n","import { DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'\nimport firebase from 'firebase'\n\nimport { Base } from '../../../../../utils'\nimport { CheckoutTypes, ClubCoupon, Coupon, CouponRepository, StoreCoupon } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class CouponFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Coupon>(Base)))\n implements CouponRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'coupons'\n this.model = Coupon\n }\n\n buildModelInstance(): {\n toFirestore: (data: Coupon) => DocumentData\n fromFirestore: (snap: QueryDocumentSnapshot<Coupon>) => Coupon\n } {\n return {\n toFirestore: (data: Coupon): DocumentData => {\n const plain = data?.toPlain ? data.toPlain() : data\n\n if (!!plain.categories) plain.categories = plain?.categories?.map((category) => category.id)\n\n return plain\n },\n fromFirestore: (snap: QueryDocumentSnapshot): Coupon => {\n const data = snap.data()\n\n Object.keys(data).forEach((key) => {\n if (data[key] instanceof firebase.firestore.Timestamp) {\n data[key] = data[key].toDate()\n }\n })\n\n data.categories = data?.categories?.map((category) => ({ id: category }))\n\n if (data.checkout_type === CheckoutTypes.SUBSCRIPTION) return ClubCoupon.toInstance({ id: snap.id, ...data })\n if (data.checkout_type === CheckoutTypes.ECOMMERCE) return StoreCoupon.toInstance({ id: snap.id, ...data })\n\n return this.model.toInstance({ id: snap.id, ...data })\n },\n }\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Order, OrderRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class OrderFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Order>(Base)))\n implements OrderRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'orders'\n this.model = Order\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Payment, PaymentRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class PaymentFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Payment>(Base)))\n implements PaymentRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'payments'\n this.model = Payment\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { CheckoutSubscription, CheckoutSubscriptionRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class CheckoutSubscriptionFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<CheckoutSubscription>(Base)))\n implements CheckoutSubscriptionRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'checkoutsSubscription'\n this.model = CheckoutSubscription\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { SubscriptionPlan, SubscriptionPlanRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class SubscriptionPlanFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<SubscriptionPlan>(Base)))\n implements SubscriptionPlanRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'subscriptionPlans'\n this.model = SubscriptionPlan\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { Base } from '../../../../../utils'\nimport { Buy2Win, Buy2WinRepository } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class Buy2WinFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Buy2Win>(Base)))\n implements Buy2WinRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'buy2win'\n this.model = Buy2Win\n }\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\n\nimport { LegacyOrderRepository } from '../../../../../domain'\n\nimport { OrderFirestoreRepository } from './order-firestore.repository'\n\nexport class LegacyOrderFirestoreRepository extends OrderFirestoreRepository implements LegacyOrderRepository {\n constructor(readonly firestore: FirebaseFirestore) {\n super(firestore)\n this.collectionName = 'legacyOrders'\n }\n}\n","import { DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types'\nimport firebase from 'firebase'\n\nimport { Base } from '../../../../../utils'\nimport { Category, Home, HomeCategoryGroup, HomeRepository, Product } from '../../../../../domain'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class HomeFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<Home>(Base)))\n implements HomeRepository\n{\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'dms'\n this.model = Home\n }\n\n buildModelInstance(): {\n toFirestore: (data: Home) => DocumentData\n fromFirestore: (snap: QueryDocumentSnapshot<Home>) => Home\n } {\n const { fromFirestore, toFirestore } = super.buildModelInstance()\n\n return {\n toFirestore: (data: Home): DocumentData => {\n const modifiedData = this.homeToFirestore(data)\n\n return toFirestore(modifiedData)\n },\n fromFirestore: (snap: QueryDocumentSnapshot<Home>): Home => {\n const instance = fromFirestore(snap)\n\n return this.homeFromFirestore(instance)\n },\n }\n }\n\n private homeToFirestore = (home: Home): Home => {\n if (home.data?.data) {\n home.data.data.discoverProducts = home.data.data.discoverProducts.map(this.homeCategoryGroupToPlain)\n home.data.data.featuredProducts = home.data.data.featuredProducts.map(this.homeCategoryGroupToPlain)\n home.data.data.verticalProducts = home.data.data.verticalProducts.map(this.homeCategoryGroupToPlain)\n }\n\n return home\n }\n\n private homeCategoryGroupToPlain = (homeCategoryGroup: HomeCategoryGroup) => ({\n category: homeCategoryGroup.category.toPlain(),\n products: homeCategoryGroup.products.map((product) => product.toPlain()),\n })\n\n private homeFromFirestore = (home: Home): Home => {\n if (home.data?.data) {\n home.data.data.discoverProducts = home.data.data.discoverProducts.map(this.plainToHomeCategoryGroup)\n home.data.data.featuredProducts = home.data.data.featuredProducts.map(this.plainToHomeCategoryGroup)\n home.data.data.verticalProducts = home.data.data.verticalProducts.map(this.plainToHomeCategoryGroup)\n home.data.createdAt =\n home.data.createdAt instanceof firebase.firestore.Timestamp ? home.data.createdAt.toDate() : home.data.createdAt\n home.data.expiresAt =\n home.data.expiresAt instanceof firebase.firestore.Timestamp ? home.data.expiresAt.toDate() : home.data.expiresAt\n }\n\n return home\n }\n\n private plainToHomeCategoryGroup = (homeCategoryGroup: HomeCategoryGroup) => ({\n category: Category.toInstance(homeCategoryGroup.category),\n products: homeCategoryGroup.products.map((product) => Product.toInstance(product)),\n })\n}\n","import { FirebaseFirestore } from '@firebase/firestore-types'\nimport { ShopMenu, ShopMenuRepository } from '../../../../../domain'\n\nimport { Base } from '../../../../../utils'\n\nimport { withCrudFirestore, withFirestore, withHelpers } from '../../mixins'\n\nexport class ShopMenuFirestoreRepository\n extends withCrudFirestore(withHelpers(withFirestore<ShopMenu>(Base)))\n implements ShopMenuRepository {\n constructor(readonly firestore: FirebaseFirestore) {\n super()\n this.collectionName = 'shopMenus'\n this.model = ShopMenu\n }\n}\n","import firebase from 'firebase/app'\n\nimport { AuthenticationService, BasicUserData, LoginAndPasswordParams } from '../../../domain'\n\nimport { FirebaseUserWithId } from './types/firebase-user-with-id.type'\n\nexport class AuthenticationFirebaseAuthService implements AuthenticationService {\n constructor(private readonly firebaseAuth: firebase.auth.Auth) {}\n\n async signInWithEmailAndPassword(data: LoginAndPasswordParams): Promise<BasicUserData> {\n const credentials = await this.firebaseAuth.signInWithEmailAndPassword(data.email, data.password)\n const user = credentials.user\n\n return {\n id: user.uid,\n displayName: user.displayName,\n email: user.email,\n phone: user.phoneNumber,\n isAnonymous: false,\n }\n }\n\n async signInWithGoogle(): Promise<BasicUserData> {\n const credentials = await this.firebaseAuth.signInWithPopup(new firebase.auth.GoogleAuthProvider())\n const user = credentials.user\n\n return {\n id: user.uid,\n displayName: user.displayName,\n email: user.email,\n phone: user.phoneNumber,\n isAnonymous: false,\n }\n }\n\n async signOut(): Promise<void> {\n this.firebaseAuth.signOut()\n }\n\n async signInAnonymously(): Promise<FirebaseUserWithId> {\n const auth = await this.firebaseAuth.signInAnonymously()\n const user = auth.user as FirebaseUserWithId\n\n user.id = auth.user.uid\n\n return user\n }\n\n async sendPasswordResetEmail(email: string): Promise<void> {\n return this.firebaseAuth.sendPasswordResetEmail(email)\n }\n}\n","import firebase from 'firebase/app'\n\nimport { RegisterParams, RegisterService, UserAlreadyRegisteredError, WeakPasswordError } from '../../../domain'\n\nimport { FirebaseUserWithId } from './types/firebase-user-with-id.type'\n\nexport class RegisterFirebaseAuthService implements RegisterService {\n constructor(private readonly firebaseAuth: firebase.auth.Auth) {}\n\n async register(params: RegisterParams): Promise<FirebaseUserWithId> {\n try {\n const auth = await this.firebaseAuth.createUserWithEmailAndPassword(params.email, params.password)\n const user = auth.user as FirebaseUserWithId\n\n user.sendEmailVerification()\n user.id = auth.user.uid\n\n return user\n } catch (error) {\n if (error.code === 'auth/email-already-in-use') throw new UserAlreadyRegisteredError('Email already registered')\n if (error.code === 'auth/weak-password') throw new WeakPasswordError()\n\n throw error\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["plainToClass","classToPlain","Where","UpdateOptionActions","AccessoryImportances","Area","BeardProblems","BeardSizes","BeautyProductImportances","BodyProblems","BodyShapes","BodyTattoos","FaceSkinOilinesses","FaceSkinProblems","FaceSkinTones","FamilyIncomes","FragranceImportances","HairColors","HairProblems","HairStrands","HairTypes","OfficePosition","ProductSpents","UserType","BillingStatus","EditionStatus","PaymentType","Status","Expose","Type","DiscountType","Exclusivities","isNil","SignInMethods","Shops","CheckoutTypes","OrderStatus","FilterType","QuestionsFilters","Answers.AccessoryImportances","Answers.BeardProblems","Answers.BeardSizes","Answers.BeautyProductImportances","Answers.BodyProblems","Answers.BodyShapes","Answers.BodyTattoos","Answers.FaceSkinOilinesses","Answers.FaceSkinProblems","Answers.FaceSkinTones","Answers.FamilyIncomes","Answers.FragranceImportances","Answers.HairColors","Answers.HairProblems","Answers.HairStrands","Answers.HairTypes","Answers.ProductSpents","axios","firebase","isNumber","isString","isDate","set","isObject","isEmpty","chunk"],"mappings":"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"}
|