commit 5146c8e91983726b746795f228598a210ad4c3b6 Author: Andreas Knuth Date: Thu Feb 29 10:23:41 2024 -0600 initial release diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..108eebc --- /dev/null +++ b/.gitignore @@ -0,0 +1,71 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db + +public + +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# temp directory +.temp +.tmp + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +*.js +*.map +package-lock.json + +*.jar +gitea +auth diff --git a/bizmatch-server/.prettierrc b/bizmatch-server/.prettierrc new file mode 100644 index 0000000..dcb7279 --- /dev/null +++ b/bizmatch-server/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "trailingComma": "all" +} \ No newline at end of file diff --git a/bizmatch-server/.vscode/launch.json b/bizmatch-server/.vscode/launch.json new file mode 100644 index 0000000..fb45c9d --- /dev/null +++ b/bizmatch-server/.vscode/launch.json @@ -0,0 +1,22 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Debug Nest Framework", + "runtimeExecutable": "npm", + "runtimeArgs": [ + "run", + "start:debug", + "--", + "--inspect-brk" + ], + "autoAttachChildProcesses": true, + "restart": true, + "sourceMaps": true, + "stopOnEntry": false, + "console": "integratedTerminal", + } + ] +} \ No newline at end of file diff --git a/bizmatch-server/README.md b/bizmatch-server/README.md new file mode 100644 index 0000000..00a13b1 --- /dev/null +++ b/bizmatch-server/README.md @@ -0,0 +1,73 @@ +

+ Nest Logo +

+ +[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 +[circleci-url]: https://circleci.com/gh/nestjs/nest + +

A progressive Node.js framework for building efficient and scalable server-side applications.

+

+NPM Version +Package License +NPM Downloads +CircleCI +Coverage +Discord +Backers on Open Collective +Sponsors on Open Collective + + Support us + +

+ + +## Description + +[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. + +## Installation + +```bash +$ npm install +``` + +## Running the app + +```bash +# development +$ npm run start + +# watch mode +$ npm run start:dev + +# production mode +$ npm run start:prod +``` + +## Test + +```bash +# unit tests +$ npm run test + +# e2e tests +$ npm run test:e2e + +# test coverage +$ npm run test:cov +``` + +## Support + +Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). + +## Stay in touch + +- Author - [Kamil Myƛliwiec](https://kamilmysliwiec.com) +- Website - [https://nestjs.com](https://nestjs.com/) +- Twitter - [@nestframework](https://twitter.com/nestframework) + +## License + +Nest is [MIT licensed](LICENSE). diff --git a/bizmatch-server/REDIS_INDEX.txt b/bizmatch-server/REDIS_INDEX.txt new file mode 100644 index 0000000..64dee68 --- /dev/null +++ b/bizmatch-server/REDIS_INDEX.txt @@ -0,0 +1 @@ +FT.CREATE listingsIndex ON JSON PREFIX 1 listings: SCHEMA $.location AS location TAG SORTABLE $.price AS price NUMERIC SORTABLE $.listingsCategory AS listingsCategory TAG SORTABLE $.type AS type TAG SORTABLE \ No newline at end of file diff --git a/bizmatch-server/dist/account/account.controller.d.ts b/bizmatch-server/dist/account/account.controller.d.ts new file mode 100644 index 0000000..12e33f9 --- /dev/null +++ b/bizmatch-server/dist/account/account.controller.d.ts @@ -0,0 +1,7 @@ +/// +import { FileService } from '../file/file.service.js'; +export declare class AccountController { + private fileService; + constructor(fileService: FileService); + uploadFile(file: Express.Multer.File, id: string): void; +} diff --git a/bizmatch-server/dist/account/account.service.d.ts b/bizmatch-server/dist/account/account.service.d.ts new file mode 100644 index 0000000..4f3b6fe --- /dev/null +++ b/bizmatch-server/dist/account/account.service.d.ts @@ -0,0 +1,2 @@ +export declare class AccountService { +} diff --git a/bizmatch-server/dist/app.controller.d.ts b/bizmatch-server/dist/app.controller.d.ts new file mode 100644 index 0000000..8918889 --- /dev/null +++ b/bizmatch-server/dist/app.controller.d.ts @@ -0,0 +1,6 @@ +import { AppService } from './app.service.js'; +export declare class AppController { + private readonly appService; + constructor(appService: AppService); + getHello(): string; +} diff --git a/bizmatch-server/dist/app.module.d.ts b/bizmatch-server/dist/app.module.d.ts new file mode 100644 index 0000000..09cdb35 --- /dev/null +++ b/bizmatch-server/dist/app.module.d.ts @@ -0,0 +1,2 @@ +export declare class AppModule { +} diff --git a/bizmatch-server/dist/app.service.d.ts b/bizmatch-server/dist/app.service.d.ts new file mode 100644 index 0000000..0496e79 --- /dev/null +++ b/bizmatch-server/dist/app.service.d.ts @@ -0,0 +1,3 @@ +export declare class AppService { + getHello(): string; +} diff --git a/bizmatch-server/dist/assets/listings.json b/bizmatch-server/dist/assets/listings.json new file mode 100644 index 0000000..a8e2420 --- /dev/null +++ b/bizmatch-server/dist/assets/listings.json @@ -0,0 +1,66 @@ +[ + { + "id":"1", + "userId":"1", + "listingsCategory": "business", + "title": "Industrial Service Company In Corpus Christi For Sale - 1954", + "summary": ["Asking price: $5,500,000","Sales revenue: $1,200,000","Net profit: $650,000"], + "description": ["This company services a wide variety of industries. Asking price includes Business and the Real Estate and is approx 30,000 sq ft with room for expansion including approx 5 acres. Absentee run business."], + "type": "2", + "location": "Texas", + "price":5500000, + "salesRevenue":1200000, + "cashFlow":650000, + "brokerLicencing":"TREC Broker #516788", + "established":1954, + "realEstateIncluded":true + }, + { + "id":"2", + "userId":"1", + "listingsCategory": "business", + "title": "Coastal Bend Manufacturing Business Plastic Injection For Sale - 1950", + "summary": ["Asking price: $165,000","Sales revenue: Undisclosed","Net profit: Undisclosed"], + "description": [""], + "type": "12", + "location": "Texas", + "price":165000, + "salesRevenue":null, + "cashFlow":null, + "brokerLicencing":"TREC Broker #516788", + "established":1950, + "realEstateIncluded":false + }, + { + "id":"3", + "userId":"1", + "listingsCategory": "business", + "title": "Corner Property On Everhart South-side Corpus Christi For Sale - 1944", + "summary": ["Asking price: $830,000","Sales revenue: Undisclosed","Net profit: Undisclosed"], + "description": [""], + "type": "3", + "location": "Texas", + "price":830000, + "salesRevenue":null, + "cashFlow":null, + "brokerLicencing":"TREC Broker #516788", + "established":1944, + "realEstateIncluded":false + }, + { + "id":"4", + "userId":"1", + "listingsCategory": "business", + "title": "Corpus Christi Dessert Business For Sale - 1941", + "summary": ["Asking price: $124,900","Sales revenue: $225,000","Net profit: $50,000"], + "description": [""], + "type": "13", + "location": "Texas", + "price":830000, + "salesRevenue":225000, + "cashFlow":50000, + "brokerLicencing":"TREC Broker #516788", + "established":1941, + "realEstateIncluded":false + } + ] \ No newline at end of file diff --git a/bizmatch-server/dist/assets/subscriptions.json b/bizmatch-server/dist/assets/subscriptions.json new file mode 100644 index 0000000..fdca232 --- /dev/null +++ b/bizmatch-server/dist/assets/subscriptions.json @@ -0,0 +1,14 @@ +[{ + "id":"1", + "userId":"e0811669-c7eb-4e5e-a699-e8334d5c5b01", + "level":"Business Broker", + "start":"2024-02-12T21:54:20.603Z", + "modified":"2024-02-12T21:54:20.603Z", + "end":"9999-02-12T21:54:20.603Z", + "status":"active", + "invoices":[{ + "date":"2024-02-12T21:54:20.603Z", + "id":"C991853B99", + "price":0 + }] +}] \ No newline at end of file diff --git a/bizmatch-server/dist/file/file.service.d.ts b/bizmatch-server/dist/file/file.service.d.ts new file mode 100644 index 0000000..c4967a8 --- /dev/null +++ b/bizmatch-server/dist/file/file.service.d.ts @@ -0,0 +1,8 @@ +/// +export declare class FileService { + private subscriptions; + constructor(); + private loadSubscriptions; + getSubscriptions(): any; + storeFile(file: Express.Multer.File, id: string): Promise; +} diff --git a/bizmatch-server/dist/listings/listings.controller.d.ts b/bizmatch-server/dist/listings/listings.controller.d.ts new file mode 100644 index 0000000..2508012 --- /dev/null +++ b/bizmatch-server/dist/listings/listings.controller.d.ts @@ -0,0 +1,13 @@ +import { ListingsService } from './listings.service.js'; +import { Logger } from 'winston'; +export declare class ListingsController { + private readonly listingsService; + private readonly logger; + constructor(listingsService: ListingsService, logger: Logger); + findAll(): any; + findById(id: string): any; + find(criteria: any): any; + updateById(id: string, listing: any): void; + create(listing: any): void; + deleteById(id: string): void; +} diff --git a/bizmatch-server/dist/listings/listings.service.d.ts b/bizmatch-server/dist/listings/listings.service.d.ts new file mode 100644 index 0000000..5bfbcd1 --- /dev/null +++ b/bizmatch-server/dist/listings/listings.service.d.ts @@ -0,0 +1,13 @@ +import { BusinessListing, InvestmentsListing, ListingCriteria, ProfessionalsBrokersListing } from '../models/main.model.js'; +import { RedisService } from '../redis/redis.service.js'; +import { Logger } from 'winston'; +export declare class ListingsService { + private redisService; + private readonly logger; + constructor(redisService: RedisService, logger: Logger); + setListing(value: BusinessListing | ProfessionalsBrokersListing | InvestmentsListing, id?: string): Promise; + getListingById(id: string): Promise; + deleteListing(id: string): void; + getAllListings(start?: number, end?: number): Promise; + find(criteria: ListingCriteria): Promise; +} diff --git a/bizmatch-server/dist/mail/mail.controller.d.ts b/bizmatch-server/dist/mail/mail.controller.d.ts new file mode 100644 index 0000000..654c7a3 --- /dev/null +++ b/bizmatch-server/dist/mail/mail.controller.d.ts @@ -0,0 +1,7 @@ +import { MailService } from './mail.service.js'; +import { MailInfo } from '../models/server.model.js'; +export declare class MailController { + private mailService; + constructor(mailService: MailService); + sendEMail(id: string, mailInfo: MailInfo): any; +} diff --git a/bizmatch-server/dist/mail/mail.module.d.ts b/bizmatch-server/dist/mail/mail.module.d.ts new file mode 100644 index 0000000..c6b47fe --- /dev/null +++ b/bizmatch-server/dist/mail/mail.module.d.ts @@ -0,0 +1,2 @@ +export declare class MailModule { +} diff --git a/bizmatch-server/dist/mail/mail.service.d.ts b/bizmatch-server/dist/mail/mail.service.d.ts new file mode 100644 index 0000000..ffa0c2b --- /dev/null +++ b/bizmatch-server/dist/mail/mail.service.d.ts @@ -0,0 +1,9 @@ +import { MailerService } from '@nestjs-modules/mailer'; +import { AuthService } from '../auth/auth.service.js'; +import { MailInfo } from '../models/server.model.js'; +export declare class MailService { + private mailerService; + private authService; + constructor(mailerService: MailerService, authService: AuthService); + sendInquiry(userId: string, mailInfo: MailInfo): Promise; +} diff --git a/bizmatch-server/dist/mail/templates/inquiry.hbs b/bizmatch-server/dist/mail/templates/inquiry.hbs new file mode 100644 index 0000000..1fd5d37 --- /dev/null +++ b/bizmatch-server/dist/mail/templates/inquiry.hbs @@ -0,0 +1,5 @@ +

Hey {{ name }},

+

You got an inquiry a

+

+ {{inquiry}} +

\ No newline at end of file diff --git a/bizmatch-server/dist/main.d.ts b/bizmatch-server/dist/main.d.ts new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/bizmatch-server/dist/main.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/bizmatch-server/dist/models/main.model.d.ts b/bizmatch-server/dist/models/main.model.d.ts new file mode 100644 index 0000000..482cf85 --- /dev/null +++ b/bizmatch-server/dist/models/main.model.d.ts @@ -0,0 +1,126 @@ +export interface KeyValue { + name: string; + value: string; +} +export interface KeyValueStyle { + name: string; + value: string; + icon: string; + bgColorClass: string; + textColorClass: string; +} +export type SelectOption = { + value: T; + label: string; +}; +export interface Listing { + id: string; + userId: string; + title: string; + description: Array; + location: string; + favoritesForUser: Array; + hideImage?: boolean; + created: Date; + updated: Date; +} +export interface BusinessListing extends Listing { + listingsCategory: 'business'; + summary: Array; + type: string; + price?: number; + realEstateIncluded?: boolean; + salesRevenue?: number; + cashFlow?: number; + netProfit?: number; + inventory?: string; + employees?: number; + established?: number; + reasonForSale?: string; + brokerLicencing?: string; + internals?: string; +} +export interface ProfessionalsBrokersListing extends Listing { + listingsCategory: 'professionals_brokers'; + summary: string; + address?: string; + email?: string; + website?: string; + category?: 'Professionals' | 'Broker'; +} +export interface InvestmentsListing extends Listing { + listingsCategory: 'investment'; + email?: string; + website?: string; + phoneNumber?: string; +} +export type ListingType = BusinessListing | ProfessionalsBrokersListing | InvestmentsListing; +export interface ListingCriteria { + type: string; + location: string; + minPrice: string; + maxPrice: string; + realEstateChecked: boolean; + listingsCategory: 'business' | 'professionals_brokers' | 'investment'; + category: 'professional|broker'; +} +export interface User { + id: string; + username: string; + firstname: string; + lastname: string; + email: string; +} +export interface Subscription { + id: string; + userId: string; + level: string; + start: Date; + modified: Date; + end: Date; + status: string; + invoices: Array; +} +export interface Invoice { + id: string; + date: Date; + price: number; +} +export interface JwtToken { + exp: number; + iat: number; + auth_time: number; + jti: string; + iss: string; + aud: string; + sub: string; + typ: string; + azp: string; + nonce: string; + session_state: string; + acr: string; + realm_access: Realmaccess; + resource_access: Resourceaccess; + scope: string; + sid: string; + email_verified: boolean; + name: string; + preferred_username: string; + given_name: string; + family_name: string; + email: string; + user_id: string; +} +interface Resourceaccess { + account: Realmaccess; +} +interface Realmaccess { + roles: string[]; +} +export interface PageEvent { + first: number; + rows: number; + page: number; + pageCount: number; +} +export {}; diff --git a/bizmatch-server/dist/models/main.model.ts b/bizmatch-server/dist/models/main.model.ts new file mode 100644 index 0000000..e814b55 --- /dev/null +++ b/bizmatch-server/dist/models/main.model.ts @@ -0,0 +1,129 @@ +export interface KeyValue { + name: string; + value: string; +} +export interface KeyValueStyle { + name: string; + value: string; + icon:string; + bgColorClass:string; + textColorClass:string; +} +export type SelectOption = { + value: T; + label: string; +}; +export interface Listing { + id: string; + userId: string; + title: string; + description: Array; + location: string;//enum + favoritesForUser:Array; + hideImage?:boolean; + created:Date; + updated:Date; +} +export interface BusinessListing extends Listing { + listingsCategory: 'business'; //enum + summary: Array; + type: string; //enum + price?: number; + realEstateIncluded?: boolean; + salesRevenue?: number; + cashFlow?: number; + netProfit?: number; + inventory?: string; + employees?: number; + established?: number; + reasonForSale?: string; + brokerLicencing?: string; + internals?: string; +} +export interface ProfessionalsBrokersListing extends Listing { + listingsCategory: 'professionals_brokers'; //enum + summary: string; + address?: string; + email?: string; + website?: string; + category?: 'Professionals' | 'Broker'; +} +export interface InvestmentsListing extends Listing { + listingsCategory: 'investment'; //enum + email?: string; + website?: string; + phoneNumber?: string; +} +export type ListingType = + | BusinessListing + | ProfessionalsBrokersListing + | InvestmentsListing; + +export interface ListingCriteria { + type:string, + location:string, + minPrice:string, + maxPrice:string, + realEstateChecked:boolean, + listingsCategory:'business'|'professionals_brokers'|'investment', + category:'professional|broker' +} +export interface User { + id: string; + username: string; + firstname: string; + lastname: string; + email: string; +} +export interface Subscription { + id: string; + userId:string + level: string; + start: Date; + modified: Date; + end: Date; + status: string; + invoices: Array; +} +export interface Invoice { + id: string, + date: Date, + price: number +} +export interface JwtToken { + exp: number; + iat: number; + auth_time: number; + jti: string; + iss: string; + aud: string; + sub: string; + typ: string; + azp: string; + nonce: string; + session_state: string; + acr: string; + realm_access: Realmaccess; + resource_access: Resourceaccess; + scope: string; + sid: string; + email_verified: boolean; + name: string; + preferred_username: string; + given_name: string; + family_name: string; + email: string; + user_id: string; +} +interface Resourceaccess { + account: Realmaccess; +} +interface Realmaccess { + roles: string[]; +} +export interface PageEvent { + first: number; + rows: number; + page: number; + pageCount: number; +} \ No newline at end of file diff --git a/bizmatch-server/dist/models/server.model.d.ts b/bizmatch-server/dist/models/server.model.d.ts new file mode 100644 index 0000000..e95e2db --- /dev/null +++ b/bizmatch-server/dist/models/server.model.d.ts @@ -0,0 +1,11 @@ +export interface MailInfo { + sender: Sender; + userId: string; +} +export interface Sender { + name: string; + email: string; + phoneNumber: string; + state: string; + comments: string; +} diff --git a/bizmatch-server/dist/redis/redis.controller.d.ts b/bizmatch-server/dist/redis/redis.controller.d.ts new file mode 100644 index 0000000..169d3ab --- /dev/null +++ b/bizmatch-server/dist/redis/redis.controller.d.ts @@ -0,0 +1,5 @@ +import { RedisService } from './redis.service.js'; +export declare class RedisController { + private redisService; + constructor(redisService: RedisService); +} diff --git a/bizmatch-server/dist/redis/redis.module.d.ts b/bizmatch-server/dist/redis/redis.module.d.ts new file mode 100644 index 0000000..4aab953 --- /dev/null +++ b/bizmatch-server/dist/redis/redis.module.d.ts @@ -0,0 +1,2 @@ +export declare class RedisModule { +} diff --git a/bizmatch-server/dist/redis/redis.service.d.ts b/bizmatch-server/dist/redis/redis.service.d.ts new file mode 100644 index 0000000..3620bc6 --- /dev/null +++ b/bizmatch-server/dist/redis/redis.service.d.ts @@ -0,0 +1,11 @@ +export declare const LISTINGS = "LISTINGS"; +export declare const SUBSCRIPTIONS = "SUBSCRIPTIONS"; +export declare const USERS = "USERS"; +export declare class RedisService { + private redis; + setJson(id: string, value: any): Promise; + delete(id: string): Promise; + getJson(id: string, prefix: string): Promise; + getId(prefix: 'LISTINGS' | 'SUBSCRIPTIONS' | 'USERS'): Promise; + search(prefix: 'LISTINGS' | 'SUBSCRIPTIONS' | 'USERS', clause: string): Promise; +} diff --git a/bizmatch-server/dist/select-options/select-options.controller.d.ts b/bizmatch-server/dist/select-options/select-options.controller.d.ts new file mode 100644 index 0000000..9887898 --- /dev/null +++ b/bizmatch-server/dist/select-options/select-options.controller.d.ts @@ -0,0 +1,6 @@ +import { SelectOptionsService } from './select-options.service.js'; +export declare class SelectOptionsController { + private selectOptionsService; + constructor(selectOptionsService: SelectOptionsService); + getSelectOption(): any; +} diff --git a/bizmatch-server/dist/select-options/select-options.service.d.ts b/bizmatch-server/dist/select-options/select-options.service.d.ts new file mode 100644 index 0000000..f523754 --- /dev/null +++ b/bizmatch-server/dist/select-options/select-options.service.d.ts @@ -0,0 +1,10 @@ +import { KeyValue, KeyValueStyle } from '../models/main.model.js'; +export declare class SelectOptionsService { + constructor(); + typesOfBusiness: Array; + prices: Array; + listingCategories: Array; + categories: Array; + private usStates; + locations: Array; +} diff --git a/bizmatch-server/dist/subscriptions/subscriptions.controller.d.ts b/bizmatch-server/dist/subscriptions/subscriptions.controller.d.ts new file mode 100644 index 0000000..d460657 --- /dev/null +++ b/bizmatch-server/dist/subscriptions/subscriptions.controller.d.ts @@ -0,0 +1,6 @@ +import { FileService } from '../file/file.service.js'; +export declare class SubscriptionsController { + private readonly fileService; + constructor(fileService: FileService); + findAll(): any; +} diff --git a/bizmatch-server/dist/tsconfig.build.tsbuildinfo b/bizmatch-server/dist/tsconfig.build.tsbuildinfo new file mode 100644 index 0000000..a0562a8 --- /dev/null +++ b/bizmatch-server/dist/tsconfig.build.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2021.full.d.ts","../node_modules/reflect-metadata/index.d.ts","../node_modules/@nestjs/common/decorators/core/bind.decorator.d.ts","../node_modules/@nestjs/common/interfaces/abstract.interface.d.ts","../node_modules/@nestjs/common/interfaces/controllers/controller-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/controllers/controller.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/arguments-host.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/exception-filter.interface.d.ts","../node_modules/rxjs/dist/types/internal/Subscription.d.ts","../node_modules/rxjs/dist/types/internal/Subscriber.d.ts","../node_modules/rxjs/dist/types/internal/Operator.d.ts","../node_modules/rxjs/dist/types/internal/Observable.d.ts","../node_modules/rxjs/dist/types/internal/types.d.ts","../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../node_modules/rxjs/dist/types/internal/operators/auditTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferCount.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferToggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferWhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/catchError.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineLatestAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineLatest.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineLatestWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatMap.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatMapTo.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../node_modules/rxjs/dist/types/internal/operators/debounceTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/defaultIfEmpty.d.ts","../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../node_modules/rxjs/dist/types/internal/operators/delayWhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctUntilChanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctUntilKeyChanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/elementAt.d.ts","../node_modules/rxjs/dist/types/internal/operators/endWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustMap.d.ts","../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../node_modules/rxjs/dist/types/internal/operators/findIndex.d.ts","../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../node_modules/rxjs/dist/types/internal/Subject.d.ts","../node_modules/rxjs/dist/types/internal/operators/groupBy.d.ts","../node_modules/rxjs/dist/types/internal/operators/ignoreElements.d.ts","../node_modules/rxjs/dist/types/internal/operators/isEmpty.d.ts","../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../node_modules/rxjs/dist/types/internal/operators/mapTo.d.ts","../node_modules/rxjs/dist/types/internal/Notification.d.ts","../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeMap.d.ts","../node_modules/rxjs/dist/types/internal/operators/flatMap.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeMapTo.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeScan.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../node_modules/rxjs/dist/types/internal/observable/ConnectableObservable.d.ts","../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../node_modules/rxjs/dist/types/internal/operators/observeOn.d.ts","../node_modules/rxjs/dist/types/internal/operators/onErrorResumeNextWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishBehavior.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishLast.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishReplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../node_modules/rxjs/dist/types/internal/operators/raceWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeatWhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../node_modules/rxjs/dist/types/internal/operators/retryWhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/refCount.d.ts","../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../node_modules/rxjs/dist/types/internal/operators/sampleTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../node_modules/rxjs/dist/types/internal/operators/sequenceEqual.d.ts","../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../node_modules/rxjs/dist/types/internal/operators/shareReplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipLast.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipUntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipWhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/startWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/subscribeOn.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchMap.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchMapTo.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchScan.d.ts","../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeLast.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeUntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeWhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttleTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/throwIfEmpty.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeInterval.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeoutWith.d.ts","../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../node_modules/rxjs/dist/types/internal/operators/toArray.d.ts","../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowCount.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowTime.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowToggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowWhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/withLatestFrom.d.ts","../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipAll.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipWith.d.ts","../node_modules/rxjs/dist/types/operators/index.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/Action.d.ts","../node_modules/rxjs/dist/types/internal/Scheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/TestMessage.d.ts","../node_modules/rxjs/dist/types/internal/testing/SubscriptionLog.d.ts","../node_modules/rxjs/dist/types/internal/testing/SubscriptionLoggable.d.ts","../node_modules/rxjs/dist/types/internal/testing/ColdObservable.d.ts","../node_modules/rxjs/dist/types/internal/testing/HotObservable.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/AsyncScheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/timerHandle.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/AsyncAction.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/VirtualTimeScheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/TestScheduler.d.ts","../node_modules/rxjs/dist/types/testing/index.d.ts","../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../node_modules/rxjs/dist/types/internal/observable/dom/animationFrames.d.ts","../node_modules/rxjs/dist/types/internal/BehaviorSubject.d.ts","../node_modules/rxjs/dist/types/internal/ReplaySubject.d.ts","../node_modules/rxjs/dist/types/internal/AsyncSubject.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/AsapScheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/QueueScheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/AnimationFrameScheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationFrame.d.ts","../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../node_modules/rxjs/dist/types/internal/util/isObservable.d.ts","../node_modules/rxjs/dist/types/internal/lastValueFrom.d.ts","../node_modules/rxjs/dist/types/internal/firstValueFrom.d.ts","../node_modules/rxjs/dist/types/internal/util/ArgumentOutOfRangeError.d.ts","../node_modules/rxjs/dist/types/internal/util/EmptyError.d.ts","../node_modules/rxjs/dist/types/internal/util/NotFoundError.d.ts","../node_modules/rxjs/dist/types/internal/util/ObjectUnsubscribedError.d.ts","../node_modules/rxjs/dist/types/internal/util/SequenceError.d.ts","../node_modules/rxjs/dist/types/internal/util/UnsubscriptionError.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindCallback.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindNodeCallback.d.ts","../node_modules/rxjs/dist/types/internal/AnyCatcher.d.ts","../node_modules/rxjs/dist/types/internal/observable/combineLatest.d.ts","../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../node_modules/rxjs/dist/types/internal/observable/forkJoin.d.ts","../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromEvent.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromEventPattern.d.ts","../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../node_modules/rxjs/dist/types/internal/observable/onErrorResumeNext.d.ts","../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../node_modules/rxjs/dist/types/internal/observable/throwError.d.ts","../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../node_modules/rxjs/dist/types/internal/config.d.ts","../node_modules/rxjs/dist/types/index.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/ws-exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validation-error.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/execution-context.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/can-activate.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/custom-route-param-factory.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/nest-interceptor.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/paramtype.interface.d.ts","../node_modules/@nestjs/common/interfaces/type.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/pipe-transform.interface.d.ts","../node_modules/@nestjs/common/enums/request-method.enum.d.ts","../node_modules/@nestjs/common/enums/http-status.enum.d.ts","../node_modules/@nestjs/common/enums/shutdown-signal.enum.d.ts","../node_modules/@nestjs/common/enums/version-type.enum.d.ts","../node_modules/@nestjs/common/enums/index.d.ts","../node_modules/@nestjs/common/interfaces/version-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-configuration.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-consumer.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-config-proxy.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/nest-middleware.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/index.d.ts","../node_modules/@nestjs/common/interfaces/global-prefix-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/before-application-shutdown.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-application-bootstrap.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-application-shutdown.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-destroy.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-init.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/index.d.ts","../node_modules/@nestjs/common/interfaces/http/http-exception-body.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/http-redirect-response.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/cors-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/https-options.interface.d.ts","../node_modules/@nestjs/common/services/logger.service.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-context-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/http-server.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/message-event.interface.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@nestjs/common/interfaces/http/raw-body-request.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/index.d.ts","../node_modules/@nestjs/common/interfaces/injectable.interface.d.ts","../node_modules/@nestjs/common/interfaces/microservices/nest-hybrid-application-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/forward-reference.interface.d.ts","../node_modules/@nestjs/common/interfaces/scope-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/injection-token.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/optional-factory-dependency.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/provider.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/dynamic-module.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/introspection-result.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/nest-module.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/index.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-context.interface.d.ts","../node_modules/@nestjs/common/interfaces/websockets/web-socket-adapter.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-microservice.interface.d.ts","../node_modules/@nestjs/common/interfaces/index.d.ts","../node_modules/@nestjs/common/decorators/core/catch.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/controller.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/dependencies.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/exception-filters.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/inject.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/injectable.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/optional.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/set-metadata.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-guards.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-interceptors.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-pipes.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/apply-decorators.d.ts","../node_modules/@nestjs/common/decorators/core/version.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/index.d.ts","../node_modules/@nestjs/common/decorators/modules/global.decorator.d.ts","../node_modules/@nestjs/common/decorators/modules/module.decorator.d.ts","../node_modules/@nestjs/common/decorators/modules/index.d.ts","../node_modules/@nestjs/common/decorators/http/request-mapping.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/route-params.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/http-code.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/create-route-param-metadata.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/render.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/header.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/redirect.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/sse.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/index.d.ts","../node_modules/@nestjs/common/decorators/index.d.ts","../node_modules/@nestjs/common/exceptions/http.exception.d.ts","../node_modules/@nestjs/common/exceptions/bad-request.exception.d.ts","../node_modules/@nestjs/common/exceptions/unauthorized.exception.d.ts","../node_modules/@nestjs/common/exceptions/method-not-allowed.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-found.exception.d.ts","../node_modules/@nestjs/common/exceptions/forbidden.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-acceptable.exception.d.ts","../node_modules/@nestjs/common/exceptions/request-timeout.exception.d.ts","../node_modules/@nestjs/common/exceptions/conflict.exception.d.ts","../node_modules/@nestjs/common/exceptions/gone.exception.d.ts","../node_modules/@nestjs/common/exceptions/payload-too-large.exception.d.ts","../node_modules/@nestjs/common/exceptions/unsupported-media-type.exception.d.ts","../node_modules/@nestjs/common/exceptions/unprocessable-entity.exception.d.ts","../node_modules/@nestjs/common/exceptions/internal-server-error.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-implemented.exception.d.ts","../node_modules/@nestjs/common/exceptions/http-version-not-supported.exception.d.ts","../node_modules/@nestjs/common/exceptions/bad-gateway.exception.d.ts","../node_modules/@nestjs/common/exceptions/service-unavailable.exception.d.ts","../node_modules/@nestjs/common/exceptions/gateway-timeout.exception.d.ts","../node_modules/@nestjs/common/exceptions/im-a-teapot.exception.d.ts","../node_modules/@nestjs/common/exceptions/precondition-failed.exception.d.ts","../node_modules/@nestjs/common/exceptions/misdirected.exception.d.ts","../node_modules/@nestjs/common/exceptions/index.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/streamable-options.interface.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/streamable-handler-response.interface.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/index.d.ts","../node_modules/@nestjs/common/services/console-logger.service.d.ts","../node_modules/@nestjs/common/services/index.d.ts","../node_modules/@nestjs/common/file-stream/streamable-file.d.ts","../node_modules/@nestjs/common/file-stream/index.d.ts","../node_modules/@nestjs/common/module-utils/constants.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-async-options.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-cls.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-host.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/index.d.ts","../node_modules/@nestjs/common/module-utils/configurable-module.builder.d.ts","../node_modules/@nestjs/common/module-utils/index.d.ts","../node_modules/@nestjs/common/pipes/default-value.pipe.d.ts","../node_modules/@nestjs/common/interfaces/external/class-transform-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/transformer-package.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validator-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validator-package.interface.d.ts","../node_modules/@nestjs/common/utils/http-error-by-code.util.d.ts","../node_modules/@nestjs/common/pipes/validation.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-array.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-bool.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-int.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-float.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-enum.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-uuid.pipe.d.ts","../node_modules/@nestjs/common/pipes/file/interfaces/file.interface.d.ts","../node_modules/@nestjs/common/pipes/file/interfaces/index.d.ts","../node_modules/@nestjs/common/pipes/file/file-validator.interface.d.ts","../node_modules/@nestjs/common/pipes/file/file-type.validator.d.ts","../node_modules/@nestjs/common/pipes/file/max-file-size.validator.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file-options.interface.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file.pipe.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file-pipe.builder.d.ts","../node_modules/@nestjs/common/pipes/file/index.d.ts","../node_modules/@nestjs/common/pipes/index.d.ts","../node_modules/@nestjs/common/serializer/class-serializer.interfaces.d.ts","../node_modules/@nestjs/common/serializer/class-serializer.interceptor.d.ts","../node_modules/@nestjs/common/serializer/decorators/serialize-options.decorator.d.ts","../node_modules/@nestjs/common/serializer/decorators/index.d.ts","../node_modules/@nestjs/common/serializer/index.d.ts","../node_modules/@nestjs/common/utils/forward-ref.util.d.ts","../node_modules/@nestjs/common/utils/index.d.ts","../node_modules/@nestjs/common/index.d.ts","../src/app.service.ts","../src/app.controller.ts","../src/file/file.service.ts","../src/utils.ts","../node_modules/ioredis/built/types.d.ts","../node_modules/ioredis/built/Command.d.ts","../node_modules/ioredis/built/ScanStream.d.ts","../node_modules/ioredis/built/utils/RedisCommander.d.ts","../node_modules/ioredis/built/transaction.d.ts","../node_modules/ioredis/built/utils/Commander.d.ts","../node_modules/ioredis/built/connectors/AbstractConnector.d.ts","../node_modules/ioredis/built/connectors/ConnectorConstructor.d.ts","../node_modules/ioredis/built/connectors/SentinelConnector/types.d.ts","../node_modules/ioredis/built/connectors/SentinelConnector/SentinelIterator.d.ts","../node_modules/ioredis/built/connectors/SentinelConnector/index.d.ts","../node_modules/ioredis/built/connectors/StandaloneConnector.d.ts","../node_modules/ioredis/built/redis/RedisOptions.d.ts","../node_modules/ioredis/built/cluster/util.d.ts","../node_modules/ioredis/built/cluster/ClusterOptions.d.ts","../node_modules/ioredis/built/cluster/index.d.ts","../node_modules/denque/index.d.ts","../node_modules/ioredis/built/SubscriptionSet.d.ts","../node_modules/ioredis/built/DataHandler.d.ts","../node_modules/ioredis/built/Redis.d.ts","../node_modules/ioredis/built/Pipeline.d.ts","../node_modules/ioredis/built/index.d.ts","../src/models/main.model.ts","../src/redis/redis.service.ts","../node_modules/@types/triple-beam/index.d.ts","../node_modules/logform/index.d.ts","../node_modules/winston-transport/index.d.ts","../node_modules/winston/lib/winston/config/index.d.ts","../node_modules/winston/lib/winston/transports/index.d.ts","../node_modules/winston/index.d.ts","../node_modules/nest-winston/dist/winston.classes.d.ts","../node_modules/nest-winston/dist/winston.constants.d.ts","../node_modules/nest-winston/dist/winston.interfaces.d.ts","../node_modules/nest-winston/dist/winston.module.d.ts","../node_modules/nest-winston/dist/winston.utilities.d.ts","../node_modules/nest-winston/dist/index.d.ts","../src/listings/listings.service.ts","../src/listings/listings.controller.ts","../node_modules/ky/distribution/types/common.d.ts","../node_modules/ky/distribution/types/hooks.d.ts","../node_modules/ky/distribution/types/retry.d.ts","../node_modules/ky/distribution/types/options.d.ts","../node_modules/ky/distribution/types/request.d.ts","../node_modules/ky/distribution/core/constants.d.ts","../node_modules/ky/distribution/types/response.d.ts","../node_modules/ky/distribution/types/ResponsePromise.d.ts","../node_modules/ky/distribution/types/ky.d.ts","../node_modules/ky/distribution/errors/HTTPError.d.ts","../node_modules/ky/distribution/errors/TimeoutError.d.ts","../node_modules/ky/distribution/index.d.ts","../src/auth/auth.service.ts","../src/auth/auth.controller.ts","../node_modules/@nestjs/config/dist/conditional.module.d.ts","../node_modules/@nestjs/config/dist/interfaces/config-change-event.interface.d.ts","../node_modules/@nestjs/config/dist/types/config-object.type.d.ts","../node_modules/@nestjs/config/dist/types/config.type.d.ts","../node_modules/@nestjs/config/dist/types/no-infer.type.d.ts","../node_modules/@nestjs/config/dist/types/path-value.type.d.ts","../node_modules/@nestjs/config/dist/types/index.d.ts","../node_modules/@nestjs/config/dist/interfaces/config-factory.interface.d.ts","../node_modules/dotenv-expand/lib/main.d.ts","../node_modules/@nestjs/config/dist/interfaces/config-module-options.interface.d.ts","../node_modules/@nestjs/config/dist/interfaces/index.d.ts","../node_modules/@nestjs/config/dist/config.module.d.ts","../node_modules/@nestjs/config/dist/config.service.d.ts","../node_modules/@nestjs/config/dist/utils/register-as.util.d.ts","../node_modules/@nestjs/config/dist/utils/get-config-token.util.d.ts","../node_modules/@nestjs/config/dist/utils/index.d.ts","../node_modules/@nestjs/config/dist/index.d.ts","../node_modules/@nestjs/config/index.d.ts","../src/select-options/select-options.service.ts","../src/select-options/select-options.controller.ts","../src/subscriptions/subscriptions.controller.ts","../node_modules/@types/mime/index.d.ts","../node_modules/@types/send/index.d.ts","../node_modules/@types/qs/index.d.ts","../node_modules/@types/range-parser/index.d.ts","../node_modules/@types/express-serve-static-core/index.d.ts","../node_modules/@types/http-errors/index.d.ts","../node_modules/@types/serve-static/index.d.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/body-parser/index.d.ts","../node_modules/@types/express/index.d.ts","../src/redis/redis.controller.ts","../src/redis/redis.module.ts","../node_modules/@nestjs/core/adapters/http-adapter.d.ts","../node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser-options.interface.d.ts","../node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser.interface.d.ts","../node_modules/@nestjs/platform-express/interfaces/serve-static-options.interface.d.ts","../node_modules/@nestjs/platform-express/adapters/express-adapter.d.ts","../node_modules/@nestjs/platform-express/adapters/index.d.ts","../node_modules/@nestjs/platform-express/interfaces/nest-express-application.interface.d.ts","../node_modules/@nestjs/platform-express/interfaces/index.d.ts","../node_modules/@nestjs/platform-express/multer/interfaces/multer-options.interface.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/any-files.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/file-fields.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/file.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/files.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/no-files.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/index.d.ts","../node_modules/@nestjs/platform-express/multer/interfaces/files-upload-module.interface.d.ts","../node_modules/@nestjs/platform-express/multer/interfaces/index.d.ts","../node_modules/@nestjs/platform-express/multer/multer.module.d.ts","../node_modules/@nestjs/platform-express/multer/index.d.ts","../node_modules/@nestjs/platform-express/index.d.ts","../src/account/account.controller.ts","../src/account/account.service.ts","../node_modules/@nestjs/serve-static/dist/interfaces/serve-static-options.interface.d.ts","../node_modules/@nestjs/core/adapters/index.d.ts","../node_modules/@nestjs/common/constants.d.ts","../node_modules/@nestjs/core/inspector/interfaces/edge.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/entrypoint.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/extras.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/node.interface.d.ts","../node_modules/@nestjs/core/injector/settlement-signal.d.ts","../node_modules/@nestjs/core/injector/injector.d.ts","../node_modules/@nestjs/core/inspector/interfaces/serialized-graph-metadata.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/serialized-graph-json.interface.d.ts","../node_modules/@nestjs/core/inspector/serialized-graph.d.ts","../node_modules/@nestjs/core/injector/module-token-factory.d.ts","../node_modules/@nestjs/core/injector/compiler.d.ts","../node_modules/@nestjs/core/injector/modules-container.d.ts","../node_modules/@nestjs/core/injector/container.d.ts","../node_modules/@nestjs/core/injector/instance-links-host.d.ts","../node_modules/@nestjs/core/injector/abstract-instance-resolver.d.ts","../node_modules/@nestjs/core/injector/module-ref.d.ts","../node_modules/@nestjs/core/injector/module.d.ts","../node_modules/@nestjs/core/injector/instance-wrapper.d.ts","../node_modules/@nestjs/core/router/interfaces/exclude-route-metadata.interface.d.ts","../node_modules/@nestjs/core/application-config.d.ts","../node_modules/@nestjs/core/constants.d.ts","../node_modules/@nestjs/core/discovery/discovery-module.d.ts","../node_modules/@nestjs/core/discovery/discovery-service.d.ts","../node_modules/@nestjs/core/discovery/index.d.ts","../node_modules/@nestjs/core/helpers/http-adapter-host.d.ts","../node_modules/@nestjs/core/exceptions/base-exception-filter.d.ts","../node_modules/@nestjs/core/exceptions/index.d.ts","../node_modules/@nestjs/core/helpers/context-id-factory.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/exception-filter-metadata.interface.d.ts","../node_modules/@nestjs/core/exceptions/exceptions-handler.d.ts","../node_modules/@nestjs/core/router/router-proxy.d.ts","../node_modules/@nestjs/core/helpers/context-creator.d.ts","../node_modules/@nestjs/core/exceptions/base-exception-filter-context.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/index.d.ts","../node_modules/@nestjs/core/exceptions/external-exception-filter.d.ts","../node_modules/@nestjs/core/exceptions/external-exceptions-handler.d.ts","../node_modules/@nestjs/core/exceptions/external-exception-filter-context.d.ts","../node_modules/@nestjs/core/guards/constants.d.ts","../node_modules/@nestjs/core/helpers/execution-context-host.d.ts","../node_modules/@nestjs/core/guards/guards-consumer.d.ts","../node_modules/@nestjs/core/guards/guards-context-creator.d.ts","../node_modules/@nestjs/core/guards/index.d.ts","../node_modules/@nestjs/core/interceptors/interceptors-consumer.d.ts","../node_modules/@nestjs/core/interceptors/interceptors-context-creator.d.ts","../node_modules/@nestjs/core/interceptors/index.d.ts","../node_modules/@nestjs/common/enums/route-paramtypes.enum.d.ts","../node_modules/@nestjs/core/pipes/params-token-factory.d.ts","../node_modules/@nestjs/core/pipes/pipes-consumer.d.ts","../node_modules/@nestjs/core/pipes/pipes-context-creator.d.ts","../node_modules/@nestjs/core/pipes/index.d.ts","../node_modules/@nestjs/core/helpers/context-utils.d.ts","../node_modules/@nestjs/core/injector/inquirer/inquirer-constants.d.ts","../node_modules/@nestjs/core/injector/inquirer/index.d.ts","../node_modules/@nestjs/core/interfaces/module-definition.interface.d.ts","../node_modules/@nestjs/core/interfaces/module-override.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/enhancer-metadata-cache-entry.interface.d.ts","../node_modules/@nestjs/core/inspector/graph-inspector.d.ts","../node_modules/@nestjs/core/metadata-scanner.d.ts","../node_modules/@nestjs/core/scanner.d.ts","../node_modules/@nestjs/core/injector/instance-loader.d.ts","../node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader-options.interface.d.ts","../node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader.d.ts","../node_modules/@nestjs/core/injector/index.d.ts","../node_modules/@nestjs/core/helpers/interfaces/external-handler-metadata.interface.d.ts","../node_modules/@nestjs/core/helpers/interfaces/params-metadata.interface.d.ts","../node_modules/@nestjs/core/helpers/external-context-creator.d.ts","../node_modules/@nestjs/core/helpers/index.d.ts","../node_modules/@nestjs/core/inspector/initialize-on-preview.allowlist.d.ts","../node_modules/@nestjs/core/inspector/partial-graph.host.d.ts","../node_modules/@nestjs/core/inspector/index.d.ts","../node_modules/@nestjs/core/middleware/route-info-path-extractor.d.ts","../node_modules/@nestjs/core/middleware/routes-mapper.d.ts","../node_modules/@nestjs/core/middleware/builder.d.ts","../node_modules/@nestjs/core/middleware/index.d.ts","../node_modules/@nestjs/core/nest-application-context.d.ts","../node_modules/@nestjs/core/nest-application.d.ts","../node_modules/@nestjs/common/interfaces/microservices/nest-microservice-options.interface.d.ts","../node_modules/@nestjs/core/nest-factory.d.ts","../node_modules/@nestjs/core/repl/repl.d.ts","../node_modules/@nestjs/core/repl/index.d.ts","../node_modules/@nestjs/core/router/interfaces/routes.interface.d.ts","../node_modules/@nestjs/core/router/interfaces/index.d.ts","../node_modules/@nestjs/core/router/request/request-constants.d.ts","../node_modules/@nestjs/core/router/request/index.d.ts","../node_modules/@nestjs/core/router/router-module.d.ts","../node_modules/@nestjs/core/router/index.d.ts","../node_modules/@nestjs/core/services/reflector.service.d.ts","../node_modules/@nestjs/core/services/index.d.ts","../node_modules/@nestjs/core/index.d.ts","../node_modules/@nestjs/serve-static/dist/loaders/abstract.loader.d.ts","../node_modules/@nestjs/serve-static/dist/loaders/express.loader.d.ts","../node_modules/@nestjs/serve-static/dist/loaders/fastify.loader.d.ts","../node_modules/@nestjs/serve-static/dist/loaders/noop.loader.d.ts","../node_modules/@nestjs/serve-static/dist/serve-static.constants.d.ts","../node_modules/@nestjs/serve-static/dist/serve-static.module.d.ts","../node_modules/@nestjs/serve-static/dist/serve-static.providers.d.ts","../node_modules/@nestjs/serve-static/dist/index.d.ts","../node_modules/@nestjs/serve-static/index.d.ts","../node_modules/@types/nodemailer/lib/dkim/index.d.ts","../node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts","../node_modules/@types/nodemailer/lib/xoauth2/index.d.ts","../node_modules/@types/nodemailer/lib/mailer/index.d.ts","../node_modules/@types/nodemailer/lib/mime-node/index.d.ts","../node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts","../node_modules/@types/nodemailer/lib/shared/index.d.ts","../node_modules/@types/nodemailer/lib/json-transport/index.d.ts","../node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts","../node_modules/@types/nodemailer/lib/ses-transport/index.d.ts","../node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts","../node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts","../node_modules/@types/nodemailer/lib/stream-transport/index.d.ts","../node_modules/@types/nodemailer/index.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/template-adapter.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/mailer-options.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/mailer-options-factory.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/mailer-async-options.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/mailer.module.d.ts","../node_modules/@nestjs-modules/mailer/dist/constants/mailer.constant.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/send-mail-options.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/mailer-transport-factory.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/mailer.service.d.ts","../node_modules/@nestjs-modules/mailer/dist/index.d.ts","../node_modules/@nestjs-modules/mailer/index.d.ts","../src/models/server.model.ts","../src/mail/mail.service.ts","../src/mail/mail.controller.ts","../node_modules/handlebars/types/index.d.ts","../node_modules/css-inline/css_inline.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/template-adapter-config.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/adapters/handlebars.adapter.d.ts","../src/auth/auth.module.ts","../src/mail/mail.module.ts","../src/app.module.ts","../src/main.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/cookiejar/index.d.ts","../node_modules/@types/ejs/index.d.ts","../node_modules/@types/eslint/helpers.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/eslint/index.d.ts","../node_modules/@types/eslint-scope/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/jsonwebtoken/index.d.ts","../node_modules/@types/methods/index.d.ts","../node_modules/@types/multer/index.d.ts","../node_modules/@types/oauth/index.d.ts","../node_modules/@types/passport/index.d.ts","../node_modules/@types/passport-oauth2/index.d.ts","../node_modules/@types/passport-google-oauth20/index.d.ts","../node_modules/@types/passport-strategy/index.d.ts","../node_modules/@types/passport-jwt/index.d.ts","../node_modules/@types/passport-local/index.d.ts","../node_modules/@types/pug/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/superagent/lib/agent-base.d.ts","../node_modules/@types/superagent/lib/node/response.d.ts","../node_modules/@types/superagent/types.d.ts","../node_modules/@types/superagent/lib/node/agent.d.ts","../node_modules/@types/superagent/lib/request-base.d.ts","../node_modules/@types/superagent/lib/node/index.d.ts","../node_modules/@types/superagent/index.d.ts","../node_modules/@types/supertest/types.d.ts","../node_modules/@types/supertest/lib/agent.d.ts","../node_modules/@types/supertest/lib/test.d.ts","../node_modules/@types/supertest/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true,"impliedFormat":1},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true,"impliedFormat":1},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true,"impliedFormat":1},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"c1e8d979afc15d66e2bd5a58c732d5a2ba3ccaae41ac7d5a2c539e6de66a8e51","impliedFormat":1},{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d8dedbec739bc79642c1e96e9bfc0b83b25b104a0486aebf016fc7b85b39f48","impliedFormat":1},{"version":"e89535c3ec439608bcd0f68af555d0e5ddf121c54abe69343549718bd7506b9c","impliedFormat":1},{"version":"622a984b60c294ffb2f9152cf1d4d12e91d2b733d820eec949cf54d63a3c1025","impliedFormat":1},{"version":"81aae92abdeaccd9c1723cef39232c90c1aed9d9cf199e6e2a523b7d8e058a11","impliedFormat":1},{"version":"a63a6c6806a1e519688ef7bd8ca57be912fc0764485119dbd923021eb4e79665","impliedFormat":1},{"version":"75b57b109d774acca1e151df21cf5cb54c7a1df33a273f0457b9aee4ebd36fb9","impliedFormat":1},{"version":"ecf5cb089ea438f2545e04b6c52828c68d0b0f4bfaa661986faf36da273e9892","impliedFormat":1},{"version":"95444fb6292d5e2f7050d7021383b719c0252bf5f88854973977db9e3e3d8006","impliedFormat":1},{"version":"241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","impliedFormat":1},{"version":"06540a9f3f2f88375ada0b89712de1c4310f7398d821c4c10ab5c6477dafb4bc","impliedFormat":1},{"version":"de2d3120ed0989dbc776de71e6c0e8a6b4bf1935760cf468ff9d0e9986ef4c09","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","impliedFormat":1},{"version":"97bdf234f5db52085d99c6842db560bca133f8a0413ff76bf830f5f38f088ce3","impliedFormat":1},{"version":"a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","impliedFormat":1},{"version":"b493ff8a5175cbbb4e6e8bcfa9506c08f5a7318b2278365cfca3b397c9710ebc","impliedFormat":1},{"version":"e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","impliedFormat":1},{"version":"e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","impliedFormat":1},{"version":"303ee143a869e8f605e7b1d12be6c7269d4cab90d230caba792495be595d4f56","impliedFormat":1},{"version":"89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","impliedFormat":1},{"version":"e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","impliedFormat":1},{"version":"71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","impliedFormat":1},{"version":"7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","impliedFormat":1},{"version":"78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","impliedFormat":1},{"version":"5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","impliedFormat":1},{"version":"f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","impliedFormat":1},{"version":"9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","impliedFormat":1},{"version":"3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","impliedFormat":1},{"version":"2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","impliedFormat":1},{"version":"4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","impliedFormat":1},{"version":"61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","impliedFormat":1},{"version":"64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","impliedFormat":1},{"version":"a5eb4835ab561c140ffc4634bb039387d5d0cceebb86918f1696c7ac156d26fd","impliedFormat":1},{"version":"c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","impliedFormat":1},{"version":"4252b852dd791305da39f6e1242694c2e560d5e46f9bb26e2aca77252057c026","impliedFormat":1},{"version":"0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","impliedFormat":1},{"version":"5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","impliedFormat":1},{"version":"e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","impliedFormat":1},{"version":"b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","impliedFormat":1},{"version":"6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","impliedFormat":1},{"version":"ba13c7d46a560f3d4df8ffb1110e2bbec5801449af3b1240a718514b5576156e","impliedFormat":1},{"version":"6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","impliedFormat":1},{"version":"0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","impliedFormat":1},{"version":"91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","impliedFormat":1},{"version":"db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","impliedFormat":1},{"version":"758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","impliedFormat":1},{"version":"2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","impliedFormat":1},{"version":"6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","impliedFormat":1},{"version":"05c4e2a992bb83066a3a648bad1c310cecd4d0628d7e19545bb107ac9596103a","impliedFormat":1},{"version":"b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","impliedFormat":1},{"version":"792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","impliedFormat":1},{"version":"a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","impliedFormat":1},{"version":"dd6c3362aaaec60be028b4ba292806da8e7020eef7255c7414ce4a5c3a7138ef","impliedFormat":1},{"version":"8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","impliedFormat":1},{"version":"b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","impliedFormat":1},{"version":"4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","impliedFormat":1},{"version":"cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","impliedFormat":1},{"version":"75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","impliedFormat":1},{"version":"b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","impliedFormat":1},{"version":"3114b315cd0687aad8b57cff36f9c8c51f5b1bc6254f1b1e8446ae583d8e2474","impliedFormat":1},{"version":"0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","impliedFormat":1},{"version":"af733cb878419f3012f0d4df36f918a69ba38d73f3232ba1ab46ef9ede6cb29c","impliedFormat":1},{"version":"cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","impliedFormat":1},{"version":"0a01b0b5a9e87d04737084731212106add30f63ec640169f1462ba2e44b6b3a8","impliedFormat":1},{"version":"06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","impliedFormat":1},{"version":"860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","impliedFormat":1},{"version":"f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","impliedFormat":1},{"version":"e07d62a8a9a3bb65433a62e9bbf400c6bfd2df4de60652af4d738303ee3670a1","impliedFormat":1},{"version":"bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","impliedFormat":1},{"version":"851e8d57d6dd17c71e9fa0319abd20ab2feb3fb674d0801611a09b7a25fd281c","impliedFormat":1},{"version":"c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","impliedFormat":1},{"version":"a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","impliedFormat":1},{"version":"d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","impliedFormat":1},{"version":"fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","impliedFormat":1},{"version":"063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","impliedFormat":1},{"version":"748e79252a7f476f8f28923612d7696b214e270cc909bc685afefaac8f052af0","impliedFormat":1},{"version":"9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","impliedFormat":1},{"version":"4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","impliedFormat":1},{"version":"656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","impliedFormat":1},{"version":"3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","impliedFormat":1},{"version":"1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","impliedFormat":1},{"version":"af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","impliedFormat":1},{"version":"70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","impliedFormat":1},{"version":"af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","impliedFormat":1},{"version":"c3f32a185cd27ac232d3428a8d9b362c3f7b4892a58adaaa022828a7dcd13eed","impliedFormat":1},{"version":"3139c3e5e09251feec7a87f457084bee383717f3626a7f1459d053db2f34eb76","impliedFormat":1},{"version":"4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","impliedFormat":1},{"version":"3be870c8e17ec14f1c18fc248f5d2c4669e576404744ff5c63e6dafcf05b97ea","impliedFormat":1},{"version":"56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","impliedFormat":1},{"version":"8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","impliedFormat":1},{"version":"6ab380571d87bd1d6f644fb6ab7837239d54b59f07dc84347b1341f866194214","impliedFormat":1},{"version":"547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","impliedFormat":1},{"version":"b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","impliedFormat":1},{"version":"3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","impliedFormat":1},{"version":"140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","impliedFormat":1},{"version":"0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","impliedFormat":1},{"version":"7c9ed7ffdc6f843ab69e5b2a3e7f667b050dd8d24d0052db81e35480f6d4e15d","impliedFormat":1},{"version":"7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","impliedFormat":1},{"version":"af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","impliedFormat":1},{"version":"006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","impliedFormat":1},{"version":"7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","impliedFormat":1},{"version":"339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","impliedFormat":1},{"version":"34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","impliedFormat":1},{"version":"9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","impliedFormat":1},{"version":"18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","impliedFormat":1},{"version":"5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","impliedFormat":1},{"version":"5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","impliedFormat":1},{"version":"907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","impliedFormat":1},{"version":"3656f0584d5a7ee0d0f2cc2b9cffbb43af92e80186b2ce160ebd4421d1506655","impliedFormat":1},{"version":"a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","impliedFormat":1},{"version":"f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","impliedFormat":1},{"version":"75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","impliedFormat":1},{"version":"9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","impliedFormat":1},{"version":"b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","impliedFormat":1},{"version":"90f690a1c5fcb4c2d19c80fea05c8ab590d8f6534c4c296d70af6293ede67366","impliedFormat":1},{"version":"be95e987818530082c43909be722a838315a0fc5deb6043de0a76f5221cbad24","impliedFormat":1},{"version":"9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","impliedFormat":1},{"version":"b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","impliedFormat":1},{"version":"e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","impliedFormat":1},{"version":"ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","impliedFormat":1},{"version":"1f6058d60eaa8825f59d4b76bbf6cc0e6ad9770948be58de68587b0931da00cc","impliedFormat":1},{"version":"5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","impliedFormat":1},{"version":"50100b1a91f61d81ca3329a98e64b7f05cddc5e3cb26b3411adc137c9c631aca","impliedFormat":1},{"version":"11aceaee5663b4ed597544567d6e6a5a94b66857d7ebd62a9875ea061018cd2c","impliedFormat":1},{"version":"6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","impliedFormat":1},{"version":"423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","impliedFormat":1},{"version":"fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","impliedFormat":1},{"version":"2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","impliedFormat":1},{"version":"c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","impliedFormat":1},{"version":"669b754ec246dd7471e19b655b73bda6c2ca5bb7ccb1a4dff44a9ae45b6a716a","impliedFormat":1},{"version":"4bb6035e906946163ecfaec982389d0247ceeac6bdee7f1d07c03d9c224db3aa","impliedFormat":1},{"version":"8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","impliedFormat":1},{"version":"24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","impliedFormat":1},{"version":"33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","impliedFormat":1},{"version":"0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","impliedFormat":1},{"version":"16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","impliedFormat":1},{"version":"8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","impliedFormat":1},{"version":"d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","impliedFormat":1},{"version":"c82857a876075e665bbcc78213abfe9e9b0206d502379576d7abd481ade3a569","impliedFormat":1},{"version":"4f71d883ed6f398ba8fe11fcd003b44bb5f220f840b3eac3c395ad91304e4620","impliedFormat":1},{"version":"5229c3934f58413f34f1b26c01323c93a5a65a2d9f2a565f216590dfbed1fe32","impliedFormat":1},{"version":"9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","impliedFormat":1},{"version":"fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","impliedFormat":1},{"version":"85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","impliedFormat":1},{"version":"4c754b03f36ff35fc539f9ebb5f024adbb73ec2d3e4bfb35b385a05abb36a50e","impliedFormat":1},{"version":"59507446213e73654d6979f3b82dadc4efb0ed177425ae052d96a3f5a5be0d35","impliedFormat":1},{"version":"a914be97ca7a5be670d1545fc0691ac3fbabd023d7d084b338f6934349798a1f","impliedFormat":1},{"version":"8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","impliedFormat":1},{"version":"62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","impliedFormat":1},{"version":"c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","impliedFormat":1},{"version":"8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","impliedFormat":1},{"version":"132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","impliedFormat":1},{"version":"df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","impliedFormat":1},{"version":"33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","impliedFormat":1},{"version":"ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","impliedFormat":1},{"version":"a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","impliedFormat":1},{"version":"eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","impliedFormat":1},{"version":"0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","impliedFormat":1},{"version":"aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","impliedFormat":1},{"version":"0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","impliedFormat":1},{"version":"87437ca9dabab3a41d483441696ff9220a19e713f58e0b6a99f1731af10776d7","impliedFormat":1},{"version":"26c5dfa9aa4e6428f4bb7d14cbf72917ace69f738fa92480b9749eebce933370","impliedFormat":1},{"version":"8e94328e7ca1a7a517d1aa3c569eac0f6a44f67473f6e22c2c4aff5f9f4a9b38","impliedFormat":1},{"version":"d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","impliedFormat":1},{"version":"299f0af797897d77685d606502be72846b3d1f0dc6a2d8c964e9ea3ccbacf5bc","impliedFormat":1},{"version":"12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","impliedFormat":1},{"version":"340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","impliedFormat":1},{"version":"c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","impliedFormat":1},{"version":"7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","impliedFormat":1},{"version":"5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","impliedFormat":1},{"version":"9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","impliedFormat":1},{"version":"1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","impliedFormat":1},{"version":"3c97b5ea66276cf463525a6aa9d5bb086bf5e05beac70a0597cda2575503b57b","impliedFormat":1},{"version":"b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","impliedFormat":1},{"version":"0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","impliedFormat":1},{"version":"3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","impliedFormat":1},{"version":"032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","impliedFormat":1},{"version":"69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","impliedFormat":1},{"version":"a31383256374723b47d8b5497a9558bbbcf95bcecfb586a36caf7bfd3693eb0e","impliedFormat":1},{"version":"06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","impliedFormat":1},{"version":"64aa66c7458cbfd0f48f88070b08c2f66ae94aba099dac981f17c2322d147c06","impliedFormat":1},{"version":"11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","impliedFormat":1},{"version":"2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","impliedFormat":1},{"version":"1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","impliedFormat":1},{"version":"1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","impliedFormat":1},{"version":"07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","impliedFormat":1},{"version":"619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","impliedFormat":1},{"version":"f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","impliedFormat":1},{"version":"f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","impliedFormat":1},{"version":"350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","impliedFormat":1},{"version":"eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","impliedFormat":1},{"version":"9814545517193cf51127d7fbdc3b7335688206ec04ee3a46bba2ee036bd0dcac","impliedFormat":1},{"version":"0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","impliedFormat":1},{"version":"c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","impliedFormat":1},{"version":"5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","impliedFormat":1},{"version":"ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","impliedFormat":1},{"version":"795a08ae4e193f345073b49f68826ab6a9b280400b440906e4ec5c237ae777e6","impliedFormat":1},{"version":"8153df63cf65122809db17128e5918f59d6bb43a371b5218f4430c4585f64085","impliedFormat":1},{"version":"a8150bc382dd12ce58e00764d2366e1d59a590288ee3123af8a4a2cb4ef7f9df","impliedFormat":1},{"version":"5adfaf2f9f33957264ad199a186456a4676b2724ed700fc313ff945d03372169","impliedFormat":1},{"version":"d5c41a741cd408c34cb91f84468f70e9bda3dfeabf33251a61039b3cdb8b22d8","impliedFormat":1},{"version":"c91d3f9753a311284e76cdcb348cbb50bca98733336ec726b54d77b7361b34de","impliedFormat":1},{"version":"cbaf4a4aa8a8c02aa681c5870d5c69127974de29b7e01df570edec391a417959","impliedFormat":1},{"version":"c7135e329a18b0e712378d5c7bc2faec6f5ab0e955ea0002250f9e232af8b3e4","impliedFormat":1},{"version":"340a45cd77b41d8a6deda248167fa23d3dc67ec798d411bd282f7b3d555b1695","impliedFormat":1},{"version":"fae330f86bc10db6841b310f32367aaa6f553036a3afc426e0389ddc5566cd74","impliedFormat":1},{"version":"cf25d45c02d5fd5d7adb16230a0e1d6715441eef5c0a79a21bfeaa9bbc058939","impliedFormat":1},{"version":"54c3822eaf6436f2eddc92dd6e410750465aba218adbf8ce5d488d773919ec01","impliedFormat":1},{"version":"99d99a765426accf8133737843fb024a154dc6545fc0ffbba968a7c0b848959d","impliedFormat":1},{"version":"c782c5fd5fa5491c827ecade05c3af3351201dd1c7e77e06711c8029b7a9ee4d","impliedFormat":1},{"version":"883d2104e448bb351c49dd9689a7e8117b480b614b2622732655cef03021bf6d","impliedFormat":1},{"version":"d9b00ee2eca9b149663fdba1c1956331841ae296ee03eaaff6c5becbc0ff1ea8","impliedFormat":1},{"version":"09a7e04beb0547c43270b327c067c85a4e2154372417390731dfe092c4350998","impliedFormat":1},{"version":"eee530aaa93e9ec362e3941ee8355e2d073c7b21d88c2af4713e3d701dab8fef","impliedFormat":1},{"version":"b5ef97d6974dc1246197361e661027adb2625a8544bb406d5ad1daae0fe47a22","impliedFormat":1},{"version":"8b8b92781a6bf150f9ee83f3d8ee278b6cdb98b8308c7ab3413684fc5d9078ef","impliedFormat":1},{"version":"7a0e4cd92545ad03910fd019ae9838718643bd4dde39881c745f236914901dfa","impliedFormat":1},{"version":"c99ebd20316217e349004ee1a0bc74d32d041fb6864093f10f31984c737b8cad","impliedFormat":1},{"version":"6f622e7f054f5ab86258362ac0a64a2d6a27f1e88732d6f5f052f422e08a70e7","impliedFormat":1},{"version":"d62d2ef93ceeb41cf9dfab25989a1e5f9ca5160741aac7f1453c69a6c14c69be","impliedFormat":1},{"version":"1491e80d72873fc586605283f2d9056ee59b166333a769e64378240df130d1c9","impliedFormat":1},{"version":"c32c073d389cfaa3b3e562423e16c2e6d26b8edebbb7d73ccffff4aa66f2171d","impliedFormat":1},{"version":"eca72bf229eecadb63e758613c62fab13815879053539a22477d83a48a21cd73","impliedFormat":1},{"version":"633db46fd1765736409a4767bfc670861468dde60dbb9a501fba4c1b72f8644d","impliedFormat":1},{"version":"689390db63cb282e6d0e5ce9b8f1ec2ec0912d0e2e6dac7235699a15ad17d339","impliedFormat":1},{"version":"f2ee748883723aa9325e5d7f30fce424f6a786706e1b91a5a55237c78ee89c4a","impliedFormat":1},{"version":"d928324d17146fce30b99a28d1d6b48648feac72bbd23641d3ce5ac34aefdfee","impliedFormat":1},{"version":"142f5190d730259339be1433931c0eb31ae7c7806f4e325f8a470bd9221b6533","impliedFormat":1},{"version":"c33a88f2578e8df2fdf36c6a0482bbee615eb3234c8f084ba31a9a96bd306b7f","impliedFormat":1},{"version":"22cca068109eb0e6b4f8acc3fe638d1e6ac277e2044246438763319792b546a1","impliedFormat":1},{"version":"8776e64e6165838ac152fa949456732755b0976d1867ae5534ce248f0ccd7f41","impliedFormat":1},{"version":"66cd33c4151ea27f6e17c6071652eadde9da1b3637dae65fd060212211c695ce","impliedFormat":1},{"version":"5c4c5b49bbb01828402bb04af1d71673b18852c11b7e95bfd5cf4c3d80d352c8","impliedFormat":1},{"version":"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c","impliedFormat":1},{"version":"e2eb1ce13a9c0fa7ab62c63909d81973ef4b707292667c64f1e25e6e53fa7afa","affectsGlobalScope":true,"impliedFormat":1},{"version":"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","impliedFormat":1},{"version":"7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba","impliedFormat":1},{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true,"impliedFormat":1},{"version":"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","impliedFormat":1},{"version":"4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","impliedFormat":1},{"version":"8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","impliedFormat":1},{"version":"af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","impliedFormat":1},{"version":"b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e","impliedFormat":1},{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true,"impliedFormat":1},{"version":"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","impliedFormat":1},{"version":"313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","impliedFormat":1},{"version":"f1ace2d2f98429e007d017c7a445efad2aaebf8233135abdb2c88b8c0fef91ab","impliedFormat":1},{"version":"87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","impliedFormat":1},{"version":"396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","impliedFormat":1},{"version":"21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac","impliedFormat":1},{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","impliedFormat":1},{"version":"45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","impliedFormat":1},{"version":"0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7","impliedFormat":1},{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true,"impliedFormat":1},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true,"impliedFormat":1},{"version":"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","impliedFormat":1},{"version":"54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","impliedFormat":1},{"version":"d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","impliedFormat":1},{"version":"8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","impliedFormat":1},{"version":"01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","impliedFormat":1},{"version":"8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","impliedFormat":1},{"version":"9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024","impliedFormat":1},{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true,"impliedFormat":1},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","impliedFormat":1},{"version":"4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","impliedFormat":1},{"version":"7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","impliedFormat":1},{"version":"7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df","impliedFormat":1},{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","impliedFormat":1},{"version":"79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","impliedFormat":1},{"version":"37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839","impliedFormat":1},{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1},{"version":"b1879b3db28afe9ba769e84058e7d544c55322e69f34b928df96ec50f17a051d","impliedFormat":1},{"version":"a96bc00e0c356e29e620eaec24a56d6dd7f4e304feefcc99066a1141c6fe05a7","impliedFormat":1},{"version":"d12cc0e5b09943c4cd0848f787eb9d07bf78b60798e4588c50582db9d4decc70","impliedFormat":1},{"version":"53b094f1afe442490555eeeb0384fc1ceb487560c83e31f9c64fb934c2dccd94","impliedFormat":1},{"version":"19c3760af3cbc9da99d5b7763b9e33aaf8d018bc2ed843287b7ff4343adf4634","impliedFormat":1},{"version":"9d1e38aeb76084848d2fcd39b458ec88246de028c0f3f448b304b15d764b23d2","impliedFormat":1},{"version":"d406da1eccf18cec56fd29730c24af69758fe3ff49c4f94335e797119cbc0554","impliedFormat":1},{"version":"4898c93890a136da9156c75acd1a80a941a961b3032a0cf14e1fa09a764448b7","impliedFormat":1},{"version":"f5d7a845e3e1c6c27351ea5f358073d0b0681537a2da6201fab254aa434121d3","impliedFormat":1},{"version":"9ddf8e9069327faa75d20135cab675779844f66590249769c3d35dd2a38c2ba9","impliedFormat":1},{"version":"d7c30f0abfe9e197e376b016086cf66b2ffb84015139963f37301ed0da9d3d0d","impliedFormat":1},{"version":"ff75bba0148f07775bcb54bf4823421ed4ebdb751b3bf79cc003bd22e49d7d73","impliedFormat":1},{"version":"d40d20ac633703a7333770bfd60360126fc3302d5392d237bbb76e8c529a4f95","impliedFormat":1},{"version":"35a9867207c488061fb4f6fe4715802fbc164b4400018d2fa0149ad02db9a61c","impliedFormat":1},{"version":"91bf47a209ad0eae090023c3ebc1165a491cf9758799368ffcbee8dbe7448f33","impliedFormat":1},{"version":"0abe2cd72812bbfc509975860277c7cd6f6e0be95d765a9da77fee98264a7e32","impliedFormat":1},{"version":"13286c0c8524606b17a8d68650970bab896fb505f348f71601abf0f2296e8913","impliedFormat":1},{"version":"fc2a131847515b3dff2f0e835633d9a00a9d03ed59e690e27eec85b7b0522f92","impliedFormat":1},{"version":"90433c678bc26751eb7a5d54a2bb0a14be6f5717f69abb5f7a04afc75dce15a4","impliedFormat":1},{"version":"cd0565ace87a2d7802bf4c20ea23a997c54e598b9eb89f9c75e69478c1f7a0b4","impliedFormat":1},{"version":"738020d2c8fc9df92d5dee4b682d35a776eaedfe2166d12bc8f186e1ea57cc52","impliedFormat":1},{"version":"86dd7c5657a0b0bc6bee8002edcfd544458d3d3c60974555746eb9b2583dc35e","impliedFormat":1},{"version":"d97b96b6ecd4ee03f9f1170722c825ef778430a6a0d7aab03b8929012bf773cd","impliedFormat":1},{"version":"f61963dc02ef27c48fb0e0016a413b1e00bcb8b97a3f5d4473cedc7b44c8dc77","impliedFormat":1},{"version":"272dbfe04cfa965d6fff63fdaba415c1b5a515b1881ae265148f8a84ddeb318f","impliedFormat":1},{"version":"2035fb009b5fafa9a4f4e3b3fdb06d9225b89f2cbbf17a5b62413bf72cea721a","impliedFormat":1},{"version":"e7f68ad89f943f167d40e045423f035beed4f91d4ceeec02381289211af1c644","impliedFormat":1},{"version":"72636f59b635c378dc9ea5246b9b3517b1214e340e468e54cb80126353053b2e","impliedFormat":1},{"version":"ebb79f267a3bf2de5f8edc1995c5d31777b539935fab8b7d863e8efb06c8e9ea","impliedFormat":1},{"version":"ada033e6a4c7f4e147e6d76bb881069dc66750619f8cc2472d65beeec1100145","impliedFormat":1},{"version":"52ff5e1ea35c54428b46c75fd14f87b7a7158a8f4a1ecfc4a9b996a03185c738","impliedFormat":1},{"version":"605d29d619180fbec287d1701e8b1f51f2d16747ec308d20aba3e9a0dac43a0f","impliedFormat":1},{"version":"67c19848b442d77c767414084fc571ce118b08301c4ddff904889d318f3a3363","impliedFormat":1},{"version":"c704ff0e0cb86d1b791767a88af21dadfee259180720a14c12baee668d0eb8fb","impliedFormat":1},{"version":"195c50e15d5b3ea034e01fbdca6f8ad4b35ad47463805bb0360bdffd6fce3009","impliedFormat":1},{"version":"da665f00b6877ae4adb39cd548257f487a76e3d99e006a702a4f38b4b39431cb","impliedFormat":1},{"version":"2b82adc9eead34b824a3f4dad315203fbfa56bee0061ccf9b485820606564f70","impliedFormat":1},{"version":"79cfed5eb33a189e2a590d4b4bb53ec0edd0624779d51126caae6395620a717d","impliedFormat":1},{"version":"d7a4309673b06223537bc9544b1a5fe9425628e1c8ab5605f3c5ebc27ecb8074","impliedFormat":1},{"version":"a1ca31e02359442c3e254204445cded3a4712e8830663a0fe06f894b8982ab7c","impliedFormat":1},{"version":"3eadfd083d40777b403f4f4eecfa40f93876f2a01779157cc114b2565a7afb51","impliedFormat":1},{"version":"cb6789ce3eba018d5a7996ccbf50e27541d850e9b4ee97fdcb3cbd8c5093691f","impliedFormat":1},{"version":"a3684ea9719122f9477902acd08cd363a6f3cff6d493df89d4dc12fa58204e27","impliedFormat":1},{"version":"2828dabf17a6507d39ebcc58fef847e111dcf2d51b8e4ff0d32732c72be032b3","impliedFormat":1},{"version":"c0c46113b4cd5ec9e7cf56e6dbfb3930ef6cbba914c0883eeced396988ae8320","impliedFormat":1},{"version":"118ea3f4e7b9c12e92551be0766706f57a411b4f18a1b4762cfde3cd6d4f0a96","impliedFormat":1},{"version":"33395c26f51d1663fda112972df743324d1054fe2a932c85a8bd59d1c771c33e","impliedFormat":1},{"version":"6305acbe492b9882ec940f8f0c8e5d1e1395258852f99328efcb1cf1683ca817","impliedFormat":1},{"version":"7619b1f6087a4e9336b2c42bd784b05aa4a2204a364b60171e5a628f817a381e","impliedFormat":1},{"version":"15be9120572c9fbcd3c267bd93b4140354514c9e70734e6fcca65ff4a246f83a","impliedFormat":1},{"version":"412482ab85893cec1d6f26231359474d1f59f6339e2743c08da1b05fc1d12767","impliedFormat":1},{"version":"858e2315e58af0d28fcd7f141a2505aba6a76fd10378ba0ad169b0336fee33fc","impliedFormat":1},{"version":"02da6c1b34f4ae2120d70cf5f9268bf1aedf62e55529d34f5974f5a93655ce38","impliedFormat":1},{"version":"3ecf179ef1cc28f7f9b46c8d2e496d50b542c176e94ed0147bab147b4a961cd6","impliedFormat":1},{"version":"b145da03ce7e174af5ced2cbbd16e96d3d5c2212f9a90d3657b63a5650a73b7f","impliedFormat":1},{"version":"c7aadab66a2bc90eeb0ab145ca4daebcbc038e24359263de3b40e7b1c7affba6","impliedFormat":1},{"version":"99518dc06286877a7b716e0f22c1a72d3c62be42701324b49f27bcc03573efff","impliedFormat":1},{"version":"f4575fd196a7e33c7be9773a71bcc5fbe7182a2152be909f6b8e8e7ba2438f06","impliedFormat":1},{"version":"05cba5acd77a4384389b9c62739104b5a1693efd66e6abac6c5ffc53280ae777","impliedFormat":1},{"version":"acacda82ebd929fe2fe9e31a37f193fc8498a7393a1c31dc5ceb656e2b45b708","impliedFormat":1},{"version":"1b13e7c5c58ab894fe65b099b6d19bb8afae6d04252db1bf55fe6ba95a0af954","impliedFormat":1},{"version":"4355d326c3129e5853b56267903f294ad03e34cc28b75f96b80734882dedac80","impliedFormat":1},{"version":"37139a8d45342c05b6a5aa1698a2e8e882d6dca5fb9a77aa91f05ac04e92e70b","impliedFormat":1},{"version":"e37191297f1234d3ae54edbf174489f9a3091a05fe959724db36f8e58d21fb17","impliedFormat":1},{"version":"3fca8fb3aab1bc7abb9b1420f517e9012fdddcbe18803bea2dd48fad6c45e92e","impliedFormat":1},{"version":"d0b0779e0cac4809a9a3c764ba3bd68314de758765a8e3b9291fe1671bfeb8a1","impliedFormat":1},{"version":"d2116b5f989aa68e585ae261b9d6d836be6ed1be0b55b47336d9f3db34674e86","impliedFormat":1},{"version":"d79a227dd654be16d8006eac8b67212679d1df494dfe6da22ea0bd34a13e010c","impliedFormat":1},{"version":"b9c89b4a2435c171e0a9a56668f510a376cb7991eaecef08b619e6d484841735","impliedFormat":1},{"version":"e2efbe9ad735950e0536a93120106219a25f45ba0ab7984d58497b5c9d19330e","impliedFormat":1},{"version":"6a79b61f57699de0a381c8a13f4c4bcd120556bfab0b4576994b6917cb62948b","impliedFormat":1},{"version":"c5133d7bdec65f465df12f0b507fbc0d96c78bfa5a012b0eb322cf1ff654e733","impliedFormat":1},{"version":"00b9ff040025f6b00e0f4ac8305fea1809975b325af31541bd9d69fa3b5e57b1","impliedFormat":1},{"version":"9f96b9fd0362a7bfe6a3aa70baa883c47ae167469c904782c99ccc942f62f0dc","impliedFormat":1},{"version":"27dad95a76606bfd8f5c36b7c05bf49dd2e66bdbe03dba745426734f82346ae6","impliedFormat":1},{"version":"89049878a456b5e0870bb50289ea8ece28a2abd0255301a261fa8ab6a3e9a07d","impliedFormat":1},{"version":"55ae9554811525f24818e19bdc8779fa99df434be7c03e5fc47fa441315f0226","impliedFormat":1},{"version":"24abac81e9c60089a126704e936192b2309413b40a53d9da68dadd1dd107684e","impliedFormat":1},{"version":"f13310c360ecffddb3858dcb33a7619665369d465f55e7386c31d45dfc3847bf","impliedFormat":1},{"version":"e7bde95a05a0564ee1450bc9a53797b0ac7944bf24d87d6f645baca3aa60df48","impliedFormat":1},{"version":"62e68ce120914431a7d34232d3eca643a7ddd67584387936a5202ae1c4dd9a1b","impliedFormat":1},{"version":"4e49cb98e2c4e546dd90fb6a867ef88978dea05502df92cb252078cdd407cd1d","impliedFormat":1},{"version":"e1cb8168c7e0bd4857a66558fe7fe6c66d08432a0a943c51bacdac83773d5745","impliedFormat":1},{"version":"a464510505f31a356e9833963d89ce39f37a098715fc2863e533255af4410525","impliedFormat":1},{"version":"ebbe6765a836bfa7f03181bc433c8984ca29626270ca1e240c009851222cb8a7","impliedFormat":1},{"version":"ac10457b51ee4a3173b7165c87c795eadd094e024f1d9f0b6f0c131126e3d903","impliedFormat":1},{"version":"468df9d24a6e2bc6b4351417e3b5b4c2ca08264d6d5045fe18eb42e7996e58b4","impliedFormat":1},{"version":"954523d1f4856180cbf79b35bd754e14d3b2aea06c7efd71b254c745976086e9","impliedFormat":1},{"version":"a8af4739274959d70f7da4bfdd64f71cfc08d825c2d5d3561bc7baed760b33ef","impliedFormat":1},{"version":"3e1e58eff1981ef808ead362d1586c132b309247cd14e3929fbd36d9ca80d3fe","impliedFormat":1},{"version":"cc32874a27100c32e3706d347eb4f435d6dd5c0d83e547c157352f977bbc6385","impliedFormat":1},{"version":"e45b069d58c9ac341d371b8bc3db4fa7351b9eee1731bffd651cfc1eb622f844","impliedFormat":1},{"version":"7f3c74caad25bfb6dfbf78c6fe194efcf8f79d1703d785fc05cd606fe0270525","impliedFormat":1},{"version":"54f3f7ff36384ca5c9e1627118b43df3014b7e0f62c9722619d19cdb7e43d608","impliedFormat":1},{"version":"2f346f1233bae487f1f9a11025fc73a1bf9093ee47980a9f4a75b84ea0bb7021","impliedFormat":1},{"version":"e04c5673b82d68376f57dea0e4a4fbacf6f1692c9382fb12b5fb2e93ce174c12","impliedFormat":1},{"version":"2350e4399e456a61e4340254b71fba87b02b76a403a502c649912865a249f14d","impliedFormat":1},{"version":"2579b150b86b5f644d86a6d58f17e3b801772c78866c34d41f86f3fc9eb523fe","impliedFormat":1},{"version":"0353e05b0d8475c10ddd88056e0483b191aa5cdea00a25e0505b96e023f1a2d9","impliedFormat":1},{"version":"d60d0eeebe3a5a7489e57b9d00d43868281014b0d8b180e29e2f664f1bfe873b","impliedFormat":1},{"version":"22a35275abc67f8aba44efc52b2f4b1abc2c94e183d36647fdab5a5e7c1bdf23","impliedFormat":1},{"version":"99193bafaa9ce112889698de25c4b8c80b1209bb7402189aea1c7ada708a8a54","impliedFormat":1},{"version":"70473538c6eb9494d53bf1539fe69df68d87c348743d8f7244dcb02ca3619484","impliedFormat":1},{"version":"c48932ab06a4e7531bdca7b0f739ace5fa273f9a1b9009bcd26902f8c0b851f0","impliedFormat":1},{"version":"df6c83e574308f6540c19e3409370482a7d8f448d56c65790b4ac0ab6f6fedd8","impliedFormat":1},{"version":"32f19b665839b1382b21afc41917cda47a56e744cd3df9986b13a72746d1c522","impliedFormat":1},{"version":"8db1ed144dd2304b9bd6e41211e22bad5f4ab1d8006e6ac127b29599f4b36083","impliedFormat":1},{"version":"843a5e3737f2abbbbd43bf2014b70f1c69a80530814a27ae1f8be213ae9ec222","impliedFormat":1},{"version":"6fc1be224ad6b3f3ec11535820def2d21636a47205c2c9de32238ba1ac8d82e6","impliedFormat":1},{"version":"5a44788293f9165116c9c183be66cefef0dc5d718782a04847de53bf664f3cc1","impliedFormat":1},{"version":"afd653ae63ce07075b018ba5ce8f4e977b6055c81cc65998410b904b94003c0a","impliedFormat":1},{"version":"9172155acfeb17b9d75f65b84f36cb3eb0ff3cd763db3f0d1ad5f6d10d55662f","impliedFormat":1},{"version":"71807b208e5f15feffb3ff530bec5b46b1217af0d8cc96dde00d549353bcb864","impliedFormat":1},{"version":"1a6eca5c2bc446481046c01a54553c3ffb856f81607a074f9f0256c59dd0ab13","impliedFormat":1},{"version":"eaf8514ce110fa428a93a27408df4d06d133dbd9ed0a775c315ddfdd507853a9","impliedFormat":99},{"version":"6f4dffdd41c8ebf932dd522d1cf14f252704e38767b93ef9b0ce84e165b69265","impliedFormat":99},{"version":"8a8cafb1c5c5fb522eed5b9d55d5f0fe29dc5583766ea8cf16ecc7d6eae0e9d2","impliedFormat":99},{"version":"d52c3d87136264507bd79b5ef2586ebe79ba70f34c7bd47a738a6701009d9d5d","impliedFormat":99},{"version":"e8a5beb73e49b5a4899f12b21fa436f4088f5c6b22ed3e6718fcdf526539d851","impliedFormat":1},{"version":"911484710eb1feaf615cb68eb5875cbfb8edab2a032f0e4fe5a7f8b17e3a997c","impliedFormat":1},{"version":"4b16f3af68c203b4518ce37421fbb64d8e52f3b454796cd62157cfca503b1e08","impliedFormat":1},{"version":"4fc05cd35f313ea6bc2cd52bfd0d3d1a79c894aeaeffd7c285153cb7d243f19b","impliedFormat":1},{"version":"29994a97447d10d003957bcc0c9355c272d8cf0f97143eb1ade331676e860945","impliedFormat":1},{"version":"6865b4ef724cb739f8f1511295f7ce77c52c67ff4af27e07b61471d81de8ecfc","impliedFormat":1},{"version":"9cddf06f2bc6753a8628670a737754b5c7e93e2cfe982a300a0b43cf98a7d032","impliedFormat":1},{"version":"3f8e68bd94e82fe4362553aa03030fcf94c381716ce3599d242535b0d9953e49","impliedFormat":1},{"version":"63e628515ec7017458620e1624c594c9bd76382f606890c8eebf2532bcab3b7c","impliedFormat":1},{"version":"355d5e2ba58012bc059e347a70aa8b72d18d82f0c3491e9660adaf852648f032","impliedFormat":1},{"version":"0c543e751bbd130170ed4efdeca5ff681d06a99f70b5d6fe7defad449d08023d","impliedFormat":1},{"version":"c301dded041994ed4899a7cf08d1d6261a94788da88a4318c1c2338512431a03","impliedFormat":1},{"version":"236c2990d130b924b4442194bdafefa400fcbd0c125a5e2c3e106a0dbe43eaad","impliedFormat":1},{"version":"ded3d0fb8ac3980ae7edcc723cc2ad35da1798d52cceff51c92abe320432ceeb","impliedFormat":1},{"version":"fbb60baf8c207f19aa1131365e57e1c7974a4f7434c1f8d12e13508961fb20ec","impliedFormat":1},{"version":"00011159f97bde4bdb1913f30ef185e6948b8d7ad022b1f829284dfc78feaabf","impliedFormat":1},{"version":"ed849d616865076f44a41c87f27698f7cdf230290c44bafc71d7c2bc6919b202","impliedFormat":1},{"version":"9a0a0af04065ddfecc29d2b090659fce57f46f64c7a04a9ba63835ef2b2d0efa","impliedFormat":1},{"version":"10297d22a9209a718b9883a384db19249b206a0897e95f2b9afeed3144601cb0","impliedFormat":1},{"version":"620d6e0143dba8d88239e321315ddfb662283da3ada6b00cbc935d5c2cee4202","impliedFormat":1},{"version":"34d206f6ba993e601dade2791944bdf742ab0f7a8caccc661106c87438f4f904","impliedFormat":1},{"version":"05ca49cc7ba9111f6c816ecfadb9305fffeb579840961ee8286cc89749f06ebd","impliedFormat":1},{"version":"18c8045cd0680322708e4ae6f8f642a0477e3c780ab93358a19ec244922ffe36","impliedFormat":99},{"version":"8aa1fd9e830918f68c89115d971a82c62333fd046dcec3ae15cdf838cd066a27","impliedFormat":99},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"201ced2ca97d71fe47afdaebc656c2fa63ef2784256e4dfc9eb83930f7aac2c2","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"0387d6c7b0ea6357657bc4f2fd9120b766d15620be58afdde8560ce8d792bc2c","impliedFormat":1},{"version":"26ec2c615ee349154b9cdb180a9bbd2d3e28a2646242e936cf79c1a44847ade7","impliedFormat":1},{"version":"1da7937fc24308f12de2f6e8c84be2ef884c037ef3c4a42c7db3656cb1d7fc90","impliedFormat":1},{"version":"98aa4ed256231830063d307140566ad9f56048ebee57314e528846d93e45e2e4","impliedFormat":1},{"version":"681b18f902bb134939431f31e89c6a25ae82ec1f05a586bc95449266e9c6915f","impliedFormat":1},{"version":"e8052e8ecb4b1c5b61a50d117a14c392b35419c0e43c279d371b8b7d9a08ef5c","impliedFormat":1},{"version":"0f9101796a02c6fab057a4cb74a70a84af79e1bdd6ae554a50a6011e8d1b1a60","impliedFormat":1},{"version":"ec30489454016c2ee7b70ca9914562f4fdbd460134d59fc094ad44b379e15c33","impliedFormat":1},{"version":"1d62284f280d59a4dcc0ffa3ddd0a7ff8a551330b2648070d40ca50c790feec7","impliedFormat":99},{"version":"c6b1e0fe4590530a5215a939b9c37397717c174c288e9106094878c36b80c2f7","impliedFormat":99},{"version":"20fcb118bebfb69ca52595ac4f0dd500fe457a5cedb0a4186a3b09cb20aad7c7","impliedFormat":99},{"version":"d88d27e97d95e57c4947e19d1329e7a3ba34470e0273419bc9cd7d2b7cd3a80c","impliedFormat":99},{"version":"55c63138be10c2ea67afb04f6ac90ec4ad9ab5516ae0df1187d54427a6f0a82d","impliedFormat":99},{"version":"707c70b089bcd6702de7a4ef5fd2f5124338b77535c0917075daec1b19393128","impliedFormat":99},{"version":"ad44192a8489b7bbaeaba00f9ae531b9409d548c654aa2171bac9c6cc17a4bfc","impliedFormat":99},{"version":"00760f0f7676b4314fd41c79edd973e45fe9efe00e7254c2a594464af40cb5f8","impliedFormat":99},{"version":"53a99a92d30403695d814cd721864111f9947dae08655a2123bb2b3f13a4f9f3","impliedFormat":99},{"version":"3ce0e7ebd746a1cb19e1f9907b5c7690afc0cbbbe54134e0e0e2a0fcd276b0dc","impliedFormat":99},{"version":"7bb4a8d8814990f1dbe91aea5b9042498170e743beae2b787559d413c0a8e5ee","impliedFormat":99},{"version":"df60a9e42a4d2ef34df017bdc2793496e1fbc1e4ec4afb0555863212ff2fb629","impliedFormat":99},{"version":"162f748e98203b829d8505f499c99ee0fc2200c11f3743d0e7124e7bf8ca253c","impliedFormat":99},{"version":"01740936c0e970afc6616e1d14838605e11ccbfb89643ce7bfe64741912f0dc8","impliedFormat":99},{"version":"6850d166f3ec14d4c1d40793843ee30e966f23c987b469d58b5a2abeed10bcb0","impliedFormat":99},{"version":"4ca28b7a2b50cafd79fd0c536a81f4eef47cf751c821991f48a7a5cfb7aa4882","impliedFormat":99},{"version":"8f232c6584a2662ea5b24112970da8f74a50fa1ee748f1e629feed6ef9fe5214","impliedFormat":1},{"version":"fd1ddf926b323dfa439be49c1d41bbe233fe5656975a11183aeb3bf2addfa3bb","impliedFormat":1},{"version":"6dda11db28da6bcc7ff09242cd1866bdddd0ae91e2db3bea03ba66112399641a","impliedFormat":1},{"version":"ea4cd1e72af1aa49cf208b9cb4caf542437beb7a7a5b522f50a5f1b7480362ed","impliedFormat":1},{"version":"903a7d68a222d94da11a5a89449fdd5dd75d83cd95af34c0242e10b85ec33a93","impliedFormat":1},{"version":"e7fe2e7ed5c3a7beff60361632be19a8943e53466b7dd69c34f89faf473206d7","impliedFormat":1},{"version":"b4896cee83379e159f83021e262223354db79e439092e485611163e2082224ff","impliedFormat":1},{"version":"5243e79a643e41d9653011d6c66e95048fc0478eb8593dc079b70877a2e3990e","impliedFormat":1},{"version":"08bb8fb1430620b088894ecbb0a6cb972f963d63911bb3704febfa0d3a2f6ea5","impliedFormat":1},{"version":"674fc86e84f60d793d54f67ba61697ead39f77bd44ad1b503e81c7ed03c55a2f","impliedFormat":1},{"version":"eb234b3e285e8bc071bdddc1ec0460095e13ead6222d44b02c4e0869522f9ba3","impliedFormat":1},{"version":"6c40773fe04a5d9c218cac662bdad63b6a9985453226a929d58e09258ec307c5","impliedFormat":1},{"version":"018421260380d05df31b567b90368e1eacf22655b2b8dc2c11e0e76e5fd8978f","impliedFormat":1},{"version":"ef803dca265d6ba37f97b46e21c66d055a3007f71c1995d9ef15d4a07b0d2ad0","impliedFormat":1},{"version":"3d4adf825b7ac087cfbf3d54a7dc16a3959877bb4f5080e14d5e9d8d6159eba8","impliedFormat":1},{"version":"f9e034b1ae29825c00532e08ea852b0c72885c343ee48d2975db0a6481218ab3","impliedFormat":1},{"version":"1193f49cbb883f40326461fe379e58ffa4c18d15bf6d6a1974ad2894e4fb20f3","impliedFormat":1},{"version":"8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","impliedFormat":1},{"version":"faee3702691a15729c8450ddeb808ac4b71ce417d76716fce536f0cffb7f88f9","impliedFormat":99},{"version":"78de8c1cbe1ac0d5c047ce8b58d56922b765630d5c15eee6255661d7d71472f5","impliedFormat":99},{"version":"6d8ca5fca65a3c88aedda5c21c8b1a4d5f5eb20b4629e93293cbf20a27a0c0d0","impliedFormat":99},{"version":"d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","impliedFormat":1},{"version":"b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","impliedFormat":1},{"version":"dcc9081d68c2ade5c51ac7bf5f37cce630359408e713999269b77f611a30d871","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"a5562ab0448c81180ef220ff104441a4d67187a2259e6008397e7531a821f0e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"5c45abf1e13e4463eacfd5dedda06855da8748a6a6cb3334f582b52e219acc04","impliedFormat":1},{"version":"c55436243a247abf427628fbbde3359486fd4b34b8de4ba2d6816e52941e0003","impliedFormat":99},{"version":"edeb57069ded32ae934a0eeff5affa80bd1f562b6631914c71fb24b10f05eaf7","impliedFormat":99},{"version":"b8ad793dc17938bc462812e3522bbd3d62519d91d9b4a6422bed1383c2d3eb42","impliedFormat":1},{"version":"f6b2a8923f81819e59ce427da0087b5645b1a2784de013e44e8cde317e0c7f51","impliedFormat":1},{"version":"5bf595f68b7c1d46ae8385e3363c6e0d4695b6da58a84c6340489fc07ffc73f8","impliedFormat":1},{"version":"b87682ddc9e2c3714ca66991cdd86ff7e18cae6fd010742a93bd612a07d19697","impliedFormat":1},{"version":"e1c0bd0b35d258fcab7176fdfe9d2fe0b6c0a8c493a015a7fcbf5c93c83658b3","impliedFormat":1},{"version":"86bf2bfe29d0bc3fbc68e64c25ea6eab9bcb3c518ae941012ed75b1e87d391ae","impliedFormat":1},{"version":"b02fa868c4daa82af061f4c97c81e38dc95a3cac5a65f793d8504fbf3df7bd72","impliedFormat":1},{"version":"00b4f8b82e78f658b7e269c95d07e55d391235ce34d432764687441177ae7f64","impliedFormat":1},{"version":"c6e10ed499e3ecb1139928b1cf6ef86bde084551faafb03c079939a3668cf8aa","impliedFormat":1},{"version":"10ac50eaf9eb62c048efe576592b14830a757f7ea7ed28ee8deafc19c9845297","impliedFormat":1},{"version":"e75af112e5487476f7c427945fbd76ca46b28285586ad349a25731d196222d56","impliedFormat":1},{"version":"e91adad3da69c366d57067fcf234030b8a05bcf98c25a759a7a5cd22398ac201","impliedFormat":1},{"version":"d7d6e1974124a2dad1a1b816ba2436a95f44feeda0573d6c9fb355f590cf9086","impliedFormat":1},{"version":"464413fcd7e7a3e1d3f2676dc5ef4ebe211c10e3107e126d4516d79439e4e808","impliedFormat":1},{"version":"18f912e4672327b3dd17d70e91da6fcd79d497ba01dde9053a23e7691f56908c","impliedFormat":1},{"version":"2974e2f06de97e1d6e61d1462b54d7da2c03b3e8458ee4b3dc36273bc6dda990","impliedFormat":1},{"version":"d8c1697db4bb3234ff3f8481545284992f1516bc712421b81ee3ef3f226ae112","impliedFormat":1},{"version":"59b6cce93747f7eb2c0405d9f32b77874e059d9881ec8f1b65ff6c068fcce6f2","impliedFormat":1},{"version":"e2c3c3ca3818d610599392a9431e60ec021c5d59262ecd616538484990f6e331","impliedFormat":1},{"version":"e3cd60be3c4f95c43420be67eaa21637585b7c1a8129f9b39983bbd294f9513c","impliedFormat":1},{"version":"3c7163cacbca36598b0bfa4e319f96c5e492a96de7db41989c699ef49dfea79c","impliedFormat":99},{"version":"e3e6db6b98a8251e645fe39f3c5812e22313046badc446bf3d0e622c78aca8c6","impliedFormat":99},{"version":"c857b5f94427f9d663a4d92e2f792c7b6363e41b41c5ebd32d231f01550b386d","impliedFormat":1},{"version":"8b0b6a4c032a56d5651f7dd02ba3f05fbfe4131c4095093633cda3cae0991972","impliedFormat":1},{"version":"ff3c48a17bf10dfbb62448152042e4a48a56c9972059997ab9e7ed03b191809b","impliedFormat":1},{"version":"192a0c215bffe5e4ac7b9ff1e90e94bf4dfdad4f0f69a5ae07fccc36435ebb87","impliedFormat":1},{"version":"3ef8565e3d254583cced37534f161c31e3a8f341ff005c98b582c6d8c9274538","impliedFormat":1},{"version":"d7e42a3800e287d2a1af8479c7dd58c8663e80a01686cb89e0068be6c777d687","impliedFormat":1},{"version":"1098034333d3eb3c1d974435cacba9bd5a625711453412b3a514774fec7ca748","impliedFormat":1},{"version":"f2388b97b898a93d5a864e85627e3af8638695ebfa6d732ecd39d382824f0e63","impliedFormat":1},{"version":"6c6bd91368169cfa94b4f8cc64ebca2b050685ec76bc4082c44ce125b5530cca","impliedFormat":1},{"version":"f477375e6f0bf2a638a71d4e7a3da8885e3a03f3e5350688541d136b10b762a6","impliedFormat":1},{"version":"a44d6ea4dc70c3d789e9cef3cc42b79c78d17d3ce07f5fd278a7e1cbe824da56","impliedFormat":1},{"version":"a74519588a22a1c254c2853ba4dc82d0dfc1da22ad7ac7fd6feb6a91236ef5d1","impliedFormat":1},{"version":"1803e48a3ec919ccafbcafeef5e410776ca0644ae8c6c87beca4c92d8a964434","impliedFormat":1},{"version":"875c43c5409e197e72ee517cb1f8fd358406b4adf058dbdc1e50c8db93d68f26","impliedFormat":1},{"version":"8854713984b9588eac1cab69c9e2a6e1a33760d9a2d182169059991914dd8577","impliedFormat":1},{"version":"e333d487ca89f26eafb95ea4b59bea8ba26b357e9f2fd3728be81d999f9e8cf6","impliedFormat":1},{"version":"2f554c6798b731fc39ff4e3d86aadc932fdeaa063e3cbab025623ff5653c0031","impliedFormat":1},{"version":"fe4613c6c0d23edc04cd8585bdd86bc7337dc6265fb52037d11ca19eeb5e5aaf","impliedFormat":1},{"version":"53b26fbee1a21a6403cf4625d0e501a966b9ccf735754b854366cee8984b711c","impliedFormat":1},{"version":"30676a61ef0eca261117e20257cd3ac49803301afc9a29c543abf34930202933","impliedFormat":1},{"version":"981379335e8bb8e39196931acc39ff446922c964ac0998b61caac8e242068d31","impliedFormat":1},{"version":"8c59d8256086ed17676139ee43c1155673e357ab956fb9d00711a7cac73e059d","impliedFormat":1},{"version":"cfe88132f67aa055a3f49d59b01585fa8d890f5a66a0a13bb71973d57573eee7","impliedFormat":1},{"version":"53ce488a97f0b50686ade64252f60a1e491591dd7324f017b86d78239bd232ca","impliedFormat":1},{"version":"50fd11b764194f06977c162c37e5a70bcf0d3579bf82dd4de4eee3ac68d0f82f","impliedFormat":1},{"version":"e0ceb647dcdf6b27fd37e8b0406c7eafb8adfc99414837f3c9bfd28ffed6150a","impliedFormat":1},{"version":"99579aa074ed298e7a3d6a47e68f0cd099e92411212d5081ce88344a5b1b528d","impliedFormat":1},{"version":"d2d58166965f631fa203f405f3713b0f86f1f8b80755e9daea43057a25311e16","impliedFormat":1},{"version":"ce7dbf31739cc7bca35ca50e4f0cbd75cd31fd6c05c66841f8748e225dc73aaf","impliedFormat":1},{"version":"942ab34f62ac3f3d20014615b6442b6dc51815e30a878ebc390dd70e0dec63bf","impliedFormat":1},{"version":"7a671bf8b4ad81b8b8aea76213ca31b8a5de4ba39490fbdee249fc5ba974a622","impliedFormat":1},{"version":"8e07f13fb0f67e12863b096734f004e14c5ebfd34a524ed4c863c80354c25a44","impliedFormat":1},{"version":"6f6bdb523e5162216efc36ebba4f1ef8e845f1a9e55f15387df8e85206448aee","impliedFormat":1},{"version":"aa2d6531a04d6379318d29891de396f61ccc171bfd2f8448cc1649c184becdf2","impliedFormat":1},{"version":"d422f0c340060a53cb56d0db24dd170e31e236a808130ab106f7ab2c846f1cdb","impliedFormat":1},{"version":"424403ef35c4c97a7f00ea85f4a5e2f088659c731e75dbe0c546137cb64ef8d8","impliedFormat":1},{"version":"16900e9a60518461d7889be8efeca3fe2cbcd3f6ce6dee70fea81dfbf8990a76","impliedFormat":1},{"version":"6daf17b3bd9499bd0cc1733ab227267d48cd0145ed9967c983ccb8f52eb72d6e","impliedFormat":1},{"version":"e4177e6220d0fef2500432c723dbd2eb9a27dcb491344e6b342be58cc1379ec0","impliedFormat":1},{"version":"ab710f1ee2866e473454a348cffd8d5486e3c07c255f214e19e59a4f17eece4d","impliedFormat":1},{"version":"db7ff3459e80382c61441ea9171f183252b6acc82957ecb6285fff4dca55c585","impliedFormat":1},{"version":"4a168e11fe0f46918721d2f6fcdb676333395736371db1c113ae30b6fde9ccd2","impliedFormat":1},{"version":"2a899aef0c6c94cc3537fe93ec8047647e77a3f52ee7cacda95a8c956d3623fb","impliedFormat":1},{"version":"ef2c1585cad462bdf65f2640e7bcd75cd0dbc45bae297e75072e11fe3db017fa","impliedFormat":1},{"version":"6a52170a5e4600bbb47a94a1dd9522dca7348ce591d8cdbb7d4fe3e23bbea461","impliedFormat":1},{"version":"6f6eadb32844b0ec7b322293b011316486894f110443197c4c9fbcba01b3b2fa","impliedFormat":1},{"version":"a51e08f41e3e948c287268a275bfe652856a10f68ddd2bf3e3aaf5b8cdb9ef85","impliedFormat":1},{"version":"16c144a21cd99926eeba1605aec9984439e91aa864d1c210e176ca668f5f586a","impliedFormat":1},{"version":"af48a76b75041e2b3e7bd8eed786c07f39ea896bb2ff165e27e18208d09b8bee","impliedFormat":1},{"version":"ef1aa3da0d6bc679154169c3830ab65441b615641a6e982410ee3cbdc66fa290","impliedFormat":1},{"version":"deb092bc337b2cb0a1b14f3d43f56bc663e1447694e6d479d6df8296bdd452d6","impliedFormat":1},{"version":"aa4e4a68ce82cb642b78a1efa5768fb717ba3a019641d161c803a09c748813d1","impliedFormat":1},{"version":"77165b117f552be305d3bc2ef83424ff1e67afb22bfabd14ebebb3468c21fcaa","impliedFormat":1},{"version":"128e7c2ffd37aa29e05367400d718b0e4770cefb1e658d8783ec80a16bc0643a","impliedFormat":1},{"version":"076ac4f2d642c473fa7f01c8c1b7b4ef58f921130174d9cf78430651f44c43ec","impliedFormat":1},{"version":"396c1e5a39706999ec8cc582916e05fcb4f901631d2c192c1292e95089a494d9","impliedFormat":1},{"version":"89df75d28f34fc698fe261f9489125b4e5828fbd62d863bbe93373d3ed995056","impliedFormat":1},{"version":"8ccf5843249a042f4553a308816fe8a03aa423e55544637757d0cfa338bb5186","impliedFormat":1},{"version":"93b44aa4a7b27ba57d9e2bad6fb7943956de85c5cc330d2c3e30cd25b4583d44","impliedFormat":1},{"version":"a0c6216075f54cafdfa90412596b165ff85e2cadd319c49557cc8410f487b77c","impliedFormat":1},{"version":"3c359d811ec0097cba00fb2afd844b125a2ddf4cad88afaf864e88c8d3d358bd","impliedFormat":1},{"version":"d8ec19be7d6d3950992c3418f3a4aa2bcad144252bd7c0891462b5879f436e4e","impliedFormat":1},{"version":"f0a6974a1b5d0ceb79f5a589373cc2a291bd80a765eb2d799db6d8d51f2c2462","impliedFormat":1},{"version":"d62f09256941e92a95b78ae2267e4cf5ff2ca8915d62b9561b1bc85af1baf428","impliedFormat":1},{"version":"e6223b7263dd7a49f4691bf8df2b1e69f764fb46972937e6f9b28538d050b1ba","impliedFormat":1},{"version":"2daf06d8e15cbca27baa6c106253b92dad96afd87af9996cf49a47103b97dc95","impliedFormat":1},{"version":"1db014db736a09668e0c0576585174dbcfd6471bb5e2d79f151a241e0d18d66b","impliedFormat":1},{"version":"8a153d30edde9cefd102e5523b5a9673c298fc7cf7af5173ae946cbb8dd48f11","impliedFormat":1},{"version":"abaaf8d606990f505ee5f76d0b45a44df60886a7d470820fcfb2c06eafa99659","impliedFormat":1},{"version":"8109e0580fc71dbefd6091b8825acf83209b6c07d3f54c33afeafab5e1f88844","impliedFormat":1},{"version":"d92a80c2c05cf974704088f9da904fe5eadc0b3ad49ddd1ef70ca8028b5adda1","impliedFormat":1},{"version":"fbd7450f20b4486c54f8a90486c395b14f76da66ba30a7d83590e199848f0660","impliedFormat":1},{"version":"ece5b0e45c865645ab65880854899a5422a0b76ada7baa49300c76d38a530ee1","impliedFormat":1},{"version":"62d89ac385aeab821e2d55b4f9a23a277d44f33c67fefe4859c17b80fdb397ea","impliedFormat":1},{"version":"f4dee11887c5564886026263c6ee65c0babc971b2b8848d85c35927af25da827","impliedFormat":1},{"version":"fb8dd49a4cd6d802be4554fbab193bb06e2035905779777f32326cb57cf6a2c2","impliedFormat":1},{"version":"df29ade4994de2d9327a5f44a706bbe6103022a8f40316839afa38d3e078ee06","impliedFormat":1},{"version":"82d3e00d56a71fc169f3cf9ec5f5ffcc92f6c0e67d4dfc130dafe9f1886d5515","impliedFormat":1},{"version":"f06737e21dd482dc9ea719299a665460aaa9d0f185c7302703468f46002cc16e","impliedFormat":1},{"version":"4c30a5cb3097befb9704d16aa4670e64e39ea69c5964a1433b9ffd32e1a5a3a1","impliedFormat":1},{"version":"1b33478647aa1b771314745807397002a410c746480e9447db959110999873ce","impliedFormat":1},{"version":"7b3a5e25bf3c51af55cb2986b89949317aa0f6cbfb5317edd7d4037fa52219a9","impliedFormat":1},{"version":"501ec1552723a1a93b1ac96ff78de1004e9df703bc17ce84acb1924db0b310a6","impliedFormat":1},{"version":"9fac6ebf3c60ced53dd21def30a679ec225fc3ff4b8d66b86326c285a4eebb5a","impliedFormat":1},{"version":"8cb83cb98c460cd716d2a98b64eb1a07a3a65c7362436550e02f5c2d212871d1","impliedFormat":1},{"version":"07bc8a3551e39e70c38e7293b1a09916867d728043e352b119f951742cb91624","impliedFormat":1},{"version":"e47adc2176f43c617c0ab47f2d9b2bb1706d9e0669bf349a30c3fe09ddd63261","impliedFormat":1},{"version":"7fec79dfd7319fec7456b1b53134edb54c411ba493a0aef350eee75a4f223eeb","impliedFormat":1},{"version":"189c489705bb96a308dcde9b3336011d08bfbca568bcaf5d5d55c05468e9de7a","impliedFormat":1},{"version":"98f4b1074567341764b580bf14c5aabe82a4390d11553780814f7e932970a6f7","impliedFormat":1},{"version":"dadfa5fd3d5c511ca6bfe240243b5cf2e0f87e44ea63e23c4b2fce253c0d4601","impliedFormat":1},{"version":"2e252235037a2cd8feebfbf74aa460f783e5d423895d13f29a934d7655a1f8be","impliedFormat":1},{"version":"763f4ac187891a6d71ae8821f45eef7ff915b5d687233349e2c8a76c22b3bf2a","impliedFormat":1},{"version":"4b9c93a83255d603fa4d857aac95257462cde204c7266b552650a18e700c1d46","impliedFormat":1},{"version":"06d8af96b18c5ee90ba066e5d6814a1af3cfa7667986fdecd520599c5b2ed030","impliedFormat":1},{"version":"2e522780639e1a181adf94d3596a6669570c36fd635563753f05853da790dc46","impliedFormat":1},{"version":"c6e3bad7e7eb479c2b3862dd998ba288a97ffda44cb3797bc20d3eb5bc0a6cad","impliedFormat":1},{"version":"b32ded887b679b39ffc83b0e8ff0c1f6722d7e847234a18b2c2158129c58aeb3","impliedFormat":1},{"version":"67b3ddf3a4ceddeeeb59a1c6d0003220a6d5d24a118a91046108e1d60b424e12","impliedFormat":1},{"version":"e5d2f32f61581a9e54404f1918c9a9f6911f89a6efd535bf3c4d41f3f84d8802","impliedFormat":1},{"version":"fea13cbc4da2a22aad4d71b15c73854a6a801fa8038293eb7f4783884ff5af70","impliedFormat":1},{"version":"8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","impliedFormat":1},{"version":"6825eb4d1c8beb77e9ed6681c830326a15ebf52b171f83ffbca1b1574c90a3b0","impliedFormat":1},{"version":"1741975791f9be7f803a826457273094096e8bba7a50f8fa960d5ed2328cdbcc","impliedFormat":1},{"version":"6ec0d1c15d14d63d08ccb10d09d839bf8a724f6b4b9ed134a3ab5042c54a7721","impliedFormat":1},{"version":"75dabc9afdb451a85e6d46e9ca65ec82ead2256476c0686f671f3421923667a7","impliedFormat":1},{"version":"ddfc215bfbddf5854d80ab8fb0256bd802f2a8acb6be62f9e630041266d56cd5","impliedFormat":1},{"version":"2c3bcb8a4ea2fcb4208a06672af7540dd65bf08298d742f041ffa6cbe487cf80","impliedFormat":1},{"version":"1cce0460d75645fc40044c729da9a16c2e0dabe11a58b5e4bfd62ac840a1835d","impliedFormat":1},{"version":"c784a9f75a6f27cf8c43cc9a12c66d68d3beb2e7376e1babfae5ae4998ffbc4a","impliedFormat":1},{"version":"feb4c51948d875fdbbaa402dad77ee40cf1752b179574094b613d8ad98921ce1","impliedFormat":1},{"version":"a6d3984b706cefe5f4a83c1d3f0918ff603475a2a3afa9d247e4114f18b1f1ef","impliedFormat":1},{"version":"b457d606cabde6ea3b0bc32c23dc0de1c84bb5cb06d9e101f7076440fc244727","impliedFormat":1},{"version":"9d59919309a2d462b249abdefba8ca36b06e8e480a77b36c0d657f83a63af465","impliedFormat":1},{"version":"9faa2661daa32d2369ec31e583df91fd556f74bcbd036dab54184303dee4f311","impliedFormat":1},{"version":"b08de5693ec0119e033ced692f3ad0c0449c7331fd1d84033ea9b4b22e7f269c","impliedFormat":1},{"version":"f41f85cdb87d7d8e4280f54a6ee77808c1286ac2e232d0ac8d09d1e9aa20db50","impliedFormat":1},{"version":"5bc3fbb665639c408400fa6d9470682f493d3f30ad2e210b29dbc8987e860797","impliedFormat":1},{"version":"877d1b2cdaf5e8575320eec44d1c5e14128dbca15e2e28dbb9378e064a9c3212","impliedFormat":1},{"version":"d4956b30435c1ffdda9db71d5e2187ecff3da720a2d10cfc856d071ddfa987e0","impliedFormat":1},{"version":"8a15db8a6f77abf5d6acbfcc7bdb09cd725776aaee3fa033ace7e223be38cb50","impliedFormat":1},{"version":"7c5cddaa1cc232f33f6bf7d0a96aeacaab7d7858ecb61ae25136624c6c1c758d","impliedFormat":1},{"version":"7cdeabe4ecfbd65ec72c85dd87398be467f50299e7498f0ac9d1d3e6756a53d0","impliedFormat":1},{"version":"04b524e5f3959484ef978e13978743fffbca584ee7bb67963290a0130c63dc44","impliedFormat":1},{"version":"71beb6a40c2e3c7a27f1741e3f0a51c1dfe8b132f7913d213840de417b1b89dc","impliedFormat":1},{"version":"4616ea42e34b609d6a26a6ce3c998caed06fa2b17529a147760482f45d462b92","impliedFormat":1},{"version":"35d886b8d896fe37b23c6baf6558f01f98fae7eb8e04ab72fda918d0281a5309","impliedFormat":1},{"version":"bf4161a94c178a118f684d34de403be8071c1bc82b0fa1210ea4efaa765eb44e","impliedFormat":99},{"version":"55bae87edb534a20a133ca469ca826b400556e94d3484ccdb8e1440b535a067a","impliedFormat":99},{"version":"e3c39c22849bcae5340d0f950846bbb453ae93cd7fe7136775bc8f57602a7b48","impliedFormat":99},{"version":"f3a68054f682f21cec1eb6bc37d3c4c7f73b7723c7256f8a1ccc75873024aaa6","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9905d2f7dc1f63fa1a6daa8eb7c54e819785adb375b7d45bae699fc91961d0f","impliedFormat":1},{"version":"6d7aa08881e22aff554be3e676651c6de2752c48d11bb2e11e435375ee894920","impliedFormat":1},{"version":"dd9a68fb11b43c2e35ed4a2eb01c6be9157ffc38c2e99cbfeaebc403ae79dbd7","impliedFormat":1},{"version":"810545461a70f8a19d3d3a38f64ad2a43d473b86ff40823d280056b40083ef46","impliedFormat":99},{"version":"7f99b75814581926a6b1d5195b0cf6494cd8753d7c05afa0182f2aed8c252d93","impliedFormat":99},{"version":"dae0e470d9fd928ecd7422e9c13bf97bf00ab2e60c10523300b1e092a24232ec","impliedFormat":99},{"version":"47dee3bb63d743ecc53d2a85c8f2762a7595fac134214dd3ffd60404efec3ca8","impliedFormat":99},{"version":"ddb0b9fcd2670bce028e60ca5768719c5d21508b00dc83acf6af25cbe1fcc5ec","impliedFormat":1},{"version":"2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","impliedFormat":1},{"version":"8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"9d38964b57191567a14b396422c87488cecd48f405c642daa734159875ee81d9","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"0dc6940ff35d845686a118ee7384713a84024d60ef26f25a2f87992ec7ddbd64","impliedFormat":1},{"version":"f2a60d253f7206372203b736144906bf135762100a2b3d1b415776ebf6575d07","impliedFormat":1},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true,"impliedFormat":1},{"version":"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"0c5a621a8cf10464c2020f05c99a86d8ac6875d9e17038cb8522cc2f604d539f","impliedFormat":1},{"version":"1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bf811dcbddc95e2551f704cfd2afc267bf619f8b8f2b7bdbb94df96ec3cbfe3","impliedFormat":1},{"version":"b0f9ef6423d6b29dde29fd60d83d215796b2c1b76bfca28ac374ae18702cfb8e","impliedFormat":1},{"version":"d57be402cf1a3f1bd1852fc71b31ff54da497f64dcdcf8af9ad32435e3f32c1f","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8ea5b1af91c43d23ef9725a5f811c57baea20eebb42a7ff0c711a8aec93916f","impliedFormat":1},{"version":"fbb0e0702158969fb0c0d8b919686026b8a1ee88a4c1bd085aedb7a59ae83908","affectsGlobalScope":true,"impliedFormat":1},{"version":"5c501070be863bf1e02a000b308c350c4179a59b429f83380fc82c817e7e413f","impliedFormat":1},{"version":"9c4b25ca99b905f11599dd30dc7f20819cd8a71618c06a4e6db58f74fb775879","impliedFormat":1},{"version":"03c92769f389dbd9e45232f7eb01c3e0f482b62555aaf2029dcbf380d5cee9e4","impliedFormat":1},{"version":"32d7f70fd3498bc76a46dab8b03af4215f445f490f8e213c80cf06b636a4e413","impliedFormat":1},{"version":"17668c1aab598920796050ee5a00d961ede5e92595f6ac8908a975ed75a537e5","impliedFormat":1},{"version":"37da3671586f0270f6b0772348f39a6e637a0ca9faf2a5dba0791df74ae8de6b","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"85f8ebd7f245e8bf29da270e8b53dcdd17528826ffd27176c5fc7e426213ef5a","impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"6dd20f5b39d29f0dabf7798cdbf772c03c5d6721e60a09e7706afddf5599fad9","impliedFormat":1},{"version":"a0371a3673b043959143ecba86874ad0d53b5241189c4321cafb0b7f0cb8198d","impliedFormat":1},{"version":"966e5379af55eb4be9366a43b5e589e82a77de5b4ee2eaf5dff84318b32546b6","impliedFormat":1},{"version":"24bd01a91f187b22456c7171c07dbf44f3ad57ebd50735aab5c13fa23d7114b4","impliedFormat":1},{"version":"4738eefeaaba4d4288a08c1c226a76086095a4d5bcc7826d2564e7c29da47671","impliedFormat":1},{"version":"992efcb9585b1019601baea9d3fefab34db8f2f8d6319eb5d6c1a068fdf721c7","impliedFormat":1},{"version":"8f75e211a2e83ff216eb66330790fb6412dcda2feb60c4f165c903cf375633ee","impliedFormat":1},{"version":"5adcc724bcfdac3c86ace088e93e1ee605cbe986be5e63ddf04d05b4afdeee71","impliedFormat":1},{"version":"a9155c6deffc2f6a69e69dc12f0950ba1b4db03b3d26ab7a523efc89149ce979","impliedFormat":1},{"version":"c99faf0d7cb755b0424a743ea0cbf195606bf6cd023b5d10082dba8d3714673c","impliedFormat":1},{"version":"21942c5a654cc18ffc2e1e063c8328aca3b127bbf259c4e97906d4696e3fa915","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e","impliedFormat":1}],"root":[[489,492],515,516,529,530,543,544,[563,565],576,577,598,599,[727,729],[734,737]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"module":100,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strictBindCallApply":false,"strictNullChecks":false,"target":8},"fileIdsList":[[738],[757],[716,717,730,732],[716,717,718,720,721,722,723,724],[393,488,717,718],[717],[709,710,711,712,713,714,715,716],[705,717],[374,702,705,715],[731],[488,717,719],[713,715,717,722,723],[725],[393],[488],[56,394,395,396,397,398,399,400,401,402,403,404,405,406],[259,380],[266],[256,393,488],[411,412,413,414,415,416,417,418],[261],[393,488],[407,410,419],[408,409],[384],[261,262,263,264],[421],[279],[421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442],[449],[444,445],[355,374,446,448],[55,265,393,420,443,448,450,457,480,485,487],[61,259],[60],[61,251,252,631,636],[251,259],[60,250],[259,459],[253,461],[250,254],[60,393],[258,259],[271],[273,274,275,276,277],[265],[265,266,281,285],[279,280,286,287,375],[374],[57,58,59,60,61,251,252,253,254,255,256,257,258,259,260,266,271,272,278,285,376,377,378,380,388,389,390,391,392],[284],[267,268,269,270],[259,267,268],[259,265,266],[259,269],[259,384],[379,381,382,383,384,385,386,387],[57,259],[380],[57,259,379,383,385],[268],[381],[259,380,381,382],[283],[259,263,283,388],[281,282,284],[255,257,266,272,281,286,389,390,393],[61,255,257,260,389,390],[264],[250],[283,393,451,455],[455,456],[393,451],[393,451,452],[452,453],[452,453,454],[260],[472,473],[472],[473,474,475,476,477,478],[471],[463,473],[473,474,475,476,477],[260,472,473,476],[458,464,465,466,467,468,469,470,479],[260,393,464],[260,463],[260,463,488],[253,259,260,459,460,461,462,463],[250,393,459,460,481],[393,459],[483],[420,481],[481,482,484],[283,447],[379],[265,393],[486],[374,488],[488,555],[250,546,551],[545,551,555,556,557,560],[551],[552,553],[546,552,554],[547,548,549,550],[558,559],[551,555,561],[561],[281,285,393,488],[578],[393,488,620,621],[602],[488,614,619,620],[624,625],[61,393,615,620,634],[488,601,627],[60,488,628,631],[393,615,620,622,633,635,639],[60,637,638],[628],[250,393,488,642],[393,488,615,620,622,634],[641,643,644],[393,620],[620],[393,488,642],[60,393,488],[393,488,614,615,620,640,642,645,648,653,654,667,668],[627,630,669],[654,666],[55,601,622,623,626,629,661,666,670,673,677,678,679,681,683,689,691],[393,488,608,616,619,620],[393,612],[393,488,602,611,612,613,614,619,620,622,692],[614,615,618,620,656,665],[393,488,607,619,620],[655],[488,615,620],[488,608,615,619,660],[393,488,602,607,619],[488,613,614,618,658,662,663,664],[488,608,615,616,617,619,620],[259,488],[393,602,615,618,620],[619],[604,605,606,615,619,620,659],[611,660,671,672],[488,602,620],[488,602],[603,604,605,606,609,611],[608],[610,611],[488,603,604,605,606,609,610],[646,647],[393,615,620,622,634],[657],[377],[271,393,674,675],[676],[393,622],[393,615,622],[284,393,488,608,615,616,617,619,620],[281,283,393,488,601,615,622,660,678],[284,285,488,578,680],[650,651,652],[488,649],[682],[354,374,488],[685,687,688],[684],[686],[488,614,619,685],[632],[393,488,602,615,619,620,622,657,658,660,661],[690],[281,285,340,342,374,393,488,578,579,580,581],[582],[583,585,596],[579,580,584],[340,342,374,488,570,575,579,580,581],[340,374],[592,594,595],[488,586],[587,588,589,590,591],[393,586],[593],[488,593],[600,693,694,695,696,697,698,699],[600,692],[600,692,693],[488,600,692,693],[700],[738,739,740,741,742],[738,740],[340,374,573],[747,749],[746,747,748],[337,340,374,567,568,569],[568,570,572,574],[338,374],[752],[753],[759,762],[330,374],[355,575],[288],[324],[325,330,358],[326,337,338,345,355,366],[326,327,337,345],[328,367],[329,330,338,346],[330,355,363],[331,333,337,345],[324,332],[333,334],[337],[335,337],[324,337],[337,338,339,355,366],[337,338,339,352,355,358],[322,325,371],[333,337,340,345,355,366],[337,338,340,341,345,355,363,366],[340,342,355,363,366],[288,289,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373],[337,343],[344,366,371],[333,337,345,355],[346],[347],[324,348],[349,365,371],[350],[351],[337,352,353],[352,354,367,369],[325,337,355,356,357,358],[325,355,357],[355,356],[358],[359],[324,355],[337,361,362],[361,362],[330,345,355,363],[364],[345,365],[325,340,351,366],[330,367],[355,368],[344,369],[370],[325,330,337,339,348,355,366,369,371],[355,372],[374,703,705,709,710,711,712,713,714],[355,374],[337,374,703,705,706,708,715],[337,345,355,366,374,702,703,704,706,707,708,715],[355,374,705,706],[355,374,705,707],[374,703,705,706,708,715],[355,374,707],[337,345,355,363,374,704,706,708],[337,374,703,705,706,707,708,715],[337,355,374,703,704,705,706,707,708,715],[337,355,374,703,705,706,708,715],[340,355,374,708],[340,366,374],[575,768,769],[764,771],[575,768,771],[340,575,767,768],[575,768],[340,575],[775,814],[775,799,814],[814],[775],[775,800,814],[775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813],[800,814],[338,355,374,566],[340,374,566,571],[821],[744,765,816,818,822],[325,338,340,341,342,345,355,366,765,817,818,819,820],[340,355,374],[325,338,817,818],[817],[822,823,824,825],[822,823,826],[822,823],[340,341,345,765,822],[827],[755,761],[374,493],[337,374,493,509,510],[494,498,508,512],[337,374,493,494,495,497,498,505,508,509,511],[494],[333,374,498,505,506],[337,374,493,494,495,497,498,506,507,512],[333,374],[493],[499],[501],[337,363,374,493,499,501,502,507],[505],[345,363,374,493,499],[493,494,495,496,499,503,504,505,506,507,508,512,513],[498,500,503,504],[496],[345,363,374],[493,494,496],[759],[756,760],[534,535],[534],[532,534,537,538,539,540,541],[537],[534,536,542],[534,536,538],[531,532,533],[322],[517],[523,524,525,526,527],[488,522],[393,488,522],[488,525],[518,525],[758],[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,181,182,183,185,194,196,197,198,199,200,201,203,204,206,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249],[107],[65,66],[62,63,64,66],[63,66],[66,107],[62,66,184],[64,65,66],[62,66],[66],[65],[62,65,107],[63,65,66,223],[65,66,223],[65,231],[63,65,66],[75],[98],[119],[65,66,107],[66,114],[65,66,107,125],[65,66,125],[66,166],[62,66,185],[191,193],[62,66,184,191,192],[184,185,193],[191],[62,66,191,192,193],[207],[202],[205],[63,65,185,186,187,188],[107,185,186,187,188],[185,187],[65,186,187,189,190,194],[62,65],[66,209],[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,108,109,110,111,112,113,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182],[195],[299,303,366],[299,355,366],[294],[296,299,363,366],[345,363],[294,374],[296,299,345,366],[291,292,295,298,325,337,355,366],[291,297],[295,299,325,358,366,374],[325,374],[315,325,374],[293,294,374],[299],[293,294,295,296,297,298,299,300,301,303,304,305,306,307,308,309,310,311,312,313,314,316,317,318,319,320,321],[299,306,307],[297,299,307,308],[298],[291,294,299],[299,303,307,308],[303],[297,299,302,366],[291,296,297,299,303,306],[325,355],[294,299,315,325,371,374],[355,374,518],[355,374,518,519,520,521],[340,374,519],[488,491,597],[488,489],[347,366,488,489,490,491,522,528,529,530,543,544,562,563,564,565,577,598,599,701,734,735],[488,543],[347,366,488,543,544,726,733],[488,542],[338,347,366,488],[488,491,492,516,522,528,529],[488,492,515,516,522,528],[488,727,728],[347,366,488,726,728,729,733,734],[488,515,543,726,727],[692,736],[488,516,575],[488,516,576],[488,514,515],[488,563],[488,515],[488,491]],"referencedMap":[[740,1],[758,2],[733,3],[725,4],[719,5],[718,6],[717,7],[723,8],[722,9],[732,10],[716,6],[720,11],[724,12],[726,13],[394,14],[395,14],[397,15],[407,16],[399,17],[402,14],[403,14],[404,14],[406,18],[414,19],[419,20],[411,21],[412,22],[420,23],[410,24],[409,25],[265,26],[437,27],[422,27],[429,27],[426,27],[439,27],[430,27],[436,27],[421,28],[440,27],[443,29],[434,27],[424,27],[442,27],[427,27],[425,27],[435,27],[431,27],[441,27],[428,27],[438,27],[423,27],[433,27],[432,27],[450,30],[446,31],[449,32],[488,33],[631,34],[61,35],[637,36],[636,37],[251,38],[252,35],[460,39],[462,40],[255,41],[254,42],[257,41],[260,43],[272,44],[278,45],[280,46],[286,47],[376,48],[375,49],[393,50],[680,51],[271,52],[269,53],[267,54],[268,55],[385,56],[388,57],[381,58],[386,59],[384,60],[387,61],[382,62],[383,63],[284,64],[389,65],[285,66],[391,67],[392,68],[266,69],[390,70],[456,71],[457,72],[452,73],[453,74],[454,75],[455,76],[458,77],[474,78],[473,79],[479,80],[472,81],[475,78],[476,82],[478,83],[477,84],[480,85],[465,86],[466,87],[469,88],[468,88],[467,87],[470,87],[464,89],[482,90],[481,91],[484,92],[483,93],[485,94],[447,64],[448,95],[486,96],[463,97],[487,98],[545,99],[556,100],[557,101],[561,102],[552,103],[554,104],[555,105],[551,106],[560,107],[558,108],[562,109],[578,110],[601,111],[622,112],[623,113],[625,114],[626,115],[635,116],[628,117],[632,118],[640,119],[638,15],[639,120],[629,121],[643,122],[644,123],[645,124],[634,125],[630,126],[654,127],[642,128],[669,129],[627,111],[670,130],[667,131],[668,15],[692,132],[617,133],[613,134],[615,135],[666,136],[608,137],[656,138],[616,139],[663,140],[620,141],[665,142],[618,143],[612,144],[619,145],[614,146],[660,147],[673,148],[671,15],[603,15],[659,149],[604,22],[605,113],[606,150],[610,151],[609,152],[672,153],[611,154],[648,155],[646,122],[647,156],[657,22],[658,157],[661,158],[676,159],[677,160],[674,161],[675,162],[678,163],[679,164],[681,165],[653,166],[650,167],[651,14],[652,156],[683,168],[682,169],[689,170],[621,15],[685,171],[684,15],[687,172],[688,173],[633,174],[662,175],[691,176],[690,15],[582,177],[583,178],[597,179],[585,180],[584,181],[579,182],[596,183],[587,184],[588,184],[589,184],[590,184],[592,185],[591,184],[593,186],[594,187],[586,49],[595,188],[700,189],[600,22],[693,190],[694,191],[695,191],[696,191],[698,192],[699,15],[701,193],[743,194],[739,1],[741,195],[742,1],[574,196],[573,182],[750,197],[749,198],[570,199],[575,200],[751,201],[753,202],[754,203],[763,204],[764,205],[766,206],[288,207],[289,207],[324,208],[325,209],[326,210],[327,211],[328,212],[329,213],[330,214],[331,215],[332,216],[333,217],[334,217],[336,218],[335,219],[337,220],[338,221],[339,222],[323,223],[340,224],[341,225],[342,226],[374,227],[343,228],[344,229],[345,230],[346,231],[347,232],[348,233],[349,234],[350,235],[351,236],[352,237],[353,237],[354,238],[355,239],[357,240],[356,241],[358,242],[359,243],[360,244],[361,245],[362,246],[363,247],[364,248],[365,249],[366,250],[367,251],[368,252],[369,253],[370,254],[371,255],[372,256],[715,257],[702,258],[709,259],[705,260],[703,261],[706,262],[710,263],[711,259],[708,264],[707,265],[712,266],[713,267],[714,268],[704,269],[767,270],[770,271],[772,272],[773,273],[769,274],[771,275],[768,276],[799,277],[800,278],[775,279],[778,279],[797,277],[798,277],[788,277],[787,280],[785,277],[780,277],[793,277],[791,277],[795,277],[779,277],[792,277],[796,277],[781,277],[782,277],[794,277],[776,277],[783,277],[784,277],[786,277],[790,277],[801,281],[789,277],[777,277],[814,282],[808,281],[810,283],[809,281],[802,281],[803,281],[805,281],[807,281],[811,283],[812,283],[804,283],[806,283],[567,284],[572,285],[822,286],[819,287],[821,288],[817,289],[820,290],[818,291],[826,292],[824,293],[825,294],[823,295],[828,296],[553,49],[762,297],[494,298],[511,299],[513,300],[512,301],[495,258],[510,302],[507,303],[508,304],[506,305],[499,306],[500,307],[502,308],[503,309],[501,310],[504,311],[514,312],[505,313],[497,314],[493,315],[498,316],[496,298],[760,317],[761,318],[536,319],[540,320],[542,321],[538,322],[532,323],[539,324],[534,325],[535,326],[518,327],[528,328],[523,329],[525,330],[526,331],[527,332],[759,333],[250,334],[201,335],[199,335],[114,336],[65,337],[64,338],[200,339],[185,340],[107,341],[63,342],[62,343],[249,338],[214,344],[213,344],[125,345],[221,336],[222,336],[224,346],[225,336],[226,343],[227,336],[198,336],[228,336],[229,347],[230,336],[231,344],[232,348],[233,336],[234,336],[235,336],[236,336],[237,344],[238,336],[239,336],[240,336],[241,336],[242,349],[243,336],[244,336],[245,336],[246,336],[247,336],[67,343],[68,343],[69,343],[70,343],[71,343],[72,343],[73,343],[74,336],[76,350],[77,343],[75,343],[78,343],[79,343],[80,343],[81,343],[82,343],[83,343],[84,336],[85,343],[86,343],[87,343],[88,343],[89,343],[90,336],[91,343],[92,343],[93,343],[94,343],[95,343],[96,343],[97,336],[99,351],[98,343],[100,343],[101,343],[102,343],[103,343],[104,349],[105,336],[106,336],[120,352],[108,353],[109,343],[110,343],[111,336],[112,343],[113,343],[115,354],[116,343],[117,343],[118,343],[119,343],[121,343],[122,343],[123,343],[124,343],[126,355],[127,343],[128,343],[129,343],[130,336],[131,343],[132,356],[133,356],[134,356],[135,336],[136,343],[137,343],[138,343],[143,343],[139,343],[140,336],[141,343],[142,336],[144,343],[145,343],[146,343],[147,343],[148,343],[149,343],[150,336],[151,343],[152,343],[153,343],[154,343],[155,343],[156,343],[157,343],[158,343],[159,343],[160,343],[161,343],[162,343],[163,343],[164,343],[165,343],[166,343],[167,357],[168,343],[169,343],[170,343],[171,343],[172,343],[173,343],[174,336],[175,336],[176,336],[177,336],[178,336],[179,343],[180,343],[181,343],[182,343],[248,336],[184,358],[207,359],[202,359],[193,360],[191,361],[205,362],[194,363],[208,364],[203,365],[204,362],[206,366],[189,367],[190,368],[188,369],[186,343],[195,370],[66,371],[212,344],[210,372],[183,373],[196,374],[306,375],[313,376],[305,375],[320,377],[297,378],[296,379],[319,49],[314,380],[317,381],[299,382],[298,383],[294,384],[293,385],[316,386],[295,387],[300,388],[304,388],[322,389],[321,388],[308,390],[309,391],[311,392],[307,393],[310,394],[315,49],[302,395],[303,396],[312,397],[292,398],[318,399],[519,400],[522,401],[520,49],[521,402],[598,403],[599,15],[490,404],[736,405],[489,15],[544,406],[734,407],[543,408],[491,409],[530,410],[529,411],[729,412],[735,413],[728,414],[737,415],[576,416],[577,417],[516,418],[564,419],[563,420],[565,421]],"exportedModulesMap":[[740,1],[758,2],[733,3],[725,4],[719,5],[718,6],[717,7],[723,8],[722,9],[732,10],[716,6],[720,11],[724,12],[726,13],[394,14],[395,14],[397,15],[407,16],[399,17],[402,14],[403,14],[404,14],[406,18],[414,19],[419,20],[411,21],[412,22],[420,23],[410,24],[409,25],[265,26],[437,27],[422,27],[429,27],[426,27],[439,27],[430,27],[436,27],[421,28],[440,27],[443,29],[434,27],[424,27],[442,27],[427,27],[425,27],[435,27],[431,27],[441,27],[428,27],[438,27],[423,27],[433,27],[432,27],[450,30],[446,31],[449,32],[488,33],[631,34],[61,35],[637,36],[636,37],[251,38],[252,35],[460,39],[462,40],[255,41],[254,42],[257,41],[260,43],[272,44],[278,45],[280,46],[286,47],[376,48],[375,49],[393,50],[680,51],[271,52],[269,53],[267,54],[268,55],[385,56],[388,57],[381,58],[386,59],[384,60],[387,61],[382,62],[383,63],[284,64],[389,65],[285,66],[391,67],[392,68],[266,69],[390,70],[456,71],[457,72],[452,73],[453,74],[454,75],[455,76],[458,77],[474,78],[473,79],[479,80],[472,81],[475,78],[476,82],[478,83],[477,84],[480,85],[465,86],[466,87],[469,88],[468,88],[467,87],[470,87],[464,89],[482,90],[481,91],[484,92],[483,93],[485,94],[447,64],[448,95],[486,96],[463,97],[487,98],[545,99],[556,100],[557,101],[561,102],[552,103],[554,104],[555,105],[551,106],[560,107],[558,108],[562,109],[578,110],[601,111],[622,112],[623,113],[625,114],[626,115],[635,116],[628,117],[632,118],[640,119],[638,15],[639,120],[629,121],[643,122],[644,123],[645,124],[634,125],[630,126],[654,127],[642,128],[669,129],[627,111],[670,130],[667,131],[668,15],[692,132],[617,133],[613,134],[615,135],[666,136],[608,137],[656,138],[616,139],[663,140],[620,141],[665,142],[618,143],[612,144],[619,145],[614,146],[660,147],[673,148],[671,15],[603,15],[659,149],[604,22],[605,113],[606,150],[610,151],[609,152],[672,153],[611,154],[648,155],[646,122],[647,156],[657,22],[658,157],[661,158],[676,159],[677,160],[674,161],[675,162],[678,163],[679,164],[681,165],[653,166],[650,167],[651,14],[652,156],[683,168],[682,169],[689,170],[621,15],[685,171],[684,15],[687,172],[688,173],[633,174],[662,175],[691,176],[690,15],[582,177],[583,178],[597,179],[585,180],[584,181],[579,182],[596,183],[587,184],[588,184],[589,184],[590,184],[592,185],[591,184],[593,186],[594,187],[586,49],[595,188],[700,189],[600,22],[693,190],[694,191],[695,191],[696,191],[698,192],[699,15],[701,193],[743,194],[739,1],[741,195],[742,1],[574,196],[573,182],[750,197],[749,198],[570,199],[575,200],[751,201],[753,202],[754,203],[763,204],[764,205],[766,206],[288,207],[289,207],[324,208],[325,209],[326,210],[327,211],[328,212],[329,213],[330,214],[331,215],[332,216],[333,217],[334,217],[336,218],[335,219],[337,220],[338,221],[339,222],[323,223],[340,224],[341,225],[342,226],[374,227],[343,228],[344,229],[345,230],[346,231],[347,232],[348,233],[349,234],[350,235],[351,236],[352,237],[353,237],[354,238],[355,239],[357,240],[356,241],[358,242],[359,243],[360,244],[361,245],[362,246],[363,247],[364,248],[365,249],[366,250],[367,251],[368,252],[369,253],[370,254],[371,255],[372,256],[715,257],[702,258],[709,259],[705,260],[703,261],[706,262],[710,263],[711,259],[708,264],[707,265],[712,266],[713,267],[714,268],[704,269],[767,270],[770,271],[772,272],[773,273],[769,274],[771,275],[768,276],[799,277],[800,278],[775,279],[778,279],[797,277],[798,277],[788,277],[787,280],[785,277],[780,277],[793,277],[791,277],[795,277],[779,277],[792,277],[796,277],[781,277],[782,277],[794,277],[776,277],[783,277],[784,277],[786,277],[790,277],[801,281],[789,277],[777,277],[814,282],[808,281],[810,283],[809,281],[802,281],[803,281],[805,281],[807,281],[811,283],[812,283],[804,283],[806,283],[567,284],[572,285],[822,286],[819,287],[821,288],[817,289],[820,290],[818,291],[826,292],[824,293],[825,294],[823,295],[828,296],[553,49],[762,297],[494,298],[511,299],[513,300],[512,301],[495,258],[510,302],[507,303],[508,304],[506,305],[499,306],[500,307],[502,308],[503,309],[501,310],[504,311],[514,312],[505,313],[497,314],[493,315],[498,316],[496,298],[760,317],[761,318],[536,319],[540,320],[542,321],[538,322],[532,323],[539,324],[534,325],[535,326],[518,327],[528,328],[523,329],[525,330],[526,331],[527,332],[759,333],[250,334],[201,335],[199,335],[114,336],[65,337],[64,338],[200,339],[185,340],[107,341],[63,342],[62,343],[249,338],[214,344],[213,344],[125,345],[221,336],[222,336],[224,346],[225,336],[226,343],[227,336],[198,336],[228,336],[229,347],[230,336],[231,344],[232,348],[233,336],[234,336],[235,336],[236,336],[237,344],[238,336],[239,336],[240,336],[241,336],[242,349],[243,336],[244,336],[245,336],[246,336],[247,336],[67,343],[68,343],[69,343],[70,343],[71,343],[72,343],[73,343],[74,336],[76,350],[77,343],[75,343],[78,343],[79,343],[80,343],[81,343],[82,343],[83,343],[84,336],[85,343],[86,343],[87,343],[88,343],[89,343],[90,336],[91,343],[92,343],[93,343],[94,343],[95,343],[96,343],[97,336],[99,351],[98,343],[100,343],[101,343],[102,343],[103,343],[104,349],[105,336],[106,336],[120,352],[108,353],[109,343],[110,343],[111,336],[112,343],[113,343],[115,354],[116,343],[117,343],[118,343],[119,343],[121,343],[122,343],[123,343],[124,343],[126,355],[127,343],[128,343],[129,343],[130,336],[131,343],[132,356],[133,356],[134,356],[135,336],[136,343],[137,343],[138,343],[143,343],[139,343],[140,336],[141,343],[142,336],[144,343],[145,343],[146,343],[147,343],[148,343],[149,343],[150,336],[151,343],[152,343],[153,343],[154,343],[155,343],[156,343],[157,343],[158,343],[159,343],[160,343],[161,343],[162,343],[163,343],[164,343],[165,343],[166,343],[167,357],[168,343],[169,343],[170,343],[171,343],[172,343],[173,343],[174,336],[175,336],[176,336],[177,336],[178,336],[179,343],[180,343],[181,343],[182,343],[248,336],[184,358],[207,359],[202,359],[193,360],[191,361],[205,362],[194,363],[208,364],[203,365],[204,362],[206,366],[189,367],[190,368],[188,369],[186,343],[195,370],[66,371],[212,344],[210,372],[183,373],[196,374],[306,375],[313,376],[305,375],[320,377],[297,378],[296,379],[319,49],[314,380],[317,381],[299,382],[298,383],[294,384],[293,385],[316,386],[295,387],[300,388],[304,388],[322,389],[321,388],[308,390],[309,391],[311,392],[307,393],[310,394],[315,49],[302,395],[303,396],[312,397],[292,398],[318,399],[519,400],[522,401],[520,49],[521,402],[598,403],[599,15],[490,404],[736,405],[489,15],[544,406],[734,407],[543,408],[491,409],[530,410],[529,411],[729,412],[735,413],[728,414],[737,415],[576,416],[577,417],[516,418],[564,419],[563,420],[565,421]]},"version":"5.3.3"} \ No newline at end of file diff --git a/bizmatch-server/dist/utils.d.ts b/bizmatch-server/dist/utils.d.ts new file mode 100644 index 0000000..fe18cb2 --- /dev/null +++ b/bizmatch-server/dist/utils.d.ts @@ -0,0 +1 @@ +export declare function convertStringToNullUndefined(value: any): any; diff --git a/bizmatch-server/nest-cli.json b/bizmatch-server/nest-cli.json new file mode 100644 index 0000000..1fe4736 --- /dev/null +++ b/bizmatch-server/nest-cli.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json.schemastore.org/nest-cli", + "collection": "@nestjs/schematics", + "sourceRoot": "src", + "compilerOptions": { + "deleteOutDir": true, + "assets": ["assets/**/*","**/*.hbs"], + "watchAssets": true + } +} diff --git a/bizmatch-server/package.json b/bizmatch-server/package.json new file mode 100644 index 0000000..3fcf594 --- /dev/null +++ b/bizmatch-server/package.json @@ -0,0 +1,92 @@ +{ + "name": "bizmatch-server", + "version": "0.0.1", + "description": "", + "author": "", + "private": true, + "license": "UNLICENSED", + "type": "module", + "scripts": { + "build": "nest build", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "start": "nest start", + "start:dev": "nest start --watch", + "start:debug": "nest start --debug --watch", + "start:prod": "node dist/main", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage", + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", + "test:e2e": "jest --config ./test/jest-e2e.json" + }, + "dependencies": { + "@nestjs-modules/mailer": "^1.10.3", + "@nestjs/common": "^10.0.0", + "@nestjs/config": "^3.2.0", + "@nestjs/core": "^10.0.0", + "@nestjs/jwt": "^10.2.0", + "@nestjs/passport": "^10.0.3", + "@nestjs/platform-express": "^10.0.0", + "@nestjs/serve-static": "^4.0.1", + "handlebars": "^4.7.8", + "ioredis": "^5.3.2", + "ky": "^1.2.0", + "nest-winston": "^1.9.4", + "nodemailer": "^6.9.10", + "nodemailer-smtp-transport": "^2.7.4", + "passport": "^0.7.0", + "passport-google-oauth20": "^2.0.0", + "passport-jwt": "^4.0.1", + "passport-local": "^1.0.0", + "reflect-metadata": "^0.2.0", + "rxjs": "^7.8.1", + "urlcat": "^3.1.0", + "winston": "^3.11.0" + }, + "devDependencies": { + "@nestjs/cli": "^10.0.0", + "@nestjs/schematics": "^10.0.0", + "@nestjs/testing": "^10.0.0", + "@types/express": "^4.17.17", + "@types/jest": "^29.5.2", + "@types/multer": "^1.4.11", + "@types/node": "^20.11.19", + "@types/nodemailer": "^6.4.14", + "@types/passport-google-oauth20": "^2.0.14", + "@types/passport-jwt": "^4.0.1", + "@types/passport-local": "^1.0.38", + "@types/supertest": "^6.0.0", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "eslint": "^8.42.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-prettier": "^5.0.0", + "jest": "^29.5.0", + "prettier": "^3.0.0", + "source-map-support": "^0.5.21", + "supertest": "^6.3.3", + "ts-jest": "^29.1.0", + "ts-loader": "^9.4.3", + "ts-node": "^10.9.1", + "tsconfig-paths": "^4.2.0", + "typescript": "^5.1.3" + }, + "jest": { + "moduleFileExtensions": [ + "js", + "json", + "ts" + ], + "rootDir": "src", + "testRegex": ".*\\.spec\\.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + }, + "collectCoverageFrom": [ + "**/*.(t|j)s" + ], + "coverageDirectory": "../coverage", + "testEnvironment": "node" + } +} diff --git a/bizmatch-server/src/account/account.controller.ts b/bizmatch-server/src/account/account.controller.ts new file mode 100644 index 0000000..cd3d35b --- /dev/null +++ b/bizmatch-server/src/account/account.controller.ts @@ -0,0 +1,14 @@ +import { Controller, Param, Post, UploadedFile, UseInterceptors } from '@nestjs/common'; +import { FileInterceptor } from '@nestjs/platform-express'; +import { FileService } from '../file/file.service.js'; + +@Controller('account') +export class AccountController { + constructor(private fileService:FileService){} + + @Post('uploadPhoto/:id') + @UseInterceptors(FileInterceptor('file'),) + uploadFile(@UploadedFile() file: Express.Multer.File,@Param('id') id:string) { + this.fileService.storeFile(file,id); + } +} diff --git a/bizmatch-server/src/account/account.service.ts b/bizmatch-server/src/account/account.service.ts new file mode 100644 index 0000000..682f9a4 --- /dev/null +++ b/bizmatch-server/src/account/account.service.ts @@ -0,0 +1,4 @@ +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class AccountService {} diff --git a/bizmatch-server/src/app.controller.ts b/bizmatch-server/src/app.controller.ts new file mode 100644 index 0000000..22fbf4d --- /dev/null +++ b/bizmatch-server/src/app.controller.ts @@ -0,0 +1,12 @@ +import { Controller, Get } from '@nestjs/common'; +import { AppService } from './app.service.js'; + +@Controller() +export class AppController { + constructor(private readonly appService: AppService) {} + + @Get() + getHello(): string { + return this.appService.getHello(); + } +} diff --git a/bizmatch-server/src/app.module.ts b/bizmatch-server/src/app.module.ts new file mode 100644 index 0000000..ce07c29 --- /dev/null +++ b/bizmatch-server/src/app.module.ts @@ -0,0 +1,51 @@ +import { Module } from '@nestjs/common'; +import { AppController } from './app.controller.js'; +import { AppService } from './app.service.js'; +import { ListingsController } from './listings/listings.controller.js'; +import { FileService } from './file/file.service.js'; +import { AuthService } from './auth/auth.service.js'; +import { AuthController } from './auth/auth.controller.js'; +import { ConfigModule } from '@nestjs/config'; +import { SelectOptionsController } from './select-options/select-options.controller.js'; +import { SelectOptionsService } from './select-options/select-options.service.js'; +import { SubscriptionsController } from './subscriptions/subscriptions.controller.js'; +import { RedisModule } from './redis/redis.module.js'; +import { ListingsService } from './listings/listings.service.js'; +import { AccountController } from './account/account.controller.js'; +import { AccountService } from './account/account.service.js'; +import { ServeStaticModule } from '@nestjs/serve-static'; +import path, { join } from 'path'; +import { fileURLToPath } from 'url'; +import { utilities as nestWinstonModuleUtilities, WinstonModule } from 'nest-winston'; +import * as winston from 'winston'; +import { MailModule } from './mail/mail.module.js'; +import { AuthModule } from './auth/auth.module.js'; +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +@Module({ + imports: [ConfigModule.forRoot(), RedisModule, MailModule, AuthModule, + ServeStaticModule.forRoot({ + rootPath: join(__dirname, '..', 'public'), // `public` ist das Verzeichnis, wo Ihre statischen Dateien liegen + }), + WinstonModule.forRoot({ + transports: [ + new winston.transports.Console({ + format: winston.format.combine( + winston.format.timestamp(), + winston.format.ms(), + nestWinstonModuleUtilities.format.nestLike('Bizmatch', { + colors: true, + prettyPrint: true, + }), + ), + }), + // other transports... + ], + // other options + }) + ], + controllers: [AppController, ListingsController, SelectOptionsController, SubscriptionsController, AccountController], + providers: [AppService, FileService, SelectOptionsService, ListingsService, AccountService], +}) +export class AppModule {} diff --git a/bizmatch-server/src/app.service.ts b/bizmatch-server/src/app.service.ts new file mode 100644 index 0000000..927d7cc --- /dev/null +++ b/bizmatch-server/src/app.service.ts @@ -0,0 +1,8 @@ +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class AppService { + getHello(): string { + return 'Hello World!'; + } +} diff --git a/bizmatch-server/src/assets/listings.json b/bizmatch-server/src/assets/listings.json new file mode 100644 index 0000000..a8e2420 --- /dev/null +++ b/bizmatch-server/src/assets/listings.json @@ -0,0 +1,66 @@ +[ + { + "id":"1", + "userId":"1", + "listingsCategory": "business", + "title": "Industrial Service Company In Corpus Christi For Sale - 1954", + "summary": ["Asking price: $5,500,000","Sales revenue: $1,200,000","Net profit: $650,000"], + "description": ["This company services a wide variety of industries. Asking price includes Business and the Real Estate and is approx 30,000 sq ft with room for expansion including approx 5 acres. Absentee run business."], + "type": "2", + "location": "Texas", + "price":5500000, + "salesRevenue":1200000, + "cashFlow":650000, + "brokerLicencing":"TREC Broker #516788", + "established":1954, + "realEstateIncluded":true + }, + { + "id":"2", + "userId":"1", + "listingsCategory": "business", + "title": "Coastal Bend Manufacturing Business Plastic Injection For Sale - 1950", + "summary": ["Asking price: $165,000","Sales revenue: Undisclosed","Net profit: Undisclosed"], + "description": [""], + "type": "12", + "location": "Texas", + "price":165000, + "salesRevenue":null, + "cashFlow":null, + "brokerLicencing":"TREC Broker #516788", + "established":1950, + "realEstateIncluded":false + }, + { + "id":"3", + "userId":"1", + "listingsCategory": "business", + "title": "Corner Property On Everhart South-side Corpus Christi For Sale - 1944", + "summary": ["Asking price: $830,000","Sales revenue: Undisclosed","Net profit: Undisclosed"], + "description": [""], + "type": "3", + "location": "Texas", + "price":830000, + "salesRevenue":null, + "cashFlow":null, + "brokerLicencing":"TREC Broker #516788", + "established":1944, + "realEstateIncluded":false + }, + { + "id":"4", + "userId":"1", + "listingsCategory": "business", + "title": "Corpus Christi Dessert Business For Sale - 1941", + "summary": ["Asking price: $124,900","Sales revenue: $225,000","Net profit: $50,000"], + "description": [""], + "type": "13", + "location": "Texas", + "price":830000, + "salesRevenue":225000, + "cashFlow":50000, + "brokerLicencing":"TREC Broker #516788", + "established":1941, + "realEstateIncluded":false + } + ] \ No newline at end of file diff --git a/bizmatch-server/src/assets/subscriptions.json b/bizmatch-server/src/assets/subscriptions.json new file mode 100644 index 0000000..fdca232 --- /dev/null +++ b/bizmatch-server/src/assets/subscriptions.json @@ -0,0 +1,14 @@ +[{ + "id":"1", + "userId":"e0811669-c7eb-4e5e-a699-e8334d5c5b01", + "level":"Business Broker", + "start":"2024-02-12T21:54:20.603Z", + "modified":"2024-02-12T21:54:20.603Z", + "end":"9999-02-12T21:54:20.603Z", + "status":"active", + "invoices":[{ + "date":"2024-02-12T21:54:20.603Z", + "id":"C991853B99", + "price":0 + }] +}] \ No newline at end of file diff --git a/bizmatch-server/src/file/file.service.ts b/bizmatch-server/src/file/file.service.ts new file mode 100644 index 0000000..9ea8da9 --- /dev/null +++ b/bizmatch-server/src/file/file.service.ts @@ -0,0 +1,29 @@ +import { Injectable } from '@nestjs/common'; +import { fstat, readFileSync } from 'fs'; +import { join } from 'path'; +import { fileURLToPath } from 'url'; +import path from 'path'; +import fs from 'fs-extra'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +@Injectable() +export class FileService { + private subscriptions: any; + constructor() { + this.loadSubscriptions(); + } + private loadSubscriptions(): void { + const filePath = join(__dirname,'..', 'assets', 'subscriptions.json'); + const rawData = readFileSync(filePath, 'utf8'); + this.subscriptions = JSON.parse(rawData); + } + getSubscriptions() { + return this.subscriptions + } + async storeFile(file: Express.Multer.File,id: string){ + const suffix = file.mimetype.includes('png')?'png':'jpg' + await fs.outputFile(`./public/profile_${id}`,file.buffer); + } +} diff --git a/bizmatch-server/src/listings/listings.controller.ts b/bizmatch-server/src/listings/listings.controller.ts new file mode 100644 index 0000000..6c9fe3c --- /dev/null +++ b/bizmatch-server/src/listings/listings.controller.ts @@ -0,0 +1,59 @@ +import { Body, Controller, Delete, Get, Inject, Param, Post, Put } from '@nestjs/common'; +import { FileService } from '../file/file.service.js'; +import { convertStringToNullUndefined } from '../utils.js'; +import { RedisService } from '../redis/redis.service.js'; +import { ListingsService } from './listings.service.js'; +import { WINSTON_MODULE_PROVIDER } from 'nest-winston'; +import { Logger } from 'winston'; + +@Controller('listings') +export class ListingsController { + // private readonly logger = new Logger(ListingsController.name); + + constructor(private readonly listingsService:ListingsService,@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: Logger) { + } + + @Get() + findAll(): any { + return this.listingsService.getAllListings(); + } + @Get(':id') + findById(@Param('id') id:string): any { + return this.listingsService.getListingById(id); + } + // @Get(':type/:location/:minPrice/:maxPrice/:realEstateChecked') + // find(@Param('type') type:string,@Param('location') location:string,@Param('minPrice') minPrice:string,@Param('maxPrice') maxPrice:string,@Param('realEstateChecked') realEstateChecked:boolean): any { + // return this.listingsService.find(type,location,minPrice,maxPrice,realEstateChecked); + // } + @Post('search') + find(@Body() criteria: any): any { + return this.listingsService.find(criteria); + } + /** + * @param listing updates a new listing + */ + @Put(':id') + updateById(@Param('id') id:string, @Body() listing: any){ + this.logger.info(`Update by ID: ${id}`); + this.listingsService.setListing(listing,id) + } + + /** + * @param listing creates a new listing + */ + @Post() + create(@Body() listing: any){ + this.logger.info(`Create Listing`); + this.listingsService.setListing(listing) + } + + /** + * @param id deletes a listing + */ + @Delete(':id') + deleteById(@Param('id') id:string){ + this.listingsService.deleteListing(id) + } + +} + diff --git a/bizmatch-server/src/listings/listings.service.ts b/bizmatch-server/src/listings/listings.service.ts new file mode 100644 index 0000000..e604870 --- /dev/null +++ b/bizmatch-server/src/listings/listings.service.ts @@ -0,0 +1,86 @@ +import { Inject, Injectable } from '@nestjs/common'; +import { + BusinessListing, + InvestmentsListing, + ListingCriteria, + ProfessionalsBrokersListing, +} from '../models/main.model.js'; +import { LISTINGS, RedisService } from '../redis/redis.service.js'; +import { convertStringToNullUndefined } from '../utils.js'; +import { WINSTON_MODULE_PROVIDER } from 'nest-winston'; +import { Logger } from 'winston'; + +@Injectable() +export class ListingsService { + // private readonly logger = new Logger(ListingsService.name); + constructor(private redisService: RedisService,@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: Logger) {} + + async setListing( + value: BusinessListing | ProfessionalsBrokersListing | InvestmentsListing, + id?: string, + ) { + if (!id) { + id = await this.redisService.getId(LISTINGS); + value.id = id; + this.logger.info(`No ID - creating new one:${id}`) + } else { + this.logger.info(`ID available:${id}`) + } + this.redisService.setJson(id, value); + } + + async getListingById(id: string) { + return await this.redisService.getJson(id, LISTINGS); + } + deleteListing(id: string){ + this.redisService.delete(id); + this.logger.info(`delete listing with ID:${id}`) + } + async getAllListings(start?: number, end?: number) { + const searchResult = await this.redisService.search(LISTINGS, '*'); + const listings = searchResult.slice(1).reduce((acc, item, index, array) => { + // Jedes zweite Element (beginnend mit dem ersten) ist ein JSON-String des Listings + if (index % 2 === 1) { + try { + const listing = JSON.parse(item[1]); // Parsen des JSON-Strings + acc.push(listing); + } catch (error) { + console.error('Fehler beim Parsen des JSON-Strings: ', error); + } + } + return acc; + }, []); + return listings; + } + //criteria.type,criteria.location,criteria.minPrice,criteria.maxPrice,criteria.realEstateChecked,criteria.listingsCategory + //async find(type:string,location:string,minPrice:string,maxPrice:string,realEstateChecked:boolean,listingsCategory:string): Promise { + async find(criteria:ListingCriteria): Promise { + let listings = await this.getAllListings(); + listings=listings.filter(l=>l.listingsCategory===criteria.listingsCategory); + if (convertStringToNullUndefined(criteria.type)){ + console.log(criteria.type); + listings=listings.filter(l=>l.type===criteria.type); + } + if (convertStringToNullUndefined(criteria.location)){ + console.log(criteria.location); + listings=listings.filter(l=>l.location===criteria.location); + } + if (convertStringToNullUndefined(criteria.minPrice)){ + console.log(criteria.minPrice); + listings=listings.filter(l=>l.price>=Number(criteria.minPrice)); + } + if (convertStringToNullUndefined(criteria.maxPrice)){ + console.log(criteria.maxPrice); + listings=listings.filter(l=>l.price<=Number(criteria.maxPrice)); + } + if (convertStringToNullUndefined(criteria.realEstateChecked)){ + console.log(criteria.realEstateChecked); + listings=listings.filter(l=>l.realEstateIncluded); + } + if (convertStringToNullUndefined(criteria.category)){ + console.log(criteria.category); + listings=listings.filter(l=>l.category===criteria.category); + } + return listings + } +} diff --git a/bizmatch-server/src/mail/mail.controller.ts b/bizmatch-server/src/mail/mail.controller.ts new file mode 100644 index 0000000..00f8875 --- /dev/null +++ b/bizmatch-server/src/mail/mail.controller.ts @@ -0,0 +1,14 @@ +import { Body, Controller, Get, Param, Post } from '@nestjs/common'; +import { MailService } from './mail.service.js'; +import { MailInfo } from '../models/server.model.js'; + +@Controller('mail') +export class MailController { + constructor(private mailService:MailService){ + + } + @Post(':id') + sendEMail(@Param('id') id:string,@Body() mailInfo: MailInfo): any { + return this.mailService.sendInquiry(id,mailInfo); + } +} diff --git a/bizmatch-server/src/mail/mail.module.ts b/bizmatch-server/src/mail/mail.module.ts new file mode 100644 index 0000000..899a597 --- /dev/null +++ b/bizmatch-server/src/mail/mail.module.ts @@ -0,0 +1,40 @@ +import { Module } from '@nestjs/common'; +import { MailService } from './mail.service.js'; +import { MailController } from './mail.controller.js'; +import { MailerModule } from '@nestjs-modules/mailer'; +import path, { join } from 'path'; +import { HandlebarsAdapter } from '@nestjs-modules/mailer/dist/adapters/handlebars.adapter.js'; +import { fileURLToPath } from 'url'; +import { AuthModule } from '../auth/auth.module.js'; +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +@Module({ + imports: [AuthModule, + MailerModule.forRoot({ + // transport: 'smtps://user@example.com:topsecret@smtp.example.com', + // or + transport: { + host: 'smtp.gmail.com', + secure: true, + + auth: { + user: 'andreas.knuth@gmail.com', + pass: 'ksnh xjae dqbv xana', + }, + }, + defaults: { + from: '"No Reply" ', + }, + template: { + dir: join(__dirname, 'templates'), + adapter: new HandlebarsAdapter(), // or new PugAdapter() or new EjsAdapter() + options: { + strict: true, + }, + }, + }), + ], + providers: [MailService], + controllers: [MailController] +}) +export class MailModule {} diff --git a/bizmatch-server/src/mail/mail.service.ts b/bizmatch-server/src/mail/mail.service.ts new file mode 100644 index 0000000..ebf7632 --- /dev/null +++ b/bizmatch-server/src/mail/mail.service.ts @@ -0,0 +1,24 @@ +import { MailerService } from '@nestjs-modules/mailer'; +import { Injectable } from '@nestjs/common'; +import { AuthService } from '../auth/auth.service.js'; +import { MailInfo } from '../models/server.model.js'; +import { User } from 'src/models/main.model.js'; + +@Injectable() +export class MailService { + constructor(private mailerService: MailerService, private authService:AuthService) {} + + async sendInquiry(userId:string,mailInfo: MailInfo) { + const user = await this.authService.getUser(userId) as User; + await this.mailerService.sendMail({ + to: user.email, + from: '"Bizmatch Team" ', // override default from + subject: `Inquiry from ${mailInfo.sender.name}`, + template: './inquiry', // `.hbs` extension is appended automatically + context: { // ✏ filling curly brackets with content + name: user.firstname, + inquiry:mailInfo.sender.comments + }, + }); + } + } diff --git a/bizmatch-server/src/mail/templates/inquiry.hbs b/bizmatch-server/src/mail/templates/inquiry.hbs new file mode 100644 index 0000000..1fd5d37 --- /dev/null +++ b/bizmatch-server/src/mail/templates/inquiry.hbs @@ -0,0 +1,5 @@ +

Hey {{ name }},

+

You got an inquiry a

+

+ {{inquiry}} +

\ No newline at end of file diff --git a/bizmatch-server/src/main.ts b/bizmatch-server/src/main.ts new file mode 100644 index 0000000..53b4522 --- /dev/null +++ b/bizmatch-server/src/main.ts @@ -0,0 +1,15 @@ +import { NestFactory } from '@nestjs/core'; +import { AppModule } from './app.module.js'; + +async function bootstrap() { + const app = await NestFactory.create(AppModule); + app.setGlobalPrefix('bizmatch'); + app.enableCors({ + origin: '*', + methods: 'GET,HEAD,PUT,PATCH,POST,DELETE', + allowedHeaders: 'Content-Type, Accept', + }); + //origin: 'http://localhost:4200', + await app.listen(3000); +} +bootstrap(); diff --git a/bizmatch-server/src/models/main.model.ts b/bizmatch-server/src/models/main.model.ts new file mode 100644 index 0000000..e69de29 diff --git a/bizmatch-server/src/models/server.model.ts b/bizmatch-server/src/models/server.model.ts new file mode 100644 index 0000000..a69a89a --- /dev/null +++ b/bizmatch-server/src/models/server.model.ts @@ -0,0 +1,11 @@ +export interface MailInfo { + sender:Sender; + userId:string; + } +export interface Sender { + name:string; + email:string; + phoneNumber:string; + state:string; + comments:string; +} \ No newline at end of file diff --git a/bizmatch-server/src/redis/redis.controller.ts b/bizmatch-server/src/redis/redis.controller.ts new file mode 100644 index 0000000..5f2f5af --- /dev/null +++ b/bizmatch-server/src/redis/redis.controller.ts @@ -0,0 +1,18 @@ +import { Body, Controller, Get, HttpStatus, Param, Post, Res } from '@nestjs/common'; +import { Response } from 'express'; +import { RedisService } from './redis.service.js'; + +@Controller('redis') +export class RedisController { + constructor(private redisService:RedisService){} + + // @Get(':id') + // getById(@Param('id') id:string){ + // return this.redisService.getListingById(id); + // } + + // @Post(':id') + // updateById(@Body() listing: any){ + // this.redisService.setListing(listing); + // } +} diff --git a/bizmatch-server/src/redis/redis.module.ts b/bizmatch-server/src/redis/redis.module.ts new file mode 100644 index 0000000..2d7ce2b --- /dev/null +++ b/bizmatch-server/src/redis/redis.module.ts @@ -0,0 +1,16 @@ +// redis.module.ts +import { Module } from '@nestjs/common'; + +@Module({ + providers: [RedisService], + exports: [RedisService], + controllers: [RedisController], +}) +export class RedisModule {} + +// redis.service.ts +import { Injectable } from '@nestjs/common'; +import { RedisService } from './redis.service.js'; +import { RedisController } from './redis.controller.js'; + + diff --git a/bizmatch-server/src/redis/redis.service.ts b/bizmatch-server/src/redis/redis.service.ts new file mode 100644 index 0000000..ebf5cce --- /dev/null +++ b/bizmatch-server/src/redis/redis.service.ts @@ -0,0 +1,39 @@ +// redis.service.ts +import { Injectable } from '@nestjs/common'; +import { Redis } from 'ioredis'; +import { BusinessListing, InvestmentsListing,ProfessionalsBrokersListing } from '../models/main.model.js'; + +export const LISTINGS = 'LISTINGS'; +export const SUBSCRIPTIONS = 'SUBSCRIPTIONS'; +export const USERS = 'USERS' + +@Injectable() +export class RedisService { + private redis = new Redis(); // Verbindungsparameter nach Bedarf anpassen + + + + // ###################################### + // general methods + // ###################################### + async setJson(id: string, value: any): Promise { + await this.redis.call("JSON.SET", `${LISTINGS}:${id}`, "$", JSON.stringify(value)); + } + async delete(id: string): Promise { + await this.redis.del(`${LISTINGS}:${id}`); + } + async getJson(id: string, prefix:string): Promise { + const result:string = await this.redis.call("JSON.GET", `${prefix}:${id}`) as string; + return JSON.parse(result); + } + + async getId(prefix:'LISTINGS'|'SUBSCRIPTIONS'|'USERS'):Promise{ + const counter = await this.redis.call("INCR",`${prefix}_ID_COUNTER`) as number; + return counter.toString().padStart(15, '0') + } + + async search(prefix:'LISTINGS'|'SUBSCRIPTIONS'|'USERS',clause:string):Promise{ + const result = await this.redis.call(`FT.SEARCH`, `${prefix}_INDEX`, `${clause}`, 'LIMIT', 0, 200); + return result; + } +} \ No newline at end of file diff --git a/bizmatch-server/src/select-options/select-options.controller.ts b/bizmatch-server/src/select-options/select-options.controller.ts new file mode 100644 index 0000000..42a1b75 --- /dev/null +++ b/bizmatch-server/src/select-options/select-options.controller.ts @@ -0,0 +1,17 @@ +import { Controller, Get } from '@nestjs/common'; +import { SelectOptionsService } from './select-options.service.js'; + +@Controller('select-options') +export class SelectOptionsController { + constructor(private selectOptionsService:SelectOptionsService){} + @Get() + getSelectOption():any{ + return { + typesOfBusiness:this.selectOptionsService.typesOfBusiness, + prices:this.selectOptionsService.prices, + listingCategories:this.selectOptionsService.listingCategories, + categories:this.selectOptionsService.categories, + locations:this.selectOptionsService.locations, + } + } +} diff --git a/bizmatch-server/src/select-options/select-options.service.ts b/bizmatch-server/src/select-options/select-options.service.ts new file mode 100644 index 0000000..fe9b363 --- /dev/null +++ b/bizmatch-server/src/select-options/select-options.service.ts @@ -0,0 +1,102 @@ +import { Injectable } from '@nestjs/common'; +import { KeyValue, KeyValueStyle } from '../models/main.model.js'; + +@Injectable() +export class SelectOptionsService { + + constructor() { } + public typesOfBusiness: Array = [ + { name: 'Automotive', value: '1', icon:'fa-solid fa-car',bgColorClass:'bg-green-100',textColorClass:'text-green-600' }, + { name: 'Industrial Services', value: '2', icon:'fa-solid fa-industry',bgColorClass:'bg-yellow-100',textColorClass:'text-yellow-600'}, + { name: 'Real Estate', value: '3' , icon:'pi pi-building',bgColorClass:'bg-blue-100',textColorClass:'text-blue-600'}, + { name: 'Uncategorized', value: '4' , icon:'pi pi-question',bgColorClass:'bg-cyan-100',textColorClass:'text-cyan-600'}, + { name: 'Retail', value: '5' , icon:'fa-solid fa-money-bill-wave',bgColorClass:'bg-pink-100',textColorClass:'text-pink-600'}, + { name: 'Oilfield SVE and MFG.', value: '6' , icon:'fa-solid fa-oil-well',bgColorClass:'bg-indigo-100',textColorClass:'text-indigo-600'}, + { name: 'Service', value: '7' , icon:'fa-solid fa-umbrella',bgColorClass:'bg-teal-100',textColorClass:'text-teal-600'}, + { name: 'Advertising', value: '8' , icon:'fa-solid fa-rectangle-ad',bgColorClass:'bg-orange-100',textColorClass:'text-orange-600'}, + { name: 'Agriculture', value: '9' , icon:'fa-solid fa-wheat-awn',bgColorClass:'bg-bluegray-100',textColorClass:'text-bluegray-600'}, + { name: 'Franchise', value: '10' , icon:'pi pi-star',bgColorClass:'bg-purple-100',textColorClass:'text-purple-600'}, + { name: 'Professional', value: '11' , icon:'fa-solid fa-user-gear',bgColorClass:'bg-gray-100',textColorClass:'text-gray-600'}, + { name: 'Manufacturing', value: '12' , icon:'fa-solid fa-industry',bgColorClass:'bg-red-100',textColorClass:'text-red-600'}, + { name: 'Food and Restaurant', value: '13' , icon:'fa-solid fa-utensils',bgColorClass:'bg-primary-100',textColorClass:'text-primary-600'}, + ]; + public prices: Array = [ + { name: '$100K', value: '100000' }, + { name: '$250K', value: '250000' }, + { name: '$500K', value: '500000' }, + { name: '$1M', value: '1000000' }, + { name: '$5M', value: '5000000' }, + ]; + public listingCategories: Array = [ + { name: 'Business', value: 'business' }, + { name: 'Professionals/Brokers Directory', value: 'professionals_brokers' }, + { name: 'Investment Property', value: 'investment' }, + ] + public categories: Array = [ + { name: 'Broker', value: 'broker', icon:'pi-image',bgColorClass:'bg-green-100',textColorClass:'text-green-600' }, + { name: 'Professional', value: 'professional', icon:'pi-globe',bgColorClass:'bg-yellow-100',textColorClass:'text-yellow-600' }, + ] + private usStates = [ + { name: 'ALABAMA', abbreviation: 'AL'}, + { name: 'ALASKA', abbreviation: 'AK'}, + { name: 'AMERICAN SAMOA', abbreviation: 'AS'}, + { name: 'ARIZONA', abbreviation: 'AZ'}, + { name: 'ARKANSAS', abbreviation: 'AR'}, + { name: 'CALIFORNIA', abbreviation: 'CA'}, + { name: 'COLORADO', abbreviation: 'CO'}, + { name: 'CONNECTICUT', abbreviation: 'CT'}, + { name: 'DELAWARE', abbreviation: 'DE'}, + { name: 'DISTRICT OF COLUMBIA', abbreviation: 'DC'}, + { name: 'FEDERATED STATES OF MICRONESIA', abbreviation: 'FM'}, + { name: 'FLORIDA', abbreviation: 'FL'}, + { name: 'GEORGIA', abbreviation: 'GA'}, + { name: 'GUAM', abbreviation: 'GU'}, + { name: 'HAWAII', abbreviation: 'HI'}, + { name: 'IDAHO', abbreviation: 'ID'}, + { name: 'ILLINOIS', abbreviation: 'IL'}, + { name: 'INDIANA', abbreviation: 'IN'}, + { name: 'IOWA', abbreviation: 'IA'}, + { name: 'KANSAS', abbreviation: 'KS'}, + { name: 'KENTUCKY', abbreviation: 'KY'}, + { name: 'LOUISIANA', abbreviation: 'LA'}, + { name: 'MAINE', abbreviation: 'ME'}, + { name: 'MARSHALL ISLANDS', abbreviation: 'MH'}, + { name: 'MARYLAND', abbreviation: 'MD'}, + { name: 'MASSACHUSETTS', abbreviation: 'MA'}, + { name: 'MICHIGAN', abbreviation: 'MI'}, + { name: 'MINNESOTA', abbreviation: 'MN'}, + { name: 'MISSISSIPPI', abbreviation: 'MS'}, + { name: 'MISSOURI', abbreviation: 'MO'}, + { name: 'MONTANA', abbreviation: 'MT'}, + { name: 'NEBRASKA', abbreviation: 'NE'}, + { name: 'NEVADA', abbreviation: 'NV'}, + { name: 'NEW HAMPSHIRE', abbreviation: 'NH'}, + { name: 'NEW JERSEY', abbreviation: 'NJ'}, + { name: 'NEW MEXICO', abbreviation: 'NM'}, + { name: 'NEW YORK', abbreviation: 'NY'}, + { name: 'NORTH CAROLINA', abbreviation: 'NC'}, + { name: 'NORTH DAKOTA', abbreviation: 'ND'}, + { name: 'NORTHERN MARIANA ISLANDS', abbreviation: 'MP'}, + { name: 'OHIO', abbreviation: 'OH'}, + { name: 'OKLAHOMA', abbreviation: 'OK'}, + { name: 'OREGON', abbreviation: 'OR'}, + { name: 'PALAU', abbreviation: 'PW'}, + { name: 'PENNSYLVANIA', abbreviation: 'PA'}, + { name: 'PUERTO RICO', abbreviation: 'PR'}, + { name: 'RHODE ISLAND', abbreviation: 'RI'}, + { name: 'SOUTH CAROLINA', abbreviation: 'SC'}, + { name: 'SOUTH DAKOTA', abbreviation: 'SD'}, + { name: 'TENNESSEE', abbreviation: 'TN'}, + { name: 'TEXAS', abbreviation: 'TX'}, + { name: 'UTAH', abbreviation: 'UT'}, + { name: 'VERMONT', abbreviation: 'VT'}, + { name: 'VIRGIN ISLANDS', abbreviation: 'VI'}, + { name: 'VIRGINIA', abbreviation: 'VA'}, + { name: 'WASHINGTON', abbreviation: 'WA'}, + { name: 'WEST VIRGINIA', abbreviation: 'WV'}, + { name: 'WISCONSIN', abbreviation: 'WI'}, + { name: 'WYOMING', abbreviation: 'WY' } + ] + public locations:Array = [...this.usStates.map(state=>({name:state.name, value:state.abbreviation}))].concat({name:'CANADA',value:"CA"}); + +} diff --git a/bizmatch-server/src/subscriptions/subscriptions.controller.ts b/bizmatch-server/src/subscriptions/subscriptions.controller.ts new file mode 100644 index 0000000..122feb7 --- /dev/null +++ b/bizmatch-server/src/subscriptions/subscriptions.controller.ts @@ -0,0 +1,12 @@ +import { Controller, Get } from '@nestjs/common'; +import { FileService } from '../file/file.service.js'; + +@Controller('subscriptions') +export class SubscriptionsController { + constructor(private readonly fileService: FileService){} + @Get() + findAll(): any { + return this.fileService.getSubscriptions(); + } + +} diff --git a/bizmatch-server/src/utils.ts b/bizmatch-server/src/utils.ts new file mode 100644 index 0000000..a50b082 --- /dev/null +++ b/bizmatch-server/src/utils.ts @@ -0,0 +1,13 @@ +export function convertStringToNullUndefined(value) { + // Konvertiert den Wert zu Kleinbuchstaben fĂŒr eine case-insensitive ÜberprĂŒfung + const lowerCaseValue = typeof value === 'boolean' ? value : value?.toLowerCase(); + + if (lowerCaseValue === 'null') { + return null; + } else if (lowerCaseValue === 'undefined') { + return undefined; + } + + // Gibt den Originalwert zurĂŒck, wenn es sich nicht um 'null' oder 'undefined' handelt + return value; +} \ No newline at end of file diff --git a/bizmatch-server/tsconfig.build.json b/bizmatch-server/tsconfig.build.json new file mode 100644 index 0000000..64f86c6 --- /dev/null +++ b/bizmatch-server/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] +} diff --git a/bizmatch-server/tsconfig.json b/bizmatch-server/tsconfig.json new file mode 100644 index 0000000..7a249db --- /dev/null +++ b/bizmatch-server/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "ES2021", + "module": "Node16", + "moduleResolution": "Node16", + "declaration": true, + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "sourceMap": true, + "outDir": "./dist", + "baseUrl": "./", + "incremental": true, + "skipLibCheck": true, + "strictNullChecks": false, + "noImplicitAny": false, + "strictBindCallApply": false, + "forceConsistentCasingInFileNames": false, + "noFallthroughCasesInSwitch": false, + } +} diff --git a/bizmatch/.angular/cache/17.2.1/bizmatch/.tsbuildinfo b/bizmatch/.angular/cache/17.2.1/bizmatch/.tsbuildinfo new file mode 100644 index 0000000..59d8d83 --- /dev/null +++ b/bizmatch/.angular/cache/17.2.1/bizmatch/.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/tslib/tslib.d.ts","../../../../src/main.ngtypecheck.ts","../../../../node_modules/rxjs/dist/types/internal/Subscription.d.ts","../../../../node_modules/rxjs/dist/types/internal/Subscriber.d.ts","../../../../node_modules/rxjs/dist/types/internal/Operator.d.ts","../../../../node_modules/rxjs/dist/types/internal/Observable.d.ts","../../../../node_modules/rxjs/dist/types/internal/types.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/auditTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/bufferCount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/bufferTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/bufferToggle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/bufferWhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/catchError.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combineLatestAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combineAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combineLatest.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combineLatestWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatMap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatMapTo.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/debounceTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/defaultIfEmpty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/delayWhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinctUntilChanged.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinctUntilKeyChanged.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/elementAt.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/endWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaustAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaustMap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/findIndex.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../../node_modules/rxjs/dist/types/internal/Subject.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/groupBy.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/ignoreElements.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/isEmpty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mapTo.d.ts","../../../../node_modules/rxjs/dist/types/internal/Notification.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeMap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/flatMap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeMapTo.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeScan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/ConnectableObservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/observeOn.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/onErrorResumeNextWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishBehavior.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishLast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishReplay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/raceWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/repeatWhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/retryWhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/refCount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sampleTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sequenceEqual.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/shareReplay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skipLast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skipUntil.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skipWhile.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/startWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/subscribeOn.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchMap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchMapTo.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchScan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takeLast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takeUntil.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takeWhile.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throttleTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throwIfEmpty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeInterval.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeoutWith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/toArray.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowCount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowTime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowToggle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowWhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/withLatestFrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zipAll.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zipWith.d.ts","../../../../node_modules/rxjs/dist/types/operators/index.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/Action.d.ts","../../../../node_modules/rxjs/dist/types/internal/Scheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/TestMessage.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/SubscriptionLog.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/SubscriptionLoggable.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/ColdObservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/HotObservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/AsyncScheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/timerHandle.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/AsyncAction.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/VirtualTimeScheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/TestScheduler.d.ts","../../../../node_modules/rxjs/dist/types/testing/index.d.ts","../../../../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/dom/animationFrames.d.ts","../../../../node_modules/rxjs/dist/types/internal/BehaviorSubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/ReplaySubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/AsyncSubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/AsapScheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/QueueScheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/AnimationFrameScheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/animationFrame.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/isObservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/lastValueFrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/firstValueFrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/ArgumentOutOfRangeError.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/EmptyError.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/NotFoundError.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/ObjectUnsubscribedError.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/SequenceError.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/UnsubscriptionError.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/bindCallback.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/bindNodeCallback.d.ts","../../../../node_modules/rxjs/dist/types/internal/AnyCatcher.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/combineLatest.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/forkJoin.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/fromEvent.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/fromEventPattern.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/onErrorResumeNext.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/throwError.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../../node_modules/rxjs/dist/types/internal/config.d.ts","../../../../node_modules/rxjs/dist/types/index.d.ts","../../../../node_modules/@angular/core/primitives/signals/index.d.ts","../../../../node_modules/@angular/core/index.d.ts","../../../../node_modules/@angular/common/index.d.ts","../../../../node_modules/@angular/common/http/index.d.ts","../../../../node_modules/@angular/platform-browser/index.d.ts","../../../../src/app/app.config.ngtypecheck.ts","../../../../node_modules/@angular/router/index.d.ts","../../../../src/app/app.routes.ngtypecheck.ts","../../../../src/app/pages/listings/listings.component.ngtypecheck.ts","../../../../node_modules/primeng/api/blockableui.d.ts","../../../../node_modules/primeng/api/confirmaeventtype.d.ts","../../../../node_modules/primeng/api/confirmation.d.ts","../../../../node_modules/primeng/api/confirmationservice.d.ts","../../../../node_modules/primeng/ts-helpers/ts-helpers.d.ts","../../../../node_modules/primeng/ts-helpers/public_api.d.ts","../../../../node_modules/primeng/ts-helpers/index.d.ts","../../../../node_modules/primeng/api/contextmenuservice.d.ts","../../../../node_modules/primeng/api/filtermatchmode.d.ts","../../../../node_modules/primeng/api/filtermetadata.d.ts","../../../../node_modules/primeng/api/filteroperator.d.ts","../../../../node_modules/primeng/api/filterservice.d.ts","../../../../node_modules/primeng/api/sortmeta.d.ts","../../../../node_modules/primeng/api/lazyloadevent.d.ts","../../../../node_modules/primeng/api/tooltipoptions.d.ts","../../../../node_modules/primeng/api/menuitem.d.ts","../../../../node_modules/primeng/api/megamenuitem.d.ts","../../../../node_modules/primeng/api/message.d.ts","../../../../node_modules/primeng/api/messageservice.d.ts","../../../../node_modules/@angular/animations/index.d.ts","../../../../node_modules/primeng/api/overlayoptions.d.ts","../../../../node_modules/primeng/api/overlayservice.d.ts","../../../../node_modules/primeng/api/primeicons.d.ts","../../../../node_modules/primeng/api/translation.d.ts","../../../../node_modules/primeng/api/primengconfig.d.ts","../../../../node_modules/primeng/api/selectitem.d.ts","../../../../node_modules/primeng/api/selectitemgroup.d.ts","../../../../node_modules/primeng/api/shared.d.ts","../../../../node_modules/primeng/api/sortevent.d.ts","../../../../node_modules/primeng/api/tablestate.d.ts","../../../../node_modules/primeng/api/translationkeys.d.ts","../../../../node_modules/primeng/api/treenode.d.ts","../../../../node_modules/primeng/api/treenodedragevent.d.ts","../../../../node_modules/primeng/api/treedragdropservice.d.ts","../../../../node_modules/primeng/api/lazyloadmeta.d.ts","../../../../node_modules/primeng/api/scrolleroptions.d.ts","../../../../node_modules/primeng/api/treetablenode.d.ts","../../../../node_modules/primeng/api/public_api.d.ts","../../../../node_modules/primeng/api/index.d.ts","../../../../node_modules/primeng/ripple/ripple.d.ts","../../../../node_modules/primeng/ripple/public_api.d.ts","../../../../node_modules/primeng/ripple/index.d.ts","../../../../node_modules/primeng/baseicon/baseicon.d.ts","../../../../node_modules/primeng/baseicon/public_api.d.ts","../../../../node_modules/primeng/baseicon/index.d.ts","../../../../node_modules/primeng/icons/spinner/spinner.d.ts","../../../../node_modules/primeng/icons/spinner/public_api.d.ts","../../../../node_modules/primeng/icons/spinner/index.d.ts","../../../../node_modules/primeng/button/button.d.ts","../../../../node_modules/primeng/button/button.interface.d.ts","../../../../node_modules/primeng/button/public_api.d.ts","../../../../node_modules/primeng/button/index.d.ts","../../../../node_modules/@angular/forms/index.d.ts","../../../../node_modules/primeng/checkbox/checkbox.interface.d.ts","../../../../node_modules/primeng/icons/check/check.d.ts","../../../../node_modules/primeng/icons/check/public_api.d.ts","../../../../node_modules/primeng/icons/check/index.d.ts","../../../../node_modules/primeng/checkbox/checkbox.d.ts","../../../../node_modules/primeng/checkbox/public_api.d.ts","../../../../node_modules/primeng/checkbox/index.d.ts","../../../../node_modules/primeng/inputtext/inputtext.d.ts","../../../../node_modules/primeng/inputtext/public_api.d.ts","../../../../node_modules/primeng/inputtext/index.d.ts","../../../../node_modules/primeng/styleclass/styleclass.d.ts","../../../../node_modules/primeng/styleclass/public_api.d.ts","../../../../node_modules/primeng/styleclass/index.d.ts","../../../../src/app/services/select-options.service.ngtypecheck.ts","../../../../node_modules/primeng/dom/domhandler.d.ts","../../../../node_modules/primeng/dom/connectedoverlayscrollhandler.d.ts","../../../../node_modules/primeng/dom/public_api.d.ts","../../../../node_modules/primeng/dom/index.d.ts","../../../../node_modules/primeng/scroller/scroller.interface.d.ts","../../../../node_modules/primeng/scroller/scroller.d.ts","../../../../node_modules/primeng/scroller/public_api.d.ts","../../../../node_modules/primeng/scroller/index.d.ts","../../../../node_modules/primeng/table/table.interface.d.ts","../../../../node_modules/primeng/overlay/overlay.d.ts","../../../../node_modules/primeng/overlay/public_api.d.ts","../../../../node_modules/primeng/overlay/index.d.ts","../../../../node_modules/primeng/dropdown/dropdown.interface.d.ts","../../../../node_modules/primeng/tooltip/tooltip.d.ts","../../../../node_modules/primeng/tooltip/public_api.d.ts","../../../../node_modules/primeng/tooltip/index.d.ts","../../../../node_modules/primeng/autofocus/autofocus.d.ts","../../../../node_modules/primeng/autofocus/public_api.d.ts","../../../../node_modules/primeng/autofocus/index.d.ts","../../../../node_modules/primeng/icons/times/times.d.ts","../../../../node_modules/primeng/icons/times/public_api.d.ts","../../../../node_modules/primeng/icons/times/index.d.ts","../../../../node_modules/primeng/icons/chevrondown/chevrondown.d.ts","../../../../node_modules/primeng/icons/chevrondown/public_api.d.ts","../../../../node_modules/primeng/icons/chevrondown/index.d.ts","../../../../node_modules/primeng/icons/search/search.d.ts","../../../../node_modules/primeng/icons/search/public_api.d.ts","../../../../node_modules/primeng/icons/search/index.d.ts","../../../../node_modules/primeng/dropdown/dropdown.d.ts","../../../../node_modules/primeng/dropdown/public_api.d.ts","../../../../node_modules/primeng/dropdown/index.d.ts","../../../../node_modules/primeng/paginator/paginator.interface.d.ts","../../../../node_modules/primeng/inputnumber/inputnumber.interface.d.ts","../../../../node_modules/primeng/icons/angleup/angleup.d.ts","../../../../node_modules/primeng/icons/angleup/public_api.d.ts","../../../../node_modules/primeng/icons/angleup/index.d.ts","../../../../node_modules/primeng/icons/angledown/angledown.d.ts","../../../../node_modules/primeng/icons/angledown/public_api.d.ts","../../../../node_modules/primeng/icons/angledown/index.d.ts","../../../../node_modules/primeng/inputnumber/inputnumber.d.ts","../../../../node_modules/primeng/inputnumber/public_api.d.ts","../../../../node_modules/primeng/inputnumber/index.d.ts","../../../../node_modules/primeng/icons/angledoubleleft/angledoubleleft.d.ts","../../../../node_modules/primeng/icons/angledoubleleft/public_api.d.ts","../../../../node_modules/primeng/icons/angledoubleleft/index.d.ts","../../../../node_modules/primeng/icons/angledoubleright/angledoubleright.d.ts","../../../../node_modules/primeng/icons/angledoubleright/public_api.d.ts","../../../../node_modules/primeng/icons/angledoubleright/index.d.ts","../../../../node_modules/primeng/icons/angleleft/angleleft.d.ts","../../../../node_modules/primeng/icons/angleleft/public_api.d.ts","../../../../node_modules/primeng/icons/angleleft/index.d.ts","../../../../node_modules/primeng/icons/angleright/angleright.d.ts","../../../../node_modules/primeng/icons/angleright/public_api.d.ts","../../../../node_modules/primeng/icons/angleright/index.d.ts","../../../../node_modules/primeng/paginator/paginator.d.ts","../../../../node_modules/primeng/paginator/public_api.d.ts","../../../../node_modules/primeng/paginator/index.d.ts","../../../../node_modules/primeng/selectbutton/selectbutton.interface.d.ts","../../../../node_modules/primeng/selectbutton/selectbutton.d.ts","../../../../node_modules/primeng/selectbutton/public_api.d.ts","../../../../node_modules/primeng/selectbutton/index.d.ts","../../../../node_modules/primeng/calendar/calendar.interface.d.ts","../../../../node_modules/primeng/icons/chevronleft/chevronleft.d.ts","../../../../node_modules/primeng/icons/chevronleft/public_api.d.ts","../../../../node_modules/primeng/icons/chevronleft/index.d.ts","../../../../node_modules/primeng/icons/chevronright/chevronright.d.ts","../../../../node_modules/primeng/icons/chevronright/public_api.d.ts","../../../../node_modules/primeng/icons/chevronright/index.d.ts","../../../../node_modules/primeng/icons/chevronup/chevronup.d.ts","../../../../node_modules/primeng/icons/chevronup/public_api.d.ts","../../../../node_modules/primeng/icons/chevronup/index.d.ts","../../../../node_modules/primeng/icons/calendar/calendar.d.ts","../../../../node_modules/primeng/icons/calendar/public_api.d.ts","../../../../node_modules/primeng/icons/calendar/index.d.ts","../../../../node_modules/primeng/calendar/calendar.d.ts","../../../../node_modules/primeng/calendar/public_api.d.ts","../../../../node_modules/primeng/calendar/index.d.ts","../../../../node_modules/primeng/tristatecheckbox/tristatecheckbox.interface.d.ts","../../../../node_modules/primeng/tristatecheckbox/tristatecheckbox.d.ts","../../../../node_modules/primeng/tristatecheckbox/public_api.d.ts","../../../../node_modules/primeng/tristatecheckbox/index.d.ts","../../../../node_modules/primeng/icons/arrowdown/arrowdown.d.ts","../../../../node_modules/primeng/icons/arrowdown/public_api.d.ts","../../../../node_modules/primeng/icons/arrowdown/index.d.ts","../../../../node_modules/primeng/icons/arrowup/arrowup.d.ts","../../../../node_modules/primeng/icons/arrowup/public_api.d.ts","../../../../node_modules/primeng/icons/arrowup/index.d.ts","../../../../node_modules/primeng/icons/sortalt/sortalt.d.ts","../../../../node_modules/primeng/icons/sortalt/public_api.d.ts","../../../../node_modules/primeng/icons/sortalt/index.d.ts","../../../../node_modules/primeng/icons/sortamountupalt/sortamountupalt.d.ts","../../../../node_modules/primeng/icons/sortamountupalt/public_api.d.ts","../../../../node_modules/primeng/icons/sortamountupalt/index.d.ts","../../../../node_modules/primeng/icons/sortamountdown/sortamountdown.d.ts","../../../../node_modules/primeng/icons/sortamountdown/public_api.d.ts","../../../../node_modules/primeng/icons/sortamountdown/index.d.ts","../../../../node_modules/primeng/icons/filter/filter.d.ts","../../../../node_modules/primeng/icons/filter/public_api.d.ts","../../../../node_modules/primeng/icons/filter/index.d.ts","../../../../node_modules/primeng/icons/filterslash/filterslash.d.ts","../../../../node_modules/primeng/icons/filterslash/public_api.d.ts","../../../../node_modules/primeng/icons/filterslash/index.d.ts","../../../../node_modules/primeng/icons/plus/plus.d.ts","../../../../node_modules/primeng/icons/plus/public_api.d.ts","../../../../node_modules/primeng/icons/plus/index.d.ts","../../../../node_modules/primeng/icons/trash/trash.d.ts","../../../../node_modules/primeng/icons/trash/public_api.d.ts","../../../../node_modules/primeng/icons/trash/index.d.ts","../../../../node_modules/primeng/table/table.d.ts","../../../../node_modules/primeng/table/columnfilter.interface.d.ts","../../../../node_modules/primeng/table/public_api.d.ts","../../../../node_modules/primeng/table/index.d.ts","../../../../src/environments/environment.ngtypecheck.ts","../../../../src/environments/environment.base.ngtypecheck.ts","../../../../src/environments/environment.base.ts","../../../../src/environments/environment.ts","../../../../../common-models/src/main.model.ngtypecheck.ts","../../../../../common-models/src/main.model.ts","../../../../src/app/services/select-options.service.ts","../../../../node_modules/primeng/togglebutton/togglebutton.interface.d.ts","../../../../node_modules/primeng/togglebutton/togglebutton.d.ts","../../../../node_modules/primeng/togglebutton/public_api.d.ts","../../../../node_modules/primeng/togglebutton/index.d.ts","../../../../src/app/services/listings.service.ngtypecheck.ts","../../../../src/app/services/listings.service.ts","../../../../node_modules/on-change/index.d.ts","../../../../src/app/utils/utils.ngtypecheck.ts","../../../../node_modules/@browser-bunyan/levels/lib/index.d.ts","../../../../node_modules/@browser-bunyan/console-plain-stream/lib/index.d.ts","../../../../node_modules/@browser-bunyan/console-raw-stream/lib/index.d.ts","../../../../node_modules/@browser-bunyan/console-formatted-stream/lib/index.d.ts","../../../../node_modules/browser-bunyan/lib/index.d.ts","../../../../src/app/utils/utils.ts","../../../../src/app/pages/listings/listings.component.ts","../../../../src/app/pages/home/home.component.ngtypecheck.ts","../../../../node_modules/@angular/animations/browser/index.d.ts","../../../../node_modules/@angular/platform-browser/animations/index.d.ts","../../../../src/app/services/user.service.ngtypecheck.ts","../../../../node_modules/jwt-decode/build/cjs/index.d.ts","../../../../src/app/services/keycloak.service.ngtypecheck.ts","../../../../node_modules/keycloak-js/dist/keycloak.d.ts","../../../../src/app/models/keycloak-options.ngtypecheck.ts","../../../../src/app/models/keycloak-options.ts","../../../../src/app/models/keycloak-event.ngtypecheck.ts","../../../../src/app/models/keycloak-event.ts","../../../../src/app/services/keycloak.service.ts","../../../../src/app/services/user.service.ts","../../../../src/app/pages/home/home.component.ts","../../../../src/app/pages/details/details.component.ngtypecheck.ts","../../../../node_modules/primeng/tag/tag.d.ts","../../../../node_modules/primeng/tag/tag.interface.d.ts","../../../../node_modules/primeng/tag/public_api.d.ts","../../../../node_modules/primeng/tag/index.d.ts","../../../../src/assets/data/listings.json","../../../../node_modules/primeng/inputtextarea/inputtextarea.d.ts","../../../../node_modules/primeng/inputtextarea/public_api.d.ts","../../../../node_modules/primeng/inputtextarea/index.d.ts","../../../../node_modules/primeng/icons/timescircle/timescircle.d.ts","../../../../node_modules/primeng/icons/timescircle/public_api.d.ts","../../../../node_modules/primeng/icons/timescircle/index.d.ts","../../../../node_modules/primeng/chip/chip.d.ts","../../../../node_modules/primeng/chip/chip.interface.d.ts","../../../../node_modules/primeng/chip/public_api.d.ts","../../../../node_modules/primeng/chip/index.d.ts","../../../../src/app/pages/details/details.component.ts","../../../../src/app/pages/subscription/account/account.component.ngtypecheck.ts","../../../../src/app/pages/menu-account/menu-account.component.ngtypecheck.ts","../../../../node_modules/primeng/divider/divider.d.ts","../../../../node_modules/primeng/divider/public_api.d.ts","../../../../node_modules/primeng/divider/index.d.ts","../../../../node_modules/@fortawesome/fontawesome-common-types/index.d.ts","../../../../node_modules/@fortawesome/free-regular-svg-icons/index.d.ts","../../../../node_modules/@fortawesome/free-solid-svg-icons/index.d.ts","../../../../node_modules/@fortawesome/fontawesome-svg-core/index.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/config.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/icon-library.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/shared/models/props.model.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/stack/stack-item-size.directive.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/stack/stack.component.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/icon/icon.component.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/icon/duotone-icon.component.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/layers/layers.component.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/layers/layers-text.component.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/layers/layers-counter.component.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/fontawesome.module.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/public_api.d.ts","../../../../node_modules/@fortawesome/angular-fontawesome/index.d.ts","../../../../src/app/pages/menu-account/menu-account.component.ts","../../../../src/app/shared/shared/shared.module.ngtypecheck.ts","../../../../node_modules/primeng/confirmdialog/confirmdialog.d.ts","../../../../node_modules/primeng/confirmdialog/confirmdialog.interface.d.ts","../../../../node_modules/primeng/confirmdialog/public_api.d.ts","../../../../node_modules/primeng/confirmdialog/index.d.ts","../../../../node_modules/primeng/confirmpopup/confirmpopup.d.ts","../../../../node_modules/primeng/confirmpopup/confirmpopup.interface.d.ts","../../../../node_modules/primeng/confirmpopup/public_api.d.ts","../../../../node_modules/primeng/confirmpopup/index.d.ts","../../../../node_modules/primeng/toast/toast.interface.d.ts","../../../../node_modules/primeng/icons/infocircle/infocircle.d.ts","../../../../node_modules/primeng/icons/infocircle/public_api.d.ts","../../../../node_modules/primeng/icons/infocircle/index.d.ts","../../../../node_modules/primeng/icons/exclamationtriangle/exclamationtriangle.d.ts","../../../../node_modules/primeng/icons/exclamationtriangle/public_api.d.ts","../../../../node_modules/primeng/icons/exclamationtriangle/index.d.ts","../../../../node_modules/primeng/toast/toast.d.ts","../../../../node_modules/primeng/toast/public_api.d.ts","../../../../node_modules/primeng/toast/index.d.ts","../../../../src/app/shared/shared/shared.module.ts","../../../../src/app/services/subscriptions.service.ngtypecheck.ts","../../../../src/app/services/subscriptions.service.ts","../../../../node_modules/primeng/fileupload/fileupload.interface.d.ts","../../../../node_modules/primeng/progressbar/progressbar.d.ts","../../../../node_modules/primeng/progressbar/public_api.d.ts","../../../../node_modules/primeng/progressbar/index.d.ts","../../../../node_modules/primeng/messages/messages.d.ts","../../../../node_modules/primeng/messages/messages.interface.d.ts","../../../../node_modules/primeng/messages/public_api.d.ts","../../../../node_modules/primeng/messages/index.d.ts","../../../../node_modules/primeng/icons/upload/upload.d.ts","../../../../node_modules/primeng/icons/upload/public_api.d.ts","../../../../node_modules/primeng/icons/upload/index.d.ts","../../../../node_modules/primeng/fileupload/fileupload.d.ts","../../../../node_modules/primeng/fileupload/public_api.d.ts","../../../../node_modules/primeng/fileupload/index.d.ts","../../../../src/app/pages/subscription/account/account.component.ts","../../../../src/app/pages/subscription/edit-listing/edit-listing.component.ngtypecheck.ts","../../../../src/assets/data/user.json","../../../../src/app/pipes/array-to-string.pipe.ngtypecheck.ts","../../../../src/app/pipes/array-to-string.pipe.ts","../../../../src/app/pages/subscription/edit-listing/edit-listing.component.ts","../../../../src/app/pages/subscription/my-listing/my-listing.component.ngtypecheck.ts","../../../../src/app/pages/subscription/my-listing/my-listing.component.ts","../../../../src/app/pages/subscription/favorites/favorites.component.ngtypecheck.ts","../../../../src/app/pages/subscription/favorites/favorites.component.ts","../../../../src/app/pages/subscription/email-us/email-us.component.ngtypecheck.ts","../../../../src/app/pages/subscription/email-us/email-us.component.ts","../../../../src/app/guards/auth.guard.ngtypecheck.ts","../../../../src/app/guards/auth.guard.ts","../../../../src/app/pages/pricing/pricing.component.ngtypecheck.ts","../../../../src/app/pages/pricing/pricing.component.ts","../../../../src/app/components/logout/logout.component.ngtypecheck.ts","../../../../src/app/components/logout/logout.component.ts","../../../../src/app/app.routes.ts","../../../../src/app/app.config.ts","../../../../src/app/app.component.ngtypecheck.ts","../../../../src/app/components/header/header.component.ngtypecheck.ts","../../../../node_modules/primeng/icons/bars/bars.d.ts","../../../../node_modules/primeng/icons/bars/public_api.d.ts","../../../../node_modules/primeng/icons/bars/index.d.ts","../../../../node_modules/primeng/menubar/menubar.d.ts","../../../../node_modules/primeng/menubar/menubar.interface.d.ts","../../../../node_modules/primeng/menubar/public_api.d.ts","../../../../node_modules/primeng/menubar/index.d.ts","../../../../node_modules/primeng/overlaypanel/overlaypanel.d.ts","../../../../node_modules/primeng/overlaypanel/public_api.d.ts","../../../../node_modules/primeng/overlaypanel/index.d.ts","../../../../node_modules/primeng/tabmenu/tabmenu.d.ts","../../../../node_modules/primeng/tabmenu/tabmenu.interface.d.ts","../../../../node_modules/primeng/tabmenu/public_api.d.ts","../../../../node_modules/primeng/tabmenu/index.d.ts","../../../../src/app/components/header/header.component.ts","../../../../node_modules/primeng/progressspinner/progressspinner.d.ts","../../../../node_modules/primeng/progressspinner/public_api.d.ts","../../../../node_modules/primeng/progressspinner/index.d.ts","../../../../src/app/services/loading.service.ngtypecheck.ts","../../../../src/app/services/loading.service.ts","../../../../src/app/components/footer/footer.component.ngtypecheck.ts","../../../../src/app/components/footer/footer.component.ts","../../../../src/app/app.component.ts","../../../../src/main.ts","../../../../src/main.server.ngtypecheck.ts","../../../../src/app/app.config.server.ngtypecheck.ts","../../../../node_modules/@angular/platform-server/index.d.ts","../../../../src/app/app.config.server.ts","../../../../src/main.server.ts","../../../../server.ngtypecheck.ts","../../../../server.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/buffer/index.d.ts","../../../../node_modules/undici-types/header.d.ts","../../../../node_modules/undici-types/readable.d.ts","../../../../node_modules/undici-types/file.d.ts","../../../../node_modules/undici-types/fetch.d.ts","../../../../node_modules/undici-types/formdata.d.ts","../../../../node_modules/undici-types/connector.d.ts","../../../../node_modules/undici-types/client.d.ts","../../../../node_modules/undici-types/errors.d.ts","../../../../node_modules/undici-types/dispatcher.d.ts","../../../../node_modules/undici-types/global-dispatcher.d.ts","../../../../node_modules/undici-types/global-origin.d.ts","../../../../node_modules/undici-types/pool-stats.d.ts","../../../../node_modules/undici-types/pool.d.ts","../../../../node_modules/undici-types/handlers.d.ts","../../../../node_modules/undici-types/balanced-pool.d.ts","../../../../node_modules/undici-types/agent.d.ts","../../../../node_modules/undici-types/mock-interceptor.d.ts","../../../../node_modules/undici-types/mock-agent.d.ts","../../../../node_modules/undici-types/mock-client.d.ts","../../../../node_modules/undici-types/mock-pool.d.ts","../../../../node_modules/undici-types/mock-errors.d.ts","../../../../node_modules/undici-types/proxy-agent.d.ts","../../../../node_modules/undici-types/api.d.ts","../../../../node_modules/undici-types/cookies.d.ts","../../../../node_modules/undici-types/patch.d.ts","../../../../node_modules/undici-types/filereader.d.ts","../../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../../node_modules/undici-types/websocket.d.ts","../../../../node_modules/undici-types/content-type.d.ts","../../../../node_modules/undici-types/cache.d.ts","../../../../node_modules/undici-types/interceptors.d.ts","../../../../node_modules/undici-types/index.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","ecf5cb089ea438f2545e04b6c52828c68d0b0f4bfaa661986faf36da273e9892","95444fb6292d5e2f7050d7021383b719c0252bf5f88854973977db9e3e3d8006","241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","06540a9f3f2f88375ada0b89712de1c4310f7398d821c4c10ab5c6477dafb4bc",{"version":"de2d3120ed0989dbc776de71e6c0e8a6b4bf1935760cf468ff9d0e9986ef4c09","affectsGlobalScope":true},"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","97bdf234f5db52085d99c6842db560bca133f8a0413ff76bf830f5f38f088ce3","a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","b493ff8a5175cbbb4e6e8bcfa9506c08f5a7318b2278365cfca3b397c9710ebc","e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","303ee143a869e8f605e7b1d12be6c7269d4cab90d230caba792495be595d4f56","89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","a5eb4835ab561c140ffc4634bb039387d5d0cceebb86918f1696c7ac156d26fd","c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","4252b852dd791305da39f6e1242694c2e560d5e46f9bb26e2aca77252057c026","0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","ba13c7d46a560f3d4df8ffb1110e2bbec5801449af3b1240a718514b5576156e","6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","05c4e2a992bb83066a3a648bad1c310cecd4d0628d7e19545bb107ac9596103a","b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","dd6c3362aaaec60be028b4ba292806da8e7020eef7255c7414ce4a5c3a7138ef","8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","3114b315cd0687aad8b57cff36f9c8c51f5b1bc6254f1b1e8446ae583d8e2474","0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","af733cb878419f3012f0d4df36f918a69ba38d73f3232ba1ab46ef9ede6cb29c","cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","0a01b0b5a9e87d04737084731212106add30f63ec640169f1462ba2e44b6b3a8","06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","e07d62a8a9a3bb65433a62e9bbf400c6bfd2df4de60652af4d738303ee3670a1","bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","851e8d57d6dd17c71e9fa0319abd20ab2feb3fb674d0801611a09b7a25fd281c","c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","748e79252a7f476f8f28923612d7696b214e270cc909bc685afefaac8f052af0","9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","c3f32a185cd27ac232d3428a8d9b362c3f7b4892a58adaaa022828a7dcd13eed","3139c3e5e09251feec7a87f457084bee383717f3626a7f1459d053db2f34eb76","4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","3be870c8e17ec14f1c18fc248f5d2c4669e576404744ff5c63e6dafcf05b97ea","56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","6ab380571d87bd1d6f644fb6ab7837239d54b59f07dc84347b1341f866194214","547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","7c9ed7ffdc6f843ab69e5b2a3e7f667b050dd8d24d0052db81e35480f6d4e15d","7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","3656f0584d5a7ee0d0f2cc2b9cffbb43af92e80186b2ce160ebd4421d1506655","a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","90f690a1c5fcb4c2d19c80fea05c8ab590d8f6534c4c296d70af6293ede67366","be95e987818530082c43909be722a838315a0fc5deb6043de0a76f5221cbad24","9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","1f6058d60eaa8825f59d4b76bbf6cc0e6ad9770948be58de68587b0931da00cc","5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","50100b1a91f61d81ca3329a98e64b7f05cddc5e3cb26b3411adc137c9c631aca","11aceaee5663b4ed597544567d6e6a5a94b66857d7ebd62a9875ea061018cd2c","6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","669b754ec246dd7471e19b655b73bda6c2ca5bb7ccb1a4dff44a9ae45b6a716a","4bb6035e906946163ecfaec982389d0247ceeac6bdee7f1d07c03d9c224db3aa","8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","c82857a876075e665bbcc78213abfe9e9b0206d502379576d7abd481ade3a569","4f71d883ed6f398ba8fe11fcd003b44bb5f220f840b3eac3c395ad91304e4620","5229c3934f58413f34f1b26c01323c93a5a65a2d9f2a565f216590dfbed1fe32","9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","4c754b03f36ff35fc539f9ebb5f024adbb73ec2d3e4bfb35b385a05abb36a50e","59507446213e73654d6979f3b82dadc4efb0ed177425ae052d96a3f5a5be0d35","a914be97ca7a5be670d1545fc0691ac3fbabd023d7d084b338f6934349798a1f","8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","87437ca9dabab3a41d483441696ff9220a19e713f58e0b6a99f1731af10776d7","26c5dfa9aa4e6428f4bb7d14cbf72917ace69f738fa92480b9749eebce933370","8e94328e7ca1a7a517d1aa3c569eac0f6a44f67473f6e22c2c4aff5f9f4a9b38","d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","299f0af797897d77685d606502be72846b3d1f0dc6a2d8c964e9ea3ccbacf5bc","12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","3c97b5ea66276cf463525a6aa9d5bb086bf5e05beac70a0597cda2575503b57b","b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","a31383256374723b47d8b5497a9558bbbcf95bcecfb586a36caf7bfd3693eb0e","06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","64aa66c7458cbfd0f48f88070b08c2f66ae94aba099dac981f17c2322d147c06","11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","9814545517193cf51127d7fbdc3b7335688206ec04ee3a46bba2ee036bd0dcac","0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","b5def53ec4e36185ed1d902f5eea626806f5f687d9364b0ce88488af02b78f6e","893e25cbe72957a0b4d7a943105d9265b1c456fe48be71a25c0d5babc4aeb426","7b38482f3d7e91bfb45e58cf57fcaa6feba4105500a25aa591e743fa7e0f3a36","62e6288126ec26e97f76e8d619045cd50bbec20e5e954dca41a6669ed87ad8d5","eaacdb4bad41db8638329bfc00dd06fe27cc076c95e339b9c620f5bd38a90f5b","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","3886d8d3172043acb781c06c5b414cffc1ddac46f2ac6a930f04ffe404b7475c","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},"960cb031f3400ad4d6a57b83c2b65718e8ebc07c0b381fec5df7309651338298","6f9027a727b7bb2e9547d05cdfb70f599786a14ec3eff79f21feaae2f6f7de05","18e2bf8c59505f3706b5663bd7d25e64d07bc37323c07ea352bb7e7128889eea","751104c3193680b46f26ec32b24ed01b7a3bba99c80c676f97b414dee65fa45c","c1c841bb1c39806b59fbc60e4473f2d8b92e0db00d5c643011bdf6db7e59ce86","9553c3350bbfde4382edd917ed9871476380bac86a15460eda9549ef83ec3e2f","7022715195278608d9e11132fc304293dbc81af6a33a006840240b9c42ca61c1","39718c72bf922ae9ca2846a54f1fe5d0509ae9e0f740b52f4c6676dc5f8d3f78","45e00fa6beb57281965740b61f3c0a34bdbcf4223891eeb2ae315323176bf0ba","02fad83c188e1fa0f6747c201f986bedf0c1df85ba5dce4588f7207516a6b38e","7f7fd4a92855a4979febdd3f4fd10919254adad5f21b74a327d959a753e34ac0","60a6ef8673f2cca2060ecf7f2c36a8571036f2c6b80df39de474a7a4e7c1c3bb","748085da876ad6a56bbd2ec55ad3ede167c446921e6860cf8c39a1a389a7f1aa","b4e6a2f7f1e49b64c0d973f2b140977ca0eb81788b6af29886d5ba6c6e6224c4","999a224639a88508410f7b60428c91b269f90bab150d845c387d8b079fa9ba8d","df5132d2c92cf83f47f2c2a1c1191c43183f75c35286f7aa397fb9a407a36ed8","e8fd97d130fb12fad9870a380cea1fcdf64088e914c312e88efbbe843e41b62f","765c7734a838b3cd304a2d54750eb2be012a90fe774f45733ba764a7969cc845","50538bf5ec6000be7b5d41f0941834f6ea92700248b78050d311c0e73a537702","84114f415fef96a165e1845b66b32fcd521b31765800c6d94a317c82740bd343","66ae19962dd35fca2bac4e39a41fd1b2e620df984cccc74c96400dc47ba3cfd6","a4a676c1f946f7318319f462cd747f66102334ccb01738c64a390ca00bc04bc2","838f9a8cd470a0245d44ec5a15b899001e45d52959f1c2e6a84f082a731c1a35","53c1bf8164a5b7fd69a375d99d01f38e5da7eda4daab97cf378d58e244affee5","c9ca801d01df83a1520c594c6c06d7f7bb13948f0c26c8f9bdde60b8a2833d5c","9a2f23755f078c7d181addb1f8b8e92314bcaf0367210c057ee24417b9b12604","2f3a6bc6008caf1aae4488eb91d16dc60820e70ad803b14d25d8496157c3652d","598e50da31c95e2abce8aa7ee87b293f097b85b377169780cf627a1f78270f57","554b06af3a2a4c7a65b3d6cb606c183995a2497a59ba8dbb3ddcd627928c5862","ae87f0610e4dd5a9a92dbbaec85dfb558858bc73d9afcf23836d53eb5d97d5ce","31671d50da5eeecac48b45fde620b6128b9986d1aab1c637dba4a879bd84b85c","18a738eb8e135840f86f39e8d1434d237f2f5f74b653a404a50661c6f104d71f","c566284dd0552d7cdccc98b2e0f23455f083483184c52274bebaa352b18499e2","4e0bd925755b893b39a712a6d2c9b905e0947765d503629a4140abfb53a6275b","5b3b15675119c437379101d433faa9dd196bacc53cbabf3d4932fba22b26e55d","e03f5de89803b977b2b8a85534b2500974336942212ad7cc4da0d62065ffdda5","1da9d77beec7096b424a18c90a0c9120a1ee236ba141314e5ded348076f2354a","795f9da9937e39d036273d8f35c2f2e2d04ee6e804261129ee34462f28b633af","e28d2556d72dc58043d3313e38966b6bfebd776edc6cc26ad05425453ea4ee7c","c307db1248707f70d7400fd8f2da9d26f64377bd7f4e561322940298ae41ecd2","890d698942da5ec870012a854a81ce102c1bc7e3211d05de5731f96db350a905","d8746387bc555e9657cd9f3db0ee0b0a6757654e283b862ad6c61db03a94c7c5","b59d3b1e59ee6f26cec431d1e52d30b41ce9177bd673ebb4acf741e4b26f3ecc","0a9ef5f13fb94d67bbd4f0aec031c300a7e4c8f5d0a08f5e4ddfd7b623f28c36","84992d9a43c25ba70ac84133f99603a0d4bee65f7c4f3f2f1d24cd297f53320c","bad3693518584e85e5f66a5dc72b5af6461e915d6b8ae954f6dfddf5c269e64c","2f60c2aa879630f1cd5926f675e616d51fb3f8d35adedece39fb654fbb4ee22f","53f71f801de8b8d75707c12584775a73a2d6b49e5e09a16844e3571465bd8cb5","0e59d4ddef08cf2ec8a3642b24205da2064b15df6129a2586eb7a74961dd65a9","5c27eb9dfaf587c80baf5a07ec53c8357e7fc8200596558e41b050fcf163e6ee","cde3acf5341b96551fb4dc1bc61766f42f3e00fd6e2ec8eccfbb71245a143423","b5675d9926e44888da03b8737f7ce5118b9d17e7fdb7ad5e5c408ae4664eb511","e7f11bfe87a1af01f57ca337456de08dd902ad6f58857810cd973ea6e9dde0bd","2c2aebac5c97b14230c376624acb79b42b07b1cf1be67c3afba7a177bbc54d92","bac37c77c12ebdfdece3f7af1d2cb1d034b210034ac4c0d3993c44711b082463","182b40591d4958abb02a104aec91dc1ea84209ab52d259a4b6392b599086b4c3","34b5f203d52bcf80c6bcfcb36d48ef472b8c1bd02b39ab535b068632bbe630eb","f5a830f158e8b4da80bc94df3e6a656398fbb76ef6eb69a6e629c5f93d25c565","96de3428018b109be490fd4987fea38cf6ba93644e0b8db9a04faf8d767fdcaa","321b4817ee79d8aadfc99d97bdff57150b17ff11214a5fc713f8851687f5e163","00db9b2f03f01db2f5cb539a84d31a7a635ac62cd8b025826380b259b44d8a97","7e530c4f10654a042820318c819b53ff041a7d5395d73a733a884f9e6146561e","746f03ba08752eeb9cd9933b1cf659383fb91b2f48b9f229e5181541c469a5e0","a2d2852b2a9c4901ffb6c7c1312c0251b38c39eec63493d7c8352bcf054e5ff4","3d7cfc95aee18214c54ee4329bb68ffeba3190824258f8583090eadc50521b79","d2b75a3a3cb01f63c30123d9ea58a1b42fae0b3a672085db7529abde476a66d2","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","7de4fd84496b6b7935780c4990ceee3bf9fb136958ae44ae3b468c4ae6e15765","edf68132dc1d0294720c29d099aad5c345b60606f302717fa098ceb5d98811ff","cb40ad96c0876fbdb64af992cf18d39e44a9bf7c2b59961c5c26a7b16e4daeac","66df71a0949ed6bddfebcdec913f91dfb9792e8df5d3ffcb1e6174375851bb55","3f7fed345cdb6c484d2485d04d6ee867effa1bf7f08d26045efe5b75d59314c1","135b403c375c010a75a3e238568dae213e7b4f7395ce06e20fdb0762e52debd2","6a317d1ca8a404b5839f1fa2c9596bf448901a3ed9d9efcb987df4d0825a3f67","fdf8c044849da40075a4d2e30b7507825f564cb14d92e43c8548fae664103f11","645368c2fe1ac5981c09e6c0bd32f77d7ee68426083e629ad5c761adeea6b929","84337f858501fca1581821ea89536313cd7429d5a0101e9efc73a8820f412c81","cb0103a553a76b808e83598cece5e888622dd62bbd25d8ce9a8b00584aebbd1a","2fc4a843fb228b2b9eff011a355deee194f87da17dbb5b1bcb804911c49e60c3","d564c99b9c1524aa1c0a4f6f09ac8c74374431ea5cba46d2249a4fb474ae9e9f","b682f927a7f9608f0441393d7de0cd4d3760edaa7675c594d6cdbb6325cc9059","6b82f2b93bbe19c0558e6ecca161412e92d222a151fe0de86757921d8d2a81ce","b6e2a9e6b08e60ddf287aaccee161879ff701ab378c86c8abeed165f143827fb","a85005b3bf1d65a48397a820e5feed9583dbabcad9a64f9d3dd487a7aa6f199a","0dce32bda753cb02bd11f526bf1ad951423ddbcc66888b5ffb41c1be8488bfee","6cad1b5d0f9a4d4a78aa7057eb7150ee7e611cf060b3f1bc651e176c1cfc95e7","b208ada2f10bfa31662fff67e4e8316f701bbc5c6f998245704a3cf7f8913c96","8f5312a372d0a4fff8de7a279e846a36a1ae7b170507a4f946970e5eb9a933f8","52a1ba371282380970550a2fa0a691c20cceca38060dbf5ecb081d825c617cc0","c8675e110c917328123e429300117e88e9e153afe08b83f0dc6da39674ef0a45","9511ac172079247a50fb0ca0171ff2e1eb24e51ce7b4adfc886a170cae6a10fb","6640c8b560a26ebec2a65738e655142c17af97ded6517cf2ddd759e051e9affe","367972d627a0d269d81291c2c7c6e333f9b0bac8b2094c052ccb0bc6d4293d99","13e1f339567d29e4ff7ebb12c15850a752d93ade56e3bb7a38263f34bd943ef8","f3353899e020a3008ce12a5e95df5b3190ef711e54f07832a52e9c3d2308ffd6","5835303e99a937f620fff946574eb632a9dec657a31591f58b3e51464d30669e","01affbed22e3510df0f86ec6462e8e7b05eab56b0f16355a9b1b1468b38b4ead","f2e83890a3d205aa5532e42b431b672f55fe34817ccc8a52f14ad6f66d24a5a2","f85ad671a18d95a2666df20b6be2ea4ff4ea69117e28879844e2c2055c5e08e3","2cc89d98186d75cd694eca7915aa4104da0f9d523c06fbca038e9133bf8597a1","d6d951f4f9d908602c4863b7951c4fdf3fa3994c2576068c1b1263cd26c82bd7","6103bd4dd3138a232d9b739c2aec7321c6d173f5ef29e3258f31dd7198c01459","084b2aab7a9c0cd4777299c884348e626212f1e4610f556c5c02ab2ceaf88c1c","c5d04887a77b9b7c06fa59b282cd6cfecb4335762a431d1293d058996d358b8f","aba872f28c28564c00e7fde4ba3b33fa6daf00265af841d5f8c8f498a0e3c13d","9b7181ca9eec292c01a27468e1eee2a000ded2e8207a668bc45e4f1e629b3c99","6311e8bdd6a1d56f45af2c736879ac9c17739e4a85d4274d9c9d35b5ca51652f","23b67418f6eb3c8b5baeb0128d2f898e460e61344b06568adc42c173868c5187","e07149d2085212c991041955ed8c0faf4d843ee23056399210dbe1c5403acee8","709e8aa516d6ad79d4749f4278bb63388940a9e2284e5a447362ab56a0446d3b","14400873c3834b4f76e9900b4762d23f68ea0d16d594240ec85fe490cd0413aa","2a1044aea56fc7a5da07d8517adaa1e48efee0d8adf28e78853522bcd657de5c","f377ce881f4d02cc715f93ce2d14d26ef17070c54f4715c94a2fcbcf45067c8a","31b6849702e9cb513b985fcabacf80222c74929a75ef14e90d9d95396c9e84c3","35a6a03c270d014cb414b54be8ca446f5d3a3a9c1555fc67a78b9f9213e9ccce","cfc5ce2936a8f5270bc197515ea739a37662b05949759e9e4f6f570d8421be50","e9dc117c39f2f945d8033f4fea16c4ec75c080d5d85078686dcf774debdabb72","ee9c6d0c41aedd1adfe6e3bd8262342501aae5fe148b03bc1a17da6fe0899a52","7c27e826964f0c90754405942053ad632807ab32865189103ea66bea95b76d51","9bf44473639b58ffb42b1da16a88c02f82552beee225097f36846497183cdb8e","4d84dd59daeec91d3af0f52ffd018c20b3cb8b48026b9cf651f0dcc111f1d091","ef3b53f70452fa6ae9f564a13694b788afa65d33c3f3c12f54ad0adc04c6519f","242241c7a8f6e9b5cd9362ffdced12411ff35468ea7031edac85808bf4b55ff4","86d85d696882934f6f9210f45d97fdf933c7bc206836e5ba2b2f9e3801de8f41","29d8a1f8f91dccd7469344d82accd2682d13a44c12f4169610e2d3cff2f68401","51d41f7fe3c8c80894669cc7d40efa72948a698207d160d5038b25c38d3cac56","abfb751d1393c6a3651c76e702e85492350a7f1cb2ada1e322e08f2faf829150","e978e1e5569c91261a3cdd2d3d3a0bc8bd5f95ae0d99c2f46b8bff18de303701","ecaffd58758d23f272799b0795e2734c0555251d2fa5b3f2685a17489fab55d4","e752f0c7937f8a2a773aecb8208d6f8d5082d37f393c18eb0fd75ee53dd7a1a5","29e6c6f713fbc954973a1d68724c24df91ad28be9812513008ac3f4f12f8e89d","804267ca1025a92de8223ba035bd44a03ef6924bef643f51071bbe6521487117","a9c305b7244d2f65f3e8cbbdb0e755065b797d51a4fc3cb89f73f9964cce98a4","eba176db4fa56dbe19f1c85b13c2ab3c43186d27b28f4ae2ebf561e5526e41d0","794bfdbb92450e04a52be9a4baf6b4f4e599a63d3d1a0bd79eba56fc20e16b97","c68f613ff1661c93e79130bb090d25a9d96ea31a40240fbfb14e38182112a006","ced4d5d5111df687a3ef54dc8a5053dbecfcb37f330fe73edd960dd2ed4b2b21","c9eac51e91fb1e99a048752d8765bfadc18105954072ece2818745d24e16586d","87d924bf948149989415d4de470dc3b9122ca71dd0f139c023b1a8679399503e","d6aa294e6e7781073115c241603426751131e2827cc86db822a409d204f8415a","76e2d6b67cabb4ef56d52ff40eb4f777e0f520d3f5a6061bf1847c406180dc4b","154ec6b963ada7c5badcd9c5d09989b517b9a7e2b7236dc5e38b5208aa23d47b","82db3fd6062977de41aa53c54bc3425f10c0696484e53795c75fc5ff2ccc8f41","9caf70b7398e62315dc05d85fff4ef6d063d36306bb9261de490f7f20299285d","79f062fa6d29612016a35b2e8aaa28eec2ac07840d84e1a2638d562e64aed6d0","b844f7f29c4950807278e01117363dda59b73c59abc85dac94f40c5730ace218","8d81b208688d57472922baea6fc09754c6ea5ff651c6fc766e23e7c347109fe8","2652bc68b3114af886d008ec2b3a6a7b6cf52a11b01961aa2438cd0bae96066d","a0042fbe5d4ec246f4bc12177f272ed4623b39ef58d66db28c58c35135b8b716","4bd6ec4218f5acc7c51053274f7e5ccd63b1e13705f93c8c57c3faa09f7c1fe0","a6d40ec15a781920dd2d0e0d62584b7e2f43b23856edeb97b22a55b26ac97b36","e42104dba0dd6e749678f75ca2211a8050ac726619d693b61b764b668feb6e64","9bfcd859e9086cb3496a5d5688710b0c98cd6abb457b49e0e8058422461dacea","56532945b38e47c2093c1c6be9d868ab2fcdce7e25b783ee827a75cf471de235","718169a13069ad28bb1b9643c3da1f10375c0ecf42cb096e257dd2f21e3a9577","ad00ac4112b5d671496527823bb8770a6fcbac07946d26e9916beeda73fbfa6a","e4fdb619ba6efcc2453138f4a324ef936276daf79918d953cf6f2ef064356a9e","17a29167750fe562d5509d94e107af61bcf213f32d6830fec891573bcff3c206","e3492b5c3c342c9d6555b664e2c38ea9ada0ae070f210fc002decb68931040d3","8035fa99e700c7ef613808ce9956476b66463cdd8051f97f654123d93424271d","5b9f47dbbc5e6d2437fdf5eef77802497de22d28d6c434dc4adeef2d9234eb3f","e9b8b4495a2216f0739bf43d75601fef7c3dc34c55317617f726c122e34531c7","6353e4f461dfc2cf9bbc266b7fb5c891f63c85dcc360c0a9db5cffefe9300234","7522ee2c17432faf372bd87e93be4f3b23692ad70c9102804493c4f2385e3a88","91529ff53637b2e4c8028c4978a9d7892543d31911ab3f25a54da37a4edc1b7d","53d6e0905e8f154d29edc70a33b639872c78af1461f9193489948a4311746fde","c840514b63f3bec5b243dcfae184ebcd782aefce56331082070b496425d6a441","518a0b98a39cc9c7d37305dee9def6705a9af4c9373e6d9253fff98f1de9cb3c","ed7bf92795ff0d2daa883138cd57be6999d2894fe9aa6e3fc8a1e3c641641bf4","87d983c0cec8b9719978e4ff8508a4b6772452b6b14eacdf0fb39dfb7329a97a","819c68da8a6946cc7f83fc40c3bfb43b5eab4197524ac19795df636001573a5a","6f2295fed907a376d4ee8c38171d3ebbc7a6e80ecadcc0f717ed8a2a09862e09","47de7b6f736ad5af3b91236bf2c13052c59558905617824a0705cc87c2095f37","513c15b93b9291e14388fc3f4f0aa60201451e6d1d50dce33863f85b470c0b5e","16537dd0925252b32c0b5d15c6cbe1858d65362789590b387a0b5224f5b20431","94fd9ae7462bdf678fc7aeac2f2d0f73f32af17e6ce39442d442d9fddeef40f3","9765700edffb4fa13dcd20c698fc7c8146b92bb12602262249c6c77299b889de","1957885b0c46a0bff13ebb00a74ce8414b54b0bdc22ed601a7c4e1b75456e16d","d0b22fe02ee4a03e5f727bfe32d6f7a6b6dd01b99b07b67827c2a5b18b5901db",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"23535145f9728e2e44108c97d10167ea46cc8083efac51759ea698c97149a523","signature":"2ead5fc5c1e0e88b6c4a470afe33c9ba5d2e91607b4dc3eede0bef07c5925171"},{"version":"dfd789169304004313e72c6993ca05745b7d819c8b33a5be3ed53d18532a55aa","signature":"67e5a24659c05e1ebad79fc2b65656d8e1c44a37b2495315667ded31d7103979"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"2013ee89be0a3b61022b027be46f8f453d184c0fedb993d9b0d8a821e538c141","signature":"5f8317406eceb7153c02894bb5f64bf8736b4c07c6f12a2da44266aead8e18fc"},{"version":"9ad38ec8955d9caa6bfccb9f00dcdb33ad6d49d0343bd9b283139959456d1c54","signature":"a73911d2bb0b08899bbbfd095a331f98beaabf845d5d7090fc951aa19e453d4b"},"ddb5a49f97568ecc26fbac1298ca3812f9de0e03509a82bc1b33723025c098bc","efc02e85c6eaf33d4d74a0b8b578fef162b86288bfc2df0722044cb70802bce3","c950781189958b455c8246281565bdcb00d479c8bc37dc1e73ae4d5b28d0b3b6","5e91d66472c585eab339380c40a899f64f447d695fe7c9126d343855f2733bb4","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"41ad2a2f20ff38acd44f228f54ddcd0af9e5214c41f32185f3c6d9bdc8f3ef6b","signature":"f2093ee91ebe427e8d7ad9d7fa9702f6fe1188cd61c43b4a0935f29cf20c670b"},"33901d96bb7cf4fb7cacb192d44d050e284e8df5f6aa74915f7c061639284730","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","4bc68cdbc31d54bb3e716cc3a15c06ac2454421fd46c939cd4cf08040d792e2c","42db64778549d9eea8712ee5fd9d0ef4866fb31595c30b944322bca528082975","936ddaec15aaecfdc331a980cc921759da7370d9771d7ce3b3806731c6218ba1","2a4091c140e5e02c7d10ba077d7cf4a5b8a887d3b04dd03e5da4839906975c6f","ec0234f92b5203fc7c87c38a1313e7ce3ae3c1ef1f7a5302727215f55418f044",{"version":"89b68c57edf87f18277bfd94e62abdc12963f0a6ae3f8c2f42201e89d0b0f506","signature":"8bc11d5c867731c81d83b59758b3db8c64deb18e5137f08c3ee3407509422e99"},{"version":"079118fc95162c8be1bf98675a6b018efdf0ddbd5d6ce712ef8c58fb10e97288","signature":"8142659c59d36e0256cea72b0b6a2a81c5a3abe3af1028afe569ad66d423bad4"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},"d4cfe2125ce0b3ae3f8a643c019a5666ae1ece7717d60bc8b6e3d598d92092e7","f92bf66d462b93f6c0aa9e1cf63eaf3ae9c2549e8af21f4f2f1552355d82eb9a","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","6d575d93896c413b308c3726eed99ddd17e821a00bdd2cc5929510b46fe64de4","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","f7b87dc72c7b211391ca36fb8a4ebeaf5c484395d221819ce2a445f0de82c6ae","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","e8c9250d1cd96bae5462581d3a5fd304cbc569396fa9e45170465ff6db9ade4e","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","90d0f2cc5ab00bc5c21e6e237ded7c93f66bf4dedd39c742be4d232d1040f38e","ad1c088f8c6c6c30ee4e593fb6ec2952d7961a961958e09d0ee09d9921efef47",{"version":"f908b84d4fd29f4a08b260513a2cbc46500278312cda33ae49f3294ac1d719ff","signature":"090afbd3a9cfd1a72a31ece5bf7173d6663baf7ed68c5aa9a066e56d63e61519"},{"version":"ed9765467e03bfed2941651fbceec3f4213f4b39d399bb9537cf441d2737a811","signature":"c59ffd6e72ef95d294e89aec6768de7d1a3add1dd15a1e00ef63ec5bbf90a74c"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},"59ee6bdd7481beaefaea07c3b06544ab7c00b9d509a2af4bcfaec056bb575510","16d06a3800ba3ad038c0ee16ee03b84f6db70fd6f52f554af855bf8db3e0f992","325c96dab038d44854b1a1d34ebf90528e84a1383996c6501b4c8f96e0c4248b","d2dd326751712387113a833779c704eeec0de0617605f8e0b3b7a67a3885ef56","8eba4028f4ba8b022efbe373cb9ea6a69735682dedc2c447cc8c1c146fe13b64","1ddc23d7c998046e639dfdad09fd25f3383e3bf73dee35644e95e423a6d0a61a","88824db4ebf4f58420d446d62177d51a87e417521dab328e55cd0fd7f706c8c3","1030ff3313ac8b40d6a16648903ae9afbfb27ead9ca14e7eb7bd8a53bfe47813","d07fefe621908efcb04d62afe9b2e540ddf5bec0a33ba17ed847f91091b5d45f","9eb0273b09af3feecdcee2ca8e474e42040f95b15a4a7d88189fd2aaba3ea3e9","a34166c236bcc21123e21ea7e3c874eeceda6ea1425ce216e1b64655da45ae2c","2c6244e59a4e4c46bf11e8276174c7132584881353600f3f01393539ed322c74","904cda384fde0d498052207cce4703102e2f8c4033a7c3dbc8873d88a20f3319","b19253e9e5e4ba7b5c80d30796baff2c0ac96b1fcc8540b9dcd1ab272f5b13a5","cc8347021f17a53fddd7765ecb582969d6ce5371b1f42d4613561fa6a253ba40",{"version":"1a6c52f0f0c36a050e67b2e2ae5359250adb1f9a12cbe5a8a4c4a82afcef7eb7","signature":"6d3f2f327e5cd7cca55ca4f68961f7f9af337d20a77bc7c212b82d1fd8e0c33a"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},"73e2ec7640e76aa31278e78a58fd33099f7e3e818856dc9ebefaa775856cceb5","63eb8674c85696349efd9f11d877947d7acb45faaa93f81ecb6e037e7b09f0d5","faf5d0ccaa82804d57d5ebb35d4543eedba3049b16efc3bc58a3eea72b1f3372","778ec97732f660865d3fc7019071a5ffbc83e3bac0a798500540e4c28d21864a","ce5a3e6db4c03cdea4f81bb90eff65e0cdddb13736a29f8679d899871860933e","12e1bddf972627d68f3012789a6cfd713165b37dc088dd48fd1d313293b65e57","721523241276594a39834c18252fbb16f934a936fb8b54b2b1ffc883b24cd0ba","f31b26372e21698d6bfb867cd75a9152162829331ba2e9e514a19c466714ede5","4bdb7daf5e5fe4e237e6f49ec48e0e8382aee3f54d194b25d2ae877144006d8e","6fd83c8235798a666ff3ee3ed342d8b2b7a2dda0562103d64c8a647c25c2743d","fdfe83f90c0e57b86b29cc83b4a629c602d7eed02aacb9e9e61aa13df571f321","7209ee24c679a9032c6431442e1f5caac5cd64c14bb8895fe23cbf44c1b86067","65bf86e54b59127e06ccb683f4ba4f671b37b5784770d837101786f87faec926","b0e154d98c20e146d0620793797dc7cd6e15d94f7a4cc884983c27f6f39176c4","32453d28481583f05ba76b9591a8ebd1ea8372b4391c6386dd867c9478888f73","ec59fa93c574c677216578189c8f99b9fcff5204ead415685f458c5ba743e112","83112af2a9d695bf46839634513e015c6fccfe1db6284d1eb0193172b0266355","99c0b3218137396ffe04ea835f87fc23ad25320dde985e0187e22b47fccfda03","605114aa6bd7deaf13e2b55aeb33fbb5afea556f51f3044cbe1f7c95308f60a4","59c81257d8f23e483b13ca0cfb3df569b2a6a2905198863aa6e9945feccd102f",{"version":"19a2c883dfa256fb524df8443cbaa62ff9cb6f61c22689a8a072592eab900a4b","signature":"04bfa40ae0806e8260f8719a598b7c4ab461179627f517936b7e348d0c442a33"},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","c16c13a0189f82dee7cce2acf941d2738cf1852d47c300d07e7dc4b464cc04dc","17054cf412890510c036c5495b0837ff2d600fc29099d09051bf92c3b4ad1702","b5e87f103ada5998f6ee24d04ad2abf07b0ee535199a55faad0e13e7aa5c8674","c00861f75aadd4fd76127dc04f7f894b2a37adc0b91ac40219191254d06e733c","275b844b7b100f97eb25872c88f46358667a0fa0c0a230b12b62eff8b9948832","3e2fcf03d0044927b0b555a4cab9081b90f3bbe60681cbfef2f4a0bbef83bf31","95a91bb8223990c28d7c40488a04e7f23534144fafca5847ceabca73f45a43f8","91f1297c4e2d125e15f8d8e80cd5e1bc9e42680c8460858b0bcdab5ab742a767","2b21dad9312e0b95c09501a660a47ed76add42bed1ee112d26d101720bbb7f1a","472175d34406d46f8f3d948aadc4a624edd814e189c41e86d31f062f695a482a","dfe05c9f5ef79d34fa2f39929f1e179033ed359c7a3d0bb109bf9e11a0f21967","6856190ee5523a3cd64c3cd14631692aea18bb6143ebf4b803eb84975d43ec80","15dd5c3001951cd240d14c2fbc586bc550ac4c56a23dfa8c632e4245058e7816","5caa0a6ca5bd2c00150c4e6cfe3cd8ae07425feffb6ad52a7e25fba7f300d307","fdfc3730e24c3ceab7a789aed475d15ac352fe16ac87bf21a35de0a246a04b3f","76902ffb6f27e72a39e6a164d2b4e8eac9590107fca449ccaaf11169dab4bdcb","026f6518c616f731e247ba4fe539168826b1208954daed5356fa05d4409086bd","9781734336a2935f238a4034c0d8b49806af009f367a52be51d5538c44301a8f","37d48cd9d091ae6c2d08e03afcc9aef5995678e491163f057039dd05f5f8a70f","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"c4214bf3b5a31bb6e70612026aef58223bb22caad41cc0d97e3f3c62be91f97e","signature":"e4b8c4d78139697af3e01fc22180621d76375be786473818948a6d8babb0e6eb"},"825e8490d773a317ecb12a06778787425e79c8c2bfcd9bb388be134ec8d12939","8197e2ba0f0c8987ff8b92acba34e0d6a67ac664f3ab00a3c359f63b6f6b1c6b","5234f16d732f931d55d8e3c49124251d5056c5f5b7db8d09c91815e3c564fd55","44467639d7d246fb4752b07940368e46cb031926d28d0a7f5fe9e23bad85dc55","7e5f83110c65a9389df86eab6f646bc31913aef27f3a172e929e649fe5d974bb","b12922b2e2611d50b2d636536ca00e80be69ff076345f062255bb0a56fcc2c8e","504ee5e75fd993edf85f395af9112a82e117f92bd9b8c9564f09cf499650f814","2b54e6d66bf878b905232df85024ad70802aaf579915b13f116e4d7775a93673","d9e89e46062625ecaac59a4a8b6d2b640a1a7948cee211a49b71e914dd107682","d3e3b9fc932d164a8b82389770390acc15156d56945600d14ebe017a2734057e","833f653e70ed6bfc4ba4eae0070b973b5bad2e80d44c9d51900f04348c0090a2","5eb1c61dea908936c3b180ceefc49d0c816ee16f3046dc87cf803e07208b03c8","30a54f565fa51efc512334072ca87e05efdb4fd739ea631a36aa67e119c50296","f1a82a292a32e92fa9bf1282f1d4720e6020d9c7f739864bb5994a1fca681b34",{"version":"ef3e22b998cb08eec599a5e6e20552d1b936fc5e85606e582232f50ebf354fe5","signature":"96e4715c074efa350b0b7042a3fd1474f6f2338a44fe8b31994f0a4340bc36b2"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},"6640569c9011567082002d1b3a9f31f2060be4d5c2b1122d9fb9c9515379b3e5","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","0fb5f92b06b5f12dd016112f23297eed62846178f5b96fdf4a6a6755b40d3347",{"version":"6e9954cc6a9fcced1e9c86b1441da9fc74ad34161aecd8cc424d06ec2cf84b0b","signature":"649c7842ebd7c1aa7a96481da5f3f9ec6f73cdab1fccd59a56c71e21611c87c1"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"7d2e5f81add6daf1face0b7ef587caaaa8430271cb272d8509cccf9800ee22ac","signature":"9e473bdf2d7c4a758fba22b9ba238d237618952704e84670780b32ac3651d621"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"a01632e8f31bbf6f14ec498a7c2a9243535922149f370e72ce40a1068904cb20","signature":"9acb35e77f71361834673ba1849f0bb1382b2e4927d94828d8d206a8e36b48f7"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"668723432907760a4ccdc27f4db88008ebafddb339472e8d339d3dd128936634","signature":"0caa318d33ae7fa9fc020bfd0c356fb62c1796949a9154432bee78abbad6ff46"},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93",{"version":"29effe41c97b91d56e39b2b603bd3176d4788c395fd37e4d81957a5249ff793b","signature":"ba5a897523a8be6cc48f38f0d89b7de22b1b94630fc2971da1385c85077fd5b0"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"8b7844ce078c7ea39672a05c6cb3c84b3f84664385506af6bdeb10c1ed790abe","signature":"068ff0dba2e41ce777663eca2dc6b0ff5baf0f3a4e5dab282c6ac9063e3cde27"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"c58aad6ecc8cf1460634f90edebe5aec76454c9a305bd2dd484e4705f8e46872","signature":"a0973f19104be1630cd080cccf0d04c28d2d13e22bbd97810b65439004c13c4e"},"bb49224e9d23a5474d858ee9bf3b3ea72550c5cbb14afb8340c0f9c07969bdeb","1985d4aa5c955ac57bd09166907be5c9b82809f3d032a8fdc54d329c7344310f",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},"1fdc5bbca45e0552ed1ef10c613fc4190267d97deaafaebb1abe4b352861904a","14d7349b55cf5a96f89fa8b9c797163364dfd12b6e691f58e61a9955acd7eae0","1c8662b9cfae165f4c6c7aa8dca2312cfa7bb08338befefd640198c790d0a8e4","f0258897152fc6e64ad7e30c053382bae5baef3163babb122667c4d2f731bbd6","17c6c25ce8c4bd5fd6d87a6edff26295036b09a7b62a083108fb783eaaf170a6","226ed07f2efb4bd10867e9be535c88be4a8353583870ae97cd54059fc7b56e00","5f3ac0903b0a5d595c699dca092dbd0a4aaf3b293e1fca60d9cb09ba6f7104d4","a1922dc3e6cad913a4490d3ae907cfacdd56278d8e2b76eeda378421f7796616","81e162becaff472ee4fefa8d29451d2e29676c1f60a818406b70c459c5debe9b","1f86bb5ef730793b1c5caaac5934406e0ae1d2387b091d33a0842063b775b04b","46a9a5c3893492ecb7b0a9d83c581be6bb8ffdc3afd7c08b7c7e6b0b8f2ec675","156ac97631e1f8a8810001a6a9074e788ea6db90d6667ef3389fbb135a3df8cd","5c65fb2b9f66c7a231a263d0ac44402d43ed4f3c4e4ce37af56d4247627e42a3","e1ba70bfbdbe97bdb221ed4c4c6469c004783d92c32d1b6fa67fdfee029269e5",{"version":"331fc4dc81ecc5160683a7cf2aed21802a464bc7d3b5380eddcdd394fbd558ad","signature":"f3c7d15c2546e6cdfe4a1e85f552443c4dc03202485c656eb9af9e7ad1087ef1"},"2112a827d0e306a67121d103fce4a3692661c1c4fbadf49a7b6a0bfd6cbf6425","f9f4cf7ba02e87f8af6629aad0e06cd006100fca4e978a7d4b8b00ec54df19b8","53d1b5359242b6ff9e61e6d95852e0020bd2460d3df1938590c59ef938cd4db9","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","3e51224c7d5f5f311c3b7d929b960a83c4c53a0f5d83737b0d007c30d8602030",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"408316438fc592ee6ca29e355c7d151d93e425fdd047be49c45799e407ff052f","signature":"f5667d07a6a5436b0dcada54ca0dc15ed4f7ac0c294dd18d7bbf8374823ce0a9"},"46640b0e2566650f3d9596a0492413b88491b1f781589e956114dae5c0b4881c","ae22cfe69fa2ec99f9ed7c1b46a3235e6045c3260f2c369c0667e46375ff111d","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","7d76df49fdf97a061da88cc5b620c9070591d58b7c91b8a2f3a4cee14477fcb0",{"version":"187f8eb60ad38d6154426da013f33ee48e8bf82b86d77dd2368970b8106bc8f0","signature":"776e8ea041798d892337df5348635cfcbc1fe9bad68b87d2a8a6f6cbacbbd72b"},"185b2a171da126f5c6c53ce0812588d3ba46575eeba352368c5414b6e5c0f1de","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","117a84d932a99b9bc447650471989758374f9cf19ce061574e7973ca3897b23c","efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","f1ace2d2f98429e007d017c7a445efad2aaebf8233135abdb2c88b8c0fef91ab","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[60,595,596,[600,602]],"options":{"declaration":false,"declarationMap":false,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSourceMap":false,"inlineSources":false,"module":7,"noEmitOnError":false,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noPropertyAccessFromIndexSignature":true,"outDir":"../../../..","skipLibCheck":true,"sourceMap":false,"strict":false,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","useDefineForClassFields":false},"fileIdsList":[[251,278],[251],[249,251,252],[249,251],[249,250],[251,254,461],[251,252,253],[251,253,254,462],[249,251,252,254,256],[453],[251,499],[251,503,504,505,506,507,508,509],[251,499,505],[251,254,499,500,501,502,503,504],[511],[251,254,499,507],[251,499,500],[500,501,502,503,504,505,506,507,508,509,510],[499],[496],[603],[639],[640,645,673],[641,652,653,660,670,681],[641,642,652,660],[643,682],[644,645,653,661],[645,670,678],[646,648,652,660],[639,647],[648,649],[652],[650,652],[639,652],[652,653,654,670,681],[652,653,654,667,670,673],[637,640,686],[648,652,655,660,670,681],[652,653,655,656,660,670,678,681],[655,657,670,678,681],[603,604,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688],[652,658],[659,681,686],[648,652,660,670],[661],[662],[639,663],[664,680,686],[665],[666],[652,667,668],[667,669,682,684],[640,652,670,671,672,673],[640,670,672],[670,671],[673],[674],[639,670],[652,676,677],[676,677],[645,660,670,678],[679],[660,680],[640,655,666,681],[645,682],[670,683],[659,684],[685],[640,645,652,654,663,670,681,684,686],[670,687],[453,454,455,456],[249,251,261],[249,251,265],[296],[268,271],[256,274],[256,273,275],[249,251,276],[278],[249,251,279,282],[259,260,261,262,266,267,268,269,270,271,272,273,274,275,276,277,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295],[284],[251,252],[271],[249,251,291],[290],[343],[342],[302],[301],[251,252,297,300,306],[309],[307,308],[249,251,252,265,278,297,300,310,311,329,347,350,387,390,393,396,399],[401],[387,400],[251,252,265,297,311,312,315],[317],[312,316],[251,252,297,485],[488],[486,487],[249,251,252,265,278,297,300,310,315,347],[517],[515,516],[249,251,252,265,278,297,310,329],[521],[519,520],[494],[493],[328],[326,327],[251,252,265,278,297,300,311,333,337,338,341,344,347,350,353],[251,297],[355],[338,354],[249,251,252,253,254,265,297,300,310,347,430,536,539,543,546],[251,253],[548],[536,547],[251,303],[369],[368],[372],[371],[363],[362],[375],[374],[378],[377],[360],[359],[408],[407],[411],[410],[573],[572],[398],[397],[314],[313],[349],[348],[389],[388],[392],[391],[395],[394],[528],[527],[423],[422],[426],[425],[525],[524],[429],[428],[352],[351],[414],[413],[420],[419],[417],[416],[305],[304],[346],[345],[484],[483],[432],[431],[545],[544],[366],[251,252,265,297,310,311,321,347,358,361,364],[358,365],[320],[251,252,265,311],[319],[481],[249,251,252,311],[480],[577],[249,251,252,256,265,297,300,341,364,379,574],[575,576],[542],[249,251,252,297,300,315,347,485,526,529],[540,541],[336],[251,252,278,297],[335],[580],[249,251,252,265,278,297,300,329,347],[579],[381],[251,252,265,297,300,311,356,357,367,370,373,376,379],[357,380],[538],[251,252,297],[537],[588],[587],[299],[298],[251,252,265,297],[332],[330,331],[251,252,265,297,306,330],[385],[383,384],[251,252,265,297,300,311,383],[323],[322],[251,252,265],[436],[334,434,435],[249,251,252,265,278,297,306,310,311,315,321,329,333,334,356,367,382,386,402,406,409,412,415,418,421,424,427,430,433],[584],[582,583],[251,252,256,265,297,300,341,390,393],[477],[475,476],[531],[523,530],[249,251,252,278,297,300,315,347,485,523,526,529],[447],[445,446],[251,252,265,297,300,311,445],[340],[339],[405],[403,404],[251,252,265,297,311,315,347,403],[264],[263],[61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,180,181,182,184,193,195,196,197,198,199,200,202,203,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248],[106],[64,65],[61,62,63,65],[62,65],[65,106],[61,65,183],[63,64,65],[61,65],[65],[64],[61,64,106],[62,64,65,222],[64,65,222],[64,230],[62,64,65],[74],[97],[118],[64,65,106],[65,113],[64,65,106,124],[64,65,124],[65,165],[61,65,184],[190,192],[61,65,183,190,191],[183,184,192],[190],[61,65,190,191,192],[206],[201],[204],[62,64,184,185,186,187],[106,184,185,186,187],[184,186],[64,185,186,188,189,193],[61,64],[65,208],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],[194],[614,618,681],[614,670,681],[609],[611,614,678,681],[660,678],[689],[609,689],[611,614,660,681],[606,607,610,613,640,652,670,681],[606,612],[610,614,640,673,681,689],[640,689],[630,640,689],[608,609,689],[614],[608,609,610,611,612,613,614,615,616,618,619,620,621,622,623,624,625,626,627,628,629,631,632,633,634,635,636],[614,621,622],[612,614,622,623],[613],[606,609,614],[614,618,622,623],[618],[612,614,617,681],[606,611,612,614,618,621],[640,670],[609,614,630,640,686,689],[59],[59,182,251,252,256,443,451,458,470,471,472,473,532,586,589,591,593],[59,251,569,598],[59,251,253,254,256,441,444,462,471,472,568],[59,256,459,473,490,550,555,557,559,561,563,565,567],[59,251,252,310,311,318,321,324,356,472,533],[59,249,251,252,256,297,310,441,443,472,498,578,581,585],[59,251,252,256,472],[59,251,256,472],[59,253],[59,249,251,252,256,310,311,318,321,324,356,443,444,448,450,451,458,472,478,479,482,489],[59,251,252,256,310,311,318,321,324,356,443,444,451,458,462,472],[59,249,251,252,256,310,311,318,321,324,356,382,437,441,443,444,448,450,451,458],[59,251,252,256,300,310,311,318,321,324,356,444,448,472,478,479,482,489,495,497,498,512],[59,251,472,533],[59,249,251,252,253,256,297,310,311,318,321,324,356,437,441,443,444,448,472,478,482,489,495,513,533,535,549],[59,249,251,252,256,297,310,311,318,321,324,356,367,437,443,444,448,450,458,472,478,479,482,489,495,513,533,552,554],[59,251,252,256,310,311,318,321,324,356,437,444,448,478,482,489,495,513,552],[59,249,251,443,444,450,472,479,513,533],[59,249,251,297,443,444,450,472,479,513,533],[59,251],[59,182,249,251,253,466,468,470],[59,249,251,253,441,443],[59,249,251],[59,249,251,253,437,441,443],[59,249,251,252,443,464,471],[59,251,252,256,310,311,318,321,324,356,367,437,448,478,482,489,495,512,513,518,522,532],[59,443,457],[59,440],[59,254,594,599],[59,253,254,462,569,594],[472],[249,256,297,443,472,496],[256],[256,443,444,450,472],[256,443,444,472],[251,256,443,444,450],[256,472,496],[297,443,472,535],[256,297,443,444,450,472],[443,444,450,472],[251,297,443,444,450,472],[249,253,443],[253,443],[249,251,443,471],[457]],"referencedMap":[[461,1],[278,2],[253,3],[252,4],[251,5],[311,4],[462,6],[254,7],[598,8],[256,9],[456,10],[454,10],[455,10],[500,11],[510,12],[501,11],[506,13],[505,14],[512,15],[509,16],[508,16],[507,17],[511,18],[502,19],[503,2],[504,11],[499,20],[497,20],[498,20],[603,21],[604,21],[639,22],[640,23],[641,24],[642,25],[643,26],[644,27],[645,28],[646,29],[647,30],[648,31],[649,31],[651,32],[650,33],[652,34],[653,35],[654,36],[638,37],[655,38],[656,39],[657,40],[689,41],[658,42],[659,43],[660,44],[661,45],[662,46],[663,47],[664,48],[665,49],[666,50],[667,51],[668,51],[669,52],[670,53],[672,54],[671,55],[673,56],[674,57],[675,58],[676,59],[677,60],[678,61],[679,62],[680,63],[681,64],[682,65],[683,66],[684,67],[685,68],[686,69],[687,70],[457,71],[261,2],[262,72],[266,73],[270,2],[297,74],[272,75],[293,75],[275,76],[274,77],[277,78],[279,79],[280,78],[283,80],[296,81],[285,82],[286,83],[287,84],[288,75],[273,2],[292,85],[291,86],[295,86],[342,83],[344,87],[343,88],[301,2],[303,89],[302,90],[307,91],[308,2],[310,92],[309,93],[400,94],[387,2],[402,95],[401,96],[316,97],[312,2],[318,98],[317,99],[486,100],[487,2],[489,101],[488,102],[515,103],[516,2],[518,104],[517,105],[519,106],[520,2],[522,107],[521,108],[493,83],[495,109],[494,110],[329,111],[328,112],[354,113],[338,114],[356,115],[355,116],[547,117],[536,118],[549,119],[548,120],[368,121],[370,122],[369,123],[371,121],[373,124],[372,125],[362,121],[364,126],[363,127],[374,121],[376,128],[375,129],[377,121],[379,130],[378,131],[359,121],[361,132],[360,133],[407,121],[409,134],[408,135],[410,121],[412,136],[411,137],[572,121],[574,138],[573,139],[397,121],[399,140],[398,141],[313,121],[315,142],[314,143],[348,121],[350,144],[349,145],[388,121],[390,146],[389,147],[391,121],[393,148],[392,149],[394,121],[396,150],[395,151],[527,121],[529,152],[528,153],[422,121],[424,154],[423,155],[425,121],[427,156],[426,157],[526,158],[524,121],[525,159],[430,160],[428,121],[429,161],[353,162],[352,163],[351,121],[415,164],[414,165],[413,121],[421,166],[420,167],[419,121],[418,168],[417,169],[416,121],[306,170],[305,171],[304,121],[347,172],[346,173],[345,121],[485,174],[484,175],[483,121],[433,176],[432,177],[431,121],[546,178],[545,179],[544,121],[367,180],[365,181],[358,2],[366,182],[321,183],[319,184],[320,185],[482,186],[480,187],[481,188],[578,189],[575,190],[576,2],[577,191],[543,192],[540,193],[541,2],[542,194],[337,195],[335,196],[336,197],[581,198],[579,199],[580,200],[382,201],[380,202],[357,2],[381,203],[539,204],[537,205],[538,206],[589,207],[587,83],[588,208],[300,209],[299,210],[298,211],[333,212],[332,213],[331,214],[330,2],[386,215],[385,216],[384,217],[383,2],[324,218],[323,219],[322,220],[435,2],[437,221],[436,222],[434,223],[334,114],[585,224],[584,225],[582,226],[583,2],[478,227],[477,228],[475,205],[476,2],[532,229],[531,230],[530,231],[523,114],[448,232],[447,233],[446,234],[445,2],[341,235],[340,236],[339,211],[406,237],[405,238],[404,239],[403,2],[265,240],[264,241],[249,242],[200,243],[198,243],[113,244],[64,245],[63,246],[199,247],[184,248],[106,249],[62,250],[61,251],[248,246],[213,252],[212,252],[124,253],[220,244],[221,244],[223,254],[224,244],[225,251],[226,244],[197,244],[227,244],[228,255],[229,244],[230,252],[231,256],[232,244],[233,244],[234,244],[235,244],[236,252],[237,244],[238,244],[239,244],[240,244],[241,257],[242,244],[243,244],[244,244],[245,244],[246,244],[66,251],[67,251],[68,251],[69,251],[70,251],[71,251],[72,251],[73,244],[75,258],[76,251],[74,251],[77,251],[78,251],[79,251],[80,251],[81,251],[82,251],[83,244],[84,251],[85,251],[86,251],[87,251],[88,251],[89,244],[90,251],[91,251],[92,251],[93,251],[94,251],[95,251],[96,244],[98,259],[97,251],[99,251],[100,251],[101,251],[102,251],[103,257],[104,244],[105,244],[119,260],[107,261],[108,251],[109,251],[110,244],[111,251],[112,251],[114,262],[115,251],[116,251],[117,251],[118,251],[120,251],[121,251],[122,251],[123,251],[125,263],[126,251],[127,251],[128,251],[129,244],[130,251],[131,264],[132,264],[133,264],[134,244],[135,251],[136,251],[137,251],[142,251],[138,251],[139,244],[140,251],[141,244],[143,251],[144,251],[145,251],[146,251],[147,251],[148,251],[149,244],[150,251],[151,251],[152,251],[153,251],[154,251],[155,251],[156,251],[157,251],[158,251],[159,251],[160,251],[161,251],[162,251],[163,251],[164,251],[165,251],[166,265],[167,251],[168,251],[169,251],[170,251],[171,251],[172,251],[173,244],[174,244],[175,244],[176,244],[177,244],[178,251],[179,251],[180,251],[181,251],[247,244],[183,266],[206,267],[201,267],[192,268],[190,269],[204,270],[193,271],[207,272],[202,273],[203,270],[205,274],[188,275],[189,276],[187,277],[185,251],[194,278],[65,279],[211,252],[209,280],[182,281],[195,282],[621,283],[628,284],[620,283],[635,285],[612,286],[611,287],[634,288],[629,289],[632,290],[614,291],[613,292],[609,293],[608,294],[631,295],[610,296],[615,297],[619,297],[637,298],[636,297],[623,299],[624,300],[626,301],[622,302],[625,303],[630,288],[617,304],[618,305],[627,306],[607,307],[633,308],[601,309],[570,309],[594,310],[255,309],[597,309],[599,311],[569,312],[257,309],[568,313],[592,309],[593,314],[571,309],[586,315],[566,309],[567,316],[562,309],[563,317],[469,309],[470,309],[467,309],[468,318],[474,309],[490,319],[460,309],[473,320],[258,309],[459,321],[492,309],[513,322],[564,309],[565,323],[491,309],[550,324],[551,309],[555,325],[560,309],[561,326],[558,309],[559,327],[556,309],[557,328],[553,309],[554,329],[465,309],[471,330],[449,309],[450,331],[590,309],[591,332],[325,309],[444,333],[534,309],[535,331],[463,309],[472,334],[514,309],[533,335],[452,309],[458,336],[439,309],[440,309],[438,309],[441,337],[60,309],[596,309],[600,338],[595,339]],"exportedModulesMap":[[461,1],[278,2],[253,3],[252,4],[251,5],[311,4],[462,6],[254,7],[598,8],[256,9],[456,10],[454,10],[455,10],[500,11],[510,12],[501,11],[506,13],[505,14],[512,15],[509,16],[508,16],[507,17],[511,18],[502,19],[503,2],[504,11],[499,20],[497,20],[498,20],[603,21],[604,21],[639,22],[640,23],[641,24],[642,25],[643,26],[644,27],[645,28],[646,29],[647,30],[648,31],[649,31],[651,32],[650,33],[652,34],[653,35],[654,36],[638,37],[655,38],[656,39],[657,40],[689,41],[658,42],[659,43],[660,44],[661,45],[662,46],[663,47],[664,48],[665,49],[666,50],[667,51],[668,51],[669,52],[670,53],[672,54],[671,55],[673,56],[674,57],[675,58],[676,59],[677,60],[678,61],[679,62],[680,63],[681,64],[682,65],[683,66],[684,67],[685,68],[686,69],[687,70],[457,71],[261,2],[262,72],[266,73],[270,2],[297,74],[272,75],[293,75],[275,76],[274,77],[277,78],[279,79],[280,78],[283,80],[296,81],[285,82],[286,83],[287,84],[288,75],[273,2],[292,85],[291,86],[295,86],[342,83],[344,87],[343,88],[301,2],[303,89],[302,90],[307,91],[308,2],[310,92],[309,93],[400,94],[387,2],[402,95],[401,96],[316,97],[312,2],[318,98],[317,99],[486,100],[487,2],[489,101],[488,102],[515,103],[516,2],[518,104],[517,105],[519,106],[520,2],[522,107],[521,108],[493,83],[495,109],[494,110],[329,111],[328,112],[354,113],[338,114],[356,115],[355,116],[547,117],[536,118],[549,119],[548,120],[368,121],[370,122],[369,123],[371,121],[373,124],[372,125],[362,121],[364,126],[363,127],[374,121],[376,128],[375,129],[377,121],[379,130],[378,131],[359,121],[361,132],[360,133],[407,121],[409,134],[408,135],[410,121],[412,136],[411,137],[572,121],[574,138],[573,139],[397,121],[399,140],[398,141],[313,121],[315,142],[314,143],[348,121],[350,144],[349,145],[388,121],[390,146],[389,147],[391,121],[393,148],[392,149],[394,121],[396,150],[395,151],[527,121],[529,152],[528,153],[422,121],[424,154],[423,155],[425,121],[427,156],[426,157],[526,158],[524,121],[525,159],[430,160],[428,121],[429,161],[353,162],[352,163],[351,121],[415,164],[414,165],[413,121],[421,166],[420,167],[419,121],[418,168],[417,169],[416,121],[306,170],[305,171],[304,121],[347,172],[346,173],[345,121],[485,174],[484,175],[483,121],[433,176],[432,177],[431,121],[546,178],[545,179],[544,121],[367,180],[365,181],[358,2],[366,182],[321,183],[319,184],[320,185],[482,186],[480,187],[481,188],[578,189],[575,190],[576,2],[577,191],[543,192],[540,193],[541,2],[542,194],[337,195],[335,196],[336,197],[581,198],[579,199],[580,200],[382,201],[380,202],[357,2],[381,203],[539,204],[537,205],[538,206],[589,207],[587,83],[588,208],[300,209],[299,210],[298,211],[333,212],[332,213],[331,214],[330,2],[386,215],[385,216],[384,217],[383,2],[324,218],[323,219],[322,220],[435,2],[437,221],[436,222],[434,223],[334,114],[585,224],[584,225],[582,226],[583,2],[478,227],[477,228],[475,205],[476,2],[532,229],[531,230],[530,231],[523,114],[448,232],[447,233],[446,234],[445,2],[341,235],[340,236],[339,211],[406,237],[405,238],[404,239],[403,2],[265,240],[264,241],[249,242],[200,243],[198,243],[113,244],[64,245],[63,246],[199,247],[184,248],[106,249],[62,250],[61,251],[248,246],[213,252],[212,252],[124,253],[220,244],[221,244],[223,254],[224,244],[225,251],[226,244],[197,244],[227,244],[228,255],[229,244],[230,252],[231,256],[232,244],[233,244],[234,244],[235,244],[236,252],[237,244],[238,244],[239,244],[240,244],[241,257],[242,244],[243,244],[244,244],[245,244],[246,244],[66,251],[67,251],[68,251],[69,251],[70,251],[71,251],[72,251],[73,244],[75,258],[76,251],[74,251],[77,251],[78,251],[79,251],[80,251],[81,251],[82,251],[83,244],[84,251],[85,251],[86,251],[87,251],[88,251],[89,244],[90,251],[91,251],[92,251],[93,251],[94,251],[95,251],[96,244],[98,259],[97,251],[99,251],[100,251],[101,251],[102,251],[103,257],[104,244],[105,244],[119,260],[107,261],[108,251],[109,251],[110,244],[111,251],[112,251],[114,262],[115,251],[116,251],[117,251],[118,251],[120,251],[121,251],[122,251],[123,251],[125,263],[126,251],[127,251],[128,251],[129,244],[130,251],[131,264],[132,264],[133,264],[134,244],[135,251],[136,251],[137,251],[142,251],[138,251],[139,244],[140,251],[141,244],[143,251],[144,251],[145,251],[146,251],[147,251],[148,251],[149,244],[150,251],[151,251],[152,251],[153,251],[154,251],[155,251],[156,251],[157,251],[158,251],[159,251],[160,251],[161,251],[162,251],[163,251],[164,251],[165,251],[166,265],[167,251],[168,251],[169,251],[170,251],[171,251],[172,251],[173,244],[174,244],[175,244],[176,244],[177,244],[178,251],[179,251],[180,251],[181,251],[247,244],[183,266],[206,267],[201,267],[192,268],[190,269],[204,270],[193,271],[207,272],[202,273],[203,270],[205,274],[188,275],[189,276],[187,277],[185,251],[194,278],[65,279],[211,252],[209,280],[182,281],[195,282],[621,283],[628,284],[620,283],[635,285],[612,286],[611,287],[634,288],[629,289],[632,290],[614,291],[613,292],[609,293],[608,294],[631,295],[610,296],[615,297],[619,297],[637,298],[636,297],[623,299],[624,300],[626,301],[622,302],[625,303],[630,288],[617,304],[618,305],[627,306],[607,307],[633,308],[601,309],[594,310],[255,309],[597,309],[599,2],[569,312],[257,309],[568,313],[593,340],[586,341],[567,340],[562,309],[563,342],[469,309],[470,309],[467,309],[468,318],[490,343],[473,344],[459,345],[513,346],[565,340],[550,347],[555,348],[559,349],[557,350],[553,309],[554,329],[465,309],[471,330],[449,309],[450,351],[590,309],[591,332],[325,309],[444,352],[534,309],[535,351],[463,309],[472,353],[514,309],[533,335],[452,309],[458,354],[60,309],[596,309],[600,338],[595,339]],"semanticDiagnosticsPerFile":[461,278,253,252,251,250,311,462,254,598,256,456,454,455,453,500,510,501,506,505,512,509,508,507,511,502,503,504,496,499,497,498,603,604,639,640,641,642,643,644,645,646,647,648,649,651,650,652,653,654,638,688,655,656,657,689,658,659,660,661,662,663,664,665,666,667,668,669,670,672,671,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,457,605,464,466,451,259,260,261,262,266,267,268,269,270,297,272,293,275,274,276,277,279,280,281,283,296,294,284,285,286,287,271,288,273,282,289,292,290,291,295,342,344,343,301,303,302,307,308,310,309,400,387,402,401,316,312,318,317,486,487,489,488,515,516,518,517,519,520,522,521,493,495,494,327,326,329,328,354,338,356,355,547,536,549,548,368,370,369,371,373,372,362,364,363,374,376,375,377,379,378,359,361,360,407,409,408,410,412,411,572,574,573,397,399,398,313,315,314,348,350,349,388,390,389,391,393,392,394,396,395,527,529,528,422,424,423,425,427,426,526,524,525,430,428,429,353,352,351,415,414,413,421,420,419,418,417,416,306,305,304,347,346,345,485,484,483,433,432,431,546,545,544,367,365,358,366,321,319,320,482,480,481,578,575,576,577,543,540,541,542,337,335,336,581,579,580,382,380,357,381,539,537,538,589,587,588,300,299,298,333,332,331,330,386,385,384,383,324,323,322,435,437,436,434,334,585,584,582,583,478,477,475,476,532,531,530,523,448,447,446,445,341,340,339,406,405,404,403,265,264,263,249,222,200,198,113,64,63,199,184,106,62,61,248,213,212,124,220,221,223,224,225,226,197,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,66,67,68,69,70,71,72,73,75,76,74,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,98,97,99,100,101,102,103,104,105,119,107,108,109,110,111,112,114,115,116,117,118,120,121,122,123,125,126,127,128,129,130,131,132,133,134,135,136,137,142,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,247,183,206,201,192,190,204,193,207,202,203,205,191,196,188,189,186,187,185,194,65,214,215,216,217,218,219,208,211,210,209,182,195,59,57,58,10,12,11,2,13,14,15,16,17,18,19,20,3,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,55,53,54,1,56,621,628,620,635,612,611,634,629,632,614,613,609,608,631,610,615,616,619,606,637,636,623,624,626,622,625,630,617,618,627,607,633,602,594,599,593,586,567,563,470,468,490,473,459,513,565,550,555,561,559,557,554,471,450,591,444,535,472,533,458,479,552,440,441,600,595,443]},"version":"5.3.3"} \ No newline at end of file diff --git a/bizmatch/.angular/cache/17.2.1/vite/deps/_metadata.json b/bizmatch/.angular/cache/17.2.1/vite/deps/_metadata.json new file mode 100644 index 0000000..ba329b0 --- /dev/null +++ b/bizmatch/.angular/cache/17.2.1/vite/deps/_metadata.json @@ -0,0 +1,331 @@ +{ + "hash": "67af9537", + "configHash": "34f84833", + "lockfileHash": "c6a666e0", + "browserHash": "ac877f75", + "optimized": { + "@angular/common": { + "src": "../../../../../node_modules/@angular/common/fesm2022/common.mjs", + "file": "@angular_common.js", + "fileHash": "28f818f0", + "needsInterop": false + }, + "@angular/common/http": { + "src": "../../../../../node_modules/@angular/common/fesm2022/http.mjs", + "file": "@angular_common_http.js", + "fileHash": "3e7d92bd", + "needsInterop": false + }, + "@angular/core": { + "src": "../../../../../node_modules/@angular/core/fesm2022/core.mjs", + "file": "@angular_core.js", + "fileHash": "accc9b8c", + "needsInterop": false + }, + "@angular/forms": { + "src": "../../../../../node_modules/@angular/forms/fesm2022/forms.mjs", + "file": "@angular_forms.js", + "fileHash": "928647a5", + "needsInterop": false + }, + "@angular/platform-browser": { + "src": "../../../../../node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs", + "file": "@angular_platform-browser.js", + "fileHash": "9b924e7c", + "needsInterop": false + }, + "@angular/platform-browser/animations": { + "src": "../../../../../node_modules/@angular/platform-browser/fesm2022/animations.mjs", + "file": "@angular_platform-browser_animations.js", + "fileHash": "7495a616", + "needsInterop": false + }, + "@angular/router": { + "src": "../../../../../node_modules/@angular/router/fesm2022/router.mjs", + "file": "@angular_router.js", + "fileHash": "735c693a", + "needsInterop": false + }, + "@fortawesome/angular-fontawesome": { + "src": "../../../../../node_modules/@fortawesome/angular-fontawesome/fesm2022/angular-fontawesome.mjs", + "file": "@fortawesome_angular-fontawesome.js", + "fileHash": "0cf8f8a4", + "needsInterop": false + }, + "@fortawesome/free-regular-svg-icons": { + "src": "../../../../../node_modules/@fortawesome/free-regular-svg-icons/index.mjs", + "file": "@fortawesome_free-regular-svg-icons.js", + "fileHash": "a6d77e90", + "needsInterop": false + }, + "@fortawesome/free-solid-svg-icons": { + "src": "../../../../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs", + "file": "@fortawesome_free-solid-svg-icons.js", + "fileHash": "248c3041", + "needsInterop": false + }, + "browser-bunyan": { + "src": "../../../../../node_modules/browser-bunyan/lib/index.m.js", + "file": "browser-bunyan.js", + "fileHash": "3556293f", + "needsInterop": false + }, + "jwt-decode": { + "src": "../../../../../node_modules/jwt-decode/build/esm/index.js", + "file": "jwt-decode.js", + "fileHash": "31be6951", + "needsInterop": false + }, + "keycloak-js": { + "src": "../../../../../node_modules/keycloak-js/dist/keycloak.mjs", + "file": "keycloak-js.js", + "fileHash": "a0ad62ab", + "needsInterop": false + }, + "on-change": { + "src": "../../../../../node_modules/on-change/index.js", + "file": "on-change.js", + "fileHash": "78a0866f", + "needsInterop": false + }, + "primeng/api": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-api.mjs", + "file": "primeng_api.js", + "fileHash": "4db75e0f", + "needsInterop": false + }, + "primeng/button": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-button.mjs", + "file": "primeng_button.js", + "fileHash": "1190de19", + "needsInterop": false + }, + "primeng/checkbox": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-checkbox.mjs", + "file": "primeng_checkbox.js", + "fileHash": "9193d0d3", + "needsInterop": false + }, + "primeng/chip": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-chip.mjs", + "file": "primeng_chip.js", + "fileHash": "d481740a", + "needsInterop": false + }, + "primeng/confirmdialog": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-confirmdialog.mjs", + "file": "primeng_confirmdialog.js", + "fileHash": "27802851", + "needsInterop": false + }, + "primeng/confirmpopup": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-confirmpopup.mjs", + "file": "primeng_confirmpopup.js", + "fileHash": "07fa7368", + "needsInterop": false + }, + "primeng/divider": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-divider.mjs", + "file": "primeng_divider.js", + "fileHash": "d9ac7514", + "needsInterop": false + }, + "primeng/dropdown": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-dropdown.mjs", + "file": "primeng_dropdown.js", + "fileHash": "a52c3507", + "needsInterop": false + }, + "primeng/fileupload": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-fileupload.mjs", + "file": "primeng_fileupload.js", + "fileHash": "57b31a6c", + "needsInterop": false + }, + "primeng/inputnumber": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-inputnumber.mjs", + "file": "primeng_inputnumber.js", + "fileHash": "2c9bde1c", + "needsInterop": false + }, + "primeng/inputtext": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-inputtext.mjs", + "file": "primeng_inputtext.js", + "fileHash": "b03c8c78", + "needsInterop": false + }, + "primeng/inputtextarea": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-inputtextarea.mjs", + "file": "primeng_inputtextarea.js", + "fileHash": "890a3704", + "needsInterop": false + }, + "primeng/menubar": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-menubar.mjs", + "file": "primeng_menubar.js", + "fileHash": "573b8558", + "needsInterop": false + }, + "primeng/overlaypanel": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-overlaypanel.mjs", + "file": "primeng_overlaypanel.js", + "fileHash": "cbfd82db", + "needsInterop": false + }, + "primeng/paginator": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-paginator.mjs", + "file": "primeng_paginator.js", + "fileHash": "f1a55a1a", + "needsInterop": false + }, + "primeng/progressspinner": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-progressspinner.mjs", + "file": "primeng_progressspinner.js", + "fileHash": "f063f0c5", + "needsInterop": false + }, + "primeng/ripple": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-ripple.mjs", + "file": "primeng_ripple.js", + "fileHash": "97e2f125", + "needsInterop": false + }, + "primeng/styleclass": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-styleclass.mjs", + "file": "primeng_styleclass.js", + "fileHash": "37c3b954", + "needsInterop": false + }, + "primeng/table": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-table.mjs", + "file": "primeng_table.js", + "fileHash": "7aeb3809", + "needsInterop": false + }, + "primeng/tabmenu": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-tabmenu.mjs", + "file": "primeng_tabmenu.js", + "fileHash": "19fb3789", + "needsInterop": false + }, + "primeng/toast": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-toast.mjs", + "file": "primeng_toast.js", + "fileHash": "68ec89d2", + "needsInterop": false + }, + "primeng/togglebutton": { + "src": "../../../../../node_modules/primeng/fesm2022/primeng-togglebutton.mjs", + "file": "primeng_togglebutton.js", + "fileHash": "522ccb3c", + "needsInterop": false + }, + "rxjs": { + "src": "../../../../../node_modules/rxjs/dist/esm5/index.js", + "file": "rxjs.js", + "fileHash": "823e3e71", + "needsInterop": false + }, + "rxjs/operators": { + "src": "../../../../../node_modules/rxjs/dist/esm5/operators/index.js", + "file": "rxjs_operators.js", + "fileHash": "b5e6296c", + "needsInterop": false + } + }, + "chunks": { + "chunk-I7D7PQME": { + "file": "chunk-I7D7PQME.js" + }, + "chunk-KMR4QVQU": { + "file": "chunk-KMR4QVQU.js" + }, + "chunk-IU2G34K3": { + "file": "chunk-IU2G34K3.js" + }, + "chunk-VYYSRRQP": { + "file": "chunk-VYYSRRQP.js" + }, + "chunk-SRY2GXMH": { + "file": "chunk-SRY2GXMH.js" + }, + "chunk-2HEVCKUT": { + "file": "chunk-2HEVCKUT.js" + }, + "chunk-FLWDL4KY": { + "file": "chunk-FLWDL4KY.js" + }, + "chunk-B3BEBK2H": { + "file": "chunk-B3BEBK2H.js" + }, + "chunk-7NEKFKVF": { + "file": "chunk-7NEKFKVF.js" + }, + "chunk-RKMPS52T": { + "file": "chunk-RKMPS52T.js" + }, + "chunk-2QWPUIZJ": { + "file": "chunk-2QWPUIZJ.js" + }, + "chunk-XGK4THRG": { + "file": "chunk-XGK4THRG.js" + }, + "chunk-DFUOJE3F": { + "file": "chunk-DFUOJE3F.js" + }, + "chunk-NBIWWQDH": { + "file": "chunk-NBIWWQDH.js" + }, + "chunk-6M7HYOYM": { + "file": "chunk-6M7HYOYM.js" + }, + "chunk-3SQF7L7O": { + "file": "chunk-3SQF7L7O.js" + }, + "chunk-MI5BQO2G": { + "file": "chunk-MI5BQO2G.js" + }, + "chunk-BH46VVEZ": { + "file": "chunk-BH46VVEZ.js" + }, + "chunk-KAUMDUK6": { + "file": "chunk-KAUMDUK6.js" + }, + "chunk-6ZBHNYAL": { + "file": "chunk-6ZBHNYAL.js" + }, + "chunk-SLXWKEKP": { + "file": "chunk-SLXWKEKP.js" + }, + "chunk-O5UWSVSE": { + "file": "chunk-O5UWSVSE.js" + }, + "chunk-ESXUKNGR": { + "file": "chunk-ESXUKNGR.js" + }, + "chunk-SVLVPO4L": { + "file": "chunk-SVLVPO4L.js" + }, + "chunk-MDVT4WFW": { + "file": "chunk-MDVT4WFW.js" + }, + "chunk-UANYWW5J": { + "file": "chunk-UANYWW5J.js" + }, + "chunk-3Q7TKPWY": { + "file": "chunk-3Q7TKPWY.js" + }, + "chunk-SG3BCSKH": { + "file": "chunk-SG3BCSKH.js" + }, + "chunk-SAVXX6OM": { + "file": "chunk-SAVXX6OM.js" + }, + "chunk-PQ7O3X3G": { + "file": "chunk-PQ7O3X3G.js" + }, + "chunk-ASLTLD6L": { + "file": "chunk-ASLTLD6L.js" + } + } +} \ No newline at end of file diff --git a/bizmatch/.angular/cache/17.2.1/vite/deps/package.json b/bizmatch/.angular/cache/17.2.1/vite/deps/package.json new file mode 100644 index 0000000..3dbc1ca --- /dev/null +++ b/bizmatch/.angular/cache/17.2.1/vite/deps/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/bizmatch/.editorconfig b/bizmatch/.editorconfig new file mode 100644 index 0000000..59d9a3a --- /dev/null +++ b/bizmatch/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/bizmatch/.eslintrc.json b/bizmatch/.eslintrc.json new file mode 100644 index 0000000..eb7cda9 --- /dev/null +++ b/bizmatch/.eslintrc.json @@ -0,0 +1,45 @@ +{ + "env": { + "es2021": true, + "browser": true + }, + "extends": [ + "airbnb-base", + "airbnb-typescript", + "plugin:@typescript-eslint/recommended", + "eslint-config-prettier", + "plugin:cypress/recommended" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 12, + "sourceType": "module", + "project": ["./tsconfig.json"] + }, + "plugins": ["@typescript-eslint"], + "rules": { + "import/no-unresolved": ["off"], + "import/prefer-default-export": ["off"], + "no-useless-constructor": "off", + "@typescript-eslint/no-useless-constructor": ["error"], + "@typescript-eslint/lines-between-class-members": ["off"], + "no-param-reassign": ["off"], + "max-classes-per-file": ["off"], + "no-shadow": ["off"], + "class-methods-use-this": ["off"], + "react/jsx-filename-extension": ["off"], + "import/no-cycle": ["off"], + "radix": ["off"], + "no-promise-executor-return": ["off"], + "@typescript-eslint/naming-convention": [ + "error", + { + "selector": "enumMember", + "format": ["UPPER_CASE", "PascalCase"] + } + ], + "no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"], + "spaced-comment": ["off"], + "import/no-extraneous-dependencies": ["error", { "devDependencies": true }] + } + } \ No newline at end of file diff --git a/bizmatch/.vscode/extensions.json b/bizmatch/.vscode/extensions.json new file mode 100644 index 0000000..77b3745 --- /dev/null +++ b/bizmatch/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/bizmatch/.vscode/launch.json b/bizmatch/.vscode/launch.json new file mode 100644 index 0000000..925af83 --- /dev/null +++ b/bizmatch/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/bizmatch/.vscode/tasks.json b/bizmatch/.vscode/tasks.json new file mode 100644 index 0000000..a298b5b --- /dev/null +++ b/bizmatch/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + } + ] +} diff --git a/bizmatch/README.md b/bizmatch/README.md new file mode 100644 index 0000000..c969155 --- /dev/null +++ b/bizmatch/README.md @@ -0,0 +1,27 @@ +# Bizmatch + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.1.2. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/bizmatch/angular.json b/bizmatch/angular.json new file mode 100644 index 0000000..908d580 --- /dev/null +++ b/bizmatch/angular.json @@ -0,0 +1,116 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "bizmatch": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss", + "skipTests": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/bizmatch", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + }, + "dev": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.dev.ts" + } + ], + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "bizmatch:build:production" + }, + "development": { + "buildTarget": "bizmatch:build:development" + } + }, + "defaultConfiguration": "development", + "options": {"proxyConfig": "proxy.conf.json"} + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "bizmatch:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} diff --git a/bizmatch/angular_copy.json b/bizmatch/angular_copy.json new file mode 100644 index 0000000..a62f93c --- /dev/null +++ b/bizmatch/angular_copy.json @@ -0,0 +1,108 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "bizmatch": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss", + "skipTests": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/bizmatch", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "server": "src/main.server.ts", + "prerender": true, + "ssr": { + "entry": "server.ts" + } + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "bizmatch:build:production" + }, + "development": { + "buildTarget": "bizmatch:build:development" + } + }, + "defaultConfiguration": "development", + "options": {"proxyConfig": "proxy.conf.json"} + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "bizmatch:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + } + } + } + } + } +} diff --git a/bizmatch/dist/bizmatch/3rdpartylicenses.txt b/bizmatch/dist/bizmatch/3rdpartylicenses.txt new file mode 100644 index 0000000..07f00d9 --- /dev/null +++ b/bizmatch/dist/bizmatch/3rdpartylicenses.txt @@ -0,0 +1,1164 @@ + +-------------------------------------------------------------------------------- +Package: base64-js +License: "MIT" + +The MIT License (MIT) + +Copyright (c) 2014 Jameson Little + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +-------------------------------------------------------------------------------- +Package: ieee754 +License: "BSD-3-Clause" + +Copyright 2008 Fair Oaks Labs, Inc. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +Package: js-sha256 +License: "MIT" + +Copyright (c) 2014-2023 Chen, Yi-Cyuan + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- +Package: @angular/core +License: "MIT" + + +-------------------------------------------------------------------------------- +Package: rxjs +License: "Apache-2.0" + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +-------------------------------------------------------------------------------- +Package: tslib +License: "0BSD" + +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +Package: @angular/common +License: "MIT" + + +-------------------------------------------------------------------------------- +Package: @angular/platform-browser +License: "MIT" + + +-------------------------------------------------------------------------------- +Package: @angular/router +License: "MIT" + + +-------------------------------------------------------------------------------- +Package: primeng +License: "MIT" + + +-------------------------------------------------------------------------------- +Package: @angular/forms +License: "MIT" + + +-------------------------------------------------------------------------------- +Package: @angular/animations +License: "MIT" + + +-------------------------------------------------------------------------------- +Package: on-change +License: "MIT" + + +-------------------------------------------------------------------------------- +Package: browser-bunyan +License: undefined + +# This is the MIT license + +Copyright (c) 2011-2012 Joyent Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +-------------------------------------------------------------------------------- +Package: jwt-decode +License: "MIT" + +The MIT License (MIT) + +Copyright (c) 2015 Auth0, Inc. (http://auth0.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +-------------------------------------------------------------------------------- +Package: keycloak-js +License: "Apache-2.0" + + +-------------------------------------------------------------------------------- +Package: @fortawesome/fontawesome-svg-core +License: "MIT" + +Fonticons, Inc. (https://fontawesome.com) + +-------------------------------------------------------------------------------- + +Font Awesome Free License + +Font Awesome Free is free, open source, and GPL friendly. You can use it for +commercial projects, open source projects, or really almost whatever you want. +Full Font Awesome Free license: https://fontawesome.com/license/free. + +-------------------------------------------------------------------------------- + +# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) + +The Font Awesome Free download is licensed under a Creative Commons +Attribution 4.0 International License and applies to all icons packaged +as SVG and JS file types. + +-------------------------------------------------------------------------------- + +# Fonts: SIL OFL 1.1 License + +In the Font Awesome Free download, the SIL OFL license applies to all icons +packaged as web and desktop font files. + +Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com) +with Reserved Font Name: "Font Awesome". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +SIL OPEN FONT LICENSE +Version 1.1 - 26 February 2007 + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting — in part or in whole — any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +-------------------------------------------------------------------------------- + +# Code: MIT License (https://opensource.org/licenses/MIT) + +In the Font Awesome Free download, the MIT license applies to all non-font and +non-icon files. + +Copyright 2023 Fonticons, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in the +Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +# Attribution + +Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font +Awesome Free files already contain embedded comments with sufficient +attribution, so you shouldn't need to do anything additional when using these +files normally. + +We've kept attribution comments terse, so we ask that you do not actively work +to remove them from files, especially code. They're a great way for folks to +learn about Font Awesome. + +-------------------------------------------------------------------------------- + +# Brand Icons + +All brand icons are trademarks of their respective owners. The use of these +trademarks does not indicate endorsement of the trademark holder by Font +Awesome, nor vice versa. **Please do not use brand logos for any purpose except +to represent the company, product, or service to which they refer.** + +-------------------------------------------------------------------------------- +Package: @fortawesome/angular-fontawesome +License: "MIT" + +MIT License + +Copyright (c) 2018 Fonticons, Inc. and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +-------------------------------------------------------------------------------- +Package: @fortawesome/free-regular-svg-icons +License: "(CC-BY-4.0 AND MIT)" + +Fonticons, Inc. (https://fontawesome.com) + +-------------------------------------------------------------------------------- + +Font Awesome Free License + +Font Awesome Free is free, open source, and GPL friendly. You can use it for +commercial projects, open source projects, or really almost whatever you want. +Full Font Awesome Free license: https://fontawesome.com/license/free. + +-------------------------------------------------------------------------------- + +# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) + +The Font Awesome Free download is licensed under a Creative Commons +Attribution 4.0 International License and applies to all icons packaged +as SVG and JS file types. + +-------------------------------------------------------------------------------- + +# Fonts: SIL OFL 1.1 License + +In the Font Awesome Free download, the SIL OFL license applies to all icons +packaged as web and desktop font files. + +Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com) +with Reserved Font Name: "Font Awesome". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +SIL OPEN FONT LICENSE +Version 1.1 - 26 February 2007 + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting — in part or in whole — any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +-------------------------------------------------------------------------------- + +# Code: MIT License (https://opensource.org/licenses/MIT) + +In the Font Awesome Free download, the MIT license applies to all non-font and +non-icon files. + +Copyright 2023 Fonticons, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in the +Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +# Attribution + +Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font +Awesome Free files already contain embedded comments with sufficient +attribution, so you shouldn't need to do anything additional when using these +files normally. + +We've kept attribution comments terse, so we ask that you do not actively work +to remove them from files, especially code. They're a great way for folks to +learn about Font Awesome. + +-------------------------------------------------------------------------------- + +# Brand Icons + +All brand icons are trademarks of their respective owners. The use of these +trademarks does not indicate endorsement of the trademark holder by Font +Awesome, nor vice versa. **Please do not use brand logos for any purpose except +to represent the company, product, or service to which they refer.** + +-------------------------------------------------------------------------------- +Package: @fortawesome/free-solid-svg-icons +License: "(CC-BY-4.0 AND MIT)" + +Fonticons, Inc. (https://fontawesome.com) + +-------------------------------------------------------------------------------- + +Font Awesome Free License + +Font Awesome Free is free, open source, and GPL friendly. You can use it for +commercial projects, open source projects, or really almost whatever you want. +Full Font Awesome Free license: https://fontawesome.com/license/free. + +-------------------------------------------------------------------------------- + +# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) + +The Font Awesome Free download is licensed under a Creative Commons +Attribution 4.0 International License and applies to all icons packaged +as SVG and JS file types. + +-------------------------------------------------------------------------------- + +# Fonts: SIL OFL 1.1 License + +In the Font Awesome Free download, the SIL OFL license applies to all icons +packaged as web and desktop font files. + +Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com) +with Reserved Font Name: "Font Awesome". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +SIL OPEN FONT LICENSE +Version 1.1 - 26 February 2007 + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting — in part or in whole — any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +-------------------------------------------------------------------------------- + +# Code: MIT License (https://opensource.org/licenses/MIT) + +In the Font Awesome Free download, the MIT license applies to all non-font and +non-icon files. + +Copyright 2023 Fonticons, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in the +Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +# Attribution + +Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font +Awesome Free files already contain embedded comments with sufficient +attribution, so you shouldn't need to do anything additional when using these +files normally. + +We've kept attribution comments terse, so we ask that you do not actively work +to remove them from files, especially code. They're a great way for folks to +learn about Font Awesome. + +-------------------------------------------------------------------------------- + +# Brand Icons + +All brand icons are trademarks of their respective owners. The use of these +trademarks does not indicate endorsement of the trademark holder by Font +Awesome, nor vice versa. **Please do not use brand logos for any purpose except +to represent the company, product, or service to which they refer.** + +-------------------------------------------------------------------------------- +Package: zone.js +License: "MIT" + +The MIT License + +Copyright (c) 2010-2023 Google LLC. https://angular.io/license + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +-------------------------------------------------------------------------------- +Package: primeicons +License: "MIT" + +MIT License + +Copyright (c) 2018-2021 PrimeTek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +-------------------------------------------------------------------------------- +Package: primeflex +License: "MIT" + +The MIT License (MIT) + +Copyright (c) 2016-2023 PrimeTek + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Package: @fortawesome/fontawesome-free +License: "(CC-BY-4.0 AND OFL-1.1 AND MIT)" + +Fonticons, Inc. (https://fontawesome.com) + +-------------------------------------------------------------------------------- + +Font Awesome Free License + +Font Awesome Free is free, open source, and GPL friendly. You can use it for +commercial projects, open source projects, or really almost whatever you want. +Full Font Awesome Free license: https://fontawesome.com/license/free. + +-------------------------------------------------------------------------------- + +# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) + +The Font Awesome Free download is licensed under a Creative Commons +Attribution 4.0 International License and applies to all icons packaged +as SVG and JS file types. + +-------------------------------------------------------------------------------- + +# Fonts: SIL OFL 1.1 License + +In the Font Awesome Free download, the SIL OFL license applies to all icons +packaged as web and desktop font files. + +Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com) +with Reserved Font Name: "Font Awesome". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +SIL OPEN FONT LICENSE +Version 1.1 - 26 February 2007 + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting — in part or in whole — any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +-------------------------------------------------------------------------------- + +# Code: MIT License (https://opensource.org/licenses/MIT) + +In the Font Awesome Free download, the MIT license applies to all non-font and +non-icon files. + +Copyright 2023 Fonticons, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in the +Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +# Attribution + +Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font +Awesome Free files already contain embedded comments with sufficient +attribution, so you shouldn't need to do anything additional when using these +files normally. + +We've kept attribution comments terse, so we ask that you do not actively work +to remove them from files, especially code. They're a great way for folks to +learn about Font Awesome. + +-------------------------------------------------------------------------------- + +# Brand Icons + +All brand icons are trademarks of their respective owners. The use of these +trademarks does not indicate endorsement of the trademark holder by Font +Awesome, nor vice versa. **Please do not use brand logos for any purpose except +to represent the company, product, or service to which they refer.** + +-------------------------------------------------------------------------------- diff --git a/bizmatch/dist/bizmatch/browser/assets/data/listings.json b/bizmatch/dist/bizmatch/browser/assets/data/listings.json new file mode 100644 index 0000000..6bc6f9a --- /dev/null +++ b/bizmatch/dist/bizmatch/browser/assets/data/listings.json @@ -0,0 +1,70 @@ +[ + { + "id":"1", + "userId":"14a05316-cb85-4c67-86bc-4a2083ff6af7", + "listingsCategory": "business", + "title": "Industrial Service Company In Corpus Christi For Sale - 1954", + "summary": ["Asking price: $5,500,000","Sales revenue: $1,200,000","Net profit: $650,000"], + "description": ["This company services a wide variety of industries. Asking price includes Business and the Real Estate and is approx 30,000 sq ft with room for expansion including approx 5 acres. Absentee run business."], + "type": "Industrial Services", + "location": "Texas", + "price":5500000, + "salesRevenue":1200000, + "cashFlow":650000, + "brokerLicencing":"TREC Broker #516788", + "established":1954, + "realEstateIncluded":false, + "favoritesForUser":["e0811669-c7eb-4e5e-a699-e8334d5c5b01"] + }, + { + "id":"2", + "userId":"e0811669-c7eb-4e5e-a699-e8334d5c5b01", + "listingsCategory": "business", + "title": "Coastal Bend Manufacturing Business Plastic Injection For Sale - 1950", + "summary": ["Asking price: $165,000","Sales revenue: Undisclosed","Net profit: Undisclosed"], + "description": [""], + "type": "Manufacturing", + "location": "Texas", + "price":165000, + "salesRevenue":null, + "cashFlow":null, + "brokerLicencing":"TREC Broker #516788", + "established":1950, + "realEstateIncluded":false, + "favoritesForUser":["828cc120-51e9-4baa-9a33-a82608fe66b4"] + }, + { + "id":"3", + "userId":"e0811669-c7eb-4e5e-a699-e8334d5c5b01", + "listingsCategory": "business", + "title": "Corner Property On Everhart South-side Corpus Christi For Sale - 1944", + "summary": ["Asking price: $830,000","Sales revenue: Undisclosed","Net profit: Undisclosed"], + "description": [""], + "type": "Real Estate", + "location": "Texas", + "price":830000, + "salesRevenue":null, + "cashFlow":null, + "brokerLicencing":"TREC Broker #516788", + "established":1944, + "realEstateIncluded":false, + "favoritesForUser":[] + }, + { + "id":"4", + "userId":"828cc120-51e9-4baa-9a33-a82608fe66b4", + "listingsCategory": "business", + "title": "Corpus Christi Dessert Business For Sale - 1941", + "summary": ["Asking price: $124,900","Sales revenue: $225,000","Net profit: $50,000"], + "description": [""], + "type": "Food and Restaurant", + "location": "Texas", + "price":830000, + "salesRevenue":225000, + "cashFlow":50000, + "brokerLicencing":"TREC Broker #516788", + "established":1941, + "realEstateIncluded":false, + "favoritesForUser":[] + } + ] \ No newline at end of file diff --git a/bizmatch/dist/bizmatch/browser/assets/data/user.json b/bizmatch/dist/bizmatch/browser/assets/data/user.json new file mode 100644 index 0000000..f17c176 --- /dev/null +++ b/bizmatch/dist/bizmatch/browser/assets/data/user.json @@ -0,0 +1,21 @@ +{ + "id":"1", + "firstname":"Andreas", + "lastname":"Knuth", + "email":"andreas.knuth@gmail.com", + "nickname":"aknuth", + "displayName":"Andreas Knuth", + "subscriptions":[{ + "id":"1", + "level":"Business Broker", + "start":"2024-02-12T21:54:20.603Z", + "modified":"2024-02-12T21:54:20.603Z", + "end":"9999-02-12T21:54:20.603Z", + "status":"active", + "invoices":[{ + "date":"2024-02-12T21:54:20.603Z", + "id":"C991853B99", + "price":0 + }] + }] +} \ No newline at end of file diff --git a/bizmatch/dist/bizmatch/browser/assets/images/avatar-f-3.png b/bizmatch/dist/bizmatch/browser/assets/images/avatar-f-3.png new file mode 100644 index 0000000..7c3d3a9 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/assets/images/avatar-f-3.png differ diff --git a/bizmatch/dist/bizmatch/browser/assets/images/bw-sky.jpg b/bizmatch/dist/bizmatch/browser/assets/images/bw-sky.jpg new file mode 100644 index 0000000..65fd5e1 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/assets/images/bw-sky.jpg differ diff --git a/bizmatch/dist/bizmatch/browser/assets/images/corpusChristiSkyline.jpg b/bizmatch/dist/bizmatch/browser/assets/images/corpusChristiSkyline.jpg new file mode 100644 index 0000000..5aac1b2 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/assets/images/corpusChristiSkyline.jpg differ diff --git a/bizmatch/dist/bizmatch/browser/assets/images/header-logo.png b/bizmatch/dist/bizmatch/browser/assets/images/header-logo.png new file mode 100644 index 0000000..aba9071 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/assets/images/header-logo.png differ diff --git a/bizmatch/dist/bizmatch/browser/assets/images/index-bg.jpg b/bizmatch/dist/bizmatch/browser/assets/images/index-bg.jpg new file mode 100644 index 0000000..85f8e8b Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/assets/images/index-bg.jpg differ diff --git a/bizmatch/dist/bizmatch/browser/assets/images/index-bg.webp b/bizmatch/dist/bizmatch/browser/assets/images/index-bg.webp new file mode 100644 index 0000000..54d8c6d Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/assets/images/index-bg.webp differ diff --git a/bizmatch/dist/bizmatch/browser/assets/images/placeholder.png b/bizmatch/dist/bizmatch/browser/assets/images/placeholder.png new file mode 100644 index 0000000..85156a3 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/assets/images/placeholder.png differ diff --git a/bizmatch/dist/bizmatch/browser/assets/images/pricing-4.svg b/bizmatch/dist/bizmatch/browser/assets/images/pricing-4.svg new file mode 100644 index 0000000..de994ae --- /dev/null +++ b/bizmatch/dist/bizmatch/browser/assets/images/pricing-4.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/bizmatch/dist/bizmatch/browser/assets/silent-check-sso.html b/bizmatch/dist/bizmatch/browser/assets/silent-check-sso.html new file mode 100644 index 0000000..f4de3a9 --- /dev/null +++ b/bizmatch/dist/bizmatch/browser/assets/silent-check-sso.html @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/bizmatch/dist/bizmatch/browser/favicon.ico b/bizmatch/dist/bizmatch/browser/favicon.ico new file mode 100644 index 0000000..57614f9 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/favicon.ico differ diff --git a/bizmatch/dist/bizmatch/browser/index.html b/bizmatch/dist/bizmatch/browser/index.html new file mode 100644 index 0000000..53982f6 --- /dev/null +++ b/bizmatch/dist/bizmatch/browser/index.html @@ -0,0 +1,17 @@ + + + + + Bizmatch + + + + + + + + + + + diff --git a/bizmatch/dist/bizmatch/browser/media/Inter-italic.var-SWFAXF2C.woff2 b/bizmatch/dist/bizmatch/browser/media/Inter-italic.var-SWFAXF2C.woff2 new file mode 100644 index 0000000..b826d5a Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/Inter-italic.var-SWFAXF2C.woff2 differ diff --git a/bizmatch/dist/bizmatch/browser/media/Inter-roman.var-WIJJYAE4.woff2 b/bizmatch/dist/bizmatch/browser/media/Inter-roman.var-WIJJYAE4.woff2 new file mode 100644 index 0000000..6a256a0 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/Inter-roman.var-WIJJYAE4.woff2 differ diff --git a/bizmatch/dist/bizmatch/browser/media/bw-sky-5AJIF4XQ.jpg b/bizmatch/dist/bizmatch/browser/media/bw-sky-5AJIF4XQ.jpg new file mode 100644 index 0000000..65fd5e1 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/bw-sky-5AJIF4XQ.jpg differ diff --git a/bizmatch/dist/bizmatch/browser/media/color-3LUHUBGQ.png b/bizmatch/dist/bizmatch/browser/media/color-3LUHUBGQ.png new file mode 100644 index 0000000..561cdd9 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/color-3LUHUBGQ.png differ diff --git a/bizmatch/dist/bizmatch/browser/media/fa-brands-400-4RSXLDQT.woff2 b/bizmatch/dist/bizmatch/browser/media/fa-brands-400-4RSXLDQT.woff2 new file mode 100644 index 0000000..36fbda7 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/fa-brands-400-4RSXLDQT.woff2 differ diff --git a/bizmatch/dist/bizmatch/browser/media/fa-brands-400-RP3MZ4AX.ttf b/bizmatch/dist/bizmatch/browser/media/fa-brands-400-RP3MZ4AX.ttf new file mode 100644 index 0000000..5efb1d4 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/fa-brands-400-RP3MZ4AX.ttf differ diff --git a/bizmatch/dist/bizmatch/browser/media/fa-regular-400-6ODLNN6G.woff2 b/bizmatch/dist/bizmatch/browser/media/fa-regular-400-6ODLNN6G.woff2 new file mode 100644 index 0000000..b6cabba Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/fa-regular-400-6ODLNN6G.woff2 differ diff --git a/bizmatch/dist/bizmatch/browser/media/fa-regular-400-VE33OVPX.ttf b/bizmatch/dist/bizmatch/browser/media/fa-regular-400-VE33OVPX.ttf new file mode 100644 index 0000000..838b4e2 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/fa-regular-400-VE33OVPX.ttf differ diff --git a/bizmatch/dist/bizmatch/browser/media/fa-solid-900-BALFL4QR.ttf b/bizmatch/dist/bizmatch/browser/media/fa-solid-900-BALFL4QR.ttf new file mode 100644 index 0000000..ec24749 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/fa-solid-900-BALFL4QR.ttf differ diff --git a/bizmatch/dist/bizmatch/browser/media/fa-solid-900-ZZETRIYD.woff2 b/bizmatch/dist/bizmatch/browser/media/fa-solid-900-ZZETRIYD.woff2 new file mode 100644 index 0000000..824d518 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/fa-solid-900-ZZETRIYD.woff2 differ diff --git a/bizmatch/dist/bizmatch/browser/media/fa-v4compatibility-5WGRUVBC.woff2 b/bizmatch/dist/bizmatch/browser/media/fa-v4compatibility-5WGRUVBC.woff2 new file mode 100644 index 0000000..e09b5a5 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/fa-v4compatibility-5WGRUVBC.woff2 differ diff --git a/bizmatch/dist/bizmatch/browser/media/fa-v4compatibility-7DCIFHD7.ttf b/bizmatch/dist/bizmatch/browser/media/fa-v4compatibility-7DCIFHD7.ttf new file mode 100644 index 0000000..b175aa8 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/fa-v4compatibility-7DCIFHD7.ttf differ diff --git a/bizmatch/dist/bizmatch/browser/media/hue-RMMBQOAC.png b/bizmatch/dist/bizmatch/browser/media/hue-RMMBQOAC.png new file mode 100644 index 0000000..8efa252 Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/hue-RMMBQOAC.png differ diff --git a/bizmatch/dist/bizmatch/browser/media/index-bg-6QTG77KN.jpg b/bizmatch/dist/bizmatch/browser/media/index-bg-6QTG77KN.jpg new file mode 100644 index 0000000..85f8e8b Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/index-bg-6QTG77KN.jpg differ diff --git a/bizmatch/dist/bizmatch/browser/media/index-bg-M7JGHGUV.webp b/bizmatch/dist/bizmatch/browser/media/index-bg-M7JGHGUV.webp new file mode 100644 index 0000000..54d8c6d Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/index-bg-M7JGHGUV.webp differ diff --git a/bizmatch/dist/bizmatch/browser/media/pricing-4-AFBB6HYW.svg b/bizmatch/dist/bizmatch/browser/media/pricing-4-AFBB6HYW.svg new file mode 100644 index 0000000..de994ae --- /dev/null +++ b/bizmatch/dist/bizmatch/browser/media/pricing-4-AFBB6HYW.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/bizmatch/dist/bizmatch/browser/media/primeicons-77WLEVE2.eot b/bizmatch/dist/bizmatch/browser/media/primeicons-77WLEVE2.eot new file mode 100644 index 0000000..9de56ff Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/primeicons-77WLEVE2.eot differ diff --git a/bizmatch/dist/bizmatch/browser/media/primeicons-7C46RJHE.woff b/bizmatch/dist/bizmatch/browser/media/primeicons-7C46RJHE.woff new file mode 100644 index 0000000..8dfdf0e Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/primeicons-7C46RJHE.woff differ diff --git a/bizmatch/dist/bizmatch/browser/media/primeicons-AEJFRHCW.ttf b/bizmatch/dist/bizmatch/browser/media/primeicons-AEJFRHCW.ttf new file mode 100644 index 0000000..4fd92dc Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/primeicons-AEJFRHCW.ttf differ diff --git a/bizmatch/dist/bizmatch/browser/media/primeicons-SQ5LETCD.svg b/bizmatch/dist/bizmatch/browser/media/primeicons-SQ5LETCD.svg new file mode 100644 index 0000000..eea3f4a --- /dev/null +++ b/bizmatch/dist/bizmatch/browser/media/primeicons-SQ5LETCD.svg @@ -0,0 +1,292 @@ + + + + + + +{ + "fontFamily": "primeicons", + "majorVersion": 1, + "minorVersion": 0, + "copyright": "PrimeTek Informatics", + "designer": "", + "description": "Icon Library for Prime UI Libraries\nFont generated by IcoMoon.", + "fontURL": "https://github.com/primefaces/primeicons", + "license": "MIT", + "licenseURL": "https://opensource.org/licenses/MIT", + "version": "Version 1.0", + "fontId": "primeicons", + "psName": "primeicons", + "subFamily": "Regular", + "fullName": "primeicons" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bizmatch/dist/bizmatch/browser/media/primeicons-XI7ZC3P3.woff2 b/bizmatch/dist/bizmatch/browser/media/primeicons-XI7ZC3P3.woff2 new file mode 100644 index 0000000..093ccee Binary files /dev/null and b/bizmatch/dist/bizmatch/browser/media/primeicons-XI7ZC3P3.woff2 differ diff --git a/bizmatch/dist/bizmatch/browser/styles-THR3JRNJ.css b/bizmatch/dist/bizmatch/browser/styles-THR3JRNJ.css new file mode 100644 index 0000000..ffc2d1d --- /dev/null +++ b/bizmatch/dist/bizmatch/browser/styles-THR3JRNJ.css @@ -0,0 +1 @@ +.p-overflow-hidden{overflow:hidden;padding-right:var(--scrollbar-width)}@layer primeng{.p-component,.p-component *{box-sizing:border-box}.p-hidden{display:none}.p-hidden-space{visibility:hidden}.p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-hidden-accessible input,.p-hidden-accessible select{transform:scale(0)}.p-reset{margin:0;padding:0;border:0;outline:0;text-decoration:none;font-size:100%;list-style:none}.p-disabled,.p-disabled *{cursor:default!important;pointer-events:none}.p-component-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.p-unselectable-text{-webkit-user-select:none;user-select:none}.p-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}@-webkit-keyframes p-fadein{0%{opacity:0}to{opacity:1}}@keyframes p-fadein{0%{opacity:0}to{opacity:1}}input[type=button],input[type=submit],input[type=reset],input[type=file]::-webkit-file-upload-button,button{border-radius:0}.p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:none;user-select:none}.p-link:disabled{cursor:default}.p-sr-only{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.p-connected-overlay{opacity:0;transform:scaleY(.8);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}.p-connected-overlay-visible{opacity:1;transform:scaleY(1)}.p-connected-overlay-hidden{opacity:0;transform:scaleY(1);transition:opacity .1s linear}.p-toggleable-content.ng-animating{overflow:hidden}.p-icon-wrapper{display:inline-flex}.p-icon{display:inline-block}.p-icon-spin{-webkit-animation:p-icon-spin 2s infinite linear;animation:p-icon-spin 2s infinite linear}}@-webkit-keyframes p-icon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes p-icon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@layer primeng{.p-badge{display:inline-block;border-radius:10px;text-align:center;padding:0 .5rem}.p-overlay-badge{position:relative}.p-overlay-badge .p-badge{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0;margin:0}.p-badge-dot{width:.5rem;min-width:.5rem;height:.5rem;border-radius:50%;padding:0}.p-badge-no-gutter{padding:0;border-radius:50%}}@layer primeng{.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default;pointer-events:none}.p-button-icon-only{justify-content:center}.p-button-icon-only:after{content:"p";visibility:hidden;clip:rect(0 0 0 0);width:0}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-buttonset .p-button{margin:0}.p-buttonset .p-button:not(:last-child){border-right:0 none}.p-buttonset .p-button:not(:first-of-type):not(:last-of-type){border-radius:0}.p-buttonset .p-button:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}.p-buttonset .p-button:last-of-type{border-top-left-radius:0;border-bottom-left-radius:0}.p-buttonset .p-button:focus{position:relative;z-index:1}p-button[iconpos=right] spinnericon{order:1}}@layer primeng{.p-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.p-checkbox-disabled{cursor:default!important;pointer-events:none}.p-checkbox-box{display:flex;justify-content:center;align-items:center}p-checkbox{display:inline-flex;vertical-align:bottom;align-items:center}.p-checkbox-label{line-height:1}}.p-colorpicker-panel .p-colorpicker-color{background:transparent url("./media/color-3LUHUBGQ.png") no-repeat left top}.p-colorpicker-panel .p-colorpicker-hue{background:transparent url("./media/hue-RMMBQOAC.png") no-repeat left top}@layer primeng{.p-inputtext{margin:0}.p-fluid .p-inputtext{width:100%}.p-inputgroup{display:flex;align-items:stretch;width:100%}.p-inputgroup-addon{display:flex;align-items:center;justify-content:center}.p-inputgroup .p-float-label{display:flex;align-items:stretch;width:100%}.p-inputgroup .p-inputtext,.p-fluid .p-inputgroup .p-inputtext,.p-inputgroup .p-inputwrapper,.p-inputgroup .p-inputwrapper>.p-component{flex:1 1 auto;width:1%}.p-float-label{display:block;position:relative}.p-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.p-float-label textarea~label{top:1rem}.p-float-label input:focus~label,.p-float-label input.p-filled~label,.p-float-label textarea:focus~label,.p-float-label textarea.p-filled~label,.p-float-label .p-inputwrapper-focus~label,.p-float-label .p-inputwrapper-filled~label{top:-.75rem;font-size:12px}.p-float-label .input:-webkit-autofill~label{top:-20px;font-size:12px}.p-float-label .p-placeholder,.p-float-label input::placeholder,.p-float-label .p-inputtext::placeholder{opacity:0;transition-property:all;transition-timing-function:ease}.p-float-label .p-focus .p-placeholder,.p-float-label input:focus::placeholder,.p-float-label .p-inputtext:focus::placeholder{opacity:1;transition-property:all;transition-timing-function:ease}.p-input-icon-left,.p-input-icon-right{position:relative;display:inline-block}.p-input-icon-left>i,.p-input-icon-left>.p-icon-wrapper,.p-input-icon-right>i,.p-input-icon-right>.p-icon-wrapper{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-input-icon-left,.p-fluid .p-input-icon-right{display:block;width:100%}}@layer primeng{.p-inputtextarea-resizable{overflow:hidden;resize:none}.p-fluid .p-inputtextarea{width:100%}}@layer primeng{.p-password{position:relative;display:inline-flex}.p-password-panel{position:absolute;top:0;left:0}.p-password .p-password-panel{min-width:100%}.p-password-meter{height:10px}.p-password-strength{height:100%;width:0%;transition:width 1s ease-in-out}.p-fluid .p-password{display:flex}.p-password-input::-ms-reveal,.p-password-input::-ms-clear{display:none}.p-password-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-password-clearable.p-password-mask .p-password-clear-icon{margin-top:unset}.p-password-clearable{position:relative}}@layer primeng{.p-radiobutton{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.p-radiobutton-box{display:flex;justify-content:center;align-items:center}.p-radiobutton-icon{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0) scale(.1);border-radius:50%;visibility:hidden}.p-radiobutton-box.p-highlight .p-radiobutton-icon{transform:translateZ(0) scale(1);visibility:visible}p-radiobutton{display:inline-flex;vertical-align:bottom;align-items:center}.p-radiobutton-label{line-height:1}}@layer primeng{.p-ripple{overflow:hidden;position:relative}.p-ink{display:block;position:absolute;background:#ffffff80;border-radius:100%;transform:scale(0)}.p-ink-active{animation:ripple .4s linear}.p-ripple-disabled .p-ink{display:none!important}}@keyframes ripple{to{opacity:0;transform:scale(2.5)}}@layer primeng{.p-tooltip{position:absolute;display:none;padding:.25em .5rem;max-width:12.5rem;pointer-events:none}.p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-left{padding:0 .25rem}.p-tooltip.p-tooltip-top,.p-tooltip.p-tooltip-bottom{padding:.25em 0}.p-tooltip .p-tooltip-text{white-space:pre-line;word-break:break-word}.p-tooltip-arrow{scale:2;position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.p-tooltip-right .p-tooltip-arrow{top:50%;left:0;margin-top:-.25rem;border-width:.25em .25em .25em 0}.p-tooltip-left .p-tooltip-arrow{top:50%;right:0;margin-top:-.25rem;border-width:.25em 0 .25em .25rem}.p-tooltip.p-tooltip-top{padding:.25em 0}.p-tooltip-top .p-tooltip-arrow{bottom:0;left:50%;margin-left:-.25rem;border-width:.25em .25em 0}.p-tooltip-bottom .p-tooltip-arrow{top:0;left:50%;margin-left:-.25rem;border-width:0 .25em .25rem}}@font-face{font-family:primeicons;font-display:block;src:url("./media/primeicons-77WLEVE2.eot");src:url("./media/primeicons-77WLEVE2.eot?#iefix") format("embedded-opentype"),url("./media/primeicons-XI7ZC3P3.woff2") format("woff2"),url("./media/primeicons-7C46RJHE.woff") format("woff"),url("./media/primeicons-AEJFRHCW.ttf") format("truetype"),url("./media/primeicons-SQ5LETCD.svg?#primeicons") format("svg");font-weight:400;font-style:normal}.pi{font-family:primeicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pi:before{--webkit-backface-visibility:hidden;backface-visibility:hidden}.pi-fw{width:1.28571429em;text-align:center}.pi-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.pi-eraser:before{content:"\ea04"}.pi-stopwatch:before{content:"\ea01"}.pi-verified:before{content:"\ea02"}.pi-delete-left:before{content:"\ea03"}.pi-hourglass:before{content:"\e9fe"}.pi-truck:before{content:"\ea00"}.pi-wrench:before{content:"\e9ff"}.pi-microphone:before{content:"\e9fa"}.pi-megaphone:before{content:"\e9fb"}.pi-arrow-right-arrow-left:before{content:"\e9fc"}.pi-bitcoin:before{content:"\e9fd"}.pi-file-edit:before{content:"\e9f6"}.pi-language:before{content:"\e9f7"}.pi-file-export:before{content:"\e9f8"}.pi-file-import:before{content:"\e9f9"}.pi-file-word:before{content:"\e9f1"}.pi-gift:before{content:"\e9f2"}.pi-cart-plus:before{content:"\e9f3"}.pi-thumbs-down-fill:before{content:"\e9f4"}.pi-thumbs-up-fill:before{content:"\e9f5"}.pi-arrows-alt:before{content:"\e9f0"}.pi-calculator:before{content:"\e9ef"}.pi-sort-alt-slash:before{content:"\e9ee"}.pi-arrows-h:before{content:"\e9ec"}.pi-arrows-v:before{content:"\e9ed"}.pi-pound:before{content:"\e9eb"}.pi-prime:before{content:"\e9ea"}.pi-chart-pie:before{content:"\e9e9"}.pi-reddit:before{content:"\e9e8"}.pi-code:before{content:"\e9e7"}.pi-sync:before{content:"\e9e6"}.pi-shopping-bag:before{content:"\e9e5"}.pi-server:before{content:"\e9e4"}.pi-database:before{content:"\e9e3"}.pi-hashtag:before{content:"\e9e2"}.pi-bookmark-fill:before{content:"\e9df"}.pi-filter-fill:before{content:"\e9e0"}.pi-heart-fill:before{content:"\e9e1"}.pi-flag-fill:before{content:"\e9de"}.pi-circle:before{content:"\e9dc"}.pi-circle-fill:before{content:"\e9dd"}.pi-bolt:before{content:"\e9db"}.pi-history:before{content:"\e9da"}.pi-box:before{content:"\e9d9"}.pi-at:before{content:"\e9d8"}.pi-arrow-up-right:before{content:"\e9d4"}.pi-arrow-up-left:before{content:"\e9d5"}.pi-arrow-down-left:before{content:"\e9d6"}.pi-arrow-down-right:before{content:"\e9d7"}.pi-telegram:before{content:"\e9d3"}.pi-stop-circle:before{content:"\e9d2"}.pi-stop:before{content:"\e9d1"}.pi-whatsapp:before{content:"\e9d0"}.pi-building:before{content:"\e9cf"}.pi-qrcode:before{content:"\e9ce"}.pi-car:before{content:"\e9cd"}.pi-instagram:before{content:"\e9cc"}.pi-linkedin:before{content:"\e9cb"}.pi-send:before{content:"\e9ca"}.pi-slack:before{content:"\e9c9"}.pi-sun:before{content:"\e9c8"}.pi-moon:before{content:"\e9c7"}.pi-vimeo:before{content:"\e9c6"}.pi-youtube:before{content:"\e9c5"}.pi-flag:before{content:"\e9c4"}.pi-wallet:before{content:"\e9c3"}.pi-map:before{content:"\e9c2"}.pi-link:before{content:"\e9c1"}.pi-credit-card:before{content:"\e9bf"}.pi-discord:before{content:"\e9c0"}.pi-percentage:before{content:"\e9be"}.pi-euro:before{content:"\e9bd"}.pi-book:before{content:"\e9ba"}.pi-shield:before{content:"\e9b9"}.pi-paypal:before{content:"\e9bb"}.pi-amazon:before{content:"\e9bc"}.pi-phone:before{content:"\e9b8"}.pi-filter-slash:before{content:"\e9b7"}.pi-facebook:before{content:"\e9b4"}.pi-github:before{content:"\e9b5"}.pi-twitter:before{content:"\e9b6"}.pi-step-backward-alt:before{content:"\e9ac"}.pi-step-forward-alt:before{content:"\e9ad"}.pi-forward:before{content:"\e9ae"}.pi-backward:before{content:"\e9af"}.pi-fast-backward:before{content:"\e9b0"}.pi-fast-forward:before{content:"\e9b1"}.pi-pause:before{content:"\e9b2"}.pi-play:before{content:"\e9b3"}.pi-compass:before{content:"\e9ab"}.pi-id-card:before{content:"\e9aa"}.pi-ticket:before{content:"\e9a9"}.pi-file-o:before{content:"\e9a8"}.pi-reply:before{content:"\e9a7"}.pi-directions-alt:before{content:"\e9a5"}.pi-directions:before{content:"\e9a6"}.pi-thumbs-up:before{content:"\e9a3"}.pi-thumbs-down:before{content:"\e9a4"}.pi-sort-numeric-down-alt:before{content:"\e996"}.pi-sort-numeric-up-alt:before{content:"\e997"}.pi-sort-alpha-down-alt:before{content:"\e998"}.pi-sort-alpha-up-alt:before{content:"\e999"}.pi-sort-numeric-down:before{content:"\e99a"}.pi-sort-numeric-up:before{content:"\e99b"}.pi-sort-alpha-down:before{content:"\e99c"}.pi-sort-alpha-up:before{content:"\e99d"}.pi-sort-alt:before{content:"\e99e"}.pi-sort-amount-up:before{content:"\e99f"}.pi-sort-amount-down:before{content:"\e9a0"}.pi-sort-amount-down-alt:before{content:"\e9a1"}.pi-sort-amount-up-alt:before{content:"\e9a2"}.pi-palette:before{content:"\e995"}.pi-undo:before{content:"\e994"}.pi-desktop:before{content:"\e993"}.pi-sliders-v:before{content:"\e991"}.pi-sliders-h:before{content:"\e992"}.pi-search-plus:before{content:"\e98f"}.pi-search-minus:before{content:"\e990"}.pi-file-excel:before{content:"\e98e"}.pi-file-pdf:before{content:"\e98d"}.pi-check-square:before{content:"\e98c"}.pi-chart-line:before{content:"\e98b"}.pi-user-edit:before{content:"\e98a"}.pi-exclamation-circle:before{content:"\e989"}.pi-android:before{content:"\e985"}.pi-google:before{content:"\e986"}.pi-apple:before{content:"\e987"}.pi-microsoft:before{content:"\e988"}.pi-heart:before{content:"\e984"}.pi-mobile:before{content:"\e982"}.pi-tablet:before{content:"\e983"}.pi-key:before{content:"\e981"}.pi-shopping-cart:before{content:"\e980"}.pi-comments:before{content:"\e97e"}.pi-comment:before{content:"\e97f"}.pi-briefcase:before{content:"\e97d"}.pi-bell:before{content:"\e97c"}.pi-paperclip:before{content:"\e97b"}.pi-share-alt:before{content:"\e97a"}.pi-envelope:before{content:"\e979"}.pi-volume-down:before{content:"\e976"}.pi-volume-up:before{content:"\e977"}.pi-volume-off:before{content:"\e978"}.pi-eject:before{content:"\e975"}.pi-money-bill:before{content:"\e974"}.pi-images:before{content:"\e973"}.pi-image:before{content:"\e972"}.pi-sign-in:before{content:"\e970"}.pi-sign-out:before{content:"\e971"}.pi-wifi:before{content:"\e96f"}.pi-sitemap:before{content:"\e96e"}.pi-chart-bar:before{content:"\e96d"}.pi-camera:before{content:"\e96c"}.pi-dollar:before{content:"\e96b"}.pi-lock-open:before{content:"\e96a"}.pi-table:before{content:"\e969"}.pi-map-marker:before{content:"\e968"}.pi-list:before{content:"\e967"}.pi-eye-slash:before{content:"\e965"}.pi-eye:before{content:"\e966"}.pi-folder-open:before{content:"\e964"}.pi-folder:before{content:"\e963"}.pi-video:before{content:"\e962"}.pi-inbox:before{content:"\e961"}.pi-lock:before{content:"\e95f"}.pi-unlock:before{content:"\e960"}.pi-tags:before{content:"\e95d"}.pi-tag:before{content:"\e95e"}.pi-power-off:before{content:"\e95c"}.pi-save:before{content:"\e95b"}.pi-question-circle:before{content:"\e959"}.pi-question:before{content:"\e95a"}.pi-copy:before{content:"\e957"}.pi-file:before{content:"\e958"}.pi-clone:before{content:"\e955"}.pi-calendar-times:before{content:"\e952"}.pi-calendar-minus:before{content:"\e953"}.pi-calendar-plus:before{content:"\e954"}.pi-ellipsis-v:before{content:"\e950"}.pi-ellipsis-h:before{content:"\e951"}.pi-bookmark:before{content:"\e94e"}.pi-globe:before{content:"\e94f"}.pi-replay:before{content:"\e94d"}.pi-filter:before{content:"\e94c"}.pi-print:before{content:"\e94b"}.pi-align-right:before{content:"\e946"}.pi-align-left:before{content:"\e947"}.pi-align-center:before{content:"\e948"}.pi-align-justify:before{content:"\e949"}.pi-cog:before{content:"\e94a"}.pi-cloud-download:before{content:"\e943"}.pi-cloud-upload:before{content:"\e944"}.pi-cloud:before{content:"\e945"}.pi-pencil:before{content:"\e942"}.pi-users:before{content:"\e941"}.pi-clock:before{content:"\e940"}.pi-user-minus:before{content:"\e93e"}.pi-user-plus:before{content:"\e93f"}.pi-trash:before{content:"\e93d"}.pi-external-link:before{content:"\e93c"}.pi-window-maximize:before{content:"\e93b"}.pi-window-minimize:before{content:"\e93a"}.pi-refresh:before{content:"\e938"}.pi-user:before{content:"\e939"}.pi-exclamation-triangle:before{content:"\e922"}.pi-calendar:before{content:"\e927"}.pi-chevron-circle-left:before{content:"\e928"}.pi-chevron-circle-down:before{content:"\e929"}.pi-chevron-circle-right:before{content:"\e92a"}.pi-chevron-circle-up:before{content:"\e92b"}.pi-angle-double-down:before{content:"\e92c"}.pi-angle-double-left:before{content:"\e92d"}.pi-angle-double-right:before{content:"\e92e"}.pi-angle-double-up:before{content:"\e92f"}.pi-angle-down:before{content:"\e930"}.pi-angle-left:before{content:"\e931"}.pi-angle-right:before{content:"\e932"}.pi-angle-up:before{content:"\e933"}.pi-upload:before{content:"\e934"}.pi-download:before{content:"\e956"}.pi-ban:before{content:"\e935"}.pi-star-fill:before{content:"\e936"}.pi-star:before{content:"\e937"}.pi-chevron-left:before{content:"\e900"}.pi-chevron-right:before{content:"\e901"}.pi-chevron-down:before{content:"\e902"}.pi-chevron-up:before{content:"\e903"}.pi-caret-left:before{content:"\e904"}.pi-caret-right:before{content:"\e905"}.pi-caret-down:before{content:"\e906"}.pi-caret-up:before{content:"\e907"}.pi-search:before{content:"\e908"}.pi-check:before{content:"\e909"}.pi-check-circle:before{content:"\e90a"}.pi-times:before{content:"\e90b"}.pi-times-circle:before{content:"\e90c"}.pi-plus:before{content:"\e90d"}.pi-plus-circle:before{content:"\e90e"}.pi-minus:before{content:"\e90f"}.pi-minus-circle:before{content:"\e910"}.pi-circle-on:before{content:"\e911"}.pi-circle-off:before{content:"\e912"}.pi-sort-down:before{content:"\e913"}.pi-sort-up:before{content:"\e914"}.pi-sort:before{content:"\e915"}.pi-step-backward:before{content:"\e916"}.pi-step-forward:before{content:"\e917"}.pi-th-large:before{content:"\e918"}.pi-arrow-down:before{content:"\e919"}.pi-arrow-left:before{content:"\e91a"}.pi-arrow-right:before{content:"\e91b"}.pi-arrow-up:before{content:"\e91c"}.pi-bars:before{content:"\e91d"}.pi-arrow-circle-down:before{content:"\e91e"}.pi-arrow-circle-left:before{content:"\e91f"}.pi-arrow-circle-right:before{content:"\e920"}.pi-arrow-circle-up:before{content:"\e921"}.pi-info:before{content:"\e923"}.pi-info-circle:before{content:"\e924"}.pi-home:before{content:"\e925"}.pi-spinner:before{content:"\e926"}.grid{display:flex;flex-wrap:wrap;margin-right:-.5rem;margin-left:-.5rem;margin-top:-.5rem}.grid>.col,.grid>[class*=col]{box-sizing:border-box}.grid-nogutter{margin-right:0;margin-left:0;margin-top:0}.grid-nogutter>.col,.grid-nogutter>[class*=col-]{padding:0}.col{flex-grow:1;flex-basis:0;padding:.5rem}.col-fixed{flex:0 0 auto;padding:.5rem}.col-1{flex:0 0 auto;padding:.5rem;width:8.3333%}.col-2{flex:0 0 auto;padding:.5rem;width:16.6667%}.col-3{flex:0 0 auto;padding:.5rem;width:25%}.col-4{flex:0 0 auto;padding:.5rem;width:33.3333%}.col-5{flex:0 0 auto;padding:.5rem;width:41.6667%}.col-6{flex:0 0 auto;padding:.5rem;width:50%}.col-7{flex:0 0 auto;padding:.5rem;width:58.3333%}.col-8{flex:0 0 auto;padding:.5rem;width:66.6667%}.col-9{flex:0 0 auto;padding:.5rem;width:75%}.col-10{flex:0 0 auto;padding:.5rem;width:83.3333%}.col-11{flex:0 0 auto;padding:.5rem;width:91.6667%}.col-12{flex:0 0 auto;padding:.5rem;width:100%}@media screen and (min-width: 576px){.sm\:col{flex-grow:1;flex-basis:0;padding:.5rem}.sm\:col-fixed{flex:0 0 auto;padding:.5rem}.sm\:col-1{flex:0 0 auto;padding:.5rem;width:8.3333%}.sm\:col-2{flex:0 0 auto;padding:.5rem;width:16.6667%}.sm\:col-3{flex:0 0 auto;padding:.5rem;width:25%}.sm\:col-4{flex:0 0 auto;padding:.5rem;width:33.3333%}.sm\:col-5{flex:0 0 auto;padding:.5rem;width:41.6667%}.sm\:col-6{flex:0 0 auto;padding:.5rem;width:50%}.sm\:col-7{flex:0 0 auto;padding:.5rem;width:58.3333%}.sm\:col-8{flex:0 0 auto;padding:.5rem;width:66.6667%}.sm\:col-9{flex:0 0 auto;padding:.5rem;width:75%}.sm\:col-10{flex:0 0 auto;padding:.5rem;width:83.3333%}.sm\:col-11{flex:0 0 auto;padding:.5rem;width:91.6667%}.sm\:col-12{flex:0 0 auto;padding:.5rem;width:100%}}@media screen and (min-width: 768px){.md\:col{flex-grow:1;flex-basis:0;padding:.5rem}.md\:col-fixed{flex:0 0 auto;padding:.5rem}.md\:col-1{flex:0 0 auto;padding:.5rem;width:8.3333%}.md\:col-2{flex:0 0 auto;padding:.5rem;width:16.6667%}.md\:col-3{flex:0 0 auto;padding:.5rem;width:25%}.md\:col-4{flex:0 0 auto;padding:.5rem;width:33.3333%}.md\:col-5{flex:0 0 auto;padding:.5rem;width:41.6667%}.md\:col-6{flex:0 0 auto;padding:.5rem;width:50%}.md\:col-7{flex:0 0 auto;padding:.5rem;width:58.3333%}.md\:col-8{flex:0 0 auto;padding:.5rem;width:66.6667%}.md\:col-9{flex:0 0 auto;padding:.5rem;width:75%}.md\:col-10{flex:0 0 auto;padding:.5rem;width:83.3333%}.md\:col-11{flex:0 0 auto;padding:.5rem;width:91.6667%}.md\:col-12{flex:0 0 auto;padding:.5rem;width:100%}}@media screen and (min-width: 992px){.lg\:col{flex-grow:1;flex-basis:0;padding:.5rem}.lg\:col-fixed{flex:0 0 auto;padding:.5rem}.lg\:col-1{flex:0 0 auto;padding:.5rem;width:8.3333%}.lg\:col-2{flex:0 0 auto;padding:.5rem;width:16.6667%}.lg\:col-3{flex:0 0 auto;padding:.5rem;width:25%}.lg\:col-4{flex:0 0 auto;padding:.5rem;width:33.3333%}.lg\:col-5{flex:0 0 auto;padding:.5rem;width:41.6667%}.lg\:col-6{flex:0 0 auto;padding:.5rem;width:50%}.lg\:col-7{flex:0 0 auto;padding:.5rem;width:58.3333%}.lg\:col-8{flex:0 0 auto;padding:.5rem;width:66.6667%}.lg\:col-9{flex:0 0 auto;padding:.5rem;width:75%}.lg\:col-10{flex:0 0 auto;padding:.5rem;width:83.3333%}.lg\:col-11{flex:0 0 auto;padding:.5rem;width:91.6667%}.lg\:col-12{flex:0 0 auto;padding:.5rem;width:100%}}@media screen and (min-width: 1200px){.xl\:col{flex-grow:1;flex-basis:0;padding:.5rem}.xl\:col-fixed{flex:0 0 auto;padding:.5rem}.xl\:col-1{flex:0 0 auto;padding:.5rem;width:8.3333%}.xl\:col-2{flex:0 0 auto;padding:.5rem;width:16.6667%}.xl\:col-3{flex:0 0 auto;padding:.5rem;width:25%}.xl\:col-4{flex:0 0 auto;padding:.5rem;width:33.3333%}.xl\:col-5{flex:0 0 auto;padding:.5rem;width:41.6667%}.xl\:col-6{flex:0 0 auto;padding:.5rem;width:50%}.xl\:col-7{flex:0 0 auto;padding:.5rem;width:58.3333%}.xl\:col-8{flex:0 0 auto;padding:.5rem;width:66.6667%}.xl\:col-9{flex:0 0 auto;padding:.5rem;width:75%}.xl\:col-10{flex:0 0 auto;padding:.5rem;width:83.3333%}.xl\:col-11{flex:0 0 auto;padding:.5rem;width:91.6667%}.xl\:col-12{flex:0 0 auto;padding:.5rem;width:100%}}.col-offset-0{margin-left:0!important}.col-offset-1{margin-left:8.3333%!important}.col-offset-2{margin-left:16.6667%!important}.col-offset-3{margin-left:25%!important}.col-offset-4{margin-left:33.3333%!important}.col-offset-5{margin-left:41.6667%!important}.col-offset-6{margin-left:50%!important}.col-offset-7{margin-left:58.3333%!important}.col-offset-8{margin-left:66.6667%!important}.col-offset-9{margin-left:75%!important}.col-offset-10{margin-left:83.3333%!important}.col-offset-11{margin-left:91.6667%!important}.col-offset-12{margin-left:100%!important}@media screen and (min-width: 576px){.sm\:col-offset-0{margin-left:0!important}.sm\:col-offset-1{margin-left:8.3333%!important}.sm\:col-offset-2{margin-left:16.6667%!important}.sm\:col-offset-3{margin-left:25%!important}.sm\:col-offset-4{margin-left:33.3333%!important}.sm\:col-offset-5{margin-left:41.6667%!important}.sm\:col-offset-6{margin-left:50%!important}.sm\:col-offset-7{margin-left:58.3333%!important}.sm\:col-offset-8{margin-left:66.6667%!important}.sm\:col-offset-9{margin-left:75%!important}.sm\:col-offset-10{margin-left:83.3333%!important}.sm\:col-offset-11{margin-left:91.6667%!important}.sm\:col-offset-12{margin-left:100%!important}}@media screen and (min-width: 768px){.md\:col-offset-0{margin-left:0!important}.md\:col-offset-1{margin-left:8.3333%!important}.md\:col-offset-2{margin-left:16.6667%!important}.md\:col-offset-3{margin-left:25%!important}.md\:col-offset-4{margin-left:33.3333%!important}.md\:col-offset-5{margin-left:41.6667%!important}.md\:col-offset-6{margin-left:50%!important}.md\:col-offset-7{margin-left:58.3333%!important}.md\:col-offset-8{margin-left:66.6667%!important}.md\:col-offset-9{margin-left:75%!important}.md\:col-offset-10{margin-left:83.3333%!important}.md\:col-offset-11{margin-left:91.6667%!important}.md\:col-offset-12{margin-left:100%!important}}@media screen and (min-width: 992px){.lg\:col-offset-0{margin-left:0!important}.lg\:col-offset-1{margin-left:8.3333%!important}.lg\:col-offset-2{margin-left:16.6667%!important}.lg\:col-offset-3{margin-left:25%!important}.lg\:col-offset-4{margin-left:33.3333%!important}.lg\:col-offset-5{margin-left:41.6667%!important}.lg\:col-offset-6{margin-left:50%!important}.lg\:col-offset-7{margin-left:58.3333%!important}.lg\:col-offset-8{margin-left:66.6667%!important}.lg\:col-offset-9{margin-left:75%!important}.lg\:col-offset-10{margin-left:83.3333%!important}.lg\:col-offset-11{margin-left:91.6667%!important}.lg\:col-offset-12{margin-left:100%!important}}@media screen and (min-width: 1200px){.xl\:col-offset-0{margin-left:0!important}.xl\:col-offset-1{margin-left:8.3333%!important}.xl\:col-offset-2{margin-left:16.6667%!important}.xl\:col-offset-3{margin-left:25%!important}.xl\:col-offset-4{margin-left:33.3333%!important}.xl\:col-offset-5{margin-left:41.6667%!important}.xl\:col-offset-6{margin-left:50%!important}.xl\:col-offset-7{margin-left:58.3333%!important}.xl\:col-offset-8{margin-left:66.6667%!important}.xl\:col-offset-9{margin-left:75%!important}.xl\:col-offset-10{margin-left:83.3333%!important}.xl\:col-offset-11{margin-left:91.6667%!important}.xl\:col-offset-12{margin-left:100%!important}}.text-0{color:var(--surface-0)!important}.text-50{color:var(--surface-50)!important}.text-100{color:var(--surface-100)!important}.text-200{color:var(--surface-200)!important}.text-300{color:var(--surface-300)!important}.text-400{color:var(--surface-400)!important}.text-500{color:var(--surface-500)!important}.text-600{color:var(--surface-600)!important}.text-700{color:var(--surface-700)!important}.text-800{color:var(--surface-800)!important}.text-900{color:var(--surface-900)!important}.focus\:text-0:focus{color:var(--surface-0)!important}.hover\:text-0:hover,.active\:text-0:active{color:var(--surface-0)!important}.focus\:text-50:focus{color:var(--surface-50)!important}.hover\:text-50:hover,.active\:text-50:active{color:var(--surface-50)!important}.focus\:text-100:focus{color:var(--surface-100)!important}.hover\:text-100:hover,.active\:text-100:active{color:var(--surface-100)!important}.focus\:text-200:focus{color:var(--surface-200)!important}.hover\:text-200:hover,.active\:text-200:active{color:var(--surface-200)!important}.focus\:text-300:focus{color:var(--surface-300)!important}.hover\:text-300:hover,.active\:text-300:active{color:var(--surface-300)!important}.focus\:text-400:focus{color:var(--surface-400)!important}.hover\:text-400:hover,.active\:text-400:active{color:var(--surface-400)!important}.focus\:text-500:focus{color:var(--surface-500)!important}.hover\:text-500:hover,.active\:text-500:active{color:var(--surface-500)!important}.focus\:text-600:focus{color:var(--surface-600)!important}.hover\:text-600:hover,.active\:text-600:active{color:var(--surface-600)!important}.focus\:text-700:focus{color:var(--surface-700)!important}.hover\:text-700:hover,.active\:text-700:active{color:var(--surface-700)!important}.focus\:text-800:focus{color:var(--surface-800)!important}.hover\:text-800:hover,.active\:text-800:active{color:var(--surface-800)!important}.focus\:text-900:focus{color:var(--surface-900)!important}.hover\:text-900:hover,.active\:text-900:active{color:var(--surface-900)!important}.surface-0{background-color:var(--surface-0)!important}.surface-50{background-color:var(--surface-50)!important}.surface-100{background-color:var(--surface-100)!important}.surface-200{background-color:var(--surface-200)!important}.surface-300{background-color:var(--surface-300)!important}.surface-400{background-color:var(--surface-400)!important}.surface-500{background-color:var(--surface-500)!important}.surface-600{background-color:var(--surface-600)!important}.surface-700{background-color:var(--surface-700)!important}.surface-800{background-color:var(--surface-800)!important}.surface-900{background-color:var(--surface-900)!important}.focus\:surface-0:focus{background-color:var(--surface-0)!important}.hover\:surface-0:hover,.active\:surface-0:active{background-color:var(--surface-0)!important}.focus\:surface-50:focus{background-color:var(--surface-50)!important}.hover\:surface-50:hover,.active\:surface-50:active{background-color:var(--surface-50)!important}.focus\:surface-100:focus{background-color:var(--surface-100)!important}.hover\:surface-100:hover,.active\:surface-100:active{background-color:var(--surface-100)!important}.focus\:surface-200:focus{background-color:var(--surface-200)!important}.hover\:surface-200:hover,.active\:surface-200:active{background-color:var(--surface-200)!important}.focus\:surface-300:focus{background-color:var(--surface-300)!important}.hover\:surface-300:hover,.active\:surface-300:active{background-color:var(--surface-300)!important}.focus\:surface-400:focus{background-color:var(--surface-400)!important}.hover\:surface-400:hover,.active\:surface-400:active{background-color:var(--surface-400)!important}.focus\:surface-500:focus{background-color:var(--surface-500)!important}.hover\:surface-500:hover,.active\:surface-500:active{background-color:var(--surface-500)!important}.focus\:surface-600:focus{background-color:var(--surface-600)!important}.hover\:surface-600:hover,.active\:surface-600:active{background-color:var(--surface-600)!important}.focus\:surface-700:focus{background-color:var(--surface-700)!important}.hover\:surface-700:hover,.active\:surface-700:active{background-color:var(--surface-700)!important}.focus\:surface-800:focus{background-color:var(--surface-800)!important}.hover\:surface-800:hover,.active\:surface-800:active{background-color:var(--surface-800)!important}.focus\:surface-900:focus{background-color:var(--surface-900)!important}.hover\:surface-900:hover,.active\:surface-900:active{background-color:var(--surface-900)!important}.border-0{border-color:var(--surface-0)!important}.border-50{border-color:var(--surface-50)!important}.border-100{border-color:var(--surface-100)!important}.border-200{border-color:var(--surface-200)!important}.border-300{border-color:var(--surface-300)!important}.border-400{border-color:var(--surface-400)!important}.border-500{border-color:var(--surface-500)!important}.border-600{border-color:var(--surface-600)!important}.border-700{border-color:var(--surface-700)!important}.border-800{border-color:var(--surface-800)!important}.border-900{border-color:var(--surface-900)!important}.focus\:border-0:focus{border-color:var(--surface-0)!important}.hover\:border-0:hover,.active\:border-0:active{border-color:var(--surface-0)!important}.focus\:border-50:focus{border-color:var(--surface-50)!important}.hover\:border-50:hover,.active\:border-50:active{border-color:var(--surface-50)!important}.focus\:border-100:focus{border-color:var(--surface-100)!important}.hover\:border-100:hover,.active\:border-100:active{border-color:var(--surface-100)!important}.focus\:border-200:focus{border-color:var(--surface-200)!important}.hover\:border-200:hover,.active\:border-200:active{border-color:var(--surface-200)!important}.focus\:border-300:focus{border-color:var(--surface-300)!important}.hover\:border-300:hover,.active\:border-300:active{border-color:var(--surface-300)!important}.focus\:border-400:focus{border-color:var(--surface-400)!important}.hover\:border-400:hover,.active\:border-400:active{border-color:var(--surface-400)!important}.focus\:border-500:focus{border-color:var(--surface-500)!important}.hover\:border-500:hover,.active\:border-500:active{border-color:var(--surface-500)!important}.focus\:border-600:focus{border-color:var(--surface-600)!important}.hover\:border-600:hover,.active\:border-600:active{border-color:var(--surface-600)!important}.focus\:border-700:focus{border-color:var(--surface-700)!important}.hover\:border-700:hover,.active\:border-700:active{border-color:var(--surface-700)!important}.focus\:border-800:focus{border-color:var(--surface-800)!important}.hover\:border-800:hover,.active\:border-800:active{border-color:var(--surface-800)!important}.focus\:border-900:focus{border-color:var(--surface-900)!important}.hover\:border-900:hover,.active\:border-900:active{border-color:var(--surface-900)!important}.bg-transparent{background-color:transparent!important}@media screen and (min-width: 576px){.sm\:bg-transparent{background-color:transparent!important}}@media screen and (min-width: 768px){.md\:bg-transparent{background-color:transparent!important}}@media screen and (min-width: 992px){.lg\:bg-transparent{background-color:transparent!important}}@media screen and (min-width: 1200px){.xl\:bg-transparent{background-color:transparent!important}}.border-transparent{border-color:transparent!important}@media screen and (min-width: 576px){.sm\:border-transparent{border-color:transparent!important}}@media screen and (min-width: 768px){.md\:border-transparent{border-color:transparent!important}}@media screen and (min-width: 992px){.lg\:border-transparent{border-color:transparent!important}}@media screen and (min-width: 1200px){.xl\:border-transparent{border-color:transparent!important}}.text-blue-50{color:var(--blue-50)!important}.text-blue-100{color:var(--blue-100)!important}.text-blue-200{color:var(--blue-200)!important}.text-blue-300{color:var(--blue-300)!important}.text-blue-400{color:var(--blue-400)!important}.text-blue-500{color:var(--blue-500)!important}.text-blue-600{color:var(--blue-600)!important}.text-blue-700{color:var(--blue-700)!important}.text-blue-800{color:var(--blue-800)!important}.text-blue-900{color:var(--blue-900)!important}.focus\:text-blue-50:focus{color:var(--blue-50)!important}.focus\:text-blue-100:focus{color:var(--blue-100)!important}.focus\:text-blue-200:focus{color:var(--blue-200)!important}.focus\:text-blue-300:focus{color:var(--blue-300)!important}.focus\:text-blue-400:focus{color:var(--blue-400)!important}.focus\:text-blue-500:focus{color:var(--blue-500)!important}.focus\:text-blue-600:focus{color:var(--blue-600)!important}.focus\:text-blue-700:focus{color:var(--blue-700)!important}.focus\:text-blue-800:focus{color:var(--blue-800)!important}.focus\:text-blue-900:focus{color:var(--blue-900)!important}.hover\:text-blue-50:hover{color:var(--blue-50)!important}.hover\:text-blue-100:hover{color:var(--blue-100)!important}.hover\:text-blue-200:hover{color:var(--blue-200)!important}.hover\:text-blue-300:hover{color:var(--blue-300)!important}.hover\:text-blue-400:hover{color:var(--blue-400)!important}.hover\:text-blue-500:hover{color:var(--blue-500)!important}.hover\:text-blue-600:hover{color:var(--blue-600)!important}.hover\:text-blue-700:hover{color:var(--blue-700)!important}.hover\:text-blue-800:hover{color:var(--blue-800)!important}.hover\:text-blue-900:hover{color:var(--blue-900)!important}.active\:text-blue-50:active{color:var(--blue-50)!important}.active\:text-blue-100:active{color:var(--blue-100)!important}.active\:text-blue-200:active{color:var(--blue-200)!important}.active\:text-blue-300:active{color:var(--blue-300)!important}.active\:text-blue-400:active{color:var(--blue-400)!important}.active\:text-blue-500:active{color:var(--blue-500)!important}.active\:text-blue-600:active{color:var(--blue-600)!important}.active\:text-blue-700:active{color:var(--blue-700)!important}.active\:text-blue-800:active{color:var(--blue-800)!important}.active\:text-blue-900:active{color:var(--blue-900)!important}.text-green-50{color:var(--green-50)!important}.text-green-100{color:var(--green-100)!important}.text-green-200{color:var(--green-200)!important}.text-green-300{color:var(--green-300)!important}.text-green-400{color:var(--green-400)!important}.text-green-500{color:var(--green-500)!important}.text-green-600{color:var(--green-600)!important}.text-green-700{color:var(--green-700)!important}.text-green-800{color:var(--green-800)!important}.text-green-900{color:var(--green-900)!important}.focus\:text-green-50:focus{color:var(--green-50)!important}.focus\:text-green-100:focus{color:var(--green-100)!important}.focus\:text-green-200:focus{color:var(--green-200)!important}.focus\:text-green-300:focus{color:var(--green-300)!important}.focus\:text-green-400:focus{color:var(--green-400)!important}.focus\:text-green-500:focus{color:var(--green-500)!important}.focus\:text-green-600:focus{color:var(--green-600)!important}.focus\:text-green-700:focus{color:var(--green-700)!important}.focus\:text-green-800:focus{color:var(--green-800)!important}.focus\:text-green-900:focus{color:var(--green-900)!important}.hover\:text-green-50:hover{color:var(--green-50)!important}.hover\:text-green-100:hover{color:var(--green-100)!important}.hover\:text-green-200:hover{color:var(--green-200)!important}.hover\:text-green-300:hover{color:var(--green-300)!important}.hover\:text-green-400:hover{color:var(--green-400)!important}.hover\:text-green-500:hover{color:var(--green-500)!important}.hover\:text-green-600:hover{color:var(--green-600)!important}.hover\:text-green-700:hover{color:var(--green-700)!important}.hover\:text-green-800:hover{color:var(--green-800)!important}.hover\:text-green-900:hover{color:var(--green-900)!important}.active\:text-green-50:active{color:var(--green-50)!important}.active\:text-green-100:active{color:var(--green-100)!important}.active\:text-green-200:active{color:var(--green-200)!important}.active\:text-green-300:active{color:var(--green-300)!important}.active\:text-green-400:active{color:var(--green-400)!important}.active\:text-green-500:active{color:var(--green-500)!important}.active\:text-green-600:active{color:var(--green-600)!important}.active\:text-green-700:active{color:var(--green-700)!important}.active\:text-green-800:active{color:var(--green-800)!important}.active\:text-green-900:active{color:var(--green-900)!important}.text-yellow-50{color:var(--yellow-50)!important}.text-yellow-100{color:var(--yellow-100)!important}.text-yellow-200{color:var(--yellow-200)!important}.text-yellow-300{color:var(--yellow-300)!important}.text-yellow-400{color:var(--yellow-400)!important}.text-yellow-500{color:var(--yellow-500)!important}.text-yellow-600{color:var(--yellow-600)!important}.text-yellow-700{color:var(--yellow-700)!important}.text-yellow-800{color:var(--yellow-800)!important}.text-yellow-900{color:var(--yellow-900)!important}.focus\:text-yellow-50:focus{color:var(--yellow-50)!important}.focus\:text-yellow-100:focus{color:var(--yellow-100)!important}.focus\:text-yellow-200:focus{color:var(--yellow-200)!important}.focus\:text-yellow-300:focus{color:var(--yellow-300)!important}.focus\:text-yellow-400:focus{color:var(--yellow-400)!important}.focus\:text-yellow-500:focus{color:var(--yellow-500)!important}.focus\:text-yellow-600:focus{color:var(--yellow-600)!important}.focus\:text-yellow-700:focus{color:var(--yellow-700)!important}.focus\:text-yellow-800:focus{color:var(--yellow-800)!important}.focus\:text-yellow-900:focus{color:var(--yellow-900)!important}.hover\:text-yellow-50:hover{color:var(--yellow-50)!important}.hover\:text-yellow-100:hover{color:var(--yellow-100)!important}.hover\:text-yellow-200:hover{color:var(--yellow-200)!important}.hover\:text-yellow-300:hover{color:var(--yellow-300)!important}.hover\:text-yellow-400:hover{color:var(--yellow-400)!important}.hover\:text-yellow-500:hover{color:var(--yellow-500)!important}.hover\:text-yellow-600:hover{color:var(--yellow-600)!important}.hover\:text-yellow-700:hover{color:var(--yellow-700)!important}.hover\:text-yellow-800:hover{color:var(--yellow-800)!important}.hover\:text-yellow-900:hover{color:var(--yellow-900)!important}.active\:text-yellow-50:active{color:var(--yellow-50)!important}.active\:text-yellow-100:active{color:var(--yellow-100)!important}.active\:text-yellow-200:active{color:var(--yellow-200)!important}.active\:text-yellow-300:active{color:var(--yellow-300)!important}.active\:text-yellow-400:active{color:var(--yellow-400)!important}.active\:text-yellow-500:active{color:var(--yellow-500)!important}.active\:text-yellow-600:active{color:var(--yellow-600)!important}.active\:text-yellow-700:active{color:var(--yellow-700)!important}.active\:text-yellow-800:active{color:var(--yellow-800)!important}.active\:text-yellow-900:active{color:var(--yellow-900)!important}.text-cyan-50{color:var(--cyan-50)!important}.text-cyan-100{color:var(--cyan-100)!important}.text-cyan-200{color:var(--cyan-200)!important}.text-cyan-300{color:var(--cyan-300)!important}.text-cyan-400{color:var(--cyan-400)!important}.text-cyan-500{color:var(--cyan-500)!important}.text-cyan-600{color:var(--cyan-600)!important}.text-cyan-700{color:var(--cyan-700)!important}.text-cyan-800{color:var(--cyan-800)!important}.text-cyan-900{color:var(--cyan-900)!important}.focus\:text-cyan-50:focus{color:var(--cyan-50)!important}.focus\:text-cyan-100:focus{color:var(--cyan-100)!important}.focus\:text-cyan-200:focus{color:var(--cyan-200)!important}.focus\:text-cyan-300:focus{color:var(--cyan-300)!important}.focus\:text-cyan-400:focus{color:var(--cyan-400)!important}.focus\:text-cyan-500:focus{color:var(--cyan-500)!important}.focus\:text-cyan-600:focus{color:var(--cyan-600)!important}.focus\:text-cyan-700:focus{color:var(--cyan-700)!important}.focus\:text-cyan-800:focus{color:var(--cyan-800)!important}.focus\:text-cyan-900:focus{color:var(--cyan-900)!important}.hover\:text-cyan-50:hover{color:var(--cyan-50)!important}.hover\:text-cyan-100:hover{color:var(--cyan-100)!important}.hover\:text-cyan-200:hover{color:var(--cyan-200)!important}.hover\:text-cyan-300:hover{color:var(--cyan-300)!important}.hover\:text-cyan-400:hover{color:var(--cyan-400)!important}.hover\:text-cyan-500:hover{color:var(--cyan-500)!important}.hover\:text-cyan-600:hover{color:var(--cyan-600)!important}.hover\:text-cyan-700:hover{color:var(--cyan-700)!important}.hover\:text-cyan-800:hover{color:var(--cyan-800)!important}.hover\:text-cyan-900:hover{color:var(--cyan-900)!important}.active\:text-cyan-50:active{color:var(--cyan-50)!important}.active\:text-cyan-100:active{color:var(--cyan-100)!important}.active\:text-cyan-200:active{color:var(--cyan-200)!important}.active\:text-cyan-300:active{color:var(--cyan-300)!important}.active\:text-cyan-400:active{color:var(--cyan-400)!important}.active\:text-cyan-500:active{color:var(--cyan-500)!important}.active\:text-cyan-600:active{color:var(--cyan-600)!important}.active\:text-cyan-700:active{color:var(--cyan-700)!important}.active\:text-cyan-800:active{color:var(--cyan-800)!important}.active\:text-cyan-900:active{color:var(--cyan-900)!important}.text-pink-50{color:var(--pink-50)!important}.text-pink-100{color:var(--pink-100)!important}.text-pink-200{color:var(--pink-200)!important}.text-pink-300{color:var(--pink-300)!important}.text-pink-400{color:var(--pink-400)!important}.text-pink-500{color:var(--pink-500)!important}.text-pink-600{color:var(--pink-600)!important}.text-pink-700{color:var(--pink-700)!important}.text-pink-800{color:var(--pink-800)!important}.text-pink-900{color:var(--pink-900)!important}.focus\:text-pink-50:focus{color:var(--pink-50)!important}.focus\:text-pink-100:focus{color:var(--pink-100)!important}.focus\:text-pink-200:focus{color:var(--pink-200)!important}.focus\:text-pink-300:focus{color:var(--pink-300)!important}.focus\:text-pink-400:focus{color:var(--pink-400)!important}.focus\:text-pink-500:focus{color:var(--pink-500)!important}.focus\:text-pink-600:focus{color:var(--pink-600)!important}.focus\:text-pink-700:focus{color:var(--pink-700)!important}.focus\:text-pink-800:focus{color:var(--pink-800)!important}.focus\:text-pink-900:focus{color:var(--pink-900)!important}.hover\:text-pink-50:hover{color:var(--pink-50)!important}.hover\:text-pink-100:hover{color:var(--pink-100)!important}.hover\:text-pink-200:hover{color:var(--pink-200)!important}.hover\:text-pink-300:hover{color:var(--pink-300)!important}.hover\:text-pink-400:hover{color:var(--pink-400)!important}.hover\:text-pink-500:hover{color:var(--pink-500)!important}.hover\:text-pink-600:hover{color:var(--pink-600)!important}.hover\:text-pink-700:hover{color:var(--pink-700)!important}.hover\:text-pink-800:hover{color:var(--pink-800)!important}.hover\:text-pink-900:hover{color:var(--pink-900)!important}.active\:text-pink-50:active{color:var(--pink-50)!important}.active\:text-pink-100:active{color:var(--pink-100)!important}.active\:text-pink-200:active{color:var(--pink-200)!important}.active\:text-pink-300:active{color:var(--pink-300)!important}.active\:text-pink-400:active{color:var(--pink-400)!important}.active\:text-pink-500:active{color:var(--pink-500)!important}.active\:text-pink-600:active{color:var(--pink-600)!important}.active\:text-pink-700:active{color:var(--pink-700)!important}.active\:text-pink-800:active{color:var(--pink-800)!important}.active\:text-pink-900:active{color:var(--pink-900)!important}.text-indigo-50{color:var(--indigo-50)!important}.text-indigo-100{color:var(--indigo-100)!important}.text-indigo-200{color:var(--indigo-200)!important}.text-indigo-300{color:var(--indigo-300)!important}.text-indigo-400{color:var(--indigo-400)!important}.text-indigo-500{color:var(--indigo-500)!important}.text-indigo-600{color:var(--indigo-600)!important}.text-indigo-700{color:var(--indigo-700)!important}.text-indigo-800{color:var(--indigo-800)!important}.text-indigo-900{color:var(--indigo-900)!important}.focus\:text-indigo-50:focus{color:var(--indigo-50)!important}.focus\:text-indigo-100:focus{color:var(--indigo-100)!important}.focus\:text-indigo-200:focus{color:var(--indigo-200)!important}.focus\:text-indigo-300:focus{color:var(--indigo-300)!important}.focus\:text-indigo-400:focus{color:var(--indigo-400)!important}.focus\:text-indigo-500:focus{color:var(--indigo-500)!important}.focus\:text-indigo-600:focus{color:var(--indigo-600)!important}.focus\:text-indigo-700:focus{color:var(--indigo-700)!important}.focus\:text-indigo-800:focus{color:var(--indigo-800)!important}.focus\:text-indigo-900:focus{color:var(--indigo-900)!important}.hover\:text-indigo-50:hover{color:var(--indigo-50)!important}.hover\:text-indigo-100:hover{color:var(--indigo-100)!important}.hover\:text-indigo-200:hover{color:var(--indigo-200)!important}.hover\:text-indigo-300:hover{color:var(--indigo-300)!important}.hover\:text-indigo-400:hover{color:var(--indigo-400)!important}.hover\:text-indigo-500:hover{color:var(--indigo-500)!important}.hover\:text-indigo-600:hover{color:var(--indigo-600)!important}.hover\:text-indigo-700:hover{color:var(--indigo-700)!important}.hover\:text-indigo-800:hover{color:var(--indigo-800)!important}.hover\:text-indigo-900:hover{color:var(--indigo-900)!important}.active\:text-indigo-50:active{color:var(--indigo-50)!important}.active\:text-indigo-100:active{color:var(--indigo-100)!important}.active\:text-indigo-200:active{color:var(--indigo-200)!important}.active\:text-indigo-300:active{color:var(--indigo-300)!important}.active\:text-indigo-400:active{color:var(--indigo-400)!important}.active\:text-indigo-500:active{color:var(--indigo-500)!important}.active\:text-indigo-600:active{color:var(--indigo-600)!important}.active\:text-indigo-700:active{color:var(--indigo-700)!important}.active\:text-indigo-800:active{color:var(--indigo-800)!important}.active\:text-indigo-900:active{color:var(--indigo-900)!important}.text-teal-50{color:var(--teal-50)!important}.text-teal-100{color:var(--teal-100)!important}.text-teal-200{color:var(--teal-200)!important}.text-teal-300{color:var(--teal-300)!important}.text-teal-400{color:var(--teal-400)!important}.text-teal-500{color:var(--teal-500)!important}.text-teal-600{color:var(--teal-600)!important}.text-teal-700{color:var(--teal-700)!important}.text-teal-800{color:var(--teal-800)!important}.text-teal-900{color:var(--teal-900)!important}.focus\:text-teal-50:focus{color:var(--teal-50)!important}.focus\:text-teal-100:focus{color:var(--teal-100)!important}.focus\:text-teal-200:focus{color:var(--teal-200)!important}.focus\:text-teal-300:focus{color:var(--teal-300)!important}.focus\:text-teal-400:focus{color:var(--teal-400)!important}.focus\:text-teal-500:focus{color:var(--teal-500)!important}.focus\:text-teal-600:focus{color:var(--teal-600)!important}.focus\:text-teal-700:focus{color:var(--teal-700)!important}.focus\:text-teal-800:focus{color:var(--teal-800)!important}.focus\:text-teal-900:focus{color:var(--teal-900)!important}.hover\:text-teal-50:hover{color:var(--teal-50)!important}.hover\:text-teal-100:hover{color:var(--teal-100)!important}.hover\:text-teal-200:hover{color:var(--teal-200)!important}.hover\:text-teal-300:hover{color:var(--teal-300)!important}.hover\:text-teal-400:hover{color:var(--teal-400)!important}.hover\:text-teal-500:hover{color:var(--teal-500)!important}.hover\:text-teal-600:hover{color:var(--teal-600)!important}.hover\:text-teal-700:hover{color:var(--teal-700)!important}.hover\:text-teal-800:hover{color:var(--teal-800)!important}.hover\:text-teal-900:hover{color:var(--teal-900)!important}.active\:text-teal-50:active{color:var(--teal-50)!important}.active\:text-teal-100:active{color:var(--teal-100)!important}.active\:text-teal-200:active{color:var(--teal-200)!important}.active\:text-teal-300:active{color:var(--teal-300)!important}.active\:text-teal-400:active{color:var(--teal-400)!important}.active\:text-teal-500:active{color:var(--teal-500)!important}.active\:text-teal-600:active{color:var(--teal-600)!important}.active\:text-teal-700:active{color:var(--teal-700)!important}.active\:text-teal-800:active{color:var(--teal-800)!important}.active\:text-teal-900:active{color:var(--teal-900)!important}.text-orange-50{color:var(--orange-50)!important}.text-orange-100{color:var(--orange-100)!important}.text-orange-200{color:var(--orange-200)!important}.text-orange-300{color:var(--orange-300)!important}.text-orange-400{color:var(--orange-400)!important}.text-orange-500{color:var(--orange-500)!important}.text-orange-600{color:var(--orange-600)!important}.text-orange-700{color:var(--orange-700)!important}.text-orange-800{color:var(--orange-800)!important}.text-orange-900{color:var(--orange-900)!important}.focus\:text-orange-50:focus{color:var(--orange-50)!important}.focus\:text-orange-100:focus{color:var(--orange-100)!important}.focus\:text-orange-200:focus{color:var(--orange-200)!important}.focus\:text-orange-300:focus{color:var(--orange-300)!important}.focus\:text-orange-400:focus{color:var(--orange-400)!important}.focus\:text-orange-500:focus{color:var(--orange-500)!important}.focus\:text-orange-600:focus{color:var(--orange-600)!important}.focus\:text-orange-700:focus{color:var(--orange-700)!important}.focus\:text-orange-800:focus{color:var(--orange-800)!important}.focus\:text-orange-900:focus{color:var(--orange-900)!important}.hover\:text-orange-50:hover{color:var(--orange-50)!important}.hover\:text-orange-100:hover{color:var(--orange-100)!important}.hover\:text-orange-200:hover{color:var(--orange-200)!important}.hover\:text-orange-300:hover{color:var(--orange-300)!important}.hover\:text-orange-400:hover{color:var(--orange-400)!important}.hover\:text-orange-500:hover{color:var(--orange-500)!important}.hover\:text-orange-600:hover{color:var(--orange-600)!important}.hover\:text-orange-700:hover{color:var(--orange-700)!important}.hover\:text-orange-800:hover{color:var(--orange-800)!important}.hover\:text-orange-900:hover{color:var(--orange-900)!important}.active\:text-orange-50:active{color:var(--orange-50)!important}.active\:text-orange-100:active{color:var(--orange-100)!important}.active\:text-orange-200:active{color:var(--orange-200)!important}.active\:text-orange-300:active{color:var(--orange-300)!important}.active\:text-orange-400:active{color:var(--orange-400)!important}.active\:text-orange-500:active{color:var(--orange-500)!important}.active\:text-orange-600:active{color:var(--orange-600)!important}.active\:text-orange-700:active{color:var(--orange-700)!important}.active\:text-orange-800:active{color:var(--orange-800)!important}.active\:text-orange-900:active{color:var(--orange-900)!important}.text-bluegray-50{color:var(--bluegray-50)!important}.text-bluegray-100{color:var(--bluegray-100)!important}.text-bluegray-200{color:var(--bluegray-200)!important}.text-bluegray-300{color:var(--bluegray-300)!important}.text-bluegray-400{color:var(--bluegray-400)!important}.text-bluegray-500{color:var(--bluegray-500)!important}.text-bluegray-600{color:var(--bluegray-600)!important}.text-bluegray-700{color:var(--bluegray-700)!important}.text-bluegray-800{color:var(--bluegray-800)!important}.text-bluegray-900{color:var(--bluegray-900)!important}.focus\:text-bluegray-50:focus{color:var(--bluegray-50)!important}.focus\:text-bluegray-100:focus{color:var(--bluegray-100)!important}.focus\:text-bluegray-200:focus{color:var(--bluegray-200)!important}.focus\:text-bluegray-300:focus{color:var(--bluegray-300)!important}.focus\:text-bluegray-400:focus{color:var(--bluegray-400)!important}.focus\:text-bluegray-500:focus{color:var(--bluegray-500)!important}.focus\:text-bluegray-600:focus{color:var(--bluegray-600)!important}.focus\:text-bluegray-700:focus{color:var(--bluegray-700)!important}.focus\:text-bluegray-800:focus{color:var(--bluegray-800)!important}.focus\:text-bluegray-900:focus{color:var(--bluegray-900)!important}.hover\:text-bluegray-50:hover{color:var(--bluegray-50)!important}.hover\:text-bluegray-100:hover{color:var(--bluegray-100)!important}.hover\:text-bluegray-200:hover{color:var(--bluegray-200)!important}.hover\:text-bluegray-300:hover{color:var(--bluegray-300)!important}.hover\:text-bluegray-400:hover{color:var(--bluegray-400)!important}.hover\:text-bluegray-500:hover{color:var(--bluegray-500)!important}.hover\:text-bluegray-600:hover{color:var(--bluegray-600)!important}.hover\:text-bluegray-700:hover{color:var(--bluegray-700)!important}.hover\:text-bluegray-800:hover{color:var(--bluegray-800)!important}.hover\:text-bluegray-900:hover{color:var(--bluegray-900)!important}.active\:text-bluegray-50:active{color:var(--bluegray-50)!important}.active\:text-bluegray-100:active{color:var(--bluegray-100)!important}.active\:text-bluegray-200:active{color:var(--bluegray-200)!important}.active\:text-bluegray-300:active{color:var(--bluegray-300)!important}.active\:text-bluegray-400:active{color:var(--bluegray-400)!important}.active\:text-bluegray-500:active{color:var(--bluegray-500)!important}.active\:text-bluegray-600:active{color:var(--bluegray-600)!important}.active\:text-bluegray-700:active{color:var(--bluegray-700)!important}.active\:text-bluegray-800:active{color:var(--bluegray-800)!important}.active\:text-bluegray-900:active{color:var(--bluegray-900)!important}.text-purple-50{color:var(--purple-50)!important}.text-purple-100{color:var(--purple-100)!important}.text-purple-200{color:var(--purple-200)!important}.text-purple-300{color:var(--purple-300)!important}.text-purple-400{color:var(--purple-400)!important}.text-purple-500{color:var(--purple-500)!important}.text-purple-600{color:var(--purple-600)!important}.text-purple-700{color:var(--purple-700)!important}.text-purple-800{color:var(--purple-800)!important}.text-purple-900{color:var(--purple-900)!important}.focus\:text-purple-50:focus{color:var(--purple-50)!important}.focus\:text-purple-100:focus{color:var(--purple-100)!important}.focus\:text-purple-200:focus{color:var(--purple-200)!important}.focus\:text-purple-300:focus{color:var(--purple-300)!important}.focus\:text-purple-400:focus{color:var(--purple-400)!important}.focus\:text-purple-500:focus{color:var(--purple-500)!important}.focus\:text-purple-600:focus{color:var(--purple-600)!important}.focus\:text-purple-700:focus{color:var(--purple-700)!important}.focus\:text-purple-800:focus{color:var(--purple-800)!important}.focus\:text-purple-900:focus{color:var(--purple-900)!important}.hover\:text-purple-50:hover{color:var(--purple-50)!important}.hover\:text-purple-100:hover{color:var(--purple-100)!important}.hover\:text-purple-200:hover{color:var(--purple-200)!important}.hover\:text-purple-300:hover{color:var(--purple-300)!important}.hover\:text-purple-400:hover{color:var(--purple-400)!important}.hover\:text-purple-500:hover{color:var(--purple-500)!important}.hover\:text-purple-600:hover{color:var(--purple-600)!important}.hover\:text-purple-700:hover{color:var(--purple-700)!important}.hover\:text-purple-800:hover{color:var(--purple-800)!important}.hover\:text-purple-900:hover{color:var(--purple-900)!important}.active\:text-purple-50:active{color:var(--purple-50)!important}.active\:text-purple-100:active{color:var(--purple-100)!important}.active\:text-purple-200:active{color:var(--purple-200)!important}.active\:text-purple-300:active{color:var(--purple-300)!important}.active\:text-purple-400:active{color:var(--purple-400)!important}.active\:text-purple-500:active{color:var(--purple-500)!important}.active\:text-purple-600:active{color:var(--purple-600)!important}.active\:text-purple-700:active{color:var(--purple-700)!important}.active\:text-purple-800:active{color:var(--purple-800)!important}.active\:text-purple-900:active{color:var(--purple-900)!important}.text-gray-50{color:var(--gray-50)!important}.text-gray-100{color:var(--gray-100)!important}.text-gray-200{color:var(--gray-200)!important}.text-gray-300{color:var(--gray-300)!important}.text-gray-400{color:var(--gray-400)!important}.text-gray-500{color:var(--gray-500)!important}.text-gray-600{color:var(--gray-600)!important}.text-gray-700{color:var(--gray-700)!important}.text-gray-800{color:var(--gray-800)!important}.text-gray-900{color:var(--gray-900)!important}.focus\:text-gray-50:focus{color:var(--gray-50)!important}.focus\:text-gray-100:focus{color:var(--gray-100)!important}.focus\:text-gray-200:focus{color:var(--gray-200)!important}.focus\:text-gray-300:focus{color:var(--gray-300)!important}.focus\:text-gray-400:focus{color:var(--gray-400)!important}.focus\:text-gray-500:focus{color:var(--gray-500)!important}.focus\:text-gray-600:focus{color:var(--gray-600)!important}.focus\:text-gray-700:focus{color:var(--gray-700)!important}.focus\:text-gray-800:focus{color:var(--gray-800)!important}.focus\:text-gray-900:focus{color:var(--gray-900)!important}.hover\:text-gray-50:hover{color:var(--gray-50)!important}.hover\:text-gray-100:hover{color:var(--gray-100)!important}.hover\:text-gray-200:hover{color:var(--gray-200)!important}.hover\:text-gray-300:hover{color:var(--gray-300)!important}.hover\:text-gray-400:hover{color:var(--gray-400)!important}.hover\:text-gray-500:hover{color:var(--gray-500)!important}.hover\:text-gray-600:hover{color:var(--gray-600)!important}.hover\:text-gray-700:hover{color:var(--gray-700)!important}.hover\:text-gray-800:hover{color:var(--gray-800)!important}.hover\:text-gray-900:hover{color:var(--gray-900)!important}.active\:text-gray-50:active{color:var(--gray-50)!important}.active\:text-gray-100:active{color:var(--gray-100)!important}.active\:text-gray-200:active{color:var(--gray-200)!important}.active\:text-gray-300:active{color:var(--gray-300)!important}.active\:text-gray-400:active{color:var(--gray-400)!important}.active\:text-gray-500:active{color:var(--gray-500)!important}.active\:text-gray-600:active{color:var(--gray-600)!important}.active\:text-gray-700:active{color:var(--gray-700)!important}.active\:text-gray-800:active{color:var(--gray-800)!important}.active\:text-gray-900:active{color:var(--gray-900)!important}.text-red-50{color:var(--red-50)!important}.text-red-100{color:var(--red-100)!important}.text-red-200{color:var(--red-200)!important}.text-red-300{color:var(--red-300)!important}.text-red-400{color:var(--red-400)!important}.text-red-500{color:var(--red-500)!important}.text-red-600{color:var(--red-600)!important}.text-red-700{color:var(--red-700)!important}.text-red-800{color:var(--red-800)!important}.text-red-900{color:var(--red-900)!important}.focus\:text-red-50:focus{color:var(--red-50)!important}.focus\:text-red-100:focus{color:var(--red-100)!important}.focus\:text-red-200:focus{color:var(--red-200)!important}.focus\:text-red-300:focus{color:var(--red-300)!important}.focus\:text-red-400:focus{color:var(--red-400)!important}.focus\:text-red-500:focus{color:var(--red-500)!important}.focus\:text-red-600:focus{color:var(--red-600)!important}.focus\:text-red-700:focus{color:var(--red-700)!important}.focus\:text-red-800:focus{color:var(--red-800)!important}.focus\:text-red-900:focus{color:var(--red-900)!important}.hover\:text-red-50:hover{color:var(--red-50)!important}.hover\:text-red-100:hover{color:var(--red-100)!important}.hover\:text-red-200:hover{color:var(--red-200)!important}.hover\:text-red-300:hover{color:var(--red-300)!important}.hover\:text-red-400:hover{color:var(--red-400)!important}.hover\:text-red-500:hover{color:var(--red-500)!important}.hover\:text-red-600:hover{color:var(--red-600)!important}.hover\:text-red-700:hover{color:var(--red-700)!important}.hover\:text-red-800:hover{color:var(--red-800)!important}.hover\:text-red-900:hover{color:var(--red-900)!important}.active\:text-red-50:active{color:var(--red-50)!important}.active\:text-red-100:active{color:var(--red-100)!important}.active\:text-red-200:active{color:var(--red-200)!important}.active\:text-red-300:active{color:var(--red-300)!important}.active\:text-red-400:active{color:var(--red-400)!important}.active\:text-red-500:active{color:var(--red-500)!important}.active\:text-red-600:active{color:var(--red-600)!important}.active\:text-red-700:active{color:var(--red-700)!important}.active\:text-red-800:active{color:var(--red-800)!important}.active\:text-red-900:active{color:var(--red-900)!important}.text-primary-50{color:var(--primary-50)!important}.text-primary-100{color:var(--primary-100)!important}.text-primary-200{color:var(--primary-200)!important}.text-primary-300{color:var(--primary-300)!important}.text-primary-400{color:var(--primary-400)!important}.text-primary-500{color:var(--primary-500)!important}.text-primary-600{color:var(--primary-600)!important}.text-primary-700{color:var(--primary-700)!important}.text-primary-800{color:var(--primary-800)!important}.text-primary-900{color:var(--primary-900)!important}.focus\:text-primary-50:focus{color:var(--primary-50)!important}.focus\:text-primary-100:focus{color:var(--primary-100)!important}.focus\:text-primary-200:focus{color:var(--primary-200)!important}.focus\:text-primary-300:focus{color:var(--primary-300)!important}.focus\:text-primary-400:focus{color:var(--primary-400)!important}.focus\:text-primary-500:focus{color:var(--primary-500)!important}.focus\:text-primary-600:focus{color:var(--primary-600)!important}.focus\:text-primary-700:focus{color:var(--primary-700)!important}.focus\:text-primary-800:focus{color:var(--primary-800)!important}.focus\:text-primary-900:focus{color:var(--primary-900)!important}.hover\:text-primary-50:hover{color:var(--primary-50)!important}.hover\:text-primary-100:hover{color:var(--primary-100)!important}.hover\:text-primary-200:hover{color:var(--primary-200)!important}.hover\:text-primary-300:hover{color:var(--primary-300)!important}.hover\:text-primary-400:hover{color:var(--primary-400)!important}.hover\:text-primary-500:hover{color:var(--primary-500)!important}.hover\:text-primary-600:hover{color:var(--primary-600)!important}.hover\:text-primary-700:hover{color:var(--primary-700)!important}.hover\:text-primary-800:hover{color:var(--primary-800)!important}.hover\:text-primary-900:hover{color:var(--primary-900)!important}.active\:text-primary-50:active{color:var(--primary-50)!important}.active\:text-primary-100:active{color:var(--primary-100)!important}.active\:text-primary-200:active{color:var(--primary-200)!important}.active\:text-primary-300:active{color:var(--primary-300)!important}.active\:text-primary-400:active{color:var(--primary-400)!important}.active\:text-primary-500:active{color:var(--primary-500)!important}.active\:text-primary-600:active{color:var(--primary-600)!important}.active\:text-primary-700:active{color:var(--primary-700)!important}.active\:text-primary-800:active{color:var(--primary-800)!important}.active\:text-primary-900:active{color:var(--primary-900)!important}.bg-blue-50{background-color:var(--blue-50)!important}.bg-blue-100{background-color:var(--blue-100)!important}.bg-blue-200{background-color:var(--blue-200)!important}.bg-blue-300{background-color:var(--blue-300)!important}.bg-blue-400{background-color:var(--blue-400)!important}.bg-blue-500{background-color:var(--blue-500)!important}.bg-blue-600{background-color:var(--blue-600)!important}.bg-blue-700{background-color:var(--blue-700)!important}.bg-blue-800{background-color:var(--blue-800)!important}.bg-blue-900{background-color:var(--blue-900)!important}.focus\:bg-blue-50:focus{background-color:var(--blue-50)!important}.focus\:bg-blue-100:focus{background-color:var(--blue-100)!important}.focus\:bg-blue-200:focus{background-color:var(--blue-200)!important}.focus\:bg-blue-300:focus{background-color:var(--blue-300)!important}.focus\:bg-blue-400:focus{background-color:var(--blue-400)!important}.focus\:bg-blue-500:focus{background-color:var(--blue-500)!important}.focus\:bg-blue-600:focus{background-color:var(--blue-600)!important}.focus\:bg-blue-700:focus{background-color:var(--blue-700)!important}.focus\:bg-blue-800:focus{background-color:var(--blue-800)!important}.focus\:bg-blue-900:focus{background-color:var(--blue-900)!important}.hover\:bg-blue-50:hover{background-color:var(--blue-50)!important}.hover\:bg-blue-100:hover{background-color:var(--blue-100)!important}.hover\:bg-blue-200:hover{background-color:var(--blue-200)!important}.hover\:bg-blue-300:hover{background-color:var(--blue-300)!important}.hover\:bg-blue-400:hover{background-color:var(--blue-400)!important}.hover\:bg-blue-500:hover{background-color:var(--blue-500)!important}.hover\:bg-blue-600:hover{background-color:var(--blue-600)!important}.hover\:bg-blue-700:hover{background-color:var(--blue-700)!important}.hover\:bg-blue-800:hover{background-color:var(--blue-800)!important}.hover\:bg-blue-900:hover{background-color:var(--blue-900)!important}.active\:bg-blue-50:active{background-color:var(--blue-50)!important}.active\:bg-blue-100:active{background-color:var(--blue-100)!important}.active\:bg-blue-200:active{background-color:var(--blue-200)!important}.active\:bg-blue-300:active{background-color:var(--blue-300)!important}.active\:bg-blue-400:active{background-color:var(--blue-400)!important}.active\:bg-blue-500:active{background-color:var(--blue-500)!important}.active\:bg-blue-600:active{background-color:var(--blue-600)!important}.active\:bg-blue-700:active{background-color:var(--blue-700)!important}.active\:bg-blue-800:active{background-color:var(--blue-800)!important}.active\:bg-blue-900:active{background-color:var(--blue-900)!important}.bg-green-50{background-color:var(--green-50)!important}.bg-green-100{background-color:var(--green-100)!important}.bg-green-200{background-color:var(--green-200)!important}.bg-green-300{background-color:var(--green-300)!important}.bg-green-400{background-color:var(--green-400)!important}.bg-green-500{background-color:var(--green-500)!important}.bg-green-600{background-color:var(--green-600)!important}.bg-green-700{background-color:var(--green-700)!important}.bg-green-800{background-color:var(--green-800)!important}.bg-green-900{background-color:var(--green-900)!important}.focus\:bg-green-50:focus{background-color:var(--green-50)!important}.focus\:bg-green-100:focus{background-color:var(--green-100)!important}.focus\:bg-green-200:focus{background-color:var(--green-200)!important}.focus\:bg-green-300:focus{background-color:var(--green-300)!important}.focus\:bg-green-400:focus{background-color:var(--green-400)!important}.focus\:bg-green-500:focus{background-color:var(--green-500)!important}.focus\:bg-green-600:focus{background-color:var(--green-600)!important}.focus\:bg-green-700:focus{background-color:var(--green-700)!important}.focus\:bg-green-800:focus{background-color:var(--green-800)!important}.focus\:bg-green-900:focus{background-color:var(--green-900)!important}.hover\:bg-green-50:hover{background-color:var(--green-50)!important}.hover\:bg-green-100:hover{background-color:var(--green-100)!important}.hover\:bg-green-200:hover{background-color:var(--green-200)!important}.hover\:bg-green-300:hover{background-color:var(--green-300)!important}.hover\:bg-green-400:hover{background-color:var(--green-400)!important}.hover\:bg-green-500:hover{background-color:var(--green-500)!important}.hover\:bg-green-600:hover{background-color:var(--green-600)!important}.hover\:bg-green-700:hover{background-color:var(--green-700)!important}.hover\:bg-green-800:hover{background-color:var(--green-800)!important}.hover\:bg-green-900:hover{background-color:var(--green-900)!important}.active\:bg-green-50:active{background-color:var(--green-50)!important}.active\:bg-green-100:active{background-color:var(--green-100)!important}.active\:bg-green-200:active{background-color:var(--green-200)!important}.active\:bg-green-300:active{background-color:var(--green-300)!important}.active\:bg-green-400:active{background-color:var(--green-400)!important}.active\:bg-green-500:active{background-color:var(--green-500)!important}.active\:bg-green-600:active{background-color:var(--green-600)!important}.active\:bg-green-700:active{background-color:var(--green-700)!important}.active\:bg-green-800:active{background-color:var(--green-800)!important}.active\:bg-green-900:active{background-color:var(--green-900)!important}.bg-yellow-50{background-color:var(--yellow-50)!important}.bg-yellow-100{background-color:var(--yellow-100)!important}.bg-yellow-200{background-color:var(--yellow-200)!important}.bg-yellow-300{background-color:var(--yellow-300)!important}.bg-yellow-400{background-color:var(--yellow-400)!important}.bg-yellow-500{background-color:var(--yellow-500)!important}.bg-yellow-600{background-color:var(--yellow-600)!important}.bg-yellow-700{background-color:var(--yellow-700)!important}.bg-yellow-800{background-color:var(--yellow-800)!important}.bg-yellow-900{background-color:var(--yellow-900)!important}.focus\:bg-yellow-50:focus{background-color:var(--yellow-50)!important}.focus\:bg-yellow-100:focus{background-color:var(--yellow-100)!important}.focus\:bg-yellow-200:focus{background-color:var(--yellow-200)!important}.focus\:bg-yellow-300:focus{background-color:var(--yellow-300)!important}.focus\:bg-yellow-400:focus{background-color:var(--yellow-400)!important}.focus\:bg-yellow-500:focus{background-color:var(--yellow-500)!important}.focus\:bg-yellow-600:focus{background-color:var(--yellow-600)!important}.focus\:bg-yellow-700:focus{background-color:var(--yellow-700)!important}.focus\:bg-yellow-800:focus{background-color:var(--yellow-800)!important}.focus\:bg-yellow-900:focus{background-color:var(--yellow-900)!important}.hover\:bg-yellow-50:hover{background-color:var(--yellow-50)!important}.hover\:bg-yellow-100:hover{background-color:var(--yellow-100)!important}.hover\:bg-yellow-200:hover{background-color:var(--yellow-200)!important}.hover\:bg-yellow-300:hover{background-color:var(--yellow-300)!important}.hover\:bg-yellow-400:hover{background-color:var(--yellow-400)!important}.hover\:bg-yellow-500:hover{background-color:var(--yellow-500)!important}.hover\:bg-yellow-600:hover{background-color:var(--yellow-600)!important}.hover\:bg-yellow-700:hover{background-color:var(--yellow-700)!important}.hover\:bg-yellow-800:hover{background-color:var(--yellow-800)!important}.hover\:bg-yellow-900:hover{background-color:var(--yellow-900)!important}.active\:bg-yellow-50:active{background-color:var(--yellow-50)!important}.active\:bg-yellow-100:active{background-color:var(--yellow-100)!important}.active\:bg-yellow-200:active{background-color:var(--yellow-200)!important}.active\:bg-yellow-300:active{background-color:var(--yellow-300)!important}.active\:bg-yellow-400:active{background-color:var(--yellow-400)!important}.active\:bg-yellow-500:active{background-color:var(--yellow-500)!important}.active\:bg-yellow-600:active{background-color:var(--yellow-600)!important}.active\:bg-yellow-700:active{background-color:var(--yellow-700)!important}.active\:bg-yellow-800:active{background-color:var(--yellow-800)!important}.active\:bg-yellow-900:active{background-color:var(--yellow-900)!important}.bg-cyan-50{background-color:var(--cyan-50)!important}.bg-cyan-100{background-color:var(--cyan-100)!important}.bg-cyan-200{background-color:var(--cyan-200)!important}.bg-cyan-300{background-color:var(--cyan-300)!important}.bg-cyan-400{background-color:var(--cyan-400)!important}.bg-cyan-500{background-color:var(--cyan-500)!important}.bg-cyan-600{background-color:var(--cyan-600)!important}.bg-cyan-700{background-color:var(--cyan-700)!important}.bg-cyan-800{background-color:var(--cyan-800)!important}.bg-cyan-900{background-color:var(--cyan-900)!important}.focus\:bg-cyan-50:focus{background-color:var(--cyan-50)!important}.focus\:bg-cyan-100:focus{background-color:var(--cyan-100)!important}.focus\:bg-cyan-200:focus{background-color:var(--cyan-200)!important}.focus\:bg-cyan-300:focus{background-color:var(--cyan-300)!important}.focus\:bg-cyan-400:focus{background-color:var(--cyan-400)!important}.focus\:bg-cyan-500:focus{background-color:var(--cyan-500)!important}.focus\:bg-cyan-600:focus{background-color:var(--cyan-600)!important}.focus\:bg-cyan-700:focus{background-color:var(--cyan-700)!important}.focus\:bg-cyan-800:focus{background-color:var(--cyan-800)!important}.focus\:bg-cyan-900:focus{background-color:var(--cyan-900)!important}.hover\:bg-cyan-50:hover{background-color:var(--cyan-50)!important}.hover\:bg-cyan-100:hover{background-color:var(--cyan-100)!important}.hover\:bg-cyan-200:hover{background-color:var(--cyan-200)!important}.hover\:bg-cyan-300:hover{background-color:var(--cyan-300)!important}.hover\:bg-cyan-400:hover{background-color:var(--cyan-400)!important}.hover\:bg-cyan-500:hover{background-color:var(--cyan-500)!important}.hover\:bg-cyan-600:hover{background-color:var(--cyan-600)!important}.hover\:bg-cyan-700:hover{background-color:var(--cyan-700)!important}.hover\:bg-cyan-800:hover{background-color:var(--cyan-800)!important}.hover\:bg-cyan-900:hover{background-color:var(--cyan-900)!important}.active\:bg-cyan-50:active{background-color:var(--cyan-50)!important}.active\:bg-cyan-100:active{background-color:var(--cyan-100)!important}.active\:bg-cyan-200:active{background-color:var(--cyan-200)!important}.active\:bg-cyan-300:active{background-color:var(--cyan-300)!important}.active\:bg-cyan-400:active{background-color:var(--cyan-400)!important}.active\:bg-cyan-500:active{background-color:var(--cyan-500)!important}.active\:bg-cyan-600:active{background-color:var(--cyan-600)!important}.active\:bg-cyan-700:active{background-color:var(--cyan-700)!important}.active\:bg-cyan-800:active{background-color:var(--cyan-800)!important}.active\:bg-cyan-900:active{background-color:var(--cyan-900)!important}.bg-pink-50{background-color:var(--pink-50)!important}.bg-pink-100{background-color:var(--pink-100)!important}.bg-pink-200{background-color:var(--pink-200)!important}.bg-pink-300{background-color:var(--pink-300)!important}.bg-pink-400{background-color:var(--pink-400)!important}.bg-pink-500{background-color:var(--pink-500)!important}.bg-pink-600{background-color:var(--pink-600)!important}.bg-pink-700{background-color:var(--pink-700)!important}.bg-pink-800{background-color:var(--pink-800)!important}.bg-pink-900{background-color:var(--pink-900)!important}.focus\:bg-pink-50:focus{background-color:var(--pink-50)!important}.focus\:bg-pink-100:focus{background-color:var(--pink-100)!important}.focus\:bg-pink-200:focus{background-color:var(--pink-200)!important}.focus\:bg-pink-300:focus{background-color:var(--pink-300)!important}.focus\:bg-pink-400:focus{background-color:var(--pink-400)!important}.focus\:bg-pink-500:focus{background-color:var(--pink-500)!important}.focus\:bg-pink-600:focus{background-color:var(--pink-600)!important}.focus\:bg-pink-700:focus{background-color:var(--pink-700)!important}.focus\:bg-pink-800:focus{background-color:var(--pink-800)!important}.focus\:bg-pink-900:focus{background-color:var(--pink-900)!important}.hover\:bg-pink-50:hover{background-color:var(--pink-50)!important}.hover\:bg-pink-100:hover{background-color:var(--pink-100)!important}.hover\:bg-pink-200:hover{background-color:var(--pink-200)!important}.hover\:bg-pink-300:hover{background-color:var(--pink-300)!important}.hover\:bg-pink-400:hover{background-color:var(--pink-400)!important}.hover\:bg-pink-500:hover{background-color:var(--pink-500)!important}.hover\:bg-pink-600:hover{background-color:var(--pink-600)!important}.hover\:bg-pink-700:hover{background-color:var(--pink-700)!important}.hover\:bg-pink-800:hover{background-color:var(--pink-800)!important}.hover\:bg-pink-900:hover{background-color:var(--pink-900)!important}.active\:bg-pink-50:active{background-color:var(--pink-50)!important}.active\:bg-pink-100:active{background-color:var(--pink-100)!important}.active\:bg-pink-200:active{background-color:var(--pink-200)!important}.active\:bg-pink-300:active{background-color:var(--pink-300)!important}.active\:bg-pink-400:active{background-color:var(--pink-400)!important}.active\:bg-pink-500:active{background-color:var(--pink-500)!important}.active\:bg-pink-600:active{background-color:var(--pink-600)!important}.active\:bg-pink-700:active{background-color:var(--pink-700)!important}.active\:bg-pink-800:active{background-color:var(--pink-800)!important}.active\:bg-pink-900:active{background-color:var(--pink-900)!important}.bg-indigo-50{background-color:var(--indigo-50)!important}.bg-indigo-100{background-color:var(--indigo-100)!important}.bg-indigo-200{background-color:var(--indigo-200)!important}.bg-indigo-300{background-color:var(--indigo-300)!important}.bg-indigo-400{background-color:var(--indigo-400)!important}.bg-indigo-500{background-color:var(--indigo-500)!important}.bg-indigo-600{background-color:var(--indigo-600)!important}.bg-indigo-700{background-color:var(--indigo-700)!important}.bg-indigo-800{background-color:var(--indigo-800)!important}.bg-indigo-900{background-color:var(--indigo-900)!important}.focus\:bg-indigo-50:focus{background-color:var(--indigo-50)!important}.focus\:bg-indigo-100:focus{background-color:var(--indigo-100)!important}.focus\:bg-indigo-200:focus{background-color:var(--indigo-200)!important}.focus\:bg-indigo-300:focus{background-color:var(--indigo-300)!important}.focus\:bg-indigo-400:focus{background-color:var(--indigo-400)!important}.focus\:bg-indigo-500:focus{background-color:var(--indigo-500)!important}.focus\:bg-indigo-600:focus{background-color:var(--indigo-600)!important}.focus\:bg-indigo-700:focus{background-color:var(--indigo-700)!important}.focus\:bg-indigo-800:focus{background-color:var(--indigo-800)!important}.focus\:bg-indigo-900:focus{background-color:var(--indigo-900)!important}.hover\:bg-indigo-50:hover{background-color:var(--indigo-50)!important}.hover\:bg-indigo-100:hover{background-color:var(--indigo-100)!important}.hover\:bg-indigo-200:hover{background-color:var(--indigo-200)!important}.hover\:bg-indigo-300:hover{background-color:var(--indigo-300)!important}.hover\:bg-indigo-400:hover{background-color:var(--indigo-400)!important}.hover\:bg-indigo-500:hover{background-color:var(--indigo-500)!important}.hover\:bg-indigo-600:hover{background-color:var(--indigo-600)!important}.hover\:bg-indigo-700:hover{background-color:var(--indigo-700)!important}.hover\:bg-indigo-800:hover{background-color:var(--indigo-800)!important}.hover\:bg-indigo-900:hover{background-color:var(--indigo-900)!important}.active\:bg-indigo-50:active{background-color:var(--indigo-50)!important}.active\:bg-indigo-100:active{background-color:var(--indigo-100)!important}.active\:bg-indigo-200:active{background-color:var(--indigo-200)!important}.active\:bg-indigo-300:active{background-color:var(--indigo-300)!important}.active\:bg-indigo-400:active{background-color:var(--indigo-400)!important}.active\:bg-indigo-500:active{background-color:var(--indigo-500)!important}.active\:bg-indigo-600:active{background-color:var(--indigo-600)!important}.active\:bg-indigo-700:active{background-color:var(--indigo-700)!important}.active\:bg-indigo-800:active{background-color:var(--indigo-800)!important}.active\:bg-indigo-900:active{background-color:var(--indigo-900)!important}.bg-teal-50{background-color:var(--teal-50)!important}.bg-teal-100{background-color:var(--teal-100)!important}.bg-teal-200{background-color:var(--teal-200)!important}.bg-teal-300{background-color:var(--teal-300)!important}.bg-teal-400{background-color:var(--teal-400)!important}.bg-teal-500{background-color:var(--teal-500)!important}.bg-teal-600{background-color:var(--teal-600)!important}.bg-teal-700{background-color:var(--teal-700)!important}.bg-teal-800{background-color:var(--teal-800)!important}.bg-teal-900{background-color:var(--teal-900)!important}.focus\:bg-teal-50:focus{background-color:var(--teal-50)!important}.focus\:bg-teal-100:focus{background-color:var(--teal-100)!important}.focus\:bg-teal-200:focus{background-color:var(--teal-200)!important}.focus\:bg-teal-300:focus{background-color:var(--teal-300)!important}.focus\:bg-teal-400:focus{background-color:var(--teal-400)!important}.focus\:bg-teal-500:focus{background-color:var(--teal-500)!important}.focus\:bg-teal-600:focus{background-color:var(--teal-600)!important}.focus\:bg-teal-700:focus{background-color:var(--teal-700)!important}.focus\:bg-teal-800:focus{background-color:var(--teal-800)!important}.focus\:bg-teal-900:focus{background-color:var(--teal-900)!important}.hover\:bg-teal-50:hover{background-color:var(--teal-50)!important}.hover\:bg-teal-100:hover{background-color:var(--teal-100)!important}.hover\:bg-teal-200:hover{background-color:var(--teal-200)!important}.hover\:bg-teal-300:hover{background-color:var(--teal-300)!important}.hover\:bg-teal-400:hover{background-color:var(--teal-400)!important}.hover\:bg-teal-500:hover{background-color:var(--teal-500)!important}.hover\:bg-teal-600:hover{background-color:var(--teal-600)!important}.hover\:bg-teal-700:hover{background-color:var(--teal-700)!important}.hover\:bg-teal-800:hover{background-color:var(--teal-800)!important}.hover\:bg-teal-900:hover{background-color:var(--teal-900)!important}.active\:bg-teal-50:active{background-color:var(--teal-50)!important}.active\:bg-teal-100:active{background-color:var(--teal-100)!important}.active\:bg-teal-200:active{background-color:var(--teal-200)!important}.active\:bg-teal-300:active{background-color:var(--teal-300)!important}.active\:bg-teal-400:active{background-color:var(--teal-400)!important}.active\:bg-teal-500:active{background-color:var(--teal-500)!important}.active\:bg-teal-600:active{background-color:var(--teal-600)!important}.active\:bg-teal-700:active{background-color:var(--teal-700)!important}.active\:bg-teal-800:active{background-color:var(--teal-800)!important}.active\:bg-teal-900:active{background-color:var(--teal-900)!important}.bg-orange-50{background-color:var(--orange-50)!important}.bg-orange-100{background-color:var(--orange-100)!important}.bg-orange-200{background-color:var(--orange-200)!important}.bg-orange-300{background-color:var(--orange-300)!important}.bg-orange-400{background-color:var(--orange-400)!important}.bg-orange-500{background-color:var(--orange-500)!important}.bg-orange-600{background-color:var(--orange-600)!important}.bg-orange-700{background-color:var(--orange-700)!important}.bg-orange-800{background-color:var(--orange-800)!important}.bg-orange-900{background-color:var(--orange-900)!important}.focus\:bg-orange-50:focus{background-color:var(--orange-50)!important}.focus\:bg-orange-100:focus{background-color:var(--orange-100)!important}.focus\:bg-orange-200:focus{background-color:var(--orange-200)!important}.focus\:bg-orange-300:focus{background-color:var(--orange-300)!important}.focus\:bg-orange-400:focus{background-color:var(--orange-400)!important}.focus\:bg-orange-500:focus{background-color:var(--orange-500)!important}.focus\:bg-orange-600:focus{background-color:var(--orange-600)!important}.focus\:bg-orange-700:focus{background-color:var(--orange-700)!important}.focus\:bg-orange-800:focus{background-color:var(--orange-800)!important}.focus\:bg-orange-900:focus{background-color:var(--orange-900)!important}.hover\:bg-orange-50:hover{background-color:var(--orange-50)!important}.hover\:bg-orange-100:hover{background-color:var(--orange-100)!important}.hover\:bg-orange-200:hover{background-color:var(--orange-200)!important}.hover\:bg-orange-300:hover{background-color:var(--orange-300)!important}.hover\:bg-orange-400:hover{background-color:var(--orange-400)!important}.hover\:bg-orange-500:hover{background-color:var(--orange-500)!important}.hover\:bg-orange-600:hover{background-color:var(--orange-600)!important}.hover\:bg-orange-700:hover{background-color:var(--orange-700)!important}.hover\:bg-orange-800:hover{background-color:var(--orange-800)!important}.hover\:bg-orange-900:hover{background-color:var(--orange-900)!important}.active\:bg-orange-50:active{background-color:var(--orange-50)!important}.active\:bg-orange-100:active{background-color:var(--orange-100)!important}.active\:bg-orange-200:active{background-color:var(--orange-200)!important}.active\:bg-orange-300:active{background-color:var(--orange-300)!important}.active\:bg-orange-400:active{background-color:var(--orange-400)!important}.active\:bg-orange-500:active{background-color:var(--orange-500)!important}.active\:bg-orange-600:active{background-color:var(--orange-600)!important}.active\:bg-orange-700:active{background-color:var(--orange-700)!important}.active\:bg-orange-800:active{background-color:var(--orange-800)!important}.active\:bg-orange-900:active{background-color:var(--orange-900)!important}.bg-bluegray-50{background-color:var(--bluegray-50)!important}.bg-bluegray-100{background-color:var(--bluegray-100)!important}.bg-bluegray-200{background-color:var(--bluegray-200)!important}.bg-bluegray-300{background-color:var(--bluegray-300)!important}.bg-bluegray-400{background-color:var(--bluegray-400)!important}.bg-bluegray-500{background-color:var(--bluegray-500)!important}.bg-bluegray-600{background-color:var(--bluegray-600)!important}.bg-bluegray-700{background-color:var(--bluegray-700)!important}.bg-bluegray-800{background-color:var(--bluegray-800)!important}.bg-bluegray-900{background-color:var(--bluegray-900)!important}.focus\:bg-bluegray-50:focus{background-color:var(--bluegray-50)!important}.focus\:bg-bluegray-100:focus{background-color:var(--bluegray-100)!important}.focus\:bg-bluegray-200:focus{background-color:var(--bluegray-200)!important}.focus\:bg-bluegray-300:focus{background-color:var(--bluegray-300)!important}.focus\:bg-bluegray-400:focus{background-color:var(--bluegray-400)!important}.focus\:bg-bluegray-500:focus{background-color:var(--bluegray-500)!important}.focus\:bg-bluegray-600:focus{background-color:var(--bluegray-600)!important}.focus\:bg-bluegray-700:focus{background-color:var(--bluegray-700)!important}.focus\:bg-bluegray-800:focus{background-color:var(--bluegray-800)!important}.focus\:bg-bluegray-900:focus{background-color:var(--bluegray-900)!important}.hover\:bg-bluegray-50:hover{background-color:var(--bluegray-50)!important}.hover\:bg-bluegray-100:hover{background-color:var(--bluegray-100)!important}.hover\:bg-bluegray-200:hover{background-color:var(--bluegray-200)!important}.hover\:bg-bluegray-300:hover{background-color:var(--bluegray-300)!important}.hover\:bg-bluegray-400:hover{background-color:var(--bluegray-400)!important}.hover\:bg-bluegray-500:hover{background-color:var(--bluegray-500)!important}.hover\:bg-bluegray-600:hover{background-color:var(--bluegray-600)!important}.hover\:bg-bluegray-700:hover{background-color:var(--bluegray-700)!important}.hover\:bg-bluegray-800:hover{background-color:var(--bluegray-800)!important}.hover\:bg-bluegray-900:hover{background-color:var(--bluegray-900)!important}.active\:bg-bluegray-50:active{background-color:var(--bluegray-50)!important}.active\:bg-bluegray-100:active{background-color:var(--bluegray-100)!important}.active\:bg-bluegray-200:active{background-color:var(--bluegray-200)!important}.active\:bg-bluegray-300:active{background-color:var(--bluegray-300)!important}.active\:bg-bluegray-400:active{background-color:var(--bluegray-400)!important}.active\:bg-bluegray-500:active{background-color:var(--bluegray-500)!important}.active\:bg-bluegray-600:active{background-color:var(--bluegray-600)!important}.active\:bg-bluegray-700:active{background-color:var(--bluegray-700)!important}.active\:bg-bluegray-800:active{background-color:var(--bluegray-800)!important}.active\:bg-bluegray-900:active{background-color:var(--bluegray-900)!important}.bg-purple-50{background-color:var(--purple-50)!important}.bg-purple-100{background-color:var(--purple-100)!important}.bg-purple-200{background-color:var(--purple-200)!important}.bg-purple-300{background-color:var(--purple-300)!important}.bg-purple-400{background-color:var(--purple-400)!important}.bg-purple-500{background-color:var(--purple-500)!important}.bg-purple-600{background-color:var(--purple-600)!important}.bg-purple-700{background-color:var(--purple-700)!important}.bg-purple-800{background-color:var(--purple-800)!important}.bg-purple-900{background-color:var(--purple-900)!important}.focus\:bg-purple-50:focus{background-color:var(--purple-50)!important}.focus\:bg-purple-100:focus{background-color:var(--purple-100)!important}.focus\:bg-purple-200:focus{background-color:var(--purple-200)!important}.focus\:bg-purple-300:focus{background-color:var(--purple-300)!important}.focus\:bg-purple-400:focus{background-color:var(--purple-400)!important}.focus\:bg-purple-500:focus{background-color:var(--purple-500)!important}.focus\:bg-purple-600:focus{background-color:var(--purple-600)!important}.focus\:bg-purple-700:focus{background-color:var(--purple-700)!important}.focus\:bg-purple-800:focus{background-color:var(--purple-800)!important}.focus\:bg-purple-900:focus{background-color:var(--purple-900)!important}.hover\:bg-purple-50:hover{background-color:var(--purple-50)!important}.hover\:bg-purple-100:hover{background-color:var(--purple-100)!important}.hover\:bg-purple-200:hover{background-color:var(--purple-200)!important}.hover\:bg-purple-300:hover{background-color:var(--purple-300)!important}.hover\:bg-purple-400:hover{background-color:var(--purple-400)!important}.hover\:bg-purple-500:hover{background-color:var(--purple-500)!important}.hover\:bg-purple-600:hover{background-color:var(--purple-600)!important}.hover\:bg-purple-700:hover{background-color:var(--purple-700)!important}.hover\:bg-purple-800:hover{background-color:var(--purple-800)!important}.hover\:bg-purple-900:hover{background-color:var(--purple-900)!important}.active\:bg-purple-50:active{background-color:var(--purple-50)!important}.active\:bg-purple-100:active{background-color:var(--purple-100)!important}.active\:bg-purple-200:active{background-color:var(--purple-200)!important}.active\:bg-purple-300:active{background-color:var(--purple-300)!important}.active\:bg-purple-400:active{background-color:var(--purple-400)!important}.active\:bg-purple-500:active{background-color:var(--purple-500)!important}.active\:bg-purple-600:active{background-color:var(--purple-600)!important}.active\:bg-purple-700:active{background-color:var(--purple-700)!important}.active\:bg-purple-800:active{background-color:var(--purple-800)!important}.active\:bg-purple-900:active{background-color:var(--purple-900)!important}.bg-gray-50{background-color:var(--gray-50)!important}.bg-gray-100{background-color:var(--gray-100)!important}.bg-gray-200{background-color:var(--gray-200)!important}.bg-gray-300{background-color:var(--gray-300)!important}.bg-gray-400{background-color:var(--gray-400)!important}.bg-gray-500{background-color:var(--gray-500)!important}.bg-gray-600{background-color:var(--gray-600)!important}.bg-gray-700{background-color:var(--gray-700)!important}.bg-gray-800{background-color:var(--gray-800)!important}.bg-gray-900{background-color:var(--gray-900)!important}.focus\:bg-gray-50:focus{background-color:var(--gray-50)!important}.focus\:bg-gray-100:focus{background-color:var(--gray-100)!important}.focus\:bg-gray-200:focus{background-color:var(--gray-200)!important}.focus\:bg-gray-300:focus{background-color:var(--gray-300)!important}.focus\:bg-gray-400:focus{background-color:var(--gray-400)!important}.focus\:bg-gray-500:focus{background-color:var(--gray-500)!important}.focus\:bg-gray-600:focus{background-color:var(--gray-600)!important}.focus\:bg-gray-700:focus{background-color:var(--gray-700)!important}.focus\:bg-gray-800:focus{background-color:var(--gray-800)!important}.focus\:bg-gray-900:focus{background-color:var(--gray-900)!important}.hover\:bg-gray-50:hover{background-color:var(--gray-50)!important}.hover\:bg-gray-100:hover{background-color:var(--gray-100)!important}.hover\:bg-gray-200:hover{background-color:var(--gray-200)!important}.hover\:bg-gray-300:hover{background-color:var(--gray-300)!important}.hover\:bg-gray-400:hover{background-color:var(--gray-400)!important}.hover\:bg-gray-500:hover{background-color:var(--gray-500)!important}.hover\:bg-gray-600:hover{background-color:var(--gray-600)!important}.hover\:bg-gray-700:hover{background-color:var(--gray-700)!important}.hover\:bg-gray-800:hover{background-color:var(--gray-800)!important}.hover\:bg-gray-900:hover{background-color:var(--gray-900)!important}.active\:bg-gray-50:active{background-color:var(--gray-50)!important}.active\:bg-gray-100:active{background-color:var(--gray-100)!important}.active\:bg-gray-200:active{background-color:var(--gray-200)!important}.active\:bg-gray-300:active{background-color:var(--gray-300)!important}.active\:bg-gray-400:active{background-color:var(--gray-400)!important}.active\:bg-gray-500:active{background-color:var(--gray-500)!important}.active\:bg-gray-600:active{background-color:var(--gray-600)!important}.active\:bg-gray-700:active{background-color:var(--gray-700)!important}.active\:bg-gray-800:active{background-color:var(--gray-800)!important}.active\:bg-gray-900:active{background-color:var(--gray-900)!important}.bg-red-50{background-color:var(--red-50)!important}.bg-red-100{background-color:var(--red-100)!important}.bg-red-200{background-color:var(--red-200)!important}.bg-red-300{background-color:var(--red-300)!important}.bg-red-400{background-color:var(--red-400)!important}.bg-red-500{background-color:var(--red-500)!important}.bg-red-600{background-color:var(--red-600)!important}.bg-red-700{background-color:var(--red-700)!important}.bg-red-800{background-color:var(--red-800)!important}.bg-red-900{background-color:var(--red-900)!important}.focus\:bg-red-50:focus{background-color:var(--red-50)!important}.focus\:bg-red-100:focus{background-color:var(--red-100)!important}.focus\:bg-red-200:focus{background-color:var(--red-200)!important}.focus\:bg-red-300:focus{background-color:var(--red-300)!important}.focus\:bg-red-400:focus{background-color:var(--red-400)!important}.focus\:bg-red-500:focus{background-color:var(--red-500)!important}.focus\:bg-red-600:focus{background-color:var(--red-600)!important}.focus\:bg-red-700:focus{background-color:var(--red-700)!important}.focus\:bg-red-800:focus{background-color:var(--red-800)!important}.focus\:bg-red-900:focus{background-color:var(--red-900)!important}.hover\:bg-red-50:hover{background-color:var(--red-50)!important}.hover\:bg-red-100:hover{background-color:var(--red-100)!important}.hover\:bg-red-200:hover{background-color:var(--red-200)!important}.hover\:bg-red-300:hover{background-color:var(--red-300)!important}.hover\:bg-red-400:hover{background-color:var(--red-400)!important}.hover\:bg-red-500:hover{background-color:var(--red-500)!important}.hover\:bg-red-600:hover{background-color:var(--red-600)!important}.hover\:bg-red-700:hover{background-color:var(--red-700)!important}.hover\:bg-red-800:hover{background-color:var(--red-800)!important}.hover\:bg-red-900:hover{background-color:var(--red-900)!important}.active\:bg-red-50:active{background-color:var(--red-50)!important}.active\:bg-red-100:active{background-color:var(--red-100)!important}.active\:bg-red-200:active{background-color:var(--red-200)!important}.active\:bg-red-300:active{background-color:var(--red-300)!important}.active\:bg-red-400:active{background-color:var(--red-400)!important}.active\:bg-red-500:active{background-color:var(--red-500)!important}.active\:bg-red-600:active{background-color:var(--red-600)!important}.active\:bg-red-700:active{background-color:var(--red-700)!important}.active\:bg-red-800:active{background-color:var(--red-800)!important}.active\:bg-red-900:active{background-color:var(--red-900)!important}.bg-primary-50{background-color:var(--primary-50)!important}.bg-primary-100{background-color:var(--primary-100)!important}.bg-primary-200{background-color:var(--primary-200)!important}.bg-primary-300{background-color:var(--primary-300)!important}.bg-primary-400{background-color:var(--primary-400)!important}.bg-primary-500{background-color:var(--primary-500)!important}.bg-primary-600{background-color:var(--primary-600)!important}.bg-primary-700{background-color:var(--primary-700)!important}.bg-primary-800{background-color:var(--primary-800)!important}.bg-primary-900{background-color:var(--primary-900)!important}.focus\:bg-primary-50:focus{background-color:var(--primary-50)!important}.focus\:bg-primary-100:focus{background-color:var(--primary-100)!important}.focus\:bg-primary-200:focus{background-color:var(--primary-200)!important}.focus\:bg-primary-300:focus{background-color:var(--primary-300)!important}.focus\:bg-primary-400:focus{background-color:var(--primary-400)!important}.focus\:bg-primary-500:focus{background-color:var(--primary-500)!important}.focus\:bg-primary-600:focus{background-color:var(--primary-600)!important}.focus\:bg-primary-700:focus{background-color:var(--primary-700)!important}.focus\:bg-primary-800:focus{background-color:var(--primary-800)!important}.focus\:bg-primary-900:focus{background-color:var(--primary-900)!important}.hover\:bg-primary-50:hover{background-color:var(--primary-50)!important}.hover\:bg-primary-100:hover{background-color:var(--primary-100)!important}.hover\:bg-primary-200:hover{background-color:var(--primary-200)!important}.hover\:bg-primary-300:hover{background-color:var(--primary-300)!important}.hover\:bg-primary-400:hover{background-color:var(--primary-400)!important}.hover\:bg-primary-500:hover{background-color:var(--primary-500)!important}.hover\:bg-primary-600:hover{background-color:var(--primary-600)!important}.hover\:bg-primary-700:hover{background-color:var(--primary-700)!important}.hover\:bg-primary-800:hover{background-color:var(--primary-800)!important}.hover\:bg-primary-900:hover{background-color:var(--primary-900)!important}.active\:bg-primary-50:active{background-color:var(--primary-50)!important}.active\:bg-primary-100:active{background-color:var(--primary-100)!important}.active\:bg-primary-200:active{background-color:var(--primary-200)!important}.active\:bg-primary-300:active{background-color:var(--primary-300)!important}.active\:bg-primary-400:active{background-color:var(--primary-400)!important}.active\:bg-primary-500:active{background-color:var(--primary-500)!important}.active\:bg-primary-600:active{background-color:var(--primary-600)!important}.active\:bg-primary-700:active{background-color:var(--primary-700)!important}.active\:bg-primary-800:active{background-color:var(--primary-800)!important}.active\:bg-primary-900:active{background-color:var(--primary-900)!important}.border-blue-50{border-color:var(--blue-50)!important}.border-blue-100{border-color:var(--blue-100)!important}.border-blue-200{border-color:var(--blue-200)!important}.border-blue-300{border-color:var(--blue-300)!important}.border-blue-400{border-color:var(--blue-400)!important}.border-blue-500{border-color:var(--blue-500)!important}.border-blue-600{border-color:var(--blue-600)!important}.border-blue-700{border-color:var(--blue-700)!important}.border-blue-800{border-color:var(--blue-800)!important}.border-blue-900{border-color:var(--blue-900)!important}.focus\:border-blue-50:focus{border-color:var(--blue-50)!important}.focus\:border-blue-100:focus{border-color:var(--blue-100)!important}.focus\:border-blue-200:focus{border-color:var(--blue-200)!important}.focus\:border-blue-300:focus{border-color:var(--blue-300)!important}.focus\:border-blue-400:focus{border-color:var(--blue-400)!important}.focus\:border-blue-500:focus{border-color:var(--blue-500)!important}.focus\:border-blue-600:focus{border-color:var(--blue-600)!important}.focus\:border-blue-700:focus{border-color:var(--blue-700)!important}.focus\:border-blue-800:focus{border-color:var(--blue-800)!important}.focus\:border-blue-900:focus{border-color:var(--blue-900)!important}.hover\:border-blue-50:hover{border-color:var(--blue-50)!important}.hover\:border-blue-100:hover{border-color:var(--blue-100)!important}.hover\:border-blue-200:hover{border-color:var(--blue-200)!important}.hover\:border-blue-300:hover{border-color:var(--blue-300)!important}.hover\:border-blue-400:hover{border-color:var(--blue-400)!important}.hover\:border-blue-500:hover{border-color:var(--blue-500)!important}.hover\:border-blue-600:hover{border-color:var(--blue-600)!important}.hover\:border-blue-700:hover{border-color:var(--blue-700)!important}.hover\:border-blue-800:hover{border-color:var(--blue-800)!important}.hover\:border-blue-900:hover{border-color:var(--blue-900)!important}.active\:border-blue-50:active{border-color:var(--blue-50)!important}.active\:border-blue-100:active{border-color:var(--blue-100)!important}.active\:border-blue-200:active{border-color:var(--blue-200)!important}.active\:border-blue-300:active{border-color:var(--blue-300)!important}.active\:border-blue-400:active{border-color:var(--blue-400)!important}.active\:border-blue-500:active{border-color:var(--blue-500)!important}.active\:border-blue-600:active{border-color:var(--blue-600)!important}.active\:border-blue-700:active{border-color:var(--blue-700)!important}.active\:border-blue-800:active{border-color:var(--blue-800)!important}.active\:border-blue-900:active{border-color:var(--blue-900)!important}.border-green-50{border-color:var(--green-50)!important}.border-green-100{border-color:var(--green-100)!important}.border-green-200{border-color:var(--green-200)!important}.border-green-300{border-color:var(--green-300)!important}.border-green-400{border-color:var(--green-400)!important}.border-green-500{border-color:var(--green-500)!important}.border-green-600{border-color:var(--green-600)!important}.border-green-700{border-color:var(--green-700)!important}.border-green-800{border-color:var(--green-800)!important}.border-green-900{border-color:var(--green-900)!important}.focus\:border-green-50:focus{border-color:var(--green-50)!important}.focus\:border-green-100:focus{border-color:var(--green-100)!important}.focus\:border-green-200:focus{border-color:var(--green-200)!important}.focus\:border-green-300:focus{border-color:var(--green-300)!important}.focus\:border-green-400:focus{border-color:var(--green-400)!important}.focus\:border-green-500:focus{border-color:var(--green-500)!important}.focus\:border-green-600:focus{border-color:var(--green-600)!important}.focus\:border-green-700:focus{border-color:var(--green-700)!important}.focus\:border-green-800:focus{border-color:var(--green-800)!important}.focus\:border-green-900:focus{border-color:var(--green-900)!important}.hover\:border-green-50:hover{border-color:var(--green-50)!important}.hover\:border-green-100:hover{border-color:var(--green-100)!important}.hover\:border-green-200:hover{border-color:var(--green-200)!important}.hover\:border-green-300:hover{border-color:var(--green-300)!important}.hover\:border-green-400:hover{border-color:var(--green-400)!important}.hover\:border-green-500:hover{border-color:var(--green-500)!important}.hover\:border-green-600:hover{border-color:var(--green-600)!important}.hover\:border-green-700:hover{border-color:var(--green-700)!important}.hover\:border-green-800:hover{border-color:var(--green-800)!important}.hover\:border-green-900:hover{border-color:var(--green-900)!important}.active\:border-green-50:active{border-color:var(--green-50)!important}.active\:border-green-100:active{border-color:var(--green-100)!important}.active\:border-green-200:active{border-color:var(--green-200)!important}.active\:border-green-300:active{border-color:var(--green-300)!important}.active\:border-green-400:active{border-color:var(--green-400)!important}.active\:border-green-500:active{border-color:var(--green-500)!important}.active\:border-green-600:active{border-color:var(--green-600)!important}.active\:border-green-700:active{border-color:var(--green-700)!important}.active\:border-green-800:active{border-color:var(--green-800)!important}.active\:border-green-900:active{border-color:var(--green-900)!important}.border-yellow-50{border-color:var(--yellow-50)!important}.border-yellow-100{border-color:var(--yellow-100)!important}.border-yellow-200{border-color:var(--yellow-200)!important}.border-yellow-300{border-color:var(--yellow-300)!important}.border-yellow-400{border-color:var(--yellow-400)!important}.border-yellow-500{border-color:var(--yellow-500)!important}.border-yellow-600{border-color:var(--yellow-600)!important}.border-yellow-700{border-color:var(--yellow-700)!important}.border-yellow-800{border-color:var(--yellow-800)!important}.border-yellow-900{border-color:var(--yellow-900)!important}.focus\:border-yellow-50:focus{border-color:var(--yellow-50)!important}.focus\:border-yellow-100:focus{border-color:var(--yellow-100)!important}.focus\:border-yellow-200:focus{border-color:var(--yellow-200)!important}.focus\:border-yellow-300:focus{border-color:var(--yellow-300)!important}.focus\:border-yellow-400:focus{border-color:var(--yellow-400)!important}.focus\:border-yellow-500:focus{border-color:var(--yellow-500)!important}.focus\:border-yellow-600:focus{border-color:var(--yellow-600)!important}.focus\:border-yellow-700:focus{border-color:var(--yellow-700)!important}.focus\:border-yellow-800:focus{border-color:var(--yellow-800)!important}.focus\:border-yellow-900:focus{border-color:var(--yellow-900)!important}.hover\:border-yellow-50:hover{border-color:var(--yellow-50)!important}.hover\:border-yellow-100:hover{border-color:var(--yellow-100)!important}.hover\:border-yellow-200:hover{border-color:var(--yellow-200)!important}.hover\:border-yellow-300:hover{border-color:var(--yellow-300)!important}.hover\:border-yellow-400:hover{border-color:var(--yellow-400)!important}.hover\:border-yellow-500:hover{border-color:var(--yellow-500)!important}.hover\:border-yellow-600:hover{border-color:var(--yellow-600)!important}.hover\:border-yellow-700:hover{border-color:var(--yellow-700)!important}.hover\:border-yellow-800:hover{border-color:var(--yellow-800)!important}.hover\:border-yellow-900:hover{border-color:var(--yellow-900)!important}.active\:border-yellow-50:active{border-color:var(--yellow-50)!important}.active\:border-yellow-100:active{border-color:var(--yellow-100)!important}.active\:border-yellow-200:active{border-color:var(--yellow-200)!important}.active\:border-yellow-300:active{border-color:var(--yellow-300)!important}.active\:border-yellow-400:active{border-color:var(--yellow-400)!important}.active\:border-yellow-500:active{border-color:var(--yellow-500)!important}.active\:border-yellow-600:active{border-color:var(--yellow-600)!important}.active\:border-yellow-700:active{border-color:var(--yellow-700)!important}.active\:border-yellow-800:active{border-color:var(--yellow-800)!important}.active\:border-yellow-900:active{border-color:var(--yellow-900)!important}.border-cyan-50{border-color:var(--cyan-50)!important}.border-cyan-100{border-color:var(--cyan-100)!important}.border-cyan-200{border-color:var(--cyan-200)!important}.border-cyan-300{border-color:var(--cyan-300)!important}.border-cyan-400{border-color:var(--cyan-400)!important}.border-cyan-500{border-color:var(--cyan-500)!important}.border-cyan-600{border-color:var(--cyan-600)!important}.border-cyan-700{border-color:var(--cyan-700)!important}.border-cyan-800{border-color:var(--cyan-800)!important}.border-cyan-900{border-color:var(--cyan-900)!important}.focus\:border-cyan-50:focus{border-color:var(--cyan-50)!important}.focus\:border-cyan-100:focus{border-color:var(--cyan-100)!important}.focus\:border-cyan-200:focus{border-color:var(--cyan-200)!important}.focus\:border-cyan-300:focus{border-color:var(--cyan-300)!important}.focus\:border-cyan-400:focus{border-color:var(--cyan-400)!important}.focus\:border-cyan-500:focus{border-color:var(--cyan-500)!important}.focus\:border-cyan-600:focus{border-color:var(--cyan-600)!important}.focus\:border-cyan-700:focus{border-color:var(--cyan-700)!important}.focus\:border-cyan-800:focus{border-color:var(--cyan-800)!important}.focus\:border-cyan-900:focus{border-color:var(--cyan-900)!important}.hover\:border-cyan-50:hover{border-color:var(--cyan-50)!important}.hover\:border-cyan-100:hover{border-color:var(--cyan-100)!important}.hover\:border-cyan-200:hover{border-color:var(--cyan-200)!important}.hover\:border-cyan-300:hover{border-color:var(--cyan-300)!important}.hover\:border-cyan-400:hover{border-color:var(--cyan-400)!important}.hover\:border-cyan-500:hover{border-color:var(--cyan-500)!important}.hover\:border-cyan-600:hover{border-color:var(--cyan-600)!important}.hover\:border-cyan-700:hover{border-color:var(--cyan-700)!important}.hover\:border-cyan-800:hover{border-color:var(--cyan-800)!important}.hover\:border-cyan-900:hover{border-color:var(--cyan-900)!important}.active\:border-cyan-50:active{border-color:var(--cyan-50)!important}.active\:border-cyan-100:active{border-color:var(--cyan-100)!important}.active\:border-cyan-200:active{border-color:var(--cyan-200)!important}.active\:border-cyan-300:active{border-color:var(--cyan-300)!important}.active\:border-cyan-400:active{border-color:var(--cyan-400)!important}.active\:border-cyan-500:active{border-color:var(--cyan-500)!important}.active\:border-cyan-600:active{border-color:var(--cyan-600)!important}.active\:border-cyan-700:active{border-color:var(--cyan-700)!important}.active\:border-cyan-800:active{border-color:var(--cyan-800)!important}.active\:border-cyan-900:active{border-color:var(--cyan-900)!important}.border-pink-50{border-color:var(--pink-50)!important}.border-pink-100{border-color:var(--pink-100)!important}.border-pink-200{border-color:var(--pink-200)!important}.border-pink-300{border-color:var(--pink-300)!important}.border-pink-400{border-color:var(--pink-400)!important}.border-pink-500{border-color:var(--pink-500)!important}.border-pink-600{border-color:var(--pink-600)!important}.border-pink-700{border-color:var(--pink-700)!important}.border-pink-800{border-color:var(--pink-800)!important}.border-pink-900{border-color:var(--pink-900)!important}.focus\:border-pink-50:focus{border-color:var(--pink-50)!important}.focus\:border-pink-100:focus{border-color:var(--pink-100)!important}.focus\:border-pink-200:focus{border-color:var(--pink-200)!important}.focus\:border-pink-300:focus{border-color:var(--pink-300)!important}.focus\:border-pink-400:focus{border-color:var(--pink-400)!important}.focus\:border-pink-500:focus{border-color:var(--pink-500)!important}.focus\:border-pink-600:focus{border-color:var(--pink-600)!important}.focus\:border-pink-700:focus{border-color:var(--pink-700)!important}.focus\:border-pink-800:focus{border-color:var(--pink-800)!important}.focus\:border-pink-900:focus{border-color:var(--pink-900)!important}.hover\:border-pink-50:hover{border-color:var(--pink-50)!important}.hover\:border-pink-100:hover{border-color:var(--pink-100)!important}.hover\:border-pink-200:hover{border-color:var(--pink-200)!important}.hover\:border-pink-300:hover{border-color:var(--pink-300)!important}.hover\:border-pink-400:hover{border-color:var(--pink-400)!important}.hover\:border-pink-500:hover{border-color:var(--pink-500)!important}.hover\:border-pink-600:hover{border-color:var(--pink-600)!important}.hover\:border-pink-700:hover{border-color:var(--pink-700)!important}.hover\:border-pink-800:hover{border-color:var(--pink-800)!important}.hover\:border-pink-900:hover{border-color:var(--pink-900)!important}.active\:border-pink-50:active{border-color:var(--pink-50)!important}.active\:border-pink-100:active{border-color:var(--pink-100)!important}.active\:border-pink-200:active{border-color:var(--pink-200)!important}.active\:border-pink-300:active{border-color:var(--pink-300)!important}.active\:border-pink-400:active{border-color:var(--pink-400)!important}.active\:border-pink-500:active{border-color:var(--pink-500)!important}.active\:border-pink-600:active{border-color:var(--pink-600)!important}.active\:border-pink-700:active{border-color:var(--pink-700)!important}.active\:border-pink-800:active{border-color:var(--pink-800)!important}.active\:border-pink-900:active{border-color:var(--pink-900)!important}.border-indigo-50{border-color:var(--indigo-50)!important}.border-indigo-100{border-color:var(--indigo-100)!important}.border-indigo-200{border-color:var(--indigo-200)!important}.border-indigo-300{border-color:var(--indigo-300)!important}.border-indigo-400{border-color:var(--indigo-400)!important}.border-indigo-500{border-color:var(--indigo-500)!important}.border-indigo-600{border-color:var(--indigo-600)!important}.border-indigo-700{border-color:var(--indigo-700)!important}.border-indigo-800{border-color:var(--indigo-800)!important}.border-indigo-900{border-color:var(--indigo-900)!important}.focus\:border-indigo-50:focus{border-color:var(--indigo-50)!important}.focus\:border-indigo-100:focus{border-color:var(--indigo-100)!important}.focus\:border-indigo-200:focus{border-color:var(--indigo-200)!important}.focus\:border-indigo-300:focus{border-color:var(--indigo-300)!important}.focus\:border-indigo-400:focus{border-color:var(--indigo-400)!important}.focus\:border-indigo-500:focus{border-color:var(--indigo-500)!important}.focus\:border-indigo-600:focus{border-color:var(--indigo-600)!important}.focus\:border-indigo-700:focus{border-color:var(--indigo-700)!important}.focus\:border-indigo-800:focus{border-color:var(--indigo-800)!important}.focus\:border-indigo-900:focus{border-color:var(--indigo-900)!important}.hover\:border-indigo-50:hover{border-color:var(--indigo-50)!important}.hover\:border-indigo-100:hover{border-color:var(--indigo-100)!important}.hover\:border-indigo-200:hover{border-color:var(--indigo-200)!important}.hover\:border-indigo-300:hover{border-color:var(--indigo-300)!important}.hover\:border-indigo-400:hover{border-color:var(--indigo-400)!important}.hover\:border-indigo-500:hover{border-color:var(--indigo-500)!important}.hover\:border-indigo-600:hover{border-color:var(--indigo-600)!important}.hover\:border-indigo-700:hover{border-color:var(--indigo-700)!important}.hover\:border-indigo-800:hover{border-color:var(--indigo-800)!important}.hover\:border-indigo-900:hover{border-color:var(--indigo-900)!important}.active\:border-indigo-50:active{border-color:var(--indigo-50)!important}.active\:border-indigo-100:active{border-color:var(--indigo-100)!important}.active\:border-indigo-200:active{border-color:var(--indigo-200)!important}.active\:border-indigo-300:active{border-color:var(--indigo-300)!important}.active\:border-indigo-400:active{border-color:var(--indigo-400)!important}.active\:border-indigo-500:active{border-color:var(--indigo-500)!important}.active\:border-indigo-600:active{border-color:var(--indigo-600)!important}.active\:border-indigo-700:active{border-color:var(--indigo-700)!important}.active\:border-indigo-800:active{border-color:var(--indigo-800)!important}.active\:border-indigo-900:active{border-color:var(--indigo-900)!important}.border-teal-50{border-color:var(--teal-50)!important}.border-teal-100{border-color:var(--teal-100)!important}.border-teal-200{border-color:var(--teal-200)!important}.border-teal-300{border-color:var(--teal-300)!important}.border-teal-400{border-color:var(--teal-400)!important}.border-teal-500{border-color:var(--teal-500)!important}.border-teal-600{border-color:var(--teal-600)!important}.border-teal-700{border-color:var(--teal-700)!important}.border-teal-800{border-color:var(--teal-800)!important}.border-teal-900{border-color:var(--teal-900)!important}.focus\:border-teal-50:focus{border-color:var(--teal-50)!important}.focus\:border-teal-100:focus{border-color:var(--teal-100)!important}.focus\:border-teal-200:focus{border-color:var(--teal-200)!important}.focus\:border-teal-300:focus{border-color:var(--teal-300)!important}.focus\:border-teal-400:focus{border-color:var(--teal-400)!important}.focus\:border-teal-500:focus{border-color:var(--teal-500)!important}.focus\:border-teal-600:focus{border-color:var(--teal-600)!important}.focus\:border-teal-700:focus{border-color:var(--teal-700)!important}.focus\:border-teal-800:focus{border-color:var(--teal-800)!important}.focus\:border-teal-900:focus{border-color:var(--teal-900)!important}.hover\:border-teal-50:hover{border-color:var(--teal-50)!important}.hover\:border-teal-100:hover{border-color:var(--teal-100)!important}.hover\:border-teal-200:hover{border-color:var(--teal-200)!important}.hover\:border-teal-300:hover{border-color:var(--teal-300)!important}.hover\:border-teal-400:hover{border-color:var(--teal-400)!important}.hover\:border-teal-500:hover{border-color:var(--teal-500)!important}.hover\:border-teal-600:hover{border-color:var(--teal-600)!important}.hover\:border-teal-700:hover{border-color:var(--teal-700)!important}.hover\:border-teal-800:hover{border-color:var(--teal-800)!important}.hover\:border-teal-900:hover{border-color:var(--teal-900)!important}.active\:border-teal-50:active{border-color:var(--teal-50)!important}.active\:border-teal-100:active{border-color:var(--teal-100)!important}.active\:border-teal-200:active{border-color:var(--teal-200)!important}.active\:border-teal-300:active{border-color:var(--teal-300)!important}.active\:border-teal-400:active{border-color:var(--teal-400)!important}.active\:border-teal-500:active{border-color:var(--teal-500)!important}.active\:border-teal-600:active{border-color:var(--teal-600)!important}.active\:border-teal-700:active{border-color:var(--teal-700)!important}.active\:border-teal-800:active{border-color:var(--teal-800)!important}.active\:border-teal-900:active{border-color:var(--teal-900)!important}.border-orange-50{border-color:var(--orange-50)!important}.border-orange-100{border-color:var(--orange-100)!important}.border-orange-200{border-color:var(--orange-200)!important}.border-orange-300{border-color:var(--orange-300)!important}.border-orange-400{border-color:var(--orange-400)!important}.border-orange-500{border-color:var(--orange-500)!important}.border-orange-600{border-color:var(--orange-600)!important}.border-orange-700{border-color:var(--orange-700)!important}.border-orange-800{border-color:var(--orange-800)!important}.border-orange-900{border-color:var(--orange-900)!important}.focus\:border-orange-50:focus{border-color:var(--orange-50)!important}.focus\:border-orange-100:focus{border-color:var(--orange-100)!important}.focus\:border-orange-200:focus{border-color:var(--orange-200)!important}.focus\:border-orange-300:focus{border-color:var(--orange-300)!important}.focus\:border-orange-400:focus{border-color:var(--orange-400)!important}.focus\:border-orange-500:focus{border-color:var(--orange-500)!important}.focus\:border-orange-600:focus{border-color:var(--orange-600)!important}.focus\:border-orange-700:focus{border-color:var(--orange-700)!important}.focus\:border-orange-800:focus{border-color:var(--orange-800)!important}.focus\:border-orange-900:focus{border-color:var(--orange-900)!important}.hover\:border-orange-50:hover{border-color:var(--orange-50)!important}.hover\:border-orange-100:hover{border-color:var(--orange-100)!important}.hover\:border-orange-200:hover{border-color:var(--orange-200)!important}.hover\:border-orange-300:hover{border-color:var(--orange-300)!important}.hover\:border-orange-400:hover{border-color:var(--orange-400)!important}.hover\:border-orange-500:hover{border-color:var(--orange-500)!important}.hover\:border-orange-600:hover{border-color:var(--orange-600)!important}.hover\:border-orange-700:hover{border-color:var(--orange-700)!important}.hover\:border-orange-800:hover{border-color:var(--orange-800)!important}.hover\:border-orange-900:hover{border-color:var(--orange-900)!important}.active\:border-orange-50:active{border-color:var(--orange-50)!important}.active\:border-orange-100:active{border-color:var(--orange-100)!important}.active\:border-orange-200:active{border-color:var(--orange-200)!important}.active\:border-orange-300:active{border-color:var(--orange-300)!important}.active\:border-orange-400:active{border-color:var(--orange-400)!important}.active\:border-orange-500:active{border-color:var(--orange-500)!important}.active\:border-orange-600:active{border-color:var(--orange-600)!important}.active\:border-orange-700:active{border-color:var(--orange-700)!important}.active\:border-orange-800:active{border-color:var(--orange-800)!important}.active\:border-orange-900:active{border-color:var(--orange-900)!important}.border-bluegray-50{border-color:var(--bluegray-50)!important}.border-bluegray-100{border-color:var(--bluegray-100)!important}.border-bluegray-200{border-color:var(--bluegray-200)!important}.border-bluegray-300{border-color:var(--bluegray-300)!important}.border-bluegray-400{border-color:var(--bluegray-400)!important}.border-bluegray-500{border-color:var(--bluegray-500)!important}.border-bluegray-600{border-color:var(--bluegray-600)!important}.border-bluegray-700{border-color:var(--bluegray-700)!important}.border-bluegray-800{border-color:var(--bluegray-800)!important}.border-bluegray-900{border-color:var(--bluegray-900)!important}.focus\:border-bluegray-50:focus{border-color:var(--bluegray-50)!important}.focus\:border-bluegray-100:focus{border-color:var(--bluegray-100)!important}.focus\:border-bluegray-200:focus{border-color:var(--bluegray-200)!important}.focus\:border-bluegray-300:focus{border-color:var(--bluegray-300)!important}.focus\:border-bluegray-400:focus{border-color:var(--bluegray-400)!important}.focus\:border-bluegray-500:focus{border-color:var(--bluegray-500)!important}.focus\:border-bluegray-600:focus{border-color:var(--bluegray-600)!important}.focus\:border-bluegray-700:focus{border-color:var(--bluegray-700)!important}.focus\:border-bluegray-800:focus{border-color:var(--bluegray-800)!important}.focus\:border-bluegray-900:focus{border-color:var(--bluegray-900)!important}.hover\:border-bluegray-50:hover{border-color:var(--bluegray-50)!important}.hover\:border-bluegray-100:hover{border-color:var(--bluegray-100)!important}.hover\:border-bluegray-200:hover{border-color:var(--bluegray-200)!important}.hover\:border-bluegray-300:hover{border-color:var(--bluegray-300)!important}.hover\:border-bluegray-400:hover{border-color:var(--bluegray-400)!important}.hover\:border-bluegray-500:hover{border-color:var(--bluegray-500)!important}.hover\:border-bluegray-600:hover{border-color:var(--bluegray-600)!important}.hover\:border-bluegray-700:hover{border-color:var(--bluegray-700)!important}.hover\:border-bluegray-800:hover{border-color:var(--bluegray-800)!important}.hover\:border-bluegray-900:hover{border-color:var(--bluegray-900)!important}.active\:border-bluegray-50:active{border-color:var(--bluegray-50)!important}.active\:border-bluegray-100:active{border-color:var(--bluegray-100)!important}.active\:border-bluegray-200:active{border-color:var(--bluegray-200)!important}.active\:border-bluegray-300:active{border-color:var(--bluegray-300)!important}.active\:border-bluegray-400:active{border-color:var(--bluegray-400)!important}.active\:border-bluegray-500:active{border-color:var(--bluegray-500)!important}.active\:border-bluegray-600:active{border-color:var(--bluegray-600)!important}.active\:border-bluegray-700:active{border-color:var(--bluegray-700)!important}.active\:border-bluegray-800:active{border-color:var(--bluegray-800)!important}.active\:border-bluegray-900:active{border-color:var(--bluegray-900)!important}.border-purple-50{border-color:var(--purple-50)!important}.border-purple-100{border-color:var(--purple-100)!important}.border-purple-200{border-color:var(--purple-200)!important}.border-purple-300{border-color:var(--purple-300)!important}.border-purple-400{border-color:var(--purple-400)!important}.border-purple-500{border-color:var(--purple-500)!important}.border-purple-600{border-color:var(--purple-600)!important}.border-purple-700{border-color:var(--purple-700)!important}.border-purple-800{border-color:var(--purple-800)!important}.border-purple-900{border-color:var(--purple-900)!important}.focus\:border-purple-50:focus{border-color:var(--purple-50)!important}.focus\:border-purple-100:focus{border-color:var(--purple-100)!important}.focus\:border-purple-200:focus{border-color:var(--purple-200)!important}.focus\:border-purple-300:focus{border-color:var(--purple-300)!important}.focus\:border-purple-400:focus{border-color:var(--purple-400)!important}.focus\:border-purple-500:focus{border-color:var(--purple-500)!important}.focus\:border-purple-600:focus{border-color:var(--purple-600)!important}.focus\:border-purple-700:focus{border-color:var(--purple-700)!important}.focus\:border-purple-800:focus{border-color:var(--purple-800)!important}.focus\:border-purple-900:focus{border-color:var(--purple-900)!important}.hover\:border-purple-50:hover{border-color:var(--purple-50)!important}.hover\:border-purple-100:hover{border-color:var(--purple-100)!important}.hover\:border-purple-200:hover{border-color:var(--purple-200)!important}.hover\:border-purple-300:hover{border-color:var(--purple-300)!important}.hover\:border-purple-400:hover{border-color:var(--purple-400)!important}.hover\:border-purple-500:hover{border-color:var(--purple-500)!important}.hover\:border-purple-600:hover{border-color:var(--purple-600)!important}.hover\:border-purple-700:hover{border-color:var(--purple-700)!important}.hover\:border-purple-800:hover{border-color:var(--purple-800)!important}.hover\:border-purple-900:hover{border-color:var(--purple-900)!important}.active\:border-purple-50:active{border-color:var(--purple-50)!important}.active\:border-purple-100:active{border-color:var(--purple-100)!important}.active\:border-purple-200:active{border-color:var(--purple-200)!important}.active\:border-purple-300:active{border-color:var(--purple-300)!important}.active\:border-purple-400:active{border-color:var(--purple-400)!important}.active\:border-purple-500:active{border-color:var(--purple-500)!important}.active\:border-purple-600:active{border-color:var(--purple-600)!important}.active\:border-purple-700:active{border-color:var(--purple-700)!important}.active\:border-purple-800:active{border-color:var(--purple-800)!important}.active\:border-purple-900:active{border-color:var(--purple-900)!important}.border-gray-50{border-color:var(--gray-50)!important}.border-gray-100{border-color:var(--gray-100)!important}.border-gray-200{border-color:var(--gray-200)!important}.border-gray-300{border-color:var(--gray-300)!important}.border-gray-400{border-color:var(--gray-400)!important}.border-gray-500{border-color:var(--gray-500)!important}.border-gray-600{border-color:var(--gray-600)!important}.border-gray-700{border-color:var(--gray-700)!important}.border-gray-800{border-color:var(--gray-800)!important}.border-gray-900{border-color:var(--gray-900)!important}.focus\:border-gray-50:focus{border-color:var(--gray-50)!important}.focus\:border-gray-100:focus{border-color:var(--gray-100)!important}.focus\:border-gray-200:focus{border-color:var(--gray-200)!important}.focus\:border-gray-300:focus{border-color:var(--gray-300)!important}.focus\:border-gray-400:focus{border-color:var(--gray-400)!important}.focus\:border-gray-500:focus{border-color:var(--gray-500)!important}.focus\:border-gray-600:focus{border-color:var(--gray-600)!important}.focus\:border-gray-700:focus{border-color:var(--gray-700)!important}.focus\:border-gray-800:focus{border-color:var(--gray-800)!important}.focus\:border-gray-900:focus{border-color:var(--gray-900)!important}.hover\:border-gray-50:hover{border-color:var(--gray-50)!important}.hover\:border-gray-100:hover{border-color:var(--gray-100)!important}.hover\:border-gray-200:hover{border-color:var(--gray-200)!important}.hover\:border-gray-300:hover{border-color:var(--gray-300)!important}.hover\:border-gray-400:hover{border-color:var(--gray-400)!important}.hover\:border-gray-500:hover{border-color:var(--gray-500)!important}.hover\:border-gray-600:hover{border-color:var(--gray-600)!important}.hover\:border-gray-700:hover{border-color:var(--gray-700)!important}.hover\:border-gray-800:hover{border-color:var(--gray-800)!important}.hover\:border-gray-900:hover{border-color:var(--gray-900)!important}.active\:border-gray-50:active{border-color:var(--gray-50)!important}.active\:border-gray-100:active{border-color:var(--gray-100)!important}.active\:border-gray-200:active{border-color:var(--gray-200)!important}.active\:border-gray-300:active{border-color:var(--gray-300)!important}.active\:border-gray-400:active{border-color:var(--gray-400)!important}.active\:border-gray-500:active{border-color:var(--gray-500)!important}.active\:border-gray-600:active{border-color:var(--gray-600)!important}.active\:border-gray-700:active{border-color:var(--gray-700)!important}.active\:border-gray-800:active{border-color:var(--gray-800)!important}.active\:border-gray-900:active{border-color:var(--gray-900)!important}.border-red-50{border-color:var(--red-50)!important}.border-red-100{border-color:var(--red-100)!important}.border-red-200{border-color:var(--red-200)!important}.border-red-300{border-color:var(--red-300)!important}.border-red-400{border-color:var(--red-400)!important}.border-red-500{border-color:var(--red-500)!important}.border-red-600{border-color:var(--red-600)!important}.border-red-700{border-color:var(--red-700)!important}.border-red-800{border-color:var(--red-800)!important}.border-red-900{border-color:var(--red-900)!important}.focus\:border-red-50:focus{border-color:var(--red-50)!important}.focus\:border-red-100:focus{border-color:var(--red-100)!important}.focus\:border-red-200:focus{border-color:var(--red-200)!important}.focus\:border-red-300:focus{border-color:var(--red-300)!important}.focus\:border-red-400:focus{border-color:var(--red-400)!important}.focus\:border-red-500:focus{border-color:var(--red-500)!important}.focus\:border-red-600:focus{border-color:var(--red-600)!important}.focus\:border-red-700:focus{border-color:var(--red-700)!important}.focus\:border-red-800:focus{border-color:var(--red-800)!important}.focus\:border-red-900:focus{border-color:var(--red-900)!important}.hover\:border-red-50:hover{border-color:var(--red-50)!important}.hover\:border-red-100:hover{border-color:var(--red-100)!important}.hover\:border-red-200:hover{border-color:var(--red-200)!important}.hover\:border-red-300:hover{border-color:var(--red-300)!important}.hover\:border-red-400:hover{border-color:var(--red-400)!important}.hover\:border-red-500:hover{border-color:var(--red-500)!important}.hover\:border-red-600:hover{border-color:var(--red-600)!important}.hover\:border-red-700:hover{border-color:var(--red-700)!important}.hover\:border-red-800:hover{border-color:var(--red-800)!important}.hover\:border-red-900:hover{border-color:var(--red-900)!important}.active\:border-red-50:active{border-color:var(--red-50)!important}.active\:border-red-100:active{border-color:var(--red-100)!important}.active\:border-red-200:active{border-color:var(--red-200)!important}.active\:border-red-300:active{border-color:var(--red-300)!important}.active\:border-red-400:active{border-color:var(--red-400)!important}.active\:border-red-500:active{border-color:var(--red-500)!important}.active\:border-red-600:active{border-color:var(--red-600)!important}.active\:border-red-700:active{border-color:var(--red-700)!important}.active\:border-red-800:active{border-color:var(--red-800)!important}.active\:border-red-900:active{border-color:var(--red-900)!important}.border-primary-50{border-color:var(--primary-50)!important}.border-primary-100{border-color:var(--primary-100)!important}.border-primary-200{border-color:var(--primary-200)!important}.border-primary-300{border-color:var(--primary-300)!important}.border-primary-400{border-color:var(--primary-400)!important}.border-primary-500{border-color:var(--primary-500)!important}.border-primary-600{border-color:var(--primary-600)!important}.border-primary-700{border-color:var(--primary-700)!important}.border-primary-800{border-color:var(--primary-800)!important}.border-primary-900{border-color:var(--primary-900)!important}.focus\:border-primary-50:focus{border-color:var(--primary-50)!important}.focus\:border-primary-100:focus{border-color:var(--primary-100)!important}.focus\:border-primary-200:focus{border-color:var(--primary-200)!important}.focus\:border-primary-300:focus{border-color:var(--primary-300)!important}.focus\:border-primary-400:focus{border-color:var(--primary-400)!important}.focus\:border-primary-500:focus{border-color:var(--primary-500)!important}.focus\:border-primary-600:focus{border-color:var(--primary-600)!important}.focus\:border-primary-700:focus{border-color:var(--primary-700)!important}.focus\:border-primary-800:focus{border-color:var(--primary-800)!important}.focus\:border-primary-900:focus{border-color:var(--primary-900)!important}.hover\:border-primary-50:hover{border-color:var(--primary-50)!important}.hover\:border-primary-100:hover{border-color:var(--primary-100)!important}.hover\:border-primary-200:hover{border-color:var(--primary-200)!important}.hover\:border-primary-300:hover{border-color:var(--primary-300)!important}.hover\:border-primary-400:hover{border-color:var(--primary-400)!important}.hover\:border-primary-500:hover{border-color:var(--primary-500)!important}.hover\:border-primary-600:hover{border-color:var(--primary-600)!important}.hover\:border-primary-700:hover{border-color:var(--primary-700)!important}.hover\:border-primary-800:hover{border-color:var(--primary-800)!important}.hover\:border-primary-900:hover{border-color:var(--primary-900)!important}.active\:border-primary-50:active{border-color:var(--primary-50)!important}.active\:border-primary-100:active{border-color:var(--primary-100)!important}.active\:border-primary-200:active{border-color:var(--primary-200)!important}.active\:border-primary-300:active{border-color:var(--primary-300)!important}.active\:border-primary-400:active{border-color:var(--primary-400)!important}.active\:border-primary-500:active{border-color:var(--primary-500)!important}.active\:border-primary-600:active{border-color:var(--primary-600)!important}.active\:border-primary-700:active{border-color:var(--primary-700)!important}.active\:border-primary-800:active{border-color:var(--primary-800)!important}.active\:border-primary-900:active{border-color:var(--primary-900)!important}.bg-white-alpha-10{background-color:#ffffff1a!important}.bg-white-alpha-20{background-color:#fff3!important}.bg-white-alpha-30{background-color:#ffffff4d!important}.bg-white-alpha-40{background-color:#fff6!important}.bg-white-alpha-50{background-color:#ffffff80!important}.bg-white-alpha-60{background-color:#fff9!important}.bg-white-alpha-70{background-color:#ffffffb3!important}.bg-white-alpha-80{background-color:#fffc!important}.bg-white-alpha-90{background-color:#ffffffe6!important}.hover\:bg-white-alpha-10:hover{background-color:#ffffff1a!important}.hover\:bg-white-alpha-20:hover{background-color:#fff3!important}.hover\:bg-white-alpha-30:hover{background-color:#ffffff4d!important}.hover\:bg-white-alpha-40:hover{background-color:#fff6!important}.hover\:bg-white-alpha-50:hover{background-color:#ffffff80!important}.hover\:bg-white-alpha-60:hover{background-color:#fff9!important}.hover\:bg-white-alpha-70:hover{background-color:#ffffffb3!important}.hover\:bg-white-alpha-80:hover{background-color:#fffc!important}.hover\:bg-white-alpha-90:hover{background-color:#ffffffe6!important}.focus\:bg-white-alpha-10:focus{background-color:#ffffff1a!important}.focus\:bg-white-alpha-20:focus{background-color:#fff3!important}.focus\:bg-white-alpha-30:focus{background-color:#ffffff4d!important}.focus\:bg-white-alpha-40:focus{background-color:#fff6!important}.focus\:bg-white-alpha-50:focus{background-color:#ffffff80!important}.focus\:bg-white-alpha-60:focus{background-color:#fff9!important}.focus\:bg-white-alpha-70:focus{background-color:#ffffffb3!important}.focus\:bg-white-alpha-80:focus{background-color:#fffc!important}.focus\:bg-white-alpha-90:focus{background-color:#ffffffe6!important}.active\:bg-white-alpha-10:active{background-color:#ffffff1a!important}.active\:bg-white-alpha-20:active{background-color:#fff3!important}.active\:bg-white-alpha-30:active{background-color:#ffffff4d!important}.active\:bg-white-alpha-40:active{background-color:#fff6!important}.active\:bg-white-alpha-50:active{background-color:#ffffff80!important}.active\:bg-white-alpha-60:active{background-color:#fff9!important}.active\:bg-white-alpha-70:active{background-color:#ffffffb3!important}.active\:bg-white-alpha-80:active{background-color:#fffc!important}.active\:bg-white-alpha-90:active{background-color:#ffffffe6!important}.bg-black-alpha-10{background-color:#0000001a!important}.bg-black-alpha-20{background-color:#0003!important}.bg-black-alpha-30{background-color:#0000004d!important}.bg-black-alpha-40{background-color:#0006!important}.bg-black-alpha-50{background-color:#00000080!important}.bg-black-alpha-60{background-color:#0009!important}.bg-black-alpha-70{background-color:#000000b3!important}.bg-black-alpha-80{background-color:#000c!important}.bg-black-alpha-90{background-color:#000000e6!important}.hover\:bg-black-alpha-10:hover{background-color:#0000001a!important}.hover\:bg-black-alpha-20:hover{background-color:#0003!important}.hover\:bg-black-alpha-30:hover{background-color:#0000004d!important}.hover\:bg-black-alpha-40:hover{background-color:#0006!important}.hover\:bg-black-alpha-50:hover{background-color:#00000080!important}.hover\:bg-black-alpha-60:hover{background-color:#0009!important}.hover\:bg-black-alpha-70:hover{background-color:#000000b3!important}.hover\:bg-black-alpha-80:hover{background-color:#000c!important}.hover\:bg-black-alpha-90:hover{background-color:#000000e6!important}.focus\:bg-black-alpha-10:focus{background-color:#0000001a!important}.focus\:bg-black-alpha-20:focus{background-color:#0003!important}.focus\:bg-black-alpha-30:focus{background-color:#0000004d!important}.focus\:bg-black-alpha-40:focus{background-color:#0006!important}.focus\:bg-black-alpha-50:focus{background-color:#00000080!important}.focus\:bg-black-alpha-60:focus{background-color:#0009!important}.focus\:bg-black-alpha-70:focus{background-color:#000000b3!important}.focus\:bg-black-alpha-80:focus{background-color:#000c!important}.focus\:bg-black-alpha-90:focus{background-color:#000000e6!important}.active\:bg-black-alpha-10:active{background-color:#0000001a!important}.active\:bg-black-alpha-20:active{background-color:#0003!important}.active\:bg-black-alpha-30:active{background-color:#0000004d!important}.active\:bg-black-alpha-40:active{background-color:#0006!important}.active\:bg-black-alpha-50:active{background-color:#00000080!important}.active\:bg-black-alpha-60:active{background-color:#0009!important}.active\:bg-black-alpha-70:active{background-color:#000000b3!important}.active\:bg-black-alpha-80:active{background-color:#000c!important}.active\:bg-black-alpha-90:active{background-color:#000000e6!important}.border-white-alpha-10{border-color:#ffffff1a!important}.border-white-alpha-20{border-color:#fff3!important}.border-white-alpha-30{border-color:#ffffff4d!important}.border-white-alpha-40{border-color:#fff6!important}.border-white-alpha-50{border-color:#ffffff80!important}.border-white-alpha-60{border-color:#fff9!important}.border-white-alpha-70{border-color:#ffffffb3!important}.border-white-alpha-80{border-color:#fffc!important}.border-white-alpha-90{border-color:#ffffffe6!important}.hover\:border-white-alpha-10:hover{border-color:#ffffff1a!important}.hover\:border-white-alpha-20:hover{border-color:#fff3!important}.hover\:border-white-alpha-30:hover{border-color:#ffffff4d!important}.hover\:border-white-alpha-40:hover{border-color:#fff6!important}.hover\:border-white-alpha-50:hover{border-color:#ffffff80!important}.hover\:border-white-alpha-60:hover{border-color:#fff9!important}.hover\:border-white-alpha-70:hover{border-color:#ffffffb3!important}.hover\:border-white-alpha-80:hover{border-color:#fffc!important}.hover\:border-white-alpha-90:hover{border-color:#ffffffe6!important}.focus\:border-white-alpha-10:focus{border-color:#ffffff1a!important}.focus\:border-white-alpha-20:focus{border-color:#fff3!important}.focus\:border-white-alpha-30:focus{border-color:#ffffff4d!important}.focus\:border-white-alpha-40:focus{border-color:#fff6!important}.focus\:border-white-alpha-50:focus{border-color:#ffffff80!important}.focus\:border-white-alpha-60:focus{border-color:#fff9!important}.focus\:border-white-alpha-70:focus{border-color:#ffffffb3!important}.focus\:border-white-alpha-80:focus{border-color:#fffc!important}.focus\:border-white-alpha-90:focus{border-color:#ffffffe6!important}.active\:border-white-alpha-10:active{border-color:#ffffff1a!important}.active\:border-white-alpha-20:active{border-color:#fff3!important}.active\:border-white-alpha-30:active{border-color:#ffffff4d!important}.active\:border-white-alpha-40:active{border-color:#fff6!important}.active\:border-white-alpha-50:active{border-color:#ffffff80!important}.active\:border-white-alpha-60:active{border-color:#fff9!important}.active\:border-white-alpha-70:active{border-color:#ffffffb3!important}.active\:border-white-alpha-80:active{border-color:#fffc!important}.active\:border-white-alpha-90:active{border-color:#ffffffe6!important}.border-black-alpha-10{border-color:#0000001a!important}.border-black-alpha-20{border-color:#0003!important}.border-black-alpha-30{border-color:#0000004d!important}.border-black-alpha-40{border-color:#0006!important}.border-black-alpha-50{border-color:#00000080!important}.border-black-alpha-60{border-color:#0009!important}.border-black-alpha-70{border-color:#000000b3!important}.border-black-alpha-80{border-color:#000c!important}.border-black-alpha-90{border-color:#000000e6!important}.hover\:border-black-alpha-10:hover{border-color:#0000001a!important}.hover\:border-black-alpha-20:hover{border-color:#0003!important}.hover\:border-black-alpha-30:hover{border-color:#0000004d!important}.hover\:border-black-alpha-40:hover{border-color:#0006!important}.hover\:border-black-alpha-50:hover{border-color:#00000080!important}.hover\:border-black-alpha-60:hover{border-color:#0009!important}.hover\:border-black-alpha-70:hover{border-color:#000000b3!important}.hover\:border-black-alpha-80:hover{border-color:#000c!important}.hover\:border-black-alpha-90:hover{border-color:#000000e6!important}.focus\:border-black-alpha-10:focus{border-color:#0000001a!important}.focus\:border-black-alpha-20:focus{border-color:#0003!important}.focus\:border-black-alpha-30:focus{border-color:#0000004d!important}.focus\:border-black-alpha-40:focus{border-color:#0006!important}.focus\:border-black-alpha-50:focus{border-color:#00000080!important}.focus\:border-black-alpha-60:focus{border-color:#0009!important}.focus\:border-black-alpha-70:focus{border-color:#000000b3!important}.focus\:border-black-alpha-80:focus{border-color:#000c!important}.focus\:border-black-alpha-90:focus{border-color:#000000e6!important}.active\:border-black-alpha-10:active{border-color:#0000001a!important}.active\:border-black-alpha-20:active{border-color:#0003!important}.active\:border-black-alpha-30:active{border-color:#0000004d!important}.active\:border-black-alpha-40:active{border-color:#0006!important}.active\:border-black-alpha-50:active{border-color:#00000080!important}.active\:border-black-alpha-60:active{border-color:#0009!important}.active\:border-black-alpha-70:active{border-color:#000000b3!important}.active\:border-black-alpha-80:active{border-color:#000c!important}.active\:border-black-alpha-90:active{border-color:#000000e6!important}.text-white-alpha-10{color:#ffffff1a!important}.text-white-alpha-20{color:#fff3!important}.text-white-alpha-30{color:#ffffff4d!important}.text-white-alpha-40{color:#fff6!important}.text-white-alpha-50{color:#ffffff80!important}.text-white-alpha-60{color:#fff9!important}.text-white-alpha-70{color:#ffffffb3!important}.text-white-alpha-80{color:#fffc!important}.text-white-alpha-90{color:#ffffffe6!important}.hover\:text-white-alpha-10:hover{color:#ffffff1a!important}.hover\:text-white-alpha-20:hover{color:#fff3!important}.hover\:text-white-alpha-30:hover{color:#ffffff4d!important}.hover\:text-white-alpha-40:hover{color:#fff6!important}.hover\:text-white-alpha-50:hover{color:#ffffff80!important}.hover\:text-white-alpha-60:hover{color:#fff9!important}.hover\:text-white-alpha-70:hover{color:#ffffffb3!important}.hover\:text-white-alpha-80:hover{color:#fffc!important}.hover\:text-white-alpha-90:hover{color:#ffffffe6!important}.focus\:text-white-alpha-10:focus{color:#ffffff1a!important}.focus\:text-white-alpha-20:focus{color:#fff3!important}.focus\:text-white-alpha-30:focus{color:#ffffff4d!important}.focus\:text-white-alpha-40:focus{color:#fff6!important}.focus\:text-white-alpha-50:focus{color:#ffffff80!important}.focus\:text-white-alpha-60:focus{color:#fff9!important}.focus\:text-white-alpha-70:focus{color:#ffffffb3!important}.focus\:text-white-alpha-80:focus{color:#fffc!important}.focus\:text-white-alpha-90:focus{color:#ffffffe6!important}.active\:text-white-alpha-10:active{color:#ffffff1a!important}.active\:text-white-alpha-20:active{color:#fff3!important}.active\:text-white-alpha-30:active{color:#ffffff4d!important}.active\:text-white-alpha-40:active{color:#fff6!important}.active\:text-white-alpha-50:active{color:#ffffff80!important}.active\:text-white-alpha-60:active{color:#fff9!important}.active\:text-white-alpha-70:active{color:#ffffffb3!important}.active\:text-white-alpha-80:active{color:#fffc!important}.active\:text-white-alpha-90:active{color:#ffffffe6!important}.text-black-alpha-10{color:#0000001a!important}.text-black-alpha-20{color:#0003!important}.text-black-alpha-30{color:#0000004d!important}.text-black-alpha-40{color:#0006!important}.text-black-alpha-50{color:#00000080!important}.text-black-alpha-60{color:#0009!important}.text-black-alpha-70{color:#000000b3!important}.text-black-alpha-80{color:#000c!important}.text-black-alpha-90{color:#000000e6!important}.hover\:text-black-alpha-10:hover{color:#0000001a!important}.hover\:text-black-alpha-20:hover{color:#0003!important}.hover\:text-black-alpha-30:hover{color:#0000004d!important}.hover\:text-black-alpha-40:hover{color:#0006!important}.hover\:text-black-alpha-50:hover{color:#00000080!important}.hover\:text-black-alpha-60:hover{color:#0009!important}.hover\:text-black-alpha-70:hover{color:#000000b3!important}.hover\:text-black-alpha-80:hover{color:#000c!important}.hover\:text-black-alpha-90:hover{color:#000000e6!important}.focus\:text-black-alpha-10:focus{color:#0000001a!important}.focus\:text-black-alpha-20:focus{color:#0003!important}.focus\:text-black-alpha-30:focus{color:#0000004d!important}.focus\:text-black-alpha-40:focus{color:#0006!important}.focus\:text-black-alpha-50:focus{color:#00000080!important}.focus\:text-black-alpha-60:focus{color:#0009!important}.focus\:text-black-alpha-70:focus{color:#000000b3!important}.focus\:text-black-alpha-80:focus{color:#000c!important}.focus\:text-black-alpha-90:focus{color:#000000e6!important}.active\:text-black-alpha-10:active{color:#0000001a!important}.active\:text-black-alpha-20:active{color:#0003!important}.active\:text-black-alpha-30:active{color:#0000004d!important}.active\:text-black-alpha-40:active{color:#0006!important}.active\:text-black-alpha-50:active{color:#00000080!important}.active\:text-black-alpha-60:active{color:#0009!important}.active\:text-black-alpha-70:active{color:#000000b3!important}.active\:text-black-alpha-80:active{color:#000c!important}.active\:text-black-alpha-90:active{color:#000000e6!important}.text-primary{color:var(--primary-color)!important}.bg-primary{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.bg-primary-reverse{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.bg-white{background-color:#fff!important}.border-primary{border-color:var(--primary-color)!important}.text-white{color:#fff!important}.border-white{border-color:#fff!important}.text-color{color:var(--text-color)!important}.text-color-secondary{color:var(--text-color-secondary)!important}.surface-ground{background-color:var(--surface-ground)!important}.surface-section{background-color:var(--surface-section)!important}.surface-card{background-color:var(--surface-card)!important}.surface-overlay{background-color:var(--surface-overlay)!important}.surface-hover{background-color:var(--surface-hover)!important}.surface-border{border-color:var(--surface-border)!important}.focus\:text-primary:focus{color:var(--primary-color)!important}.hover\:text-primary:hover,.active\:text-primary:active{color:var(--primary-color)!important}.focus\:bg-primary:focus{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.hover\:bg-primary:hover,.active\:bg-primary:active{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.focus\:bg-primary-reverse:focus{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.hover\:bg-primary-reverse:hover,.active\:bg-primary-reverse:active{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.focus\:bg-white:focus{background-color:#fff!important}.hover\:bg-white:hover,.active\:bg-white:active{background-color:#fff!important}.focus\:border-primary:focus{border-color:var(--primary-color)!important}.hover\:border-primary:hover,.active\:border-primary:active{border-color:var(--primary-color)!important}.focus\:text-white:focus{color:#fff!important}.hover\:text-white:hover,.active\:text-white:active{color:#fff!important}.focus\:border-white:focus{border-color:#fff!important}.hover\:border-white:hover,.active\:border-white:active{border-color:#fff!important}.focus\:text-color:focus{color:var(--text-color)!important}.hover\:text-color:hover,.active\:text-color:active{color:var(--text-color)!important}.focus\:text-color-secondary:focus{color:var(--text-color-secondary)!important}.hover\:text-color-secondary:hover,.active\:text-color-secondary:active{color:var(--text-color-secondary)!important}.focus\:surface-ground:focus{background-color:var(--surface-ground)!important}.hover\:surface-ground:hover,.active\:surface-ground:active{background-color:var(--surface-ground)!important}.focus\:surface-section:focus{background-color:var(--surface-section)!important}.hover\:surface-section:hover,.active\:surface-section:active{background-color:var(--surface-section)!important}.focus\:surface-card:focus{background-color:var(--surface-card)!important}.hover\:surface-card:hover,.active\:surface-card:active{background-color:var(--surface-card)!important}.focus\:surface-overlay:focus{background-color:var(--surface-overlay)!important}.hover\:surface-overlay:hover,.active\:surface-overlay:active{background-color:var(--surface-overlay)!important}.focus\:surface-hover:focus{background-color:var(--surface-hover)!important}.hover\:surface-hover:hover,.active\:surface-hover:active{background-color:var(--surface-hover)!important}.focus\:surface-border:focus{border-color:var(--surface-border)!important}.hover\:surface-border:hover,.active\:surface-border:active{border-color:var(--surface-border)!important}@media screen and (min-width: 576px){.sm\:text-primary{color:var(--primary-color)!important}.sm\:bg-primary{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.sm\:bg-primary-reverse{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.sm\:bg-white{background-color:#fff!important}.sm\:border-primary{border-color:var(--primary-color)!important}.sm\:text-white{color:#fff!important}.sm\:border-white{border-color:#fff!important}.sm\:text-color{color:var(--text-color)!important}.sm\:text-color-secondary{color:var(--text-color-secondary)!important}.sm\:surface-ground{background-color:var(--surface-ground)!important}.sm\:surface-section{background-color:var(--surface-section)!important}.sm\:surface-card{background-color:var(--surface-card)!important}.sm\:surface-overlay{background-color:var(--surface-overlay)!important}.sm\:surface-hover{background-color:var(--surface-hover)!important}.sm\:surface-border{border-color:var(--surface-border)!important}.sm\:focus\:text-primary:focus{color:var(--primary-color)!important}.sm\:hover\:text-primary:hover,.sm\:active\:text-primary:active{color:var(--primary-color)!important}.sm\:focus\:bg-primary:focus{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.sm\:hover\:bg-primary:hover,.sm\:active\:bg-primary:active{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.sm\:focus\:bg-primary-reverse:focus{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.sm\:hover\:bg-primary-reverse:hover,.sm\:active\:bg-primary-reverse:active{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.sm\:focus\:bg-white:focus{background-color:#fff!important}.sm\:hover\:bg-white:hover,.sm\:active\:bg-white:active{background-color:#fff!important}.sm\:focus\:border-primary:focus{border-color:var(--primary-color)!important}.sm\:hover\:border-primary:hover,.sm\:active\:border-primary:active{border-color:var(--primary-color)!important}.sm\:focus\:text-white:focus{color:#fff!important}.sm\:hover\:text-white:hover,.sm\:active\:text-white:active{color:#fff!important}.sm\:focus\:border-white:focus{border-color:#fff!important}.sm\:hover\:border-white:hover,.sm\:active\:border-white:active{border-color:#fff!important}.sm\:focus\:text-color:focus{color:var(--text-color)!important}.sm\:hover\:text-color:hover,.sm\:active\:text-color:active{color:var(--text-color)!important}.sm\:focus\:text-color-secondary:focus{color:var(--text-color-secondary)!important}.sm\:hover\:text-color-secondary:hover,.sm\:active\:text-color-secondary:active{color:var(--text-color-secondary)!important}.sm\:focus\:surface-ground:focus{background-color:var(--surface-ground)!important}.sm\:hover\:surface-ground:hover,.sm\:active\:surface-ground:active{background-color:var(--surface-ground)!important}.sm\:focus\:surface-section:focus{background-color:var(--surface-section)!important}.sm\:hover\:surface-section:hover,.sm\:active\:surface-section:active{background-color:var(--surface-section)!important}.sm\:focus\:surface-card:focus{background-color:var(--surface-card)!important}.sm\:hover\:surface-card:hover,.sm\:active\:surface-card:active{background-color:var(--surface-card)!important}.sm\:focus\:surface-overlay:focus{background-color:var(--surface-overlay)!important}.sm\:hover\:surface-overlay:hover,.sm\:active\:surface-overlay:active{background-color:var(--surface-overlay)!important}.sm\:focus\:surface-hover:focus{background-color:var(--surface-hover)!important}.sm\:hover\:surface-hover:hover,.sm\:active\:surface-hover:active{background-color:var(--surface-hover)!important}.sm\:focus\:surface-border:focus{border-color:var(--surface-border)!important}.sm\:hover\:surface-border:hover,.sm\:active\:surface-border:active{border-color:var(--surface-border)!important}}@media screen and (min-width: 768px){.md\:text-primary{color:var(--primary-color)!important}.md\:bg-primary{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.md\:bg-primary-reverse{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.md\:bg-white{background-color:#fff!important}.md\:border-primary{border-color:var(--primary-color)!important}.md\:text-white{color:#fff!important}.md\:border-white{border-color:#fff!important}.md\:text-color{color:var(--text-color)!important}.md\:text-color-secondary{color:var(--text-color-secondary)!important}.md\:surface-ground{background-color:var(--surface-ground)!important}.md\:surface-section{background-color:var(--surface-section)!important}.md\:surface-card{background-color:var(--surface-card)!important}.md\:surface-overlay{background-color:var(--surface-overlay)!important}.md\:surface-hover{background-color:var(--surface-hover)!important}.md\:surface-border{border-color:var(--surface-border)!important}.md\:focus\:text-primary:focus{color:var(--primary-color)!important}.md\:hover\:text-primary:hover,.md\:active\:text-primary:active{color:var(--primary-color)!important}.md\:focus\:bg-primary:focus{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.md\:hover\:bg-primary:hover,.md\:active\:bg-primary:active{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.md\:focus\:bg-primary-reverse:focus{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.md\:hover\:bg-primary-reverse:hover,.md\:active\:bg-primary-reverse:active{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.md\:focus\:bg-white:focus{background-color:#fff!important}.md\:hover\:bg-white:hover,.md\:active\:bg-white:active{background-color:#fff!important}.md\:focus\:border-primary:focus{border-color:var(--primary-color)!important}.md\:hover\:border-primary:hover,.md\:active\:border-primary:active{border-color:var(--primary-color)!important}.md\:focus\:text-white:focus{color:#fff!important}.md\:hover\:text-white:hover,.md\:active\:text-white:active{color:#fff!important}.md\:focus\:border-white:focus{border-color:#fff!important}.md\:hover\:border-white:hover,.md\:active\:border-white:active{border-color:#fff!important}.md\:focus\:text-color:focus{color:var(--text-color)!important}.md\:hover\:text-color:hover,.md\:active\:text-color:active{color:var(--text-color)!important}.md\:focus\:text-color-secondary:focus{color:var(--text-color-secondary)!important}.md\:hover\:text-color-secondary:hover,.md\:active\:text-color-secondary:active{color:var(--text-color-secondary)!important}.md\:focus\:surface-ground:focus{background-color:var(--surface-ground)!important}.md\:hover\:surface-ground:hover,.md\:active\:surface-ground:active{background-color:var(--surface-ground)!important}.md\:focus\:surface-section:focus{background-color:var(--surface-section)!important}.md\:hover\:surface-section:hover,.md\:active\:surface-section:active{background-color:var(--surface-section)!important}.md\:focus\:surface-card:focus{background-color:var(--surface-card)!important}.md\:hover\:surface-card:hover,.md\:active\:surface-card:active{background-color:var(--surface-card)!important}.md\:focus\:surface-overlay:focus{background-color:var(--surface-overlay)!important}.md\:hover\:surface-overlay:hover,.md\:active\:surface-overlay:active{background-color:var(--surface-overlay)!important}.md\:focus\:surface-hover:focus{background-color:var(--surface-hover)!important}.md\:hover\:surface-hover:hover,.md\:active\:surface-hover:active{background-color:var(--surface-hover)!important}.md\:focus\:surface-border:focus{border-color:var(--surface-border)!important}.md\:hover\:surface-border:hover,.md\:active\:surface-border:active{border-color:var(--surface-border)!important}}@media screen and (min-width: 992px){.lg\:text-primary{color:var(--primary-color)!important}.lg\:bg-primary{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.lg\:bg-primary-reverse{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.lg\:bg-white{background-color:#fff!important}.lg\:border-primary{border-color:var(--primary-color)!important}.lg\:text-white{color:#fff!important}.lg\:border-white{border-color:#fff!important}.lg\:text-color{color:var(--text-color)!important}.lg\:text-color-secondary{color:var(--text-color-secondary)!important}.lg\:surface-ground{background-color:var(--surface-ground)!important}.lg\:surface-section{background-color:var(--surface-section)!important}.lg\:surface-card{background-color:var(--surface-card)!important}.lg\:surface-overlay{background-color:var(--surface-overlay)!important}.lg\:surface-hover{background-color:var(--surface-hover)!important}.lg\:surface-border{border-color:var(--surface-border)!important}.lg\:focus\:text-primary:focus{color:var(--primary-color)!important}.lg\:hover\:text-primary:hover,.lg\:active\:text-primary:active{color:var(--primary-color)!important}.lg\:focus\:bg-primary:focus{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.lg\:hover\:bg-primary:hover,.lg\:active\:bg-primary:active{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.lg\:focus\:bg-primary-reverse:focus{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.lg\:hover\:bg-primary-reverse:hover,.lg\:active\:bg-primary-reverse:active{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.lg\:focus\:bg-white:focus{background-color:#fff!important}.lg\:hover\:bg-white:hover,.lg\:active\:bg-white:active{background-color:#fff!important}.lg\:focus\:border-primary:focus{border-color:var(--primary-color)!important}.lg\:hover\:border-primary:hover,.lg\:active\:border-primary:active{border-color:var(--primary-color)!important}.lg\:focus\:text-white:focus{color:#fff!important}.lg\:hover\:text-white:hover,.lg\:active\:text-white:active{color:#fff!important}.lg\:focus\:border-white:focus{border-color:#fff!important}.lg\:hover\:border-white:hover,.lg\:active\:border-white:active{border-color:#fff!important}.lg\:focus\:text-color:focus{color:var(--text-color)!important}.lg\:hover\:text-color:hover,.lg\:active\:text-color:active{color:var(--text-color)!important}.lg\:focus\:text-color-secondary:focus{color:var(--text-color-secondary)!important}.lg\:hover\:text-color-secondary:hover,.lg\:active\:text-color-secondary:active{color:var(--text-color-secondary)!important}.lg\:focus\:surface-ground:focus{background-color:var(--surface-ground)!important}.lg\:hover\:surface-ground:hover,.lg\:active\:surface-ground:active{background-color:var(--surface-ground)!important}.lg\:focus\:surface-section:focus{background-color:var(--surface-section)!important}.lg\:hover\:surface-section:hover,.lg\:active\:surface-section:active{background-color:var(--surface-section)!important}.lg\:focus\:surface-card:focus{background-color:var(--surface-card)!important}.lg\:hover\:surface-card:hover,.lg\:active\:surface-card:active{background-color:var(--surface-card)!important}.lg\:focus\:surface-overlay:focus{background-color:var(--surface-overlay)!important}.lg\:hover\:surface-overlay:hover,.lg\:active\:surface-overlay:active{background-color:var(--surface-overlay)!important}.lg\:focus\:surface-hover:focus{background-color:var(--surface-hover)!important}.lg\:hover\:surface-hover:hover,.lg\:active\:surface-hover:active{background-color:var(--surface-hover)!important}.lg\:focus\:surface-border:focus{border-color:var(--surface-border)!important}.lg\:hover\:surface-border:hover,.lg\:active\:surface-border:active{border-color:var(--surface-border)!important}}@media screen and (min-width: 1200px){.xl\:text-primary{color:var(--primary-color)!important}.xl\:bg-primary{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.xl\:bg-primary-reverse{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.xl\:bg-white{background-color:#fff!important}.xl\:border-primary{border-color:var(--primary-color)!important}.xl\:text-white{color:#fff!important}.xl\:border-white{border-color:#fff!important}.xl\:text-color{color:var(--text-color)!important}.xl\:text-color-secondary{color:var(--text-color-secondary)!important}.xl\:surface-ground{background-color:var(--surface-ground)!important}.xl\:surface-section{background-color:var(--surface-section)!important}.xl\:surface-card{background-color:var(--surface-card)!important}.xl\:surface-overlay{background-color:var(--surface-overlay)!important}.xl\:surface-hover{background-color:var(--surface-hover)!important}.xl\:surface-border{border-color:var(--surface-border)!important}.xl\:focus\:text-primary:focus{color:var(--primary-color)!important}.xl\:hover\:text-primary:hover,.xl\:active\:text-primary:active{color:var(--primary-color)!important}.xl\:focus\:bg-primary:focus{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.xl\:hover\:bg-primary:hover,.xl\:active\:bg-primary:active{color:var(--primary-color-text)!important;background-color:var(--primary-color)!important}.xl\:focus\:bg-primary-reverse:focus{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.xl\:hover\:bg-primary-reverse:hover,.xl\:active\:bg-primary-reverse:active{color:var(--primary-color)!important;background-color:var(--primary-color-text)!important}.xl\:focus\:bg-white:focus{background-color:#fff!important}.xl\:hover\:bg-white:hover,.xl\:active\:bg-white:active{background-color:#fff!important}.xl\:focus\:border-primary:focus{border-color:var(--primary-color)!important}.xl\:hover\:border-primary:hover,.xl\:active\:border-primary:active{border-color:var(--primary-color)!important}.xl\:focus\:text-white:focus{color:#fff!important}.xl\:hover\:text-white:hover,.xl\:active\:text-white:active{color:#fff!important}.xl\:focus\:border-white:focus{border-color:#fff!important}.xl\:hover\:border-white:hover,.xl\:active\:border-white:active{border-color:#fff!important}.xl\:focus\:text-color:focus{color:var(--text-color)!important}.xl\:hover\:text-color:hover,.xl\:active\:text-color:active{color:var(--text-color)!important}.xl\:focus\:text-color-secondary:focus{color:var(--text-color-secondary)!important}.xl\:hover\:text-color-secondary:hover,.xl\:active\:text-color-secondary:active{color:var(--text-color-secondary)!important}.xl\:focus\:surface-ground:focus{background-color:var(--surface-ground)!important}.xl\:hover\:surface-ground:hover,.xl\:active\:surface-ground:active{background-color:var(--surface-ground)!important}.xl\:focus\:surface-section:focus{background-color:var(--surface-section)!important}.xl\:hover\:surface-section:hover,.xl\:active\:surface-section:active{background-color:var(--surface-section)!important}.xl\:focus\:surface-card:focus{background-color:var(--surface-card)!important}.xl\:hover\:surface-card:hover,.xl\:active\:surface-card:active{background-color:var(--surface-card)!important}.xl\:focus\:surface-overlay:focus{background-color:var(--surface-overlay)!important}.xl\:hover\:surface-overlay:hover,.xl\:active\:surface-overlay:active{background-color:var(--surface-overlay)!important}.xl\:focus\:surface-hover:focus{background-color:var(--surface-hover)!important}.xl\:hover\:surface-hover:hover,.xl\:active\:surface-hover:active{background-color:var(--surface-hover)!important}.xl\:focus\:surface-border:focus{border-color:var(--surface-border)!important}.xl\:hover\:surface-border:hover,.xl\:active\:surface-border:active{border-color:var(--surface-border)!important}}.field{margin-bottom:1rem}.field>label{display:inline-block;margin-bottom:.5rem}.field.grid>label{display:flex;align-items:center}.field>small{margin-top:.25rem}.field.grid,.formgrid.grid{margin-top:0}.field.grid .col-fixed,.formgrid.grid .col-fixed,.field.grid .col,.formgrid.grid .col,.field.grid .col-1,.formgrid.grid .col-1,.field.grid .col-2,.formgrid.grid .col-2,.field.grid .col-3,.formgrid.grid .col-3,.field.grid .col-4,.formgrid.grid .col-4,.field.grid .col-5,.formgrid.grid .col-5,.field.grid .col-6,.formgrid.grid .col-6,.field.grid .col-7,.formgrid.grid .col-7,.field.grid .col-8,.formgrid.grid .col-8,.field.grid .col-9,.formgrid.grid .col-9,.field.grid .col-10,.formgrid.grid .col-10,.field.grid .col-11,.formgrid.grid .col-11,.field.grid .col-12,.formgrid.grid .col-12{padding-top:0;padding-bottom:0}.formgroup-inline{display:flex;flex-wrap:wrap;align-items:flex-start}.formgroup-inline .field,.formgroup-inline .field-checkbox,.formgroup-inline .field-radiobutton{margin-right:1rem}.formgroup-inline .field>label,.formgroup-inline .field-checkbox>label,.formgroup-inline .field-radiobutton>label{margin-right:.5rem;margin-bottom:0}.field-checkbox,.field-radiobutton{margin-bottom:1rem;display:flex;align-items:center}.field-checkbox>label,.field-radiobutton>label{margin-left:.5rem;line-height:1}.hidden{display:none!important}.block{display:block!important}.inline{display:inline!important}.inline-block{display:inline-block!important}.flex{display:flex!important}.inline-flex{display:inline-flex!important}@media screen and (min-width: 576px){.sm\:hidden{display:none!important}.sm\:block{display:block!important}.sm\:inline{display:inline!important}.sm\:inline-block{display:inline-block!important}.sm\:flex{display:flex!important}.sm\:inline-flex{display:inline-flex!important}}@media screen and (min-width: 768px){.md\:hidden{display:none!important}.md\:block{display:block!important}.md\:inline{display:inline!important}.md\:inline-block{display:inline-block!important}.md\:flex{display:flex!important}.md\:inline-flex{display:inline-flex!important}}@media screen and (min-width: 992px){.lg\:hidden{display:none!important}.lg\:block{display:block!important}.lg\:inline{display:inline!important}.lg\:inline-block{display:inline-block!important}.lg\:flex{display:flex!important}.lg\:inline-flex{display:inline-flex!important}}@media screen and (min-width: 1200px){.xl\:hidden{display:none!important}.xl\:block{display:block!important}.xl\:inline{display:inline!important}.xl\:inline-block{display:inline-block!important}.xl\:flex{display:flex!important}.xl\:inline-flex{display:inline-flex!important}}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-left{text-align:left!important}.text-right{text-align:right!important}@media screen and (min-width: 576px){.sm\:text-center{text-align:center!important}.sm\:text-justify{text-align:justify!important}.sm\:text-left{text-align:left!important}.sm\:text-right{text-align:right!important}}@media screen and (min-width: 768px){.md\:text-center{text-align:center!important}.md\:text-justify{text-align:justify!important}.md\:text-left{text-align:left!important}.md\:text-right{text-align:right!important}}@media screen and (min-width: 992px){.lg\:text-center{text-align:center!important}.lg\:text-justify{text-align:justify!important}.lg\:text-left{text-align:left!important}.lg\:text-right{text-align:right!important}}@media screen and (min-width: 1200px){.xl\:text-center{text-align:center!important}.xl\:text-justify{text-align:justify!important}.xl\:text-left{text-align:left!important}.xl\:text-right{text-align:right!important}}.underline{text-decoration:underline!important}.line-through{text-decoration:line-through!important}.no-underline{text-decoration:none!important}.focus\:underline:focus{text-decoration:underline!important}.hover\:underline:hover,.active\:underline:active{text-decoration:underline!important}.focus\:line-through:focus{text-decoration:line-through!important}.hover\:line-through:hover,.active\:line-through:active{text-decoration:line-through!important}.focus\:no-underline:focus{text-decoration:none!important}.hover\:no-underline:hover,.active\:no-underline:active{text-decoration:none!important}.lowercase{text-transform:lowercase!important}.uppercase{text-transform:uppercase!important}.capitalize{text-transform:capitalize!important}.text-overflow-clip{text-overflow:clip!important}.text-overflow-ellipsis{text-overflow:ellipsis!important}@media screen and (min-width: 576px){.sm\:text-overflow-clip{text-overflow:clip!important}.sm\:text-overflow-ellipsis{text-overflow:ellipsis!important}}@media screen and (min-width: 768px){.md\:text-overflow-clip{text-overflow:clip!important}.md\:text-overflow-ellipsis{text-overflow:ellipsis!important}}@media screen and (min-width: 992px){.lg\:text-overflow-clip{text-overflow:clip!important}.lg\:text-overflow-ellipsis{text-overflow:ellipsis!important}}@media screen and (min-width: 1200px){.xl\:text-overflow-clip{text-overflow:clip!important}.xl\:text-overflow-ellipsis{text-overflow:ellipsis!important}}.font-light{font-weight:300!important}.font-normal{font-weight:400!important}.font-medium{font-weight:500!important}.font-semibold{font-weight:600!important}.font-bold{font-weight:700!important}@media screen and (min-width: 576px){.sm\:font-light{font-weight:300!important}.sm\:font-normal{font-weight:400!important}.sm\:font-medium{font-weight:500!important}.sm\:font-semibold{font-weight:600!important}.sm\:font-bold{font-weight:700!important}}@media screen and (min-width: 768px){.md\:font-light{font-weight:300!important}.md\:font-normal{font-weight:400!important}.md\:font-medium{font-weight:500!important}.md\:font-semibold{font-weight:600!important}.md\:font-bold{font-weight:700!important}}@media screen and (min-width: 992px){.lg\:font-light{font-weight:300!important}.lg\:font-normal{font-weight:400!important}.lg\:font-medium{font-weight:500!important}.lg\:font-semibold{font-weight:600!important}.lg\:font-bold{font-weight:700!important}}@media screen and (min-width: 1200px){.xl\:font-light{font-weight:300!important}.xl\:font-normal{font-weight:400!important}.xl\:font-medium{font-weight:500!important}.xl\:font-semibold{font-weight:600!important}.xl\:font-bold{font-weight:700!important}}.font-italic{font-style:italic!important}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-base{font-size:1rem!important}.text-lg{font-size:1.125rem!important}.text-xl{font-size:1.25rem!important}.text-2xl{font-size:1.5rem!important}.text-3xl{font-size:1.75rem!important}.text-4xl{font-size:2rem!important}.text-5xl{font-size:2.5rem!important}.text-6xl{font-size:3rem!important}.text-7xl{font-size:4rem!important}.text-8xl{font-size:6rem!important}@media screen and (min-width: 576px){.sm\:text-xs{font-size:.75rem!important}.sm\:text-sm{font-size:.875rem!important}.sm\:text-base{font-size:1rem!important}.sm\:text-lg{font-size:1.125rem!important}.sm\:text-xl{font-size:1.25rem!important}.sm\:text-2xl{font-size:1.5rem!important}.sm\:text-3xl{font-size:1.75rem!important}.sm\:text-4xl{font-size:2rem!important}.sm\:text-5xl{font-size:2.5rem!important}.sm\:text-6xl{font-size:3rem!important}.sm\:text-7xl{font-size:4rem!important}.sm\:text-8xl{font-size:6rem!important}}@media screen and (min-width: 768px){.md\:text-xs{font-size:.75rem!important}.md\:text-sm{font-size:.875rem!important}.md\:text-base{font-size:1rem!important}.md\:text-lg{font-size:1.125rem!important}.md\:text-xl{font-size:1.25rem!important}.md\:text-2xl{font-size:1.5rem!important}.md\:text-3xl{font-size:1.75rem!important}.md\:text-4xl{font-size:2rem!important}.md\:text-5xl{font-size:2.5rem!important}.md\:text-6xl{font-size:3rem!important}.md\:text-7xl{font-size:4rem!important}.md\:text-8xl{font-size:6rem!important}}@media screen and (min-width: 992px){.lg\:text-xs{font-size:.75rem!important}.lg\:text-sm{font-size:.875rem!important}.lg\:text-base{font-size:1rem!important}.lg\:text-lg{font-size:1.125rem!important}.lg\:text-xl{font-size:1.25rem!important}.lg\:text-2xl{font-size:1.5rem!important}.lg\:text-3xl{font-size:1.75rem!important}.lg\:text-4xl{font-size:2rem!important}.lg\:text-5xl{font-size:2.5rem!important}.lg\:text-6xl{font-size:3rem!important}.lg\:text-7xl{font-size:4rem!important}.lg\:text-8xl{font-size:6rem!important}}@media screen and (min-width: 1200px){.xl\:text-xs{font-size:.75rem!important}.xl\:text-sm{font-size:.875rem!important}.xl\:text-base{font-size:1rem!important}.xl\:text-lg{font-size:1.125rem!important}.xl\:text-xl{font-size:1.25rem!important}.xl\:text-2xl{font-size:1.5rem!important}.xl\:text-3xl{font-size:1.75rem!important}.xl\:text-4xl{font-size:2rem!important}.xl\:text-5xl{font-size:2.5rem!important}.xl\:text-6xl{font-size:3rem!important}.xl\:text-7xl{font-size:4rem!important}.xl\:text-8xl{font-size:6rem!important}}.line-height-1{line-height:1!important}.line-height-2{line-height:1.25!important}.line-height-3{line-height:1.5!important}.line-height-4{line-height:2!important}.white-space-normal{white-space:normal!important}.white-space-nowrap{white-space:nowrap!important}.vertical-align-baseline{vertical-align:baseline!important}.vertical-align-top{vertical-align:top!important}.vertical-align-middle{vertical-align:middle!important}.vertical-align-bottom{vertical-align:bottom!important}.vertical-align-text-top{vertical-align:text-top!important}.vertical-align-text-bottom{vertical-align:text-bottom!important}.vertical-align-sub{vertical-align:sub!important}.vertical-align-super{vertical-align:super!important}@media screen and (min-width: 576px){.sm\:vertical-align-baseline{vertical-align:baseline!important}.sm\:vertical-align-top{vertical-align:top!important}.sm\:vertical-align-middle{vertical-align:middle!important}.sm\:vertical-align-bottom{vertical-align:bottom!important}.sm\:vertical-align-text-top{vertical-align:text-top!important}.sm\:vertical-align-text-bottom{vertical-align:text-bottom!important}.sm\:vertical-align-sub{vertical-align:sub!important}.sm\:vertical-align-super{vertical-align:super!important}}@media screen and (min-width: 768px){.md\:vertical-align-baseline{vertical-align:baseline!important}.md\:vertical-align-top{vertical-align:top!important}.md\:vertical-align-middle{vertical-align:middle!important}.md\:vertical-align-bottom{vertical-align:bottom!important}.md\:vertical-align-text-top{vertical-align:text-top!important}.md\:vertical-align-text-bottom{vertical-align:text-bottom!important}.md\:vertical-align-sub{vertical-align:sub!important}.md\:vertical-align-super{vertical-align:super!important}}@media screen and (min-width: 992px){.lg\:vertical-align-baseline{vertical-align:baseline!important}.lg\:vertical-align-top{vertical-align:top!important}.lg\:vertical-align-middle{vertical-align:middle!important}.lg\:vertical-align-bottom{vertical-align:bottom!important}.lg\:vertical-align-text-top{vertical-align:text-top!important}.lg\:vertical-align-text-bottom{vertical-align:text-bottom!important}.lg\:vertical-align-sub{vertical-align:sub!important}.lg\:vertical-align-super{vertical-align:super!important}}@media screen and (min-width: 1200px){.xl\:vertical-align-baseline{vertical-align:baseline!important}.xl\:vertical-align-top{vertical-align:top!important}.xl\:vertical-align-middle{vertical-align:middle!important}.xl\:vertical-align-bottom{vertical-align:bottom!important}.xl\:vertical-align-text-top{vertical-align:text-top!important}.xl\:vertical-align-text-bottom{vertical-align:text-bottom!important}.xl\:vertical-align-sub{vertical-align:sub!important}.xl\:vertical-align-super{vertical-align:super!important}}.flex-row{flex-direction:row!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column{flex-direction:column!important}.flex-column-reverse{flex-direction:column-reverse!important}@media screen and (min-width: 576px){.sm\:flex-row{flex-direction:row!important}.sm\:flex-row-reverse{flex-direction:row-reverse!important}.sm\:flex-column{flex-direction:column!important}.sm\:flex-column-reverse{flex-direction:column-reverse!important}}@media screen and (min-width: 768px){.md\:flex-row{flex-direction:row!important}.md\:flex-row-reverse{flex-direction:row-reverse!important}.md\:flex-column{flex-direction:column!important}.md\:flex-column-reverse{flex-direction:column-reverse!important}}@media screen and (min-width: 992px){.lg\:flex-row{flex-direction:row!important}.lg\:flex-row-reverse{flex-direction:row-reverse!important}.lg\:flex-column{flex-direction:column!important}.lg\:flex-column-reverse{flex-direction:column-reverse!important}}@media screen and (min-width: 1200px){.xl\:flex-row{flex-direction:row!important}.xl\:flex-row-reverse{flex-direction:row-reverse!important}.xl\:flex-column{flex-direction:column!important}.xl\:flex-column-reverse{flex-direction:column-reverse!important}}.flex-wrap{flex-wrap:wrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-nowrap{flex-wrap:nowrap!important}@media screen and (min-width: 576px){.sm\:flex-wrap{flex-wrap:wrap!important}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse!important}.sm\:flex-nowrap{flex-wrap:nowrap!important}}@media screen and (min-width: 768px){.md\:flex-wrap{flex-wrap:wrap!important}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse!important}.md\:flex-nowrap{flex-wrap:nowrap!important}}@media screen and (min-width: 992px){.lg\:flex-wrap{flex-wrap:wrap!important}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse!important}.lg\:flex-nowrap{flex-wrap:nowrap!important}}@media screen and (min-width: 1200px){.xl\:flex-wrap{flex-wrap:wrap!important}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse!important}.xl\:flex-nowrap{flex-wrap:nowrap!important}}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}@media screen and (min-width: 576px){.sm\:justify-content-start{justify-content:flex-start!important}.sm\:justify-content-end{justify-content:flex-end!important}.sm\:justify-content-center{justify-content:center!important}.sm\:justify-content-between{justify-content:space-between!important}.sm\:justify-content-around{justify-content:space-around!important}.sm\:justify-content-evenly{justify-content:space-evenly!important}}@media screen and (min-width: 768px){.md\:justify-content-start{justify-content:flex-start!important}.md\:justify-content-end{justify-content:flex-end!important}.md\:justify-content-center{justify-content:center!important}.md\:justify-content-between{justify-content:space-between!important}.md\:justify-content-around{justify-content:space-around!important}.md\:justify-content-evenly{justify-content:space-evenly!important}}@media screen and (min-width: 992px){.lg\:justify-content-start{justify-content:flex-start!important}.lg\:justify-content-end{justify-content:flex-end!important}.lg\:justify-content-center{justify-content:center!important}.lg\:justify-content-between{justify-content:space-between!important}.lg\:justify-content-around{justify-content:space-around!important}.lg\:justify-content-evenly{justify-content:space-evenly!important}}@media screen and (min-width: 1200px){.xl\:justify-content-start{justify-content:flex-start!important}.xl\:justify-content-end{justify-content:flex-end!important}.xl\:justify-content-center{justify-content:center!important}.xl\:justify-content-between{justify-content:space-between!important}.xl\:justify-content-around{justify-content:space-around!important}.xl\:justify-content-evenly{justify-content:space-evenly!important}}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-evenly{align-content:space-evenly!important}@media screen and (min-width: 576px){.sm\:align-content-start{align-content:flex-start!important}.sm\:align-content-end{align-content:flex-end!important}.sm\:align-content-center{align-content:center!important}.sm\:align-content-between{align-content:space-between!important}.sm\:align-content-around{align-content:space-around!important}.sm\:align-content-evenly{align-content:space-evenly!important}}@media screen and (min-width: 768px){.md\:align-content-start{align-content:flex-start!important}.md\:align-content-end{align-content:flex-end!important}.md\:align-content-center{align-content:center!important}.md\:align-content-between{align-content:space-between!important}.md\:align-content-around{align-content:space-around!important}.md\:align-content-evenly{align-content:space-evenly!important}}@media screen and (min-width: 992px){.lg\:align-content-start{align-content:flex-start!important}.lg\:align-content-end{align-content:flex-end!important}.lg\:align-content-center{align-content:center!important}.lg\:align-content-between{align-content:space-between!important}.lg\:align-content-around{align-content:space-around!important}.lg\:align-content-evenly{align-content:space-evenly!important}}@media screen and (min-width: 1200px){.xl\:align-content-start{align-content:flex-start!important}.xl\:align-content-end{align-content:flex-end!important}.xl\:align-content-center{align-content:center!important}.xl\:align-content-between{align-content:space-between!important}.xl\:align-content-around{align-content:space-around!important}.xl\:align-content-evenly{align-content:space-evenly!important}}.align-items-stretch{align-items:stretch!important}.align-items-start{align-items:flex-start!important}.align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}.align-items-baseline{align-items:baseline!important}@media screen and (min-width: 576px){.sm\:align-items-stretch{align-items:stretch!important}.sm\:align-items-start{align-items:flex-start!important}.sm\:align-items-center{align-items:center!important}.sm\:align-items-end{align-items:flex-end!important}.sm\:align-items-baseline{align-items:baseline!important}}@media screen and (min-width: 768px){.md\:align-items-stretch{align-items:stretch!important}.md\:align-items-start{align-items:flex-start!important}.md\:align-items-center{align-items:center!important}.md\:align-items-end{align-items:flex-end!important}.md\:align-items-baseline{align-items:baseline!important}}@media screen and (min-width: 992px){.lg\:align-items-stretch{align-items:stretch!important}.lg\:align-items-start{align-items:flex-start!important}.lg\:align-items-center{align-items:center!important}.lg\:align-items-end{align-items:flex-end!important}.lg\:align-items-baseline{align-items:baseline!important}}@media screen and (min-width: 1200px){.xl\:align-items-stretch{align-items:stretch!important}.xl\:align-items-start{align-items:flex-start!important}.xl\:align-items-center{align-items:center!important}.xl\:align-items-end{align-items:flex-end!important}.xl\:align-items-baseline{align-items:baseline!important}}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-stretch{align-self:stretch!important}.align-self-baseline{align-self:baseline!important}@media screen and (min-width: 576px){.sm\:align-self-auto{align-self:auto!important}.sm\:align-self-start{align-self:flex-start!important}.sm\:align-self-end{align-self:flex-end!important}.sm\:align-self-center{align-self:center!important}.sm\:align-self-stretch{align-self:stretch!important}.sm\:align-self-baseline{align-self:baseline!important}}@media screen and (min-width: 768px){.md\:align-self-auto{align-self:auto!important}.md\:align-self-start{align-self:flex-start!important}.md\:align-self-end{align-self:flex-end!important}.md\:align-self-center{align-self:center!important}.md\:align-self-stretch{align-self:stretch!important}.md\:align-self-baseline{align-self:baseline!important}}@media screen and (min-width: 992px){.lg\:align-self-auto{align-self:auto!important}.lg\:align-self-start{align-self:flex-start!important}.lg\:align-self-end{align-self:flex-end!important}.lg\:align-self-center{align-self:center!important}.lg\:align-self-stretch{align-self:stretch!important}.lg\:align-self-baseline{align-self:baseline!important}}@media screen and (min-width: 1200px){.xl\:align-self-auto{align-self:auto!important}.xl\:align-self-start{align-self:flex-start!important}.xl\:align-self-end{align-self:flex-end!important}.xl\:align-self-center{align-self:center!important}.xl\:align-self-stretch{align-self:stretch!important}.xl\:align-self-baseline{align-self:baseline!important}}.flex-order-0{order:0!important}.flex-order-1{order:1!important}.flex-order-2{order:2!important}.flex-order-3{order:3!important}.flex-order-4{order:4!important}.flex-order-5{order:5!important}.flex-order-6{order:6!important}@media screen and (min-width: 576px){.sm\:flex-order-0{order:0!important}.sm\:flex-order-1{order:1!important}.sm\:flex-order-2{order:2!important}.sm\:flex-order-3{order:3!important}.sm\:flex-order-4{order:4!important}.sm\:flex-order-5{order:5!important}.sm\:flex-order-6{order:6!important}}@media screen and (min-width: 768px){.md\:flex-order-0{order:0!important}.md\:flex-order-1{order:1!important}.md\:flex-order-2{order:2!important}.md\:flex-order-3{order:3!important}.md\:flex-order-4{order:4!important}.md\:flex-order-5{order:5!important}.md\:flex-order-6{order:6!important}}@media screen and (min-width: 992px){.lg\:flex-order-0{order:0!important}.lg\:flex-order-1{order:1!important}.lg\:flex-order-2{order:2!important}.lg\:flex-order-3{order:3!important}.lg\:flex-order-4{order:4!important}.lg\:flex-order-5{order:5!important}.lg\:flex-order-6{order:6!important}}@media screen and (min-width: 1200px){.xl\:flex-order-0{order:0!important}.xl\:flex-order-1{order:1!important}.xl\:flex-order-2{order:2!important}.xl\:flex-order-3{order:3!important}.xl\:flex-order-4{order:4!important}.xl\:flex-order-5{order:5!important}.xl\:flex-order-6{order:6!important}}.flex-1{flex:1 1 0%!important}.flex-auto{flex:1 1 auto!important}.flex-initial{flex:0 1 auto!important}.flex-none{flex:none!important}@media screen and (min-width: 576px){.sm\:flex-1{flex:1 1 0%!important}.sm\:flex-auto{flex:1 1 auto!important}.sm\:flex-initial{flex:0 1 auto!important}.sm\:flex-none{flex:none!important}}@media screen and (min-width: 768px){.md\:flex-1{flex:1 1 0%!important}.md\:flex-auto{flex:1 1 auto!important}.md\:flex-initial{flex:0 1 auto!important}.md\:flex-none{flex:none!important}}@media screen and (min-width: 992px){.lg\:flex-1{flex:1 1 0%!important}.lg\:flex-auto{flex:1 1 auto!important}.lg\:flex-initial{flex:0 1 auto!important}.lg\:flex-none{flex:none!important}}@media screen and (min-width: 1200px){.xl\:flex-1{flex:1 1 0%!important}.xl\:flex-auto{flex:1 1 auto!important}.xl\:flex-initial{flex:0 1 auto!important}.xl\:flex-none{flex:none!important}}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}@media screen and (min-width: 576px){.sm\:flex-grow-0{flex-grow:0!important}.sm\:flex-grow-1{flex-grow:1!important}}@media screen and (min-width: 768px){.md\:flex-grow-0{flex-grow:0!important}.md\:flex-grow-1{flex-grow:1!important}}@media screen and (min-width: 992px){.lg\:flex-grow-0{flex-grow:0!important}.lg\:flex-grow-1{flex-grow:1!important}}@media screen and (min-width: 1200px){.xl\:flex-grow-0{flex-grow:0!important}.xl\:flex-grow-1{flex-grow:1!important}}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}@media screen and (min-width: 576px){.sm\:flex-shrink-0{flex-shrink:0!important}.sm\:flex-shrink-1{flex-shrink:1!important}}@media screen and (min-width: 768px){.md\:flex-shrink-0{flex-shrink:0!important}.md\:flex-shrink-1{flex-shrink:1!important}}@media screen and (min-width: 992px){.lg\:flex-shrink-0{flex-shrink:0!important}.lg\:flex-shrink-1{flex-shrink:1!important}}@media screen and (min-width: 1200px){.xl\:flex-shrink-0{flex-shrink:0!important}.xl\:flex-shrink-1{flex-shrink:1!important}}.gap-0{gap:0rem!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:2rem!important}.gap-6{gap:3rem!important}.gap-7{gap:4rem!important}.gap-8{gap:5rem!important}.row-gap-0{row-gap:0rem!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:2rem!important}.row-gap-6{row-gap:3rem!important}.row-gap-7{row-gap:4rem!important}.row-gap-8{row-gap:5rem!important}.column-gap-0{column-gap:0rem!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:2rem!important}.column-gap-6{column-gap:3rem!important}.column-gap-7{column-gap:4rem!important}.column-gap-8{column-gap:5rem!important}@media screen and (min-width: 576px){.sm\:gap-0{gap:0rem!important}.sm\:gap-1{gap:.25rem!important}.sm\:gap-2{gap:.5rem!important}.sm\:gap-3{gap:1rem!important}.sm\:gap-4{gap:1.5rem!important}.sm\:gap-5{gap:2rem!important}.sm\:gap-6{gap:3rem!important}.sm\:gap-7{gap:4rem!important}.sm\:gap-8{gap:5rem!important}.sm\:row-gap-0{row-gap:0rem!important}.sm\:row-gap-1{row-gap:.25rem!important}.sm\:row-gap-2{row-gap:.5rem!important}.sm\:row-gap-3{row-gap:1rem!important}.sm\:row-gap-4{row-gap:1.5rem!important}.sm\:row-gap-5{row-gap:2rem!important}.sm\:row-gap-6{row-gap:3rem!important}.sm\:row-gap-7{row-gap:4rem!important}.sm\:row-gap-8{row-gap:5rem!important}.sm\:column-gap-0{column-gap:0rem!important}.sm\:column-gap-1{column-gap:.25rem!important}.sm\:column-gap-2{column-gap:.5rem!important}.sm\:column-gap-3{column-gap:1rem!important}.sm\:column-gap-4{column-gap:1.5rem!important}.sm\:column-gap-5{column-gap:2rem!important}.sm\:column-gap-6{column-gap:3rem!important}.sm\:column-gap-7{column-gap:4rem!important}.sm\:column-gap-8{column-gap:5rem!important}}@media screen and (min-width: 768px){.md\:gap-0{gap:0rem!important}.md\:gap-1{gap:.25rem!important}.md\:gap-2{gap:.5rem!important}.md\:gap-3{gap:1rem!important}.md\:gap-4{gap:1.5rem!important}.md\:gap-5{gap:2rem!important}.md\:gap-6{gap:3rem!important}.md\:gap-7{gap:4rem!important}.md\:gap-8{gap:5rem!important}.md\:row-gap-0{row-gap:0rem!important}.md\:row-gap-1{row-gap:.25rem!important}.md\:row-gap-2{row-gap:.5rem!important}.md\:row-gap-3{row-gap:1rem!important}.md\:row-gap-4{row-gap:1.5rem!important}.md\:row-gap-5{row-gap:2rem!important}.md\:row-gap-6{row-gap:3rem!important}.md\:row-gap-7{row-gap:4rem!important}.md\:row-gap-8{row-gap:5rem!important}.md\:column-gap-0{column-gap:0rem!important}.md\:column-gap-1{column-gap:.25rem!important}.md\:column-gap-2{column-gap:.5rem!important}.md\:column-gap-3{column-gap:1rem!important}.md\:column-gap-4{column-gap:1.5rem!important}.md\:column-gap-5{column-gap:2rem!important}.md\:column-gap-6{column-gap:3rem!important}.md\:column-gap-7{column-gap:4rem!important}.md\:column-gap-8{column-gap:5rem!important}}@media screen and (min-width: 992px){.lg\:gap-0{gap:0rem!important}.lg\:gap-1{gap:.25rem!important}.lg\:gap-2{gap:.5rem!important}.lg\:gap-3{gap:1rem!important}.lg\:gap-4{gap:1.5rem!important}.lg\:gap-5{gap:2rem!important}.lg\:gap-6{gap:3rem!important}.lg\:gap-7{gap:4rem!important}.lg\:gap-8{gap:5rem!important}.lg\:row-gap-0{row-gap:0rem!important}.lg\:row-gap-1{row-gap:.25rem!important}.lg\:row-gap-2{row-gap:.5rem!important}.lg\:row-gap-3{row-gap:1rem!important}.lg\:row-gap-4{row-gap:1.5rem!important}.lg\:row-gap-5{row-gap:2rem!important}.lg\:row-gap-6{row-gap:3rem!important}.lg\:row-gap-7{row-gap:4rem!important}.lg\:row-gap-8{row-gap:5rem!important}.lg\:column-gap-0{column-gap:0rem!important}.lg\:column-gap-1{column-gap:.25rem!important}.lg\:column-gap-2{column-gap:.5rem!important}.lg\:column-gap-3{column-gap:1rem!important}.lg\:column-gap-4{column-gap:1.5rem!important}.lg\:column-gap-5{column-gap:2rem!important}.lg\:column-gap-6{column-gap:3rem!important}.lg\:column-gap-7{column-gap:4rem!important}.lg\:column-gap-8{column-gap:5rem!important}}@media screen and (min-width: 1200px){.xl\:gap-0{gap:0rem!important}.xl\:gap-1{gap:.25rem!important}.xl\:gap-2{gap:.5rem!important}.xl\:gap-3{gap:1rem!important}.xl\:gap-4{gap:1.5rem!important}.xl\:gap-5{gap:2rem!important}.xl\:gap-6{gap:3rem!important}.xl\:gap-7{gap:4rem!important}.xl\:gap-8{gap:5rem!important}.xl\:row-gap-0{row-gap:0rem!important}.xl\:row-gap-1{row-gap:.25rem!important}.xl\:row-gap-2{row-gap:.5rem!important}.xl\:row-gap-3{row-gap:1rem!important}.xl\:row-gap-4{row-gap:1.5rem!important}.xl\:row-gap-5{row-gap:2rem!important}.xl\:row-gap-6{row-gap:3rem!important}.xl\:row-gap-7{row-gap:4rem!important}.xl\:row-gap-8{row-gap:5rem!important}.xl\:column-gap-0{column-gap:0rem!important}.xl\:column-gap-1{column-gap:.25rem!important}.xl\:column-gap-2{column-gap:.5rem!important}.xl\:column-gap-3{column-gap:1rem!important}.xl\:column-gap-4{column-gap:1.5rem!important}.xl\:column-gap-5{column-gap:2rem!important}.xl\:column-gap-6{column-gap:3rem!important}.xl\:column-gap-7{column-gap:4rem!important}.xl\:column-gap-8{column-gap:5rem!important}}.p-0{padding:0rem!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:2rem!important}.p-6{padding:3rem!important}.p-7{padding:4rem!important}.p-8{padding:5rem!important}.pt-0{padding-top:0rem!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:2rem!important}.pt-6{padding-top:3rem!important}.pt-7{padding-top:4rem!important}.pt-8{padding-top:5rem!important}.pr-0{padding-right:0rem!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:2rem!important}.pr-6{padding-right:3rem!important}.pr-7{padding-right:4rem!important}.pr-8{padding-right:5rem!important}.pl-0{padding-left:0rem!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:2rem!important}.pl-6{padding-left:3rem!important}.pl-7{padding-left:4rem!important}.pl-8{padding-left:5rem!important}.pb-0{padding-bottom:0rem!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:2rem!important}.pb-6{padding-bottom:3rem!important}.pb-7{padding-bottom:4rem!important}.pb-8{padding-bottom:5rem!important}.px-0{padding-left:0rem!important;padding-right:0rem!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:2rem!important;padding-right:2rem!important}.px-6{padding-left:3rem!important;padding-right:3rem!important}.px-7{padding-left:4rem!important;padding-right:4rem!important}.px-8{padding-left:5rem!important;padding-right:5rem!important}.py-0{padding-top:0rem!important;padding-bottom:0rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:2rem!important;padding-bottom:2rem!important}.py-6{padding-top:3rem!important;padding-bottom:3rem!important}.py-7{padding-top:4rem!important;padding-bottom:4rem!important}.py-8{padding-top:5rem!important;padding-bottom:5rem!important}@media screen and (min-width: 576px){.sm\:p-0{padding:0rem!important}.sm\:p-1{padding:.25rem!important}.sm\:p-2{padding:.5rem!important}.sm\:p-3{padding:1rem!important}.sm\:p-4{padding:1.5rem!important}.sm\:p-5{padding:2rem!important}.sm\:p-6{padding:3rem!important}.sm\:p-7{padding:4rem!important}.sm\:p-8{padding:5rem!important}.sm\:pt-0{padding-top:0rem!important}.sm\:pt-1{padding-top:.25rem!important}.sm\:pt-2{padding-top:.5rem!important}.sm\:pt-3{padding-top:1rem!important}.sm\:pt-4{padding-top:1.5rem!important}.sm\:pt-5{padding-top:2rem!important}.sm\:pt-6{padding-top:3rem!important}.sm\:pt-7{padding-top:4rem!important}.sm\:pt-8{padding-top:5rem!important}.sm\:pr-0{padding-right:0rem!important}.sm\:pr-1{padding-right:.25rem!important}.sm\:pr-2{padding-right:.5rem!important}.sm\:pr-3{padding-right:1rem!important}.sm\:pr-4{padding-right:1.5rem!important}.sm\:pr-5{padding-right:2rem!important}.sm\:pr-6{padding-right:3rem!important}.sm\:pr-7{padding-right:4rem!important}.sm\:pr-8{padding-right:5rem!important}.sm\:pl-0{padding-left:0rem!important}.sm\:pl-1{padding-left:.25rem!important}.sm\:pl-2{padding-left:.5rem!important}.sm\:pl-3{padding-left:1rem!important}.sm\:pl-4{padding-left:1.5rem!important}.sm\:pl-5{padding-left:2rem!important}.sm\:pl-6{padding-left:3rem!important}.sm\:pl-7{padding-left:4rem!important}.sm\:pl-8{padding-left:5rem!important}.sm\:pb-0{padding-bottom:0rem!important}.sm\:pb-1{padding-bottom:.25rem!important}.sm\:pb-2{padding-bottom:.5rem!important}.sm\:pb-3{padding-bottom:1rem!important}.sm\:pb-4{padding-bottom:1.5rem!important}.sm\:pb-5{padding-bottom:2rem!important}.sm\:pb-6{padding-bottom:3rem!important}.sm\:pb-7{padding-bottom:4rem!important}.sm\:pb-8{padding-bottom:5rem!important}.sm\:px-0{padding-left:0rem!important;padding-right:0rem!important}.sm\:px-1{padding-left:.25rem!important;padding-right:.25rem!important}.sm\:px-2{padding-left:.5rem!important;padding-right:.5rem!important}.sm\:px-3{padding-left:1rem!important;padding-right:1rem!important}.sm\:px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.sm\:px-5{padding-left:2rem!important;padding-right:2rem!important}.sm\:px-6{padding-left:3rem!important;padding-right:3rem!important}.sm\:px-7{padding-left:4rem!important;padding-right:4rem!important}.sm\:px-8{padding-left:5rem!important;padding-right:5rem!important}.sm\:py-0{padding-top:0rem!important;padding-bottom:0rem!important}.sm\:py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.sm\:py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.sm\:py-3{padding-top:1rem!important;padding-bottom:1rem!important}.sm\:py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.sm\:py-5{padding-top:2rem!important;padding-bottom:2rem!important}.sm\:py-6{padding-top:3rem!important;padding-bottom:3rem!important}.sm\:py-7{padding-top:4rem!important;padding-bottom:4rem!important}.sm\:py-8{padding-top:5rem!important;padding-bottom:5rem!important}}@media screen and (min-width: 768px){.md\:p-0{padding:0rem!important}.md\:p-1{padding:.25rem!important}.md\:p-2{padding:.5rem!important}.md\:p-3{padding:1rem!important}.md\:p-4{padding:1.5rem!important}.md\:p-5{padding:2rem!important}.md\:p-6{padding:3rem!important}.md\:p-7{padding:4rem!important}.md\:p-8{padding:5rem!important}.md\:pt-0{padding-top:0rem!important}.md\:pt-1{padding-top:.25rem!important}.md\:pt-2{padding-top:.5rem!important}.md\:pt-3{padding-top:1rem!important}.md\:pt-4{padding-top:1.5rem!important}.md\:pt-5{padding-top:2rem!important}.md\:pt-6{padding-top:3rem!important}.md\:pt-7{padding-top:4rem!important}.md\:pt-8{padding-top:5rem!important}.md\:pr-0{padding-right:0rem!important}.md\:pr-1{padding-right:.25rem!important}.md\:pr-2{padding-right:.5rem!important}.md\:pr-3{padding-right:1rem!important}.md\:pr-4{padding-right:1.5rem!important}.md\:pr-5{padding-right:2rem!important}.md\:pr-6{padding-right:3rem!important}.md\:pr-7{padding-right:4rem!important}.md\:pr-8{padding-right:5rem!important}.md\:pl-0{padding-left:0rem!important}.md\:pl-1{padding-left:.25rem!important}.md\:pl-2{padding-left:.5rem!important}.md\:pl-3{padding-left:1rem!important}.md\:pl-4{padding-left:1.5rem!important}.md\:pl-5{padding-left:2rem!important}.md\:pl-6{padding-left:3rem!important}.md\:pl-7{padding-left:4rem!important}.md\:pl-8{padding-left:5rem!important}.md\:pb-0{padding-bottom:0rem!important}.md\:pb-1{padding-bottom:.25rem!important}.md\:pb-2{padding-bottom:.5rem!important}.md\:pb-3{padding-bottom:1rem!important}.md\:pb-4{padding-bottom:1.5rem!important}.md\:pb-5{padding-bottom:2rem!important}.md\:pb-6{padding-bottom:3rem!important}.md\:pb-7{padding-bottom:4rem!important}.md\:pb-8{padding-bottom:5rem!important}.md\:px-0{padding-left:0rem!important;padding-right:0rem!important}.md\:px-1{padding-left:.25rem!important;padding-right:.25rem!important}.md\:px-2{padding-left:.5rem!important;padding-right:.5rem!important}.md\:px-3{padding-left:1rem!important;padding-right:1rem!important}.md\:px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.md\:px-5{padding-left:2rem!important;padding-right:2rem!important}.md\:px-6{padding-left:3rem!important;padding-right:3rem!important}.md\:px-7{padding-left:4rem!important;padding-right:4rem!important}.md\:px-8{padding-left:5rem!important;padding-right:5rem!important}.md\:py-0{padding-top:0rem!important;padding-bottom:0rem!important}.md\:py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.md\:py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.md\:py-3{padding-top:1rem!important;padding-bottom:1rem!important}.md\:py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.md\:py-5{padding-top:2rem!important;padding-bottom:2rem!important}.md\:py-6{padding-top:3rem!important;padding-bottom:3rem!important}.md\:py-7{padding-top:4rem!important;padding-bottom:4rem!important}.md\:py-8{padding-top:5rem!important;padding-bottom:5rem!important}}@media screen and (min-width: 992px){.lg\:p-0{padding:0rem!important}.lg\:p-1{padding:.25rem!important}.lg\:p-2{padding:.5rem!important}.lg\:p-3{padding:1rem!important}.lg\:p-4{padding:1.5rem!important}.lg\:p-5{padding:2rem!important}.lg\:p-6{padding:3rem!important}.lg\:p-7{padding:4rem!important}.lg\:p-8{padding:5rem!important}.lg\:pt-0{padding-top:0rem!important}.lg\:pt-1{padding-top:.25rem!important}.lg\:pt-2{padding-top:.5rem!important}.lg\:pt-3{padding-top:1rem!important}.lg\:pt-4{padding-top:1.5rem!important}.lg\:pt-5{padding-top:2rem!important}.lg\:pt-6{padding-top:3rem!important}.lg\:pt-7{padding-top:4rem!important}.lg\:pt-8{padding-top:5rem!important}.lg\:pr-0{padding-right:0rem!important}.lg\:pr-1{padding-right:.25rem!important}.lg\:pr-2{padding-right:.5rem!important}.lg\:pr-3{padding-right:1rem!important}.lg\:pr-4{padding-right:1.5rem!important}.lg\:pr-5{padding-right:2rem!important}.lg\:pr-6{padding-right:3rem!important}.lg\:pr-7{padding-right:4rem!important}.lg\:pr-8{padding-right:5rem!important}.lg\:pl-0{padding-left:0rem!important}.lg\:pl-1{padding-left:.25rem!important}.lg\:pl-2{padding-left:.5rem!important}.lg\:pl-3{padding-left:1rem!important}.lg\:pl-4{padding-left:1.5rem!important}.lg\:pl-5{padding-left:2rem!important}.lg\:pl-6{padding-left:3rem!important}.lg\:pl-7{padding-left:4rem!important}.lg\:pl-8{padding-left:5rem!important}.lg\:pb-0{padding-bottom:0rem!important}.lg\:pb-1{padding-bottom:.25rem!important}.lg\:pb-2{padding-bottom:.5rem!important}.lg\:pb-3{padding-bottom:1rem!important}.lg\:pb-4{padding-bottom:1.5rem!important}.lg\:pb-5{padding-bottom:2rem!important}.lg\:pb-6{padding-bottom:3rem!important}.lg\:pb-7{padding-bottom:4rem!important}.lg\:pb-8{padding-bottom:5rem!important}.lg\:px-0{padding-left:0rem!important;padding-right:0rem!important}.lg\:px-1{padding-left:.25rem!important;padding-right:.25rem!important}.lg\:px-2{padding-left:.5rem!important;padding-right:.5rem!important}.lg\:px-3{padding-left:1rem!important;padding-right:1rem!important}.lg\:px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.lg\:px-5{padding-left:2rem!important;padding-right:2rem!important}.lg\:px-6{padding-left:3rem!important;padding-right:3rem!important}.lg\:px-7{padding-left:4rem!important;padding-right:4rem!important}.lg\:px-8{padding-left:5rem!important;padding-right:5rem!important}.lg\:py-0{padding-top:0rem!important;padding-bottom:0rem!important}.lg\:py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.lg\:py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.lg\:py-3{padding-top:1rem!important;padding-bottom:1rem!important}.lg\:py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.lg\:py-5{padding-top:2rem!important;padding-bottom:2rem!important}.lg\:py-6{padding-top:3rem!important;padding-bottom:3rem!important}.lg\:py-7{padding-top:4rem!important;padding-bottom:4rem!important}.lg\:py-8{padding-top:5rem!important;padding-bottom:5rem!important}}@media screen and (min-width: 1200px){.xl\:p-0{padding:0rem!important}.xl\:p-1{padding:.25rem!important}.xl\:p-2{padding:.5rem!important}.xl\:p-3{padding:1rem!important}.xl\:p-4{padding:1.5rem!important}.xl\:p-5{padding:2rem!important}.xl\:p-6{padding:3rem!important}.xl\:p-7{padding:4rem!important}.xl\:p-8{padding:5rem!important}.xl\:pt-0{padding-top:0rem!important}.xl\:pt-1{padding-top:.25rem!important}.xl\:pt-2{padding-top:.5rem!important}.xl\:pt-3{padding-top:1rem!important}.xl\:pt-4{padding-top:1.5rem!important}.xl\:pt-5{padding-top:2rem!important}.xl\:pt-6{padding-top:3rem!important}.xl\:pt-7{padding-top:4rem!important}.xl\:pt-8{padding-top:5rem!important}.xl\:pr-0{padding-right:0rem!important}.xl\:pr-1{padding-right:.25rem!important}.xl\:pr-2{padding-right:.5rem!important}.xl\:pr-3{padding-right:1rem!important}.xl\:pr-4{padding-right:1.5rem!important}.xl\:pr-5{padding-right:2rem!important}.xl\:pr-6{padding-right:3rem!important}.xl\:pr-7{padding-right:4rem!important}.xl\:pr-8{padding-right:5rem!important}.xl\:pl-0{padding-left:0rem!important}.xl\:pl-1{padding-left:.25rem!important}.xl\:pl-2{padding-left:.5rem!important}.xl\:pl-3{padding-left:1rem!important}.xl\:pl-4{padding-left:1.5rem!important}.xl\:pl-5{padding-left:2rem!important}.xl\:pl-6{padding-left:3rem!important}.xl\:pl-7{padding-left:4rem!important}.xl\:pl-8{padding-left:5rem!important}.xl\:pb-0{padding-bottom:0rem!important}.xl\:pb-1{padding-bottom:.25rem!important}.xl\:pb-2{padding-bottom:.5rem!important}.xl\:pb-3{padding-bottom:1rem!important}.xl\:pb-4{padding-bottom:1.5rem!important}.xl\:pb-5{padding-bottom:2rem!important}.xl\:pb-6{padding-bottom:3rem!important}.xl\:pb-7{padding-bottom:4rem!important}.xl\:pb-8{padding-bottom:5rem!important}.xl\:px-0{padding-left:0rem!important;padding-right:0rem!important}.xl\:px-1{padding-left:.25rem!important;padding-right:.25rem!important}.xl\:px-2{padding-left:.5rem!important;padding-right:.5rem!important}.xl\:px-3{padding-left:1rem!important;padding-right:1rem!important}.xl\:px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.xl\:px-5{padding-left:2rem!important;padding-right:2rem!important}.xl\:px-6{padding-left:3rem!important;padding-right:3rem!important}.xl\:px-7{padding-left:4rem!important;padding-right:4rem!important}.xl\:px-8{padding-left:5rem!important;padding-right:5rem!important}.xl\:py-0{padding-top:0rem!important;padding-bottom:0rem!important}.xl\:py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.xl\:py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.xl\:py-3{padding-top:1rem!important;padding-bottom:1rem!important}.xl\:py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.xl\:py-5{padding-top:2rem!important;padding-bottom:2rem!important}.xl\:py-6{padding-top:3rem!important;padding-bottom:3rem!important}.xl\:py-7{padding-top:4rem!important;padding-bottom:4rem!important}.xl\:py-8{padding-top:5rem!important;padding-bottom:5rem!important}}.m-0{margin:0rem!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:2rem!important}.m-6{margin:3rem!important}.m-7{margin:4rem!important}.m-8{margin:5rem!important}.-m-1{margin:-.25rem!important}.-m-2{margin:-.5rem!important}.-m-3{margin:-1rem!important}.-m-4{margin:-1.5rem!important}.-m-5{margin:-2rem!important}.-m-6{margin:-3rem!important}.-m-7{margin:-4rem!important}.-m-8{margin:-5rem!important}.m-auto{margin:auto!important}.mt-0{margin-top:0rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:2rem!important}.mt-6{margin-top:3rem!important}.mt-7{margin-top:4rem!important}.mt-8{margin-top:5rem!important}.-mt-1{margin-top:-.25rem!important}.-mt-2{margin-top:-.5rem!important}.-mt-3{margin-top:-1rem!important}.-mt-4{margin-top:-1.5rem!important}.-mt-5{margin-top:-2rem!important}.-mt-6{margin-top:-3rem!important}.-mt-7{margin-top:-4rem!important}.-mt-8{margin-top:-5rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0rem!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:2rem!important}.mr-6{margin-right:3rem!important}.mr-7{margin-right:4rem!important}.mr-8{margin-right:5rem!important}.-mr-1{margin-right:-.25rem!important}.-mr-2{margin-right:-.5rem!important}.-mr-3{margin-right:-1rem!important}.-mr-4{margin-right:-1.5rem!important}.-mr-5{margin-right:-2rem!important}.-mr-6{margin-right:-3rem!important}.-mr-7{margin-right:-4rem!important}.-mr-8{margin-right:-5rem!important}.mr-auto{margin-right:auto!important}.ml-0{margin-left:0rem!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:2rem!important}.ml-6{margin-left:3rem!important}.ml-7{margin-left:4rem!important}.ml-8{margin-left:5rem!important}.-ml-1{margin-left:-.25rem!important}.-ml-2{margin-left:-.5rem!important}.-ml-3{margin-left:-1rem!important}.-ml-4{margin-left:-1.5rem!important}.-ml-5{margin-left:-2rem!important}.-ml-6{margin-left:-3rem!important}.-ml-7{margin-left:-4rem!important}.-ml-8{margin-left:-5rem!important}.ml-auto{margin-left:auto!important}.mb-0{margin-bottom:0rem!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:2rem!important}.mb-6{margin-bottom:3rem!important}.mb-7{margin-bottom:4rem!important}.mb-8{margin-bottom:5rem!important}.-mb-1{margin-bottom:-.25rem!important}.-mb-2{margin-bottom:-.5rem!important}.-mb-3{margin-bottom:-1rem!important}.-mb-4{margin-bottom:-1.5rem!important}.-mb-5{margin-bottom:-2rem!important}.-mb-6{margin-bottom:-3rem!important}.-mb-7{margin-bottom:-4rem!important}.-mb-8{margin-bottom:-5rem!important}.mb-auto{margin-bottom:auto!important}.mx-0{margin-left:0rem!important;margin-right:0rem!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:2rem!important;margin-right:2rem!important}.mx-6{margin-left:3rem!important;margin-right:3rem!important}.mx-7{margin-left:4rem!important;margin-right:4rem!important}.mx-8{margin-left:5rem!important;margin-right:5rem!important}.-mx-1{margin-left:-.25rem!important;margin-right:-.25rem!important}.-mx-2{margin-left:-.5rem!important;margin-right:-.5rem!important}.-mx-3{margin-left:-1rem!important;margin-right:-1rem!important}.-mx-4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.-mx-5{margin-left:-2rem!important;margin-right:-2rem!important}.-mx-6{margin-left:-3rem!important;margin-right:-3rem!important}.-mx-7{margin-left:-4rem!important;margin-right:-4rem!important}.-mx-8{margin-left:-5rem!important;margin-right:-5rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0rem!important;margin-bottom:0rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:2rem!important;margin-bottom:2rem!important}.my-6{margin-top:3rem!important;margin-bottom:3rem!important}.my-7{margin-top:4rem!important;margin-bottom:4rem!important}.my-8{margin-top:5rem!important;margin-bottom:5rem!important}.-my-1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.-my-2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.-my-3{margin-top:-1rem!important;margin-bottom:-1rem!important}.-my-4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.-my-5{margin-top:-2rem!important;margin-bottom:-2rem!important}.-my-6{margin-top:-3rem!important;margin-bottom:-3rem!important}.-my-7{margin-top:-4rem!important;margin-bottom:-4rem!important}.-my-8{margin-top:-5rem!important;margin-bottom:-5rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media screen and (min-width: 576px){.sm\:m-0{margin:0rem!important}.sm\:m-1{margin:.25rem!important}.sm\:m-2{margin:.5rem!important}.sm\:m-3{margin:1rem!important}.sm\:m-4{margin:1.5rem!important}.sm\:m-5{margin:2rem!important}.sm\:m-6{margin:3rem!important}.sm\:m-7{margin:4rem!important}.sm\:m-8{margin:5rem!important}.sm\:-m-1{margin:-.25rem!important}.sm\:-m-2{margin:-.5rem!important}.sm\:-m-3{margin:-1rem!important}.sm\:-m-4{margin:-1.5rem!important}.sm\:-m-5{margin:-2rem!important}.sm\:-m-6{margin:-3rem!important}.sm\:-m-7{margin:-4rem!important}.sm\:-m-8{margin:-5rem!important}.sm\:m-auto{margin:auto!important}.sm\:mt-0{margin-top:0rem!important}.sm\:mt-1{margin-top:.25rem!important}.sm\:mt-2{margin-top:.5rem!important}.sm\:mt-3{margin-top:1rem!important}.sm\:mt-4{margin-top:1.5rem!important}.sm\:mt-5{margin-top:2rem!important}.sm\:mt-6{margin-top:3rem!important}.sm\:mt-7{margin-top:4rem!important}.sm\:mt-8{margin-top:5rem!important}.sm\:-mt-1{margin-top:-.25rem!important}.sm\:-mt-2{margin-top:-.5rem!important}.sm\:-mt-3{margin-top:-1rem!important}.sm\:-mt-4{margin-top:-1.5rem!important}.sm\:-mt-5{margin-top:-2rem!important}.sm\:-mt-6{margin-top:-3rem!important}.sm\:-mt-7{margin-top:-4rem!important}.sm\:-mt-8{margin-top:-5rem!important}.sm\:mt-auto{margin-top:auto!important}.sm\:mr-0{margin-right:0rem!important}.sm\:mr-1{margin-right:.25rem!important}.sm\:mr-2{margin-right:.5rem!important}.sm\:mr-3{margin-right:1rem!important}.sm\:mr-4{margin-right:1.5rem!important}.sm\:mr-5{margin-right:2rem!important}.sm\:mr-6{margin-right:3rem!important}.sm\:mr-7{margin-right:4rem!important}.sm\:mr-8{margin-right:5rem!important}.sm\:-mr-1{margin-right:-.25rem!important}.sm\:-mr-2{margin-right:-.5rem!important}.sm\:-mr-3{margin-right:-1rem!important}.sm\:-mr-4{margin-right:-1.5rem!important}.sm\:-mr-5{margin-right:-2rem!important}.sm\:-mr-6{margin-right:-3rem!important}.sm\:-mr-7{margin-right:-4rem!important}.sm\:-mr-8{margin-right:-5rem!important}.sm\:mr-auto{margin-right:auto!important}.sm\:ml-0{margin-left:0rem!important}.sm\:ml-1{margin-left:.25rem!important}.sm\:ml-2{margin-left:.5rem!important}.sm\:ml-3{margin-left:1rem!important}.sm\:ml-4{margin-left:1.5rem!important}.sm\:ml-5{margin-left:2rem!important}.sm\:ml-6{margin-left:3rem!important}.sm\:ml-7{margin-left:4rem!important}.sm\:ml-8{margin-left:5rem!important}.sm\:-ml-1{margin-left:-.25rem!important}.sm\:-ml-2{margin-left:-.5rem!important}.sm\:-ml-3{margin-left:-1rem!important}.sm\:-ml-4{margin-left:-1.5rem!important}.sm\:-ml-5{margin-left:-2rem!important}.sm\:-ml-6{margin-left:-3rem!important}.sm\:-ml-7{margin-left:-4rem!important}.sm\:-ml-8{margin-left:-5rem!important}.sm\:ml-auto{margin-left:auto!important}.sm\:mb-0{margin-bottom:0rem!important}.sm\:mb-1{margin-bottom:.25rem!important}.sm\:mb-2{margin-bottom:.5rem!important}.sm\:mb-3{margin-bottom:1rem!important}.sm\:mb-4{margin-bottom:1.5rem!important}.sm\:mb-5{margin-bottom:2rem!important}.sm\:mb-6{margin-bottom:3rem!important}.sm\:mb-7{margin-bottom:4rem!important}.sm\:mb-8{margin-bottom:5rem!important}.sm\:-mb-1{margin-bottom:-.25rem!important}.sm\:-mb-2{margin-bottom:-.5rem!important}.sm\:-mb-3{margin-bottom:-1rem!important}.sm\:-mb-4{margin-bottom:-1.5rem!important}.sm\:-mb-5{margin-bottom:-2rem!important}.sm\:-mb-6{margin-bottom:-3rem!important}.sm\:-mb-7{margin-bottom:-4rem!important}.sm\:-mb-8{margin-bottom:-5rem!important}.sm\:mb-auto{margin-bottom:auto!important}.sm\:mx-0{margin-left:0rem!important;margin-right:0rem!important}.sm\:mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.sm\:mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.sm\:mx-3{margin-left:1rem!important;margin-right:1rem!important}.sm\:mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.sm\:mx-5{margin-left:2rem!important;margin-right:2rem!important}.sm\:mx-6{margin-left:3rem!important;margin-right:3rem!important}.sm\:mx-7{margin-left:4rem!important;margin-right:4rem!important}.sm\:mx-8{margin-left:5rem!important;margin-right:5rem!important}.sm\:-mx-1{margin-left:-.25rem!important;margin-right:-.25rem!important}.sm\:-mx-2{margin-left:-.5rem!important;margin-right:-.5rem!important}.sm\:-mx-3{margin-left:-1rem!important;margin-right:-1rem!important}.sm\:-mx-4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.sm\:-mx-5{margin-left:-2rem!important;margin-right:-2rem!important}.sm\:-mx-6{margin-left:-3rem!important;margin-right:-3rem!important}.sm\:-mx-7{margin-left:-4rem!important;margin-right:-4rem!important}.sm\:-mx-8{margin-left:-5rem!important;margin-right:-5rem!important}.sm\:mx-auto{margin-left:auto!important;margin-right:auto!important}.sm\:my-0{margin-top:0rem!important;margin-bottom:0rem!important}.sm\:my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.sm\:my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.sm\:my-3{margin-top:1rem!important;margin-bottom:1rem!important}.sm\:my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.sm\:my-5{margin-top:2rem!important;margin-bottom:2rem!important}.sm\:my-6{margin-top:3rem!important;margin-bottom:3rem!important}.sm\:my-7{margin-top:4rem!important;margin-bottom:4rem!important}.sm\:my-8{margin-top:5rem!important;margin-bottom:5rem!important}.sm\:-my-1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.sm\:-my-2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.sm\:-my-3{margin-top:-1rem!important;margin-bottom:-1rem!important}.sm\:-my-4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.sm\:-my-5{margin-top:-2rem!important;margin-bottom:-2rem!important}.sm\:-my-6{margin-top:-3rem!important;margin-bottom:-3rem!important}.sm\:-my-7{margin-top:-4rem!important;margin-bottom:-4rem!important}.sm\:-my-8{margin-top:-5rem!important;margin-bottom:-5rem!important}.sm\:my-auto{margin-top:auto!important;margin-bottom:auto!important}}@media screen and (min-width: 768px){.md\:m-0{margin:0rem!important}.md\:m-1{margin:.25rem!important}.md\:m-2{margin:.5rem!important}.md\:m-3{margin:1rem!important}.md\:m-4{margin:1.5rem!important}.md\:m-5{margin:2rem!important}.md\:m-6{margin:3rem!important}.md\:m-7{margin:4rem!important}.md\:m-8{margin:5rem!important}.md\:-m-1{margin:-.25rem!important}.md\:-m-2{margin:-.5rem!important}.md\:-m-3{margin:-1rem!important}.md\:-m-4{margin:-1.5rem!important}.md\:-m-5{margin:-2rem!important}.md\:-m-6{margin:-3rem!important}.md\:-m-7{margin:-4rem!important}.md\:-m-8{margin:-5rem!important}.md\:m-auto{margin:auto!important}.md\:mt-0{margin-top:0rem!important}.md\:mt-1{margin-top:.25rem!important}.md\:mt-2{margin-top:.5rem!important}.md\:mt-3{margin-top:1rem!important}.md\:mt-4{margin-top:1.5rem!important}.md\:mt-5{margin-top:2rem!important}.md\:mt-6{margin-top:3rem!important}.md\:mt-7{margin-top:4rem!important}.md\:mt-8{margin-top:5rem!important}.md\:-mt-1{margin-top:-.25rem!important}.md\:-mt-2{margin-top:-.5rem!important}.md\:-mt-3{margin-top:-1rem!important}.md\:-mt-4{margin-top:-1.5rem!important}.md\:-mt-5{margin-top:-2rem!important}.md\:-mt-6{margin-top:-3rem!important}.md\:-mt-7{margin-top:-4rem!important}.md\:-mt-8{margin-top:-5rem!important}.md\:mt-auto{margin-top:auto!important}.md\:mr-0{margin-right:0rem!important}.md\:mr-1{margin-right:.25rem!important}.md\:mr-2{margin-right:.5rem!important}.md\:mr-3{margin-right:1rem!important}.md\:mr-4{margin-right:1.5rem!important}.md\:mr-5{margin-right:2rem!important}.md\:mr-6{margin-right:3rem!important}.md\:mr-7{margin-right:4rem!important}.md\:mr-8{margin-right:5rem!important}.md\:-mr-1{margin-right:-.25rem!important}.md\:-mr-2{margin-right:-.5rem!important}.md\:-mr-3{margin-right:-1rem!important}.md\:-mr-4{margin-right:-1.5rem!important}.md\:-mr-5{margin-right:-2rem!important}.md\:-mr-6{margin-right:-3rem!important}.md\:-mr-7{margin-right:-4rem!important}.md\:-mr-8{margin-right:-5rem!important}.md\:mr-auto{margin-right:auto!important}.md\:ml-0{margin-left:0rem!important}.md\:ml-1{margin-left:.25rem!important}.md\:ml-2{margin-left:.5rem!important}.md\:ml-3{margin-left:1rem!important}.md\:ml-4{margin-left:1.5rem!important}.md\:ml-5{margin-left:2rem!important}.md\:ml-6{margin-left:3rem!important}.md\:ml-7{margin-left:4rem!important}.md\:ml-8{margin-left:5rem!important}.md\:-ml-1{margin-left:-.25rem!important}.md\:-ml-2{margin-left:-.5rem!important}.md\:-ml-3{margin-left:-1rem!important}.md\:-ml-4{margin-left:-1.5rem!important}.md\:-ml-5{margin-left:-2rem!important}.md\:-ml-6{margin-left:-3rem!important}.md\:-ml-7{margin-left:-4rem!important}.md\:-ml-8{margin-left:-5rem!important}.md\:ml-auto{margin-left:auto!important}.md\:mb-0{margin-bottom:0rem!important}.md\:mb-1{margin-bottom:.25rem!important}.md\:mb-2{margin-bottom:.5rem!important}.md\:mb-3{margin-bottom:1rem!important}.md\:mb-4{margin-bottom:1.5rem!important}.md\:mb-5{margin-bottom:2rem!important}.md\:mb-6{margin-bottom:3rem!important}.md\:mb-7{margin-bottom:4rem!important}.md\:mb-8{margin-bottom:5rem!important}.md\:-mb-1{margin-bottom:-.25rem!important}.md\:-mb-2{margin-bottom:-.5rem!important}.md\:-mb-3{margin-bottom:-1rem!important}.md\:-mb-4{margin-bottom:-1.5rem!important}.md\:-mb-5{margin-bottom:-2rem!important}.md\:-mb-6{margin-bottom:-3rem!important}.md\:-mb-7{margin-bottom:-4rem!important}.md\:-mb-8{margin-bottom:-5rem!important}.md\:mb-auto{margin-bottom:auto!important}.md\:mx-0{margin-left:0rem!important;margin-right:0rem!important}.md\:mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.md\:mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.md\:mx-3{margin-left:1rem!important;margin-right:1rem!important}.md\:mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.md\:mx-5{margin-left:2rem!important;margin-right:2rem!important}.md\:mx-6{margin-left:3rem!important;margin-right:3rem!important}.md\:mx-7{margin-left:4rem!important;margin-right:4rem!important}.md\:mx-8{margin-left:5rem!important;margin-right:5rem!important}.md\:-mx-1{margin-left:-.25rem!important;margin-right:-.25rem!important}.md\:-mx-2{margin-left:-.5rem!important;margin-right:-.5rem!important}.md\:-mx-3{margin-left:-1rem!important;margin-right:-1rem!important}.md\:-mx-4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.md\:-mx-5{margin-left:-2rem!important;margin-right:-2rem!important}.md\:-mx-6{margin-left:-3rem!important;margin-right:-3rem!important}.md\:-mx-7{margin-left:-4rem!important;margin-right:-4rem!important}.md\:-mx-8{margin-left:-5rem!important;margin-right:-5rem!important}.md\:mx-auto{margin-left:auto!important;margin-right:auto!important}.md\:my-0{margin-top:0rem!important;margin-bottom:0rem!important}.md\:my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.md\:my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.md\:my-3{margin-top:1rem!important;margin-bottom:1rem!important}.md\:my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.md\:my-5{margin-top:2rem!important;margin-bottom:2rem!important}.md\:my-6{margin-top:3rem!important;margin-bottom:3rem!important}.md\:my-7{margin-top:4rem!important;margin-bottom:4rem!important}.md\:my-8{margin-top:5rem!important;margin-bottom:5rem!important}.md\:-my-1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.md\:-my-2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.md\:-my-3{margin-top:-1rem!important;margin-bottom:-1rem!important}.md\:-my-4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.md\:-my-5{margin-top:-2rem!important;margin-bottom:-2rem!important}.md\:-my-6{margin-top:-3rem!important;margin-bottom:-3rem!important}.md\:-my-7{margin-top:-4rem!important;margin-bottom:-4rem!important}.md\:-my-8{margin-top:-5rem!important;margin-bottom:-5rem!important}.md\:my-auto{margin-top:auto!important;margin-bottom:auto!important}}@media screen and (min-width: 992px){.lg\:m-0{margin:0rem!important}.lg\:m-1{margin:.25rem!important}.lg\:m-2{margin:.5rem!important}.lg\:m-3{margin:1rem!important}.lg\:m-4{margin:1.5rem!important}.lg\:m-5{margin:2rem!important}.lg\:m-6{margin:3rem!important}.lg\:m-7{margin:4rem!important}.lg\:m-8{margin:5rem!important}.lg\:-m-1{margin:-.25rem!important}.lg\:-m-2{margin:-.5rem!important}.lg\:-m-3{margin:-1rem!important}.lg\:-m-4{margin:-1.5rem!important}.lg\:-m-5{margin:-2rem!important}.lg\:-m-6{margin:-3rem!important}.lg\:-m-7{margin:-4rem!important}.lg\:-m-8{margin:-5rem!important}.lg\:m-auto{margin:auto!important}.lg\:mt-0{margin-top:0rem!important}.lg\:mt-1{margin-top:.25rem!important}.lg\:mt-2{margin-top:.5rem!important}.lg\:mt-3{margin-top:1rem!important}.lg\:mt-4{margin-top:1.5rem!important}.lg\:mt-5{margin-top:2rem!important}.lg\:mt-6{margin-top:3rem!important}.lg\:mt-7{margin-top:4rem!important}.lg\:mt-8{margin-top:5rem!important}.lg\:-mt-1{margin-top:-.25rem!important}.lg\:-mt-2{margin-top:-.5rem!important}.lg\:-mt-3{margin-top:-1rem!important}.lg\:-mt-4{margin-top:-1.5rem!important}.lg\:-mt-5{margin-top:-2rem!important}.lg\:-mt-6{margin-top:-3rem!important}.lg\:-mt-7{margin-top:-4rem!important}.lg\:-mt-8{margin-top:-5rem!important}.lg\:mt-auto{margin-top:auto!important}.lg\:mr-0{margin-right:0rem!important}.lg\:mr-1{margin-right:.25rem!important}.lg\:mr-2{margin-right:.5rem!important}.lg\:mr-3{margin-right:1rem!important}.lg\:mr-4{margin-right:1.5rem!important}.lg\:mr-5{margin-right:2rem!important}.lg\:mr-6{margin-right:3rem!important}.lg\:mr-7{margin-right:4rem!important}.lg\:mr-8{margin-right:5rem!important}.lg\:-mr-1{margin-right:-.25rem!important}.lg\:-mr-2{margin-right:-.5rem!important}.lg\:-mr-3{margin-right:-1rem!important}.lg\:-mr-4{margin-right:-1.5rem!important}.lg\:-mr-5{margin-right:-2rem!important}.lg\:-mr-6{margin-right:-3rem!important}.lg\:-mr-7{margin-right:-4rem!important}.lg\:-mr-8{margin-right:-5rem!important}.lg\:mr-auto{margin-right:auto!important}.lg\:ml-0{margin-left:0rem!important}.lg\:ml-1{margin-left:.25rem!important}.lg\:ml-2{margin-left:.5rem!important}.lg\:ml-3{margin-left:1rem!important}.lg\:ml-4{margin-left:1.5rem!important}.lg\:ml-5{margin-left:2rem!important}.lg\:ml-6{margin-left:3rem!important}.lg\:ml-7{margin-left:4rem!important}.lg\:ml-8{margin-left:5rem!important}.lg\:-ml-1{margin-left:-.25rem!important}.lg\:-ml-2{margin-left:-.5rem!important}.lg\:-ml-3{margin-left:-1rem!important}.lg\:-ml-4{margin-left:-1.5rem!important}.lg\:-ml-5{margin-left:-2rem!important}.lg\:-ml-6{margin-left:-3rem!important}.lg\:-ml-7{margin-left:-4rem!important}.lg\:-ml-8{margin-left:-5rem!important}.lg\:ml-auto{margin-left:auto!important}.lg\:mb-0{margin-bottom:0rem!important}.lg\:mb-1{margin-bottom:.25rem!important}.lg\:mb-2{margin-bottom:.5rem!important}.lg\:mb-3{margin-bottom:1rem!important}.lg\:mb-4{margin-bottom:1.5rem!important}.lg\:mb-5{margin-bottom:2rem!important}.lg\:mb-6{margin-bottom:3rem!important}.lg\:mb-7{margin-bottom:4rem!important}.lg\:mb-8{margin-bottom:5rem!important}.lg\:-mb-1{margin-bottom:-.25rem!important}.lg\:-mb-2{margin-bottom:-.5rem!important}.lg\:-mb-3{margin-bottom:-1rem!important}.lg\:-mb-4{margin-bottom:-1.5rem!important}.lg\:-mb-5{margin-bottom:-2rem!important}.lg\:-mb-6{margin-bottom:-3rem!important}.lg\:-mb-7{margin-bottom:-4rem!important}.lg\:-mb-8{margin-bottom:-5rem!important}.lg\:mb-auto{margin-bottom:auto!important}.lg\:mx-0{margin-left:0rem!important;margin-right:0rem!important}.lg\:mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.lg\:mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.lg\:mx-3{margin-left:1rem!important;margin-right:1rem!important}.lg\:mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.lg\:mx-5{margin-left:2rem!important;margin-right:2rem!important}.lg\:mx-6{margin-left:3rem!important;margin-right:3rem!important}.lg\:mx-7{margin-left:4rem!important;margin-right:4rem!important}.lg\:mx-8{margin-left:5rem!important;margin-right:5rem!important}.lg\:-mx-1{margin-left:-.25rem!important;margin-right:-.25rem!important}.lg\:-mx-2{margin-left:-.5rem!important;margin-right:-.5rem!important}.lg\:-mx-3{margin-left:-1rem!important;margin-right:-1rem!important}.lg\:-mx-4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.lg\:-mx-5{margin-left:-2rem!important;margin-right:-2rem!important}.lg\:-mx-6{margin-left:-3rem!important;margin-right:-3rem!important}.lg\:-mx-7{margin-left:-4rem!important;margin-right:-4rem!important}.lg\:-mx-8{margin-left:-5rem!important;margin-right:-5rem!important}.lg\:mx-auto{margin-left:auto!important;margin-right:auto!important}.lg\:my-0{margin-top:0rem!important;margin-bottom:0rem!important}.lg\:my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.lg\:my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.lg\:my-3{margin-top:1rem!important;margin-bottom:1rem!important}.lg\:my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.lg\:my-5{margin-top:2rem!important;margin-bottom:2rem!important}.lg\:my-6{margin-top:3rem!important;margin-bottom:3rem!important}.lg\:my-7{margin-top:4rem!important;margin-bottom:4rem!important}.lg\:my-8{margin-top:5rem!important;margin-bottom:5rem!important}.lg\:-my-1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.lg\:-my-2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.lg\:-my-3{margin-top:-1rem!important;margin-bottom:-1rem!important}.lg\:-my-4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.lg\:-my-5{margin-top:-2rem!important;margin-bottom:-2rem!important}.lg\:-my-6{margin-top:-3rem!important;margin-bottom:-3rem!important}.lg\:-my-7{margin-top:-4rem!important;margin-bottom:-4rem!important}.lg\:-my-8{margin-top:-5rem!important;margin-bottom:-5rem!important}.lg\:my-auto{margin-top:auto!important;margin-bottom:auto!important}}@media screen and (min-width: 1200px){.xl\:m-0{margin:0rem!important}.xl\:m-1{margin:.25rem!important}.xl\:m-2{margin:.5rem!important}.xl\:m-3{margin:1rem!important}.xl\:m-4{margin:1.5rem!important}.xl\:m-5{margin:2rem!important}.xl\:m-6{margin:3rem!important}.xl\:m-7{margin:4rem!important}.xl\:m-8{margin:5rem!important}.xl\:-m-1{margin:-.25rem!important}.xl\:-m-2{margin:-.5rem!important}.xl\:-m-3{margin:-1rem!important}.xl\:-m-4{margin:-1.5rem!important}.xl\:-m-5{margin:-2rem!important}.xl\:-m-6{margin:-3rem!important}.xl\:-m-7{margin:-4rem!important}.xl\:-m-8{margin:-5rem!important}.xl\:m-auto{margin:auto!important}.xl\:mt-0{margin-top:0rem!important}.xl\:mt-1{margin-top:.25rem!important}.xl\:mt-2{margin-top:.5rem!important}.xl\:mt-3{margin-top:1rem!important}.xl\:mt-4{margin-top:1.5rem!important}.xl\:mt-5{margin-top:2rem!important}.xl\:mt-6{margin-top:3rem!important}.xl\:mt-7{margin-top:4rem!important}.xl\:mt-8{margin-top:5rem!important}.xl\:-mt-1{margin-top:-.25rem!important}.xl\:-mt-2{margin-top:-.5rem!important}.xl\:-mt-3{margin-top:-1rem!important}.xl\:-mt-4{margin-top:-1.5rem!important}.xl\:-mt-5{margin-top:-2rem!important}.xl\:-mt-6{margin-top:-3rem!important}.xl\:-mt-7{margin-top:-4rem!important}.xl\:-mt-8{margin-top:-5rem!important}.xl\:mt-auto{margin-top:auto!important}.xl\:mr-0{margin-right:0rem!important}.xl\:mr-1{margin-right:.25rem!important}.xl\:mr-2{margin-right:.5rem!important}.xl\:mr-3{margin-right:1rem!important}.xl\:mr-4{margin-right:1.5rem!important}.xl\:mr-5{margin-right:2rem!important}.xl\:mr-6{margin-right:3rem!important}.xl\:mr-7{margin-right:4rem!important}.xl\:mr-8{margin-right:5rem!important}.xl\:-mr-1{margin-right:-.25rem!important}.xl\:-mr-2{margin-right:-.5rem!important}.xl\:-mr-3{margin-right:-1rem!important}.xl\:-mr-4{margin-right:-1.5rem!important}.xl\:-mr-5{margin-right:-2rem!important}.xl\:-mr-6{margin-right:-3rem!important}.xl\:-mr-7{margin-right:-4rem!important}.xl\:-mr-8{margin-right:-5rem!important}.xl\:mr-auto{margin-right:auto!important}.xl\:ml-0{margin-left:0rem!important}.xl\:ml-1{margin-left:.25rem!important}.xl\:ml-2{margin-left:.5rem!important}.xl\:ml-3{margin-left:1rem!important}.xl\:ml-4{margin-left:1.5rem!important}.xl\:ml-5{margin-left:2rem!important}.xl\:ml-6{margin-left:3rem!important}.xl\:ml-7{margin-left:4rem!important}.xl\:ml-8{margin-left:5rem!important}.xl\:-ml-1{margin-left:-.25rem!important}.xl\:-ml-2{margin-left:-.5rem!important}.xl\:-ml-3{margin-left:-1rem!important}.xl\:-ml-4{margin-left:-1.5rem!important}.xl\:-ml-5{margin-left:-2rem!important}.xl\:-ml-6{margin-left:-3rem!important}.xl\:-ml-7{margin-left:-4rem!important}.xl\:-ml-8{margin-left:-5rem!important}.xl\:ml-auto{margin-left:auto!important}.xl\:mb-0{margin-bottom:0rem!important}.xl\:mb-1{margin-bottom:.25rem!important}.xl\:mb-2{margin-bottom:.5rem!important}.xl\:mb-3{margin-bottom:1rem!important}.xl\:mb-4{margin-bottom:1.5rem!important}.xl\:mb-5{margin-bottom:2rem!important}.xl\:mb-6{margin-bottom:3rem!important}.xl\:mb-7{margin-bottom:4rem!important}.xl\:mb-8{margin-bottom:5rem!important}.xl\:-mb-1{margin-bottom:-.25rem!important}.xl\:-mb-2{margin-bottom:-.5rem!important}.xl\:-mb-3{margin-bottom:-1rem!important}.xl\:-mb-4{margin-bottom:-1.5rem!important}.xl\:-mb-5{margin-bottom:-2rem!important}.xl\:-mb-6{margin-bottom:-3rem!important}.xl\:-mb-7{margin-bottom:-4rem!important}.xl\:-mb-8{margin-bottom:-5rem!important}.xl\:mb-auto{margin-bottom:auto!important}.xl\:mx-0{margin-left:0rem!important;margin-right:0rem!important}.xl\:mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.xl\:mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.xl\:mx-3{margin-left:1rem!important;margin-right:1rem!important}.xl\:mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.xl\:mx-5{margin-left:2rem!important;margin-right:2rem!important}.xl\:mx-6{margin-left:3rem!important;margin-right:3rem!important}.xl\:mx-7{margin-left:4rem!important;margin-right:4rem!important}.xl\:mx-8{margin-left:5rem!important;margin-right:5rem!important}.xl\:-mx-1{margin-left:-.25rem!important;margin-right:-.25rem!important}.xl\:-mx-2{margin-left:-.5rem!important;margin-right:-.5rem!important}.xl\:-mx-3{margin-left:-1rem!important;margin-right:-1rem!important}.xl\:-mx-4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.xl\:-mx-5{margin-left:-2rem!important;margin-right:-2rem!important}.xl\:-mx-6{margin-left:-3rem!important;margin-right:-3rem!important}.xl\:-mx-7{margin-left:-4rem!important;margin-right:-4rem!important}.xl\:-mx-8{margin-left:-5rem!important;margin-right:-5rem!important}.xl\:mx-auto{margin-left:auto!important;margin-right:auto!important}.xl\:my-0{margin-top:0rem!important;margin-bottom:0rem!important}.xl\:my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.xl\:my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.xl\:my-3{margin-top:1rem!important;margin-bottom:1rem!important}.xl\:my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.xl\:my-5{margin-top:2rem!important;margin-bottom:2rem!important}.xl\:my-6{margin-top:3rem!important;margin-bottom:3rem!important}.xl\:my-7{margin-top:4rem!important;margin-bottom:4rem!important}.xl\:my-8{margin-top:5rem!important;margin-bottom:5rem!important}.xl\:-my-1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.xl\:-my-2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.xl\:-my-3{margin-top:-1rem!important;margin-bottom:-1rem!important}.xl\:-my-4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.xl\:-my-5{margin-top:-2rem!important;margin-bottom:-2rem!important}.xl\:-my-6{margin-top:-3rem!important;margin-bottom:-3rem!important}.xl\:-my-7{margin-top:-4rem!important;margin-bottom:-4rem!important}.xl\:-my-8{margin-top:-5rem!important;margin-bottom:-5rem!important}.xl\:my-auto{margin-top:auto!important;margin-bottom:auto!important}}.shadow-none{box-shadow:none!important}.shadow-1{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.shadow-2{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.shadow-3{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.shadow-4{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.shadow-5{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.shadow-6{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.shadow-7{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.shadow-8{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}.focus\:shadow-none:focus{box-shadow:none!important}.hover\:shadow-none:hover,.active\:shadow-none:active{box-shadow:none!important}.focus\:shadow-1:focus{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.hover\:shadow-1:hover,.active\:shadow-1:active{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.focus\:shadow-2:focus{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.hover\:shadow-2:hover,.active\:shadow-2:active{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.focus\:shadow-3:focus{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.hover\:shadow-3:hover,.active\:shadow-3:active{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.focus\:shadow-4:focus{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.hover\:shadow-4:hover,.active\:shadow-4:active{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.focus\:shadow-5:focus{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.hover\:shadow-5:hover,.active\:shadow-5:active{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.focus\:shadow-6:focus{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.hover\:shadow-6:hover,.active\:shadow-6:active{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.focus\:shadow-7:focus{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.hover\:shadow-7:hover,.active\:shadow-7:active{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.focus\:shadow-8:focus{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}.hover\:shadow-8:hover,.active\:shadow-8:active{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}@media screen and (min-width: 576px){.sm\:shadow-none{box-shadow:none!important}.sm\:shadow-1{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.sm\:shadow-2{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.sm\:shadow-3{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.sm\:shadow-4{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.sm\:shadow-5{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.sm\:shadow-6{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.sm\:shadow-7{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.sm\:shadow-8{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}.sm\:focus\:shadow-none:focus{box-shadow:none!important}.sm\:hover\:shadow-none:hover,.sm\:active\:shadow-none:active{box-shadow:none!important}.sm\:focus\:shadow-1:focus{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.sm\:hover\:shadow-1:hover,.sm\:active\:shadow-1:active{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.sm\:focus\:shadow-2:focus{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.sm\:hover\:shadow-2:hover,.sm\:active\:shadow-2:active{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.sm\:focus\:shadow-3:focus{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.sm\:hover\:shadow-3:hover,.sm\:active\:shadow-3:active{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.sm\:focus\:shadow-4:focus{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.sm\:hover\:shadow-4:hover,.sm\:active\:shadow-4:active{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.sm\:focus\:shadow-5:focus{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.sm\:hover\:shadow-5:hover,.sm\:active\:shadow-5:active{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.sm\:focus\:shadow-6:focus{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.sm\:hover\:shadow-6:hover,.sm\:active\:shadow-6:active{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.sm\:focus\:shadow-7:focus{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.sm\:hover\:shadow-7:hover,.sm\:active\:shadow-7:active{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.sm\:focus\:shadow-8:focus{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}.sm\:hover\:shadow-8:hover,.sm\:active\:shadow-8:active{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}}@media screen and (min-width: 768px){.md\:shadow-none{box-shadow:none!important}.md\:shadow-1{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.md\:shadow-2{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.md\:shadow-3{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.md\:shadow-4{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.md\:shadow-5{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.md\:shadow-6{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.md\:shadow-7{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.md\:shadow-8{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}.md\:focus\:shadow-none:focus{box-shadow:none!important}.md\:hover\:shadow-none:hover,.md\:active\:shadow-none:active{box-shadow:none!important}.md\:focus\:shadow-1:focus{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.md\:hover\:shadow-1:hover,.md\:active\:shadow-1:active{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.md\:focus\:shadow-2:focus{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.md\:hover\:shadow-2:hover,.md\:active\:shadow-2:active{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.md\:focus\:shadow-3:focus{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.md\:hover\:shadow-3:hover,.md\:active\:shadow-3:active{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.md\:focus\:shadow-4:focus{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.md\:hover\:shadow-4:hover,.md\:active\:shadow-4:active{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.md\:focus\:shadow-5:focus{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.md\:hover\:shadow-5:hover,.md\:active\:shadow-5:active{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.md\:focus\:shadow-6:focus{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.md\:hover\:shadow-6:hover,.md\:active\:shadow-6:active{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.md\:focus\:shadow-7:focus{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.md\:hover\:shadow-7:hover,.md\:active\:shadow-7:active{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.md\:focus\:shadow-8:focus{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}.md\:hover\:shadow-8:hover,.md\:active\:shadow-8:active{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}}@media screen and (min-width: 992px){.lg\:shadow-none{box-shadow:none!important}.lg\:shadow-1{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.lg\:shadow-2{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.lg\:shadow-3{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.lg\:shadow-4{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.lg\:shadow-5{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.lg\:shadow-6{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.lg\:shadow-7{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.lg\:shadow-8{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}.lg\:focus\:shadow-none:focus{box-shadow:none!important}.lg\:hover\:shadow-none:hover,.lg\:active\:shadow-none:active{box-shadow:none!important}.lg\:focus\:shadow-1:focus{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.lg\:hover\:shadow-1:hover,.lg\:active\:shadow-1:active{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.lg\:focus\:shadow-2:focus{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.lg\:hover\:shadow-2:hover,.lg\:active\:shadow-2:active{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.lg\:focus\:shadow-3:focus{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.lg\:hover\:shadow-3:hover,.lg\:active\:shadow-3:active{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.lg\:focus\:shadow-4:focus{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.lg\:hover\:shadow-4:hover,.lg\:active\:shadow-4:active{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.lg\:focus\:shadow-5:focus{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.lg\:hover\:shadow-5:hover,.lg\:active\:shadow-5:active{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.lg\:focus\:shadow-6:focus{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.lg\:hover\:shadow-6:hover,.lg\:active\:shadow-6:active{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.lg\:focus\:shadow-7:focus{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.lg\:hover\:shadow-7:hover,.lg\:active\:shadow-7:active{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.lg\:focus\:shadow-8:focus{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}.lg\:hover\:shadow-8:hover,.lg\:active\:shadow-8:active{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}}@media screen and (min-width: 1200px){.xl\:shadow-none{box-shadow:none!important}.xl\:shadow-1{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.xl\:shadow-2{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.xl\:shadow-3{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.xl\:shadow-4{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.xl\:shadow-5{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.xl\:shadow-6{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.xl\:shadow-7{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.xl\:shadow-8{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}.xl\:focus\:shadow-none:focus{box-shadow:none!important}.xl\:hover\:shadow-none:hover,.xl\:active\:shadow-none:active{box-shadow:none!important}.xl\:focus\:shadow-1:focus{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.xl\:hover\:shadow-1:hover,.xl\:active\:shadow-1:active{box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014!important}.xl\:focus\:shadow-2:focus{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.xl\:hover\:shadow-2:hover,.xl\:active\:shadow-2:active{box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f!important}.xl\:focus\:shadow-3:focus{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.xl\:hover\:shadow-3:hover,.xl\:active\:shadow-3:active{box-shadow:0 1px 8px #00000014,0 3px 4px #0000001a,0 1px 4px -1px #0000001a!important}.xl\:focus\:shadow-4:focus{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.xl\:hover\:shadow-4:hover,.xl\:active\:shadow-4:active{box-shadow:0 1px 10px #0000001f,0 4px 5px #00000024,0 2px 4px -1px #0003!important}.xl\:focus\:shadow-5:focus{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.xl\:hover\:shadow-5:hover,.xl\:active\:shadow-5:active{box-shadow:0 1px 7px #0000001a,0 4px 5px -2px #0000001f,0 10px 15px -5px #0003!important}.xl\:focus\:shadow-6:focus{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.xl\:hover\:shadow-6:hover,.xl\:active\:shadow-6:active{box-shadow:0 3px 5px #0000000f,0 7px 9px #0000001f,0 20px 25px -8px #0000002e!important}.xl\:focus\:shadow-7:focus{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.xl\:hover\:shadow-7:hover,.xl\:active\:shadow-7:active{box-shadow:0 7px 30px #00000014,0 22px 30px 2px #00000026,0 8px 10px #00000026!important}.xl\:focus\:shadow-8:focus{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}.xl\:hover\:shadow-8:hover,.xl\:active\:shadow-8:active{box-shadow:0 9px 46px 8px #0000001f,0 24px 38px 3px #00000024,0 11px 15px #0003!important}}.border-none{border-width:0px!important;border-style:none}.border-1{border-width:1px!important;border-style:solid}.border-2{border-width:2px!important;border-style:solid}.border-3{border-width:3px!important;border-style:solid}.border-top-none{border-top-width:0px!important;border-top-style:none}.border-top-1{border-top-width:1px!important;border-top-style:solid}.border-top-2{border-top-width:2px!important;border-top-style:solid}.border-top-3{border-top-width:3px!important;border-top-style:solid}.border-right-none{border-right-width:0px!important;border-right-style:none}.border-right-1{border-right-width:1px!important;border-right-style:solid}.border-right-2{border-right-width:2px!important;border-right-style:solid}.border-right-3{border-right-width:3px!important;border-right-style:solid}.border-left-none{border-left-width:0px!important;border-left-style:none}.border-left-1{border-left-width:1px!important;border-left-style:solid}.border-left-2{border-left-width:2px!important;border-left-style:solid}.border-left-3{border-left-width:3px!important;border-left-style:solid}.border-bottom-none{border-bottom-width:0px!important;border-bottom-style:none}.border-bottom-1{border-bottom-width:1px!important;border-bottom-style:solid}.border-bottom-2{border-bottom-width:2px!important;border-bottom-style:solid}.border-bottom-3{border-bottom-width:3px!important;border-bottom-style:solid}.border-x-none{border-left-width:0px!important;border-left-style:none;border-right-width:0px!important;border-right-style:none}.border-x-1{border-left-width:1px!important;border-left-style:solid;border-right-width:1px!important;border-right-style:solid}.border-x-2{border-left-width:2px!important;border-left-style:solid;border-right-width:2px!important;border-right-style:solid}.border-x-3{border-left-width:3px!important;border-left-style:solid;border-right-width:3px!important;border-right-style:solid}.border-y-none{border-top-width:0px!important;border-top-style:none;border-bottom-width:0px!important;border-bottom-style:none}.border-y-1{border-top-width:1px!important;border-top-style:solid;border-bottom-width:1px!important;border-bottom-style:solid}.border-y-2{border-top-width:2px!important;border-top-style:solid;border-bottom-width:2px!important;border-bottom-style:solid}.border-y-3{border-top-width:3px!important;border-top-style:solid;border-bottom-width:3px!important;border-bottom-style:solid}@media screen and (min-width: 576px){.sm\:border-none{border-width:0px!important;border-style:none}.sm\:border-1{border-width:1px!important;border-style:solid}.sm\:border-2{border-width:2px!important;border-style:solid}.sm\:border-3{border-width:3px!important;border-style:solid}.sm\:border-top-none{border-top-width:0px!important;border-top-style:none}.sm\:border-top-1{border-top-width:1px!important;border-top-style:solid}.sm\:border-top-2{border-top-width:2px!important;border-top-style:solid}.sm\:border-top-3{border-top-width:3px!important;border-top-style:solid}.sm\:border-right-none{border-right-width:0px!important;border-right-style:none}.sm\:border-right-1{border-right-width:1px!important;border-right-style:solid}.sm\:border-right-2{border-right-width:2px!important;border-right-style:solid}.sm\:border-right-3{border-right-width:3px!important;border-right-style:solid}.sm\:border-left-none{border-left-width:0px!important;border-left-style:none}.sm\:border-left-1{border-left-width:1px!important;border-left-style:solid}.sm\:border-left-2{border-left-width:2px!important;border-left-style:solid}.sm\:border-left-3{border-left-width:3px!important;border-left-style:solid}.sm\:border-bottom-none{border-bottom-width:0px!important;border-bottom-style:none}.sm\:border-bottom-1{border-bottom-width:1px!important;border-bottom-style:solid}.sm\:border-bottom-2{border-bottom-width:2px!important;border-bottom-style:solid}.sm\:border-bottom-3{border-bottom-width:3px!important;border-bottom-style:solid}.sm\:border-x-none{border-left-width:0px!important;border-left-style:none;border-right-width:0px!important;border-right-style:none}.sm\:border-x-1{border-left-width:1px!important;border-left-style:solid;border-right-width:1px!important;border-right-style:solid}.sm\:border-x-2{border-left-width:2px!important;border-left-style:solid;border-right-width:2px!important;border-right-style:solid}.sm\:border-x-3{border-left-width:3px!important;border-left-style:solid;border-right-width:3px!important;border-right-style:solid}.sm\:border-y-none{border-top-width:0px!important;border-top-style:none;border-bottom-width:0px!important;border-bottom-style:none}.sm\:border-y-1{border-top-width:1px!important;border-top-style:solid;border-bottom-width:1px!important;border-bottom-style:solid}.sm\:border-y-2{border-top-width:2px!important;border-top-style:solid;border-bottom-width:2px!important;border-bottom-style:solid}.sm\:border-y-3{border-top-width:3px!important;border-top-style:solid;border-bottom-width:3px!important;border-bottom-style:solid}}@media screen and (min-width: 768px){.md\:border-none{border-width:0px!important;border-style:none}.md\:border-1{border-width:1px!important;border-style:solid}.md\:border-2{border-width:2px!important;border-style:solid}.md\:border-3{border-width:3px!important;border-style:solid}.md\:border-top-none{border-top-width:0px!important;border-top-style:none}.md\:border-top-1{border-top-width:1px!important;border-top-style:solid}.md\:border-top-2{border-top-width:2px!important;border-top-style:solid}.md\:border-top-3{border-top-width:3px!important;border-top-style:solid}.md\:border-right-none{border-right-width:0px!important;border-right-style:none}.md\:border-right-1{border-right-width:1px!important;border-right-style:solid}.md\:border-right-2{border-right-width:2px!important;border-right-style:solid}.md\:border-right-3{border-right-width:3px!important;border-right-style:solid}.md\:border-left-none{border-left-width:0px!important;border-left-style:none}.md\:border-left-1{border-left-width:1px!important;border-left-style:solid}.md\:border-left-2{border-left-width:2px!important;border-left-style:solid}.md\:border-left-3{border-left-width:3px!important;border-left-style:solid}.md\:border-bottom-none{border-bottom-width:0px!important;border-bottom-style:none}.md\:border-bottom-1{border-bottom-width:1px!important;border-bottom-style:solid}.md\:border-bottom-2{border-bottom-width:2px!important;border-bottom-style:solid}.md\:border-bottom-3{border-bottom-width:3px!important;border-bottom-style:solid}.md\:border-x-none{border-left-width:0px!important;border-left-style:none;border-right-width:0px!important;border-right-style:none}.md\:border-x-1{border-left-width:1px!important;border-left-style:solid;border-right-width:1px!important;border-right-style:solid}.md\:border-x-2{border-left-width:2px!important;border-left-style:solid;border-right-width:2px!important;border-right-style:solid}.md\:border-x-3{border-left-width:3px!important;border-left-style:solid;border-right-width:3px!important;border-right-style:solid}.md\:border-y-none{border-top-width:0px!important;border-top-style:none;border-bottom-width:0px!important;border-bottom-style:none}.md\:border-y-1{border-top-width:1px!important;border-top-style:solid;border-bottom-width:1px!important;border-bottom-style:solid}.md\:border-y-2{border-top-width:2px!important;border-top-style:solid;border-bottom-width:2px!important;border-bottom-style:solid}.md\:border-y-3{border-top-width:3px!important;border-top-style:solid;border-bottom-width:3px!important;border-bottom-style:solid}}@media screen and (min-width: 992px){.lg\:border-none{border-width:0px!important;border-style:none}.lg\:border-1{border-width:1px!important;border-style:solid}.lg\:border-2{border-width:2px!important;border-style:solid}.lg\:border-3{border-width:3px!important;border-style:solid}.lg\:border-top-none{border-top-width:0px!important;border-top-style:none}.lg\:border-top-1{border-top-width:1px!important;border-top-style:solid}.lg\:border-top-2{border-top-width:2px!important;border-top-style:solid}.lg\:border-top-3{border-top-width:3px!important;border-top-style:solid}.lg\:border-right-none{border-right-width:0px!important;border-right-style:none}.lg\:border-right-1{border-right-width:1px!important;border-right-style:solid}.lg\:border-right-2{border-right-width:2px!important;border-right-style:solid}.lg\:border-right-3{border-right-width:3px!important;border-right-style:solid}.lg\:border-left-none{border-left-width:0px!important;border-left-style:none}.lg\:border-left-1{border-left-width:1px!important;border-left-style:solid}.lg\:border-left-2{border-left-width:2px!important;border-left-style:solid}.lg\:border-left-3{border-left-width:3px!important;border-left-style:solid}.lg\:border-bottom-none{border-bottom-width:0px!important;border-bottom-style:none}.lg\:border-bottom-1{border-bottom-width:1px!important;border-bottom-style:solid}.lg\:border-bottom-2{border-bottom-width:2px!important;border-bottom-style:solid}.lg\:border-bottom-3{border-bottom-width:3px!important;border-bottom-style:solid}.lg\:border-x-none{border-left-width:0px!important;border-left-style:none;border-right-width:0px!important;border-right-style:none}.lg\:border-x-1{border-left-width:1px!important;border-left-style:solid;border-right-width:1px!important;border-right-style:solid}.lg\:border-x-2{border-left-width:2px!important;border-left-style:solid;border-right-width:2px!important;border-right-style:solid}.lg\:border-x-3{border-left-width:3px!important;border-left-style:solid;border-right-width:3px!important;border-right-style:solid}.lg\:border-y-none{border-top-width:0px!important;border-top-style:none;border-bottom-width:0px!important;border-bottom-style:none}.lg\:border-y-1{border-top-width:1px!important;border-top-style:solid;border-bottom-width:1px!important;border-bottom-style:solid}.lg\:border-y-2{border-top-width:2px!important;border-top-style:solid;border-bottom-width:2px!important;border-bottom-style:solid}.lg\:border-y-3{border-top-width:3px!important;border-top-style:solid;border-bottom-width:3px!important;border-bottom-style:solid}}@media screen and (min-width: 1200px){.xl\:border-none{border-width:0px!important;border-style:none}.xl\:border-1{border-width:1px!important;border-style:solid}.xl\:border-2{border-width:2px!important;border-style:solid}.xl\:border-3{border-width:3px!important;border-style:solid}.xl\:border-top-none{border-top-width:0px!important;border-top-style:none}.xl\:border-top-1{border-top-width:1px!important;border-top-style:solid}.xl\:border-top-2{border-top-width:2px!important;border-top-style:solid}.xl\:border-top-3{border-top-width:3px!important;border-top-style:solid}.xl\:border-right-none{border-right-width:0px!important;border-right-style:none}.xl\:border-right-1{border-right-width:1px!important;border-right-style:solid}.xl\:border-right-2{border-right-width:2px!important;border-right-style:solid}.xl\:border-right-3{border-right-width:3px!important;border-right-style:solid}.xl\:border-left-none{border-left-width:0px!important;border-left-style:none}.xl\:border-left-1{border-left-width:1px!important;border-left-style:solid}.xl\:border-left-2{border-left-width:2px!important;border-left-style:solid}.xl\:border-left-3{border-left-width:3px!important;border-left-style:solid}.xl\:border-bottom-none{border-bottom-width:0px!important;border-bottom-style:none}.xl\:border-bottom-1{border-bottom-width:1px!important;border-bottom-style:solid}.xl\:border-bottom-2{border-bottom-width:2px!important;border-bottom-style:solid}.xl\:border-bottom-3{border-bottom-width:3px!important;border-bottom-style:solid}.xl\:border-x-none{border-left-width:0px!important;border-left-style:none;border-right-width:0px!important;border-right-style:none}.xl\:border-x-1{border-left-width:1px!important;border-left-style:solid;border-right-width:1px!important;border-right-style:solid}.xl\:border-x-2{border-left-width:2px!important;border-left-style:solid;border-right-width:2px!important;border-right-style:solid}.xl\:border-x-3{border-left-width:3px!important;border-left-style:solid;border-right-width:3px!important;border-right-style:solid}.xl\:border-y-none{border-top-width:0px!important;border-top-style:none;border-bottom-width:0px!important;border-bottom-style:none}.xl\:border-y-1{border-top-width:1px!important;border-top-style:solid;border-bottom-width:1px!important;border-bottom-style:solid}.xl\:border-y-2{border-top-width:2px!important;border-top-style:solid;border-bottom-width:2px!important;border-bottom-style:solid}.xl\:border-y-3{border-top-width:3px!important;border-top-style:solid;border-bottom-width:3px!important;border-bottom-style:solid}}.border-solid{border-style:solid!important}.border-dashed{border-style:dashed!important}.border-dotted{border-style:dotted!important}.border-double{border-style:double!important}@media screen and (min-width: 576px){.sm\:border-solid{border-style:solid!important}.sm\:border-dashed{border-style:dashed!important}.sm\:border-dotted{border-style:dotted!important}.sm\:border-double{border-style:double!important}}@media screen and (min-width: 768px){.md\:border-solid{border-style:solid!important}.md\:border-dashed{border-style:dashed!important}.md\:border-dotted{border-style:dotted!important}.md\:border-double{border-style:double!important}}@media screen and (min-width: 992px){.lg\:border-solid{border-style:solid!important}.lg\:border-dashed{border-style:dashed!important}.lg\:border-dotted{border-style:dotted!important}.lg\:border-double{border-style:double!important}}@media screen and (min-width: 1200px){.xl\:border-solid{border-style:solid!important}.xl\:border-dashed{border-style:dashed!important}.xl\:border-dotted{border-style:dotted!important}.xl\:border-double{border-style:double!important}}.border-noround{border-radius:0!important}.border-round{border-radius:var(--border-radius)!important}.border-round-xs{border-radius:.125rem!important}.border-round-sm{border-radius:.25rem!important}.border-round-md{border-radius:.375rem!important}.border-round-lg{border-radius:.5rem!important}.border-round-xl{border-radius:.75rem!important}.border-round-2xl{border-radius:1rem!important}.border-round-3xl{border-radius:1.5rem!important}.border-circle{border-radius:50%!important}@media screen and (min-width: 576px){.sm\:border-noround{border-radius:0!important}.sm\:border-round{border-radius:var(--border-radius)!important}.sm\:border-round-xs{border-radius:.125rem!important}.sm\:border-round-sm{border-radius:.25rem!important}.sm\:border-round-md{border-radius:.375rem!important}.sm\:border-round-lg{border-radius:.5rem!important}.sm\:border-round-xl{border-radius:.75rem!important}.sm\:border-round-2xl{border-radius:1rem!important}.sm\:border-round-3xl{border-radius:1.5rem!important}.sm\:border-circle{border-radius:50%!important}}@media screen and (min-width: 768px){.md\:border-noround{border-radius:0!important}.md\:border-round{border-radius:var(--border-radius)!important}.md\:border-round-xs{border-radius:.125rem!important}.md\:border-round-sm{border-radius:.25rem!important}.md\:border-round-md{border-radius:.375rem!important}.md\:border-round-lg{border-radius:.5rem!important}.md\:border-round-xl{border-radius:.75rem!important}.md\:border-round-2xl{border-radius:1rem!important}.md\:border-round-3xl{border-radius:1.5rem!important}.md\:border-circle{border-radius:50%!important}}@media screen and (min-width: 992px){.lg\:border-noround{border-radius:0!important}.lg\:border-round{border-radius:var(--border-radius)!important}.lg\:border-round-xs{border-radius:.125rem!important}.lg\:border-round-sm{border-radius:.25rem!important}.lg\:border-round-md{border-radius:.375rem!important}.lg\:border-round-lg{border-radius:.5rem!important}.lg\:border-round-xl{border-radius:.75rem!important}.lg\:border-round-2xl{border-radius:1rem!important}.lg\:border-round-3xl{border-radius:1.5rem!important}.lg\:border-circle{border-radius:50%!important}}@media screen and (min-width: 1200px){.xl\:border-noround{border-radius:0!important}.xl\:border-round{border-radius:var(--border-radius)!important}.xl\:border-round-xs{border-radius:.125rem!important}.xl\:border-round-sm{border-radius:.25rem!important}.xl\:border-round-md{border-radius:.375rem!important}.xl\:border-round-lg{border-radius:.5rem!important}.xl\:border-round-xl{border-radius:.75rem!important}.xl\:border-round-2xl{border-radius:1rem!important}.xl\:border-round-3xl{border-radius:1.5rem!important}.xl\:border-circle{border-radius:50%!important}}.border-noround-left{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.border-noround-top{border-top-left-radius:0!important;border-top-right-radius:0!important}.border-noround-right{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.border-noround-bottom{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.border-round-left{border-top-left-radius:var(--border-radius)!important;border-bottom-left-radius:var(--border-radius)!important}.border-round-top{border-top-left-radius:var(--border-radius)!important;border-top-right-radius:var(--border-radius)!important}.border-round-right{border-top-right-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.border-round-bottom{border-bottom-left-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.border-round-left-xs{border-top-left-radius:.125rem!important;border-bottom-left-radius:.125rem!important}.border-round-top-xs{border-top-left-radius:.125rem!important;border-top-right-radius:.125rem!important}.border-round-right-xs{border-top-right-radius:.125rem!important;border-bottom-right-radius:.125rem!important}.border-round-bottom-xs{border-bottom-left-radius:.125rem!important;border-bottom-right-radius:.125rem!important}.border-round-left-sm{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.border-round-top-sm{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.border-round-right-sm{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.border-round-bottom-sm{border-bottom-left-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.border-round-left-md{border-top-left-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.border-round-top-md{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}.border-round-right-md{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.border-round-bottom-md{border-bottom-left-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.border-round-left-lg{border-top-left-radius:.5rem!important;border-bottom-left-radius:.5rem!important}.border-round-top-lg{border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important}.border-round-right-lg{border-top-right-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.border-round-bottom-lg{border-bottom-left-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.border-round-left-xl{border-top-left-radius:.75rem!important;border-bottom-left-radius:.75rem!important}.border-round-top-xl{border-top-left-radius:.75rem!important;border-top-right-radius:.75rem!important}.border-round-right-xl{border-top-right-radius:.75rem!important;border-bottom-right-radius:.75rem!important}.border-round-bottom-xl{border-bottom-left-radius:.75rem!important;border-bottom-right-radius:.75rem!important}.border-round-left-2xl{border-top-left-radius:1rem!important;border-bottom-left-radius:1rem!important}.border-round-top-2xl{border-top-left-radius:1rem!important;border-top-right-radius:1rem!important}.border-round-right-2xl{border-top-right-radius:1rem!important;border-bottom-right-radius:1rem!important}.border-round-bottom-2xl{border-bottom-left-radius:1rem!important;border-bottom-right-radius:1rem!important}.border-round-left-3xl{border-top-left-radius:1.5rem!important;border-bottom-left-radius:1.5rem!important}.border-round-top-3xl{border-top-left-radius:1.5rem!important;border-top-right-radius:1.5rem!important}.border-round-right-3xl{border-top-right-radius:1.5rem!important;border-bottom-right-radius:1.5rem!important}.border-round-bottom-3xl{border-bottom-left-radius:1.5rem!important;border-bottom-right-radius:1.5rem!important}.border-circle-left{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.border-circle-top{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.border-circle-right{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.border-circle-bottom{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}@media screen and (min-width: 576px){.sm\:border-noround-left{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.sm\:border-noround-top{border-top-left-radius:0!important;border-top-right-radius:0!important}.sm\:border-noround-right{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.sm\:border-noround-bottom{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.sm\:border-round-left{border-top-left-radius:var(--border-radius)!important;border-bottom-left-radius:var(--border-radius)!important}.sm\:border-round-top{border-top-left-radius:var(--border-radius)!important;border-top-right-radius:var(--border-radius)!important}.sm\:border-round-right{border-top-right-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.sm\:border-round-bottom{border-bottom-left-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.sm\:border-round-left-xs{border-top-left-radius:.125rem!important;border-bottom-left-radius:.125rem!important}.sm\:border-round-top-xs{border-top-left-radius:.125rem!important;border-top-right-radius:.125rem!important}.sm\:border-round-right-xs{border-top-right-radius:.125rem!important;border-bottom-right-radius:.125rem!important}.sm\:border-round-bottom-xs{border-bottom-left-radius:.125rem!important;border-bottom-right-radius:.125rem!important}.sm\:border-round-left-sm{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.sm\:border-round-top-sm{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.sm\:border-round-right-sm{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.sm\:border-round-bottom-sm{border-bottom-left-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.sm\:border-round-left-md{border-top-left-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.sm\:border-round-top-md{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}.sm\:border-round-right-md{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.sm\:border-round-bottom-md{border-bottom-left-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.sm\:border-round-left-lg{border-top-left-radius:.5rem!important;border-bottom-left-radius:.5rem!important}.sm\:border-round-top-lg{border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important}.sm\:border-round-right-lg{border-top-right-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.sm\:border-round-bottom-lg{border-bottom-left-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.sm\:border-round-left-xl{border-top-left-radius:.75rem!important;border-bottom-left-radius:.75rem!important}.sm\:border-round-top-xl{border-top-left-radius:.75rem!important;border-top-right-radius:.75rem!important}.sm\:border-round-right-xl{border-top-right-radius:.75rem!important;border-bottom-right-radius:.75rem!important}.sm\:border-round-bottom-xl{border-bottom-left-radius:.75rem!important;border-bottom-right-radius:.75rem!important}.sm\:border-round-left-2xl{border-top-left-radius:1rem!important;border-bottom-left-radius:1rem!important}.sm\:border-round-top-2xl{border-top-left-radius:1rem!important;border-top-right-radius:1rem!important}.sm\:border-round-right-2xl{border-top-right-radius:1rem!important;border-bottom-right-radius:1rem!important}.sm\:border-round-bottom-2xl{border-bottom-left-radius:1rem!important;border-bottom-right-radius:1rem!important}.sm\:border-round-left-3xl{border-top-left-radius:1.5rem!important;border-bottom-left-radius:1.5rem!important}.sm\:border-round-top-3xl{border-top-left-radius:1.5rem!important;border-top-right-radius:1.5rem!important}.sm\:border-round-right-3xl{border-top-right-radius:1.5rem!important;border-bottom-right-radius:1.5rem!important}.sm\:border-round-bottom-3xl{border-bottom-left-radius:1.5rem!important;border-bottom-right-radius:1.5rem!important}.sm\:border-circle-left{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.sm\:border-circle-top{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.sm\:border-circle-right{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.sm\:border-circle-bottom{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}}@media screen and (min-width: 768px){.md\:border-noround-left{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.md\:border-noround-top{border-top-left-radius:0!important;border-top-right-radius:0!important}.md\:border-noround-right{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.md\:border-noround-bottom{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.md\:border-round-left{border-top-left-radius:var(--border-radius)!important;border-bottom-left-radius:var(--border-radius)!important}.md\:border-round-top{border-top-left-radius:var(--border-radius)!important;border-top-right-radius:var(--border-radius)!important}.md\:border-round-right{border-top-right-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.md\:border-round-bottom{border-bottom-left-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.md\:border-round-left-xs{border-top-left-radius:.125rem!important;border-bottom-left-radius:.125rem!important}.md\:border-round-top-xs{border-top-left-radius:.125rem!important;border-top-right-radius:.125rem!important}.md\:border-round-right-xs{border-top-right-radius:.125rem!important;border-bottom-right-radius:.125rem!important}.md\:border-round-bottom-xs{border-bottom-left-radius:.125rem!important;border-bottom-right-radius:.125rem!important}.md\:border-round-left-sm{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.md\:border-round-top-sm{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.md\:border-round-right-sm{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.md\:border-round-bottom-sm{border-bottom-left-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.md\:border-round-left-md{border-top-left-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.md\:border-round-top-md{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}.md\:border-round-right-md{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.md\:border-round-bottom-md{border-bottom-left-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.md\:border-round-left-lg{border-top-left-radius:.5rem!important;border-bottom-left-radius:.5rem!important}.md\:border-round-top-lg{border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important}.md\:border-round-right-lg{border-top-right-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.md\:border-round-bottom-lg{border-bottom-left-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.md\:border-round-left-xl{border-top-left-radius:.75rem!important;border-bottom-left-radius:.75rem!important}.md\:border-round-top-xl{border-top-left-radius:.75rem!important;border-top-right-radius:.75rem!important}.md\:border-round-right-xl{border-top-right-radius:.75rem!important;border-bottom-right-radius:.75rem!important}.md\:border-round-bottom-xl{border-bottom-left-radius:.75rem!important;border-bottom-right-radius:.75rem!important}.md\:border-round-left-2xl{border-top-left-radius:1rem!important;border-bottom-left-radius:1rem!important}.md\:border-round-top-2xl{border-top-left-radius:1rem!important;border-top-right-radius:1rem!important}.md\:border-round-right-2xl{border-top-right-radius:1rem!important;border-bottom-right-radius:1rem!important}.md\:border-round-bottom-2xl{border-bottom-left-radius:1rem!important;border-bottom-right-radius:1rem!important}.md\:border-round-left-3xl{border-top-left-radius:1.5rem!important;border-bottom-left-radius:1.5rem!important}.md\:border-round-top-3xl{border-top-left-radius:1.5rem!important;border-top-right-radius:1.5rem!important}.md\:border-round-right-3xl{border-top-right-radius:1.5rem!important;border-bottom-right-radius:1.5rem!important}.md\:border-round-bottom-3xl{border-bottom-left-radius:1.5rem!important;border-bottom-right-radius:1.5rem!important}.md\:border-circle-left{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.md\:border-circle-top{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.md\:border-circle-right{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.md\:border-circle-bottom{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}}@media screen and (min-width: 992px){.lg\:border-noround-left{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.lg\:border-noround-top{border-top-left-radius:0!important;border-top-right-radius:0!important}.lg\:border-noround-right{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.lg\:border-noround-bottom{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.lg\:border-round-left{border-top-left-radius:var(--border-radius)!important;border-bottom-left-radius:var(--border-radius)!important}.lg\:border-round-top{border-top-left-radius:var(--border-radius)!important;border-top-right-radius:var(--border-radius)!important}.lg\:border-round-right{border-top-right-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.lg\:border-round-bottom{border-bottom-left-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.lg\:border-round-left-xs{border-top-left-radius:.125rem!important;border-bottom-left-radius:.125rem!important}.lg\:border-round-top-xs{border-top-left-radius:.125rem!important;border-top-right-radius:.125rem!important}.lg\:border-round-right-xs{border-top-right-radius:.125rem!important;border-bottom-right-radius:.125rem!important}.lg\:border-round-bottom-xs{border-bottom-left-radius:.125rem!important;border-bottom-right-radius:.125rem!important}.lg\:border-round-left-sm{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.lg\:border-round-top-sm{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.lg\:border-round-right-sm{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.lg\:border-round-bottom-sm{border-bottom-left-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.lg\:border-round-left-md{border-top-left-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.lg\:border-round-top-md{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}.lg\:border-round-right-md{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.lg\:border-round-bottom-md{border-bottom-left-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.lg\:border-round-left-lg{border-top-left-radius:.5rem!important;border-bottom-left-radius:.5rem!important}.lg\:border-round-top-lg{border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important}.lg\:border-round-right-lg{border-top-right-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.lg\:border-round-bottom-lg{border-bottom-left-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.lg\:border-round-left-xl{border-top-left-radius:.75rem!important;border-bottom-left-radius:.75rem!important}.lg\:border-round-top-xl{border-top-left-radius:.75rem!important;border-top-right-radius:.75rem!important}.lg\:border-round-right-xl{border-top-right-radius:.75rem!important;border-bottom-right-radius:.75rem!important}.lg\:border-round-bottom-xl{border-bottom-left-radius:.75rem!important;border-bottom-right-radius:.75rem!important}.lg\:border-round-left-2xl{border-top-left-radius:1rem!important;border-bottom-left-radius:1rem!important}.lg\:border-round-top-2xl{border-top-left-radius:1rem!important;border-top-right-radius:1rem!important}.lg\:border-round-right-2xl{border-top-right-radius:1rem!important;border-bottom-right-radius:1rem!important}.lg\:border-round-bottom-2xl{border-bottom-left-radius:1rem!important;border-bottom-right-radius:1rem!important}.lg\:border-round-left-3xl{border-top-left-radius:1.5rem!important;border-bottom-left-radius:1.5rem!important}.lg\:border-round-top-3xl{border-top-left-radius:1.5rem!important;border-top-right-radius:1.5rem!important}.lg\:border-round-right-3xl{border-top-right-radius:1.5rem!important;border-bottom-right-radius:1.5rem!important}.lg\:border-round-bottom-3xl{border-bottom-left-radius:1.5rem!important;border-bottom-right-radius:1.5rem!important}.lg\:border-circle-left{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.lg\:border-circle-top{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.lg\:border-circle-right{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.lg\:border-circle-bottom{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}}@media screen and (min-width: 1200px){.xl\:border-noround-left{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.xl\:border-noround-top{border-top-left-radius:0!important;border-top-right-radius:0!important}.xl\:border-noround-right{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.xl\:border-noround-bottom{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.xl\:border-round-left{border-top-left-radius:var(--border-radius)!important;border-bottom-left-radius:var(--border-radius)!important}.xl\:border-round-top{border-top-left-radius:var(--border-radius)!important;border-top-right-radius:var(--border-radius)!important}.xl\:border-round-right{border-top-right-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.xl\:border-round-bottom{border-bottom-left-radius:var(--border-radius)!important;border-bottom-right-radius:var(--border-radius)!important}.xl\:border-round-left-xs{border-top-left-radius:.125rem!important;border-bottom-left-radius:.125rem!important}.xl\:border-round-top-xs{border-top-left-radius:.125rem!important;border-top-right-radius:.125rem!important}.xl\:border-round-right-xs{border-top-right-radius:.125rem!important;border-bottom-right-radius:.125rem!important}.xl\:border-round-bottom-xs{border-bottom-left-radius:.125rem!important;border-bottom-right-radius:.125rem!important}.xl\:border-round-left-sm{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.xl\:border-round-top-sm{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.xl\:border-round-right-sm{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.xl\:border-round-bottom-sm{border-bottom-left-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.xl\:border-round-left-md{border-top-left-radius:.375rem!important;border-bottom-left-radius:.375rem!important}.xl\:border-round-top-md{border-top-left-radius:.375rem!important;border-top-right-radius:.375rem!important}.xl\:border-round-right-md{border-top-right-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.xl\:border-round-bottom-md{border-bottom-left-radius:.375rem!important;border-bottom-right-radius:.375rem!important}.xl\:border-round-left-lg{border-top-left-radius:.5rem!important;border-bottom-left-radius:.5rem!important}.xl\:border-round-top-lg{border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important}.xl\:border-round-right-lg{border-top-right-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.xl\:border-round-bottom-lg{border-bottom-left-radius:.5rem!important;border-bottom-right-radius:.5rem!important}.xl\:border-round-left-xl{border-top-left-radius:.75rem!important;border-bottom-left-radius:.75rem!important}.xl\:border-round-top-xl{border-top-left-radius:.75rem!important;border-top-right-radius:.75rem!important}.xl\:border-round-right-xl{border-top-right-radius:.75rem!important;border-bottom-right-radius:.75rem!important}.xl\:border-round-bottom-xl{border-bottom-left-radius:.75rem!important;border-bottom-right-radius:.75rem!important}.xl\:border-round-left-2xl{border-top-left-radius:1rem!important;border-bottom-left-radius:1rem!important}.xl\:border-round-top-2xl{border-top-left-radius:1rem!important;border-top-right-radius:1rem!important}.xl\:border-round-right-2xl{border-top-right-radius:1rem!important;border-bottom-right-radius:1rem!important}.xl\:border-round-bottom-2xl{border-bottom-left-radius:1rem!important;border-bottom-right-radius:1rem!important}.xl\:border-round-left-3xl{border-top-left-radius:1.5rem!important;border-bottom-left-radius:1.5rem!important}.xl\:border-round-top-3xl{border-top-left-radius:1.5rem!important;border-top-right-radius:1.5rem!important}.xl\:border-round-right-3xl{border-top-right-radius:1.5rem!important;border-bottom-right-radius:1.5rem!important}.xl\:border-round-bottom-3xl{border-bottom-left-radius:1.5rem!important;border-bottom-right-radius:1.5rem!important}.xl\:border-circle-left{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.xl\:border-circle-top{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.xl\:border-circle-right{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.xl\:border-circle-bottom{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}}.w-full{width:100%!important}.w-screen{width:100vw!important}.w-auto{width:auto!important}.w-1{width:8.3333%!important}.w-2{width:16.6667%!important}.w-3{width:25%!important}.w-4{width:33.3333%!important}.w-5{width:41.6667%!important}.w-6{width:50%!important}.w-7{width:58.3333%!important}.w-8{width:66.6667%!important}.w-9{width:75%!important}.w-10{width:83.3333%!important}.w-11{width:91.6667%!important}.w-12{width:100%!important}.w-min{width:min-content!important}.w-max{width:max-content!important}.w-fit{width:fit-content!important}.w-1rem{width:1rem!important}.w-2rem{width:2rem!important}.w-3rem{width:3rem!important}.w-4rem{width:4rem!important}.w-5rem{width:5rem!important}.w-6rem{width:6rem!important}.w-7rem{width:7rem!important}.w-8rem{width:8rem!important}.w-9rem{width:9rem!important}.w-10rem{width:10rem!important}.w-11rem{width:11rem!important}.w-12rem{width:12rem!important}.w-13rem{width:13rem!important}.w-14rem{width:14rem!important}.w-15rem{width:15rem!important}.w-16rem{width:16rem!important}.w-17rem{width:17rem!important}.w-18rem{width:18rem!important}.w-19rem{width:19rem!important}.w-20rem{width:20rem!important}.w-21rem{width:21rem!important}.w-22rem{width:22rem!important}.w-23rem{width:23rem!important}.w-24rem{width:24rem!important}.w-25rem{width:25rem!important}.w-26rem{width:26rem!important}.w-27rem{width:27rem!important}.w-28rem{width:28rem!important}.w-29rem{width:29rem!important}.w-30rem{width:30rem!important}@media screen and (min-width: 576px){.sm\:w-full{width:100%!important}.sm\:w-screen{width:100vw!important}.sm\:w-auto{width:auto!important}.sm\:w-1{width:8.3333%!important}.sm\:w-2{width:16.6667%!important}.sm\:w-3{width:25%!important}.sm\:w-4{width:33.3333%!important}.sm\:w-5{width:41.6667%!important}.sm\:w-6{width:50%!important}.sm\:w-7{width:58.3333%!important}.sm\:w-8{width:66.6667%!important}.sm\:w-9{width:75%!important}.sm\:w-10{width:83.3333%!important}.sm\:w-11{width:91.6667%!important}.sm\:w-12{width:100%!important}.sm\:w-min{width:min-content!important}.sm\:w-max{width:max-content!important}.sm\:w-fit{width:fit-content!important}.sm\:w-1rem{width:1rem!important}.sm\:w-2rem{width:2rem!important}.sm\:w-3rem{width:3rem!important}.sm\:w-4rem{width:4rem!important}.sm\:w-5rem{width:5rem!important}.sm\:w-6rem{width:6rem!important}.sm\:w-7rem{width:7rem!important}.sm\:w-8rem{width:8rem!important}.sm\:w-9rem{width:9rem!important}.sm\:w-10rem{width:10rem!important}.sm\:w-11rem{width:11rem!important}.sm\:w-12rem{width:12rem!important}.sm\:w-13rem{width:13rem!important}.sm\:w-14rem{width:14rem!important}.sm\:w-15rem{width:15rem!important}.sm\:w-16rem{width:16rem!important}.sm\:w-17rem{width:17rem!important}.sm\:w-18rem{width:18rem!important}.sm\:w-19rem{width:19rem!important}.sm\:w-20rem{width:20rem!important}.sm\:w-21rem{width:21rem!important}.sm\:w-22rem{width:22rem!important}.sm\:w-23rem{width:23rem!important}.sm\:w-24rem{width:24rem!important}.sm\:w-25rem{width:25rem!important}.sm\:w-26rem{width:26rem!important}.sm\:w-27rem{width:27rem!important}.sm\:w-28rem{width:28rem!important}.sm\:w-29rem{width:29rem!important}.sm\:w-30rem{width:30rem!important}}@media screen and (min-width: 768px){.md\:w-full{width:100%!important}.md\:w-screen{width:100vw!important}.md\:w-auto{width:auto!important}.md\:w-1{width:8.3333%!important}.md\:w-2{width:16.6667%!important}.md\:w-3{width:25%!important}.md\:w-4{width:33.3333%!important}.md\:w-5{width:41.6667%!important}.md\:w-6{width:50%!important}.md\:w-7{width:58.3333%!important}.md\:w-8{width:66.6667%!important}.md\:w-9{width:75%!important}.md\:w-10{width:83.3333%!important}.md\:w-11{width:91.6667%!important}.md\:w-12{width:100%!important}.md\:w-min{width:min-content!important}.md\:w-max{width:max-content!important}.md\:w-fit{width:fit-content!important}.md\:w-1rem{width:1rem!important}.md\:w-2rem{width:2rem!important}.md\:w-3rem{width:3rem!important}.md\:w-4rem{width:4rem!important}.md\:w-5rem{width:5rem!important}.md\:w-6rem{width:6rem!important}.md\:w-7rem{width:7rem!important}.md\:w-8rem{width:8rem!important}.md\:w-9rem{width:9rem!important}.md\:w-10rem{width:10rem!important}.md\:w-11rem{width:11rem!important}.md\:w-12rem{width:12rem!important}.md\:w-13rem{width:13rem!important}.md\:w-14rem{width:14rem!important}.md\:w-15rem{width:15rem!important}.md\:w-16rem{width:16rem!important}.md\:w-17rem{width:17rem!important}.md\:w-18rem{width:18rem!important}.md\:w-19rem{width:19rem!important}.md\:w-20rem{width:20rem!important}.md\:w-21rem{width:21rem!important}.md\:w-22rem{width:22rem!important}.md\:w-23rem{width:23rem!important}.md\:w-24rem{width:24rem!important}.md\:w-25rem{width:25rem!important}.md\:w-26rem{width:26rem!important}.md\:w-27rem{width:27rem!important}.md\:w-28rem{width:28rem!important}.md\:w-29rem{width:29rem!important}.md\:w-30rem{width:30rem!important}}@media screen and (min-width: 992px){.lg\:w-full{width:100%!important}.lg\:w-screen{width:100vw!important}.lg\:w-auto{width:auto!important}.lg\:w-1{width:8.3333%!important}.lg\:w-2{width:16.6667%!important}.lg\:w-3{width:25%!important}.lg\:w-4{width:33.3333%!important}.lg\:w-5{width:41.6667%!important}.lg\:w-6{width:50%!important}.lg\:w-7{width:58.3333%!important}.lg\:w-8{width:66.6667%!important}.lg\:w-9{width:75%!important}.lg\:w-10{width:83.3333%!important}.lg\:w-11{width:91.6667%!important}.lg\:w-12{width:100%!important}.lg\:w-min{width:min-content!important}.lg\:w-max{width:max-content!important}.lg\:w-fit{width:fit-content!important}.lg\:w-1rem{width:1rem!important}.lg\:w-2rem{width:2rem!important}.lg\:w-3rem{width:3rem!important}.lg\:w-4rem{width:4rem!important}.lg\:w-5rem{width:5rem!important}.lg\:w-6rem{width:6rem!important}.lg\:w-7rem{width:7rem!important}.lg\:w-8rem{width:8rem!important}.lg\:w-9rem{width:9rem!important}.lg\:w-10rem{width:10rem!important}.lg\:w-11rem{width:11rem!important}.lg\:w-12rem{width:12rem!important}.lg\:w-13rem{width:13rem!important}.lg\:w-14rem{width:14rem!important}.lg\:w-15rem{width:15rem!important}.lg\:w-16rem{width:16rem!important}.lg\:w-17rem{width:17rem!important}.lg\:w-18rem{width:18rem!important}.lg\:w-19rem{width:19rem!important}.lg\:w-20rem{width:20rem!important}.lg\:w-21rem{width:21rem!important}.lg\:w-22rem{width:22rem!important}.lg\:w-23rem{width:23rem!important}.lg\:w-24rem{width:24rem!important}.lg\:w-25rem{width:25rem!important}.lg\:w-26rem{width:26rem!important}.lg\:w-27rem{width:27rem!important}.lg\:w-28rem{width:28rem!important}.lg\:w-29rem{width:29rem!important}.lg\:w-30rem{width:30rem!important}}@media screen and (min-width: 1200px){.xl\:w-full{width:100%!important}.xl\:w-screen{width:100vw!important}.xl\:w-auto{width:auto!important}.xl\:w-1{width:8.3333%!important}.xl\:w-2{width:16.6667%!important}.xl\:w-3{width:25%!important}.xl\:w-4{width:33.3333%!important}.xl\:w-5{width:41.6667%!important}.xl\:w-6{width:50%!important}.xl\:w-7{width:58.3333%!important}.xl\:w-8{width:66.6667%!important}.xl\:w-9{width:75%!important}.xl\:w-10{width:83.3333%!important}.xl\:w-11{width:91.6667%!important}.xl\:w-12{width:100%!important}.xl\:w-min{width:min-content!important}.xl\:w-max{width:max-content!important}.xl\:w-fit{width:fit-content!important}.xl\:w-1rem{width:1rem!important}.xl\:w-2rem{width:2rem!important}.xl\:w-3rem{width:3rem!important}.xl\:w-4rem{width:4rem!important}.xl\:w-5rem{width:5rem!important}.xl\:w-6rem{width:6rem!important}.xl\:w-7rem{width:7rem!important}.xl\:w-8rem{width:8rem!important}.xl\:w-9rem{width:9rem!important}.xl\:w-10rem{width:10rem!important}.xl\:w-11rem{width:11rem!important}.xl\:w-12rem{width:12rem!important}.xl\:w-13rem{width:13rem!important}.xl\:w-14rem{width:14rem!important}.xl\:w-15rem{width:15rem!important}.xl\:w-16rem{width:16rem!important}.xl\:w-17rem{width:17rem!important}.xl\:w-18rem{width:18rem!important}.xl\:w-19rem{width:19rem!important}.xl\:w-20rem{width:20rem!important}.xl\:w-21rem{width:21rem!important}.xl\:w-22rem{width:22rem!important}.xl\:w-23rem{width:23rem!important}.xl\:w-24rem{width:24rem!important}.xl\:w-25rem{width:25rem!important}.xl\:w-26rem{width:26rem!important}.xl\:w-27rem{width:27rem!important}.xl\:w-28rem{width:28rem!important}.xl\:w-29rem{width:29rem!important}.xl\:w-30rem{width:30rem!important}}.h-full{height:100%!important}.h-screen{height:100vh!important}.h-auto{height:auto!important}.h-min{height:min-content!important}.h-max{height:max-content!important}.h-fit{height:fit-content!important}.h-1rem{height:1rem!important}.h-2rem{height:2rem!important}.h-3rem{height:3rem!important}.h-4rem{height:4rem!important}.h-5rem{height:5rem!important}.h-6rem{height:6rem!important}.h-7rem{height:7rem!important}.h-8rem{height:8rem!important}.h-9rem{height:9rem!important}.h-10rem{height:10rem!important}.h-11rem{height:11rem!important}.h-12rem{height:12rem!important}.h-13rem{height:13rem!important}.h-14rem{height:14rem!important}.h-15rem{height:15rem!important}.h-16rem{height:16rem!important}.h-17rem{height:17rem!important}.h-18rem{height:18rem!important}.h-19rem{height:19rem!important}.h-20rem{height:20rem!important}.h-21rem{height:21rem!important}.h-22rem{height:22rem!important}.h-23rem{height:23rem!important}.h-24rem{height:24rem!important}.h-25rem{height:25rem!important}.h-26rem{height:26rem!important}.h-27rem{height:27rem!important}.h-28rem{height:28rem!important}.h-29rem{height:29rem!important}.h-30rem{height:30rem!important}@media screen and (min-width: 576px){.sm\:h-full{height:100%!important}.sm\:h-screen{height:100vh!important}.sm\:h-auto{height:auto!important}.sm\:h-min{height:min-content!important}.sm\:h-max{height:max-content!important}.sm\:h-fit{height:fit-content!important}.sm\:h-1rem{height:1rem!important}.sm\:h-2rem{height:2rem!important}.sm\:h-3rem{height:3rem!important}.sm\:h-4rem{height:4rem!important}.sm\:h-5rem{height:5rem!important}.sm\:h-6rem{height:6rem!important}.sm\:h-7rem{height:7rem!important}.sm\:h-8rem{height:8rem!important}.sm\:h-9rem{height:9rem!important}.sm\:h-10rem{height:10rem!important}.sm\:h-11rem{height:11rem!important}.sm\:h-12rem{height:12rem!important}.sm\:h-13rem{height:13rem!important}.sm\:h-14rem{height:14rem!important}.sm\:h-15rem{height:15rem!important}.sm\:h-16rem{height:16rem!important}.sm\:h-17rem{height:17rem!important}.sm\:h-18rem{height:18rem!important}.sm\:h-19rem{height:19rem!important}.sm\:h-20rem{height:20rem!important}.sm\:h-21rem{height:21rem!important}.sm\:h-22rem{height:22rem!important}.sm\:h-23rem{height:23rem!important}.sm\:h-24rem{height:24rem!important}.sm\:h-25rem{height:25rem!important}.sm\:h-26rem{height:26rem!important}.sm\:h-27rem{height:27rem!important}.sm\:h-28rem{height:28rem!important}.sm\:h-29rem{height:29rem!important}.sm\:h-30rem{height:30rem!important}}@media screen and (min-width: 768px){.md\:h-full{height:100%!important}.md\:h-screen{height:100vh!important}.md\:h-auto{height:auto!important}.md\:h-min{height:min-content!important}.md\:h-max{height:max-content!important}.md\:h-fit{height:fit-content!important}.md\:h-1rem{height:1rem!important}.md\:h-2rem{height:2rem!important}.md\:h-3rem{height:3rem!important}.md\:h-4rem{height:4rem!important}.md\:h-5rem{height:5rem!important}.md\:h-6rem{height:6rem!important}.md\:h-7rem{height:7rem!important}.md\:h-8rem{height:8rem!important}.md\:h-9rem{height:9rem!important}.md\:h-10rem{height:10rem!important}.md\:h-11rem{height:11rem!important}.md\:h-12rem{height:12rem!important}.md\:h-13rem{height:13rem!important}.md\:h-14rem{height:14rem!important}.md\:h-15rem{height:15rem!important}.md\:h-16rem{height:16rem!important}.md\:h-17rem{height:17rem!important}.md\:h-18rem{height:18rem!important}.md\:h-19rem{height:19rem!important}.md\:h-20rem{height:20rem!important}.md\:h-21rem{height:21rem!important}.md\:h-22rem{height:22rem!important}.md\:h-23rem{height:23rem!important}.md\:h-24rem{height:24rem!important}.md\:h-25rem{height:25rem!important}.md\:h-26rem{height:26rem!important}.md\:h-27rem{height:27rem!important}.md\:h-28rem{height:28rem!important}.md\:h-29rem{height:29rem!important}.md\:h-30rem{height:30rem!important}}@media screen and (min-width: 992px){.lg\:h-full{height:100%!important}.lg\:h-screen{height:100vh!important}.lg\:h-auto{height:auto!important}.lg\:h-min{height:min-content!important}.lg\:h-max{height:max-content!important}.lg\:h-fit{height:fit-content!important}.lg\:h-1rem{height:1rem!important}.lg\:h-2rem{height:2rem!important}.lg\:h-3rem{height:3rem!important}.lg\:h-4rem{height:4rem!important}.lg\:h-5rem{height:5rem!important}.lg\:h-6rem{height:6rem!important}.lg\:h-7rem{height:7rem!important}.lg\:h-8rem{height:8rem!important}.lg\:h-9rem{height:9rem!important}.lg\:h-10rem{height:10rem!important}.lg\:h-11rem{height:11rem!important}.lg\:h-12rem{height:12rem!important}.lg\:h-13rem{height:13rem!important}.lg\:h-14rem{height:14rem!important}.lg\:h-15rem{height:15rem!important}.lg\:h-16rem{height:16rem!important}.lg\:h-17rem{height:17rem!important}.lg\:h-18rem{height:18rem!important}.lg\:h-19rem{height:19rem!important}.lg\:h-20rem{height:20rem!important}.lg\:h-21rem{height:21rem!important}.lg\:h-22rem{height:22rem!important}.lg\:h-23rem{height:23rem!important}.lg\:h-24rem{height:24rem!important}.lg\:h-25rem{height:25rem!important}.lg\:h-26rem{height:26rem!important}.lg\:h-27rem{height:27rem!important}.lg\:h-28rem{height:28rem!important}.lg\:h-29rem{height:29rem!important}.lg\:h-30rem{height:30rem!important}}@media screen and (min-width: 1200px){.xl\:h-full{height:100%!important}.xl\:h-screen{height:100vh!important}.xl\:h-auto{height:auto!important}.xl\:h-min{height:min-content!important}.xl\:h-max{height:max-content!important}.xl\:h-fit{height:fit-content!important}.xl\:h-1rem{height:1rem!important}.xl\:h-2rem{height:2rem!important}.xl\:h-3rem{height:3rem!important}.xl\:h-4rem{height:4rem!important}.xl\:h-5rem{height:5rem!important}.xl\:h-6rem{height:6rem!important}.xl\:h-7rem{height:7rem!important}.xl\:h-8rem{height:8rem!important}.xl\:h-9rem{height:9rem!important}.xl\:h-10rem{height:10rem!important}.xl\:h-11rem{height:11rem!important}.xl\:h-12rem{height:12rem!important}.xl\:h-13rem{height:13rem!important}.xl\:h-14rem{height:14rem!important}.xl\:h-15rem{height:15rem!important}.xl\:h-16rem{height:16rem!important}.xl\:h-17rem{height:17rem!important}.xl\:h-18rem{height:18rem!important}.xl\:h-19rem{height:19rem!important}.xl\:h-20rem{height:20rem!important}.xl\:h-21rem{height:21rem!important}.xl\:h-22rem{height:22rem!important}.xl\:h-23rem{height:23rem!important}.xl\:h-24rem{height:24rem!important}.xl\:h-25rem{height:25rem!important}.xl\:h-26rem{height:26rem!important}.xl\:h-27rem{height:27rem!important}.xl\:h-28rem{height:28rem!important}.xl\:h-29rem{height:29rem!important}.xl\:h-30rem{height:30rem!important}}.min-w-0{min-width:0px!important}.min-w-full{min-width:100%!important}.min-w-screen{min-width:100vw!important}.min-w-min{min-width:min-content!important}.min-w-max{min-width:max-content!important}@media screen and (min-width: 576px){.sm\:min-w-0{min-width:0px!important}.sm\:min-w-full{min-width:100%!important}.sm\:min-w-screen{min-width:100vw!important}.sm\:min-w-min{min-width:min-content!important}.sm\:min-w-max{min-width:max-content!important}}@media screen and (min-width: 768px){.md\:min-w-0{min-width:0px!important}.md\:min-w-full{min-width:100%!important}.md\:min-w-screen{min-width:100vw!important}.md\:min-w-min{min-width:min-content!important}.md\:min-w-max{min-width:max-content!important}}@media screen and (min-width: 992px){.lg\:min-w-0{min-width:0px!important}.lg\:min-w-full{min-width:100%!important}.lg\:min-w-screen{min-width:100vw!important}.lg\:min-w-min{min-width:min-content!important}.lg\:min-w-max{min-width:max-content!important}}@media screen and (min-width: 1200px){.xl\:min-w-0{min-width:0px!important}.xl\:min-w-full{min-width:100%!important}.xl\:min-w-screen{min-width:100vw!important}.xl\:min-w-min{min-width:min-content!important}.xl\:min-w-max{min-width:max-content!important}}.max-w-0{max-width:0px!important}.max-w-full{max-width:100%!important}.max-w-screen{max-width:100vw!important}.max-w-min{max-width:min-content!important}.max-w-max{max-width:max-content!important}.max-w-fit{max-width:fit-content!important}.max-w-1rem{max-width:1rem!important}.max-w-2rem{max-width:2rem!important}.max-w-3rem{max-width:3rem!important}.max-w-4rem{max-width:4rem!important}.max-w-5rem{max-width:5rem!important}.max-w-6rem{max-width:6rem!important}.max-w-7rem{max-width:7rem!important}.max-w-8rem{max-width:8rem!important}.max-w-9rem{max-width:9rem!important}.max-w-10rem{max-width:10rem!important}.max-w-11rem{max-width:11rem!important}.max-w-12rem{max-width:12rem!important}.max-w-13rem{max-width:13rem!important}.max-w-14rem{max-width:14rem!important}.max-w-15rem{max-width:15rem!important}.max-w-16rem{max-width:16rem!important}.max-w-17rem{max-width:17rem!important}.max-w-18rem{max-width:18rem!important}.max-w-19rem{max-width:19rem!important}.max-w-20rem{max-width:20rem!important}.max-w-21rem{max-width:21rem!important}.max-w-22rem{max-width:22rem!important}.max-w-23rem{max-width:23rem!important}.max-w-24rem{max-width:24rem!important}.max-w-25rem{max-width:25rem!important}.max-w-26rem{max-width:26rem!important}.max-w-27rem{max-width:27rem!important}.max-w-28rem{max-width:28rem!important}.max-w-29rem{max-width:29rem!important}.max-w-30rem{max-width:30rem!important}@media screen and (min-width: 576px){.sm\:max-w-0{max-width:0px!important}.sm\:max-w-full{max-width:100%!important}.sm\:max-w-screen{max-width:100vw!important}.sm\:max-w-min{max-width:min-content!important}.sm\:max-w-max{max-width:max-content!important}.sm\:max-w-fit{max-width:fit-content!important}.sm\:max-w-1rem{max-width:1rem!important}.sm\:max-w-2rem{max-width:2rem!important}.sm\:max-w-3rem{max-width:3rem!important}.sm\:max-w-4rem{max-width:4rem!important}.sm\:max-w-5rem{max-width:5rem!important}.sm\:max-w-6rem{max-width:6rem!important}.sm\:max-w-7rem{max-width:7rem!important}.sm\:max-w-8rem{max-width:8rem!important}.sm\:max-w-9rem{max-width:9rem!important}.sm\:max-w-10rem{max-width:10rem!important}.sm\:max-w-11rem{max-width:11rem!important}.sm\:max-w-12rem{max-width:12rem!important}.sm\:max-w-13rem{max-width:13rem!important}.sm\:max-w-14rem{max-width:14rem!important}.sm\:max-w-15rem{max-width:15rem!important}.sm\:max-w-16rem{max-width:16rem!important}.sm\:max-w-17rem{max-width:17rem!important}.sm\:max-w-18rem{max-width:18rem!important}.sm\:max-w-19rem{max-width:19rem!important}.sm\:max-w-20rem{max-width:20rem!important}.sm\:max-w-21rem{max-width:21rem!important}.sm\:max-w-22rem{max-width:22rem!important}.sm\:max-w-23rem{max-width:23rem!important}.sm\:max-w-24rem{max-width:24rem!important}.sm\:max-w-25rem{max-width:25rem!important}.sm\:max-w-26rem{max-width:26rem!important}.sm\:max-w-27rem{max-width:27rem!important}.sm\:max-w-28rem{max-width:28rem!important}.sm\:max-w-29rem{max-width:29rem!important}.sm\:max-w-30rem{max-width:30rem!important}}@media screen and (min-width: 768px){.md\:max-w-0{max-width:0px!important}.md\:max-w-full{max-width:100%!important}.md\:max-w-screen{max-width:100vw!important}.md\:max-w-min{max-width:min-content!important}.md\:max-w-max{max-width:max-content!important}.md\:max-w-fit{max-width:fit-content!important}.md\:max-w-1rem{max-width:1rem!important}.md\:max-w-2rem{max-width:2rem!important}.md\:max-w-3rem{max-width:3rem!important}.md\:max-w-4rem{max-width:4rem!important}.md\:max-w-5rem{max-width:5rem!important}.md\:max-w-6rem{max-width:6rem!important}.md\:max-w-7rem{max-width:7rem!important}.md\:max-w-8rem{max-width:8rem!important}.md\:max-w-9rem{max-width:9rem!important}.md\:max-w-10rem{max-width:10rem!important}.md\:max-w-11rem{max-width:11rem!important}.md\:max-w-12rem{max-width:12rem!important}.md\:max-w-13rem{max-width:13rem!important}.md\:max-w-14rem{max-width:14rem!important}.md\:max-w-15rem{max-width:15rem!important}.md\:max-w-16rem{max-width:16rem!important}.md\:max-w-17rem{max-width:17rem!important}.md\:max-w-18rem{max-width:18rem!important}.md\:max-w-19rem{max-width:19rem!important}.md\:max-w-20rem{max-width:20rem!important}.md\:max-w-21rem{max-width:21rem!important}.md\:max-w-22rem{max-width:22rem!important}.md\:max-w-23rem{max-width:23rem!important}.md\:max-w-24rem{max-width:24rem!important}.md\:max-w-25rem{max-width:25rem!important}.md\:max-w-26rem{max-width:26rem!important}.md\:max-w-27rem{max-width:27rem!important}.md\:max-w-28rem{max-width:28rem!important}.md\:max-w-29rem{max-width:29rem!important}.md\:max-w-30rem{max-width:30rem!important}}@media screen and (min-width: 992px){.lg\:max-w-0{max-width:0px!important}.lg\:max-w-full{max-width:100%!important}.lg\:max-w-screen{max-width:100vw!important}.lg\:max-w-min{max-width:min-content!important}.lg\:max-w-max{max-width:max-content!important}.lg\:max-w-fit{max-width:fit-content!important}.lg\:max-w-1rem{max-width:1rem!important}.lg\:max-w-2rem{max-width:2rem!important}.lg\:max-w-3rem{max-width:3rem!important}.lg\:max-w-4rem{max-width:4rem!important}.lg\:max-w-5rem{max-width:5rem!important}.lg\:max-w-6rem{max-width:6rem!important}.lg\:max-w-7rem{max-width:7rem!important}.lg\:max-w-8rem{max-width:8rem!important}.lg\:max-w-9rem{max-width:9rem!important}.lg\:max-w-10rem{max-width:10rem!important}.lg\:max-w-11rem{max-width:11rem!important}.lg\:max-w-12rem{max-width:12rem!important}.lg\:max-w-13rem{max-width:13rem!important}.lg\:max-w-14rem{max-width:14rem!important}.lg\:max-w-15rem{max-width:15rem!important}.lg\:max-w-16rem{max-width:16rem!important}.lg\:max-w-17rem{max-width:17rem!important}.lg\:max-w-18rem{max-width:18rem!important}.lg\:max-w-19rem{max-width:19rem!important}.lg\:max-w-20rem{max-width:20rem!important}.lg\:max-w-21rem{max-width:21rem!important}.lg\:max-w-22rem{max-width:22rem!important}.lg\:max-w-23rem{max-width:23rem!important}.lg\:max-w-24rem{max-width:24rem!important}.lg\:max-w-25rem{max-width:25rem!important}.lg\:max-w-26rem{max-width:26rem!important}.lg\:max-w-27rem{max-width:27rem!important}.lg\:max-w-28rem{max-width:28rem!important}.lg\:max-w-29rem{max-width:29rem!important}.lg\:max-w-30rem{max-width:30rem!important}}@media screen and (min-width: 1200px){.xl\:max-w-0{max-width:0px!important}.xl\:max-w-full{max-width:100%!important}.xl\:max-w-screen{max-width:100vw!important}.xl\:max-w-min{max-width:min-content!important}.xl\:max-w-max{max-width:max-content!important}.xl\:max-w-fit{max-width:fit-content!important}.xl\:max-w-1rem{max-width:1rem!important}.xl\:max-w-2rem{max-width:2rem!important}.xl\:max-w-3rem{max-width:3rem!important}.xl\:max-w-4rem{max-width:4rem!important}.xl\:max-w-5rem{max-width:5rem!important}.xl\:max-w-6rem{max-width:6rem!important}.xl\:max-w-7rem{max-width:7rem!important}.xl\:max-w-8rem{max-width:8rem!important}.xl\:max-w-9rem{max-width:9rem!important}.xl\:max-w-10rem{max-width:10rem!important}.xl\:max-w-11rem{max-width:11rem!important}.xl\:max-w-12rem{max-width:12rem!important}.xl\:max-w-13rem{max-width:13rem!important}.xl\:max-w-14rem{max-width:14rem!important}.xl\:max-w-15rem{max-width:15rem!important}.xl\:max-w-16rem{max-width:16rem!important}.xl\:max-w-17rem{max-width:17rem!important}.xl\:max-w-18rem{max-width:18rem!important}.xl\:max-w-19rem{max-width:19rem!important}.xl\:max-w-20rem{max-width:20rem!important}.xl\:max-w-21rem{max-width:21rem!important}.xl\:max-w-22rem{max-width:22rem!important}.xl\:max-w-23rem{max-width:23rem!important}.xl\:max-w-24rem{max-width:24rem!important}.xl\:max-w-25rem{max-width:25rem!important}.xl\:max-w-26rem{max-width:26rem!important}.xl\:max-w-27rem{max-width:27rem!important}.xl\:max-w-28rem{max-width:28rem!important}.xl\:max-w-29rem{max-width:29rem!important}.xl\:max-w-30rem{max-width:30rem!important}}.min-h-0{min-height:0px!important}.min-h-full{min-height:100%!important}.min-h-screen{min-height:100vh!important}@media screen and (min-width: 576px){.sm\:min-h-0{min-height:0px!important}.sm\:min-h-full{min-height:100%!important}.sm\:min-h-screen{min-height:100vh!important}}@media screen and (min-width: 768px){.md\:min-h-0{min-height:0px!important}.md\:min-h-full{min-height:100%!important}.md\:min-h-screen{min-height:100vh!important}}@media screen and (min-width: 992px){.lg\:min-h-0{min-height:0px!important}.lg\:min-h-full{min-height:100%!important}.lg\:min-h-screen{min-height:100vh!important}}@media screen and (min-width: 1200px){.xl\:min-h-0{min-height:0px!important}.xl\:min-h-full{min-height:100%!important}.xl\:min-h-screen{min-height:100vh!important}}.max-h-0{max-height:0px!important}.max-h-full{max-height:100%!important}.max-h-screen{max-height:100vh!important}.max-h-min{max-height:min-content!important}.max-h-max{max-height:max-content!important}.max-h-fit{max-height:fit-content!important}.max-h-1rem{max-height:1rem!important}.max-h-2rem{max-height:2rem!important}.max-h-3rem{max-height:3rem!important}.max-h-4rem{max-height:4rem!important}.max-h-5rem{max-height:5rem!important}.max-h-6rem{max-height:6rem!important}.max-h-7rem{max-height:7rem!important}.max-h-8rem{max-height:8rem!important}.max-h-9rem{max-height:9rem!important}.max-h-10rem{max-height:10rem!important}.max-h-11rem{max-height:11rem!important}.max-h-12rem{max-height:12rem!important}.max-h-13rem{max-height:13rem!important}.max-h-14rem{max-height:14rem!important}.max-h-15rem{max-height:15rem!important}.max-h-16rem{max-height:16rem!important}.max-h-17rem{max-height:17rem!important}.max-h-18rem{max-height:18rem!important}.max-h-19rem{max-height:19rem!important}.max-h-20rem{max-height:20rem!important}.max-h-21rem{max-height:21rem!important}.max-h-22rem{max-height:22rem!important}.max-h-23rem{max-height:23rem!important}.max-h-24rem{max-height:24rem!important}.max-h-25rem{max-height:25rem!important}.max-h-26rem{max-height:26rem!important}.max-h-27rem{max-height:27rem!important}.max-h-28rem{max-height:28rem!important}.max-h-29rem{max-height:29rem!important}.max-h-30rem{max-height:30rem!important}@media screen and (min-width: 576px){.sm\:max-h-0{max-height:0px!important}.sm\:max-h-full{max-height:100%!important}.sm\:max-h-screen{max-height:100vh!important}.sm\:max-h-min{max-height:min-content!important}.sm\:max-h-max{max-height:max-content!important}.sm\:max-h-fit{max-height:fit-content!important}.sm\:max-h-1rem{max-height:1rem!important}.sm\:max-h-2rem{max-height:2rem!important}.sm\:max-h-3rem{max-height:3rem!important}.sm\:max-h-4rem{max-height:4rem!important}.sm\:max-h-5rem{max-height:5rem!important}.sm\:max-h-6rem{max-height:6rem!important}.sm\:max-h-7rem{max-height:7rem!important}.sm\:max-h-8rem{max-height:8rem!important}.sm\:max-h-9rem{max-height:9rem!important}.sm\:max-h-10rem{max-height:10rem!important}.sm\:max-h-11rem{max-height:11rem!important}.sm\:max-h-12rem{max-height:12rem!important}.sm\:max-h-13rem{max-height:13rem!important}.sm\:max-h-14rem{max-height:14rem!important}.sm\:max-h-15rem{max-height:15rem!important}.sm\:max-h-16rem{max-height:16rem!important}.sm\:max-h-17rem{max-height:17rem!important}.sm\:max-h-18rem{max-height:18rem!important}.sm\:max-h-19rem{max-height:19rem!important}.sm\:max-h-20rem{max-height:20rem!important}.sm\:max-h-21rem{max-height:21rem!important}.sm\:max-h-22rem{max-height:22rem!important}.sm\:max-h-23rem{max-height:23rem!important}.sm\:max-h-24rem{max-height:24rem!important}.sm\:max-h-25rem{max-height:25rem!important}.sm\:max-h-26rem{max-height:26rem!important}.sm\:max-h-27rem{max-height:27rem!important}.sm\:max-h-28rem{max-height:28rem!important}.sm\:max-h-29rem{max-height:29rem!important}.sm\:max-h-30rem{max-height:30rem!important}}@media screen and (min-width: 768px){.md\:max-h-0{max-height:0px!important}.md\:max-h-full{max-height:100%!important}.md\:max-h-screen{max-height:100vh!important}.md\:max-h-min{max-height:min-content!important}.md\:max-h-max{max-height:max-content!important}.md\:max-h-fit{max-height:fit-content!important}.md\:max-h-1rem{max-height:1rem!important}.md\:max-h-2rem{max-height:2rem!important}.md\:max-h-3rem{max-height:3rem!important}.md\:max-h-4rem{max-height:4rem!important}.md\:max-h-5rem{max-height:5rem!important}.md\:max-h-6rem{max-height:6rem!important}.md\:max-h-7rem{max-height:7rem!important}.md\:max-h-8rem{max-height:8rem!important}.md\:max-h-9rem{max-height:9rem!important}.md\:max-h-10rem{max-height:10rem!important}.md\:max-h-11rem{max-height:11rem!important}.md\:max-h-12rem{max-height:12rem!important}.md\:max-h-13rem{max-height:13rem!important}.md\:max-h-14rem{max-height:14rem!important}.md\:max-h-15rem{max-height:15rem!important}.md\:max-h-16rem{max-height:16rem!important}.md\:max-h-17rem{max-height:17rem!important}.md\:max-h-18rem{max-height:18rem!important}.md\:max-h-19rem{max-height:19rem!important}.md\:max-h-20rem{max-height:20rem!important}.md\:max-h-21rem{max-height:21rem!important}.md\:max-h-22rem{max-height:22rem!important}.md\:max-h-23rem{max-height:23rem!important}.md\:max-h-24rem{max-height:24rem!important}.md\:max-h-25rem{max-height:25rem!important}.md\:max-h-26rem{max-height:26rem!important}.md\:max-h-27rem{max-height:27rem!important}.md\:max-h-28rem{max-height:28rem!important}.md\:max-h-29rem{max-height:29rem!important}.md\:max-h-30rem{max-height:30rem!important}}@media screen and (min-width: 992px){.lg\:max-h-0{max-height:0px!important}.lg\:max-h-full{max-height:100%!important}.lg\:max-h-screen{max-height:100vh!important}.lg\:max-h-min{max-height:min-content!important}.lg\:max-h-max{max-height:max-content!important}.lg\:max-h-fit{max-height:fit-content!important}.lg\:max-h-1rem{max-height:1rem!important}.lg\:max-h-2rem{max-height:2rem!important}.lg\:max-h-3rem{max-height:3rem!important}.lg\:max-h-4rem{max-height:4rem!important}.lg\:max-h-5rem{max-height:5rem!important}.lg\:max-h-6rem{max-height:6rem!important}.lg\:max-h-7rem{max-height:7rem!important}.lg\:max-h-8rem{max-height:8rem!important}.lg\:max-h-9rem{max-height:9rem!important}.lg\:max-h-10rem{max-height:10rem!important}.lg\:max-h-11rem{max-height:11rem!important}.lg\:max-h-12rem{max-height:12rem!important}.lg\:max-h-13rem{max-height:13rem!important}.lg\:max-h-14rem{max-height:14rem!important}.lg\:max-h-15rem{max-height:15rem!important}.lg\:max-h-16rem{max-height:16rem!important}.lg\:max-h-17rem{max-height:17rem!important}.lg\:max-h-18rem{max-height:18rem!important}.lg\:max-h-19rem{max-height:19rem!important}.lg\:max-h-20rem{max-height:20rem!important}.lg\:max-h-21rem{max-height:21rem!important}.lg\:max-h-22rem{max-height:22rem!important}.lg\:max-h-23rem{max-height:23rem!important}.lg\:max-h-24rem{max-height:24rem!important}.lg\:max-h-25rem{max-height:25rem!important}.lg\:max-h-26rem{max-height:26rem!important}.lg\:max-h-27rem{max-height:27rem!important}.lg\:max-h-28rem{max-height:28rem!important}.lg\:max-h-29rem{max-height:29rem!important}.lg\:max-h-30rem{max-height:30rem!important}}@media screen and (min-width: 1200px){.xl\:max-h-0{max-height:0px!important}.xl\:max-h-full{max-height:100%!important}.xl\:max-h-screen{max-height:100vh!important}.xl\:max-h-min{max-height:min-content!important}.xl\:max-h-max{max-height:max-content!important}.xl\:max-h-fit{max-height:fit-content!important}.xl\:max-h-1rem{max-height:1rem!important}.xl\:max-h-2rem{max-height:2rem!important}.xl\:max-h-3rem{max-height:3rem!important}.xl\:max-h-4rem{max-height:4rem!important}.xl\:max-h-5rem{max-height:5rem!important}.xl\:max-h-6rem{max-height:6rem!important}.xl\:max-h-7rem{max-height:7rem!important}.xl\:max-h-8rem{max-height:8rem!important}.xl\:max-h-9rem{max-height:9rem!important}.xl\:max-h-10rem{max-height:10rem!important}.xl\:max-h-11rem{max-height:11rem!important}.xl\:max-h-12rem{max-height:12rem!important}.xl\:max-h-13rem{max-height:13rem!important}.xl\:max-h-14rem{max-height:14rem!important}.xl\:max-h-15rem{max-height:15rem!important}.xl\:max-h-16rem{max-height:16rem!important}.xl\:max-h-17rem{max-height:17rem!important}.xl\:max-h-18rem{max-height:18rem!important}.xl\:max-h-19rem{max-height:19rem!important}.xl\:max-h-20rem{max-height:20rem!important}.xl\:max-h-21rem{max-height:21rem!important}.xl\:max-h-22rem{max-height:22rem!important}.xl\:max-h-23rem{max-height:23rem!important}.xl\:max-h-24rem{max-height:24rem!important}.xl\:max-h-25rem{max-height:25rem!important}.xl\:max-h-26rem{max-height:26rem!important}.xl\:max-h-27rem{max-height:27rem!important}.xl\:max-h-28rem{max-height:28rem!important}.xl\:max-h-29rem{max-height:29rem!important}.xl\:max-h-30rem{max-height:30rem!important}}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.sticky{position:sticky!important}@media screen and (min-width: 576px){.sm\:static{position:static!important}.sm\:fixed{position:fixed!important}.sm\:absolute{position:absolute!important}.sm\:relative{position:relative!important}.sm\:sticky{position:sticky!important}}@media screen and (min-width: 768px){.md\:static{position:static!important}.md\:fixed{position:fixed!important}.md\:absolute{position:absolute!important}.md\:relative{position:relative!important}.md\:sticky{position:sticky!important}}@media screen and (min-width: 992px){.lg\:static{position:static!important}.lg\:fixed{position:fixed!important}.lg\:absolute{position:absolute!important}.lg\:relative{position:relative!important}.lg\:sticky{position:sticky!important}}@media screen and (min-width: 1200px){.xl\:static{position:static!important}.xl\:fixed{position:fixed!important}.xl\:absolute{position:absolute!important}.xl\:relative{position:relative!important}.xl\:sticky{position:sticky!important}}.top-auto{top:auto!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}@media screen and (min-width: 576px){.sm\:top-auto{top:auto!important}.sm\:top-0{top:0!important}.sm\:top-50{top:50%!important}.sm\:top-100{top:100%!important}}@media screen and (min-width: 768px){.md\:top-auto{top:auto!important}.md\:top-0{top:0!important}.md\:top-50{top:50%!important}.md\:top-100{top:100%!important}}@media screen and (min-width: 992px){.lg\:top-auto{top:auto!important}.lg\:top-0{top:0!important}.lg\:top-50{top:50%!important}.lg\:top-100{top:100%!important}}@media screen and (min-width: 1200px){.xl\:top-auto{top:auto!important}.xl\:top-0{top:0!important}.xl\:top-50{top:50%!important}.xl\:top-100{top:100%!important}}.left-auto{left:auto!important}.left-0{left:0!important}.left-50{left:50%!important}.left-100{left:100%!important}@media screen and (min-width: 576px){.sm\:left-auto{left:auto!important}.sm\:left-0{left:0!important}.sm\:left-50{left:50%!important}.sm\:left-100{left:100%!important}}@media screen and (min-width: 768px){.md\:left-auto{left:auto!important}.md\:left-0{left:0!important}.md\:left-50{left:50%!important}.md\:left-100{left:100%!important}}@media screen and (min-width: 992px){.lg\:left-auto{left:auto!important}.lg\:left-0{left:0!important}.lg\:left-50{left:50%!important}.lg\:left-100{left:100%!important}}@media screen and (min-width: 1200px){.xl\:left-auto{left:auto!important}.xl\:left-0{left:0!important}.xl\:left-50{left:50%!important}.xl\:left-100{left:100%!important}}.right-auto{right:auto!important}.right-0{right:0!important}.right-50{right:50%!important}.right-100{right:100%!important}@media screen and (min-width: 576px){.sm\:right-auto{right:auto!important}.sm\:right-0{right:0!important}.sm\:right-50{right:50%!important}.sm\:right-100{right:100%!important}}@media screen and (min-width: 768px){.md\:right-auto{right:auto!important}.md\:right-0{right:0!important}.md\:right-50{right:50%!important}.md\:right-100{right:100%!important}}@media screen and (min-width: 992px){.lg\:right-auto{right:auto!important}.lg\:right-0{right:0!important}.lg\:right-50{right:50%!important}.lg\:right-100{right:100%!important}}@media screen and (min-width: 1200px){.xl\:right-auto{right:auto!important}.xl\:right-0{right:0!important}.xl\:right-50{right:50%!important}.xl\:right-100{right:100%!important}}.bottom-auto{bottom:auto!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}@media screen and (min-width: 576px){.sm\:bottom-auto{bottom:auto!important}.sm\:bottom-0{bottom:0!important}.sm\:bottom-50{bottom:50%!important}.sm\:bottom-100{bottom:100%!important}}@media screen and (min-width: 768px){.md\:bottom-auto{bottom:auto!important}.md\:bottom-0{bottom:0!important}.md\:bottom-50{bottom:50%!important}.md\:bottom-100{bottom:100%!important}}@media screen and (min-width: 992px){.lg\:bottom-auto{bottom:auto!important}.lg\:bottom-0{bottom:0!important}.lg\:bottom-50{bottom:50%!important}.lg\:bottom-100{bottom:100%!important}}@media screen and (min-width: 1200px){.xl\:bottom-auto{bottom:auto!important}.xl\:bottom-0{bottom:0!important}.xl\:bottom-50{bottom:50%!important}.xl\:bottom-100{bottom:100%!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}@media screen and (min-width: 576px){.sm\:overflow-auto{overflow:auto!important}.sm\:overflow-hidden{overflow:hidden!important}.sm\:overflow-visible{overflow:visible!important}.sm\:overflow-scroll{overflow:scroll!important}}@media screen and (min-width: 768px){.md\:overflow-auto{overflow:auto!important}.md\:overflow-hidden{overflow:hidden!important}.md\:overflow-visible{overflow:visible!important}.md\:overflow-scroll{overflow:scroll!important}}@media screen and (min-width: 992px){.lg\:overflow-auto{overflow:auto!important}.lg\:overflow-hidden{overflow:hidden!important}.lg\:overflow-visible{overflow:visible!important}.lg\:overflow-scroll{overflow:scroll!important}}@media screen and (min-width: 1200px){.xl\:overflow-auto{overflow:auto!important}.xl\:overflow-hidden{overflow:hidden!important}.xl\:overflow-visible{overflow:visible!important}.xl\:overflow-scroll{overflow:scroll!important}}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}@media screen and (min-width: 576px){.sm\:overflow-x-auto{overflow-x:auto!important}.sm\:overflow-x-hidden{overflow-x:hidden!important}.sm\:overflow-x-visible{overflow-x:visible!important}.sm\:overflow-x-scroll{overflow-x:scroll!important}}@media screen and (min-width: 768px){.md\:overflow-x-auto{overflow-x:auto!important}.md\:overflow-x-hidden{overflow-x:hidden!important}.md\:overflow-x-visible{overflow-x:visible!important}.md\:overflow-x-scroll{overflow-x:scroll!important}}@media screen and (min-width: 992px){.lg\:overflow-x-auto{overflow-x:auto!important}.lg\:overflow-x-hidden{overflow-x:hidden!important}.lg\:overflow-x-visible{overflow-x:visible!important}.lg\:overflow-x-scroll{overflow-x:scroll!important}}@media screen and (min-width: 1200px){.xl\:overflow-x-auto{overflow-x:auto!important}.xl\:overflow-x-hidden{overflow-x:hidden!important}.xl\:overflow-x-visible{overflow-x:visible!important}.xl\:overflow-x-scroll{overflow-x:scroll!important}}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}@media screen and (min-width: 576px){.sm\:overflow-y-auto{overflow-y:auto!important}.sm\:overflow-y-hidden{overflow-y:hidden!important}.sm\:overflow-y-visible{overflow-y:visible!important}.sm\:overflow-y-scroll{overflow-y:scroll!important}}@media screen and (min-width: 768px){.md\:overflow-y-auto{overflow-y:auto!important}.md\:overflow-y-hidden{overflow-y:hidden!important}.md\:overflow-y-visible{overflow-y:visible!important}.md\:overflow-y-scroll{overflow-y:scroll!important}}@media screen and (min-width: 992px){.lg\:overflow-y-auto{overflow-y:auto!important}.lg\:overflow-y-hidden{overflow-y:hidden!important}.lg\:overflow-y-visible{overflow-y:visible!important}.lg\:overflow-y-scroll{overflow-y:scroll!important}}@media screen and (min-width: 1200px){.xl\:overflow-y-auto{overflow-y:auto!important}.xl\:overflow-y-hidden{overflow-y:hidden!important}.xl\:overflow-y-visible{overflow-y:visible!important}.xl\:overflow-y-scroll{overflow-y:scroll!important}}.z-auto{z-index:auto!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}.z-4{z-index:4!important}.z-5{z-index:5!important}@media screen and (min-width: 576px){.sm\:z-auto{z-index:auto!important}.sm\:z-0{z-index:0!important}.sm\:z-1{z-index:1!important}.sm\:z-2{z-index:2!important}.sm\:z-3{z-index:3!important}.sm\:z-4{z-index:4!important}.sm\:z-5{z-index:5!important}}@media screen and (min-width: 768px){.md\:z-auto{z-index:auto!important}.md\:z-0{z-index:0!important}.md\:z-1{z-index:1!important}.md\:z-2{z-index:2!important}.md\:z-3{z-index:3!important}.md\:z-4{z-index:4!important}.md\:z-5{z-index:5!important}}@media screen and (min-width: 992px){.lg\:z-auto{z-index:auto!important}.lg\:z-0{z-index:0!important}.lg\:z-1{z-index:1!important}.lg\:z-2{z-index:2!important}.lg\:z-3{z-index:3!important}.lg\:z-4{z-index:4!important}.lg\:z-5{z-index:5!important}}@media screen and (min-width: 1200px){.xl\:z-auto{z-index:auto!important}.xl\:z-0{z-index:0!important}.xl\:z-1{z-index:1!important}.xl\:z-2{z-index:2!important}.xl\:z-3{z-index:3!important}.xl\:z-4{z-index:4!important}.xl\:z-5{z-index:5!important}}.bg-repeat{background-repeat:repeat!important}.bg-no-repeat{background-repeat:no-repeat!important}.bg-repeat-x{background-repeat:repeat-x!important}.bg-repeat-y{background-repeat:repeat-y!important}.bg-repeat-round{background-repeat:round!important}.bg-repeat-space{background-repeat:space!important}@media screen and (min-width: 576px){.sm\:bg-repeat{background-repeat:repeat!important}.sm\:bg-no-repeat{background-repeat:no-repeat!important}.sm\:bg-repeat-x{background-repeat:repeat-x!important}.sm\:bg-repeat-y{background-repeat:repeat-y!important}.sm\:bg-repeat-round{background-repeat:round!important}.sm\:bg-repeat-space{background-repeat:space!important}}@media screen and (min-width: 768px){.md\:bg-repeat{background-repeat:repeat!important}.md\:bg-no-repeat{background-repeat:no-repeat!important}.md\:bg-repeat-x{background-repeat:repeat-x!important}.md\:bg-repeat-y{background-repeat:repeat-y!important}.md\:bg-repeat-round{background-repeat:round!important}.md\:bg-repeat-space{background-repeat:space!important}}@media screen and (min-width: 992px){.lg\:bg-repeat{background-repeat:repeat!important}.lg\:bg-no-repeat{background-repeat:no-repeat!important}.lg\:bg-repeat-x{background-repeat:repeat-x!important}.lg\:bg-repeat-y{background-repeat:repeat-y!important}.lg\:bg-repeat-round{background-repeat:round!important}.lg\:bg-repeat-space{background-repeat:space!important}}@media screen and (min-width: 1200px){.xl\:bg-repeat{background-repeat:repeat!important}.xl\:bg-no-repeat{background-repeat:no-repeat!important}.xl\:bg-repeat-x{background-repeat:repeat-x!important}.xl\:bg-repeat-y{background-repeat:repeat-y!important}.xl\:bg-repeat-round{background-repeat:round!important}.xl\:bg-repeat-space{background-repeat:space!important}}.bg-auto{background-size:auto!important}.bg-cover{background-size:cover!important}.bg-contain{background-size:contain!important}@media screen and (min-width: 576px){.sm\:bg-auto{background-size:auto!important}.sm\:bg-cover{background-size:cover!important}.sm\:bg-contain{background-size:contain!important}}@media screen and (min-width: 768px){.md\:bg-auto{background-size:auto!important}.md\:bg-cover{background-size:cover!important}.md\:bg-contain{background-size:contain!important}}@media screen and (min-width: 992px){.lg\:bg-auto{background-size:auto!important}.lg\:bg-cover{background-size:cover!important}.lg\:bg-contain{background-size:contain!important}}@media screen and (min-width: 1200px){.xl\:bg-auto{background-size:auto!important}.xl\:bg-cover{background-size:cover!important}.xl\:bg-contain{background-size:contain!important}}.bg-bottom{background-position:bottom!important}.bg-center{background-position:center!important}.bg-left{background-position:left!important}.bg-left-bottom{background-position:left bottom!important}.bg-left-top{background-position:left top!important}.bg-right{background-position:right!important}.bg-right-bottom{background-position:right bottom!important}.bg-right-top{background-position:right top!important}.bg-top{background-position:top!important}@media screen and (min-width: 576px){.sm\:bg-bottom{background-position:bottom!important}.sm\:bg-center{background-position:center!important}.sm\:bg-left{background-position:left!important}.sm\:bg-left-bottom{background-position:left bottom!important}.sm\:bg-left-top{background-position:left top!important}.sm\:bg-right{background-position:right!important}.sm\:bg-right-bottom{background-position:right bottom!important}.sm\:bg-right-top{background-position:right top!important}.sm\:bg-top{background-position:top!important}}@media screen and (min-width: 768px){.md\:bg-bottom{background-position:bottom!important}.md\:bg-center{background-position:center!important}.md\:bg-left{background-position:left!important}.md\:bg-left-bottom{background-position:left bottom!important}.md\:bg-left-top{background-position:left top!important}.md\:bg-right{background-position:right!important}.md\:bg-right-bottom{background-position:right bottom!important}.md\:bg-right-top{background-position:right top!important}.md\:bg-top{background-position:top!important}}@media screen and (min-width: 992px){.lg\:bg-bottom{background-position:bottom!important}.lg\:bg-center{background-position:center!important}.lg\:bg-left{background-position:left!important}.lg\:bg-left-bottom{background-position:left bottom!important}.lg\:bg-left-top{background-position:left top!important}.lg\:bg-right{background-position:right!important}.lg\:bg-right-bottom{background-position:right bottom!important}.lg\:bg-right-top{background-position:right top!important}.lg\:bg-top{background-position:top!important}}@media screen and (min-width: 1200px){.xl\:bg-bottom{background-position:bottom!important}.xl\:bg-center{background-position:center!important}.xl\:bg-left{background-position:left!important}.xl\:bg-left-bottom{background-position:left bottom!important}.xl\:bg-left-top{background-position:left top!important}.xl\:bg-right{background-position:right!important}.xl\:bg-right-bottom{background-position:right bottom!important}.xl\:bg-right-top{background-position:right top!important}.xl\:bg-top{background-position:top!important}}.list-none{list-style:none!important}.list-disc{list-style:disc!important}.list-decimal{list-style:decimal!important}.appearance-none{appearance:none!important}.outline-none{outline:none!important}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.cursor-auto{cursor:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-wait{cursor:wait!important}.cursor-move{cursor:move!important}.select-none{-webkit-user-select:none!important;user-select:none!important}.select-text{-webkit-user-select:text!important;user-select:text!important}.select-all{-webkit-user-select:all!important;user-select:all!important}.select-auto{-webkit-user-select:auto!important;user-select:auto!important}.opacity-0{opacity:0!important}.opacity-10{opacity:.1!important}.opacity-20{opacity:.2!important}.opacity-30{opacity:.3!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-70{opacity:.7!important}.opacity-80{opacity:.8!important}.opacity-90{opacity:.9!important}.opacity-100{opacity:1!important}.reset{all:unset}.transition-none{transition-property:none!important}.transition-all{transition-property:all!important}.transition-colors{transition-property:background-color,border-color,color!important}.transition-transform{transition-property:transform!important}.transition-duration-100{transition-duration:.1s!important}.transition-duration-150{transition-duration:.15s!important}.transition-duration-200{transition-duration:.2s!important}.transition-duration-300{transition-duration:.3s!important}.transition-duration-400{transition-duration:.4s!important}.transition-duration-500{transition-duration:.5s!important}.transition-duration-1000{transition-duration:1s!important}.transition-duration-2000{transition-duration:2s!important}.transition-duration-3000{transition-duration:3s!important}.transition-linear{transition-timing-function:linear!important}.transition-ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)!important}.transition-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)!important}.transition-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition-delay-100{transition-delay:.1s!important}.transition-delay-150{transition-delay:.15s!important}.transition-delay-200{transition-delay:.2s!important}.transition-delay-300{transition-delay:.3s!important}.transition-delay-400{transition-delay:.4s!important}.transition-delay-500{transition-delay:.5s!important}.transition-delay-1000{transition-delay:1s!important}.translate-x-0{transform:translate(0)!important}.translate-x-100{transform:translate(100%)!important}.-translate-x-100{transform:translate(-100%)!important}.translate-y-0{transform:translateY(0)!important}.translate-y-100{transform:translateY(100%)!important}.-translate-y-100{transform:translateY(-100%)!important}@media screen and (min-width: 576px){.sm\:translate-x-0{transform:translate(0)!important}.sm\:translate-x-100{transform:translate(100%)!important}.sm\:-translate-x-100{transform:translate(-100%)!important}.sm\:translate-y-0{transform:translateY(0)!important}.sm\:translate-y-100{transform:translateY(100%)!important}.sm\:-translate-y-100{transform:translateY(-100%)!important}}@media screen and (min-width: 768px){.md\:translate-x-0{transform:translate(0)!important}.md\:translate-x-100{transform:translate(100%)!important}.md\:-translate-x-100{transform:translate(-100%)!important}.md\:translate-y-0{transform:translateY(0)!important}.md\:translate-y-100{transform:translateY(100%)!important}.md\:-translate-y-100{transform:translateY(-100%)!important}}@media screen and (min-width: 992px){.lg\:translate-x-0{transform:translate(0)!important}.lg\:translate-x-100{transform:translate(100%)!important}.lg\:-translate-x-100{transform:translate(-100%)!important}.lg\:translate-y-0{transform:translateY(0)!important}.lg\:translate-y-100{transform:translateY(100%)!important}.lg\:-translate-y-100{transform:translateY(-100%)!important}}@media screen and (min-width: 1200px){.xl\:translate-x-0{transform:translate(0)!important}.xl\:translate-x-100{transform:translate(100%)!important}.xl\:-translate-x-100{transform:translate(-100%)!important}.xl\:translate-y-0{transform:translateY(0)!important}.xl\:translate-y-100{transform:translateY(100%)!important}.xl\:-translate-y-100{transform:translateY(-100%)!important}}.rotate-45{transform:rotate(45deg)!important}.-rotate-45{transform:rotate(-45deg)!important}.rotate-90{transform:rotate(90deg)!important}.-rotate-90{transform:rotate(-90deg)!important}.rotate-180{transform:rotate(180deg)!important}.-rotate-180{transform:rotate(-180deg)!important}@media screen and (min-width: 576px){.sm\:rotate-45{transform:rotate(45deg)!important}.sm\:-rotate-45{transform:rotate(-45deg)!important}.sm\:rotate-90{transform:rotate(90deg)!important}.sm\:-rotate-90{transform:rotate(-90deg)!important}.sm\:rotate-180{transform:rotate(180deg)!important}.sm\:-rotate-180{transform:rotate(-180deg)!important}}@media screen and (min-width: 768px){.md\:rotate-45{transform:rotate(45deg)!important}.md\:-rotate-45{transform:rotate(-45deg)!important}.md\:rotate-90{transform:rotate(90deg)!important}.md\:-rotate-90{transform:rotate(-90deg)!important}.md\:rotate-180{transform:rotate(180deg)!important}.md\:-rotate-180{transform:rotate(-180deg)!important}}@media screen and (min-width: 992px){.lg\:rotate-45{transform:rotate(45deg)!important}.lg\:-rotate-45{transform:rotate(-45deg)!important}.lg\:rotate-90{transform:rotate(90deg)!important}.lg\:-rotate-90{transform:rotate(-90deg)!important}.lg\:rotate-180{transform:rotate(180deg)!important}.lg\:-rotate-180{transform:rotate(-180deg)!important}}@media screen and (min-width: 1200px){.xl\:rotate-45{transform:rotate(45deg)!important}.xl\:-rotate-45{transform:rotate(-45deg)!important}.xl\:rotate-90{transform:rotate(90deg)!important}.xl\:-rotate-90{transform:rotate(-90deg)!important}.xl\:rotate-180{transform:rotate(180deg)!important}.xl\:-rotate-180{transform:rotate(-180deg)!important}}.origin-center{transform-origin:center!important}.origin-top{transform-origin:top!important}.origin-top-right{transform-origin:top right!important}.origin-right{transform-origin:right!important}.origin-bottom-right{transform-origin:bottom right!important}.origin-bottom{transform-origin:bottom!important}.origin-bottom-left{transform-origin:bottom left!important}.origin-left{transform-origin:left!important}.origin-top-left{transform-origin:top-left!important}@media screen and (min-width: 576px){.sm\:origin-center{transform-origin:center!important}.sm\:origin-top{transform-origin:top!important}.sm\:origin-top-right{transform-origin:top right!important}.sm\:origin-right{transform-origin:right!important}.sm\:origin-bottom-right{transform-origin:bottom right!important}.sm\:origin-bottom{transform-origin:bottom!important}.sm\:origin-bottom-left{transform-origin:bottom left!important}.sm\:origin-left{transform-origin:left!important}.sm\:origin-top-left{transform-origin:top-left!important}}@media screen and (min-width: 768px){.md\:origin-center{transform-origin:center!important}.md\:origin-top{transform-origin:top!important}.md\:origin-top-right{transform-origin:top right!important}.md\:origin-right{transform-origin:right!important}.md\:origin-bottom-right{transform-origin:bottom right!important}.md\:origin-bottom{transform-origin:bottom!important}.md\:origin-bottom-left{transform-origin:bottom left!important}.md\:origin-left{transform-origin:left!important}.md\:origin-top-left{transform-origin:top-left!important}}@media screen and (min-width: 992px){.lg\:origin-center{transform-origin:center!important}.lg\:origin-top{transform-origin:top!important}.lg\:origin-top-right{transform-origin:top right!important}.lg\:origin-right{transform-origin:right!important}.lg\:origin-bottom-right{transform-origin:bottom right!important}.lg\:origin-bottom{transform-origin:bottom!important}.lg\:origin-bottom-left{transform-origin:bottom left!important}.lg\:origin-left{transform-origin:left!important}.lg\:origin-top-left{transform-origin:top-left!important}}@media screen and (min-width: 1200px){.xl\:origin-center{transform-origin:center!important}.xl\:origin-top{transform-origin:top!important}.xl\:origin-top-right{transform-origin:top right!important}.xl\:origin-right{transform-origin:right!important}.xl\:origin-bottom-right{transform-origin:bottom right!important}.xl\:origin-bottom{transform-origin:bottom!important}.xl\:origin-bottom-left{transform-origin:bottom left!important}.xl\:origin-left{transform-origin:left!important}.xl\:origin-top-left{transform-origin:top-left!important}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes fadeout{0%{opacity:1}to{opacity:0}}@keyframes scalein{0%{opacity:0;transform:scaleY(.8);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}to{opacity:1;transform:scaleY(1)}}@keyframes slidedown{0%{max-height:0}to{max-height:auto}}@keyframes slideup{0%{max-height:1000px}to{max-height:0}}@keyframes fadeinleft{0%{opacity:0;transform:translate(-100%);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}to{opacity:1;transform:translate(0)}}@keyframes fadeoutleft{0%{opacity:1;transform:translate(0);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}to{opacity:0;transform:translate(-100%)}}@keyframes fadeinright{0%{opacity:0;transform:translate(100%);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}to{opacity:1;transform:translate(0)}}@keyframes fadeoutright{0%{opacity:1;transform:translate(0);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}to{opacity:0;transform:translate(100%)}}@keyframes fadeinup{0%{opacity:0;transform:translateY(-100%);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}to{opacity:1;transform:translateY(0)}}@keyframes fadeoutup{0%{opacity:1;transform:translateY(0);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}to{opacity:0;transform:translateY(-100%)}}@keyframes fadeindown{0%{opacity:0;transform:translateY(100%);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}to{opacity:1;transform:translateY(0)}}@keyframes fadeoutdown{0%{opacity:1;transform:translateY(0);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}to{opacity:0;transform:translateY(100%)}}@keyframes animate-width{0%{width:0}to{width:100%}}@keyframes flip{0%{transform:perspective(2000px) rotateX(-100deg)}to{transform:perspective(2000px) rotateX(0)}}@keyframes flipleft{0%{transform:perspective(2000px) rotateY(-100deg);opacity:0}to{transform:perspective(2000px) rotateY(0);opacity:1}}@keyframes flipright{0%{transform:perspective(2000px) rotateY(100deg);opacity:0}to{transform:perspective(2000px) rotateY(0);opacity:1}}@keyframes flipup{0%{transform:perspective(2000px) rotateX(-100deg);opacity:0}to{transform:perspective(2000px) rotateX(0);opacity:1}}@keyframes zoomin{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomindown{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}@keyframes zoominleft{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}@keyframes zoominright{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}@keyframes zoominup{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}.fadein{animation:fadein .15s linear}.fadeout{animation:fadeout .15s linear}.slidedown{animation:slidedown .45s ease-in-out}.slideup{animation:slideup .45s cubic-bezier(0,1,0,1)}.scalein{animation:scalein .15s linear}.fadeinleft{animation:fadeinleft .15s linear}.fadeoutleft{animation:fadeoutleft .15s linear}.fadeinright{animation:fadeinright .15s linear}.fadeoutright{animation:fadeoutright .15s linear}.fadeinup{animation:fadeinup .15s linear}.fadeoutup{animation:fadeoutup .15s linear}.fadeindown{animation:fadeindown .15s linear}.fadeoutdown{animation:fadeoutdown .15s linear}.animate-width{animation:animate-width 1s linear}.flip{backface-visibility:visible;animation:flip .15s linear}.flipup{backface-visibility:visible;animation:flipup .15s linear}.flipleft{backface-visibility:visible;animation:flipleft .15s linear}.flipright{backface-visibility:visible;animation:flipright .15s linear}.zoomin{animation:zoomin .15s linear}.zoomindown{animation:zoomindown .15s linear}.zoominleft{animation:zoominleft .15s linear}.zoominright{animation:zoominright .15s linear}.zoominup{animation:zoominup .15s linear}.animation-duration-100{animation-duration:.1s!important}.animation-duration-150{animation-duration:.15s!important}.animation-duration-200{animation-duration:.2s!important}.animation-duration-300{animation-duration:.3s!important}.animation-duration-400{animation-duration:.4s!important}.animation-duration-500{animation-duration:.5s!important}.animation-duration-1000{animation-duration:1s!important}.animation-duration-2000{animation-duration:2s!important}.animation-duration-3000{animation-duration:3s!important}.animation-delay-100{animation-delay:.1s!important}.animation-delay-150{animation-delay:.15s!important}.animation-delay-200{animation-delay:.2s!important}.animation-delay-300{animation-delay:.3s!important}.animation-delay-400{animation-delay:.4s!important}.animation-delay-500{animation-delay:.5s!important}.animation-delay-1000{animation-delay:1s!important}.animation-iteration-1{animation-iteration-count:1!important}.animation-iteration-2{animation-iteration-count:2!important}.animation-iteration-infinite{animation-iteration-count:infinite!important}.animation-linear{animation-timing-function:linear!important}.animation-ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)!important}.animation-ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)!important}.animation-ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)!important}.animation-fill-none{animation-fill-mode:none!important}.animation-fill-forwards{animation-fill-mode:forwards!important}.animation-fill-backwards{animation-fill-mode:backwards!important}.animation-fill-both{animation-fill-mode:both!important}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4taVIGxA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4kaVIGxA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4saVIGxA.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4jaVIGxA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4iaVIGxA.woff2) format("woff2");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B5caVIGxA.woff2) format("woff2");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0330,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2034-2037,U+2057,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2102,U+210A-210E,U+2110-2112,U+2115,U+2119-211D,U+2124,U+2128,U+212C-212D,U+212F-2131,U+2133-2138,U+213C-2140,U+2145-2149,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B6,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B5OaVIGxA.woff2) format("woff2");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8B1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA88,U+1FA90-1FABD,U+1FABF-1FAC5,U+1FACE-1FADB,U+1FAE0-1FAE8,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4vaVIGxA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4uaVIGxA.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVI.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Inter var,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";font-variation-settings:normal;--font-family: "Inter var", sans-serif;--font-feature-settings: "cv02", "cv03", "cv04", "cv11";--surface-a: #ffffff;--surface-b: #f9fafb;--surface-c: #f3f4f6;--surface-d: #e5e7eb;--surface-e: #ffffff;--surface-f: #ffffff;--text-color: #4b5563;--text-color-secondary: #6b7280;--primary-color: #3B82F6;--primary-color-text: #ffffff;--surface-0: #ffffff;--surface-50: #f9fafb;--surface-100: #f3f4f6;--surface-200: #e5e7eb;--surface-300: #d1d5db;--surface-400: #9ca3af;--surface-500: #6b7280;--surface-600: #4b5563;--surface-700: #374151;--surface-800: #1f2937;--surface-900: #111827;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--content-padding: 1.25rem;--inline-spacing: .5rem;--border-radius: 6px;--surface-ground: #f9fafb;--surface-section: #ffffff;--surface-card: #ffffff;--surface-overlay: #ffffff;--surface-border: #dfe7ef;--surface-hover: #f6f9fc;--focus-ring: 0 0 0 .2rem #BFDBFE;--maskbg: rgba(0, 0, 0, .4);--highlight-bg: #EFF6FF;--highlight-text-color: #1D4ED8;color-scheme:light}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url("./media/Inter-roman.var-WIJJYAE4.woff2?v=3.19") format("woff2")}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url("./media/Inter-italic.var-SWFAXF2C.woff2?v=3.19") format("woff2")}:root{--blue-50:#f5f9ff;--blue-100:#d0e1fd;--blue-200:#abc9fb;--blue-300:#85b2f9;--blue-400:#609af8;--blue-500:#3b82f6;--blue-600:#326fd1;--blue-700:#295bac;--blue-800:#204887;--blue-900:#183462;--green-50:#f4fcf7;--green-100:#caf1d8;--green-200:#a0e6ba;--green-300:#76db9b;--green-400:#4cd07d;--green-500:#22c55e;--green-600:#1da750;--green-700:#188a42;--green-800:#136c34;--green-900:#0e4f26;--yellow-50:#fefbf3;--yellow-100:#faedc4;--yellow-200:#f6de95;--yellow-300:#f2d066;--yellow-400:#eec137;--yellow-500:#eab308;--yellow-600:#c79807;--yellow-700:#a47d06;--yellow-800:#816204;--yellow-900:#5e4803;--cyan-50:#f3fbfd;--cyan-100:#c3edf5;--cyan-200:#94e0ed;--cyan-300:#65d2e4;--cyan-400:#35c4dc;--cyan-500:#06b6d4;--cyan-600:#059bb4;--cyan-700:#047f94;--cyan-800:#036475;--cyan-900:#024955;--pink-50:#fef6fa;--pink-100:#fad3e7;--pink-200:#f7b0d3;--pink-300:#f38ec0;--pink-400:#f06bac;--pink-500:#ec4899;--pink-600:#c93d82;--pink-700:#a5326b;--pink-800:#822854;--pink-900:#5e1d3d;--indigo-50:#f7f7fe;--indigo-100:#dadafc;--indigo-200:#bcbdf9;--indigo-300:#9ea0f6;--indigo-400:#8183f4;--indigo-500:#6366f1;--indigo-600:#5457cd;--indigo-700:#4547a9;--indigo-800:#363885;--indigo-900:#282960;--teal-50:#f3fbfb;--teal-100:#c7eeea;--teal-200:#9ae0d9;--teal-300:#6dd3c8;--teal-400:#41c5b7;--teal-500:#14b8a6;--teal-600:#119c8d;--teal-700:#0e8174;--teal-800:#0b655b;--teal-900:#084a42;--orange-50:#fff8f3;--orange-100:#feddc7;--orange-200:#fcc39b;--orange-300:#fba86f;--orange-400:#fa8e42;--orange-500:#f97316;--orange-600:#d46213;--orange-700:#ae510f;--orange-800:#893f0c;--orange-900:#642e09;--bluegray-50:#f7f8f9;--bluegray-100:#dadee3;--bluegray-200:#bcc3cd;--bluegray-300:#9fa9b7;--bluegray-400:#818ea1;--bluegray-500:#64748b;--bluegray-600:#556376;--bluegray-700:#465161;--bluegray-800:#37404c;--bluegray-900:#282e38;--purple-50:#fbf7ff;--purple-100:#ead6fd;--purple-200:#dab6fc;--purple-300:#c996fa;--purple-400:#b975f9;--purple-500:#a855f7;--purple-600:#8f48d2;--purple-700:#763cad;--purple-800:#5c2f88;--purple-900:#432263;--red-50:#fff5f5;--red-100:#ffd0ce;--red-200:#ffaca7;--red-300:#ff8780;--red-400:#ff6259;--red-500:#ff3d32;--red-600:#d9342b;--red-700:#b32b23;--red-800:#8c221c;--red-900:#661814;--primary-50:#f5f9ff;--primary-100:#d0e1fd;--primary-200:#abc9fb;--primary-300:#85b2f9;--primary-400:#609af8;--primary-500:#3b82f6;--primary-600:#326fd1;--primary-700:#295bac;--primary-800:#204887;--primary-900:#183462}.p-editor-container .p-editor-toolbar{background:#f9fafb;border-top-right-radius:6px;border-top-left-radius:6px}.p-editor-container .p-editor-toolbar.ql-snow{border:1px solid #e5e7eb}.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke{stroke:#6b7280}.p-editor-container .p-editor-toolbar.ql-snow .ql-fill{fill:#6b7280}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label{border:0 none;color:#6b7280}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover{color:#4b5563}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke{stroke:#4b5563}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill{fill:#4b5563}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#4b5563}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#4b5563}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#4b5563}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{background:#fff;border:0 none;box-shadow:0 2px 12px #0000001a;border-radius:6px;padding:.75rem 0}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item{color:#4b5563}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover{color:#4b5563;background:#f3f4f6}.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item{padding:.75rem 1.25rem}.p-editor-container .p-editor-content{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.p-editor-container .p-editor-content.ql-snow{border:1px solid #e5e7eb}.p-editor-container .p-editor-content .ql-editor{background:#fff;color:#4b5563;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.p-editor-container .ql-snow.ql-toolbar button:hover,.p-editor-container .ql-snow.ql-toolbar button:focus{color:#4b5563}.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke{stroke:#4b5563}.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill{fill:#4b5563}.p-editor-container .ql-snow.ql-toolbar button.ql-active,.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected{color:#3b82f6}.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke,.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke{stroke:#3b82f6}.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill,.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill{fill:#3b82f6}.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label,.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label,.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label{color:#3b82f6}@layer primeng{*{box-sizing:border-box}.p-component{font-family:var(--font-family);font-feature-settings:var(--font-feature-settings, normal);font-size:1rem;font-weight:400}.p-component-overlay{background-color:#0006;transition-duration:.2s}.p-disabled,.p-component:disabled{opacity:.6}.p-error{color:#e24c4c}.p-text-secondary{color:#6b7280}.pi{font-size:1rem}.p-icon{width:1rem;height:1rem}.p-link{font-family:var(--font-family);font-feature-settings:var(--font-feature-settings, normal);font-size:1rem;border-radius:6px}.p-link:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-component-overlay-enter{animation:p-component-overlay-enter-animation .15s forwards}.p-component-overlay-leave{animation:p-component-overlay-leave-animation .15s forwards}@keyframes p-component-overlay-enter-animation{0%{background-color:transparent}to{background-color:var(--maskbg)}}@keyframes p-component-overlay-leave-animation{0%{background-color:var(--maskbg)}to{background-color:transparent}}.p-autocomplete .p-autocomplete-loader{right:.75rem}.p-autocomplete.p-autocomplete-dd .p-autocomplete-loader{right:3.75rem}.p-autocomplete:not(.p-disabled):hover .p-autocomplete-multiple-container{border-color:#3b82f6}.p-autocomplete:not(.p-disabled).p-focus .p-autocomplete-multiple-container{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-autocomplete .p-autocomplete-multiple-container{padding:.375rem .75rem;gap:.5rem}.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token{padding:.375rem 0}.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input{font-family:var(--font-family);font-feature-settings:var(--font-feature-settings, normal);font-size:1rem;color:#4b5563;padding:0;margin:0}.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token{padding:.375rem .75rem;background:#e5e7eb;color:#4b5563;border-radius:16px}.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon{margin-left:.5rem}.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token.p-focus{background:#d1d5db;color:#4b5563}.p-autocomplete.p-invalid.p-component>.p-inputtext{border-color:#e24c4c}.p-autocomplete-panel{background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 2px 12px #0000001a}.p-autocomplete-panel .p-autocomplete-items{padding:.75rem 0}.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item{margin:0;padding:.75rem 1.25rem;border:0 none;color:#4b5563;background:transparent;transition:box-shadow .2s;border-radius:0}.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight{color:#1d4ed8;background:#eff6ff}.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight.p-focus{background:#3b82f63d}.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:not(.p-highlight):not(.p-disabled).p-focus{color:#4b5563;background:#e5e7eb}.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:not(.p-highlight):not(.p-disabled):hover{color:#4b5563;background:#f3f4f6}.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group{margin:0;padding:.75rem 1.25rem;color:#374151;background:#fff;font-weight:700}p-autocomplete.ng-dirty.ng-invalid>.p-autocomplete>.p-inputtext{border-color:#e24c4c}p-autocomplete.p-autocomplete-clearable .p-inputtext{padding-right:2.5rem}p-autocomplete.p-autocomplete-clearable .p-autocomplete-clear-icon{color:#6b7280;right:.75rem}p-autocomplete.p-autocomplete-clearable .p-autocomplete-dd .p-autocomplete-clear-icon{color:#6b7280;right:3.75rem}p-calendar.ng-dirty.ng-invalid>.p-calendar>.p-inputtext{border-color:#e24c4c}.p-calendar:not(.p-calendar-disabled).p-focus>.p-inputtext{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-datepicker{padding:.5rem;background:#fff;color:#4b5563;border:1px solid #d1d5db;border-radius:6px}.p-datepicker:not(.p-datepicker-inline){background:#fff;border:0 none;box-shadow:0 2px 12px #0000001a}.p-datepicker:not(.p-datepicker-inline) .p-datepicker-header{background:#fff}.p-datepicker .p-datepicker-header{padding:.5rem;color:#4b5563;background:#fff;font-weight:600;margin:0;border-bottom:1px solid #e5e7eb;border-top-right-radius:6px;border-top-left-radius:6px}.p-datepicker .p-datepicker-header .p-datepicker-prev,.p-datepicker .p-datepicker-header .p-datepicker-next{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover,.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible,.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-datepicker .p-datepicker-header .p-datepicker-title{line-height:2rem}.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year,.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month{color:#4b5563;transition:background-color .2s,color .2s,box-shadow .2s;font-weight:600;padding:.5rem}.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover,.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover{color:#3b82f6}.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month{margin-right:.5rem}.p-datepicker table{font-size:1rem;margin:.5rem 0}.p-datepicker table th{padding:.5rem}.p-datepicker table th>span{width:2.5rem;height:2.5rem}.p-datepicker table td{padding:.5rem}.p-datepicker table td>span{width:2.5rem;height:2.5rem;border-radius:50%;transition:box-shadow .2s;border:1px solid transparent}.p-datepicker table td>span.p-highlight{color:#1d4ed8;background:#eff6ff}.p-datepicker table td>span:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-datepicker table td.p-datepicker-today>span{background:#d1d5db;color:#4b5563;border-color:transparent}.p-datepicker table td.p-datepicker-today>span.p-highlight{color:#1d4ed8;background:#eff6ff}.p-datepicker .p-datepicker-buttonbar{padding:1rem 0;border-top:1px solid #e5e7eb}.p-datepicker .p-datepicker-buttonbar .p-button{width:auto}.p-datepicker .p-timepicker{border-top:1px solid #e5e7eb;padding:.5rem}.p-datepicker .p-timepicker button{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-datepicker .p-timepicker button:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-datepicker .p-timepicker button:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-datepicker .p-timepicker button:last-child{margin-top:.2em}.p-datepicker .p-timepicker span{font-size:1.25rem}.p-datepicker .p-timepicker>div{padding:0 .5rem}.p-datepicker.p-datepicker-timeonly .p-timepicker{border-top:0 none}.p-datepicker .p-monthpicker{margin:.5rem 0}.p-datepicker .p-monthpicker .p-monthpicker-month{padding:.5rem;transition:box-shadow .2s;border-radius:6px}.p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight{color:#1d4ed8;background:#eff6ff}.p-datepicker .p-yearpicker{margin:.5rem 0}.p-datepicker .p-yearpicker .p-yearpicker-year{padding:.5rem;transition:box-shadow .2s;border-radius:6px}.p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight{color:#1d4ed8;background:#eff6ff}.p-datepicker.p-datepicker-multiple-month .p-datepicker-group{border-left:1px solid #e5e7eb;padding-right:.5rem;padding-left:.5rem;padding-top:0;padding-bottom:0}.p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child{padding-left:0;border-left:0 none}.p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child{padding-right:0}.p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover{background:#f3f4f6}.p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover{background:#f3f4f6}.p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover{background:#f3f4f6}.p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}p-calendar.p-calendar-clearable .p-inputtext{padding-right:2.5rem}p-calendar.p-calendar-clearable .p-calendar-clear-icon{color:#6b7280;right:.75rem}p-calendar.p-calendar-clearable .p-calendar-w-btn .p-calendar-clear-icon{color:#6b7280;right:3.75rem}@media screen and (max-width: 769px){.p-datepicker table th,.p-datepicker table td{padding:0}}.p-cascadeselect{background:#fff;border:1px solid #d1d5db;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;border-radius:6px}.p-cascadeselect:not(.p-disabled):hover{border-color:#3b82f6}.p-cascadeselect:not(.p-disabled).p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-cascadeselect .p-cascadeselect-label{background:transparent;border:0 none;padding:.75rem}.p-cascadeselect .p-cascadeselect-label.p-placeholder{color:#6b7280}.p-cascadeselect .p-cascadeselect-label:enabled:focus{outline:0 none;box-shadow:none}.p-cascadeselect .p-cascadeselect-trigger{background:transparent;color:#6b7280;width:3rem;border-top-right-radius:6px;border-bottom-right-radius:6px}.p-cascadeselect.p-invalid.p-component{border-color:#e24c4c}.p-cascadeselect-panel{background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 2px 12px #0000001a}.p-cascadeselect-panel .p-cascadeselect-items{padding:.75rem 0}.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item{margin:0;border:0 none;color:#4b5563;background:transparent;transition:box-shadow .2s;border-radius:0}.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight{color:#1d4ed8;background:#eff6ff}.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight.p-focus{background:#3b82f63d}.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled).p-focus{color:#4b5563;background:#e5e7eb}.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover{color:#4b5563;background:#f3f4f6}.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content{padding:.75rem 1.25rem}.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon{font-size:.875rem}.p-input-filled .p-cascadeselect{background:#f3f4f6}.p-input-filled .p-cascadeselect:not(.p-disabled):hover{background-color:#f3f4f6}.p-input-filled .p-cascadeselect:not(.p-disabled).p-focus{background-color:#fff}p-cascadeselect.ng-dirty.ng-invalid>.p-cascadeselect{border-color:#e24c4c}p-cascadeselect.p-cascadeselect-clearable .p-cascadeselect-label{padding-right:.75rem}p-cascadeselect.p-cascadeselect-clearable .p-cascadeselect-clear-icon{color:#6b7280;right:3rem}.p-overlay-modal .p-cascadeselect-sublist .p-cascadeselect-panel{box-shadow:none;border-radius:0;padding:.25rem 0 .25rem .5rem}.p-overlay-modal .p-cascadeselect-item-active>.p-cascadeselect-item-content .p-cascadeselect-group-icon{transform:rotate(90deg)}.p-checkbox{width:22px;height:22px}.p-checkbox .p-checkbox-box{border:2px solid #d1d5db;background:#fff;width:22px;height:22px;color:#4b5563;border-radius:6px;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-checkbox .p-checkbox-box .p-checkbox-icon{transition-duration:.2s;color:#fff;font-size:14px}.p-checkbox .p-checkbox-box .p-icon{width:14px;height:14px}.p-checkbox .p-checkbox-box.p-highlight{border-color:#3b82f6;background:#3b82f6}.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover{border-color:#3b82f6}.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover{border-color:#1d4ed8;background:#1d4ed8;color:#fff}p-checkbox.ng-dirty.ng-invalid>.p-checkbox>.p-checkbox-box{border-color:#e24c4c}.p-input-filled .p-checkbox .p-checkbox-box{background-color:#f3f4f6}.p-input-filled .p-checkbox .p-checkbox-box.p-highlight{background:#3b82f6}.p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover{background-color:#f3f4f6}.p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover{background:#1d4ed8}.p-checkbox-label{margin-left:.5rem}p-tristatecheckbox.ng-dirty.ng-invalid>.p-checkbox>.p-checkbox-box{border-color:#e24c4c}.p-chips:not(.p-disabled):hover .p-chips-multiple-container{border-color:#3b82f6}.p-chips:not(.p-disabled).p-focus .p-chips-multiple-container{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-chips .p-chips-multiple-container{padding:.375rem .75rem;gap:.5rem}.p-chips .p-chips-multiple-container .p-chips-token{padding:.375rem .75rem;margin-right:.5rem;background:#e5e7eb;color:#4b5563;border-radius:16px}.p-chips .p-chips-multiple-container .p-chips-token.p-focus{background:#d1d5db;color:#4b5563}.p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon{margin-left:.5rem}.p-chips .p-chips-multiple-container .p-chips-input-token{padding:.375rem 0}.p-chips .p-chips-multiple-container .p-chips-input-token input{font-family:var(--font-family);font-feature-settings:var(--font-feature-settings, normal);font-size:1rem;color:#4b5563;padding:0;margin:0}p-chips.ng-dirty.ng-invalid>.p-chips>.p-inputtext{border-color:#e24c4c}p-chips.p-chips-clearable .p-inputtext{padding-right:1.75rem}p-chips.p-chips-clearable .p-chips-clear-icon{color:#6b7280;right:.75rem}.p-colorpicker-preview,.p-fluid .p-colorpicker-preview.p-inputtext{width:2rem;height:2rem}.p-colorpicker-panel{background:#323232;border:1px solid #191919}.p-colorpicker-panel .p-colorpicker-color-handle,.p-colorpicker-panel .p-colorpicker-hue-handle{border-color:#fff}.p-colorpicker-overlay-panel{box-shadow:0 2px 12px #0000001a}.p-dropdown{background:#fff;border:1px solid #d1d5db;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;border-radius:6px}.p-dropdown:not(.p-disabled):hover{border-color:#3b82f6}.p-dropdown:not(.p-disabled).p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-dropdown.p-dropdown-clearable .p-dropdown-label{padding-right:1.75rem}.p-dropdown .p-dropdown-label{background:transparent;border:0 none}.p-dropdown .p-dropdown-label.p-placeholder{color:#6b7280}.p-dropdown .p-dropdown-label:focus,.p-dropdown .p-dropdown-label:enabled:focus{outline:0 none;box-shadow:none}.p-dropdown .p-dropdown-trigger{background:transparent;color:#6b7280;width:3rem;border-top-right-radius:6px;border-bottom-right-radius:6px}.p-dropdown .p-dropdown-clear-icon{color:#6b7280;right:3rem}.p-dropdown.p-invalid.p-component{border-color:#e24c4c}.p-dropdown-panel{background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 2px 12px #0000001a}.p-dropdown-panel .p-dropdown-header{padding:.75rem 1.25rem;border-bottom:1px solid #e5e7eb;color:#374151;background:#f9fafb;margin:0;border-top-right-radius:6px;border-top-left-radius:6px}.p-dropdown-panel .p-dropdown-header .p-dropdown-filter{padding-right:1.75rem;margin-right:-1.75rem}.p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon{right:.75rem;color:#6b7280}.p-dropdown-panel .p-dropdown-items{padding:.75rem 0}.p-dropdown-panel .p-dropdown-items .p-dropdown-item{margin:0;padding:.75rem 1.25rem;border:0 none;color:#4b5563;background:transparent;transition:box-shadow .2s;border-radius:0}.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight{color:#1d4ed8;background:#eff6ff}.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight.p-focus{background:#3b82f63d}.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled).p-focus{color:#4b5563;background:#e5e7eb}.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover{color:#4b5563;background:#f3f4f6}.p-dropdown-panel .p-dropdown-items .p-dropdown-item-group{margin:0;padding:.75rem 1.25rem;color:#374151;background:#fff;font-weight:700}.p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message{padding:.75rem 1.25rem;color:#4b5563;background:transparent}.p-input-filled .p-dropdown{background:#f3f4f6}.p-input-filled .p-dropdown:not(.p-disabled):hover{background-color:#f3f4f6}.p-input-filled .p-dropdown:not(.p-disabled).p-focus{background-color:#fff}.p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext{background-color:transparent}p-dropdown.ng-dirty.ng-invalid>.p-dropdown{border-color:#e24c4c}.p-inputgroup-addon{background:#f3f4f6;color:#6b7280;border-top:1px solid #d1d5db;border-left:1px solid #d1d5db;border-bottom:1px solid #d1d5db;padding:.75rem;min-width:3rem}.p-inputgroup-addon:last-child{border-right:1px solid #d1d5db}.p-inputgroup>.p-component,.p-inputgroup>.p-inputwrapper>.p-inputtext,.p-inputgroup>.p-float-label>.p-component{border-radius:0;margin:0}.p-inputgroup>.p-component+.p-inputgroup-addon,.p-inputgroup>.p-inputwrapper>.p-inputtext+.p-inputgroup-addon,.p-inputgroup>.p-float-label>.p-component+.p-inputgroup-addon{border-left:0 none}.p-inputgroup>.p-component:focus,.p-inputgroup>.p-inputwrapper>.p-inputtext:focus,.p-inputgroup>.p-float-label>.p-component:focus{z-index:1}.p-inputgroup>.p-component:focus~label,.p-inputgroup>.p-inputwrapper>.p-inputtext:focus~label,.p-inputgroup>.p-float-label>.p-component:focus~label{z-index:1}.p-inputgroup-addon:first-child,.p-inputgroup button:first-child,.p-inputgroup input:first-child,.p-inputgroup>.p-inputwrapper:first-child>.p-component,.p-inputgroup>.p-inputwrapper:first-child>.p-component>.p-inputtext{border-top-left-radius:6px;border-bottom-left-radius:6px}.p-inputgroup .p-float-label:first-child input{border-top-left-radius:6px;border-bottom-left-radius:6px}.p-inputgroup-addon:last-child,.p-inputgroup button:last-child,.p-inputgroup input:last-child,.p-inputgroup>.p-inputwrapper:last-child>.p-component,.p-inputgroup>.p-inputwrapper:last-child>.p-component>.p-inputtext{border-top-right-radius:6px;border-bottom-right-radius:6px}.p-inputgroup .p-float-label:last-child input{border-top-right-radius:6px;border-bottom-right-radius:6px}.p-fluid .p-inputgroup .p-button{width:auto}.p-fluid .p-inputgroup .p-button.p-button-icon-only{width:3rem}p-inputmask.ng-dirty.ng-invalid>.p-inputtext{border-color:#e24c4c}p-inputmask.p-inputmask-clearable .p-inputtext{padding-right:2.5rem}p-inputmask.p-inputmask-clearable .p-inputmask-clear-icon{color:#6b7280;right:.75rem}p-inputnumber.ng-dirty.ng-invalid>.p-inputnumber>.p-inputtext{border-color:#e24c4c}p-inputnumber.p-inputnumber-clearable .p-inputnumber-input{padding-right:2.5rem}p-inputnumber.p-inputnumber-clearable .p-inputnumber-clear-icon{color:#6b7280;right:.75rem}p-inputnumber.p-inputnumber-clearable .p-inputnumber-buttons-stacked .p-inputnumber-clear-icon{right:3.75rem}p-inputnumber.p-inputnumber-clearable .p-inputnumber-buttons-horizontal .p-inputnumber-clear-icon{right:3.75rem}.p-inputswitch{width:3rem;height:1.75rem}.p-inputswitch .p-inputswitch-slider{background:#d1d5db;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;border-radius:30px}.p-inputswitch .p-inputswitch-slider:before{background:#fff;width:1.25rem;height:1.25rem;left:.25rem;margin-top:-.625rem;border-radius:50%;transition-duration:.2s}.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before{transform:translate(1.25rem)}.p-inputswitch.p-focus .p-inputswitch-slider{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider{background:#b7bcc5}.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider{background:#3b82f6}.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before{background:#fff}.p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider{background:#2563eb}p-inputswitch.ng-dirty.ng-invalid>.p-inputswitch>.p-inputswitch-slider{border-color:#e24c4c}.p-inputtext{font-family:var(--font-family);font-feature-settings:var(--font-feature-settings, normal);font-size:1rem;color:#4b5563;background:#fff;padding:.75rem;border:1px solid #d1d5db;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;appearance:none;border-radius:6px}.p-inputtext:enabled:hover{border-color:#3b82f6}.p-inputtext:enabled:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-inputtext.ng-dirty.ng-invalid{border-color:#e24c4c}.p-inputtext.p-inputtext-sm{font-size:.875rem;padding:.65625rem}.p-inputtext.p-inputtext-lg{font-size:1.25rem;padding:.9375rem}.p-float-label>label{left:.75rem;color:#6b7280;transition-duration:.2s}.p-float-label>.ng-invalid.ng-dirty+label{color:#e24c4c}.p-input-icon-left>.p-icon-wrapper.p-icon,.p-input-icon-left>i:first-of-type{left:.75rem;color:#6b7280}.p-input-icon-left>.p-inputtext{padding-left:2.5rem}.p-input-icon-left.p-float-label>label{left:2.5rem}.p-input-icon-right>.p-icon-wrapper,.p-input-icon-right>i:last-of-type{right:.75rem;color:#6b7280}.p-input-icon-right>.p-inputtext{padding-right:2.5rem}::-webkit-input-placeholder{color:#6b7280}:-moz-placeholder{color:#6b7280}::-moz-placeholder{color:#6b7280}:-ms-input-placeholder{color:#6b7280}.p-input-filled .p-inputtext{background-color:#f3f4f6}.p-input-filled .p-inputtext:enabled:hover{background-color:#f3f4f6}.p-input-filled .p-inputtext:enabled:focus{background-color:#fff}.p-inputtext-sm .p-inputtext{font-size:.875rem;padding:.65625rem}.p-inputtext-lg .p-inputtext{font-size:1.25rem;padding:.9375rem}.p-listbox{background:#fff;color:#4b5563;border:1px solid #d1d5db;border-radius:6px;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-listbox .p-listbox-header{padding:.75rem 1.25rem;border-bottom:1px solid #e5e7eb;color:#374151;background:#f9fafb;margin:0;border-top-right-radius:6px;border-top-left-radius:6px}.p-listbox .p-listbox-header .p-listbox-filter{padding-right:1.75rem}.p-listbox .p-listbox-header .p-listbox-filter-icon{right:.75rem;color:#6b7280}.p-listbox .p-listbox-header .p-checkbox{margin-right:.5rem}.p-listbox .p-listbox-list{padding:.75rem 0;outline:0 none}.p-listbox .p-listbox-list .p-listbox-item{margin:0;padding:.75rem 1.25rem;border:0 none;color:#4b5563;transition:box-shadow .2s;border-radius:0}.p-listbox .p-listbox-list .p-listbox-item.p-highlight{color:#1d4ed8;background:#eff6ff}.p-listbox .p-listbox-list .p-listbox-item .p-checkbox{margin-right:.5rem}.p-listbox .p-listbox-list .p-listbox-item-group{margin:0;padding:.75rem 1.25rem;color:#374151;background:#fff;font-weight:700}.p-listbox .p-listbox-list .p-listbox-empty-message{padding:.75rem 1.25rem;color:#4b5563;background:transparent}.p-listbox:not(.p-disabled) .p-listbox-item.p-highlight.p-focus{background:#3b82f63d}.p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled).p-focus{color:#4b5563;background:#e5e7eb}.p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover{color:#4b5563;background:#f3f4f6}.p-listbox.p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}p-listbox.ng-dirty.ng-invalid>.p-listbox{border-color:#e24c4c}.p-multiselect{background:#fff;border:1px solid #d1d5db;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;border-radius:6px}.p-multiselect:not(.p-disabled):hover{border-color:#3b82f6}.p-multiselect:not(.p-disabled).p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-multiselect .p-multiselect-label{padding:.75rem;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-multiselect .p-multiselect-label.p-placeholder{color:#6b7280}.p-multiselect.p-multiselect-chip .p-multiselect-token{padding:.375rem .75rem;margin-right:.5rem;background:#e5e7eb;color:#4b5563;border-radius:16px}.p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon{margin-left:.5rem}.p-multiselect .p-multiselect-trigger{background:transparent;color:#6b7280;width:3rem;border-top-right-radius:6px;border-bottom-right-radius:6px}.p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label{padding:.375rem .75rem}.p-multiselect-clearable .p-multiselect-label-container{padding-right:1.75rem}.p-multiselect-clearable .p-multiselect-clear-icon{color:#6b7280;right:3rem}.p-multiselect-panel{background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 2px 12px #0000001a}.p-multiselect-panel .p-multiselect-header{padding:.75rem 1.25rem;border-bottom:1px solid #e5e7eb;color:#374151;background:#f9fafb;margin:0;border-top-right-radius:6px;border-top-left-radius:6px}.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext{padding-right:1.75rem}.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon{right:.75rem;color:#6b7280}.p-multiselect-panel .p-multiselect-header .p-checkbox{margin-right:.5rem}.p-multiselect-panel .p-multiselect-header .p-multiselect-close{margin-left:.5rem;width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-multiselect-panel .p-multiselect-items{padding:.75rem 0}.p-multiselect-panel .p-multiselect-items .p-multiselect-item{margin:0;padding:.75rem 1.25rem;border:0 none;color:#4b5563;background:transparent;transition:box-shadow .2s;border-radius:0}.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight{color:#1d4ed8;background:#eff6ff}.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight.p-focus{background:#3b82f63d}.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled).p-focus{color:#4b5563;background:#e5e7eb}.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover{color:#4b5563;background:#f3f4f6}.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox{margin-right:.5rem}.p-multiselect-panel .p-multiselect-items .p-multiselect-item-group{margin:0;padding:.75rem 1.25rem;color:#374151;background:#fff;font-weight:700}.p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message{padding:.75rem 1.25rem;color:#4b5563;background:transparent}.p-input-filled .p-multiselect{background:#f3f4f6}.p-input-filled .p-multiselect:not(.p-disabled):hover{background-color:#f3f4f6}.p-input-filled .p-multiselect:not(.p-disabled).p-focus{background-color:#fff}p-multiselect.ng-dirty.ng-invalid>.p-multiselect{border-color:#e24c4c}p-password.ng-invalid.ng-dirty>.p-password>.p-inputtext{border-color:#e24c4c}.p-password-panel{padding:1.25rem;background:#fff;color:#4b5563;border:0 none;box-shadow:0 2px 12px #0000001a;border-radius:6px}.p-password-panel .p-password-meter{margin-bottom:.5rem;background:#e5e7eb}.p-password-panel .p-password-meter .p-password-strength.weak{background:#ea5455}.p-password-panel .p-password-meter .p-password-strength.medium{background:#ff9f42}.p-password-panel .p-password-meter .p-password-strength.strong{background:#29c76f}p-password.p-password-clearable .p-password-input{padding-right:2.5rem}p-password.p-password-clearable .p-password-clear-icon{color:#6b7280;right:.75rem}p-password.p-password-clearable.p-password-mask .p-password-input{padding-right:4.25rem}p-password.p-password-clearable.p-password-mask .p-password-clear-icon{color:#6b7280;right:2.5rem}.p-radiobutton{width:22px;height:22px}.p-radiobutton .p-radiobutton-box{border:2px solid #d1d5db;background:#fff;width:22px;height:22px;color:#4b5563;border-radius:50%;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover{border-color:#3b82f6}.p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-radiobutton .p-radiobutton-box .p-radiobutton-icon{width:12px;height:12px;transition-duration:.2s;background-color:#fff}.p-radiobutton .p-radiobutton-box.p-highlight{border-color:#3b82f6;background:#3b82f6}.p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover{border-color:#1d4ed8;background:#1d4ed8;color:#fff}p-radiobutton.ng-dirty.ng-invalid>.p-radiobutton>.p-radiobutton-box{border-color:#e24c4c}.p-input-filled .p-radiobutton .p-radiobutton-box{background-color:#f3f4f6}.p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover{background-color:#f3f4f6}.p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight{background:#3b82f6}.p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover{background:#1d4ed8}.p-radiobutton-label{margin-left:.5rem}.p-rating{gap:.5rem}.p-rating .p-rating-item .p-rating-icon{color:#4b5563;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;font-size:1.143rem}.p-rating .p-rating-item .p-rating-icon.p-icon{width:1.143rem;height:1.143rem}.p-rating .p-rating-item .p-rating-icon.p-rating-cancel{color:#ea5455}.p-rating .p-rating-item.p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-rating .p-rating-item.p-rating-item-active .p-rating-icon{color:#3b82f6}.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon{color:#3b82f6}.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel{color:#e73d3e}.p-selectbutton .p-button{background:#fff;border:1px solid #d1d5db;color:#4b5563;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-selectbutton .p-button .p-button-icon-left,.p-selectbutton .p-button .p-button-icon-right{color:#6b7280}.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover{background:#f3f4f6;border-color:#d1d5db;color:#4b5563}.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left,.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right{color:#374151}.p-selectbutton .p-button.p-highlight{background:#3b82f6;border-color:#3b82f6;color:#fff}.p-selectbutton .p-button.p-highlight .p-button-icon-left,.p-selectbutton .p-button.p-highlight .p-button-icon-right{color:#fff}.p-selectbutton .p-button.p-highlight:hover{background:#2563eb;border-color:#2563eb;color:#fff}.p-selectbutton .p-button.p-highlight:hover .p-button-icon-left,.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right{color:#fff}p-selectbutton.ng-dirty.ng-invalid>.p-selectbutton>.p-button{border-color:#e24c4c}.p-slider{background:#e5e7eb;border:0 none;border-radius:6px}.p-slider.p-slider-horizontal{height:.286rem}.p-slider.p-slider-horizontal .p-slider-handle{margin-top:-.5715rem;margin-left:-.5715rem}.p-slider.p-slider-vertical{width:.286rem}.p-slider.p-slider-vertical .p-slider-handle{margin-left:-.5715rem;margin-bottom:-.5715rem}.p-slider .p-slider-handle{height:1.143rem;width:1.143rem;background:#fff;border:2px solid #3B82F6;border-radius:50%;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-slider .p-slider-handle:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-slider .p-slider-range{background:#3b82f6}.p-slider:not(.p-disabled) .p-slider-handle:hover{background:#3b82f6;border-color:#3b82f6}.p-slider.p-slider-animate.p-slider-horizontal .p-slider-handle{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,left .2s}.p-slider.p-slider-animate.p-slider-horizontal .p-slider-range{transition:width .2s}.p-slider.p-slider-animate.p-slider-vertical .p-slider-handle{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,bottom .2s}.p-slider.p-slider-animate.p-slider-vertical .p-slider-range{transition:height .2s}.p-togglebutton.p-button{background:#fff;border:1px solid #d1d5db;color:#4b5563;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-togglebutton.p-button .p-button-icon-left,.p-togglebutton.p-button .p-button-icon-right{color:#6b7280}.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover{background:#f3f4f6;border-color:#d1d5db;color:#4b5563}.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left,.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right{color:#374151}.p-togglebutton.p-button.p-highlight{background:#3b82f6;border-color:#3b82f6;color:#fff}.p-togglebutton.p-button.p-highlight .p-button-icon-left,.p-togglebutton.p-button.p-highlight .p-button-icon-right{color:#fff}.p-togglebutton.p-button.p-highlight:hover{background:#2563eb;border-color:#2563eb;color:#fff}.p-togglebutton.p-button.p-highlight:hover .p-button-icon-left,.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right{color:#fff}p-togglebutton.ng-dirty.ng-invalid>.p-togglebutton.p-button{border-color:#e24c4c}.p-treeselect{background:#fff;border:1px solid #d1d5db;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;border-radius:6px}.p-treeselect:not(.p-disabled):hover{border-color:#3b82f6}.p-treeselect:not(.p-disabled).p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-treeselect .p-treeselect-label{padding:.75rem;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-treeselect .p-treeselect-label.p-placeholder{color:#6b7280}.p-treeselect.p-treeselect-chip .p-treeselect-token{padding:.375rem .75rem;margin-right:.5rem;background:#e5e7eb;color:#4b5563;border-radius:16px}.p-treeselect .p-treeselect-trigger{background:transparent;color:#6b7280;width:3rem;border-top-right-radius:6px;border-bottom-right-radius:6px}p-treeselect.ng-invalid.ng-dirty>.p-treeselect{border-color:#e24c4c}.p-inputwrapper-filled .p-treeselect.p-treeselect-chip .p-treeselect-label{padding:.375rem .75rem}.p-treeselect-panel{background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 2px 12px #0000001a}.p-treeselect-panel .p-treeselect-header{padding:.75rem 1.25rem;border-bottom:1px solid #e5e7eb;color:#374151;background:#f9fafb;margin:0;border-top-right-radius:6px;border-top-left-radius:6px}.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container{margin-right:.5rem}.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter{padding-right:1.75rem}.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon{right:.75rem;color:#6b7280}.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter{padding-right:3.5rem}.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon{right:2.5rem}.p-treeselect-panel .p-treeselect-header .p-treeselect-close{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-treeselect-panel .p-treeselect-items-wrapper .p-tree{border:0 none}.p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message{padding:.75rem 1.25rem;color:#4b5563;background:transparent}.p-input-filled .p-treeselect{background:#f3f4f6}.p-input-filled .p-treeselect:not(.p-disabled):hover{background-color:#f3f4f6}.p-input-filled .p-treeselect:not(.p-disabled).p-focus{background-color:#fff}p-treeselect.p-treeselect-clearable .p-treeselect-label-container{padding-right:1.75rem}p-treeselect.p-treeselect-clearable .p-treeselect-clear-icon{color:#6b7280;right:3rem}.p-button{color:#fff;background:#3b82f6;border:1px solid #3B82F6;padding:.75rem 1.25rem;font-size:1rem;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;border-radius:6px}.p-button:not(:disabled):hover{background:#2563eb;color:#fff;border-color:#2563eb}.p-button:not(:disabled):active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.p-button.p-button-outlined{background-color:transparent;color:#3b82f6;border:1px solid}.p-button.p-button-outlined:not(:disabled):hover{background:#3b82f60a;color:#3b82f6;border:1px solid}.p-button.p-button-outlined:not(:disabled):active{background:#3b82f629;color:#3b82f6;border:1px solid}.p-button.p-button-outlined.p-button-plain{color:#6b7280;border-color:#6b7280}.p-button.p-button-outlined.p-button-plain:not(:disabled):hover{background:#f3f4f6;color:#6b7280}.p-button.p-button-outlined.p-button-plain:not(:disabled):active{background:#e5e7eb;color:#6b7280}.p-button.p-button-text{background-color:transparent;color:#3b82f6;border-color:transparent}.p-button.p-button-text:not(:disabled):hover{background:#3b82f60a;color:#3b82f6;border-color:transparent}.p-button.p-button-text:not(:disabled):active{background:#3b82f629;color:#3b82f6;border-color:transparent}.p-button.p-button-text.p-button-plain{color:#6b7280}.p-button.p-button-text.p-button-plain:not(:disabled):hover{background:#f3f4f6;color:#6b7280}.p-button.p-button-text.p-button-plain:not(:disabled):active{background:#e5e7eb;color:#6b7280}.p-button:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-button .p-button-label{transition-duration:.2s}.p-button .p-button-icon-left{margin-right:.5rem}.p-button .p-button-icon-right{margin-left:.5rem}.p-button .p-button-icon-bottom{margin-top:.5rem}.p-button .p-button-icon-top{margin-bottom:.5rem}.p-button .p-badge{margin-left:.5rem;min-width:1rem;height:1rem;line-height:1rem;color:#3b82f6;background-color:#fff}.p-button.p-button-raised{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.p-button.p-button-rounded{border-radius:2rem}.p-button.p-button-icon-only{width:3rem;padding:.75rem 0}.p-button.p-button-icon-only .p-button-icon-left,.p-button.p-button-icon-only .p-button-icon-right{margin:0}.p-button.p-button-icon-only.p-button-rounded{border-radius:50%;height:3rem}.p-button.p-button-sm{font-size:.875rem;padding:.65625rem 1.09375rem}.p-button.p-button-sm .p-button-icon{font-size:.875rem}.p-button.p-button-lg{font-size:1.25rem;padding:.9375rem 1.5625rem}.p-button.p-button-lg .p-button-icon{font-size:1.25rem}.p-button.p-button-loading-label-only .p-button-label{margin-left:.5rem}.p-button.p-button-loading-label-only .p-button-loading-icon{margin-right:0}.p-fluid .p-button{width:100%}.p-fluid .p-button-icon-only{width:3rem}.p-fluid .p-buttonset{display:flex}.p-fluid .p-buttonset .p-button{flex:1}.p-button.p-button-secondary,.p-buttonset.p-button-secondary>.p-button,.p-splitbutton.p-button-secondary>.p-button{color:#fff;background:#64748b;border:1px solid #64748b}.p-button.p-button-secondary:not(:disabled):hover,.p-buttonset.p-button-secondary>.p-button:not(:disabled):hover,.p-splitbutton.p-button-secondary>.p-button:not(:disabled):hover{background:#475569;color:#fff;border-color:#475569}.p-button.p-button-secondary:not(:disabled):focus,.p-buttonset.p-button-secondary>.p-button:not(:disabled):focus,.p-splitbutton.p-button-secondary>.p-button:not(:disabled):focus{box-shadow:0 0 0 .2rem #e2e8f0}.p-button.p-button-secondary:not(:disabled):active,.p-buttonset.p-button-secondary>.p-button:not(:disabled):active,.p-splitbutton.p-button-secondary>.p-button:not(:disabled):active{background:#334155;color:#fff;border-color:#334155}.p-button.p-button-secondary.p-button-outlined,.p-buttonset.p-button-secondary>.p-button.p-button-outlined,.p-splitbutton.p-button-secondary>.p-button.p-button-outlined{background-color:transparent;color:#64748b;border:1px solid}.p-button.p-button-secondary.p-button-outlined:not(:disabled):hover,.p-buttonset.p-button-secondary>.p-button.p-button-outlined:not(:disabled):hover,.p-splitbutton.p-button-secondary>.p-button.p-button-outlined:not(:disabled):hover{background:#64748b0a;color:#64748b;border:1px solid}.p-button.p-button-secondary.p-button-outlined:not(:disabled):active,.p-buttonset.p-button-secondary>.p-button.p-button-outlined:not(:disabled):active,.p-splitbutton.p-button-secondary>.p-button.p-button-outlined:not(:disabled):active{background:#64748b29;color:#64748b;border:1px solid}.p-button.p-button-secondary.p-button-text,.p-buttonset.p-button-secondary>.p-button.p-button-text,.p-splitbutton.p-button-secondary>.p-button.p-button-text{background-color:transparent;color:#64748b;border-color:transparent}.p-button.p-button-secondary.p-button-text:not(:disabled):hover,.p-buttonset.p-button-secondary>.p-button.p-button-text:not(:disabled):hover,.p-splitbutton.p-button-secondary>.p-button.p-button-text:not(:disabled):hover{background:#64748b0a;border-color:transparent;color:#64748b}.p-button.p-button-secondary.p-button-text:not(:disabled):active,.p-buttonset.p-button-secondary>.p-button.p-button-text:not(:disabled):active,.p-splitbutton.p-button-secondary>.p-button.p-button-text:not(:disabled):active{background:#64748b29;border-color:transparent;color:#64748b}.p-button.p-button-info,.p-buttonset.p-button-info>.p-button,.p-splitbutton.p-button-info>.p-button{color:#fff;background:#0ea5e9;border:1px solid #0ea5e9}.p-button.p-button-info:not(:disabled):hover,.p-buttonset.p-button-info>.p-button:not(:disabled):hover,.p-splitbutton.p-button-info>.p-button:not(:disabled):hover{background:#0284c7;color:#fff;border-color:#0284c7}.p-button.p-button-info:not(:disabled):focus,.p-buttonset.p-button-info>.p-button:not(:disabled):focus,.p-splitbutton.p-button-info>.p-button:not(:disabled):focus{box-shadow:0 0 0 .2rem #bfdbfe}.p-button.p-button-info:not(:disabled):active,.p-buttonset.p-button-info>.p-button:not(:disabled):active,.p-splitbutton.p-button-info>.p-button:not(:disabled):active{background:#0369a1;color:#fff;border-color:#0369a1}.p-button.p-button-info.p-button-outlined,.p-buttonset.p-button-info>.p-button.p-button-outlined,.p-splitbutton.p-button-info>.p-button.p-button-outlined{background-color:transparent;color:#0ea5e9;border:1px solid}.p-button.p-button-info.p-button-outlined:not(:disabled):hover,.p-buttonset.p-button-info>.p-button.p-button-outlined:not(:disabled):hover,.p-splitbutton.p-button-info>.p-button.p-button-outlined:not(:disabled):hover{background:#0ea5e90a;color:#0ea5e9;border:1px solid}.p-button.p-button-info.p-button-outlined:not(:disabled):active,.p-buttonset.p-button-info>.p-button.p-button-outlined:not(:disabled):active,.p-splitbutton.p-button-info>.p-button.p-button-outlined:not(:disabled):active{background:#0ea5e929;color:#0ea5e9;border:1px solid}.p-button.p-button-info.p-button-text,.p-buttonset.p-button-info>.p-button.p-button-text,.p-splitbutton.p-button-info>.p-button.p-button-text{background-color:transparent;color:#0ea5e9;border-color:transparent}.p-button.p-button-info.p-button-text:not(:disabled):hover,.p-buttonset.p-button-info>.p-button.p-button-text:not(:disabled):hover,.p-splitbutton.p-button-info>.p-button.p-button-text:not(:disabled):hover{background:#0ea5e90a;border-color:transparent;color:#0ea5e9}.p-button.p-button-info.p-button-text:not(:disabled):active,.p-buttonset.p-button-info>.p-button.p-button-text:not(:disabled):active,.p-splitbutton.p-button-info>.p-button.p-button-text:not(:disabled):active{background:#0ea5e929;border-color:transparent;color:#0ea5e9}.p-button.p-button-success,.p-buttonset.p-button-success>.p-button,.p-splitbutton.p-button-success>.p-button{color:#fff;background:#22c55e;border:1px solid #22c55e}.p-button.p-button-success:not(:disabled):hover,.p-buttonset.p-button-success>.p-button:not(:disabled):hover,.p-splitbutton.p-button-success>.p-button:not(:disabled):hover{background:#16a34a;color:#fff;border-color:#16a34a}.p-button.p-button-success:not(:disabled):focus,.p-buttonset.p-button-success>.p-button:not(:disabled):focus,.p-splitbutton.p-button-success>.p-button:not(:disabled):focus{box-shadow:0 0 0 .2rem #bbf7d0}.p-button.p-button-success:not(:disabled):active,.p-buttonset.p-button-success>.p-button:not(:disabled):active,.p-splitbutton.p-button-success>.p-button:not(:disabled):active{background:#15803d;color:#fff;border-color:#15803d}.p-button.p-button-success.p-button-outlined,.p-buttonset.p-button-success>.p-button.p-button-outlined,.p-splitbutton.p-button-success>.p-button.p-button-outlined{background-color:transparent;color:#22c55e;border:1px solid}.p-button.p-button-success.p-button-outlined:not(:disabled):hover,.p-buttonset.p-button-success>.p-button.p-button-outlined:not(:disabled):hover,.p-splitbutton.p-button-success>.p-button.p-button-outlined:not(:disabled):hover{background:#22c55e0a;color:#22c55e;border:1px solid}.p-button.p-button-success.p-button-outlined:not(:disabled):active,.p-buttonset.p-button-success>.p-button.p-button-outlined:not(:disabled):active,.p-splitbutton.p-button-success>.p-button.p-button-outlined:not(:disabled):active{background:#22c55e29;color:#22c55e;border:1px solid}.p-button.p-button-success.p-button-text,.p-buttonset.p-button-success>.p-button.p-button-text,.p-splitbutton.p-button-success>.p-button.p-button-text{background-color:transparent;color:#22c55e;border-color:transparent}.p-button.p-button-success.p-button-text:not(:disabled):hover,.p-buttonset.p-button-success>.p-button.p-button-text:not(:disabled):hover,.p-splitbutton.p-button-success>.p-button.p-button-text:not(:disabled):hover{background:#22c55e0a;border-color:transparent;color:#22c55e}.p-button.p-button-success.p-button-text:not(:disabled):active,.p-buttonset.p-button-success>.p-button.p-button-text:not(:disabled):active,.p-splitbutton.p-button-success>.p-button.p-button-text:not(:disabled):active{background:#22c55e29;border-color:transparent;color:#22c55e}.p-button.p-button-warning,.p-buttonset.p-button-warning>.p-button,.p-splitbutton.p-button-warning>.p-button{color:#fff;background:#f97316;border:1px solid #f97316}.p-button.p-button-warning:not(:disabled):hover,.p-buttonset.p-button-warning>.p-button:not(:disabled):hover,.p-splitbutton.p-button-warning>.p-button:not(:disabled):hover{background:#ea580c;color:#fff;border-color:#ea580c}.p-button.p-button-warning:not(:disabled):focus,.p-buttonset.p-button-warning>.p-button:not(:disabled):focus,.p-splitbutton.p-button-warning>.p-button:not(:disabled):focus{box-shadow:0 0 0 .2rem #fde68a}.p-button.p-button-warning:not(:disabled):active,.p-buttonset.p-button-warning>.p-button:not(:disabled):active,.p-splitbutton.p-button-warning>.p-button:not(:disabled):active{background:#c2410c;color:#fff;border-color:#c2410c}.p-button.p-button-warning.p-button-outlined,.p-buttonset.p-button-warning>.p-button.p-button-outlined,.p-splitbutton.p-button-warning>.p-button.p-button-outlined{background-color:transparent;color:#f97316;border:1px solid}.p-button.p-button-warning.p-button-outlined:not(:disabled):hover,.p-buttonset.p-button-warning>.p-button.p-button-outlined:not(:disabled):hover,.p-splitbutton.p-button-warning>.p-button.p-button-outlined:not(:disabled):hover{background:#f973160a;color:#f97316;border:1px solid}.p-button.p-button-warning.p-button-outlined:not(:disabled):active,.p-buttonset.p-button-warning>.p-button.p-button-outlined:not(:disabled):active,.p-splitbutton.p-button-warning>.p-button.p-button-outlined:not(:disabled):active{background:#f9731629;color:#f97316;border:1px solid}.p-button.p-button-warning.p-button-text,.p-buttonset.p-button-warning>.p-button.p-button-text,.p-splitbutton.p-button-warning>.p-button.p-button-text{background-color:transparent;color:#f97316;border-color:transparent}.p-button.p-button-warning.p-button-text:not(:disabled):hover,.p-buttonset.p-button-warning>.p-button.p-button-text:not(:disabled):hover,.p-splitbutton.p-button-warning>.p-button.p-button-text:not(:disabled):hover{background:#f973160a;border-color:transparent;color:#f97316}.p-button.p-button-warning.p-button-text:not(:disabled):active,.p-buttonset.p-button-warning>.p-button.p-button-text:not(:disabled):active,.p-splitbutton.p-button-warning>.p-button.p-button-text:not(:disabled):active{background:#f9731629;border-color:transparent;color:#f97316}.p-button.p-button-help,.p-buttonset.p-button-help>.p-button,.p-splitbutton.p-button-help>.p-button{color:#fff;background:#a855f7;border:1px solid #a855f7}.p-button.p-button-help:not(:disabled):hover,.p-buttonset.p-button-help>.p-button:not(:disabled):hover,.p-splitbutton.p-button-help>.p-button:not(:disabled):hover{background:#9333ea;color:#fff;border-color:#9333ea}.p-button.p-button-help:not(:disabled):focus,.p-buttonset.p-button-help>.p-button:not(:disabled):focus,.p-splitbutton.p-button-help>.p-button:not(:disabled):focus{box-shadow:0 0 0 .2rem #e9d5ff}.p-button.p-button-help:not(:disabled):active,.p-buttonset.p-button-help>.p-button:not(:disabled):active,.p-splitbutton.p-button-help>.p-button:not(:disabled):active{background:#7e22ce;color:#fff;border-color:#7e22ce}.p-button.p-button-help.p-button-outlined,.p-buttonset.p-button-help>.p-button.p-button-outlined,.p-splitbutton.p-button-help>.p-button.p-button-outlined{background-color:transparent;color:#a855f7;border:1px solid}.p-button.p-button-help.p-button-outlined:not(:disabled):hover,.p-buttonset.p-button-help>.p-button.p-button-outlined:not(:disabled):hover,.p-splitbutton.p-button-help>.p-button.p-button-outlined:not(:disabled):hover{background:#a855f70a;color:#a855f7;border:1px solid}.p-button.p-button-help.p-button-outlined:not(:disabled):active,.p-buttonset.p-button-help>.p-button.p-button-outlined:not(:disabled):active,.p-splitbutton.p-button-help>.p-button.p-button-outlined:not(:disabled):active{background:#a855f729;color:#a855f7;border:1px solid}.p-button.p-button-help.p-button-text,.p-buttonset.p-button-help>.p-button.p-button-text,.p-splitbutton.p-button-help>.p-button.p-button-text{background-color:transparent;color:#a855f7;border-color:transparent}.p-button.p-button-help.p-button-text:not(:disabled):hover,.p-buttonset.p-button-help>.p-button.p-button-text:not(:disabled):hover,.p-splitbutton.p-button-help>.p-button.p-button-text:not(:disabled):hover{background:#a855f70a;border-color:transparent;color:#a855f7}.p-button.p-button-help.p-button-text:not(:disabled):active,.p-buttonset.p-button-help>.p-button.p-button-text:not(:disabled):active,.p-splitbutton.p-button-help>.p-button.p-button-text:not(:disabled):active{background:#a855f729;border-color:transparent;color:#a855f7}.p-button.p-button-danger,.p-buttonset.p-button-danger>.p-button,.p-splitbutton.p-button-danger>.p-button{color:#fff;background:#ef4444;border:1px solid #ef4444}.p-button.p-button-danger:not(:disabled):hover,.p-buttonset.p-button-danger>.p-button:not(:disabled):hover,.p-splitbutton.p-button-danger>.p-button:not(:disabled):hover{background:#dc2626;color:#fff;border-color:#dc2626}.p-button.p-button-danger:not(:disabled):focus,.p-buttonset.p-button-danger>.p-button:not(:disabled):focus,.p-splitbutton.p-button-danger>.p-button:not(:disabled):focus{box-shadow:0 0 0 .2rem #fecaca}.p-button.p-button-danger:not(:disabled):active,.p-buttonset.p-button-danger>.p-button:not(:disabled):active,.p-splitbutton.p-button-danger>.p-button:not(:disabled):active{background:#b91c1c;color:#fff;border-color:#b91c1c}.p-button.p-button-danger.p-button-outlined,.p-buttonset.p-button-danger>.p-button.p-button-outlined,.p-splitbutton.p-button-danger>.p-button.p-button-outlined{background-color:transparent;color:#ef4444;border:1px solid}.p-button.p-button-danger.p-button-outlined:not(:disabled):hover,.p-buttonset.p-button-danger>.p-button.p-button-outlined:not(:disabled):hover,.p-splitbutton.p-button-danger>.p-button.p-button-outlined:not(:disabled):hover{background:#ef44440a;color:#ef4444;border:1px solid}.p-button.p-button-danger.p-button-outlined:not(:disabled):active,.p-buttonset.p-button-danger>.p-button.p-button-outlined:not(:disabled):active,.p-splitbutton.p-button-danger>.p-button.p-button-outlined:not(:disabled):active{background:#ef444429;color:#ef4444;border:1px solid}.p-button.p-button-danger.p-button-text,.p-buttonset.p-button-danger>.p-button.p-button-text,.p-splitbutton.p-button-danger>.p-button.p-button-text{background-color:transparent;color:#ef4444;border-color:transparent}.p-button.p-button-danger.p-button-text:not(:disabled):hover,.p-buttonset.p-button-danger>.p-button.p-button-text:not(:disabled):hover,.p-splitbutton.p-button-danger>.p-button.p-button-text:not(:disabled):hover{background:#ef44440a;border-color:transparent;color:#ef4444}.p-button.p-button-danger.p-button-text:not(:disabled):active,.p-buttonset.p-button-danger>.p-button.p-button-text:not(:disabled):active,.p-splitbutton.p-button-danger>.p-button.p-button-text:not(:disabled):active{background:#ef444429;border-color:transparent;color:#ef4444}.p-button.p-button-link{color:#1d4ed8;background:transparent;border:transparent}.p-button.p-button-link:not(:disabled):hover{background:transparent;color:#1d4ed8;border-color:transparent}.p-button.p-button-link:not(:disabled):hover .p-button-label{text-decoration:underline}.p-button.p-button-link:not(:disabled):focus{background:transparent;box-shadow:0 0 0 .2rem #bfdbfe;border-color:transparent}.p-button.p-button-link:not(:disabled):active{background:transparent;color:#1d4ed8;border-color:transparent}.p-speeddial-button.p-button.p-button-icon-only{width:4rem;height:4rem}.p-speeddial-button.p-button.p-button-icon-only .p-button-icon{font-size:1.3rem}.p-speeddial-button.p-button.p-button-icon-only .p-icon{width:1.3rem;height:1.3rem}.p-speeddial-list{outline:0 none}.p-speeddial-item.p-focus>.p-speeddial-action{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-speeddial-action{width:3rem;height:3rem;background:#4b5563;color:#fff}.p-speeddial-action:hover{background:#022354;color:#fff}.p-speeddial-direction-up .p-speeddial-item{margin:.25rem 0}.p-speeddial-direction-up .p-speeddial-item:first-child{margin-bottom:.5rem}.p-speeddial-direction-down .p-speeddial-item{margin:.25rem 0}.p-speeddial-direction-down .p-speeddial-item:first-child{margin-top:.5rem}.p-speeddial-direction-left .p-speeddial-item{margin:0 .25rem}.p-speeddial-direction-left .p-speeddial-item:first-child{margin-right:.5rem}.p-speeddial-direction-right .p-speeddial-item{margin:0 .25rem}.p-speeddial-direction-right .p-speeddial-item:first-child{margin-left:.5rem}.p-speeddial-circle .p-speeddial-item,.p-speeddial-semi-circle .p-speeddial-item,.p-speeddial-quarter-circle .p-speeddial-item{margin:0}.p-speeddial-circle .p-speeddial-item:first-child,.p-speeddial-circle .p-speeddial-item:last-child,.p-speeddial-semi-circle .p-speeddial-item:first-child,.p-speeddial-semi-circle .p-speeddial-item:last-child,.p-speeddial-quarter-circle .p-speeddial-item:first-child,.p-speeddial-quarter-circle .p-speeddial-item:last-child{margin:0}.p-speeddial-mask{background-color:#0006}.p-splitbutton{border-radius:6px}.p-splitbutton.p-button-outlined>.p-button{background-color:transparent;color:#3b82f6;border:1px solid}.p-splitbutton.p-button-outlined>.p-button:not(:disabled):hover{background:#3b82f60a;color:#3b82f6}.p-splitbutton.p-button-outlined>.p-button:not(:disabled):active{background:#3b82f629;color:#3b82f6}.p-splitbutton.p-button-outlined.p-button-plain>.p-button{color:#6b7280;border-color:#6b7280}.p-splitbutton.p-button-outlined.p-button-plain>.p-button:not(:disabled):hover{background:#f3f4f6;color:#6b7280}.p-splitbutton.p-button-outlined.p-button-plain>.p-button:not(:disabled):active{background:#e5e7eb;color:#6b7280}.p-splitbutton.p-button-text>.p-button{background-color:transparent;color:#3b82f6;border-color:transparent}.p-splitbutton.p-button-text>.p-button:not(:disabled):hover{background:#3b82f60a;color:#3b82f6;border-color:transparent}.p-splitbutton.p-button-text>.p-button:not(:disabled):active{background:#3b82f629;color:#3b82f6;border-color:transparent}.p-splitbutton.p-button-text.p-button-plain>.p-button{color:#6b7280}.p-splitbutton.p-button-text.p-button-plain>.p-button:not(:disabled):hover{background:#f3f4f6;color:#6b7280}.p-splitbutton.p-button-text.p-button-plain>.p-button:not(:disabled):active{background:#e5e7eb;color:#6b7280}.p-splitbutton.p-button-raised{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.p-splitbutton.p-button-rounded{border-radius:2rem}.p-splitbutton.p-button-rounded>.p-button{border-radius:2rem}.p-splitbutton.p-button-sm>.p-button{font-size:.875rem;padding:.65625rem 1.09375rem}.p-splitbutton.p-button-sm>.p-button .p-button-icon{font-size:.875rem}.p-splitbutton.p-button-lg>.p-button{font-size:1.25rem;padding:.9375rem 1.5625rem}.p-splitbutton.p-button-lg>.p-button .p-button-icon{font-size:1.25rem}.p-splitbutton.p-button-secondary.p-button-outlined>.p-button{background-color:transparent;color:#64748b;border:1px solid}.p-splitbutton.p-button-secondary.p-button-outlined>.p-button:not(:disabled):hover{background:#64748b0a;color:#64748b}.p-splitbutton.p-button-secondary.p-button-outlined>.p-button:not(:disabled):active{background:#64748b29;color:#64748b}.p-splitbutton.p-button-secondary.p-button-text>.p-button{background-color:transparent;color:#64748b;border-color:transparent}.p-splitbutton.p-button-secondary.p-button-text>.p-button:not(:disabled):hover{background:#64748b0a;border-color:transparent;color:#64748b}.p-splitbutton.p-button-secondary.p-button-text>.p-button:not(:disabled):active{background:#64748b29;border-color:transparent;color:#64748b}.p-splitbutton.p-button-info.p-button-outlined>.p-button{background-color:transparent;color:#0ea5e9;border:1px solid}.p-splitbutton.p-button-info.p-button-outlined>.p-button:not(:disabled):hover{background:#0ea5e90a;color:#0ea5e9}.p-splitbutton.p-button-info.p-button-outlined>.p-button:not(:disabled):active{background:#0ea5e929;color:#0ea5e9}.p-splitbutton.p-button-info.p-button-text>.p-button{background-color:transparent;color:#0ea5e9;border-color:transparent}.p-splitbutton.p-button-info.p-button-text>.p-button:not(:disabled):hover{background:#0ea5e90a;border-color:transparent;color:#0ea5e9}.p-splitbutton.p-button-info.p-button-text>.p-button:not(:disabled):active{background:#0ea5e929;border-color:transparent;color:#0ea5e9}.p-splitbutton.p-button-success.p-button-outlined>.p-button{background-color:transparent;color:#22c55e;border:1px solid}.p-splitbutton.p-button-success.p-button-outlined>.p-button:not(:disabled):hover{background:#22c55e0a;color:#22c55e}.p-splitbutton.p-button-success.p-button-outlined>.p-button:not(:disabled):active{background:#22c55e29;color:#22c55e}.p-splitbutton.p-button-success.p-button-text>.p-button{background-color:transparent;color:#22c55e;border-color:transparent}.p-splitbutton.p-button-success.p-button-text>.p-button:not(:disabled):hover{background:#22c55e0a;border-color:transparent;color:#22c55e}.p-splitbutton.p-button-success.p-button-text>.p-button:not(:disabled):active{background:#22c55e29;border-color:transparent;color:#22c55e}.p-splitbutton.p-button-warning.p-button-outlined>.p-button{background-color:transparent;color:#f97316;border:1px solid}.p-splitbutton.p-button-warning.p-button-outlined>.p-button:not(:disabled):hover{background:#f973160a;color:#f97316}.p-splitbutton.p-button-warning.p-button-outlined>.p-button:not(:disabled):active{background:#f9731629;color:#f97316}.p-splitbutton.p-button-warning.p-button-text>.p-button{background-color:transparent;color:#f97316;border-color:transparent}.p-splitbutton.p-button-warning.p-button-text>.p-button:not(:disabled):hover{background:#f973160a;border-color:transparent;color:#f97316}.p-splitbutton.p-button-warning.p-button-text>.p-button:not(:disabled):active{background:#f9731629;border-color:transparent;color:#f97316}.p-splitbutton.p-button-help.p-button-outlined>.p-button{background-color:transparent;color:#a855f7;border:1px solid}.p-splitbutton.p-button-help.p-button-outlined>.p-button:not(:disabled):hover{background:#a855f70a;color:#a855f7}.p-splitbutton.p-button-help.p-button-outlined>.p-button:not(:disabled):active{background:#a855f729;color:#a855f7}.p-splitbutton.p-button-help.p-button-text>.p-button{background-color:transparent;color:#a855f7;border-color:transparent}.p-splitbutton.p-button-help.p-button-text>.p-button:not(:disabled):hover{background:#a855f70a;border-color:transparent;color:#a855f7}.p-splitbutton.p-button-help.p-button-text>.p-button:not(:disabled):active{background:#a855f729;border-color:transparent;color:#a855f7}.p-splitbutton.p-button-danger.p-button-outlined>.p-button{background-color:transparent;color:#ef4444;border:1px solid}.p-splitbutton.p-button-danger.p-button-outlined>.p-button:not(:disabled):hover{background:#ef44440a;color:#ef4444}.p-splitbutton.p-button-danger.p-button-outlined>.p-button:not(:disabled):active{background:#ef444429;color:#ef4444}.p-splitbutton.p-button-danger.p-button-text>.p-button{background-color:transparent;color:#ef4444;border-color:transparent}.p-splitbutton.p-button-danger.p-button-text>.p-button:not(:disabled):hover{background:#ef44440a;border-color:transparent;color:#ef4444}.p-splitbutton.p-button-danger.p-button-text>.p-button:not(:disabled):active{background:#ef444429;border-color:transparent;color:#ef4444}.p-carousel .p-carousel-content .p-carousel-prev,.p-carousel .p-carousel-content .p-carousel-next{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s;margin:.5rem}.p-carousel .p-carousel-content .p-carousel-prev:enabled:hover,.p-carousel .p-carousel-content .p-carousel-next:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-carousel .p-carousel-content .p-carousel-prev:focus-visible,.p-carousel .p-carousel-content .p-carousel-next:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-carousel .p-carousel-indicators{padding:1rem}.p-carousel .p-carousel-indicators .p-carousel-indicator{margin-right:.5rem;margin-bottom:.5rem}.p-carousel .p-carousel-indicators .p-carousel-indicator button{background-color:#d1d5db;width:2rem;height:.5rem;transition:background-color .2s,color .2s,box-shadow .2s;border-radius:0}.p-carousel .p-carousel-indicators .p-carousel-indicator button:hover{background:#9ca3af}.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button{background:#eff6ff;color:#1d4ed8}.p-datatable .p-paginator-top,.p-datatable .p-paginator-bottom{border-width:0 0 1px 0;border-radius:0}.p-datatable .p-datatable-header{background:#f9fafb;color:#374151;border:1px solid #e5e7eb;border-width:1px 0 1px 0;padding:1rem;font-weight:700}.p-datatable .p-datatable-footer{background:#f9fafb;color:#374151;border:1px solid #e5e7eb;border-width:0 0 1px 0;padding:1rem;font-weight:700}.p-datatable .p-datatable-thead>tr>th{text-align:left;padding:1rem;border:1px solid #e5e7eb;border-width:0 0 1px 0;font-weight:700;color:#374151;background:#f9fafb;transition:box-shadow .2s}.p-datatable .p-datatable-tfoot>tr>td{text-align:left;padding:1rem;border:1px solid #e5e7eb;border-width:0 0 1px 0;font-weight:700;color:#374151;background:#f9fafb}.p-datatable .p-sortable-column .p-sortable-column-icon{color:#374151;margin-left:.5rem}.p-datatable .p-sortable-column .p-sortable-column-badge{border-radius:50%;height:1.143rem;min-width:1.143rem;line-height:1.143rem;color:#1d4ed8;background:#eff6ff;margin-left:.5rem}.p-datatable .p-sortable-column:not(.p-highlight):hover{background:#f3f4f6;color:#374151}.p-datatable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon{color:#374151}.p-datatable .p-sortable-column.p-highlight{background:#eff6ff;color:#1d4ed8}.p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon{color:#1d4ed8}.p-datatable .p-sortable-column.p-highlight:hover{background:#eff6ff;color:#1d4ed8}.p-datatable .p-sortable-column.p-highlight:hover .p-sortable-column-icon{color:#1d4ed8}.p-datatable .p-sortable-column:focus-visible{box-shadow:inset 0 0 0 .15rem #bfdbfe;outline:0 none}.p-datatable .p-datatable-tbody>tr{background:#fff;color:#4b5563;transition:box-shadow .2s}.p-datatable .p-datatable-tbody>tr>td{text-align:left;border:1px solid #e5e7eb;border-width:0 0 1px 0;padding:1rem}.p-datatable .p-datatable-tbody>tr>td .p-row-toggler,.p-datatable .p-datatable-tbody>tr>td .p-row-editor-init,.p-datatable .p-datatable-tbody>tr>td .p-row-editor-save,.p-datatable .p-datatable-tbody>tr>td .p-row-editor-cancel{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-datatable .p-datatable-tbody>tr>td .p-row-toggler:enabled:hover,.p-datatable .p-datatable-tbody>tr>td .p-row-editor-init:enabled:hover,.p-datatable .p-datatable-tbody>tr>td .p-row-editor-save:enabled:hover,.p-datatable .p-datatable-tbody>tr>td .p-row-editor-cancel:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-datatable .p-datatable-tbody>tr>td .p-row-toggler:focus-visible,.p-datatable .p-datatable-tbody>tr>td .p-row-editor-init:focus-visible,.p-datatable .p-datatable-tbody>tr>td .p-row-editor-save:focus-visible,.p-datatable .p-datatable-tbody>tr>td .p-row-editor-cancel:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-datatable .p-datatable-tbody>tr>td .p-row-editor-save{margin-right:.5rem}.p-datatable .p-datatable-tbody>tr:focus-visible{outline:.15rem solid #BFDBFE;outline-offset:-.15rem}.p-datatable .p-datatable-tbody>tr.p-highlight{background:#eff6ff;color:#1d4ed8}.p-datatable .p-datatable-tbody>tr.p-datatable-dragpoint-top>td{box-shadow:inset 0 2px #eff6ff}.p-datatable .p-datatable-tbody>tr.p-datatable-dragpoint-bottom>td{box-shadow:inset 0 -2px #eff6ff}.p-datatable.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-highlight):hover{background:#f3f4f6;color:#4b5563}.p-datatable .p-column-resizer-helper{background:#3b82f6}.p-datatable .p-datatable-scrollable-header,.p-datatable .p-datatable-scrollable-footer{background:#f9fafb}.p-datatable.p-datatable-scrollable>.p-datatable-wrapper>.p-datatable-table>.p-datatable-thead,.p-datatable.p-datatable-scrollable>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tfoot,.p-datatable.p-datatable-scrollable>.p-datatable-wrapper>.p-scroller-viewport>.p-scroller>.p-datatable-table>.p-datatable-thead,.p-datatable.p-datatable-scrollable>.p-datatable-wrapper>.p-scroller-viewport>.p-scroller>.p-datatable-table>.p-datatable-tfoot{background-color:#f9fafb}.p-datatable .p-datatable-loading-icon{font-size:2rem}.p-datatable.p-datatable-gridlines .p-datatable-header{border-width:1px 1px 0 1px}.p-datatable.p-datatable-gridlines .p-datatable-footer{border-width:0 1px 1px 1px}.p-datatable.p-datatable-gridlines .p-paginator-top{border-width:0 1px 0 1px}.p-datatable.p-datatable-gridlines .p-paginator-bottom{border-width:0 1px 1px 1px}.p-datatable.p-datatable-gridlines .p-datatable-thead>tr>th{border-width:1px 0 1px 1px}.p-datatable.p-datatable-gridlines .p-datatable-thead>tr>th:last-child{border-width:1px}.p-datatable.p-datatable-gridlines .p-datatable-tbody>tr>td{border-width:1px 0 0 1px}.p-datatable.p-datatable-gridlines .p-datatable-tbody>tr>td:last-child{border-width:1px 1px 0 1px}.p-datatable.p-datatable-gridlines .p-datatable-tbody>tr:last-child>td{border-width:1px 0 1px 1px}.p-datatable.p-datatable-gridlines .p-datatable-tbody>tr:last-child>td:last-child{border-width:1px}.p-datatable.p-datatable-gridlines .p-datatable-tfoot>tr>td{border-width:1px 0 1px 1px}.p-datatable.p-datatable-gridlines .p-datatable-tfoot>tr>td:last-child{border-width:1px 1px 1px 1px}.p-datatable.p-datatable-gridlines .p-datatable-thead+.p-datatable-tfoot>tr>td{border-width:0 0 1px 1px}.p-datatable.p-datatable-gridlines .p-datatable-thead+.p-datatable-tfoot>tr>td:last-child{border-width:0 1px 1px 1px}.p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody>tr>td{border-width:0 0 1px 1px}.p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody>tr>td:last-child{border-width:0 1px 1px 1px}.p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody>tr:last-child>td{border-width:0 0 0 1px}.p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody>tr:last-child>td:last-child{border-width:0 1px 0 1px}.p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:#f8f8fa}.p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n).p-highlight{background:#eff6ff;color:#1d4ed8}.p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n).p-highlight .p-row-toggler{color:#1d4ed8}.p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n).p-highlight .p-row-toggler:hover{color:#1d4ed8}.p-datatable.p-datatable-sm .p-datatable-header{padding:.5rem}.p-datatable.p-datatable-sm .p-datatable-thead>tr>th{padding:.5rem}.p-datatable.p-datatable-sm .p-datatable-tbody>tr>td{padding:.5rem}.p-datatable.p-datatable-sm .p-datatable-tfoot>tr>td{padding:.5rem}.p-datatable.p-datatable-sm .p-datatable-footer{padding:.5rem}.p-datatable.p-datatable-lg .p-datatable-header{padding:1.25rem}.p-datatable.p-datatable-lg .p-datatable-thead>tr>th{padding:1.25rem}.p-datatable.p-datatable-lg .p-datatable-tbody>tr>td{padding:1.25rem}.p-datatable.p-datatable-lg .p-datatable-tfoot>tr>td{padding:1.25rem}.p-datatable.p-datatable-lg .p-datatable-footer{padding:1.25rem}.p-dataview .p-paginator-top,.p-dataview .p-paginator-bottom{border-width:0 0 1px 0;border-radius:0}.p-dataview .p-dataview-header{background:#f9fafb;color:#374151;border:1px solid #e5e7eb;border-width:1px 0 1px 0;padding:1rem;font-weight:700}.p-dataview .p-dataview-content{background:#fff;color:#4b5563;border:0 none;padding:0}.p-dataview .p-dataview-footer{background:#f9fafb;color:#374151;border:1px solid #e5e7eb;border-width:0 0 1px 0;padding:1rem;font-weight:700;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.p-dataview .p-dataview-loading-icon{font-size:2rem}.p-dataview .p-dataview-emptymessage{padding:1.25rem}.p-column-filter-row .p-column-filter-menu-button,.p-column-filter-row .p-column-filter-clear-button{margin-left:.5rem}.p-column-filter-menu-button{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-column-filter-menu-button:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-column-filter-menu-button.p-column-filter-menu-button-open,.p-column-filter-menu-button.p-column-filter-menu-button-open:hover{background:#f3f4f6;color:#374151}.p-column-filter-menu-button.p-column-filter-menu-button-active,.p-column-filter-menu-button.p-column-filter-menu-button-active:hover{background:#eff6ff;color:#1d4ed8}.p-column-filter-menu-button:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-column-filter-clear-button{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-column-filter-clear-button:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-column-filter-clear-button:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-column-filter-overlay{background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 2px 12px #0000001a;min-width:12.5rem}.p-column-filter-overlay .p-column-filter-row-items{padding:.75rem 0}.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item{margin:0;padding:.75rem 1.25rem;border:0 none;color:#4b5563;background:transparent;transition:box-shadow .2s;border-radius:0}.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight{color:#1d4ed8;background:#eff6ff}.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover{color:#4b5563;background:#f3f4f6}.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .15rem #bfdbfe}.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator{border-top:1px solid #e5e7eb;margin:.25rem 0}.p-column-filter-overlay-menu .p-column-filter-operator{padding:.75rem 1.25rem;border-bottom:1px solid #e5e7eb;color:#374151;background:#f9fafb;margin:0;border-top-right-radius:6px;border-top-left-radius:6px}.p-column-filter-overlay-menu .p-column-filter-constraint{padding:1.25rem;border-bottom:1px solid #e5e7eb}.p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown{margin-bottom:.5rem}.p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button{margin-top:.5rem}.p-column-filter-overlay-menu .p-column-filter-constraint:last-child{border-bottom:0 none}.p-column-filter-overlay-menu .p-column-filter-add-rule{padding:.75rem 1.25rem}.p-column-filter-overlay-menu .p-column-filter-buttonbar,.p-orderlist .p-orderlist-controls{padding:1.25rem}.p-orderlist .p-orderlist-controls .p-button{margin-bottom:.5rem}.p-orderlist .p-orderlist-list-container{background:#fff;border:1px solid #e5e7eb;border-radius:6px;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;outline-color:transparent}.p-orderlist .p-orderlist-list-container.p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-orderlist .p-orderlist-header{color:#374151;padding:1.25rem;font-weight:700}.p-orderlist .p-orderlist-header .p-orderlist-title{font-weight:700}.p-orderlist .p-orderlist-filter-container{padding:1.25rem;background:#fff;border:1px solid #e5e7eb;border-bottom:0 none}.p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input{padding-right:1.75rem}.p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon{right:.75rem;color:#6b7280}.p-orderlist .p-orderlist-list{color:#4b5563;padding:.75rem 0;outline:0 none}.p-orderlist .p-orderlist-list:not(:first-child){border-top:1px solid #e5e7eb}.p-orderlist .p-orderlist-list .p-orderlist-item{padding:.75rem 1.25rem;margin:0;border:0 none;color:#4b5563;background:transparent;transition:box-shadow .2s}.p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover{background:#f3f4f6;color:#4b5563}.p-orderlist .p-orderlist-list .p-orderlist-item.p-focus{color:#4b5563;background:#e5e7eb}.p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight{color:#1d4ed8;background:#eff6ff}.p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight.p-focus{background:#3b82f63d}.p-orderlist .p-orderlist-list .p-orderlist-empty-message{padding:.75rem 1.25rem;color:#4b5563}.p-orderlist .p-orderlist-list:not(.cdk-drop-list-dragging) .p-orderlist-item:not(.p-highlight):hover{background:#f3f4f6;color:#4b5563}.p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(2n){background:#f8f8fa}.p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(2n):hover{background:#f3f4f6}.p-orderlist-item.cdk-drag-preview{padding:.75rem 1.25rem;box-shadow:0 2px 12px #0000001a;border:0 none;color:#4b5563;background:#fff;margin:0}.p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover{background:#f3f4f6;color:#4b5563}.p-organizationchart .p-organizationchart-node-content.p-highlight{background:#eff6ff;color:#1d4ed8}.p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i{color:#70aeff}.p-organizationchart .p-organizationchart-line-down{background:#e5e7eb}.p-organizationchart .p-organizationchart-line-left{border-right:1px solid #e5e7eb;border-color:#e5e7eb}.p-organizationchart .p-organizationchart-line-top{border-top:1px solid #e5e7eb;border-color:#e5e7eb}.p-organizationchart .p-organizationchart-node-content{border:1px solid #e5e7eb;background:#fff;color:#4b5563;padding:1.25rem}.p-organizationchart .p-organizationchart-node-content .p-node-toggler{background:inherit;color:inherit;border-radius:50%}.p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-paginator{background:#fff;color:#6b7280;border:solid #f3f4f6;border-width:0;padding:.5rem 1rem;border-radius:6px}.p-paginator .p-paginator-first,.p-paginator .p-paginator-prev,.p-paginator .p-paginator-next,.p-paginator .p-paginator-last{background-color:transparent;border:0 none;color:#6b7280;min-width:3rem;height:3rem;margin:.143rem;transition:box-shadow .2s;border-radius:50%}.p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover,.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover,.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover,.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover{background:#f3f4f6;border-color:transparent;color:#374151}.p-paginator .p-paginator-first{border-top-left-radius:50%;border-bottom-left-radius:50%}.p-paginator .p-paginator-last{border-top-right-radius:50%;border-bottom-right-radius:50%}.p-paginator .p-dropdown{margin-left:.5rem;margin-right:.5rem;height:3rem}.p-paginator .p-dropdown .p-dropdown-label{padding-right:0}.p-paginator .p-paginator-page-input{margin-left:.5rem;margin-right:.5rem}.p-paginator .p-paginator-page-input .p-inputtext{max-width:3rem}.p-paginator .p-paginator-current{background-color:transparent;border:0 none;color:#6b7280;min-width:3rem;height:3rem;margin:.143rem;padding:0 .5rem}.p-paginator .p-paginator-pages .p-paginator-page{background-color:transparent;border:0 none;color:#6b7280;min-width:3rem;height:3rem;margin:.143rem;transition:box-shadow .2s;border-radius:50%}.p-paginator .p-paginator-pages .p-paginator-page.p-highlight{background:#eff6ff;border-color:#eff6ff;color:#1d4ed8}.p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover{background:#f3f4f6;border-color:transparent;color:#374151}.p-picklist .p-picklist-buttons{padding:1.25rem}.p-picklist .p-picklist-buttons .p-button{margin-bottom:.5rem}.p-picklist .p-picklist-list-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:6px;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;outline-color:transparent}.p-picklist .p-picklist-list-wrapper.p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe;border-color:#3b82f6}.p-picklist .p-picklist-header{color:#374151;padding:1.25rem;font-weight:700}.p-picklist .p-picklist-header .p-picklist-title{font-weight:700}.p-picklist .p-picklist-filter-container{padding:1.25rem;background:#fff;border:1px solid #e5e7eb;border-bottom:0 none}.p-picklist .p-picklist-filter-container .p-picklist-filter-input{padding-right:1.75rem}.p-picklist .p-picklist-filter-container .p-picklist-filter-icon{right:.75rem;color:#6b7280}.p-picklist .p-picklist-list{color:#4b5563;padding:.75rem 0;outline:0 none}.p-picklist .p-picklist-list:not(:first-child){border-top:1px solid #e5e7eb}.p-picklist .p-picklist-list .p-picklist-item{padding:.75rem 1.25rem;margin:0;border:0 none;color:#4b5563;background:transparent;transition:box-shadow .2s}.p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover{background:#f3f4f6;color:#4b5563}.p-picklist .p-picklist-list .p-picklist-item.p-focus{color:#4b5563;background:#e5e7eb}.p-picklist .p-picklist-list .p-picklist-item.p-highlight{color:#1d4ed8;background:#eff6ff}.p-picklist .p-picklist-list .p-picklist-item.p-highlight.p-focus{background:#3b82f63d}.p-picklist .p-picklist-list .p-picklist-empty-message{padding:.75rem 1.25rem;color:#4b5563}.p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover{background:#f3f4f6;color:#4b5563}.p-picklist.p-picklist-striped .p-picklist-list .p-picklist-item:nth-child(2n){background:#f8f8fa}.p-picklist.p-picklist-striped .p-picklist-list .p-picklist-item:nth-child(2n):hover{background:#f3f4f6}.p-picklist-item.cdk-drag-preview{padding:.75rem 1.25rem;box-shadow:0 2px 12px #0000001a;border:0 none;color:#4b5563;background:#fff;margin:0}.p-timeline .p-timeline-event-marker{border:2px solid #3B82F6;border-radius:50%;width:1rem;height:1rem;background-color:#fff}.p-timeline .p-timeline-event-connector{background-color:#e5e7eb}.p-timeline.p-timeline-vertical .p-timeline-event-opposite,.p-timeline.p-timeline-vertical .p-timeline-event-content{padding:0 1rem}.p-timeline.p-timeline-vertical .p-timeline-event-connector{width:2px}.p-timeline.p-timeline-horizontal .p-timeline-event-opposite,.p-timeline.p-timeline-horizontal .p-timeline-event-content{padding:1rem 0}.p-timeline.p-timeline-horizontal .p-timeline-event-connector{height:2px}.p-tree{border:1px solid #e5e7eb;background:#fff;color:#4b5563;padding:1.25rem;border-radius:6px}.p-tree .p-tree-container .p-treenode{padding:.143rem;outline:0 none}.p-tree .p-tree-container .p-treenode:focus>.p-treenode-content{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .15rem #bfdbfe}.p-tree .p-tree-container .p-treenode .p-treenode-content{border-radius:6px;transition:box-shadow .2s;padding:.5rem}.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler{margin-right:.5rem;width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon{margin-right:.5rem;color:#6b7280}.p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox{margin-right:.5rem}.p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon{color:#4b5563}.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight{background:#eff6ff;color:#1d4ed8}.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler,.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon,.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover,.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover{color:#1d4ed8}.p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover{background:#f3f4f6;color:#4b5563}.p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover{background:#f3f4f6;color:#4b5563}.p-tree .p-tree-filter-container{margin-bottom:.5rem}.p-tree .p-tree-filter-container .p-tree-filter{width:100%;padding-right:1.75rem}.p-tree .p-tree-filter-container .p-tree-filter-icon{right:.75rem;color:#6b7280}.p-tree .p-treenode-children{padding:0 0 0 1rem}.p-tree .p-tree-loading-icon{font-size:2rem}.p-tree .p-tree-loading-icon.p-icon{width:2rem;height:2rem}.p-tree .p-treenode-droppoint.p-treenode-droppoint-active{background-color:#8cbeff}.p-tree.p-tree-horizontal .p-treenode .p-treenode-content{border-radius:6px;border:1px solid #e5e7eb;background-color:#fff;color:#4b5563;padding:.5rem;transition:box-shadow .2s}.p-tree.p-tree-horizontal .p-treenode .p-treenode-content.p-highlight{background-color:#eff6ff;color:#1d4ed8}.p-tree.p-tree-horizontal .p-treenode .p-treenode-content.p-highlight .p-treenode-icon{color:#1d4ed8}.p-tree.p-tree-horizontal .p-treenode .p-treenode-content .p-tree-toggler{margin-right:.5rem}.p-tree.p-tree-horizontal .p-treenode .p-treenode-content .p-treenode-icon{color:#6b7280;margin-right:.5rem}.p-tree.p-tree-horizontal .p-treenode .p-treenode-content .p-checkbox{margin-right:.5rem}.p-tree.p-tree-horizontal .p-treenode .p-treenode-content .p-treenode-label:not(.p-highlight):hover{background-color:inherit;color:inherit}.p-tree.p-tree-horizontal .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover{background:#f3f4f6;color:#4b5563}.p-tree.p-tree-horizontal .p-treenode .p-treenode-content:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-treetable .p-paginator-top,.p-treetable .p-paginator-bottom{border-width:0 0 1px 0;border-radius:0}.p-treetable .p-treetable-header{background:#f9fafb;color:#374151;border:1px solid #e5e7eb;border-width:1px 0 1px 0;padding:1rem;font-weight:700}.p-treetable .p-treetable-footer{background:#f9fafb;color:#374151;border:1px solid #e5e7eb;border-width:0 0 1px 0;padding:1rem;font-weight:700}.p-treetable .p-treetable-thead>tr>th{text-align:left;padding:1rem;border:1px solid #e5e7eb;border-width:0 0 1px 0;font-weight:700;color:#374151;background:#f9fafb;transition:box-shadow .2s}.p-treetable .p-treetable-tfoot>tr>td{text-align:left;padding:1rem;border:1px solid #e5e7eb;border-width:0 0 1px 0;font-weight:700;color:#374151;background:#f9fafb}.p-treetable .p-sortable-column{outline-color:#bfdbfe}.p-treetable .p-sortable-column .p-sortable-column-icon{color:#374151;margin-left:.5rem}.p-treetable .p-sortable-column .p-sortable-column-badge{border-radius:50%;height:1.143rem;min-width:1.143rem;line-height:1.143rem;color:#1d4ed8;background:#eff6ff;margin-left:.5rem}.p-treetable .p-sortable-column:not(.p-highlight):hover{background:#f3f4f6;color:#374151}.p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon{color:#374151}.p-treetable .p-sortable-column.p-highlight{background:#eff6ff;color:#1d4ed8}.p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon{color:#1d4ed8}.p-treetable .p-treetable-tbody>tr{background:#fff;color:#4b5563;transition:box-shadow .2s}.p-treetable .p-treetable-tbody>tr>td{text-align:left;border:1px solid #e5e7eb;border-width:0 0 1px 0;padding:1rem}.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s;margin-right:.5rem}.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler.p-icon{width:2rem;height:2rem}.p-treetable .p-treetable-tbody>tr>td p-treetablecheckbox .p-checkbox{margin-right:.5rem}.p-treetable .p-treetable-tbody>tr>td p-treetablecheckbox .p-checkbox .p-indeterminate .p-checkbox-icon{color:#4b5563}.p-treetable .p-treetable-tbody>tr:focus-visible{outline:.15rem solid #BFDBFE;outline-offset:-.15rem}.p-treetable .p-treetable-tbody>tr.p-highlight{background:#eff6ff;color:#1d4ed8}.p-treetable .p-treetable-tbody>tr.p-highlight .p-treetable-toggler{color:#1d4ed8}.p-treetable .p-treetable-tbody>tr.p-highlight .p-treetable-toggler:hover{color:#1d4ed8}.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):hover{background:#f3f4f6;color:#4b5563}.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):hover .p-treetable-toggler{color:#4b5563}.p-treetable .p-column-resizer-helper{background:#3b82f6}.p-treetable .p-treetable-scrollable-header,.p-treetable .p-treetable-scrollable-footer{background:#f9fafb}.p-treetable .p-treetable-loading-icon{font-size:2rem}.p-treetable .p-treetable-loading-icon.p-icon{width:2rem;height:2rem}.p-treetable.p-treetable-gridlines .p-datatable-header{border-width:1px 1px 0 1px}.p-treetable.p-treetable-gridlines .p-treetable-footer{border-width:0 1px 1px 1px}.p-treetable.p-treetable-gridlines .p-treetable-top{border-width:0 1px 0 1px}.p-treetable.p-treetable-gridlines .p-treetable-bottom{border-width:0 1px 1px 1px}.p-treetable.p-treetable-gridlines .p-treetable-thead>tr>th{border-width:1px}.p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td{border-width:1px}.p-treetable.p-treetable-gridlines .p-treetable-tfoot>tr>td{border-width:1px}.p-treetable.p-treetable-sm .p-treetable-header{padding:.875rem}.p-treetable.p-treetable-sm .p-treetable-thead>tr>th{padding:.5rem}.p-treetable.p-treetable-sm .p-treetable-tbody>tr>td{padding:.5rem}.p-treetable.p-treetable-sm .p-treetable-tfoot>tr>td{padding:.5rem}.p-treetable.p-treetable-sm .p-treetable-footer{padding:.5rem}.p-treetable.p-treetable-lg .p-treetable-header{padding:1.25rem}.p-treetable.p-treetable-lg .p-treetable-thead>tr>th{padding:1.25rem}.p-treetable.p-treetable-lg .p-treetable-tbody>tr>td{padding:1.25rem}.p-treetable.p-treetable-lg .p-treetable-tfoot>tr>td{padding:1.25rem}.p-treetable.p-treetable-lg .p-treetable-footer{padding:1.25rem}.p-virtualscroller .p-virtualscroller-header{background:#f9fafb;color:#374151;border:1px solid #e5e7eb;border-width:1px 0 1px 0;padding:1rem;font-weight:700}.p-virtualscroller .p-virtualscroller-content{background:#fff;color:#4b5563;border:0 none;padding:0}.p-virtualscroller .p-virtualscroller-footer{background:#f9fafb;color:#374151;border:1px solid #e5e7eb;border-width:0 0 1px 0;padding:1rem;font-weight:700;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.p-accordion .p-accordion-header .p-accordion-header-link{padding:1.25rem;border:1px solid #e5e7eb;color:#6b7280;background:#f9fafb;font-weight:700;border-radius:6px;transition:box-shadow .2s}.p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon{margin-right:.5rem}.p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .2rem #bfdbfe}.p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link{background:#f3f4f6;border-color:#e5e7eb;color:#374151}.p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link{background:#f9fafb;border-color:#e5e7eb;color:#374151;border-bottom-right-radius:0;border-bottom-left-radius:0}.p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link{border-color:#e5e7eb;background:#f3f4f6;color:#374151}.p-accordion .p-accordion-content{padding:1.25rem;border:1px solid #e5e7eb;background:#fff;color:#4b5563;border-top:0;border-radius:0 0 6px 6px}.p-accordion p-accordiontab .p-accordion-tab{margin-bottom:4px}.p-card{background:#fff;color:#4b5563;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;border-radius:6px}.p-card .p-card-body{padding:1.25rem}.p-card .p-card-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.p-card .p-card-subtitle{font-weight:400;margin-bottom:.5rem;color:#6b7280}.p-card .p-card-content{padding:1.25rem 0}.p-card .p-card-footer{padding:1.25rem 0 0}.p-divider .p-divider-content{background-color:#fff}.p-divider.p-divider-horizontal{margin:1.25rem 0;padding:0 1.25rem}.p-divider.p-divider-horizontal:before{border-top:1px #e5e7eb}.p-divider.p-divider-horizontal .p-divider-content{padding:0 .5rem}.p-divider.p-divider-vertical{margin:0 1.25rem;padding:1.25rem 0}.p-divider.p-divider-vertical:before{border-left:1px #e5e7eb}.p-divider.p-divider-vertical .p-divider-content{padding:.5rem 0}.p-fieldset{border:1px solid #e5e7eb;background:#fff;color:#4b5563;border-radius:6px}.p-fieldset .p-fieldset-legend{padding:1.25rem;border:1px solid #e5e7eb;color:#374151;background:#f9fafb;font-weight:700;border-radius:6px}.p-fieldset.p-fieldset-toggleable .p-fieldset-legend{padding:0;transition:background-color .2s,color .2s,box-shadow .2s}.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a{padding:1.25rem;color:#374151;border-radius:6px;transition:box-shadow .2s}.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler{margin-right:.5rem}.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover{background:#f3f4f6;border-color:#e5e7eb;color:#374151}.p-fieldset .p-fieldset-content{padding:1.25rem}.p-panel .p-panel-header{border:1px solid #e5e7eb;padding:1.25rem;background:#f9fafb;color:#374151;border-top-right-radius:6px;border-top-left-radius:6px}.p-panel .p-panel-header .p-panel-title{font-weight:700}.p-panel .p-panel-header .p-panel-header-icon{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-panel .p-panel-header .p-panel-header-icon:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-panel .p-panel-header .p-panel-header-icon:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-panel.p-panel-toggleable .p-panel-header{padding:.75rem 1.25rem}.p-panel .p-panel-content{padding:1.25rem;border:1px solid #e5e7eb;background:#fff;color:#4b5563;border-top:0 none}.p-panel .p-panel-content:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.p-panel .p-panel-footer{padding:.75rem 1.25rem;border:1px solid #e5e7eb;background:#fff;color:#4b5563;border-bottom-right-radius:6px;border-bottom-left-radius:6px;border-top:0 none}.p-panel .p-panel-icons-end{order:2;margin-left:auto}.p-panel .p-panel-icons-start{order:0;margin-right:.5rem}.p-panel .p-panel-icons-center{order:2;width:100%;text-align:center}.p-scrollpanel .p-scrollpanel-bar{background:#f9fafb;border:0 none;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-scrollpanel .p-scrollpanel-bar:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-splitter{border:1px solid #e5e7eb;background:#fff;border-radius:6px;color:#4b5563}.p-splitter .p-splitter-gutter{transition:background-color .2s,color .2s,box-shadow .2s;background:#f9fafb}.p-splitter .p-splitter-gutter .p-splitter-gutter-handle{background:#e5e7eb}.p-splitter .p-splitter-gutter .p-splitter-gutter-handle:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-splitter .p-splitter-gutter-resizing{background:#e5e7eb}.p-tabview .p-tabview-nav-content{scroll-padding-inline:3rem}.p-tabview .p-tabview-nav{background:#fff;border:1px solid #e5e7eb;border-width:0 0 2px 0}.p-tabview .p-tabview-nav li{margin-right:0}.p-tabview .p-tabview-nav li .p-tabview-nav-link{border:solid #e5e7eb;border-width:0 0 2px 0;border-color:transparent transparent #e5e7eb transparent;background:#fff;color:#6b7280;padding:1.25rem;font-weight:700;border-top-right-radius:6px;border-top-left-radius:6px;transition:box-shadow .2s;margin:0 0 -2px}.p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .2rem #bfdbfe}.p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link{background:#fff;border-color:#9ca3af;color:#6b7280}.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:#fff;border-color:#3b82f6;color:#3b82f6}.p-tabview .p-tabview-left-icon{margin-right:.5rem}.p-tabview .p-tabview-right-icon,.p-tabview .p-tabview-close{margin-left:.5rem}.p-tabview .p-tabview-nav-btn.p-link{background:#fff;color:#3b82f6;width:3rem;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border-radius:0}.p-tabview .p-tabview-nav-btn.p-link:focus-visible{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .2rem #bfdbfe}.p-tabview .p-tabview-panels{background:#fff;padding:1.25rem;border:0 none;color:#4b5563;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.p-toolbar{background:#f9fafb;border:1px solid #e5e7eb;padding:1.25rem;border-radius:6px;gap:.5rem}.p-toolbar .p-toolbar-separator{margin:0 .5rem}.p-confirm-popup{background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 1px 3px #0000004d}.p-confirm-popup .p-confirm-popup-content{padding:1.25rem}.p-confirm-popup .p-confirm-popup-footer{text-align:right;padding:.75rem 1.25rem}.p-confirm-popup .p-confirm-popup-footer button{margin:0 .5rem 0 0;width:auto}.p-confirm-popup .p-confirm-popup-footer button:last-child{margin:0}.p-confirm-popup:after{border:solid transparent;border-color:#fff0;border-bottom-color:#fff}.p-confirm-popup:before{border:solid transparent;border-color:#fff0;border-bottom-color:#fff}.p-confirm-popup.p-confirm-popup-flipped:after{border-top-color:#fff}.p-confirm-popup.p-confirm-popup-flipped:before{border-top-color:#fff}.p-confirm-popup .p-confirm-popup-icon{font-size:1.5rem}.p-confirm-popup .p-confirm-popup-icon.p-icon{width:1.5rem;height:1.5rem}.p-confirm-popup .p-confirm-popup-message{margin-left:1rem}.p-dialog{border-radius:6px;box-shadow:0 1px 3px #0000004d;border:0 none}.p-dialog .p-dialog-header{border-bottom:0 none;background:#fff;color:#374151;padding:1.5rem;border-top-right-radius:6px;border-top-left-radius:6px}.p-dialog .p-dialog-header .p-dialog-title{font-weight:700;font-size:1.25rem}.p-dialog .p-dialog-header .p-dialog-header-icon{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s;margin-right:.5rem}.p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-dialog .p-dialog-header .p-dialog-header-icon:last-child{margin-right:0}.p-dialog .p-dialog-content{background:#fff;color:#4b5563;padding:0 1.5rem 2rem}.p-dialog .p-dialog-content:last-of-type{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.p-dialog .p-dialog-footer{border-top:0 none;background:#fff;color:#4b5563;padding:0 1.5rem 1.5rem;text-align:right;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.p-dialog .p-dialog-footer button{margin:0 .5rem 0 0;width:auto}.p-dialog.p-confirm-dialog .p-confirm-dialog-icon{font-size:2rem}.p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon{width:2rem;height:2rem}.p-dialog.p-confirm-dialog .p-confirm-dialog-message{margin-left:1rem}.p-overlaypanel{background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 1px 3px #0000004d}.p-overlaypanel .p-overlaypanel-content{padding:1.25rem}.p-overlaypanel .p-overlaypanel-close{background:#3b82f6;color:#fff;width:2rem;height:2rem;transition:background-color .2s,color .2s,box-shadow .2s;border-radius:50%;position:absolute;top:-1rem;right:-1rem}.p-overlaypanel .p-overlaypanel-close:enabled:hover{background:#2563eb;color:#fff}.p-overlaypanel:after{border:solid transparent;border-color:#fff0;border-bottom-color:#fff}.p-overlaypanel:before{border:solid transparent;border-color:#fff0;border-bottom-color:#f2f2f2}.p-overlaypanel.p-overlaypanel-flipped:after{border-top-color:#fff}.p-overlaypanel.p-overlaypanel-flipped:before{border-top-color:#fff}.p-sidebar{background:#fff;color:#4b5563;border:0 none;box-shadow:0 1px 3px #0000004d}.p-sidebar .p-sidebar-header{padding:1.25rem}.p-sidebar .p-sidebar-header .p-sidebar-close,.p-sidebar .p-sidebar-header .p-sidebar-icon{width:2rem;height:2rem;color:#6b7280;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover,.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover{color:#374151;border-color:transparent;background:#f3f4f6}.p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible,.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-sidebar .p-sidebar-header+.p-sidebar-content{padding-top:0}.p-sidebar .p-sidebar-content,.p-sidebar .p-sidebar-footer{padding:1.25rem}.p-tooltip .p-tooltip-text{background:#4b5563;color:#fff;padding:.75rem;box-shadow:0 2px 12px #0000001a;border-radius:6px}.p-tooltip.p-tooltip-right .p-tooltip-arrow{border-right-color:#4b5563}.p-tooltip.p-tooltip-left .p-tooltip-arrow{border-left-color:#4b5563}.p-tooltip.p-tooltip-top .p-tooltip-arrow{border-top-color:#4b5563}.p-tooltip.p-tooltip-bottom .p-tooltip-arrow{border-bottom-color:#4b5563}.p-fileupload .p-fileupload-buttonbar{background:#f9fafb;padding:1.25rem;border:1px solid #e5e7eb;color:#374151;border-bottom:0 none;border-top-right-radius:6px;border-top-left-radius:6px}.p-fileupload .p-fileupload-buttonbar .p-button{margin-right:.5rem}.p-fileupload .p-fileupload-buttonbar .p-button.p-fileupload-choose.p-focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-fileupload .p-fileupload-content{background:#fff;padding:2rem 1rem;border:1px solid #e5e7eb;color:#4b5563;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.p-fileupload .p-fileupload-content.p-fileupload-highlight{border-color:1px dashed #3B82F6;border-style:dashed;background-color:#eff6ff}.p-fileupload .p-progressbar{height:.25rem}.p-fileupload .p-fileupload-row>div{padding:1rem}.p-fileupload.p-fileupload-advanced .p-message{margin-top:0}.p-fileupload-choose:not(.p-disabled):hover{background:#2563eb;color:#fff;border-color:#2563eb}.p-fileupload-choose:not(.p-disabled):active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.p-breadcrumb{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:1rem}.p-breadcrumb .p-breadcrumb-list li .p-menuitem-link{transition:box-shadow .2s;border-radius:6px}.p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon{color:#6b7280}.p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator{margin:0 .5rem;color:#4b5563}.p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text{color:#4b5563}.p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon{color:#6b7280}.p-contextmenu{padding:.5rem 0;background:#fff;color:#4b5563;border:0 none;box-shadow:0 2px 12px #0000001a;border-radius:6px;width:12.5rem}.p-contextmenu .p-contextmenu-root-list{outline:0 none}.p-contextmenu .p-submenu-list{padding:.5rem 0;background:#fff;border:0 none;box-shadow:0 2px 12px #0000001a;border-radius:6px}.p-contextmenu .p-menuitem>.p-menuitem-content{color:#4b5563;transition:box-shadow .2s;border-radius:0}.p-contextmenu .p-menuitem>.p-menuitem-content .p-menuitem-link{color:#4b5563;padding:.75rem 1.25rem;-webkit-user-select:none;user-select:none}.p-contextmenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-contextmenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon{color:#6b7280;margin-right:.5rem}.p-contextmenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-contextmenu .p-menuitem.p-highlight>.p-menuitem-content{color:#1d4ed8;background:#eff6ff}.p-contextmenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#1d4ed8}.p-contextmenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-contextmenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#1d4ed8}.p-contextmenu .p-menuitem.p-highlight.p-focus>.p-menuitem-content{background:#3b82f63d}.p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content{color:#4b5563;background:#e5e7eb}.p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#4b5563}.p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover{color:#4b5563;background:#f3f4f6}.p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,.p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-contextmenu .p-menuitem-separator{border-top:1px solid #e5e7eb;margin:.25rem 0}.p-contextmenu .p-submenu-icon{font-size:.875rem}.p-contextmenu .p-submenu-icon.p-icon{width:.875rem;height:.875rem}.p-dock .p-dock-list-container{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:.5rem;border-radius:.5rem}.p-dock .p-dock-list-container .p-dock-list{outline:0 none}.p-dock .p-dock-item{padding:.5rem;border-radius:6px}.p-dock .p-dock-item.p-focus{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .15rem #bfdbfe}.p-dock .p-dock-link{width:4rem;height:4rem}.p-dock.p-dock-top .p-dock-item-second-prev,.p-dock.p-dock-top .p-dock-item-second-next,.p-dock.p-dock-bottom .p-dock-item-second-prev,.p-dock.p-dock-bottom .p-dock-item-second-next{margin:0 .9rem}.p-dock.p-dock-top .p-dock-item-prev,.p-dock.p-dock-top .p-dock-item-next,.p-dock.p-dock-bottom .p-dock-item-prev,.p-dock.p-dock-bottom .p-dock-item-next{margin:0 1.3rem}.p-dock.p-dock-top .p-dock-item-current,.p-dock.p-dock-bottom .p-dock-item-current{margin:0 1.5rem}.p-dock.p-dock-left .p-dock-item-second-prev,.p-dock.p-dock-left .p-dock-item-second-next,.p-dock.p-dock-right .p-dock-item-second-prev,.p-dock.p-dock-right .p-dock-item-second-next{margin:.9rem 0}.p-dock.p-dock-left .p-dock-item-prev,.p-dock.p-dock-left .p-dock-item-next,.p-dock.p-dock-right .p-dock-item-prev,.p-dock.p-dock-right .p-dock-item-next{margin:1.3rem 0}.p-dock.p-dock-left .p-dock-item-current,.p-dock.p-dock-right .p-dock-item-current{margin:1.5rem 0}@media screen and (max-width: 960px){.p-dock.p-dock-top .p-dock-list-container,.p-dock.p-dock-bottom .p-dock-list-container{overflow-x:auto;width:100%}.p-dock.p-dock-top .p-dock-list-container .p-dock-list,.p-dock.p-dock-bottom .p-dock-list-container .p-dock-list{margin:0 auto}.p-dock.p-dock-left .p-dock-list-container,.p-dock.p-dock-right .p-dock-list-container{overflow-y:auto;height:100%}.p-dock.p-dock-left .p-dock-list-container .p-dock-list,.p-dock.p-dock-right .p-dock-list-container .p-dock-list{margin:auto 0}.p-dock .p-dock-list .p-dock-item{transform:none;margin:0}}.p-megamenu{padding:.5rem;background:#f9fafb;color:#4b5563;border:1px solid #e5e7eb;border-radius:6px}.p-megamenu .p-megamenu-root-list{outline:0 none}.p-megamenu .p-menuitem>.p-menuitem-content{color:#4b5563;transition:box-shadow .2s;border-radius:0}.p-megamenu .p-menuitem>.p-menuitem-content .p-menuitem-link{color:#4b5563;padding:.75rem 1.25rem;-webkit-user-select:none;user-select:none}.p-megamenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-megamenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon{color:#6b7280;margin-right:.5rem}.p-megamenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-megamenu .p-menuitem.p-highlight>.p-menuitem-content{color:#1d4ed8;background:#eff6ff}.p-megamenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#1d4ed8}.p-megamenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-megamenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#1d4ed8}.p-megamenu .p-menuitem.p-highlight.p-focus>.p-menuitem-content{background:#3b82f63d}.p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content{color:#4b5563;background:#e5e7eb}.p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#4b5563}.p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover{color:#4b5563;background:#f3f4f6}.p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,.p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-megamenu .p-megamenu-panel{background:#fff;color:#4b5563;border:0 none;box-shadow:0 2px 12px #0000001a}.p-megamenu .p-submenu-header{margin:0;padding:.75rem 1.25rem;color:#374151;background:#fff;font-weight:700;border-top-right-radius:6px;border-top-left-radius:6px}.p-megamenu .p-submenu-list{padding:.5rem 0;width:12.5rem}.p-megamenu .p-submenu-list .p-menuitem-separator{border-top:1px solid #e5e7eb;margin:.25rem 0}.p-megamenu.p-megamenu-vertical{width:12.5rem;padding:.5rem 0}.p-megamenu.p-megamenu-horizontal .p-megamenu-root-list>.p-menuitem>.p-menuitem-content{color:#4b5563;transition:box-shadow .2s;border-radius:6px}.p-megamenu.p-megamenu-horizontal .p-megamenu-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link{padding:.75rem 1.25rem;-webkit-user-select:none;user-select:none}.p-megamenu.p-megamenu-horizontal .p-megamenu-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-megamenu.p-megamenu-horizontal .p-megamenu-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon{color:#6b7280;margin-right:.5rem}.p-megamenu.p-megamenu-horizontal .p-megamenu-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#6b7280;margin-left:.5rem}.p-megamenu.p-megamenu-horizontal .p-megamenu-root-list>.p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover{color:#4b5563;background:#f3f4f6}.p-megamenu.p-megamenu-horizontal .p-megamenu-root-list>.p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-megamenu.p-megamenu-horizontal .p-megamenu-root-list>.p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,.p-megamenu.p-megamenu-horizontal .p-megamenu-root-list>.p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-menu{padding:.5rem 0;background:#fff;color:#4b5563;border:1px solid #e5e7eb;border-radius:6px;width:12.5rem}.p-menu .p-menuitem>.p-menuitem-content{color:#4b5563;transition:box-shadow .2s;border-radius:0}.p-menu .p-menuitem>.p-menuitem-content .p-menuitem-link{color:#4b5563;padding:.75rem 1.25rem;-webkit-user-select:none;user-select:none}.p-menu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-menu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon{color:#6b7280;margin-right:.5rem}.p-menu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-menu .p-menuitem.p-highlight>.p-menuitem-content{color:#1d4ed8;background:#eff6ff}.p-menu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#1d4ed8}.p-menu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-menu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#1d4ed8}.p-menu .p-menuitem.p-highlight.p-focus>.p-menuitem-content{background:#3b82f63d}.p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content{color:#4b5563;background:#e5e7eb}.p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#4b5563}.p-menu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover{color:#4b5563;background:#f3f4f6}.p-menu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-menu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,.p-menu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-menu.p-menu-overlay{background:#fff;border:0 none;box-shadow:0 2px 12px #0000001a}.p-menu .p-submenu-header{margin:0;padding:.75rem 1.25rem;color:#374151;background:#fff;font-weight:700;border-top-right-radius:0;border-top-left-radius:0}.p-menu .p-menuitem-separator{border-top:1px solid #e5e7eb;margin:.25rem 0}.p-menu .p-menuitem-badge{background:#3b82f6;color:#fff;font-size:.75rem;font-weight:700;min-width:1.5rem;height:1.5rem;line-height:1.5rem;border-radius:6px;margin-left:.5rem;padding-left:.5rem;padding-right:.5rem}.p-menubar{padding:.5rem;background:#f9fafb;color:#4b5563;border:1px solid #e5e7eb;border-radius:6px}.p-menubar .p-menubar-root-list{outline:0 none}.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content{color:#4b5563;transition:box-shadow .2s;border-radius:6px}.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link{padding:.75rem 1.25rem;-webkit-user-select:none;user-select:none}.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon{color:#6b7280;margin-right:.5rem}.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#6b7280;margin-left:.5rem}.p-menubar .p-menubar-root-list>.p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover{color:#4b5563;background:#f3f4f6}.p-menubar .p-menubar-root-list>.p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-menubar .p-menubar-root-list>.p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,.p-menubar .p-menubar-root-list>.p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-menubar .p-menuitem>.p-menuitem-content{color:#4b5563;transition:box-shadow .2s;border-radius:0}.p-menubar .p-menuitem>.p-menuitem-content .p-menuitem-link{color:#4b5563;padding:.75rem 1.25rem;-webkit-user-select:none;user-select:none}.p-menubar .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-menubar .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon{color:#6b7280;margin-right:.5rem}.p-menubar .p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-menubar .p-menuitem.p-highlight>.p-menuitem-content{color:#1d4ed8;background:#eff6ff}.p-menubar .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#1d4ed8}.p-menubar .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-menubar .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#1d4ed8}.p-menubar .p-menuitem.p-highlight.p-focus>.p-menuitem-content{background:#3b82f63d}.p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content{color:#4b5563;background:#e5e7eb}.p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#4b5563}.p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover{color:#4b5563;background:#f3f4f6}.p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,.p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-menubar .p-submenu-list{padding:.5rem 0;background:#fff;border:0 none;box-shadow:0 2px 12px #0000001a;width:12.5rem}.p-menubar .p-submenu-list .p-menuitem-separator{border-top:1px solid #e5e7eb;margin:.25rem 0}.p-menubar .p-submenu-list .p-submenu-icon{font-size:.875rem}@media screen and (max-width: 960px){.p-menubar{position:relative}.p-menubar .p-menubar-button{display:flex;width:2rem;height:2rem;color:#6b7280;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s}.p-menubar .p-menubar-button:hover{color:#6b7280;background:#f3f4f6}.p-menubar .p-menubar-button:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-menubar .p-menubar-root-list{position:absolute;display:none;padding:.5rem 0;background:#fff;border:0 none;box-shadow:0 2px 12px #0000001a;width:100%}.p-menubar .p-menubar-root-list .p-menuitem-separator{border-top:1px solid #e5e7eb;margin:.25rem 0}.p-menubar .p-menubar-root-list .p-submenu-icon{font-size:.875rem}.p-menubar .p-menubar-root-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon{margin-left:auto;transition:transform .2s}.p-menubar .p-menubar-root-list .p-menuitem.p-menuitem-active>.p-menuitem-content>.p-menuitem-link>.p-submenu-icon{transform:rotate(-180deg)}.p-menubar .p-menubar-root-list .p-submenu-list{width:100%;position:static;box-shadow:none;border:0 none}.p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon{transition:transform .2s;transform:rotate(90deg)}.p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active>.p-menuitem-content>.p-menuitem-link>.p-submenu-icon{transform:rotate(-90deg)}.p-menubar .p-menubar-root-list .p-menuitem{width:100%;position:static}.p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link{padding-left:2.25rem}.p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link{padding-left:3.75rem}.p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link{padding-left:5.25rem}.p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link{padding-left:6.75rem}.p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link{padding-left:8.25rem}.p-menubar.p-menubar-mobile-active .p-menubar-root-list{display:flex;flex-direction:column;top:100%;left:0;z-index:1}}.p-panelmenu .p-panelmenu-header{outline:0 none}.p-panelmenu .p-panelmenu-header .p-panelmenu-header-content{border:1px solid #e5e7eb;color:#6b7280;background:#f9fafb;border-radius:6px;transition:box-shadow .2s}.p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-action{color:#6b7280;padding:1.25rem;font-weight:700}.p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-action .p-submenu-icon,.p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-action .p-menuitem-icon{margin-right:.5rem}.p-panelmenu .p-panelmenu-header:not(.p-disabled):focus-visible .p-panelmenu-header-content{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .2rem #bfdbfe}.p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover .p-panelmenu-header-content{background:#f3f4f6;border-color:#e5e7eb;color:#374151}.p-panelmenu .p-panelmenu-header:not(.p-disabled).p-highlight .p-panelmenu-header-content{background:#f9fafb;border-color:#e5e7eb;color:#374151;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.p-panelmenu .p-panelmenu-header:not(.p-disabled).p-highlight:hover .p-panelmenu-header-content{border-color:#e5e7eb;background:#f3f4f6;color:#374151}.p-panelmenu .p-panelmenu-content{padding:.5rem 0;border:1px solid #e5e7eb;background:#fff;color:#4b5563;border-top:0;border-radius:0 0 6px 6px}.p-panelmenu .p-panelmenu-content .p-panelmenu-root-list{outline:0 none}.p-panelmenu .p-panelmenu-content .p-menuitem>.p-menuitem-content{color:#4b5563;transition:box-shadow .2s;border-radius:0}.p-panelmenu .p-panelmenu-content .p-menuitem>.p-menuitem-content .p-menuitem-link{color:#4b5563;padding:.75rem 1.25rem;-webkit-user-select:none;user-select:none}.p-panelmenu .p-panelmenu-content .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-panelmenu .p-panelmenu-content .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon{color:#6b7280;margin-right:.5rem}.p-panelmenu .p-panelmenu-content .p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight>.p-menuitem-content{color:#1d4ed8;background:#eff6ff}.p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#1d4ed8}.p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#1d4ed8}.p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight.p-focus>.p-menuitem-content{background:#3b82f63d}.p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content{color:#4b5563;background:#e5e7eb}.p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#4b5563}.p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover{color:#4b5563;background:#f3f4f6}.p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,.p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon{margin-right:.5rem}.p-panelmenu .p-panelmenu-content .p-menuitem-separator{border-top:1px solid #e5e7eb;margin:.25rem 0}.p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-list){padding:0 0 0 1rem}.p-panelmenu .p-panelmenu-panel{margin-bottom:4px}.p-slidemenu{padding:.5rem 0;background:#fff;color:#4b5563;border:1px solid #e5e7eb;border-radius:6px;width:12.5rem}.p-slidemenu .p-slidemenu-root-list,.p-slidemenu .p-submenu-list{outline:0 none}.p-slidemenu .p-menuitem>.p-menuitem-content{color:#4b5563;transition:box-shadow .2s;border-radius:0}.p-slidemenu .p-menuitem>.p-menuitem-content .p-menuitem-link{color:#4b5563;padding:.75rem 1.25rem;-webkit-user-select:none;user-select:none}.p-slidemenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-slidemenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon{color:#6b7280;margin-right:.5rem}.p-slidemenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-slidemenu .p-menuitem.p-highlight>.p-menuitem-content{color:#1d4ed8;background:#eff6ff}.p-slidemenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#1d4ed8}.p-slidemenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-slidemenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#1d4ed8}.p-slidemenu .p-menuitem.p-highlight.p-focus>.p-menuitem-content{background:#3b82f63d}.p-slidemenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content{color:#4b5563;background:#e5e7eb}.p-slidemenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-slidemenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-slidemenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#4b5563}.p-slidemenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover{color:#4b5563;background:#f3f4f6}.p-slidemenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-slidemenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,.p-slidemenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-slidemenu.p-slidemenu-overlay{background:#fff;border:0 none;box-shadow:0 2px 12px #0000001a}.p-slidemenu .p-slidemenu-list{padding:.5rem 0;background:#fff;border:0 none;box-shadow:0 2px 12px #0000001a}.p-slidemenu .p-menuitem-separator{border-top:1px solid #e5e7eb;margin:.25rem 0}.p-slidemenu .p-slidemenu-icon{font-size:.875rem}.p-slidemenu .p-icon{width:.875rem;height:.875rem}.p-slidemenu .p-slidemenu-backward{padding:.75rem 1.25rem;color:#4b5563}.p-slidemenu .p-slidemenu-backward:not(.p-disabled):focus{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .2rem #bfdbfe}.p-slidemenu .p-menuitem-badge{background:#3b82f6;color:#fff;font-size:.75rem;font-weight:700;min-width:1.5rem;height:1.5rem;line-height:1.5rem;border-radius:6px;margin-left:.5rem;padding-left:.5rem;padding-right:.5rem}.p-steps .p-steps-item .p-menuitem-link{background:transparent;transition:box-shadow .2s;border-radius:6px;background:#fff}.p-steps .p-steps-item .p-menuitem-link .p-steps-number{color:#4b5563;border:1px solid #f3f4f6;background:#fff;min-width:2rem;height:2rem;line-height:2rem;font-size:1.143rem;z-index:1;border-radius:50%}.p-steps .p-steps-item .p-menuitem-link .p-steps-title{margin-top:.5rem;color:#6b7280}.p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-steps .p-steps-item.p-highlight .p-steps-number{background:#eff6ff;color:#1d4ed8}.p-steps .p-steps-item.p-highlight .p-steps-title{font-weight:700;color:#4b5563}.p-steps .p-steps-item:before{content:" ";border-top:1px solid #e5e7eb;width:100%;top:50%;left:0;display:block;position:absolute;margin-top:-1rem}.p-tabmenu .p-tabmenu-nav{background:#fff;border:1px solid #e5e7eb;border-width:0 0 2px 0}.p-tabmenu .p-tabmenu-nav .p-menuitem-badge{background:#3b82f6;color:#fff;font-size:.75rem;font-weight:700;min-width:1.5rem;height:1.5rem;line-height:1.5rem;border-radius:6px;margin-left:.5rem;padding-left:.5rem;padding-right:.5rem}.p-tabmenu .p-tabmenu-nav .p-tabmenuitem{margin-right:0}.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link{border:solid #e5e7eb;border-width:0 0 2px 0;border-color:transparent transparent #e5e7eb transparent;background:#fff;color:#6b7280;padding:1.25rem;font-weight:700;border-top-right-radius:6px;border-top-left-radius:6px;transition:box-shadow .2s;margin:0 0 -2px}.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon{margin-right:.5rem}.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .2rem #bfdbfe}.p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link{background:#fff;border-color:#9ca3af;color:#6b7280}.p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link{background:#fff;border-color:#3b82f6;color:#3b82f6}.p-tabmenu .p-tabmenu-left-icon{margin-right:.5rem}.p-tabmenu .p-tabmenu-right-icon{margin-left:.5rem}.p-tabmenu .p-tabmenu-nav-btn.p-link{background:#fff;color:#3b82f6;width:3rem;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border-radius:0}.p-tabmenu .p-tabmenu-nav-btn.p-link:focus{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .2rem #bfdbfe}.p-tieredmenu{padding:.5rem 0;background:#fff;color:#4b5563;border:1px solid #e5e7eb;border-radius:6px;width:12.5rem}.p-tieredmenu.p-tieredmenu-overlay{background:#fff;border:0 none;box-shadow:0 2px 12px #0000001a}.p-tieredmenu .p-tieredmenu-root-list{outline:0 none}.p-tieredmenu .p-submenu-list{padding:.5rem 0;background:#fff;border:0 none;box-shadow:0 2px 12px #0000001a}.p-tieredmenu .p-menuitem>.p-menuitem-content{color:#4b5563;transition:box-shadow .2s;border-radius:0}.p-tieredmenu .p-menuitem>.p-menuitem-content .p-menuitem-link{color:#4b5563;padding:.75rem 1.25rem;-webkit-user-select:none;user-select:none}.p-tieredmenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-tieredmenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-menuitem-icon{color:#6b7280;margin-right:.5rem}.p-tieredmenu .p-menuitem>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-tieredmenu .p-menuitem.p-highlight>.p-menuitem-content{color:#1d4ed8;background:#eff6ff}.p-tieredmenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#1d4ed8}.p-tieredmenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-tieredmenu .p-menuitem.p-highlight>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#1d4ed8}.p-tieredmenu .p-menuitem.p-highlight.p-focus>.p-menuitem-content{background:#3b82f63d}.p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content{color:#4b5563;background:#e5e7eb}.p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-menuitem-icon,.p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus>.p-menuitem-content .p-menuitem-link .p-submenu-icon{color:#4b5563}.p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover{color:#4b5563;background:#f3f4f6}.p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-text{color:#4b5563}.p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,.p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled)>.p-menuitem-content:hover .p-menuitem-link .p-submenu-icon{color:#6b7280}.p-tieredmenu .p-menuitem-separator{border-top:1px solid #e5e7eb;margin:.25rem 0}.p-tieredmenu .p-submenu-icon{font-size:.875rem}.p-tieredmenu .p-submenu-icon.p-icon{width:.875rem;height:.875rem}.p-inline-message{padding:.75rem;margin:0;border-radius:6px}.p-inline-message.p-inline-message-info{background:#dbeafeb3;border:solid #3b82f6;border-width:0px;color:#3b82f6}.p-inline-message.p-inline-message-info .p-inline-message-icon{color:#3b82f6}.p-inline-message.p-inline-message-success{background:#e4f8f0b3;border:solid #1ea97c;border-width:0px;color:#1ea97c}.p-inline-message.p-inline-message-success .p-inline-message-icon{color:#1ea97c}.p-inline-message.p-inline-message-warn{background:#fff2e2b3;border:solid #cc8925;border-width:0px;color:#cc8925}.p-inline-message.p-inline-message-warn .p-inline-message-icon{color:#cc8925}.p-inline-message.p-inline-message-error{background:#ffe7e6b3;border:solid #ff5757;border-width:0px;color:#ff5757}.p-inline-message.p-inline-message-error .p-inline-message-icon{color:#ff5757}.p-inline-message .p-inline-message-icon{font-size:1rem;margin-right:.5rem}.p-inline-message .p-icon{width:1rem;height:1rem}.p-inline-message .p-inline-message-text{font-size:1rem}.p-inline-message.p-inline-message-icon-only .p-inline-message-icon{margin-right:0}.p-message{margin:1rem 0;border-radius:6px}.p-message .p-message-wrapper{padding:1.25rem 1.75rem}.p-message .p-message-close{width:2rem;height:2rem;border-radius:50%;background:transparent;transition:background-color .2s,color .2s,box-shadow .2s}.p-message .p-message-close:hover{background:#ffffff80}.p-message .p-message-close:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-message.p-message-info{background:#dbeafeb3;border:solid #3b82f6;border-width:0 0 0 6px;color:#3b82f6}.p-message.p-message-info .p-message-icon,.p-message.p-message-info .p-message-close{color:#3b82f6}.p-message.p-message-success{background:#e4f8f0b3;border:solid #1ea97c;border-width:0 0 0 6px;color:#1ea97c}.p-message.p-message-success .p-message-icon,.p-message.p-message-success .p-message-close{color:#1ea97c}.p-message.p-message-warn{background:#fff2e2b3;border:solid #cc8925;border-width:0 0 0 6px;color:#cc8925}.p-message.p-message-warn .p-message-icon,.p-message.p-message-warn .p-message-close{color:#cc8925}.p-message.p-message-error{background:#ffe7e6b3;border:solid #ff5757;border-width:0 0 0 6px;color:#ff5757}.p-message.p-message-error .p-message-icon,.p-message.p-message-error .p-message-close{color:#ff5757}.p-message .p-message-text{font-size:1rem;font-weight:500}.p-message .p-message-icon{font-size:1.5rem;margin-right:.5rem}.p-message .p-icon{width:1.5rem;height:1.5rem}.p-message .p-message-summary{font-weight:700}.p-message .p-message-detail{margin-left:.5rem}.p-toast{opacity:1}.p-toast .p-toast-message{margin:0 0 1rem;box-shadow:0 2px 12px #0000001a;border-radius:6px}.p-toast .p-toast-message .p-toast-message-content{padding:1rem;border-width:0 0 0 6px}.p-toast .p-toast-message .p-toast-message-content .p-toast-message-text{margin:0 0 0 1rem}.p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon{font-size:2rem}.p-toast .p-toast-message .p-toast-message-content .p-icon:not(.p-toast-icon-close-icon){width:2rem;height:2rem}.p-toast .p-toast-message .p-toast-message-content .p-toast-summary{font-weight:700}.p-toast .p-toast-message .p-toast-message-content .p-toast-detail{margin:.5rem 0 0}.p-toast .p-toast-message .p-toast-icon-close{width:2rem;height:2rem;border-radius:50%;background:transparent;transition:background-color .2s,color .2s,box-shadow .2s}.p-toast .p-toast-message .p-toast-icon-close:hover{background:#ffffff80}.p-toast .p-toast-message .p-toast-icon-close:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-toast .p-toast-message.p-toast-message-info{background:#dbeafeb3;border:solid #3b82f6;border-width:0 0 0 6px;color:#3b82f6}.p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon,.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close{color:#3b82f6}.p-toast .p-toast-message.p-toast-message-success{background:#e4f8f0b3;border:solid #1ea97c;border-width:0 0 0 6px;color:#1ea97c}.p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon,.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close{color:#1ea97c}.p-toast .p-toast-message.p-toast-message-warn{background:#fff2e2b3;border:solid #cc8925;border-width:0 0 0 6px;color:#cc8925}.p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon,.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close{color:#cc8925}.p-toast .p-toast-message.p-toast-message-error{background:#ffe7e6b3;border:solid #ff5757;border-width:0 0 0 6px;color:#ff5757}.p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon,.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close{color:#ff5757}.p-galleria .p-galleria-close{margin:.5rem;background:transparent;color:#f9fafb;width:4rem;height:4rem;transition:background-color .2s,color .2s,box-shadow .2s;border-radius:50%}.p-galleria .p-galleria-close .p-galleria-close-icon{font-size:2rem}.p-galleria .p-galleria-close .p-icon-wrapper .p-icon{width:2rem;height:2rem}.p-galleria .p-galleria-close:hover{background:#ffffff1a;color:#f9fafb}.p-galleria .p-galleria-item-nav{background:transparent;color:#f9fafb;width:4rem;height:4rem;transition:background-color .2s,color .2s,box-shadow .2s;border-radius:6px;margin:0 .5rem}.p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon,.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon{font-size:2rem}.p-galleria .p-galleria-item-nav .p-icon-wrapper .p-icon{width:2rem;height:2rem}.p-galleria .p-galleria-item-nav:not(.p-disabled):hover{background:#ffffff1a;color:#f9fafb}.p-galleria .p-galleria-caption{background:#00000080;color:#f9fafb;padding:1rem}.p-galleria .p-galleria-indicators{padding:1rem}.p-galleria .p-galleria-indicators .p-galleria-indicator button{background-color:#d1d5db;width:1rem;height:1rem;transition:background-color .2s,color .2s,box-shadow .2s;border-radius:50%}.p-galleria .p-galleria-indicators .p-galleria-indicator button:hover{background:#9ca3af}.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button{background:#eff6ff;color:#1d4ed8}.p-galleria.p-galleria-indicators-bottom .p-galleria-indicator,.p-galleria.p-galleria-indicators-top .p-galleria-indicator{margin-right:.5rem}.p-galleria.p-galleria-indicators-left .p-galleria-indicator,.p-galleria.p-galleria-indicators-right .p-galleria-indicator{margin-bottom:.5rem}.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators{background:#00000080}.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button{background:#fff6}.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover{background:#fff9}.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button{background:#eff6ff;color:#1d4ed8}.p-galleria .p-galleria-thumbnail-container{background:#000000e6;padding:1rem .25rem}.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev,.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next{margin:.5rem;background-color:transparent;color:#f9fafb;width:2rem;height:2rem;transition:background-color .2s,color .2s,box-shadow .2s;border-radius:50%}.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover,.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover{background:#ffffff1a;color:#f9fafb}.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-galleria-mask,.p-image-mask{--maskbg: rgba(0, 0, 0, .9)}.p-image-preview-indicator{background-color:transparent;color:#f8f9fa;transition:background-color .2s,color .2s,box-shadow .2s}.p-image-preview-container:hover>.p-image-preview-indicator{background-color:#00000080}.p-image-toolbar{padding:1rem}.p-image-action.p-link{color:#f8f9fa;background-color:transparent;width:3rem;height:3rem;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s;margin-right:.5rem}.p-image-action.p-link:last-child{margin-right:0}.p-image-action.p-link:hover{color:#f8f9fa;background-color:#ffffff1a}.p-image-action.p-link i{font-size:1.5rem}.p-image-action.p-link .p-icon{width:1.5rem;height:1.5rem}.p-avatar{background-color:#e5e7eb;border-radius:6px}.p-avatar.p-avatar-lg{width:3rem;height:3rem;font-size:1.5rem}.p-avatar.p-avatar-lg .p-avatar-icon{font-size:1.5rem}.p-avatar.p-avatar-xl{width:4rem;height:4rem;font-size:2rem}.p-avatar.p-avatar-xl .p-avatar-icon{font-size:2rem}.p-avatar-group .p-avatar{border:2px solid #ffffff}.p-badge{background:#3b82f6;color:#fff;font-size:.75rem;font-weight:700;min-width:1.5rem;height:1.5rem;line-height:1.5rem}.p-badge.p-badge-secondary{background-color:#64748b;color:#fff}.p-badge.p-badge-success{background-color:#22c55e;color:#fff}.p-badge.p-badge-info{background-color:#0ea5e9;color:#fff}.p-badge.p-badge-warning{background-color:#f97316;color:#fff}.p-badge.p-badge-danger{background-color:#ef4444;color:#fff}.p-badge.p-badge-lg{font-size:1.125rem;min-width:2.25rem;height:2.25rem;line-height:2.25rem}.p-badge.p-badge-xl{font-size:1.5rem;min-width:3rem;height:3rem;line-height:3rem}.p-chip{background-color:#e5e7eb;color:#4b5563;border-radius:16px;padding:0 .75rem}.p-chip .p-chip-text{line-height:1.5;margin-top:.375rem;margin-bottom:.375rem}.p-chip .p-chip-icon{margin-right:.5rem}.p-chip .pi-chip-remove-icon{margin-left:.5rem}.p-chip img{width:2.25rem;height:2.25rem;margin-left:-.75rem;margin-right:.5rem}.p-chip .pi-chip-remove-icon{border-radius:6px;transition:background-color .2s,color .2s,box-shadow .2s}.p-chip .pi-chip-remove-icon:focus-visible{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-chip .pi-chip-remove-icon:focus{outline:0 none}.p-inplace .p-inplace-display{padding:.75rem;border-radius:6px;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-inplace .p-inplace-display:not(.p-disabled):hover{background:#f3f4f6;color:#4b5563}.p-inplace .p-inplace-display:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #bfdbfe}.p-progressbar{border:0 none;height:1.5rem;background:#e5e7eb;border-radius:6px}.p-progressbar .p-progressbar-value{border:0 none;margin:0;background:#3b82f6}.p-progressbar .p-progressbar-label{color:#fff;line-height:1.5rem}.p-scrolltop{width:3rem;height:3rem;border-radius:50%;box-shadow:0 2px 12px #0000001a;transition:background-color .2s,color .2s,box-shadow .2s}.p-scrolltop.p-link{background:#000000b3}.p-scrolltop.p-link:hover{background:#000c}.p-scrolltop .p-scrolltop-icon{font-size:1.5rem;color:#f9fafb}.p-scrolltop .p-icon{width:1.5rem;height:1.5rem}.p-skeleton{background-color:#e5e7eb;border-radius:6px}.p-skeleton:after{background:linear-gradient(90deg,#fff0,#fff6,#fff0)}.p-tag{background:#3b82f6;color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .4rem;border-radius:6px}.p-tag.p-tag-success{background-color:#22c55e;color:#fff}.p-tag.p-tag-info{background-color:#0ea5e9;color:#fff}.p-tag.p-tag-warning{background-color:#f97316;color:#fff}.p-tag.p-tag-danger{background-color:#ef4444;color:#fff}.p-tag .p-tag-icon{margin-right:.25rem;font-size:.75rem}.p-tag .p-icon{width:.75rem;height:.75rem}.p-terminal{background:#fff;color:#4b5563;border:1px solid #e5e7eb;padding:1.25rem}.p-terminal .p-terminal-input{font-family:var(--font-family);font-feature-settings:var(--font-feature-settings, normal);font-size:1rem}}@layer primeng{.p-button-label{font-weight:700}.p-selectbutton>.p-button,.p-togglebutton.p-button{transition:background-color .2s,border-color .2s,box-shadow .2s}.p-accordion .p-accordion-header .p-accordion-header-link,.p-tabview .p-tabview-nav li .p-tabview-nav-link,.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link{transition:background-color .2s,border-color .2s,box-shadow .2s}.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button,.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button{background-color:#3b82f6}.p-button:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #9dc1fb,0 1px 2px #000}.p-button.p-button-secondary:enabled:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #b0b9c6,0 1px 2px #000}.p-button.p-button-success:enabled:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #88eaac,0 1px 2px #000}.p-button.p-button-info:enabled:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #83d3f8,0 1px 2px #000}.p-button.p-button-warning:enabled:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #fcb98b,0 1px 2px #000}.p-button.p-button-help:enabled:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #d4aafb,0 1px 2px #000}.p-button.p-button-danger:enabled:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #f7a2a2,0 1px 2px #000}.p-datatable .p-datatable-tbody>tr.p-datatable-dragpoint-top>td{box-shadow:inset 0 2px #3b82f6}.p-datatable .p-datatable-tbody>tr.p-datatable-dragpoint-bottom>td{box-shadow:inset 0 -2px #3b82f6}.p-speeddial-item.p-focus>.p-speeddial-action{box-shadow:0 0 0 2px #fff,0 0 0 4px #9dc1fb,0 1px 2px #000}.p-toast-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.p-inline-message-text{font-weight:500}.p-picklist-buttons .p-button,.p-orderlist-controls .p-button{transition:opacity .2s,background-color .2s,color .2s,border-color .2s,box-shadow .2s}.p-steps .p-steps-item.p-highlight .p-steps-number{background:#3b82f6;color:#fff}}.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"@"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"K"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"W"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"*"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"I"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"V"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"Q"}.fa-g:before{content:"G"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"E"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"C"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"L"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"Z"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"A"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"P"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"?"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"F"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"H"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"R"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"J"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"O"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"U"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"S"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"N"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"B"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"<"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:">"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"Y"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"+"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"="}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"#"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"T"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"M"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"!"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-x:before{content:"X"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"D"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url("./media/fa-brands-400-4RSXLDQT.woff2") format("woff2"),url("./media/fa-brands-400-RP3MZ4AX.ttf") format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-pixiv:before{content:"\e640"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-brave:before{content:"\e63c"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-threads:before{content:"\e618"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-opensuse:before{content:"\e62b"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-debian:before{content:"\e60b"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-square-letterboxd:before{content:"\e62e"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-shoelace:before{content:"\e60c"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-square-threads:before{content:"\e619"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-google-scholar:before{content:"\e63b"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-signal-messenger:before{content:"\e663"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-mintbit:before{content:"\e62f"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-brave-reverse:before{content:"\e63d"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-letterboxd:before{content:"\e62d"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-x-twitter:before{content:"\e61b"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-upwork:before{content:"\e641"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-webflow:before{content:"\e65c"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-square-x-twitter:before{content:"\e61a"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url("./media/fa-regular-400-6ODLNN6G.woff2") format("woff2"),url("./media/fa-regular-400-VE33OVPX.ttf") format("truetype")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url("./media/fa-solid-900-ZZETRIYD.woff2") format("woff2"),url("./media/fa-solid-900-BALFL4QR.ttf") format("truetype")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url("./media/fa-brands-400-4RSXLDQT.woff2") format("woff2"),url("./media/fa-brands-400-RP3MZ4AX.ttf") format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url("./media/fa-solid-900-ZZETRIYD.woff2") format("woff2"),url("./media/fa-solid-900-BALFL4QR.ttf") format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url("./media/fa-regular-400-6ODLNN6G.woff2") format("woff2"),url("./media/fa-regular-400-VE33OVPX.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-solid-900-ZZETRIYD.woff2") format("woff2"),url("./media/fa-solid-900-BALFL4QR.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-brands-400-4RSXLDQT.woff2") format("woff2"),url("./media/fa-brands-400-RP3MZ4AX.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-regular-400-6ODLNN6G.woff2") format("woff2"),url("./media/fa-regular-400-VE33OVPX.ttf") format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-v4compatibility-5WGRUVBC.woff2") format("woff2"),url("./media/fa-v4compatibility-7DCIFHD7.ttf") format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}:root{--text-color-secondary:rgba(255, 255, 255);--wrapper-width:1491px}.p-button.p-button-secondary.p-button-outlined{color:#fff}html,body,app-root{margin:0;height:100%}app-root{display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{margin:0}body,input,button,select,textarea{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*:focus,.p-focus{box-shadow:none!important}p-menubarsub ul{gap:4px}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#9b9b9b80;border-radius:20px;border:transparent}.wrapper{width:var(--wrapper-width);max-width:100%;height:100%;margin:auto} diff --git a/bizmatch/package.json b/bizmatch/package.json new file mode 100644 index 0000000..bcb9992 --- /dev/null +++ b/bizmatch/package.json @@ -0,0 +1,61 @@ +{ + "name": "bizmatch", + "version": "0.0.1", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "build.dev": "ng build --configuration dev", + "watch": "ng build --watch --configuration development", + "test": "ng test", + "serve:ssr:bizmatch": "node dist/bizmatch/server/server.mjs" + }, + "private": true, + "dependencies": { + "@angular/animations": "^17.2.2", + "@angular/common": "^17.2.2", + "@angular/compiler": "^17.2.2", + "@angular/core": "^17.2.2", + "@angular/forms": "^17.2.2", + "@angular/platform-browser": "^17.2.2", + "@angular/platform-browser-dynamic": "^17.2.2", + "@angular/platform-server": "^17.2.2", + "@angular/router": "^17.2.2", + "@fortawesome/angular-fontawesome": "^0.14.1", + "@fortawesome/fontawesome-free": "^6.5.1", + "@fortawesome/fontawesome-svg-core": "^6.5.1", + "@fortawesome/free-brands-svg-icons": "^6.5.1", + "@fortawesome/free-regular-svg-icons": "^6.5.1", + "@fortawesome/free-solid-svg-icons": "^6.5.1", + "@types/uuid": "^9.0.8", + "browser-bunyan": "^1.8.0", + "express": "^4.18.2", + "jwt-decode": "^4.0.0", + "keycloak-js": "^23.0.7", + "memoize-one": "^6.0.0", + "on-change": "^5.0.1", + "primeflex": "^3.3.1", + "primeicons": "^6.0.1", + "primeng": "^17.6.0", + "rxjs": "~7.8.1", + "tslib": "^2.3.0", + "urlcat": "^3.1.0", + "uuid": "^9.0.1", + "zone.js": "~0.14.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^17.2.1", + "@angular/cli": "^17.2.1", + "@angular/compiler-cli": "^17.2.2", + "@types/express": "^4.17.21", + "@types/jasmine": "~5.1.4", + "@types/node": "^20.11.20", + "jasmine-core": "~5.1.2", + "karma": "~6.4.2", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.1", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.3.3" + } +} \ No newline at end of file diff --git a/bizmatch/proxy.conf.json b/bizmatch/proxy.conf.json new file mode 100644 index 0000000..b0c7ad0 --- /dev/null +++ b/bizmatch/proxy.conf.json @@ -0,0 +1,6 @@ +{ + "/api": { + "target": "http://localhost:3000", + "secure": false + } +} \ No newline at end of file diff --git a/bizmatch/server.ts b/bizmatch/server.ts new file mode 100644 index 0000000..e3d3d67 --- /dev/null +++ b/bizmatch/server.ts @@ -0,0 +1,56 @@ +// import { APP_BASE_HREF } from '@angular/common'; +// import { CommonEngine } from '@angular/ssr'; +// import express from 'express'; +// import { fileURLToPath } from 'node:url'; +// import { dirname, join, resolve } from 'node:path'; +// import bootstrap from './src/main.server'; + +// // The Express app is exported so that it can be used by serverless Functions. +// export function app(): express.Express { +// const server = express(); +// const serverDistFolder = dirname(fileURLToPath(import.meta.url)); +// const browserDistFolder = resolve(serverDistFolder, '../browser'); +// const indexHtml = join(serverDistFolder, 'index.server.html'); + +// const commonEngine = new CommonEngine(); + +// server.set('view engine', 'html'); +// server.set('views', browserDistFolder); + +// // Example Express Rest API endpoints +// // server.get('/api/**', (req, res) => { }); +// // Serve static files from /browser +// server.get('*.*', express.static(browserDistFolder, { +// maxAge: '1y' +// })); + +// // All regular routes use the Angular engine +// server.get('*', (req, res, next) => { +// const { protocol, originalUrl, baseUrl, headers } = req; + +// commonEngine +// .render({ +// bootstrap, +// documentFilePath: indexHtml, +// url: `${protocol}://${headers.host}${originalUrl}`, +// publicPath: browserDistFolder, +// providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }], +// }) +// .then((html) => res.send(html)) +// .catch((err) => next(err)); +// }); + +// return server; +// } + +// function run(): void { +// const port = process.env['PORT'] || 4000; + +// // Start up the Node server +// const server = app(); +// server.listen(port, () => { +// console.log(`Node Express server listening on http://localhost:${port}`); +// }); +// } + +// run(); diff --git a/bizmatch/src/app/app.component.html b/bizmatch/src/app/app.component.html new file mode 100644 index 0000000..1ad28e6 --- /dev/null +++ b/bizmatch/src/app/app.component.html @@ -0,0 +1,14 @@ +
+
+ @if (actualRoute !=='home' && actualRoute !=='pricing'){ +
+ } + + @if (loadingService.isLoading$ | async) { +
+ +
+ } +
+
+
\ No newline at end of file diff --git a/bizmatch/src/app/app.component.scss b/bizmatch/src/app/app.component.scss new file mode 100644 index 0000000..944105f --- /dev/null +++ b/bizmatch/src/app/app.component.scss @@ -0,0 +1,10 @@ +.container { + display: flex; + flex-direction: column; + min-height: 100vh; +} +.content { + flex: 1; + /* Optional: Padding fĂŒr den Inhalt, um sicherzustellen, dass er nicht direkt am Footer klebt */ + // padding-bottom: 20px; +} \ No newline at end of file diff --git a/bizmatch/src/app/app.component.ts b/bizmatch/src/app/app.component.ts new file mode 100644 index 0000000..3d68fd6 --- /dev/null +++ b/bizmatch/src/app/app.component.ts @@ -0,0 +1,59 @@ +import { CommonModule } from '@angular/common'; +import { Component, ViewChild } from '@angular/core'; +import { ActivatedRoute, NavigationEnd, Router, RouterOutlet } from '@angular/router'; +import { HeaderComponent } from './components/header/header.component'; +import { ProgressSpinnerModule } from 'primeng/progressspinner'; +import { ToastModule } from 'primeng/toast'; +import { LoadingService } from './services/loading.service'; +import { HomeComponent } from './pages/home/home.component'; +import { filter } from 'rxjs/operators'; +import { FooterComponent } from './components/footer/footer.component'; +import { KeycloakService } from './services/keycloak.service'; +import { KeycloakEventType } from './models/keycloak-event'; +import { ListingCriteria, User } from './models/main.model'; +import { createGenericObject } from './utils/utils'; +import onChange from 'on-change'; +import { UserService } from './services/user.service'; +@Component({ + selector: 'app-root', + standalone: true, + imports: [CommonModule, RouterOutlet, HeaderComponent, ProgressSpinnerModule, FooterComponent], + templateUrl: './app.component.html', + styleUrl: './app.component.scss' +}) +export class AppComponent { + title = 'bizmatch'; + actualRoute =''; + user:User; + listingCriteria:ListingCriteria = onChange(createGenericObject(),(path, value, previousValue, applyData)=>{ + sessionStorage.setItem('criteria',JSON.stringify(value)); + }); + public constructor(public loadingService: LoadingService, private router: Router,private activatedRoute: ActivatedRoute, private keycloakService:KeycloakService,private userService:UserService) { + this.router.events.pipe( + filter(event => event instanceof NavigationEnd) + ).subscribe(() => { + let currentRoute = this.activatedRoute.root; + while (currentRoute.children[0] !== undefined) { + currentRoute = currentRoute.children[0]; + } + // Hier haben Sie Zugriff auf den aktuellen Route-Pfad + this.actualRoute=currentRoute.snapshot.url[0].path + }); + + // keycloakService.keycloakEvents$.subscribe({ + // next(event) { + // if (event.type == KeycloakEventType.OnTokenExpired) { + // keycloakService.updateToken(20); + // } + // if (event.type == KeycloakEventType.OnActionUpdate) { + + // } + // } + // }); + } + ngOnInit(){ + this.user = this.userService.getUser(); + } + + +} diff --git a/bizmatch/src/app/app.config.server.ts b/bizmatch/src/app/app.config.server.ts new file mode 100644 index 0000000..b4d57c9 --- /dev/null +++ b/bizmatch/src/app/app.config.server.ts @@ -0,0 +1,11 @@ +import { mergeApplicationConfig, ApplicationConfig } from '@angular/core'; +import { provideServerRendering } from '@angular/platform-server'; +import { appConfig } from './app.config'; + +const serverConfig: ApplicationConfig = { + providers: [ + provideServerRendering() + ] +}; + +export const config = mergeApplicationConfig(appConfig, serverConfig); diff --git a/bizmatch/src/app/app.config.ts b/bizmatch/src/app/app.config.ts new file mode 100644 index 0000000..bafde0a --- /dev/null +++ b/bizmatch/src/app/app.config.ts @@ -0,0 +1,56 @@ +import { APP_INITIALIZER, ApplicationConfig, importProvidersFrom } from '@angular/core'; +import { provideRouter } from '@angular/router'; + +import { routes } from './app.routes'; +import { provideClientHydration } from '@angular/platform-browser'; +import { provideAnimations } from '@angular/platform-browser/animations'; +import { HTTP_INTERCEPTORS, provideHttpClient, withFetch, withInterceptorsFromDi } from '@angular/common/http'; +import { environment } from '../environments/environment'; +import { SelectOptionsService } from './services/select-options.service'; +import { KeycloakService } from './services/keycloak.service'; +import { UserService } from './services/user.service'; +// provideClientHydration() +export const appConfig: ApplicationConfig = { + providers: [ + provideHttpClient(withInterceptorsFromDi()), + {provide:KeycloakService}, + { + provide: APP_INITIALIZER, + useFactory: initializeKeycloak, + multi: true, + deps: [KeycloakService], + }, + { + provide: APP_INITIALIZER, + useFactory: initServices, + multi: true, + deps: [SelectOptionsService], + }, + provideRouter(routes),provideAnimations() + ] +}; +function initUserService(userService:UserService) { + return () => { + //selectOptions.init(); + } +} +function initServices(selectOptions:SelectOptionsService) { + return () => { + selectOptions.init(); + } +} + +function initializeKeycloak(keycloak: KeycloakService) { + return () => + keycloak.init({ + config: { + url: environment.keycloak.url, + realm: environment.keycloak.realm, + clientId: environment.keycloak.clientId, + }, + initOptions: { + onLoad: 'check-sso', + silentCheckSsoRedirectUri: (window).location.origin + '/assets/silent-check-sso.html' + }, + }); +} \ No newline at end of file diff --git a/bizmatch/src/app/app.routes.ts b/bizmatch/src/app/app.routes.ts new file mode 100644 index 0000000..99a5681 --- /dev/null +++ b/bizmatch/src/app/app.routes.ts @@ -0,0 +1,75 @@ +import { Routes } from '@angular/router'; +import { ListingsComponent } from './pages/listings/listings.component'; +import { HomeComponent } from './pages/home/home.component'; +import { DetailsComponent } from './pages/details/details.component'; +import { AccountComponent } from './pages/subscription/account/account.component'; +import { EditListingComponent } from './pages/subscription/edit-listing/edit-listing.component'; +import { MyListingComponent } from './pages/subscription/my-listing/my-listing.component'; +import { FavoritesComponent } from './pages/subscription/favorites/favorites.component'; +import { EmailUsComponent } from './pages/subscription/email-us/email-us.component'; +import { authGuard } from './guards/auth.guard'; +import { PricingComponent } from './pages/pricing/pricing.component'; +import { LogoutComponent } from './components/logout/logout.component'; + + +export const routes: Routes = [ + { + path: 'listings/:type', + component: ListingsComponent, + }, + // Umleitung von /listing zu /listing/business + { + path: 'listings', + pathMatch: 'full', + redirectTo: 'listings/business', + runGuardsAndResolvers:'always' + }, + { + path: 'home', + component: HomeComponent, + }, + { + path: 'details/:id', + component: DetailsComponent, + }, + { + path: 'account', + component: AccountComponent, + canActivate: [authGuard], + }, + { + path: 'editListing/:id', + component: EditListingComponent, + canActivate: [authGuard], + }, + { + path: 'createListing', + component: EditListingComponent, + canActivate: [authGuard], + }, + { + path: 'myListings', + component: MyListingComponent, + canActivate: [authGuard], + }, + { + path: 'myFavorites', + component: FavoritesComponent, + canActivate: [authGuard], + }, + { + path: 'emailUs', + component: EmailUsComponent, + canActivate: [authGuard], + }, + { + path: 'logout', + component: LogoutComponent, + canActivate: [authGuard], + }, + { + path: 'pricing', + component: PricingComponent + }, + { path: '**', redirectTo: 'home' }, +]; diff --git a/bizmatch/src/app/components/footer/footer.component.html b/bizmatch/src/app/components/footer/footer.component.html new file mode 100644 index 0000000..fce6111 --- /dev/null +++ b/bizmatch/src/app/components/footer/footer.component.html @@ -0,0 +1,27 @@ +
+
+
+
+ footer sections +
© 2024 Bizmatch All rights reserved.
+ +
+
+
BizMatch, Inc., 1001 Blucher Street, Corpus Christi, Texas 78401
+
1-800-840-6025
+
bizmatch@biz-match.com
+
+ +
+
Actions
+ Login + Account + Log Out +
+
+
+
\ No newline at end of file diff --git a/bizmatch/src/app/components/footer/footer.component.scss b/bizmatch/src/app/components/footer/footer.component.scss new file mode 100644 index 0000000..a8ee0fc --- /dev/null +++ b/bizmatch/src/app/components/footer/footer.component.scss @@ -0,0 +1,6 @@ +:host{ + height: 192px; +} +div { + font-size: small; +} \ No newline at end of file diff --git a/bizmatch/src/app/components/footer/footer.component.ts b/bizmatch/src/app/components/footer/footer.component.ts new file mode 100644 index 0000000..c64379d --- /dev/null +++ b/bizmatch/src/app/components/footer/footer.component.ts @@ -0,0 +1,26 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { ButtonModule } from 'primeng/button'; +import { CheckboxModule } from 'primeng/checkbox'; +import { InputTextModule } from 'primeng/inputtext'; +import {StyleClassModule} from 'primeng/styleclass'; +import { KeyValue } from '../../models/main.model'; +import { DropdownModule } from 'primeng/dropdown'; +import { FormsModule } from '@angular/forms'; +import { UserService } from '../../services/user.service'; +import { SharedModule } from '../../shared/shared/shared.module'; + + +@Component({ + selector: 'footer', + standalone: true, + imports: [SharedModule], + templateUrl: './footer.component.html', + styleUrl: './footer.component.scss' +}) +export class FooterComponent { + constructor(public userService:UserService){} + login(){ + this.userService.login(window.location.href); + } +} diff --git a/bizmatch/src/app/components/header/header.component.html b/bizmatch/src/app/components/header/header.component.html new file mode 100644 index 0000000..2aff27b --- /dev/null +++ b/bizmatch/src/app/components/header/header.component.html @@ -0,0 +1,11 @@ +
+
+ bizmatch + + + +
Welcome, {{user.firstname}}
+ + +
+
\ No newline at end of file diff --git a/bizmatch/src/app/components/header/header.component.scss b/bizmatch/src/app/components/header/header.component.scss new file mode 100644 index 0000000..27df88c --- /dev/null +++ b/bizmatch/src/app/components/header/header.component.scss @@ -0,0 +1,13 @@ +::ng-deep p-menubarsub{ + margin-left: auto; +} +::ng-deep .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link{ + border:1px solid #ffffff; +} +::ng-deep .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + border-bottom: 2px solid #3B82F6 !important; +} +::ng-deep .p-menubar{ + border:unset; + background: unset; +} \ No newline at end of file diff --git a/bizmatch/src/app/components/header/header.component.ts b/bizmatch/src/app/components/header/header.component.ts new file mode 100644 index 0000000..2e104ad --- /dev/null +++ b/bizmatch/src/app/components/header/header.component.ts @@ -0,0 +1,115 @@ +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { MenuItem } from 'primeng/api'; +import { ButtonModule } from 'primeng/button'; +import { MenubarModule } from 'primeng/menubar'; +import { OverlayPanelModule } from 'primeng/overlaypanel'; +import { environment } from '../../../environments/environment'; +import { UserService } from '../../services/user.service'; +import { User } from '../../models/main.model'; +import { TabMenuModule } from 'primeng/tabmenu'; +import { Observable } from 'rxjs'; +import { faUserGear } from '@fortawesome/free-solid-svg-icons'; +import { Router } from '@angular/router'; + +@Component({ + selector: 'header', + standalone: true, + imports: [CommonModule, MenubarModule, ButtonModule, OverlayPanelModule, TabMenuModule ], + templateUrl: './header.component.html', + styleUrl: './header.component.scss' +}) +export class HeaderComponent { + public buildVersion = environment.buildVersion; + user:User; + user$:Observable + public tabItems: MenuItem[]; + public menuItems: MenuItem[]; + activeItem + faUserGear=faUserGear + constructor(public userService: UserService,private router: Router) { + + } + + ngOnInit(){ + this.user$=this.userService.getUserObservable(); + this.tabItems = [ + { + label: 'Businesses for Sale', + routerLink: '/listings/business', + fragment:'' + }, + { + label: 'Professionals/Brokers Directory', + routerLink: '/listings/professionals_brokers', + fragment:'' + }, + { + label: 'Investment Property', + routerLink: '/listings/investment', + fragment:'' + } + ]; + this.menuItems = [ + { + label: 'User Actions', + icon: 'fas fa-cog', + items: [ + { + label: 'Account', + icon: 'pi pi-user', + routerLink: '/account', + visible: this.isUserLoogedIn() + }, + { + label: 'Create Listing', + icon: 'pi pi-plus-circle', + routerLink: "/createListing", + visible: this.isUserLoogedIn() + }, + { + label: 'My Listings', + icon: 'pi pi-list', + routerLink:"/myListings", + visible: this.isUserLoogedIn() + }, + { + label: 'My Favorites', + icon: 'pi pi-star', + routerLink:"/myFavorites", + visible: this.isUserLoogedIn() + }, + { + label: 'EMail Us', + icon: 'fa-regular fa-envelope', + routerLink:"/emailUs", + visible: this.isUserLoogedIn() + }, + { + label: 'Logout', + icon: 'fa-solid fa-right-from-bracket', + routerLink:"/logout", + visible: this.isUserLoogedIn() + }, + { + label: 'Login', + icon: 'fa-solid fa-right-from-bracket', + //routerLink:"/account", + command: () => this.login(), + visible: !this.isUserLoogedIn() + }, + ] + } + ] + this.activeItem=this.tabItems[0]; + } + navigateWithState(dest: string, state: any) { + this.router.navigate([dest], { state: state }); + } + isUserLoogedIn(){ + return this.userService?.isLoggedIn(); + } + login(){ + this.userService.login(window.location.href); + } +} diff --git a/bizmatch/src/app/components/logout/logout.component.html b/bizmatch/src/app/components/logout/logout.component.html new file mode 100644 index 0000000..c6ae40e --- /dev/null +++ b/bizmatch/src/app/components/logout/logout.component.html @@ -0,0 +1 @@ +

logout works!

diff --git a/bizmatch/src/app/components/logout/logout.component.ts b/bizmatch/src/app/components/logout/logout.component.ts new file mode 100644 index 0000000..ddb1cf6 --- /dev/null +++ b/bizmatch/src/app/components/logout/logout.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { UserService } from '../../services/user.service'; +import { CommonModule } from '@angular/common'; +import { RouterModule } from '@angular/router'; + +@Component({ + selector: 'logout', + standalone: true, + imports: [CommonModule,RouterModule], + template:`` +}) +export class LogoutComponent { + constructor(private userService:UserService){ + userService.logout(); + } +} diff --git a/bizmatch/src/app/guards/auth.guard.ts b/bizmatch/src/app/guards/auth.guard.ts new file mode 100644 index 0000000..3565e46 --- /dev/null +++ b/bizmatch/src/app/guards/auth.guard.ts @@ -0,0 +1,38 @@ +import { CanMatchFn, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; +import { inject } from '@angular/core'; + +// Services +import { UserService } from '../services/user.service'; + +export const authGuard: CanMatchFn = async (route, segments): Promise => { + const router = inject(Router); + const userService = inject(UserService); + + const authenticated: boolean = userService.isLoggedIn(); + if (!authenticated) { + console.log(window.location.origin) + console.log(window.location.href) + await userService.login(`${window.location.origin}${segments['url']}`); + } + + // Get the user Keycloak roles and the required from the route + const roles: string[] = userService.getUserRoles();//keycloakService.getUserRoles(true); + const requiredRoles = route.data?.['roles']; + + // Allow the user to proceed if no additional roles are required to access the route + if (!Array.isArray(requiredRoles) || requiredRoles.length === 0) { + return true; + } + + // Allow the user to proceed if ALL of the required roles are present + const authorized = requiredRoles.every((role) => roles.includes(role)); + // Allow the user to proceed if ONE of the required roles is present + //const authorized = requiredRoles.some((role) => roles.includes(role)); + + if (authorized) { + return true; + } + + // Display my custom HTTP 403 access denied page + return router.createUrlTree(['/access']); +}; \ No newline at end of file diff --git a/bizmatch/src/app/interceptors/keycloak-bearer.interceptor.ts b/bizmatch/src/app/interceptors/keycloak-bearer.interceptor.ts new file mode 100644 index 0000000..e0fa1eb --- /dev/null +++ b/bizmatch/src/app/interceptors/keycloak-bearer.interceptor.ts @@ -0,0 +1,77 @@ +import { Injectable, inject } from '@angular/core'; +import { + HttpInterceptor, + HttpRequest, + HttpHandler, + HttpEvent, + HttpInterceptorFn, + HttpHandlerFn, +} from '@angular/common/http'; + +import { Observable, combineLatest, from, of } from 'rxjs'; +import { mergeMap } from 'rxjs/operators'; + +import { KeycloakService } from '../services/keycloak.service'; +import { ExcludedUrlRegex } from '../models/keycloak-options'; + +export const keycloakBearerInterceptor: HttpInterceptorFn = (req, next) => { + //return next(req); + const keycloak = inject(KeycloakService); + const { enableBearerInterceptor, excludedUrls } = keycloak; + if (!enableBearerInterceptor) { + return next(req); + } + + const shallPass: boolean = + !keycloak.shouldAddToken(req) || + excludedUrls.findIndex((item) => isUrlExcluded(req, item)) > -1; + if (shallPass) { + return next(req); + } + + return combineLatest([ + from(conditionallyUpdateToken(req)), + of(keycloak.isLoggedIn()), + ]).pipe( + mergeMap(([_, isLoggedIn]) => + isLoggedIn ? handleRequestWithTokenHeader(req, next) : next(req) + ) + ); +}; + +function isUrlExcluded( + { method, url }: HttpRequest, + { urlPattern, httpMethods }: ExcludedUrlRegex +): boolean { + const httpTest = + httpMethods.length === 0 || + httpMethods.join().indexOf(method.toUpperCase()) > -1; + + const urlTest = urlPattern.test(url); + + return httpTest && urlTest; +} + +function handleRequestWithTokenHeader( + req: HttpRequest, + next: HttpHandlerFn +): Observable> { + return this.keycloak.addTokenToHeader(req.headers).pipe( + mergeMap((headersWithBearer:string) => { + const kcReq = req.clone({ + headers: req.headers.set('Authorization', headersWithBearer) + });//req.clone({ headers: headersWithBearer }); + return next(kcReq); + }) + ); +} + +async function conditionallyUpdateToken( + req: HttpRequest +): Promise { + if (this.keycloak.shouldUpdateToken(req)) { + return await this.keycloak.updateToken(); + } + + return true; +} \ No newline at end of file diff --git a/bizmatch/src/app/interceptors/loading.interceptor.ts b/bizmatch/src/app/interceptors/loading.interceptor.ts new file mode 100644 index 0000000..874c09e --- /dev/null +++ b/bizmatch/src/app/interceptors/loading.interceptor.ts @@ -0,0 +1,21 @@ +import { HttpInterceptorFn } from '@angular/common/http'; +import { inject } from '@angular/core'; +import { tap } from 'rxjs'; +import { v4 } from 'uuid'; +import { LoadingService } from '../services/loading.service'; + +export const loadingInterceptor: HttpInterceptorFn = (req, next) => { + const loadingService = inject(LoadingService); + + const requestId = `HTTP-${v4()}`; + + loadingService.startLoading(requestId); + + return next(req).pipe( + tap({ + finalize: () => loadingService.stopLoading(requestId), + error: () => loadingService.stopLoading(requestId), + complete: () => loadingService.stopLoading(requestId), + }) + ); +}; \ No newline at end of file diff --git a/bizmatch/src/app/models/keycloak-event.ts b/bizmatch/src/app/models/keycloak-event.ts new file mode 100644 index 0000000..1773dbc --- /dev/null +++ b/bizmatch/src/app/models/keycloak-event.ts @@ -0,0 +1,52 @@ +export enum KeycloakEventType { + /** + * Called if there was an error during authentication. + */ + OnAuthError, + /** + * Called if the user is logged out + * (will only be called if the session status iframe is enabled, or in Cordova mode). + */ + OnAuthLogout, + /** + * Called if there was an error while trying to refresh the token. + */ + OnAuthRefreshError, + /** + * Called when the token is refreshed. + */ + OnAuthRefreshSuccess, + /** + * Called when a user is successfully authenticated. + */ + OnAuthSuccess, + /** + * Called when the adapter is initialized. + */ + OnReady, + /** + * Called when the access token is expired. If a refresh token is available the token + * can be refreshed with updateToken, or in cases where it is not (that is, with implicit flow) + * you can redirect to login screen to obtain a new access token. + */ + OnTokenExpired, + /** + * Called when a AIA has been requested by the application. + */ + OnActionUpdate + } + + /** + * Structure of an event triggered by Keycloak, contains it's type + * and arguments (if any). + */ + export interface KeycloakEvent { + /** + * Event type as described at {@link KeycloakEventType}. + */ + type: KeycloakEventType; + /** + * Arguments from the keycloak-js event function. + */ + args?: unknown; + } \ No newline at end of file diff --git a/bizmatch/src/app/models/keycloak-options.ts b/bizmatch/src/app/models/keycloak-options.ts new file mode 100644 index 0000000..04450b1 --- /dev/null +++ b/bizmatch/src/app/models/keycloak-options.ts @@ -0,0 +1,142 @@ +/** + * @license + * Copyright Mauricio Gemelli Vigolo and contributors. + * + * Use of this source code is governed by a MIT-style license that can be + * found in the LICENSE file at https://github.com/mauriciovigolo/keycloak-angular/blob/main/LICENSE.md + */ + +import { HttpRequest } from '@angular/common/http'; + +/** + * HTTP Methods + */ +export type HttpMethods = + | 'GET' + | 'POST' + | 'PUT' + | 'DELETE' + | 'OPTIONS' + | 'HEAD' + | 'PATCH'; + +/** + * ExcludedUrl type may be used to specify the url and the HTTP method that + * should not be intercepted by the KeycloakBearerInterceptor. + * + * Example: + * const excludedUrl: ExcludedUrl[] = [ + * { + * url: 'reports/public' + * httpMethods: ['GET'] + * } + * ] + * + * In the example above for URL reports/public and HTTP Method GET the + * bearer will not be automatically added. + * + * If the url is informed but httpMethod is undefined, then the bearer + * will not be added for all HTTP Methods. + */ +export interface ExcludedUrl { + url: string; + httpMethods?: HttpMethods[]; +} + +/** + * Similar to ExcludedUrl, contains the HTTP methods and a regex to + * include the url patterns. + * This interface is used internally by the KeycloakService. + */ +export interface ExcludedUrlRegex { + urlPattern: RegExp; + httpMethods?: HttpMethods[]; +} + +/** + * keycloak-angular initialization options. + */ +export interface KeycloakOptions { + /** + * Configs to init the keycloak-js library. If undefined, will look for a keycloak.json file + * at root of the project. + * If not undefined, can be a string meaning the url to the keycloak.json file or an object + * of {@link Keycloak.KeycloakConfig}. Use this configuration if you want to specify the keycloak server, + * realm, clientId. This is usefull if you have different configurations for production, stage + * and development environments. Hint: Make use of Angular environment configuration. + */ + config?: string | Keycloak.KeycloakConfig; + /** + * Options to initialize the Keycloak adapter, matches the options as provided by Keycloak itself. + */ + initOptions?: Keycloak.KeycloakInitOptions; + /** + * By default all requests made by Angular HttpClient will be intercepted in order to + * add the bearer in the Authorization Http Header. However, if this is a not desired + * feature, the enableBearerInterceptor must be false. + * + * Briefly, if enableBearerInterceptor === false, the bearer will not be added + * to the authorization header. + * + * The default value is true. + */ + enableBearerInterceptor?: boolean; + /** + * Forces the execution of loadUserProfile after the keycloak initialization considering that the + * user logged in. + * This option is recommended if is desirable to have the user details at the beginning, + * so after the login, the loadUserProfile function will be called and its value cached. + * + * The default value is true. + */ + loadUserProfileAtStartUp?: boolean; + /** + * @deprecated + * String Array to exclude the urls that should not have the Authorization Header automatically + * added. This library makes use of Angular Http Interceptor, to automatically add the Bearer + * token to the request. + */ + bearerExcludedUrls?: (string | ExcludedUrl)[]; + /** + * This value will be used as the Authorization Http Header name. The default value is + * **Authorization**. If the backend expects requests to have a token in a different header, you + * should change this value, i.e: **JWT-Authorization**. This will result in a Http Header + * Authorization as "JWT-Authorization: bearer ". + */ + authorizationHeaderName?: string; + /** + * This value will be included in the Authorization Http Header param. The default value is + * **Bearer**, which will result in a Http Header Authorization as "Authorization: Bearer ". + * + * If any other value is needed by the backend in the authorization header, you should change this + * value. + * + * Warning: this value must be in compliance with the keycloak server instance and the adapter. + */ + bearerPrefix?: string; + /** + * This value will be used to determine whether or not the token needs to be updated. If the token + * will expire is fewer seconds than the updateMinValidity value, then it will be updated. + * + * The default value is 20. + */ + updateMinValidity?: number; + /** + * A function that will tell the KeycloakBearerInterceptor whether to add the token to the request + * or to leave the request as it is. If the returned value is `true`, the request will have the token + * present on it. If it is `false`, the token will be left off the request. + * + * The default is a function that always returns `true`. + */ + shouldAddToken?: (request: HttpRequest) => boolean; + /** + * A function that will tell the KeycloakBearerInterceptor if the token should be considered for + * updating as a part of the request being made. If the returned value is `true`, the request will + * check the token's expiry time and if it is less than the number of seconds configured by + * updateMinValidity then it will be updated before the request is made. If the returned value is + * false, the token will not be updated. + * + * The default is a function that always returns `true`. + */ + shouldUpdateToken?: (request: HttpRequest) => boolean; +} \ No newline at end of file diff --git a/bizmatch/src/app/models/main.model.ts b/bizmatch/src/app/models/main.model.ts new file mode 120000 index 0000000..05f3682 --- /dev/null +++ b/bizmatch/src/app/models/main.model.ts @@ -0,0 +1 @@ +../../../../common-models/src/main.model.ts \ No newline at end of file diff --git a/bizmatch/src/app/pages/details/details.component.html b/bizmatch/src/app/pages/details/details.component.html new file mode 100644 index 0000000..6da7976 --- /dev/null +++ b/bizmatch/src/app/pages/details/details.component.html @@ -0,0 +1,146 @@ +
+
+
+
+
{{listing?.title}}
+ + +
+ +
+
+
    + @if (listing && (listing.listingsCategory==='business' || listing.listingsCategory==='professionals_brokers')){ +
  • +
    Summary
    +
    + @for (summary of listing.summary; track summary; let idx = $index; let last = $last) { +
    {{summary}}
    + @if (!last) { +
    + } + } +
    +
  • + } +
  • +
    Description
    +
    {{listing?.description}}
    +
  • + @if (listing && (listing.listingsCategory==='business')){ +
  • +
    Category
    +
    + +
    +
  • +
  • +
    Located in
    +
    {{selectOptions.getLocation(listing.location)}}
    +
  • +
  • +
    Asking Price
    +
    {{listing.price | currency}}
    +
  • +
  • +
    Real Estate Included
    +
    {{listing.realEstateIncluded?'Yes':'No'}}
    +
  • +
  • +
    Sales revenue
    +
    {{listing.salesRevenue | currency}}
    +
  • +
  • +
    Cash flow
    +
    {{listing.cashFlow | currency}}
    +
  • +
  • +
    Employees
    +
    {{listing.employees}}
    +
  • +
  • +
    Broker licensing
    +
    {{listing.brokerLicencing}}
    +
  • + } + @if (listing && (listing.listingsCategory==='professionals_brokers')){ +
  • +
    Located in
    +
    {{selectOptions.getLocation(listing.location)}}
    +
  • +
  • +
    Address
    +
    {{listing.address}}
    +
  • +
  • +
    EMail
    +
    {{listing.email}}
    +
  • +
  • +
    Website
    +
    {{listing.website}}
    +
  • +
  • +
    Category
    +
    {{listing.category}}
    +
  • + } + @if (listing && (listing.listingsCategory==='investment')){ +
  • +
    Located in
    +
    {{selectOptions.getLocation(listing.location)}}
    +
  • +
  • +
    EMail
    +
    {{listing.email}}
    +
  • +
  • +
    Website
    +
    {{listing.website}}
    +
  • +
  • +
    Phone Number
    +
    {{listing.phoneNumber}}
    +
  • + } +
+ @if(listing && user && (user.id===listing?.userId || isAdmin())){ + + } +
+
+
+
Contact The Author of This Listing +
+
Please Include your contact info below:
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ +
+
+
+
+ +
\ No newline at end of file diff --git a/bizmatch/src/app/pages/details/details.component.scss b/bizmatch/src/app/pages/details/details.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/bizmatch/src/app/pages/details/details.component.ts b/bizmatch/src/app/pages/details/details.component.ts new file mode 100644 index 0000000..ebf999a --- /dev/null +++ b/bizmatch/src/app/pages/details/details.component.ts @@ -0,0 +1,50 @@ +import { Component } from '@angular/core'; +import { ButtonModule } from 'primeng/button'; +import { CheckboxModule } from 'primeng/checkbox'; +import { InputTextModule } from 'primeng/inputtext'; +import { StyleClassModule } from 'primeng/styleclass'; +import { BusinessListing, InvestmentsListing, KeyValue, ListingCriteria, ProfessionalsBrokersListing, User } from '../../models/main.model'; +import { SelectOptionsService } from '../../services/select-options.service'; +import { DropdownModule } from 'primeng/dropdown'; +import { FormsModule } from '@angular/forms'; +import { CommonModule } from '@angular/common'; +import { ToggleButtonModule } from 'primeng/togglebutton'; +import { TagModule } from 'primeng/tag'; +import data from '../../../assets/data/listings.json'; +import { ActivatedRoute, Router, RouterModule } from '@angular/router'; +import { InputTextareaModule } from 'primeng/inputtextarea'; +import { ChipModule } from 'primeng/chip'; +import { lastValueFrom } from 'rxjs'; +import { ListingsService } from '../../services/listings.service'; +import { UserService } from '../../services/user.service'; +import onChange from 'on-change'; +import { getCriteriaStateObject, getSessionStorageHandler } from '../../utils/utils'; +@Component({ + selector: 'app-details', + standalone: true, + imports: [CommonModule, StyleClassModule, ButtonModule, CheckboxModule, InputTextModule, DropdownModule, FormsModule, ChipModule,InputTextareaModule,RouterModule], + templateUrl: './details.component.html', + styleUrl: './details.component.scss' +}) +export class DetailsComponent { + // listings: Array; + + private id: string | undefined = this.activatedRoute.snapshot.params['id'] as string | undefined; + listing: BusinessListing|ProfessionalsBrokersListing|InvestmentsListing; + user:User; + criteria:ListingCriteria + constructor(private activatedRoute: ActivatedRoute,private listingsService:ListingsService,private router:Router,private userService:UserService,public selectOptions: SelectOptionsService){ + this.criteria = onChange(getCriteriaStateObject(),getSessionStorageHandler); + } + + async ngOnInit(){ + this.user = this.userService.getUser(); + this.listing=await lastValueFrom(this.listingsService.getListingById(this.id)); + } + back(){ + this.router.navigate(['listings',this.criteria.listingsCategory]) + } + isAdmin(){ + return this.userService.hasAdminRole(); + } +} diff --git a/bizmatch/src/app/pages/home/home.component.html b/bizmatch/src/app/pages/home/home.component.html new file mode 100644 index 0000000..a860f15 --- /dev/null +++ b/bizmatch/src/app/pages/home/home.component.html @@ -0,0 +1,93 @@ +
+
+
+ Image + +
+
+
+
+

Find businesses for sale

+

Arcu cursus euismod quis viverra nibh cras. Amet justo + donec + enim diam vulputate ut.

+
    +
  • Senectus et netus et malesuada fames.
  • +
  • Orci a scelerisque purus semper eget.
  • +
  • Aenean sed adipiscing diam donec adipiscing + tristique.
  • +
+ +
+
+
+
    +
  • +
  • +
  • +
  • +
+
+
+
+ + + + +
+
+
+
+ +
+
+
+
+
\ No newline at end of file diff --git a/bizmatch/src/app/pages/home/home.component.scss b/bizmatch/src/app/pages/home/home.component.scss new file mode 100644 index 0000000..3356146 --- /dev/null +++ b/bizmatch/src/app/pages/home/home.component.scss @@ -0,0 +1,17 @@ +:host { + height: 100% +} + +.container { + background-image: url(../../../assets/images/index-bg.webp); + //background-image: url(../../../assets/images/corpusChristiSkyline.jpg); + background-size: cover; + background-position: center; + height: 100vh; +} +.combo_lp{ + width: 200px; +} +.p-button-white{ + color:aliceblue +} \ No newline at end of file diff --git a/bizmatch/src/app/pages/home/home.component.ts b/bizmatch/src/app/pages/home/home.component.ts new file mode 100644 index 0000000..14bdcc5 --- /dev/null +++ b/bizmatch/src/app/pages/home/home.component.ts @@ -0,0 +1,45 @@ +import { Component } from '@angular/core'; +import { DropdownModule } from 'primeng/dropdown'; +import { KeyValue, ListingCriteria } from '../../models/main.model'; +import { FormsModule } from '@angular/forms'; +import { CommonModule } from '@angular/common'; +import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { ActivatedRoute, Router, RouterModule } from '@angular/router'; +import { StyleClassModule } from 'primeng/styleclass'; +import { ButtonModule } from 'primeng/button'; +import { CheckboxModule } from 'primeng/checkbox'; +import { InputTextModule } from 'primeng/inputtext'; +import { SelectOptionsService } from '../../services/select-options.service'; +import { UserService } from '../../services/user.service'; +import onChange from 'on-change'; +import { getCriteriaStateObject, getSessionStorageHandler } from '../../utils/utils'; +@Component({ + selector: 'app-home', + standalone: true, + imports: [CommonModule, StyleClassModule,ButtonModule, CheckboxModule,InputTextModule,DropdownModule,FormsModule, RouterModule], + templateUrl: './home.component.html', + styleUrl: './home.component.scss' +}) +export class HomeComponent { + activeTabAction = 'business'; + type:string; + maxPrice:string; + minPrice:string; + criteria:ListingCriteria + public constructor(private router: Router,private activatedRoute: ActivatedRoute, public selectOptions:SelectOptionsService, public userService:UserService) { + this.criteria = onChange(getCriteriaStateObject(),getSessionStorageHandler); + } + ngOnInit(){ + + } + + search(){ + this.router.navigate([`listings/${this.activeTabAction}`]) + } + + account(){ + setTimeout(()=>{ + this.router.navigate([`account`]) + },10); + } +} \ No newline at end of file diff --git a/bizmatch/src/app/pages/listings/listings.component.html b/bizmatch/src/app/pages/listings/listings.component.html new file mode 100644 index 0000000..f607d06 --- /dev/null +++ b/bizmatch/src/app/pages/listings/listings.component.html @@ -0,0 +1,130 @@ +
+
+ +
+
+
+ @for (listing of filteredListings; track listing.id) { +
+
+
+ @if (listing.listingsCategory==='business'){ +
+ + + + {{selectOptions.getBusiness(listing.type)}} +
+ } + @if (listing.listingsCategory==='professionals_brokers'){ +
+ + + + {{selectOptions.getCategory(listing.category)}} +
+ } + @if (listing.listingsCategory==='investment'){ +
+ + + + Investment +
+ } +
{{listing.title}}
+ @if (listing.listingsCategory==='business'){ +

Asking price: {{listing.price | currency}}

+

Sales revenue: {{listing.salesRevenue | currency}}

+

Net profit: {{listing.cashFlow | currency}}

+

Location: {{selectOptions.getLocation(listing.location)}}

+

Established: {{listing.established}}

+ } + @if (listing.listingsCategory==='professionals_brokers'){ + +

Location: {{selectOptions.getLocation(listing.location)}}

+

EMail: {{listing.email}}

+

Website: {{listing.website}}

+ } + @if (listing.listingsCategory==='investment'){ +

Location: {{selectOptions.getLocation(listing.location)}}

+

EMail: {{listing.email}}

+

Website: {{listing.website}}

+

Phone Number: {{listing.phoneNumber}}

+ } +
+ +
+
+
+ +
+
+
+ } +
+
+
Total number of Listings: {{totalRecords}}
+ +
+ +
+
\ No newline at end of file diff --git a/bizmatch/src/app/pages/listings/listings.component.scss b/bizmatch/src/app/pages/listings/listings.component.scss new file mode 100644 index 0000000..248f146 --- /dev/null +++ b/bizmatch/src/app/pages/listings/listings.component.scss @@ -0,0 +1,22 @@ +#sky-line { + background-image: url(../../../assets/images/bw-sky.jpg); + height: 204px; + background-position: bottom; + background-size: cover; + margin-bottom: -1px; +} +.search{ + background-color: #343F69; +} +::ng-deep p-paginator div { + background-color: var(--surface-200) !important; + // background-color: var(--surface-400) !important; +} +.rounded-image { + border-radius: 6px; + width: 100px; + height: 25px; + border: 1px solid rgba(0,0,0,0.2); + padding: 1px 1px; + object-fit: contain; +} \ No newline at end of file diff --git a/bizmatch/src/app/pages/listings/listings.component.ts b/bizmatch/src/app/pages/listings/listings.component.ts new file mode 100644 index 0000000..fa5851e --- /dev/null +++ b/bizmatch/src/app/pages/listings/listings.component.ts @@ -0,0 +1,96 @@ +import { ChangeDetectorRef, Component } from '@angular/core'; +import { ButtonModule } from 'primeng/button'; +import { CheckboxModule } from 'primeng/checkbox'; +import { InputTextModule } from 'primeng/inputtext'; +import { StyleClassModule } from 'primeng/styleclass'; +import { BusinessListing, InvestmentsListing, KeyValue, ListingCriteria, ListingType, PageEvent, ProfessionalsBrokersListing, } from '../../models/main.model'; +import { SelectOptionsService } from '../../services/select-options.service'; +import { DropdownModule } from 'primeng/dropdown'; +import { FormsModule } from '@angular/forms'; +import { CommonModule } from '@angular/common'; +import { ToggleButtonModule } from 'primeng/togglebutton'; +import { ActivatedRoute, Router, RouterModule } from '@angular/router'; +import { ListingsService } from '../../services/listings.service'; +import { Observable, lastValueFrom } from 'rxjs'; +import { PaginatorModule } from 'primeng/paginator'; +import onChange from 'on-change'; +import { createGenericObject, getCriteriaStateObject, getSessionStorageHandler } from '../../utils/utils'; +import { InitEditableRow } from 'primeng/table'; +import { environment } from '../../../environments/environment'; +@Component({ + selector: 'app-listings', + standalone: true, + imports: [CommonModule, StyleClassModule, ButtonModule, CheckboxModule, InputTextModule, DropdownModule, FormsModule, StyleClassModule, ToggleButtonModule, RouterModule, PaginatorModule], + templateUrl: './listings.component.html', + styleUrls: ['./listings.component.scss', '../pages.scss'] +}) +export class ListingsComponent { + environment=environment; + listings: Array; + filteredListings: Array; + criteria:ListingCriteria; + realEstateChecked: boolean; + category: string; + maxPrice: string; + minPrice: string; + type:string; + locations = []; + locationsSet = new Set(); + location:string; + first: number = 0; + rows: number = 12; + totalRecords:number = 0; + public listingCategory: 'business' | 'professionals_brokers' | 'investment' | undefined; + + constructor(public selectOptions: SelectOptionsService, private listingsService:ListingsService,private activatedRoute: ActivatedRoute, private router:Router, private cdRef:ChangeDetectorRef) { + this.criteria = onChange(getCriteriaStateObject(),getSessionStorageHandler); + this.router.getCurrentNavigation() + this.activatedRoute.snapshot + this.activatedRoute.params.subscribe(params => { + if (this.activatedRoute.snapshot.fragment===''){ + this.criteria = onChange(createGenericObject(),getSessionStorageHandler) + this.first=0; + } + this.listingCategory = (params).type; + this.criteria.listingsCategory=this.listingCategory; + this.init() + }) + + } + async ngOnInit(){ + } + async init(){ + this.listings=await this.listingsService.getListings(this.criteria); + this.setLocations(); + this.filteredListings=[...this.listings]; + this.totalRecords=this.listings.length + this.filteredListings=[...this.listings].splice(this.first,this.rows); + this.cdRef.markForCheck(); + this.cdRef.detectChanges(); + } + setLocations(){ + this.locationsSet=new Set(); + this.listings.forEach(l=>{ + if (l.location){ + this.locationsSet.add(l.location) + } + }) + this.locations = [...this.locationsSet].map((ls) =>({name:this.selectOptions.getLocation(ls as string),value:ls})) + } + async search() { + this.listings= await this.listingsService.getListings(this.criteria); + this.setLocations(); + this.totalRecords=this.listings.length + this.filteredListings =[...this.listings].splice(this.first,this.rows); + this.cdRef.markForCheck(); + this.cdRef.detectChanges(); + } + onPageChange(event: any) { + this.first = event.first; + this.rows = event.rows; + this.filteredListings=[...this.listings].splice(this.first,this.rows); + } + imageErrorHandler(listing: ListingType) { + listing.hideImage = true; // Bild ausblenden, wenn es nicht geladen werden kann + } +} diff --git a/bizmatch/src/app/pages/menu-account/menu-account.component.html b/bizmatch/src/app/pages/menu-account/menu-account.component.html new file mode 100644 index 0000000..4d9046e --- /dev/null +++ b/bizmatch/src/app/pages/menu-account/menu-account.component.html @@ -0,0 +1,42 @@ + \ No newline at end of file diff --git a/bizmatch/src/app/pages/menu-account/menu-account.component.scss b/bizmatch/src/app/pages/menu-account/menu-account.component.scss new file mode 100644 index 0000000..4fcf699 --- /dev/null +++ b/bizmatch/src/app/pages/menu-account/menu-account.component.scss @@ -0,0 +1,3 @@ +ul { + text-wrap: nowrap; +} \ No newline at end of file diff --git a/bizmatch/src/app/pages/menu-account/menu-account.component.ts b/bizmatch/src/app/pages/menu-account/menu-account.component.ts new file mode 100644 index 0000000..9d5608e --- /dev/null +++ b/bizmatch/src/app/pages/menu-account/menu-account.component.ts @@ -0,0 +1,43 @@ +import { Component } from '@angular/core'; +import { ButtonModule } from 'primeng/button'; +import { CheckboxModule } from 'primeng/checkbox'; +import { InputTextModule } from 'primeng/inputtext'; +import { StyleClassModule } from 'primeng/styleclass'; +import { BusinessListing, KeyValue } from '../../models/main.model'; +import { SelectOptionsService } from '../../services/select-options.service'; +import { DropdownModule } from 'primeng/dropdown'; +import { FormsModule } from '@angular/forms'; +import { CommonModule } from '@angular/common'; +import { ToggleButtonModule } from 'primeng/togglebutton'; +import { TagModule } from 'primeng/tag'; +import data from '../../../assets/data/listings.json'; +import { ActivatedRoute, NavigationEnd, Router, RouterModule } from '@angular/router'; +import { InputTextareaModule } from 'primeng/inputtextarea'; +import { ChipModule } from 'primeng/chip'; +import { DividerModule } from 'primeng/divider'; +import { RippleModule } from 'primeng/ripple'; +import { faEnvelope } from '@fortawesome/free-regular-svg-icons'; +import { faRightFromBracket } from '@fortawesome/free-solid-svg-icons'; +import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; +import { UserService } from '../../services/user.service'; + +@Component({ + selector: 'menu-account', + standalone: true, + imports: [CommonModule, StyleClassModule, ButtonModule, DividerModule, RouterModule, RippleModule, FontAwesomeModule ], + templateUrl: './menu-account.component.html', + styleUrl: './menu-account.component.scss' +}) +export class MenuAccountComponent { + activeLink: string; + faEnvelope=faEnvelope; + faRightFromBracket=faRightFromBracket; + constructor(private router: Router,public userService:UserService) { + // Abonniere Router-Events, um den aktiven Link zu ermitteln + this.router.events.subscribe(event => { + if (event instanceof NavigationEnd) { + this.activeLink = event.url; + } + }); + } +} diff --git a/bizmatch/src/app/pages/pages.scss b/bizmatch/src/app/pages/pages.scss new file mode 100644 index 0000000..f0f0bbd --- /dev/null +++ b/bizmatch/src/app/pages/pages.scss @@ -0,0 +1,6 @@ +.wrapper { + width: 1491px; + max-width: 100%; + height: 100%; + margin: auto; +} \ No newline at end of file diff --git a/bizmatch/src/app/pages/pricing/pricing.component.html b/bizmatch/src/app/pages/pricing/pricing.component.html new file mode 100644 index 0000000..d1ffc33 --- /dev/null +++ b/bizmatch/src/app/pages/pricing/pricing.component.html @@ -0,0 +1,85 @@ +
+
+
+ Image +
+
+
+
Pricing
+
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Velitnumquam eligendi quos.
+
+
+
    +
  • + + Arcu vitae elementum +
  • +
  • + + Dui faucibus in ornare +
  • +
  • + + Morbi tincidunt augue +
  • +
+
+
+
    +
  • + + Duis ultricies lacus sed +
  • +
  • + + Imperdiet proin +
  • +
  • + + Nisi scelerisque +
  • +
+
+
+
+
+
+
Free Forever
+
Free
+ +

Lorem ipsum dolor sit, amet consectetur adipisicing elit.

+
+
+
+
+
Monthly
+
+ $29 + per month +
+ +

Nec ultrices dui sapien eget. Amet nulla facilisi morbi tempus.

+
+
+
+
+
+
Yearly
+ 🎉 Save 20% +
+
+ $275 + per year +
+ +

Placerat in egestas erat imperdiet sed euismod nisi porta.

+
+
+
+
+ +
+
+
diff --git a/bizmatch/src/app/pages/pricing/pricing.component.scss b/bizmatch/src/app/pages/pricing/pricing.component.scss new file mode 100644 index 0000000..eeae235 --- /dev/null +++ b/bizmatch/src/app/pages/pricing/pricing.component.scss @@ -0,0 +1,11 @@ +:host { + height: 100% + } + + .container { + background-image: url(../../../assets/images/index-bg.jpg), url(../../../assets/images/pricing-4.svg); + //background-image: url(../../../assets/images/corpusChristiSkyline.jpg); + background-size: cover; + background-position: center; + height: 100vh; + } \ No newline at end of file diff --git a/bizmatch/src/app/pages/pricing/pricing.component.ts b/bizmatch/src/app/pages/pricing/pricing.component.ts new file mode 100644 index 0000000..53162b2 --- /dev/null +++ b/bizmatch/src/app/pages/pricing/pricing.component.ts @@ -0,0 +1,17 @@ +import { Component } from '@angular/core'; +import { SharedModule } from '../../shared/shared/shared.module'; +import { UserService } from '../../services/user.service'; + +@Component({ + selector: 'app-pricing', + standalone: true, + imports: [SharedModule], + templateUrl: './pricing.component.html', + styleUrl: './pricing.component.scss' +}) +export class PricingComponent { + constructor(private userService:UserService){} + register(){ + this.userService.register(`${window.location.origin}/account`); + } +} diff --git a/bizmatch/src/app/pages/subscription/account/account.component.html b/bizmatch/src/app/pages/subscription/account/account.component.html new file mode 100644 index 0000000..3927124 --- /dev/null +++ b/bizmatch/src/app/pages/subscription/account/account.component.html @@ -0,0 +1,108 @@ + +
+
+ + +
+
Account Details
+ +
+
+
+ + +

Usernames cannot be changed.

+
+
+ + +
+
+ + +
+
+ + +
+
+ +

If you would like to change the password type a new one. Otherwise leave this blank.

+ +

Password repetition

+ +
+ +
+ +
+
+
+ Profile Picture + + + + +
+
+
Membership Level
+ + + + + + ID + Level + Start Date + Date Modified + End Date + Status + + + + + + + + {{ subscription.id }} + {{ subscription.level }} + {{ subscription.start | date }} + {{ subscription.modified | date }} + {{ subscription.end | date }} + {{ subscription.status }} + + + + + +
+ + + + + ID + Date + Price + + + + + + + + {{ invoice.id }} + {{ invoice.date | date}} + {{ invoice.price | currency}} + + + + + +
+ + +
+
+
+
+
\ No newline at end of file diff --git a/bizmatch/src/app/pages/subscription/account/account.component.scss b/bizmatch/src/app/pages/subscription/account/account.component.scss new file mode 100644 index 0000000..990c335 --- /dev/null +++ b/bizmatch/src/app/pages/subscription/account/account.component.scss @@ -0,0 +1,9 @@ +.rounded-image { + border-radius: 6px; + width: 120px; + height: 30px; + border: 1px solid #6b7280; + padding: 1px 1px; + object-fit: contain; + } + \ No newline at end of file diff --git a/bizmatch/src/app/pages/subscription/account/account.component.ts b/bizmatch/src/app/pages/subscription/account/account.component.ts new file mode 100644 index 0000000..ca2cfaf --- /dev/null +++ b/bizmatch/src/app/pages/subscription/account/account.component.ts @@ -0,0 +1,64 @@ +import { Component } from '@angular/core'; +import { ButtonModule } from 'primeng/button'; +import { CheckboxModule } from 'primeng/checkbox'; +import { InputTextModule } from 'primeng/inputtext'; +import { StyleClassModule } from 'primeng/styleclass'; +import { BusinessListing, Invoice, KeyValue, Subscription, User } from '../../../models/main.model'; +import { SelectOptionsService } from '../../../services/select-options.service'; +import { DropdownModule } from 'primeng/dropdown'; +import { FormsModule } from '@angular/forms'; +import { CommonModule } from '@angular/common'; +import { ToggleButtonModule } from 'primeng/togglebutton'; +import { TagModule } from 'primeng/tag'; +import { ActivatedRoute } from '@angular/router'; +import { InputTextareaModule } from 'primeng/inputtextarea'; +import { ChipModule } from 'primeng/chip'; +import { MenuAccountComponent } from '../../menu-account/menu-account.component'; +import { DividerModule } from 'primeng/divider'; +import { TableModule } from 'primeng/table'; +import { HttpClient } from '@angular/common/http'; +import { UserService } from '../../../services/user.service'; +import { SharedModule } from '../../../shared/shared/shared.module'; +import { SubscriptionsService } from '../../../services/subscriptions.service'; +import { lastValueFrom } from 'rxjs'; +import { MessageService } from 'primeng/api'; +import { environment } from '../../../../environments/environment'; +import { FileUploadModule } from 'primeng/fileupload'; + + +@Component({ + selector: 'app-account', + standalone: true, + // imports: [CommonModule, StyleClassModule, MenuAccountComponent, DividerModule,ButtonModule, TableModule, InputTextModule, DropdownModule, FormsModule, ChipModule,InputTextareaModule ], + imports: [SharedModule,FileUploadModule], + providers:[MessageService], + templateUrl: './account.component.html', + styleUrl: './account.component.scss' +}) +export class AccountComponent { + user:User; + subscriptions:Array; + userSubscriptions:Array=[]; + uploadUrl:string; + maxFileSize=1000000; + imageUrl:string; + constructor(public userService: UserService, private subscriptionService: SubscriptionsService,private messageService: MessageService) { + this.user=this.userService.getUser() + } + async ngOnInit(){ + this.imageUrl = `${environment.apiBaseUrl}/profile_${this.user.id}` + this.userSubscriptions=await lastValueFrom(this.subscriptionService.getAllSubscriptions()); + this.uploadUrl = `${environment.apiBaseUrl}/bizmatch/account/uploadPhoto/${this.user.id}`; + } + printInvoice(invoice:Invoice){} + updateProfile(user:User){ + this.messageService.add({ severity: 'warn', summary: 'Information', detail: 'This function is not yet available, please send an email to info@bizmatch.net for changes to your customer data', life: 15000 }); + } + onUpload(event:any){ + const uniqueSuffix = '?_ts=' + new Date().getTime(); + this.imageUrl = `${environment.apiBaseUrl}/profile_${this.user.id}${uniqueSuffix}` //`http://IhrServer:Port/${newImagePath}${uniqueSuffix}`; + } + setImageToFallback(event: Event) { + (event.target as HTMLImageElement).src = `/assets/images/placeholder.png`; // Pfad zum Platzhalterbild + } +} diff --git a/bizmatch/src/app/pages/subscription/edit-listing/edit-listing.component.html b/bizmatch/src/app/pages/subscription/edit-listing/edit-listing.component.html new file mode 100644 index 0000000..dd636cc --- /dev/null +++ b/bizmatch/src/app/pages/subscription/edit-listing/edit-listing.component.html @@ -0,0 +1,156 @@ + +
+
+ + +
+
{{mode==='create'?'New':'Edit'}} Listing
+ +
+
+
+ + +
+
+ + +
+ @if (listing.listingsCategory==='business' || listing.listingsCategory==='professionals_brokers'){ +
+
+ + +
+
+ } +
+
+ + +
+
+ @if (listing.listingsCategory==='business'){ +
+ + +
+ } +
+ + +
+ @if (listing.listingsCategory==='professionals_brokers'){ +
+
+ + +
+
+ } + @if (listing.listingsCategory==='professionals_brokers' || listing.listingsCategory==='investment'){ +
+
+ + +
+
+
+
+ + +
+
+ } + @if (listing.listingsCategory==='professionals_brokers'){ +
+ + +
+ } + @if (listing.listingsCategory==='investment'){ +
+
+ + +
+
+ } +
+
+ +
+
+ @if (listing.listingsCategory==='business'){ +
+
+ + + +
+
+ + Real Estate Included +
+
+
+
+ + + +
+
+ + + +
+
+
+
+ + + +
+
+ + + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ } +
+ @if (mode==='create'){ + + } @else { + + } +
+
+
+
+
+
\ No newline at end of file diff --git a/bizmatch/src/app/pages/subscription/edit-listing/edit-listing.component.scss b/bizmatch/src/app/pages/subscription/edit-listing/edit-listing.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/bizmatch/src/app/pages/subscription/edit-listing/edit-listing.component.ts b/bizmatch/src/app/pages/subscription/edit-listing/edit-listing.component.ts new file mode 100644 index 0000000..8b24862 --- /dev/null +++ b/bizmatch/src/app/pages/subscription/edit-listing/edit-listing.component.ts @@ -0,0 +1,77 @@ +import { Component } from '@angular/core'; +import { ButtonModule } from 'primeng/button'; +import { CheckboxModule } from 'primeng/checkbox'; +import { InputTextModule } from 'primeng/inputtext'; +import { StyleClassModule } from 'primeng/styleclass'; +import { BusinessListing, InvestmentsListing, Invoice, KeyValue, ProfessionalsBrokersListing, User } from '../../../models/main.model'; +import { SelectOptionsService } from '../../../services/select-options.service'; +import { DropdownModule } from 'primeng/dropdown'; +import { FormsModule } from '@angular/forms'; +import { CommonModule } from '@angular/common'; +import { ToggleButtonModule } from 'primeng/togglebutton'; +import { TagModule } from 'primeng/tag'; +import data from '../../../../assets/data/user.json'; +import dataListings from '../../../../assets/data/listings.json'; +import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; +import { InputTextareaModule } from 'primeng/inputtextarea'; +import { ChipModule } from 'primeng/chip'; +import { MenuAccountComponent } from '../../menu-account/menu-account.component'; +import { DividerModule } from 'primeng/divider'; +import { TableModule } from 'primeng/table'; +import { createGenericObject } from '../../../utils/utils'; +import { ListingsService } from '../../../services/listings.service'; +import { lastValueFrom } from 'rxjs'; +import { InputNumberModule } from 'primeng/inputnumber'; +import { ArrayToStringPipe } from '../../../pipes/array-to-string.pipe'; +import { UserService } from '../../../services/user.service'; +import { SharedModule } from '../../../shared/shared/shared.module'; +import { MessageService } from 'primeng/api'; +@Component({ + selector: 'create-listing', + standalone: true, + imports: [SharedModule,ArrayToStringPipe], + providers:[MessageService], + templateUrl: './edit-listing.component.html', + styleUrl: './edit-listing.component.scss' +}) +export class EditListingComponent { + listingCategory:'Business'|'Professionals/Brokers Directory'|'Investment Property'; + category:string; + location:string; + mode:'edit'|'create'; + separator:'\n\n' + listing:BusinessListing|ProfessionalsBrokersListing|InvestmentsListing = createGenericObject(); + private id: string | undefined = this.activatedRoute.snapshot.params['id'] as string | undefined; + user:User; + constructor(public selectOptions:SelectOptionsService,private router: Router,private activatedRoute: ActivatedRoute,private listingsService:ListingsService,public userService: UserService,private messageService: MessageService){ + this.user=this.userService.getUser(); + // Abonniere Router-Events, um den aktiven Link zu ermitteln + this.router.events.subscribe(event => { + if (event instanceof NavigationEnd) { + this.mode = event.url==='/createListing'?'create':'edit'; + } + }); + + } + async ngOnInit(){ + if (this.mode==='edit'){ + this.listing=await lastValueFrom(this.listingsService.getListingById(this.id)); + } else { + this.listing=createGenericObject(); + this.listing.userId=this.user.id + this.listing.listingsCategory='business'; + } + } + updateSummary(value: string): void { + const lines = value.split('\n'); + (this.listing).summary = lines.filter(l=>l.trim().length>0); + } + async update(id:string){ + await this.listingsService.update(this.listing,this.listing.id); + this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'Listing has been updated', life: 3000 }); + } + async create(){ + await this.listingsService.create(this.listing); + this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'Listing has been created', life: 3000 }); + } +} diff --git a/bizmatch/src/app/pages/subscription/email-us/email-us.component.html b/bizmatch/src/app/pages/subscription/email-us/email-us.component.html new file mode 100644 index 0000000..dcf8808 --- /dev/null +++ b/bizmatch/src/app/pages/subscription/email-us/email-us.component.html @@ -0,0 +1,35 @@ + +
+
+ +
+
Contact Us
+ +
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ +
+
+
+
+
+
\ No newline at end of file diff --git a/bizmatch/src/app/pages/subscription/email-us/email-us.component.scss b/bizmatch/src/app/pages/subscription/email-us/email-us.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/bizmatch/src/app/pages/subscription/email-us/email-us.component.ts b/bizmatch/src/app/pages/subscription/email-us/email-us.component.ts new file mode 100644 index 0000000..39827f9 --- /dev/null +++ b/bizmatch/src/app/pages/subscription/email-us/email-us.component.ts @@ -0,0 +1,29 @@ +import { Component } from '@angular/core'; +import { ButtonModule } from 'primeng/button'; +import { CheckboxModule } from 'primeng/checkbox'; +import { InputTextModule } from 'primeng/inputtext'; +import { StyleClassModule } from 'primeng/styleclass'; +import { BusinessListing, Invoice, KeyValue, User } from '../../../models/main.model'; +import { SelectOptionsService } from '../../../services/select-options.service'; +import { DropdownModule } from 'primeng/dropdown'; +import { FormsModule } from '@angular/forms'; +import { CommonModule } from '@angular/common'; +import { ToggleButtonModule } from 'primeng/togglebutton'; +import { TagModule } from 'primeng/tag'; +import data from '../../../../assets/data/user.json'; +import { ActivatedRoute } from '@angular/router'; +import { InputTextareaModule } from 'primeng/inputtextarea'; +import { ChipModule } from 'primeng/chip'; +import { MenuAccountComponent } from '../../menu-account/menu-account.component'; +import { DividerModule } from 'primeng/divider'; +import { TableModule } from 'primeng/table'; +@Component({ + selector: 'app-email-us', + standalone: true, + imports: [CommonModule, StyleClassModule, MenuAccountComponent, DividerModule,ButtonModule, CheckboxModule, InputTextModule, DropdownModule, FormsModule, ChipModule,InputTextareaModule], + templateUrl: './email-us.component.html', + styleUrl: './email-us.component.scss' +}) +export class EmailUsComponent { + +} diff --git a/bizmatch/src/app/pages/subscription/favorites/favorites.component.html b/bizmatch/src/app/pages/subscription/favorites/favorites.component.html new file mode 100644 index 0000000..3fe2393 --- /dev/null +++ b/bizmatch/src/app/pages/subscription/favorites/favorites.component.html @@ -0,0 +1,30 @@ + +
+
+ +
+
My Favorites
+ + + + + Title + Category + Located in + + + + + + {{ listing.title }} + {{ selectOptions.getListingsCategory(listing.listingsCategory) }} + {{ selectOptions.getLocation(listing.location) }} + + + + + + +
+
+
\ No newline at end of file diff --git a/bizmatch/src/app/pages/subscription/favorites/favorites.component.scss b/bizmatch/src/app/pages/subscription/favorites/favorites.component.scss new file mode 100644 index 0000000..08b3339 --- /dev/null +++ b/bizmatch/src/app/pages/subscription/favorites/favorites.component.scss @@ -0,0 +1,3 @@ +.wide-column{ + width: 40%; +} \ No newline at end of file diff --git a/bizmatch/src/app/pages/subscription/favorites/favorites.component.ts b/bizmatch/src/app/pages/subscription/favorites/favorites.component.ts new file mode 100644 index 0000000..6548949 --- /dev/null +++ b/bizmatch/src/app/pages/subscription/favorites/favorites.component.ts @@ -0,0 +1,29 @@ +import { Component } from '@angular/core'; +import { MenuAccountComponent } from '../../menu-account/menu-account.component'; +import dataListings from '../../../../assets/data/listings.json'; +import { BusinessListing, User } from '../../../models/main.model'; +import { SharedModule } from '../../../shared/shared/shared.module'; +import { UserService } from '../../../services/user.service'; +import { lastValueFrom } from 'rxjs'; +import { ListingsService } from '../../../services/listings.service'; +import { SelectOptionsService } from '../../../services/select-options.service'; + +@Component({ + selector: 'app-favorites', + standalone: true, + imports: [MenuAccountComponent, SharedModule], + templateUrl: './favorites.component.html', + styleUrl: './favorites.component.scss' +}) +export class FavoritesComponent { + user: User; + listings: Array //= dataListings as unknown as Array; + favorites: Array + constructor(public userService: UserService, private listingsService:ListingsService, public selectOptions:SelectOptionsService){ + this.user=this.userService.getUser(); + } + async ngOnInit(){ + this.listings=await lastValueFrom(this.listingsService.getAllListings()); + this.favorites=this.listings.filter(l=>l.favoritesForUser?.includes(this.user.id)); + } +} diff --git a/bizmatch/src/app/pages/subscription/my-listing/my-listing.component.html b/bizmatch/src/app/pages/subscription/my-listing/my-listing.component.html new file mode 100644 index 0000000..479228c --- /dev/null +++ b/bizmatch/src/app/pages/subscription/my-listing/my-listing.component.html @@ -0,0 +1,33 @@ + +
+
+ + + +
+
My Listings
+ + + + + Title + Category + Located in + + + + + + {{ listing.title }} + {{ selectOptions.getListingsCategory(listing.listingsCategory) }} + {{ selectOptions.getLocation(listing.location) }} + + + + + + + +
+
+
\ No newline at end of file diff --git a/bizmatch/src/app/pages/subscription/my-listing/my-listing.component.scss b/bizmatch/src/app/pages/subscription/my-listing/my-listing.component.scss new file mode 100644 index 0000000..08b3339 --- /dev/null +++ b/bizmatch/src/app/pages/subscription/my-listing/my-listing.component.scss @@ -0,0 +1,3 @@ +.wide-column{ + width: 40%; +} \ No newline at end of file diff --git a/bizmatch/src/app/pages/subscription/my-listing/my-listing.component.ts b/bizmatch/src/app/pages/subscription/my-listing/my-listing.component.ts new file mode 100644 index 0000000..a308204 --- /dev/null +++ b/bizmatch/src/app/pages/subscription/my-listing/my-listing.component.ts @@ -0,0 +1,49 @@ +import { ChangeDetectorRef, Component } from '@angular/core'; +import { MenuAccountComponent } from '../../menu-account/menu-account.component'; +import dataListings from '../../../../assets/data/listings.json'; +import { BusinessListing, ListingType, User } from '../../../models/main.model'; +import { SharedModule } from '../../../shared/shared/shared.module'; +import { UserService } from '../../../services/user.service'; +import { ListingsService } from '../../../services/listings.service'; +import { lastValueFrom } from 'rxjs'; +import { SelectOptionsService } from '../../../services/select-options.service'; +import { ConfirmationService, MessageService } from 'primeng/api'; +@Component({ + selector: 'app-my-listing', + standalone: true, + imports: [MenuAccountComponent, SharedModule], + providers:[ConfirmationService,MessageService], + templateUrl: './my-listing.component.html', + styleUrl: './my-listing.component.scss' +}) +export class MyListingComponent { + user: User; + listings: Array //dataListings as unknown as Array; + myListings: Array + constructor(public userService: UserService,private listingsService:ListingsService, private cdRef:ChangeDetectorRef,public selectOptions:SelectOptionsService,private confirmationService: ConfirmationService,private messageService: MessageService){ + this.user=this.userService.getUser(); + + } + async ngOnInit(){ + this.listings=await lastValueFrom(this.listingsService.getAllListings()); + this.myListings=this.listings.filter(l=>l.userId===this.user.id); + } + + async deleteListing(listing:ListingType){ + await this.listingsService.deleteListing(listing.id); + this.listings=await lastValueFrom(this.listingsService.getAllListings()); + this.myListings=this.listings.filter(l=>l.userId===this.user.id); + } + + confirm(event: Event,listing:ListingType) { + this.confirmationService.confirm({ + target: event.target as EventTarget, + message: 'Are you sure you want to delet this listing?', + icon: 'pi pi-exclamation-triangle', + accept: () => { + this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'Listing has been deleted', life: 3000 }); + this.deleteListing(listing); + } + }); +} +} diff --git a/bizmatch/src/app/pipes/array-to-string.pipe.ts b/bizmatch/src/app/pipes/array-to-string.pipe.ts new file mode 100644 index 0000000..2645482 --- /dev/null +++ b/bizmatch/src/app/pipes/array-to-string.pipe.ts @@ -0,0 +1,13 @@ +import { Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ + name: 'arrayToString', + standalone: true +}) +export class ArrayToStringPipe implements PipeTransform { + + transform(value: string|string[], separator: string = '\n'): string { + return Array.isArray(value)?value.join(separator):value; + } + +} diff --git a/bizmatch/src/app/services/keycloak.service.ts b/bizmatch/src/app/services/keycloak.service.ts new file mode 100644 index 0000000..222879b --- /dev/null +++ b/bizmatch/src/app/services/keycloak.service.ts @@ -0,0 +1,561 @@ +/** + * @license + * Copyright Mauricio Gemelli Vigolo and contributors. + * + * Use of this source code is governed by a MIT-style license that can be + * found in the LICENSE file at https://github.com/mauriciovigolo/keycloak-angular/blob/main/LICENSE.md + */ + +import { Injectable } from '@angular/core'; +import { HttpHeaders, HttpRequest } from '@angular/common/http'; + +import { Subject, from } from 'rxjs'; +import { map } from 'rxjs/operators'; +import Keycloak from 'keycloak-js'; + + +import { ExcludedUrl, ExcludedUrlRegex, KeycloakOptions } from '../models/keycloak-options'; +import { KeycloakEvent, KeycloakEventType } from '../models/keycloak-event'; + +/** + * Service to expose existent methods from the Keycloak JS adapter, adding new + * functionalities to improve the use of keycloak in Angular v > 4.3 applications. + * + * This class should be injected in the application bootstrap, so the same instance will be used + * along the web application. + */ +@Injectable() +export class KeycloakService { + /** + * Keycloak-js instance. + */ + private _instance: Keycloak.KeycloakInstance; + /** + * User profile as KeycloakProfile interface. + */ + private _userProfile: Keycloak.KeycloakProfile; + /** + * Flag to indicate if the bearer will not be added to the authorization header. + */ + private _enableBearerInterceptor: boolean; + /** + * When the implicit flow is choosen there must exist a silentRefresh, as there is + * no refresh token. + */ + private _silentRefresh: boolean; + /** + * Indicates that the user profile should be loaded at the keycloak initialization, + * just after the login. + */ + private _loadUserProfileAtStartUp: boolean; + /** + * The bearer prefix that will be appended to the Authorization Header. + */ + private _bearerPrefix: string; + /** + * Value that will be used as the Authorization Http Header name. + */ + private _authorizationHeaderName: string; + /** + * @deprecated + * The excluded urls patterns that must skip the KeycloakBearerInterceptor. + */ + private _excludedUrls: ExcludedUrlRegex[]; + /** + * Observer for the keycloak events + */ + private _keycloakEvents$: Subject = + new Subject(); + /** + * The amount of required time remaining before expiry of the token before the token will be refreshed. + */ + private _updateMinValidity: number; + /** + * Returns true if the request should have the token added to the headers by the KeycloakBearerInterceptor. + */ + shouldAddToken: (request: HttpRequest) => boolean; + /** + * Returns true if the request being made should potentially update the token. + */ + shouldUpdateToken: (request: HttpRequest) => boolean; + + /** + * Binds the keycloak-js events to the keycloakEvents Subject + * which is a good way to monitor for changes, if needed. + * + * The keycloakEvents returns the keycloak-js event type and any + * argument if the source function provides any. + */ + private bindsKeycloakEvents(): void { + this._instance.onAuthError = (errorData) => { + this._keycloakEvents$.next({ + args: errorData, + type: KeycloakEventType.OnAuthError + }); + }; + + this._instance.onAuthLogout = () => { + this._keycloakEvents$.next({ type: KeycloakEventType.OnAuthLogout }); + }; + + this._instance.onAuthRefreshSuccess = () => { + this._keycloakEvents$.next({ + type: KeycloakEventType.OnAuthRefreshSuccess + }); + }; + + this._instance.onAuthRefreshError = () => { + this._keycloakEvents$.next({ + type: KeycloakEventType.OnAuthRefreshError + }); + }; + + this._instance.onAuthSuccess = () => { + this._keycloakEvents$.next({ type: KeycloakEventType.OnAuthSuccess }); + }; + + this._instance.onTokenExpired = () => { + this._keycloakEvents$.next({ + type: KeycloakEventType.OnTokenExpired + }); + }; + + this._instance.onActionUpdate = (state) => { + this._keycloakEvents$.next({ + args: state, + type: KeycloakEventType.OnActionUpdate + }); + }; + + this._instance.onReady = (authenticated) => { + this._keycloakEvents$.next({ + args: authenticated, + type: KeycloakEventType.OnReady + }); + }; + } + + /** + * Loads all bearerExcludedUrl content in a uniform type: ExcludedUrl, + * so it becomes easier to handle. + * + * @param bearerExcludedUrls array of strings or ExcludedUrl that includes + * the url and HttpMethod. + */ + private loadExcludedUrls( + bearerExcludedUrls: (string | ExcludedUrl)[] + ): ExcludedUrlRegex[] { + const excludedUrls: ExcludedUrlRegex[] = []; + for (const item of bearerExcludedUrls) { + let excludedUrl: ExcludedUrlRegex; + if (typeof item === 'string') { + excludedUrl = { urlPattern: new RegExp(item, 'i'), httpMethods: [] }; + } else { + excludedUrl = { + urlPattern: new RegExp(item.url, 'i'), + httpMethods: item.httpMethods + }; + } + excludedUrls.push(excludedUrl); + } + return excludedUrls; + } + + /** + * Handles the class values initialization. + * + * @param options + */ + private initServiceValues({ + enableBearerInterceptor = true, + loadUserProfileAtStartUp = false, + bearerExcludedUrls = [], + authorizationHeaderName = 'Authorization', + bearerPrefix = 'Bearer', + initOptions, + updateMinValidity = 20, + shouldAddToken = () => true, + shouldUpdateToken = () => true + }: KeycloakOptions): void { + this._enableBearerInterceptor = enableBearerInterceptor; + this._loadUserProfileAtStartUp = loadUserProfileAtStartUp; + this._authorizationHeaderName = authorizationHeaderName; + this._bearerPrefix = bearerPrefix.trim().concat(' '); + this._excludedUrls = this.loadExcludedUrls(bearerExcludedUrls); + this._silentRefresh = initOptions ? initOptions.flow === 'implicit' : false; + this._updateMinValidity = updateMinValidity; + this.shouldAddToken = shouldAddToken; + this.shouldUpdateToken = shouldUpdateToken; + } + + /** + * Keycloak initialization. It should be called to initialize the adapter. + * Options is an object with 2 main parameters: config and initOptions. The first one + * will be used to create the Keycloak instance. The second one are options to initialize the + * keycloak instance. + * + * @param options + * Config: may be a string representing the keycloak URI or an object with the + * following content: + * - url: Keycloak json URL + * - realm: realm name + * - clientId: client id + * + * initOptions: + * Options to initialize the Keycloak adapter, matches the options as provided by Keycloak itself. + * + * enableBearerInterceptor: + * Flag to indicate if the bearer will added to the authorization header. + * + * loadUserProfileInStartUp: + * Indicates that the user profile should be loaded at the keycloak initialization, + * just after the login. + * + * bearerExcludedUrls: + * String Array to exclude the urls that should not have the Authorization Header automatically + * added. + * + * authorizationHeaderName: + * This value will be used as the Authorization Http Header name. + * + * bearerPrefix: + * This value will be included in the Authorization Http Header param. + * + * tokenUpdateExcludedHeaders: + * Array of Http Header key/value maps that should not trigger the token to be updated. + * + * updateMinValidity: + * This value determines if the token will be refreshed based on its expiration time. + * + * @returns + * A Promise with a boolean indicating if the initialization was successful. + */ + public async init(options: KeycloakOptions = {}) { + this.initServiceValues(options); + const { config, initOptions } = options; + + this._instance = new Keycloak(config); + this.bindsKeycloakEvents(); + + const authenticated = await this._instance.init(initOptions); + + if (authenticated && this._loadUserProfileAtStartUp) { + await this.loadUserProfile(); + } + + return authenticated; + } + + /** + * Redirects to login form on (options is an optional object with redirectUri and/or + * prompt fields). + * + * @param options + * Object, where: + * - redirectUri: Specifies the uri to redirect to after login. + * - prompt:By default the login screen is displayed if the user is not logged-in to Keycloak. + * To only authenticate to the application if the user is already logged-in and not display the + * login page if the user is not logged-in, set this option to none. To always require + * re-authentication and ignore SSO, set this option to login . + * - maxAge: Used just if user is already authenticated. Specifies maximum time since the + * authentication of user happened. If user is already authenticated for longer time than + * maxAge, the SSO is ignored and he will need to re-authenticate again. + * - loginHint: Used to pre-fill the username/email field on the login form. + * - action: If value is 'register' then user is redirected to registration page, otherwise to + * login page. + * - locale: Specifies the desired locale for the UI. + * @returns + * A void Promise if the login is successful and after the user profile loading. + */ + public async login(options: Keycloak.KeycloakLoginOptions = {}) { + await this._instance.login(options); + + if (this._loadUserProfileAtStartUp) { + await this.loadUserProfile(); + } + } + + /** + * Redirects to logout. + * + * @param redirectUri + * Specifies the uri to redirect to after logout. + * @returns + * A void Promise if the logout was successful, cleaning also the userProfile. + */ + public async logout(redirectUri?: string) { + const options = { + redirectUri + }; + + await this._instance.logout(options); + this._userProfile = undefined; + } + + /** + * Redirects to registration form. Shortcut for login with option + * action = 'register'. Options are same as for the login method but 'action' is set to + * 'register'. + * + * @param options + * login options + * @returns + * A void Promise if the register flow was successful. + */ + public async register( + options: Keycloak.KeycloakLoginOptions = { action: 'register' } + ) { + await this._instance.register(options); + } + + /** + * Check if the user has access to the specified role. It will look for roles in + * realm and the given resource, but will not check if the user is logged in for better performance. + * + * @param role + * role name + * @param resource + * resource name. If not specified, `clientId` is used + * @returns + * A boolean meaning if the user has the specified Role. + */ + isUserInRole(role: string, resource?: string): boolean { + let hasRole: boolean; + hasRole = this._instance.hasResourceRole(role, resource); + if (!hasRole) { + hasRole = this._instance.hasRealmRole(role); + } + return hasRole; + } + + /** + * Return the roles of the logged user. The realmRoles parameter, with default value + * true, will return the resource roles and realm roles associated with the logged user. If set to false + * it will only return the resource roles. The resource parameter, if specified, will return only resource roles + * associated with the given resource. + * + * @param realmRoles + * Set to false to exclude realm roles (only client roles) + * @param resource + * resource name If not specified, returns roles from all resources + * @returns + * Array of Roles associated with the logged user. + */ + getUserRoles(realmRoles: boolean = true, resource?: string): string[] { + let roles: string[] = []; + + if (this._instance.resourceAccess) { + Object.keys(this._instance.resourceAccess).forEach((key) => { + if (resource && resource !== key) { + return; + } + + const resourceAccess = this._instance.resourceAccess[key]; + const clientRoles = resourceAccess['roles'] || []; + roles = roles.concat(clientRoles); + }); + } + + if (realmRoles && this._instance.realmAccess) { + const realmRoles = this._instance.realmAccess['roles'] || []; + roles.push(...realmRoles); + } + + return roles; + } + + /** + * Check if user is logged in. + * + * @returns + * A boolean that indicates if the user is logged in. + */ + isLoggedIn(): boolean { + if (!this._instance) { + return false; + } + + return this._instance.authenticated; + } + + /** + * Returns true if the token has less than minValidity seconds left before + * it expires. + * + * @param minValidity + * Seconds left. (minValidity) is optional. Default value is 0. + * @returns + * Boolean indicating if the token is expired. + */ + isTokenExpired(minValidity: number = 0): boolean { + return this._instance.isTokenExpired(minValidity); + } + + /** + * If the token expires within _updateMinValidity seconds the token is refreshed. If the + * session status iframe is enabled, the session status is also checked. + * Returns a promise telling if the token was refreshed or not. If the session is not active + * anymore, the promise is rejected. + * + * @param minValidity + * Seconds left. (minValidity is optional, if not specified updateMinValidity - default 20 is used) + * @returns + * Promise with a boolean indicating if the token was succesfully updated. + */ + public async updateToken(minValidity = this._updateMinValidity) { + // TODO: this is a workaround until the silent refresh (issue #43) + // is not implemented, avoiding the redirect loop. + if (this._silentRefresh) { + if (this.isTokenExpired()) { + throw new Error( + 'Failed to refresh the token, or the session is expired' + ); + } + + return true; + } + + if (!this._instance) { + throw new Error('Keycloak Angular library is not initialized.'); + } + + try { + return await this._instance.updateToken(minValidity); + } catch (error) { + return false; + } + } + + /** + * Loads the user profile. + * Returns promise to set functions to be invoked if the profile was loaded + * successfully, or if the profile could not be loaded. + * + * @param forceReload + * If true will force the loadUserProfile even if its already loaded. + * @returns + * A promise with the KeycloakProfile data loaded. + */ + public async loadUserProfile(forceReload = false) { + if (this._userProfile && !forceReload) { + return this._userProfile; + } + + if (!this._instance.authenticated) { + throw new Error( + 'The user profile was not loaded as the user is not logged in.' + ); + } + + return (this._userProfile = await this._instance.loadUserProfile()); + } + + /** + * Returns the authenticated token, calling updateToken to get a refreshed one if necessary. + */ + public async getToken() { + return this._instance.token; + } + + /** + * Returns the logged username. + * + * @returns + * The logged username. + */ + public getUsername() { + if (!this._userProfile) { + throw new Error('User not logged in or user profile was not loaded.'); + } + + return this._userProfile.username; + } + + /** + * Clear authentication state, including tokens. This can be useful if application + * has detected the session was expired, for example if updating token fails. + * Invoking this results in onAuthLogout callback listener being invoked. + */ + clearToken(): void { + this._instance.clearToken(); + } + + /** + * Adds a valid token in header. The key & value format is: + * Authorization Bearer . + * If the headers param is undefined it will create the Angular headers object. + * + * @param headers + * Updated header with Authorization and Keycloak token. + * @returns + * An observable with with the HTTP Authorization header and the current token. + */ + public addTokenToHeader(headers: HttpHeaders = new HttpHeaders()) { + return from(this.getToken()).pipe( + map((token) => + token + ? headers.set( + this._authorizationHeaderName, + this._bearerPrefix + token + ) + : headers + ) + ); + } + + /** + * Returns the original Keycloak instance, if you need any customization that + * this Angular service does not support yet. Use with caution. + * + * @returns + * The KeycloakInstance from keycloak-js. + */ + getKeycloakInstance(): Keycloak.KeycloakInstance { + return this._instance; + } + + /** + * @deprecated + * Returns the excluded URLs that should not be considered by + * the http interceptor which automatically adds the authorization header in the Http Request. + * + * @returns + * The excluded urls that must not be intercepted by the KeycloakBearerInterceptor. + */ + get excludedUrls(): ExcludedUrlRegex[] { + return this._excludedUrls; + } + + /** + * Flag to indicate if the bearer will be added to the authorization header. + * + * @returns + * Returns if the bearer interceptor was set to be disabled. + */ + get enableBearerInterceptor(): boolean { + return this._enableBearerInterceptor; + } + + /** + * Keycloak subject to monitor the events triggered by keycloak-js. + * The following events as available (as described at keycloak docs - + * https://www.keycloak.org/docs/latest/securing_apps/index.html#callback-events): + * - OnAuthError + * - OnAuthLogout + * - OnAuthRefreshError + * - OnAuthRefreshSuccess + * - OnAuthSuccess + * - OnReady + * - OnTokenExpire + * In each occurrence of any of these, this subject will return the event type, + * described at {@link KeycloakEventType} enum and the function args from the keycloak-js + * if provided any. + * + * @returns + * A subject with the {@link KeycloakEvent} which describes the event type and attaches the + * function args. + */ + get keycloakEvents$(): Subject { + return this._keycloakEvents$; + } +} \ No newline at end of file diff --git a/bizmatch/src/app/services/listings.service.ts b/bizmatch/src/app/services/listings.service.ts new file mode 100644 index 0000000..ffac259 --- /dev/null +++ b/bizmatch/src/app/services/listings.service.ts @@ -0,0 +1,33 @@ +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { Observable, lastValueFrom } from 'rxjs'; +import { BusinessListing, ListingCriteria } from '../models/main.model'; +import { environment } from '../../environments/environment'; + +@Injectable({ + providedIn: 'root' +}) +export class ListingsService { + private apiBaseUrl = environment.apiBaseUrl; + constructor(private http: HttpClient) { } + + getAllListings():Observable{ + return this.http.get(`${this.apiBaseUrl}/bizmatch/listings`); + } + async getListings(criteria:ListingCriteria):Promise{ + const result = await lastValueFrom(this.http.post(`${this.apiBaseUrl}/bizmatch/listings/search`,criteria)); + return result; + } + getListingById(id:string):Observable{ + return this.http.get(`${this.apiBaseUrl}/bizmatch/listings/${id}`); + } + async update(listing:any,id:string){ + await lastValueFrom(this.http.put(`${this.apiBaseUrl}/bizmatch/listings/${id}`,listing)); + } + async create(listing:any){ + await lastValueFrom(this.http.post(`${this.apiBaseUrl}/bizmatch/listings`,listing)); + } + async deleteListing(id:string){ + await lastValueFrom(this.http.delete(`${this.apiBaseUrl}/bizmatch/listings/${id}`)); + } +} diff --git a/bizmatch/src/app/services/loading.service.ts b/bizmatch/src/app/services/loading.service.ts new file mode 100644 index 0000000..47c4b53 --- /dev/null +++ b/bizmatch/src/app/services/loading.service.ts @@ -0,0 +1,28 @@ +import { Injectable } from '@angular/core'; +import { BehaviorSubject, debounceTime, distinctUntilChanged, map, shareReplay } from 'rxjs'; + +@Injectable({ + providedIn: 'root', +}) +export class LoadingService { + public loading$ = new BehaviorSubject([]); + + public isLoading$ = this.loading$.asObservable().pipe( + map((loading) => loading.length > 0), + debounceTime(200), + distinctUntilChanged(), + shareReplay(1) + ); + + public startLoading(type: string): void { + if (!this.loading$.value.includes(type)) { + this.loading$.next(this.loading$.value.concat(type)); + } + } + + public stopLoading(type: string): void { + if (this.loading$.value.includes(type)) { + this.loading$.next(this.loading$.value.filter((t) => t !== type)); + } + } +} \ No newline at end of file diff --git a/bizmatch/src/app/services/select-options.service.ts b/bizmatch/src/app/services/select-options.service.ts new file mode 100644 index 0000000..41ed032 --- /dev/null +++ b/bizmatch/src/app/services/select-options.service.ts @@ -0,0 +1,75 @@ +import { Injectable } from '@angular/core'; +import { KeyValue, KeyValueStyle } from '../models/main.model'; +import { HttpClient } from '@angular/common/http'; +import { InitEditableRow } from 'primeng/table'; +import { lastValueFrom } from 'rxjs'; +import { environment } from '../../environments/environment'; + +@Injectable({ + providedIn: 'root', +}) +export class SelectOptionsService { + private apiBaseUrl = environment.apiBaseUrl; + constructor(private http: HttpClient) {} + + async init() { + const allSelectOptions = await lastValueFrom( + this.http.get(`${this.apiBaseUrl}/bizmatch/select-options`) + ); + this.typesOfBusiness = allSelectOptions.typesOfBusiness; + this.prices = allSelectOptions.prices; + this.listingCategories = allSelectOptions.listingCategories; + this.categories = allSelectOptions.categories; + this.locations = allSelectOptions.locations; + } + public typesOfBusiness: Array; + + public prices: Array; + + public listingCategories: Array; + + public categories: Array; + + public locations: Array; + + getLocation(value:string):string{ + return this.locations.find(l=>l.value===value)?.name + } + + getBusiness(value:string):string{ + return this.typesOfBusiness.find(t=>t.value===value)?.name + } + + getListingsCategory(value:string):string{ + return this.listingCategories.find(l=>l.value===value)?.name + } + getCategory(value:string):string{ + return this.categories.find(c=>c.value===value)?.name + } + getIcon(value:string):string{ + return this.categories.find(c=>c.value===value)?.icon + } + getTextColor(value:string):string{ + return this.categories.find(c=>c.value===value)?.textColorClass + } + getBgColor(value:string):string{ + return this.categories.find(c=>c.value===value)?.bgColorClass + } + getIconAndTextColor(value:string):string{ + const category = this.categories.find(c=>c.value===value) + return `${category?.icon} ${category?.textColorClass}` + } + getIconType(value:string):string{ + return this.typesOfBusiness.find(c=>c.value===value)?.icon + } + getTextColorType(value:string):string{ + return this.typesOfBusiness.find(c=>c.value===value)?.textColorClass + } + getBgColorType(value:string):string{ + return this.typesOfBusiness.find(c=>c.value===value)?.bgColorClass + } + getIconAndTextColorType(value:string):string{ + const category = this.typesOfBusiness.find(c=>c.value===value) + return `${category?.icon} ${category?.textColorClass}` + } +} diff --git a/bizmatch/src/app/services/subscriptions.service.ts b/bizmatch/src/app/services/subscriptions.service.ts new file mode 100644 index 0000000..33d62f8 --- /dev/null +++ b/bizmatch/src/app/services/subscriptions.service.ts @@ -0,0 +1,17 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { Subscription } from '../models/main.model'; +import { environment } from '../../environments/environment'; +import { HttpClient } from '@angular/common/http'; + +@Injectable({ + providedIn: 'root' +}) +export class SubscriptionsService { + private apiBaseUrl = environment.apiBaseUrl; + constructor(private http: HttpClient) { } + + getAllSubscriptions():Observable{ + return this.http.get(`${this.apiBaseUrl}/bizmatch/subscriptions`); + } +} diff --git a/bizmatch/src/app/services/user.service.ts b/bizmatch/src/app/services/user.service.ts new file mode 100644 index 0000000..b7a965f --- /dev/null +++ b/bizmatch/src/app/services/user.service.ts @@ -0,0 +1,94 @@ +import { Injectable, Signal, WritableSignal, computed, effect, signal } from '@angular/core'; +import { Component } from '@angular/core'; +import { jwtDecode } from 'jwt-decode'; +import { Observable, distinctUntilChanged, filter, from, map } from 'rxjs'; +import { CommonModule } from '@angular/common'; +import { JwtToken, User } from '../models/main.model'; +import { KeycloakService } from './keycloak.service'; + +@Injectable({ + providedIn: 'root' +}) +export class UserService { + + private user$ = new Observable(); + private user:User + public $isLoggedIn : Signal; + constructor(public keycloak:KeycloakService){ + this.user$ = from(this.keycloak.getToken()).pipe( + filter(t => !!t), + distinctUntilChanged(), + map(t => this.map2User(t)), + // tap(u => { + // logger.info('Logged in user:', u); + // this.analyticsService.identify(u); + // }), + ); + this.$isLoggedIn = signal(false) + this.$isLoggedIn = computed(() => { + return keycloak.isLoggedIn() + }) + + effect(async () => { + if (this.$isLoggedIn()){ + this.updateTokenDetails() + } else { + this.user=null; + } + }) + } + + private async refreshToken(): Promise { + try { + await this.keycloak.updateToken(10); // Versuche, den Token zu erneuern + await this.updateTokenDetails(); // Aktualisiere den Token und seine Details + } catch (error) { + console.error('Fehler beim Token-Refresh', error); + } + } + private async updateTokenDetails(): Promise { + const token = await this.keycloak.getToken(); + this.user = this.map2User(token); + } + getUserName(){ + return this.user?.username + } + + private map2User(jwt:string):User{ + const token = jwtDecode(jwt); + return { + id:token.user_id, + username:token.preferred_username, + firstname:token.given_name, + lastname:token.family_name, + email:token.email + } + } + + isLoggedIn():boolean{ + return this.$isLoggedIn(); + } + getUser():User{ + return this.user; + } + getUserObservable():Observable{ + return this.user$; + } + logout(){ + this.keycloak.logout(window.location.origin + '/home'); + } + async login(url:string){ + await this.keycloak.login({ + redirectUri: url + }); + } + getUserRoles(){ + return this.keycloak.getUserRoles(true); + } + hasAdminRole(){ + return this.keycloak.getUserRoles(true).includes('ADMIN'); + } + register(url:string){ + this.keycloak.register({redirectUri:url}); + } +} diff --git a/bizmatch/src/app/shared/shared/shared.module.ts b/bizmatch/src/app/shared/shared/shared.module.ts new file mode 100644 index 0000000..1b8a3ff --- /dev/null +++ b/bizmatch/src/app/shared/shared/shared.module.ts @@ -0,0 +1,33 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { Component } from '@angular/core'; +import { ButtonModule } from 'primeng/button'; +import { CheckboxModule } from 'primeng/checkbox'; +import { InputTextModule } from 'primeng/inputtext'; +import { StyleClassModule } from 'primeng/styleclass'; +import { DropdownModule } from 'primeng/dropdown'; +import { FormsModule } from '@angular/forms'; +import { ToggleButtonModule } from 'primeng/togglebutton'; +import { TagModule } from 'primeng/tag'; +import { ActivatedRoute, RouterModule } from '@angular/router'; +import { InputTextareaModule } from 'primeng/inputtextarea'; +import { ChipModule } from 'primeng/chip'; +import { DividerModule } from 'primeng/divider'; +import { TableModule } from 'primeng/table'; +import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; +import { MenuAccountComponent } from '../../pages/menu-account/menu-account.component'; +import { InputNumberModule } from 'primeng/inputnumber'; +import { ConfirmDialogModule } from 'primeng/confirmdialog'; +import { ConfirmPopupModule } from 'primeng/confirmpopup'; +import { ToastModule } from 'primeng/toast'; + +@NgModule({ + declarations: [], + imports: [ + CommonModule, StyleClassModule, DividerModule,ButtonModule, TableModule, InputTextModule, DropdownModule, FormsModule, ChipModule,InputTextareaModule, RouterModule,FontAwesomeModule,MenuAccountComponent,InputNumberModule,ConfirmDialogModule,ConfirmPopupModule, ToastModule, CheckboxModule + ], + exports:[ + CommonModule, StyleClassModule, DividerModule,ButtonModule, TableModule, InputTextModule, DropdownModule, FormsModule, ChipModule,InputTextareaModule,RouterModule,FontAwesomeModule,MenuAccountComponent,InputNumberModule,ConfirmDialogModule,ConfirmPopupModule, ToastModule, CheckboxModule + ] +}) +export class SharedModule { } diff --git a/bizmatch/src/app/utils/utils.ts b/bizmatch/src/app/utils/utils.ts new file mode 100644 index 0000000..b931249 --- /dev/null +++ b/bizmatch/src/app/utils/utils.ts @@ -0,0 +1,38 @@ +import { INFO, ConsoleFormattedStream, createLogger as _createLogger, stdSerializers } from "browser-bunyan"; +import { ListingCriteria } from "../models/main.model"; + +export function createGenericObject(): T { + // Ein leeres Objekt vom Typ T erstellen + const ergebnis: Partial = {}; + + // FĂŒr ein reales Interface funktioniert diese direkte Iteration nicht, + // da Interfaces zur Compile-Zeit entfernt werden. Stattdessen könnten Sie + // ein Dummy-Objekt oder spezifische Typtransformationen verwenden. + // Hier nur als Pseudocode dargestellt, um die Idee zu vermitteln: + for (const key in ergebnis) { + ergebnis[key] = null; // oder undefined, je nach Bedarf + } + + return ergebnis as T; + } + + export function createLogger(name:string, level: number = INFO, options:any = {}){ + return _createLogger({ + name, + streams:[{level, stream: new ConsoleFormattedStream()}], + serializers:stdSerializers, + src:true, + ...options, + }) + } + + export const getSessionStorageHandler = function(path,value,previous,applyData){ + sessionStorage.setItem('criteria',JSON.stringify(this)); + } + + export function getCriteriaStateObject(){ + const initialState = createGenericObject(); + initialState.listingsCategory='business'; + const storedState = sessionStorage.getItem('criteria'); + return storedState ? JSON.parse(storedState) : initialState; + } \ No newline at end of file diff --git a/bizmatch/src/assets/.gitkeep b/bizmatch/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/bizmatch/src/assets/data/listings.json b/bizmatch/src/assets/data/listings.json new file mode 100644 index 0000000..6bc6f9a --- /dev/null +++ b/bizmatch/src/assets/data/listings.json @@ -0,0 +1,70 @@ +[ + { + "id":"1", + "userId":"14a05316-cb85-4c67-86bc-4a2083ff6af7", + "listingsCategory": "business", + "title": "Industrial Service Company In Corpus Christi For Sale - 1954", + "summary": ["Asking price: $5,500,000","Sales revenue: $1,200,000","Net profit: $650,000"], + "description": ["This company services a wide variety of industries. Asking price includes Business and the Real Estate and is approx 30,000 sq ft with room for expansion including approx 5 acres. Absentee run business."], + "type": "Industrial Services", + "location": "Texas", + "price":5500000, + "salesRevenue":1200000, + "cashFlow":650000, + "brokerLicencing":"TREC Broker #516788", + "established":1954, + "realEstateIncluded":false, + "favoritesForUser":["e0811669-c7eb-4e5e-a699-e8334d5c5b01"] + }, + { + "id":"2", + "userId":"e0811669-c7eb-4e5e-a699-e8334d5c5b01", + "listingsCategory": "business", + "title": "Coastal Bend Manufacturing Business Plastic Injection For Sale - 1950", + "summary": ["Asking price: $165,000","Sales revenue: Undisclosed","Net profit: Undisclosed"], + "description": [""], + "type": "Manufacturing", + "location": "Texas", + "price":165000, + "salesRevenue":null, + "cashFlow":null, + "brokerLicencing":"TREC Broker #516788", + "established":1950, + "realEstateIncluded":false, + "favoritesForUser":["828cc120-51e9-4baa-9a33-a82608fe66b4"] + }, + { + "id":"3", + "userId":"e0811669-c7eb-4e5e-a699-e8334d5c5b01", + "listingsCategory": "business", + "title": "Corner Property On Everhart South-side Corpus Christi For Sale - 1944", + "summary": ["Asking price: $830,000","Sales revenue: Undisclosed","Net profit: Undisclosed"], + "description": [""], + "type": "Real Estate", + "location": "Texas", + "price":830000, + "salesRevenue":null, + "cashFlow":null, + "brokerLicencing":"TREC Broker #516788", + "established":1944, + "realEstateIncluded":false, + "favoritesForUser":[] + }, + { + "id":"4", + "userId":"828cc120-51e9-4baa-9a33-a82608fe66b4", + "listingsCategory": "business", + "title": "Corpus Christi Dessert Business For Sale - 1941", + "summary": ["Asking price: $124,900","Sales revenue: $225,000","Net profit: $50,000"], + "description": [""], + "type": "Food and Restaurant", + "location": "Texas", + "price":830000, + "salesRevenue":225000, + "cashFlow":50000, + "brokerLicencing":"TREC Broker #516788", + "established":1941, + "realEstateIncluded":false, + "favoritesForUser":[] + } + ] \ No newline at end of file diff --git a/bizmatch/src/assets/data/user.json b/bizmatch/src/assets/data/user.json new file mode 100644 index 0000000..f17c176 --- /dev/null +++ b/bizmatch/src/assets/data/user.json @@ -0,0 +1,21 @@ +{ + "id":"1", + "firstname":"Andreas", + "lastname":"Knuth", + "email":"andreas.knuth@gmail.com", + "nickname":"aknuth", + "displayName":"Andreas Knuth", + "subscriptions":[{ + "id":"1", + "level":"Business Broker", + "start":"2024-02-12T21:54:20.603Z", + "modified":"2024-02-12T21:54:20.603Z", + "end":"9999-02-12T21:54:20.603Z", + "status":"active", + "invoices":[{ + "date":"2024-02-12T21:54:20.603Z", + "id":"C991853B99", + "price":0 + }] + }] +} \ No newline at end of file diff --git a/bizmatch/src/assets/images/avatar-f-3.png b/bizmatch/src/assets/images/avatar-f-3.png new file mode 100644 index 0000000..7c3d3a9 Binary files /dev/null and b/bizmatch/src/assets/images/avatar-f-3.png differ diff --git a/bizmatch/src/assets/images/bw-sky.jpg b/bizmatch/src/assets/images/bw-sky.jpg new file mode 100644 index 0000000..65fd5e1 Binary files /dev/null and b/bizmatch/src/assets/images/bw-sky.jpg differ diff --git a/bizmatch/src/assets/images/corpusChristiSkyline.jpg b/bizmatch/src/assets/images/corpusChristiSkyline.jpg new file mode 100644 index 0000000..5aac1b2 Binary files /dev/null and b/bizmatch/src/assets/images/corpusChristiSkyline.jpg differ diff --git a/bizmatch/src/assets/images/header-logo.png b/bizmatch/src/assets/images/header-logo.png new file mode 100644 index 0000000..aba9071 Binary files /dev/null and b/bizmatch/src/assets/images/header-logo.png differ diff --git a/bizmatch/src/assets/images/index-bg.jpg b/bizmatch/src/assets/images/index-bg.jpg new file mode 100644 index 0000000..85f8e8b Binary files /dev/null and b/bizmatch/src/assets/images/index-bg.jpg differ diff --git a/bizmatch/src/assets/images/index-bg.webp b/bizmatch/src/assets/images/index-bg.webp new file mode 100644 index 0000000..54d8c6d Binary files /dev/null and b/bizmatch/src/assets/images/index-bg.webp differ diff --git a/bizmatch/src/assets/images/placeholder.png b/bizmatch/src/assets/images/placeholder.png new file mode 100644 index 0000000..85156a3 Binary files /dev/null and b/bizmatch/src/assets/images/placeholder.png differ diff --git a/bizmatch/src/assets/images/pricing-4.svg b/bizmatch/src/assets/images/pricing-4.svg new file mode 100644 index 0000000..de994ae --- /dev/null +++ b/bizmatch/src/assets/images/pricing-4.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/bizmatch/src/assets/silent-check-sso.html b/bizmatch/src/assets/silent-check-sso.html new file mode 100644 index 0000000..f4de3a9 --- /dev/null +++ b/bizmatch/src/assets/silent-check-sso.html @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/bizmatch/src/cropped-Favicon-180x180.png b/bizmatch/src/cropped-Favicon-180x180.png new file mode 100644 index 0000000..b6f9bec Binary files /dev/null and b/bizmatch/src/cropped-Favicon-180x180.png differ diff --git a/bizmatch/src/cropped-Favicon-192x192.png b/bizmatch/src/cropped-Favicon-192x192.png new file mode 100644 index 0000000..1f39802 Binary files /dev/null and b/bizmatch/src/cropped-Favicon-192x192.png differ diff --git a/bizmatch/src/cropped-Favicon-32x32.png b/bizmatch/src/cropped-Favicon-32x32.png new file mode 100644 index 0000000..f4489b4 Binary files /dev/null and b/bizmatch/src/cropped-Favicon-32x32.png differ diff --git a/bizmatch/src/environments/environment.base.ts b/bizmatch/src/environments/environment.base.ts new file mode 100644 index 0000000..f0515cf --- /dev/null +++ b/bizmatch/src/environments/environment.base.ts @@ -0,0 +1,16 @@ +export const environment_base = { + // url:'http://localhost:4200', + apiBaseUrl: 'http://localhost:3000', + // apiAuthorizationHeader: 'Basic dGJjOnFVWDdoT25vR3hBMk4zNHVvVFZ1', + buildVersion: '', + // keycloak: { + // url: 'http://localhost:8080', + // realm: 'bizmatch', + // clientId: 'bizmatch-angular-client' + // } + keycloak: { + url: 'https://auth.bizmatch.net', + realm: 'bizmatch-dev', + clientId: 'bizmatch-dev' + } +}; \ No newline at end of file diff --git a/bizmatch/src/environments/environment.dev.ts b/bizmatch/src/environments/environment.dev.ts new file mode 100644 index 0000000..d65fb2c --- /dev/null +++ b/bizmatch/src/environments/environment.dev.ts @@ -0,0 +1,5 @@ +import {environment_base} from './environment.base' + +export const environment = environment_base + +environment.apiBaseUrl = "https://api-dev.bizmatch.net" \ No newline at end of file diff --git a/bizmatch/src/environments/environment.ts b/bizmatch/src/environments/environment.ts new file mode 100644 index 0000000..a42259f --- /dev/null +++ b/bizmatch/src/environments/environment.ts @@ -0,0 +1,5 @@ +import {environment_base} from './environment.base' + +export const environment = environment_base + +environment.keycloak.clientId="dev" \ No newline at end of file diff --git a/bizmatch/src/favicon.ico b/bizmatch/src/favicon.ico new file mode 100644 index 0000000..57614f9 Binary files /dev/null and b/bizmatch/src/favicon.ico differ diff --git a/bizmatch/src/index.html b/bizmatch/src/index.html new file mode 100644 index 0000000..ea98c17 --- /dev/null +++ b/bizmatch/src/index.html @@ -0,0 +1,16 @@ + + + + + Bizmatch + + + + + + + + + + + diff --git a/bizmatch/src/main.server.ts b/bizmatch/src/main.server.ts new file mode 100644 index 0000000..4b9d4d1 --- /dev/null +++ b/bizmatch/src/main.server.ts @@ -0,0 +1,7 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { AppComponent } from './app/app.component'; +import { config } from './app/app.config.server'; + +const bootstrap = () => bootstrapApplication(AppComponent, config); + +export default bootstrap; diff --git a/bizmatch/src/main.ts b/bizmatch/src/main.ts new file mode 100644 index 0000000..87ae19a --- /dev/null +++ b/bizmatch/src/main.ts @@ -0,0 +1,8 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { AppComponent } from './app/app.component'; +import { provideHttpClient } from '@angular/common/http'; +import { provideAnimations } from '@angular/platform-browser/animations'; + +bootstrapApplication(AppComponent, appConfig) + .catch((err) => console.error(err)); diff --git a/bizmatch/src/styles.scss b/bizmatch/src/styles.scss new file mode 100644 index 0000000..aaadb73 --- /dev/null +++ b/bizmatch/src/styles.scss @@ -0,0 +1,73 @@ +@import "primeng/resources/primeng.css"; +@import 'primeicons/primeicons.css'; +// @import 'primeflex/primeflex.scss'; +@import "primeflex/primeflex.css"; +@import url('https://fonts.googleapis.com/css?family=Open+Sans&display=swap'); +@import "primeng/resources/themes/lara-light-blue/theme.css"; +@import "@fortawesome/fontawesome-free/css/all.min.css"; + +:root { + --text-color-secondary:rgba(255, 255, 255); + --wrapper-width:1491px; + // --secondary-color: #ffffff; /* Setzt die secondary Farbe auf weiß */ +} +.p-button.p-button-secondary.p-button-outlined{ + color: #ffffff;; +} +html, +body, +app-root { + margin: 0; + height: 100%; +} + +app-root { + display: flex; + flex-direction: column; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; +} + +body, input, button, select, textarea { + // font-family: 'Open Sans', sans-serif; + font-family: var(--font-family); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +*:focus, +.p-focus { + box-shadow: none !important; +} + +p-menubarsub ul { + gap: 4px; +} + +::-webkit-scrollbar { + width: 3px; +} + +::-webkit-scrollbar-track { + background: transparent; +} + +::-webkit-scrollbar-thumb { + background-color: rgba(155, 155, 155, 0.5); + border-radius: 20px; + border: transparent; +} + +.wrapper { + width: var(--wrapper-width); + max-width: 100%; + height: 100%; + margin: auto; +} \ No newline at end of file diff --git a/bizmatch/tsconfig.app.json b/bizmatch/tsconfig.app.json new file mode 100644 index 0000000..7dc7284 --- /dev/null +++ b/bizmatch/tsconfig.app.json @@ -0,0 +1,18 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [ + "node" + ] + }, + "files": [ + "src/main.ts", + "src/main.server.ts", + "server.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/bizmatch/tsconfig.json b/bizmatch/tsconfig.json new file mode 100644 index 0000000..12f6c4e --- /dev/null +++ b/bizmatch/tsconfig.json @@ -0,0 +1,34 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": false, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "esModuleInterop": true, + "resolveJsonModule": true, + "sourceMap": true, + "declaration": false, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": [ + "ES2022", + "dom" + ] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/bizmatch/tsconfig.spec.json b/bizmatch/tsconfig.spec.json new file mode 100644 index 0000000..be7e9da --- /dev/null +++ b/bizmatch/tsconfig.spec.json @@ -0,0 +1,14 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/common-models/src/main.model.ts b/common-models/src/main.model.ts new file mode 100644 index 0000000..e814b55 --- /dev/null +++ b/common-models/src/main.model.ts @@ -0,0 +1,129 @@ +export interface KeyValue { + name: string; + value: string; +} +export interface KeyValueStyle { + name: string; + value: string; + icon:string; + bgColorClass:string; + textColorClass:string; +} +export type SelectOption = { + value: T; + label: string; +}; +export interface Listing { + id: string; + userId: string; + title: string; + description: Array; + location: string;//enum + favoritesForUser:Array; + hideImage?:boolean; + created:Date; + updated:Date; +} +export interface BusinessListing extends Listing { + listingsCategory: 'business'; //enum + summary: Array; + type: string; //enum + price?: number; + realEstateIncluded?: boolean; + salesRevenue?: number; + cashFlow?: number; + netProfit?: number; + inventory?: string; + employees?: number; + established?: number; + reasonForSale?: string; + brokerLicencing?: string; + internals?: string; +} +export interface ProfessionalsBrokersListing extends Listing { + listingsCategory: 'professionals_brokers'; //enum + summary: string; + address?: string; + email?: string; + website?: string; + category?: 'Professionals' | 'Broker'; +} +export interface InvestmentsListing extends Listing { + listingsCategory: 'investment'; //enum + email?: string; + website?: string; + phoneNumber?: string; +} +export type ListingType = + | BusinessListing + | ProfessionalsBrokersListing + | InvestmentsListing; + +export interface ListingCriteria { + type:string, + location:string, + minPrice:string, + maxPrice:string, + realEstateChecked:boolean, + listingsCategory:'business'|'professionals_brokers'|'investment', + category:'professional|broker' +} +export interface User { + id: string; + username: string; + firstname: string; + lastname: string; + email: string; +} +export interface Subscription { + id: string; + userId:string + level: string; + start: Date; + modified: Date; + end: Date; + status: string; + invoices: Array; +} +export interface Invoice { + id: string, + date: Date, + price: number +} +export interface JwtToken { + exp: number; + iat: number; + auth_time: number; + jti: string; + iss: string; + aud: string; + sub: string; + typ: string; + azp: string; + nonce: string; + session_state: string; + acr: string; + realm_access: Realmaccess; + resource_access: Resourceaccess; + scope: string; + sid: string; + email_verified: boolean; + name: string; + preferred_username: string; + given_name: string; + family_name: string; + email: string; + user_id: string; +} +interface Resourceaccess { + account: Realmaccess; +} +interface Realmaccess { + roles: string[]; +} +export interface PageEvent { + first: number; + rows: number; + page: number; + pageCount: number; +} \ No newline at end of file diff --git a/crawler/.editorconfig b/crawler/.editorconfig new file mode 100644 index 0000000..a83d707 --- /dev/null +++ b/crawler/.editorconfig @@ -0,0 +1,17 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 4 +max_line_length = 180 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/crawler/.vscode/launch.json b/crawler/.vscode/launch.json new file mode 100644 index 0000000..730a66a --- /dev/null +++ b/crawler/.vscode/launch.json @@ -0,0 +1,57 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Crawler", + "skipFiles": [ + "/**" + ], + "program": "${workspaceFolder}/index.js", + "outFiles": [ + "${workspaceFolder}/**/*.js" + ] + }, + { + "type": "node", + "request": "launch", + "name": "Import", + "skipFiles": [ + "/**" + ], + "program": "${workspaceFolder}/import.js", + "outFiles": [ + "${workspaceFolder}/**/*.js" + ] + }, + { + "type": "node", + "request": "launch", + "name": "ChangeUserId", + "skipFiles": [ + "/**" + ], + "args": ["--userId","e0811669-c7eb-4e5e-a699-e8334d5c5b01"], + "program": "${workspaceFolder}/changeUserId.js", + "outFiles": [ + "${workspaceFolder}/**/*.js" + ] + }, + { + "type": "node", + "request": "launch", + "name": "updateFields", + "skipFiles": [ + "/**" + ], + "program": "${workspaceFolder}/updateFields.js", + "outFiles": [ + "${workspaceFolder}/**/*.js" + ] + }, + ] +} \ No newline at end of file diff --git a/crawler/changeUserId.ts b/crawler/changeUserId.ts new file mode 100644 index 0000000..618827a --- /dev/null +++ b/crawler/changeUserId.ts @@ -0,0 +1,30 @@ +import yargs from 'yargs' +import fs from 'fs-extra'; +import { hideBin } from 'yargs/helpers' +import { BusinessListing } from "../common-models/src/main.model" + +const argv = yargs(hideBin(process.argv)).argv + +if (!argv.userId){ + console.log(' --userId [any valid userId]') + process.exit(1) +} + +(async () => { + console + const response = await fetch('http://localhost:3000/bizmatch/listings', { + method: 'GET', + headers: { 'Content-Type': 'application/json' }, + }) + const listings:Array = await response.json(); + for (const listing of listings) { + listing.userId=argv.userId; + listing.created=new Date() + listing.updated=new Date() + const response = await fetch(`http://localhost:3000/bizmatch/listings/${listing.id}`, { + method: 'PUT', + body: JSON.stringify(listing), + headers: { 'Content-Type': 'application/json' }, + }); + } +})(); diff --git a/crawler/import.ts b/crawler/import.ts new file mode 100644 index 0000000..6408ae8 --- /dev/null +++ b/crawler/import.ts @@ -0,0 +1,13 @@ +import fs from 'fs-extra'; + +(async () => { + const listings = await fs.readJson('./listings.json'); + //listings.forEach(element => { + for (const listing of listings) { + const response = await fetch('http://localhost:3000/bizmatch/listings', { + method: 'POST', + body: JSON.stringify(listing), + headers: { 'Content-Type': 'application/json' }, + }); + } +})(); diff --git a/crawler/index.ts b/crawler/index.ts new file mode 100644 index 0000000..77adc67 --- /dev/null +++ b/crawler/index.ts @@ -0,0 +1,172 @@ +// import puppeteer, { Browser, ElementHandle, Page } from 'puppeteer-core'; +import puppeteer, { Browser, ElementHandle, Page } from 'puppeteer'; +import { BusinessListing } from "../common-models/src/main.model" +import currency from 'currency.js'; +import fs from 'fs-extra' + +export interface KeyValue { + name: string; + value: string; +} +const typesOfBusiness: Array = [ + { name: 'Automotive', value: '1' }, + { name: 'Industrial Services', value: '2' }, + { name: 'Real Estate', value: '3' }, + { name: 'Uncategorized', value: '4' }, + { name: 'Retail', value: '5' }, + { name: 'Oilfield SVE and MFG.', value: '6' }, + { name: 'Service', value: '7' }, + { name: 'Advertising', value: '8' }, + { name: 'Agriculture', value: '9' }, + { name: 'Franchise', value: '10' }, + { name: 'Professional', value: '11' }, + { name: 'Manufacturing', value: '12' }, + { name: 'Food and Restaurant', value: '13' }, +]; + +async function getParentElementText(elementHandle: ElementHandle | null) { + const textContent = elementHandle + ? await elementHandle.evaluate((el) => { + const getText = (nodes: Node[]) => { + const result = []; + //debugger; + for (const node of nodes) { + if (node.nodeType === Node.TEXT_NODE && node.nodeValue!=="\n") { + result.push(node.nodeValue.replace('\n','')); + } + } + return result; + }; + const parent = el.parentElement; + if (!parent) return null; + let text = ''; + const preResult = Array.from(parent.childNodes).find((e) => e.nodeName === 'PRE'); + if (preResult) { + return getText(Array.from(preResult.childNodes)); + } else { + return getText(Array.from(parent.childNodes)); + } + }) + : null; + return textContent?(textContent.length<2?textContent.join():textContent):null +} + +async function extractListingData(page: Page): Promise { + const labels = { + summaryLabel: 'Summary', + descriptionLabel: 'Description', + categoryLabel: 'Category:', + locationLabel: 'Located in:', + askingPriceLabel: 'Asking Price:', + realEstateLabel: 'Real Estate Included:', + salesRevenueLabel: 'Sales revenue:', + cashflowLabel: 'Cash flow:', + inventoryLabel: 'Inventory:', + brokerLabel: 'Broker licensing:', + reasonLabel: 'Reason for sale:', + employeesLabel: 'Employees:', + }; + const title = (await page.$eval('div.title', (el) => el.textContent)).trim(); + + const content = {}; + for (const key of Object.values(labels)) { + const element = await findElementWithText(page, 'div.sub-title', key); + try { + content[key] = element ? await getParentElementText(element) : 'N/A'; + } catch (error) { + console.log(`Fehler bei : ${key}`); + } + } + let categoryType + if (content['Category:']){ + categoryType = typesOfBusiness.find((t) => t.name.toLowerCase() === content['Category:'].toLowerCase()); + } else { + console.log(`---> No Category ...`); + } + if (!categoryType) { + console.log(`---> ${content['Category:']}`); + } + try { + const listing = { + id: 'NA', + userId: '1', + listingsCategory: 'business', + title: title, + summary: Array.isArray(content[labels.summaryLabel])?content[labels.summaryLabel]:[content[labels.summaryLabel]], + description: Array.isArray(content[labels.descriptionLabel])?content[labels.descriptionLabel]:[content[labels.descriptionLabel]], + type: categoryType.value, + location: content[labels.locationLabel], + price: currency(content[labels.askingPriceLabel]).value, + salesRevenue: currency(content[labels.salesRevenueLabel])?.value, + cashFlow: currency(content[labels.cashflowLabel])?.value, + brokerLicencing: content[labels.brokerLabel], + established: null, + realEstateIncluded: content[labels.realEstateLabel] === 'Yes' ? true : false, + inventory: content[labels.inventoryLabel], + employees: content[labels.employeesLabel], + reasonForSale: content[labels.reasonLabel], + internals: '', + } as BusinessListing; + return listing; + } catch (error) { + console.log(`Fehler bei ${title}`); + return null; + } +} + +async function findElementWithText(page: Page, selector: string, text: string) { + const elementHandle = await page.evaluateHandle( + (selector, text) => { + const elements = Array.from(document.querySelectorAll(selector)); + return elements.find((element) => element.textContent?.trim() === text); + }, + selector, + text + ); + + return elementHandle; +} +async function processPage(browser: Browser, url: string,out:Array) { + const page = await browser.newPage(); + + await page.goto(url, { waitUntil: 'domcontentloaded' }); + + const listings = await page.$$('div.ResultsGridItem'); + for (const listing of listings) { + const detailLinkElement = await listing.$('a.viewListing'); + if (detailLinkElement) { + const detailLink = await detailLinkElement.evaluate((el) => el.getAttribute('href')); + const detailPage = await browser.newPage(); + await detailPage.goto(detailLink!, { waitUntil: 'domcontentloaded' }); + + const listingData = await extractListingData(detailPage); + if (listingData) { + console.log(JSON.stringify(listingData)); + out.push(listingData); + } + + await detailPage.close(); + } + } + + const nextPageElement = await page.$('a.next'); + if (nextPageElement) { + let nextPageLink = await nextPageElement.evaluate((el) => el.getAttribute('href')); + if (!nextPageLink.startsWith('https')) { + const origin = await page.evaluate(() => location.origin); + nextPageLink = `${origin}${nextPageLink}`; + } + await processPage(browser, nextPageLink!, out); + } + + await page.close(); +} + +(async () => { + const browser = await puppeteer.launch({ headless: true, executablePath: '/snap/bin/chromium', devtools: true,slowMo: 50 }); + //const browser = await puppeteer.launch({devtools: true}); + const out = [] + await processPage(browser, 'https://www.bizmatch.net/results',out); + await fs.writeJson('./listings.json', out) + await browser.close(); +})(); diff --git a/crawler/listings.json b/crawler/listings.json new file mode 100644 index 0000000..ce56592 --- /dev/null +++ b/crawler/listings.json @@ -0,0 +1,3035 @@ +[ + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Industrial Service Company In Corpus Christi For Sale - 1954", + "summary": ["Asking price: $5,500,000", "Sales revenue: $1,200,000", "Net profit: $650,000"], + "description": [ + "This company services a wide variety of industries. Asking price includes Business and the Real Estate and is approx 30,000 sq ft with room for expansion including approx 5 acres. Absentee run business." + ], + "type": "2", + "location": "Texas", + "price": 5500000, + "salesRevenue": 1200000, + "cashFlow": 650000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Coastal Bend Manufacturing Business Plastic Injection For Sale - 1950", + "summary": ["Asking price: $165,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Established 2005. ", "Patent Pending Product. ", "World wide market. ", "FFE approx $45,000 including in asking price."], + "type": "12", + "location": "Texas", + "price": 165000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": ["Furniture / Fixtures value: $45,000", "Inventory / Stock value: Undisclosed", "Relocatable:This business can be relocated."], + "reasonForSale": "Undercapitalized ", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corner Property On Everhart South-side Corpus Christi For Sale - 1944", + "summary": ["Asking price: $830,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Great Corner location on the South Side of Corpus Christi on Everhart Road. ", "Approx .442 Acres. Great Investment property, Fast Food Location, etc."], + "type": "3", + "location": "Texas", + "price": 830000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Dessert Business For Sale - 1941", + "summary": ["Asking price: $124,900", "Sales revenue: $225,000", "Net profit: $50,000"], + "description": [ + "Over 10 years established. Great opportunity for expansion. Easy operation. Leased location. Great for owner operator. Asking price includes business and equipment." + ], + "type": "13", + "location": "Texas", + "price": 124900, + "salesRevenue": 225000, + "cashFlow": 50000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "3", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Industrial And Oilfield Supply Company For Sale - 1938", + "summary": ["Asking price: $2,390,000", "Sales revenue: $3,400,000", "Net profit: $600,000"], + "description": ["South Texas location. Established 2014. 3 employees. Semi-Absentee owner. Includes approx $750,000 inventory at cost."], + "type": "6", + "location": "Texas", + "price": 2390000, + "salesRevenue": 3400000, + "cashFlow": 600000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": "Inventory / Stock value: $800,000", + "employees": "3", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Successful Restaurant In South Texas For Sale - 1937", + "summary": ["Asking price: $750,000", "Sales revenue: $1,500,000", "Net profit: $350,000"], + "description": [ + "South Texas location. ", + "Established 35 years ", + "Cash flow approx $350,000. ", + "28 employees ", + "Mon-Sat operation. ", + "Real Estate is an option at $500,000. ", + "Steady long-term customers. ", + "Great for owner/operator." + ], + "type": "13", + "location": "Texas", + "price": 750000, + "salesRevenue": 1500000, + "cashFlow": 350000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "28", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Long Established Sportsbar In Corpus Christi For Sale - 1932", + "summary": ["Asking price: $220,000", "Sales revenue: $250,000", "Net profit: Undisclosed"], + "description": ["Long Established Sports Bar. Busy area. Inventory to be compensated separately at closing. Absentee owner. Seller retiring."], + "type": "13", + "location": "Texas", + "price": 220000, + "salesRevenue": 250000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": "Furniture / Fixtures value: $100,000", + "employees": "4", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Manufacturing And Fabrication Company For Sale - 1930", + "summary": ["Asking price: $5,500,000", "Sales revenue: $1m - $5m", "Net profit: $500k - $2.5m"], + "description": [ + "South Texas. Fabrication and Manufacturing. 18 Employees. Revenues between $3.5MM - $5MM. ", + "Cash Flow approx 15%. Asking price includes business, land and building. Overhead Crane Capacity. ", + "Servicing Refineries and Chemical Plants. Seller relocation." + ], + "type": "12", + "location": "Texas", + "price": 5500000, + "salesRevenue": 100000, + "cashFlow": 500000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Busy Location Convenience Store In Corpus Christi For Sale - 1927", + "summary": ["Asking price: $795,000", "Sales revenue: $1,360,000", "Net profit: $150,000"], + "description": [ + "20 years established. 6 employees Inside Sales approx $74,000 monthly. Approx 20,000 gallons gas monthly. Equipment to add Fast Food. Very profitable. Business, Land, Building, equipment included in asking price. Inventory to be compensated separately at cost." + ], + "type": "4", + "location": "Texas", + "price": 795000, + "salesRevenue": 1360000, + "cashFlow": 150000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Oilfield Service Company For Sale - 1926", + "summary": ["Asking price :$5,950,000", "Sales revenue: $4,000,000", "Net profit: $800,000"], + "description": [ + "This Oilfield Service and Rental Company has been established for 20 years. Many Master Service Agreements in place. Company offers Swabbing, Slicklining and Equipment Rental Services to Oilfield companies. Seller is willing to stay long term to assure smooth transition. Equipment FMV is approx. $4MM. Debt free. Real estate is an option" + ], + "type": "6", + "location": "Texas", + "price": 5950000, + "salesRevenue": 4000000, + "cashFlow": 800000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": "Furniture / Fixtures value: $4,000,000", + "employees": "20", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Ranch And Farming Service Company Coastal Bend Area For Sale - 1919", + "summary": ["Asking price: $425,000", "Sales revenue: $550,000", "Net profit: $130,000"], + "description": [ + "Coastal Bend Area Service Co. Farming and Ranch Customers. No advertising. Word of mouth growth. Seller is retiring and will be available for training and consultation." + ], + "type": "9", + "location": "Texas", + "price": 425000, + "salesRevenue": 550000, + "cashFlow": 130000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": "Furniture / Fixtures value: $80,000", + "employees": "3", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Church Property Great Location In Corpus Christi For Sale - 1917", + "summary": ["Asking price: $1,795,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Church Property in Corpus Christi. Great Location. Approx 2.75 Acres of property. Includes land and building. Lots of Room to Expand. Possible extension to add School or Day Care. Pastor retiring. Congregation moving to different location." + ], + "type": "3", + "location": "Texas", + "price": 1795000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Auto Service Franchise Greater Corpus Christi Area For Sale - 1910", + "summary": ["Asking price: $235,000", "Sales revenue: $250k - $500k", "Net profit: $100k - $250k"], + "description": [ + "Greater Corpus Christi. Established 15 years. No Employees. ", + "Long Established Customer Base. Average Revenues $180,000-$350,000 annual. ", + "Average Cash Flow $120,000-$200,000 annual. Seller will train and be available for long-term consultation." + ], + "type": "1", + "location": "Texas", + "price": 235000, + "salesRevenue": 250000, + "cashFlow": 100000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Bridal Apparel Production Design Company - Popular Designer For Sale - 1909", + "summary": ["Asking price: $875,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "This well known Bridal Apparel Production/Design Company has been established since 1985. It is a Trademarked company. The business can be relocated. Seller will be available for long term consultation and design assistance." + ], + "type": "5", + "location": "Texas", + "price": 875000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": "Includes approximately $1,000,000 inventory at cost + approximately 200 patterns for the original designs of the dresses", + "reasonForSale": "health issues", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Free Standing South Alameda Income Producing Property For Sale - 1905", + "summary": ["Asking price: $398,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Free Standing Building. South Alameda location. Approx 2,000 sq ft."], + "type": "4", + "location": "Texas", + "price": 398000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Upscale Resale Boutique In Corpus Christi For Sale - 1904", + "summary": ["Asking price: $98,000", "Sales revenue: $80,000 ", "Net profit: $30,000"], + "description": [ + "Upscale Resale Boutique. Located in Corpus Christi. Established 5 years. ", + "2 Employees. Leased location. Busy Area. Great following. Approx $75K inventory and equipment." + ], + "type": "5", + "location": "Texas", + "price": 98000, + "salesRevenue": 80000, + "cashFlow": 30000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "2", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Subway Restaurant In Corpus Christi Texas For Sale - 1900", + "summary": ["Asking price: $225,000", "Sales revenue: $250,000", "Net profit: Undisclosed"], + "description": [ + "Corpus Christi. Busy Location. Absentee Owner. 5 Employees. Asking price includes business and equipment. Inventory to be compensated separately at cost." + ], + "type": "10", + "location": "Texas", + "price": 225000, + "salesRevenue": 250000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "5", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Subway Restaurant Package Of Stores For Sale - 1899", + "summary": ["Asking price :$745,000", "Sales revenue: $800,000", "Net profit: Undisclosed"], + "description": [ + "Includes territory. Leased locations. Absentee ownership. 13 employees. Long established. Asking price includes business and equipment. Inventory to be compensated separately at cost." + ], + "type": "10", + "location": "Texas", + "price": 745000, + "salesRevenue": 800000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "13", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Rental Warehouse Office Property In Corpus Christi For Sale - 1898", + "summary": ["Asking price: $400,000", "Sales revenue: $52,000", "Net profit: Undisclosed"], + "description": [ + "Warehouse Property divided with 3 tenants. Fully occupied. Each tenant space has individual office space as well. Fenced yard space also available on property. Approx 13,500 sq ft. bldg." + ], + "type": "3", + "location": "Texas", + "price": 400000, + "salesRevenue": 52000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Adult Day Care And Storage Units For Sale - 1957", + "summary": ["Asking price: $750,000", "Sales revenue: Undisclosed", "Net profit: $97,500"], + "description": ["Established 20 years. Absentee run. Adult Day Care plus Storage Units. ", "6 employees. Seller retiring."], + "type": "4", + "location": "Texas", + "price": 750000, + "salesRevenue": 0, + "cashFlow": 975000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "employees": "6", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Greater Coastal Bend Area Adult Day Care For Sale - 1956", + "summary": ["Asking price: $695,000", "Sales revenue: Undisclosed", "Net profit: $70,000"], + "description": ["15 year established Adult Day Care. Asking price includes business and real estate. ", "Absentee operated. Seller will train."], + "type": "4", + "location": "Texas", + "price": 695000, + "salesRevenue": 0, + "cashFlow": 70000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Sport Airplane Parts Manufacturing Business For Sale - 1959", + "summary": ["Asking price: $1,500,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Sport Airplane Parts Manufacturing Business Opportunity. ", + "$250K down and seller financing to a qualified buyer.", + "Financing available:man $250K down payment and seller financing to a qualified buyer." + ], + "type": "12", + "location": "Texas", + "price": 1500000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Window Solar And Shutter Company In South Texas For Sale - 1964", + "summary": ["Asking price: $75,000", "Sales revenue: $100,000", "Net profit: $40,000"], + "description": [ + "Window Solar and Shutter Company. ", + "South Texas location. ", + "Established 8 years. ", + "Semi-Absentee operation. ", + "Assistant in place for bids and installations. ", + "Seller will train." + ], + "type": "4", + "location": "Texas", + "price": 75000, + "salesRevenue": 100000, + "cashFlow": 40000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Franchise Dessert Business In Corpus Christi Texas For Sale - 1965", + "summary": ["Asking price: $110,000", "Sales revenue: $230,000", "Net profit: Undisclosed"], + "description": ["Established Franchise Dessert Business. ", "Few employees. ", "Absentee run. ", "Prime location. ", "Profitable."], + "type": "13", + "location": "Texas", + "price": 110000, + "salesRevenue": 230000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "6", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Long Established Very Profitable Restaurant In Corpus Christi For Sale - 1968", + "summary": ["Asking price: $1,490,000", "Sales revenue: $1,475,000", "Net profit: $288,000"], + "description": ["Over 20 Years Established. ", "Located in Corpus Christi. ", "Semi-Absentee owner."], + "type": "13", + "location": "Texas", + "price": 1490000, + "salesRevenue": 1475000, + "cashFlow": 288000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Multi Location Food Franchise Business For Sale - 1970", + "summary": ["Asking price: $2,950,000", "Sales revenue: $3,650,000", "Net profit: $729,000"], + "description": ["Franchise operation. ", "Located in South Texas. ", "5 locations. ", "Absentee ownership. ", "Manager in place. ", "Leased locations."], + "type": "10", + "location": "Texas", + "price": 2950000, + "salesRevenue": 3650000, + "cashFlow": 729000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Profitable Durable Medical Equipment Company In South Texas For Sale - 1971", + "summary": ["Asking price: $450,000", "Sales revenue: $700,000", "Net profit: $200,000"], + "description": [ + "Well established DME Company. ", + "South Texas Location. ", + "Established 7 years. ", + "Medicare, Medicaid, Insurance Licensed. ", + "5 Employees. ", + "Sellers are retiring." + ], + "type": "4", + "location": "Texas", + "price": 450000, + "salesRevenue": 700000, + "cashFlow": 200000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "5", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Rv Park With Expansion Acreage Texas Coastal Bend For Sale - 1973", + "summary": ["Asking price: $2,900,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Approx 43+ Acres offers great expansion opportunity. ", + "51 Spaces established. ", + "+ 3 Bedroom Home. ", + "+ Apartment. ", + "Large Ponds. ", + "Coastal Bend Area of Texas. ", + "Possible Seller Financing with down payment to a qualified buyer.", + "Support & training: Seller will be available for training and transition", + "Financing available: Possible Seller Financing, with down payment, to a qualified buyer." + ], + "type": "3", + "location": "Texas", + "price": 2900000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Automotive Service & Repair South Side Corpus Christi For Sale - 1978", + "summary": ["Asking price: $750,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Automotive Service and Repair. ", + "10 years established. ", + "Located in South Side Corpus Christi Texas. ", + "Prime location. ", + "7 employees . ", + "8 Bays. ", + "Room to storage units. ", + "Asking price includes Business, Equipment and Real Estate.", + "Financing available: Possible some seller financing available to a qualified buyer." + ], + "type": "1", + "location": "Texas", + "price": 750000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "employees": "7", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Established Deli With Restaurant In Corpus Christi For Sale - 1976", + "summary": ["Asking price: $199,000", "Sales revenue: $500,000 ", "Net profit: $60,000"], + "description": [ + "Deli - Restaurant. ", + "Long Established. ", + "Located in Corpus Christi Texas. ", + "Absentee Owner. ", + "Manager in place. ", + "Great location. ", + "Opportunity to expand." + ], + "type": "13", + "location": "Texas", + "price": 199000, + "salesRevenue": 500000, + "cashFlow": 60000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Epoxy Manufacturing Company In South Texas For Sale - 1979", + "summary": ["Asking price: $190,000", "Sales revenue: $120,000", "Net profit: $50,000"], + "description": ["South Texas Location. ", "Established since 1955. ", "Seller retiring. ", "Asking price includes real estate."], + "type": "12", + "location": "Texas", + "price": 190000, + "salesRevenue": 120000, + "cashFlow": 50000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Redemption And Arcade Game Route Company South Texas For Sale - 1981", + "summary": ["Asking price: $398,000", "Sales revenue: $400,000", "Net profit: $80,000"], + "description": [ + "Redemption and Arcade Game Route Company. ", + "Includes Redemption and Arcade Machines. ", + "South Texas Location. ", + "Established 20 Years. ", + "Asset Value ~$320,000. ", + "Gross ~$400,000 before commissions." + ], + "type": "4", + "location": "Texas", + "price": 398000, + "salesRevenue": 400000, + "cashFlow": 80000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": "Furniture / Fixtures value: $320,000", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Record Storage Scanning & Shredding Company For Sale - 1983", + "summary": ["Asking price: $425,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["South Texas Location. ", "Record Storage, Shredding and Storage Company for Safety and Security of documents. ", "Leased location. ", "Long established."], + "type": "2", + "location": "Texas", + "price": 425000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Very Profitable Pizzeria In South Texas For Sale - 1985", + "summary": ["Asking price: $2,300,000", "Sales revenue: $1,800,000", "Net profit: $350,000"], + "description": [ + "This Pizzeria is long established. ", + "Purchase price includes land, building, and business. ", + "Revenues have increased every year. ", + "Semi-Absentee owner. Seller spends ~20 hrs a week in the business." + ], + "type": "13", + "location": "Texas", + "price": 2300000, + "salesRevenue": 1800000, + "cashFlow": 350000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Towing & Recovery Company In South Texas For Sale - 1987", + "summary": ["Asking price: $1,800,000", "Sales revenue: $1,350,000", "Net profit: Undisclosed"], + "description": [ + "South Texas Location. ", + "Established 3 years. ", + "17 Employees. ", + "3 Locations. ", + "Revenues 2017 ~$1.35MM. ", + "Revenues 2018 ~$1.8MM estimate. ", + "Asking price includes business and equipment (approx $450,000 FFE). ", + "Great opportunity for expansion." + ], + "type": "7", + "location": "Texas", + "price": 1800000, + "salesRevenue": 1350000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": "Furniture / Fixtures value: $450,000", + "employees": "17", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Self Serve Car Wash In Corpus Christi For Sale - 1988", + "summary": ["Asking price: $95,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Long Established. ", "Leased Location (Low Lease)."], + "type": "7", + "location": "Texas", + "price": 95000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Three Rivers Service Yard, Mobile Home And Warehouse For Sale - 1989", + "summary": ["Asking price: $125,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Previous Oilfield Service Yard. ", "Mobile Home and Warehouse with ample storage. ", "Center of Three Rivers, Texas. ", "Approx 1.255 Acres."], + "type": "7", + "location": "Texas", + "price": 125000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Small Oilfield Service Company For Sale - 1990", + "summary": ["Asking price:$1,600,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Oilfield Service Company ", + "South Texas Location. ", + "30 Years established. ", + "6 employees. ", + "Absentee owner. ", + "Asking price includes Business, Equipment and Real Estate. ", + "Some seller financing to a qualified buyer.", + "Owner financing: Owner financing is available. Please contact the seller for more information.", + "Financing available: Some seller financing to a qualified buyer." + ], + "type": "2", + "location": "Texas", + "price": 1600000, + "salesRevenue": 1600000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "employees": "6", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Compressor Maintenance & Service Company For Sale - 1991", + "summary": ["Asking price: $1,600,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "30 Years established. ", + "6 employees. ", + "Asking price includes Business, Equipment and Real Estate. ", + "Located in Sunny, South Texas. ", + "Absentee owner. ", + "Some seller financing to a qualified buyer.", + "Owner financing: Owner financing is available. Please contact the seller for more information.", + "Financing available: Some seller financing to a qualified buyer." + ], + "type": "2", + "location": "Texas", + "price": 1600000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "employees": "6", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Area Nursing Home Property For Sale - 2031", + "summary": ["Asking price: $495,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Formerly a Nursing Home. ", + "Previously licensed for 60 Beds. ", + "Approx 4.5 Acre Facility. ", + "Close to Hwy 77. ", + "Great opportunity for Nursing Home, Assisted Living or Man Camp. ", + "Appraised value $550,000. Asking $495K." + ], + "type": "11", + "location": "Texas", + "price": 495000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Unique Restaurant Operation Including Real Estate For Sale- 2028", + "summary": ["Asking price: $925,000", "Sales revenue: Undisclosed", "Net profit: $175,000"], + "description": ["Established 10 years. ", "Busy location/workers and tourists. ", "Includes Business, Equipment and Real Estate. ", "Seller will train."], + "type": "13", + "location": "Texas", + "price": 925000, + "salesRevenue": 0, + "cashFlow": 175000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "employees": "4", + "reasonForSale": "Relocation", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Succesful Mexican Restaurant For Sale - 2029", + "summary": ["Asking price: $1,250,000", "Sales revenue: $850,000", "Net profit: $150,000"], + "description": [ + "Established 15 years. ", + "Asking price includes Business, Equipment and Real Estate ", + "18 Employees. ", + "Option to purchase the business only at $450,000 and lease the property @ $7,500/monthly." + ], + "type": "13", + "location": "Texas", + "price": 1250000, + "salesRevenue": 850000, + "cashFlow": 150000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "North Padre Island Restaurant Location In Corpus Christi For Sale - 2026", + "summary": ["Asking price: $99,900", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Great Island location. ", "Fully equipped. ", "Seller relocating. ", "Terms to a qualified buyer. ", "Asset Sale."], + "type": "13", + "location": "Texas", + "price": 99900, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Relocation", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Apartment Complex Coastal Bend Area For Sale - 2025", + "summary": ["Asking price: $2,295,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Located in Sunny South Texas. Coastal Bend Area. ", + "18 Apartments (12-Two Bed, Two Bath; 6-One Bed, One Bath) ", + "Completely Updated. ", + "Fully Occupied. ", + "Separate Metered for utilities. ", + "Approx 1 Acre Real Estate. ", + "Could be converted into Vacation Rentals or Condos." + ], + "type": "3", + "location": "Texas", + "price": 0, + "salesRevenue": 2295000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Fencing Company Coastal Bend Area Of Texas For Sale - 2024", + "summary": ["Asking price: $585,000", "Sales revenue: $1,200,000", "Net profit: $150,000"], + "description": [ + "Coast Bend Area Location. ", + "Long Established. ", + "Steadily Growing Business. ", + "Steady, Long Term Customer Base. ", + "Residential & Commercial Customers. ", + "Opportunity For Expansion Into Added Fencing Types/Materials." + ], + "type": "7", + "location": "Texas", + "price": 585000, + "salesRevenue": 1200000, + "cashFlow": 150000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Assisted Living Facility For Sale - 2022", + "summary": ["Asking price: $265,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Assisted Living. ", + "Licensed Private Pay Small Type B. ", + "6 Bed Facility. ", + "Just Updated. ", + "Option to purchase Real Estate $450K. ", + "Terms may be available to a qualified buyer.", + "Support & training: Seller will be available for training and transition.", + "Financing available: Terms may be available to a qualified buyer." + ], + "type": "4", + "location": "Texas", + "price": 265000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Convenience Store In Corpus Christi For Sale - 2021", + "summary": ["Asking price: $425,000", "Sales revenue: $500k - $1m", "Net profit: $60,000"], + "description": [ + "South Side Corpus Christi. ", + "Highway Location. ", + "Long Established. ", + "Rental Income $1,000 month from additional tenant. ", + "Potential for gasoline sales. ", + "$100K Down Payment and Seller financing to a qualified buyer. ", + "Asking Price includes Business, Equipment and Real Estate. ", + "Cash Flow to owner approx $60,000. ", + "Annual Revenues approx $500,000-$600,000.", + "Support & training: Seller will be available for training and transition.", + "Financing available: $100K Down Payment and Seller Financing to a qualified buyer.", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "7", + "location": "Texas", + "price": 425000, + "salesRevenue": 500000, + "cashFlow": 60000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Burger And Deli Business In Corpus Christi For Sale - 2019", + "summary": ["Asking price: $120,000", "Sales revenue: $350,000", "Net profit: Undisclosed"], + "description": ["Busy location ", "Absentee ownership ", "Established for 10 years. ", "7 Employees ", "With $75K down payment, seller financing to qualified buyer."], + "type": "13", + "location": "Texas", + "price": 120000, + "salesRevenue": 350000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "7", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Side Corpus Christi Medical Area Property For Sale - 2018", + "summary": ["Asking price: $1,700,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Approx 2.75 Acres. ", "Medical Area. ", "Walking Distance from Bay Area Hospital. ", "Growing South Side Corpus Christi."], + "type": "3", + "location": "Texas", + "price": 1700000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Hill Country Gallery For Sale - 2015", + "summary": ["Asking price: $250,000", "Sales revenue: Undisclosed", "Net profit: $70,000"], + "description": ["Prime location. ", "Established more than 5 years. ", "Leased location. ", "Owner operated."], + "type": "4", + "location": "Texas", + "price": 250000, + "salesRevenue": 0, + "cashFlow": 70000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Profitable Food Franchise In Mcallen Texas For Sale - 2013", + "summary": ["Asking price: $495,000", "Sales revenue: $650,000", "Cash flow: $175,000"], + "description": ["Great Location. ", "Established. ", "Absentee operated. ", "Manager in place. ", "Excellent growth!"], + "type": "10", + "location": "Texas", + "price": 495000, + "salesRevenue": 650000, + "cashFlow": 175000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Profitable Corpus Christi Area Adult Day Care For Sale - 2012", + "summary": ["Asking price: $135,000", "Sales revenue: $300,000", "Net profit: Undisclosed"], + "description": ["Established 20 years. ", "Seller is retiring. ", "Low lease payment. ", "Revenues average $300,000 annually."], + "type": "7", + "location": "Texas", + "price": 135000, + "salesRevenue": 300000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Texas Gulf Coast Full Service Marina With Lodging For Sale - 2009", + "summary": ["Asking price: $13,990,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Located on Sunny Texas Gulf Coast. ", + "Fast Growing Area. ", + "Full Service Marina with: ", + "Boat Slips and Launch ", + "Lodges ", + "Hotel ", + "Restaurant ", + "Event Center ", + "Bait Stand ", + "Apartment ", + "Gift Shop ", + "Rentals ", + "New RV Park in process of being built. ", + "Asking price includes approx 13.5 Acres owned land and approx 5 Acres leased. ", + "Absentee ownership." + ], + "type": "7", + "location": "Texas", + "price": 13990000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Self Service Car Wash, Oil Change Corpus Christi For Sale - 2008", + "summary": ["Asking price: $495,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Self Service Car Wash ", "Oil Change ", "Long Established ", "Asking price includes Land, Building, and Equipment."], + "type": "7", + "location": "Texas", + "price": 495000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Profitable South Texas Cemetery & Funeral Home For Sale - 2006", + "summary": ["Asking price: $675,000", "Sales revenue: $164,000", "Net profit: $80,000"], + "description": [ + "South Texas location. ", + "Asking price includes business, equipment and real estate. ", + "Seller is retiring. ", + "Seller has added several more Vet clinics to his customer referral base and revenues continue to improve." + ], + "type": "7", + "location": "Texas", + "price": 675000, + "salesRevenue": 164000, + "cashFlow": 80000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Central Corpus Christi Income Producing Property For Sale Corpus Christi, Texas - 2003", + "summary": ["Asking price: $425,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Located in Central Area of Corpus Christi. ", "Long-Term Tenant."], + "type": "4", + "location": "Texas", + "price": 425000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Emergency Medical Service Ems Ambulance Company For Sale South Texas, Texas - 1997", + "summary": ["Asking price: $335,000", "Sales revenue: $430,000", "Net profit: Undisclosed"], + "description": [ + "Long established Emergency Medical Service EMS Ambulance Transport Company. ", + "Located in Sunny South Texas. ", + "12 Employees. ", + "Leased location. ", + "Seller retiring. ", + "~$1,475,000 in annual billing." + ], + "type": "7", + "location": "Texas", + "price": 335000, + "salesRevenue": 430000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Food Manufacturing Production Ngmo Servicing The Hispanic Market For Sale - 1995", + "summary": ["Asking price: $3,500,000", "Sales revenue: $2,200,000", "Net profit: $650,000"], + "description": [ + "Established for 40 years. ", + "Absentee Ownership. ", + "Management in place. ", + "Asking price includes Business, All Assets- Equipment and Real Estate. ", + "No Salesperson. ", + "No Website. ", + "Room to expand facility. ", + "Assets approx ~$1,440,000 including Real Estate. ", + "2018 Estimated Revenues $2,200,000. ", + "2018 Estimated Cash Flow $650,000." + ], + "type": "7", + "location": "Texas", + "price": 3500000, + "salesRevenue": 2200000, + "cashFlow": 650000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Bridal Design And Production Company For Sale -", + "summary": ["Asking price: $845,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Well Know Exclusive Brand. ", "More than 200 Patterns ", "Terms available to a qualified buyer."], + "type": "7", + "location": "Texas", + "price": 845000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Directional Drilling Company In Texas For Sale - 2032", + "summary": ["Asking price: $4,950,000", "Sales revenue: $3,200,000 ", "Net profit: $950,000"], + "description": [ + "Directional Drilling Company in Texas ", + "Established for 5 years. ", + "Asking price $4.95M ", + "Sellers have over 30 years experience in the industry. ", + "Sellers will be available for transition. ", + "Reason for sale - Retirement. ", + "17 Employees. ", + "No Customer Concentration. ", + "2018 Revenues $3.2M. ", + "2017 Revenues $1.9M. ", + "2016 Revenues $1.5M." + ], + "type": "2", + "location": "Texas", + "price": 4950000, + "salesRevenue": 3200000, + "cashFlow": 950000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "17", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Mexican Restaurant In Rio Grande Valley For Sale - 2035", + "summary": ["Asking price: $2,900,000", "Sales revenue: $4,900,000", "Net profit: $750,000"], + "description": ["Established. ", "Absentee operated. ", "Management in place. ", "Leased locations. ", "Seller will train. ", "Great Locations."], + "type": "13", + "location": "Texas", + "price": 2900000, + "salesRevenue": 4900000, + "cashFlow": 750000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Boat Lift Service And Installation Company For Sale - 2033", + "summary": ["Asking price: $650,000", "Sales revenue: $1,500,000", "Net profit: $300,000"], + "description": ["South Texas location. ", "Established 15 years. ", "Boat Docks, Decking, Piling. ", "Seller Retiring. ", "5 Crews. ", "Seller available for transition."], + "type": "7", + "location": "Texas", + "price": 650000, + "salesRevenue": 1500000, + "cashFlow": 300000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "15", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Successful Mexican Restaurant In Mcallen For Sale - 2034", + "summary": ["Asking price: $149,000", "Sales revenue: $1,800,000 ", "Net profit: Undisclosed"], + "description": ["McAllen Texas Location. ", "Profitable. ", "Beautifully appointed. ", "Leased location. ", "Great opportunity for owner/operator."], + "type": "13", + "location": "Texas", + "price": 149000, + "salesRevenue": 1800000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Very Successful Restaurant In South Texas - 2037", + "summary": ["Asking price: $795,000", "Sales revenue: $1,700,000", "Net profit: $350,000"], + "description": [ + "South Texas Location. ", + "Established 5 Years. ", + "FMV furniture, fixtures and equipment ~ $150,000. ", + "Lunch, Dinner. ", + "Owner Operator. ", + "Long-Term Lease." + ], + "type": "13", + "location": "Texas", + "price": 795000, + "salesRevenue": 1700000, + "cashFlow": 350000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "28", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Commercial Networking, Cable And Security Company For Sale - 2038", + "summary": ["Asking price: $975,000", "Sales revenue: $650,000", "Net profit: $200,000"], + "description": [ + "Networking, Cabling and Security Installation, Service and Monitoring. ", + "Established 25 years. ", + "National Accounts. ", + "Serving Texas. ", + "Seller Retirement (will be available for transition). ", + "Cash Flow approx $200,000+ annual. ", + "2018 Revenues up more than 20%.", + "Expansion potential: Great potential for expansion.", + "Reasons for selling: Retirement.", + "Years established: 1993" + ], + "type": "7", + "location": "Texas", + "price": 975000, + "salesRevenue": 650000, + "cashFlow": 200000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "10", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Tattoo And Piercing Studio In South Texas For Sale - 2039", + "summary": ["Asking price: $65,000", "Sales revenue: $60,000", "Net profit: $40,000"], + "description": [ + "South Texas location. ", + "Established for 3 years. ", + "Leased location. ", + "1 employee. ", + "FFE approx $8,000 included in purchase price. ", + "Great Tourist location." + ], + "type": "7", + "location": "Texas", + "price": 65000, + "salesRevenue": 60000, + "cashFlow": 40000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": ["Furniture / Fixtures value: $8,000", "Inventory / Stock value: Undisclosed"], + "employees": "1", + "reasonForSale": "Seller is moving", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Convenience Store With Gas For Sale - 2040", + "summary": ["Asking price: $225,000", "Sales revenue: $1,000,000", "Net profit: $90,000"], + "description": [ + "Established 27 Years. ", + "No Brand Gasoline Sales. ", + "Busy Highway / Industrial Area. ", + "Leased Location. ", + "Real Estate Optional. ", + "Seller Retiring. ", + "Inventory to be compensated additionally at cost." + ], + "type": "7", + "location": "Texas", + "price": 225000, + "salesRevenue": 1000000, + "cashFlow": 90000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "27", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Established Popular Texas Restaurant In Fredericksburg For Sale - 2041", + "summary": ["Asking price: $195,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Great location. ", + "Fully equipped. ", + "Tourist town. ", + "Long term attractive lease in place up to 15 Years. ", + "Asking price includes business, furniture, fixtures, equipment. ", + "Partial seller financing available to a qualified buyer.", + "Support & training: Seller will be available for training and transition.", + "Financing available: Partial seller financing available to a qualified buyer" + ], + "type": "13", + "location": "Texas", + "price": 195000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Ice Cream And Sandwich Shop For Sale - 2042", + "summary": ["Asking price: $44,900", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Sunny Corpus Christi Texas location. ", + "Fully equipped. ", + "Opportunity to expand menu for breakfast, lunch, dinner. ", + "Attractive lease. ", + "Nice build out. ", + "Asking price includes business, equipment and recipes. ", + "Great Turn-key opportunity for owner/operator. ", + "Seller relocating out of state.", + "Support & training: Seller will train.", + "Financing available: With good down payment, possible partial seller financing to qualified buyer." + ], + "type": "13", + "location": "Texas", + "price": 44900, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Long Established Child Care Business In Corpus Christi For Sale - 2043", + "summary": ["Asking price: $695,000", "Sales revenue: $534,000", "Net profit: Undisclosed"], + "description": ["Established for 20 years. ", "Great Facility - Well equipped. ", "Room for expansion. ", "Asking price includes business, equipment and real estate. "], + "type": "7", + "location": "Texas", + "price": 695000, + "salesRevenue": 534000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "employees": "13", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Texas Oilfield Vac And Tank Rental Company For Sale - 2044", + "summary": ["Asking price: $2,650,000 ", "Sales revenue: $4,900,000", "Net profit: $800,000"], + "description": [ + "Water Hauling and Tank Rental. ", + "Established 1/2017. ", + "29 Employees. ", + "Revenues 2017 $2.7MM. ", + "Revenues 2018 $4.9MM. ", + "Cash Flow 2018 $800,000 ", + "Revenues up 40% in 2018. ", + "FF&E $400K. ", + "Operating out of leased location. ", + "13 Hauling Trucks. ", + "In house mechanic. ", + "Partnership. ", + "Master Service Agreements in place." + ], + "type": "2", + "location": "Texas", + "price": 2650000, + "salesRevenue": 4900000, + "cashFlow": 800000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "29", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Chiropractic Clinic In Corpus Christi For Sale - 2045", + "summary": ["Asking price: $150,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Long Established since 1997. ", "Seller Retirement. ", "Seller will be available for transition."], + "type": "7", + "location": "Texas", + "price": 150000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Electrical Contractor Business In Corpus Christi For Sale - 2046", + "summary": ["Asking price: $398,000", "Sales revenue: $400,000", "Net profit: $100,000"], + "description": [ + "Established 25 years. ", + "Specialized services. ", + "Solid Customer Base. ", + "Seller retiring. ", + "Lots of room to expand. ", + "Option to purchase real estate.", + "Reasons for selling: Retirement", + "Employees: 4", + "Years established: 25 Years" + ], + "type": "7", + "location": "Texas", + "price": 398000, + "salesRevenue": 400000, + "cashFlow": 100000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "4", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Small Engine Parts, Sales & Service For Sale - 2048", + "summary": ["Asking price: $1,195,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "South Texas location. ", + "Long established over 30 years. ", + "Long term personnel. ", + "Very profitable. ", + "Including business, equipment, inventory, and real estate. ", + "Lot's of room for expansion." + ], + "type": "1", + "location": "Texas", + "price": 1195000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement ", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Side Corpus Christi Current Retail Location For Sale - 2049", + "summary": ["Asking price: $1,200,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "South Side Commercial Property. ", + "Current Retail location. ", + "Large Building. ", + "Multiple Use. ", + "Property approx .82 Acres Land. ", + "Building approx 7,000 Sq Ft + Storage. ", + "High Traffic Area." + ], + "type": "5", + "location": "Texas", + "price": 1200000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Fredericksburg Texas Art Gallery For Sale - 2014", + "summary": ["Asking price: $294,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Fredericksburg Main Street. ", "Great Location. ", "Low Lease! ", "Established many years ", "Seller relocation."], + "type": "7", + "location": "Texas", + "price": 294000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi General Medical Practice For Sale - 2050", + "summary": ["Asking price: $195,000", "Sales revenue: $240,000", "Net profit: Undisclosed"], + "description": ["Long established. Over 1,000 patients. Seller is retiring."], + "type": "7", + "location": "Texas", + "price": 195000, + "salesRevenue": 240000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Popular Coastal Bend Area Bar And Grill For Sale - 2011", + "summary": ["Asking price: $1,400,000 ", "Sales revenue: $3,500,000", "Net profit: $350,000"], + "description": [ + "Coastal Bend Area. ", + "Long Established. ", + "Long Term Lease. ", + "Down payment and seller financing to a qualified buyer.", + "Support & training: Seller will be available for training and transition.", + "Owner financing: Owner financing is available. Please contact the seller for more information.", + "Financing available: Down payment and seller financing to a qualified buyer.", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "13", + "location": "Texas", + "price": 1400000, + "salesRevenue": 3500000, + "cashFlow": 350000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Automotive And Tire Center In Corpus Christi For Sale - 1806", + "summary": ["Asking price: $495,000", "Sales revenue: $500,000", "Net profit: Undisclosed"], + "description": [ + "This Automotive and Tire business is well established. The facility was recently updated to 6 bays. Office space ~1,500 sq ft. Building approx ~4,200 sq ft.", + "Reasons for selling: Retirement", + "Trading hours: Mon-Fri 8am-5pm", + "Employees: 4", + "Years established: 1989", + "Support & training: Seller will train", + "Furniture / Fixtures value: $50,000", + "Inventory / Stock value: Undisclosed" + ], + "type": "1", + "location": "Texas", + "price": 495000, + "salesRevenue": 500000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Truck Wash And Oil Change Greater Corpus Christi For Sale - 1811", + "summary": ["Asking price: $945,000", "Sales revenue: $700,000", "Net profit: Undisclosed"], + "description": [ + "Long Established Truck Wash and Auto Service Business. Asking price includes business, real estate and equipment. Inventory to be compensated separately at cost. Mostly absentee operated. For the Texas Real Estate Commission Information About Brokerage Services, see this on our website at Biz-match.com. For the Texas Real Estate Commission Consumer Protection Notice, see this on the TREC.com website.", + "Support & training: Seller will train", + "Owner financing: Owner financing is available. Please contact the seller for more information.", + "Financing available: Some seller financing available to a qualified buyer", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "1", + "location": "Texas", + "price": 945000, + "salesRevenue": 700000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Convenience Store In San Benito For Sale - 1822", + "summary": ["Asking price: $246,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Approx 1300 sq ft building and approx .62 Acres of property. Prime location on Highway"], + "type": "7", + "location": "Texas", + "price": 246000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Hidalgo County Elsa Property For Sale - 1823", + "summary": ["Asking price: $465,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Approximately 6.79 acres of property for sale. Highway location."], + "type": "3", + "location": "Texas", + "price": 465000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Convenience Store In Sinton For Sale - 1824", + "summary": ["Asking price: $195,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Approx 1632 sq ft building and approx .85 Acres of property. Great location."], + "type": "7", + "location": "Texas", + "price": 195000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Prime 6.5+ Acres Real Estate, Kingsville Hwy 77 For Sale - 1825", + "summary": ["Asking price: $495,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Kingsville. Approx 6.5+ Acres of land. Prime Highway 77 location next to Knights Inn. "], + "type": "3", + "location": "Texas", + "price": 495000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Brooks County Falfurrias Prime Highway Location Property For Sale - 1826", + "summary": ["Asking price: $75,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Brooks County Property For Sale. Approx 3 Acres of land. Busy Highway Location."], + "type": "3", + "location": "Texas", + "price": 75000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Prime Commercial Property In Carrizo Springs For Sale - 1827", + "summary": ["Asking price: $195,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Carrizo Springs. Approx .57 Acres of land. Prime corner location. Previous Convenience Store location. For Texas Real Estate Commission Information About Brokerage Services, see For Texas Real Estate Commission Consumer Protection notice, see h" + ], + "type": "3", + "location": "Texas", + "price": 195000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Turnkey Restaurant In South Texas For Sale - 1849", + "summary": ["Asking price: $1,300,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": ["Established for 15 years. Loyal customer base. Asking price includes land, building and equipment. Seller will stay for training and consultation."], + "type": "13", + "location": "Texas", + "price": 1300000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Oil Well Service Workover And Well Plugging Business For Sale - 1851", + "summary": ["Asking price: $5,950,000", "Sales revenue: $4,000,000", "Net profit: $1,000,000"], + "description": ["Established 9 years. 25 employees. Assets approx $4MM fair market value. Lots of room to expand. Seller will be available for long term transition."], + "type": "2", + "location": "Texas", + "price": 5950000, + "salesRevenue": 4000000, + "cashFlow": 1000000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "employees": "25", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Machining Welding And Fabrication Company For Sale - 1857", + "summary": ["Asking price: $2,500,000", "Sales revenue: $1,200,000", "Net profit: $350,000"], + "description": ["Established since 2007. Located in South Texas. Seller retiring. Asking price includes business, equipment and real estate. Asset value approx $1.5MM."], + "type": "2", + "location": "Texas", + "price": 2500000, + "salesRevenue": 1200000, + "cashFlow": 350000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Motel In South Central Texas - Hunting, Fishing For Sale - 1862", + "summary": ["Asking price: $495,000 ", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Completely remodeled. 32 Rooms plus managers quarters. Absentee ownership. Manager in place. Includes 5.5 acres of real estate. Great for Hunters, Fishermen; Very near Lake. Asking price includes Real Estate, business, furniture, fixtures and equipment." + ], + "type": "7", + "location": "Texas", + "price": 495000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Coastal Bend Area Casual Upscale Restaurant For Sale - 1868", + "summary": ["Asking price: $545,000", "Sales revenue: $500,000", "Net profit: Undisclosed"], + "description": [ + "Coastal Bend Area. Established. 10 employees. Upscale restaurant. Very nice build-out. Asking price includes business, equipment and real estate. Inventory to be compensated separately at sellers cost." + ], + "type": "13", + "location": "Texas", + "price": 545000, + "salesRevenue": 500000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "South Texas Pet Cemetery And Funeral Home For Sale - 1878", + "summary": ["Asking price: $675,000", "Sales revenue: Undisclosed", "Net profit: $50,000"], + "description": ["South Texas. Asking price includes business, equipment and real estate. Seller is retiring."], + "type": "7", + "location": "Texas", + "price": 675000, + "salesRevenue": 0, + "cashFlow": 50000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Rv Park Land - Rockport Texas For Sale - 1879", + "summary": ["Asking price: $699,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Approx 14.37 Acres in Rockport Texas off Business Hwy 35. Ideal location for RV Park development. ", + "Beautiful Trees. All city utilities including sewer and gas available to the property. Surrounded by other RV Parks." + ], + "type": "3", + "location": "Texas", + "price": 699000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Rockport Texas Restaurant Including Real Estate For Sale - 1884", + "summary": ["Asking price: $565,000", "Sales revenue: $650,000", "Net profit: Undisclosed"], + "description": ["Great opportunity for owner-operator. Established. Asking price includes business, equipment and real estate. Very nice building. Great kitchen."], + "type": "13", + "location": "Texas", + "price": 565000, + "salesRevenue": 650000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Texas Vineyard Property For Sale - 1883", + "summary": ["Asking price: $595,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "This Vineyard facility includes over ~60 Acres of property, located in Northeast Texas, which includes ~11 Acres of wine stock. Incredible Muscadine grapes, several awards. Vineyard could be expanded. Very good water well capable of producing 50 gallons per minute, year around." + ], + "type": "9", + "location": "Texas", + "price": 595000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Coastal Bend Area Convenience Store Including Real Estate For Sale - 1892", + "summary": ["Asking price: $329,000", "Sales revenue: $550,000", "Net profit: Undisclosed"], + "description": [ + "Long established. Located near water in Coastal Bend Area. Inside sales approx $1,500/day. ", + "Asking price includes business and real estate. Inventory to be compensated additionally at cost (inventory approx $45,000 at cost)." + ], + "type": "7", + "location": "Texas", + "price": 329000, + "salesRevenue": 550000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Retirement ", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi General Medical Practice For Sale - 2050", + "summary": ["Asking price: $195,000 ", "Sales revenue: $240,000", "Net profit: Undisclosed"], + "description": [ + "Long established. Over 1,000 patients. Seller is retiring.", + "Support & training: Seller will be available for transition.", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "7", + "location": "Texas", + "price": 195000, + "salesRevenue": 240000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Popular Coastal Bend Area Bar And Grill For Sale - 2011", + "summary": ["Asking price: $1,400,000", "Sales revenue: $3,500,000 ", "Net profit: $350,000"], + "description": [ + "Business Description", + "Coastal Bend Area. ", + "Long Established. ", + "Long Term Lease. ", + "Down payment and seller financing to a qualified buyer.", + "Support & training: Seller will be available for training and transition.", + "Owner financing: Owner financing is available. Please contact the seller for more information.", + "Financing available: Down payment and seller financing to a qualified buyer.", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "13", + "location": "Texas", + "price": 1400000, + "salesRevenue": 3500000, + "cashFlow": 350000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Tax Service In South Texas For Sale - 2051", + "summary": ["Asking price:$285,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Sunny South Texas Location. ", + "4 Locations. ", + "Repeat Clientel. ", + "Established for more than 10 years. ", + "10 Employees. ", + "Real estate option.", + "Reasons for selling: Retirement.", + "Employees: 10 ", + "Years established: 10 Years" + ], + "type": "7", + "location": "Texas", + "price": 285000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "10", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "5 Bay Car Wash Greater Corpus Christi Area For Sale - 2052", + "summary": ["Asking price: $350,000", "Sales revenue: Undisclosed ", "Net profit: Undisclosed"], + "description": [ + "Greater Corpus Christi Location. ", + "5 Self Serve Bays. ", + "Long Established.", + "Support & training: Seller will be available for training and transition.", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "7", + "location": "Texas", + "price": 350000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Engine Repair, Parts, And Service Business For Sale - 2053", + "summary": ["Asking price: $250,000", "Sales revenue: $450,000 ", "Net profit: $100,000"], + "description": [ + "South Texas location. ", + "Long established over 30 years. ", + "Long term personnel. ", + "Very profitable. ", + "Including business, equipment, and approx $100,000 parts inventory at cost. ", + "Real estate is an option. ", + "Lot's of room for expansion.", + "Support & training: Seller will be available for training and transition.", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: $100,000" + ], + "type": "1", + "location": "Texas", + "price": 250000, + "salesRevenue": 450000, + "cashFlow": 100000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Texas Oilfield Vac Service Company For Sale - 2027", + "summary": ["Asking price :$6,750,000", "Sales revenue: $4,900,000", "Net profit: $1,000,000"], + "description": [ + "Business Description", + "Established for 7 years. ", + "Owner will remain for transition. ", + "No Salesperson. ", + "No Customer Concentration. ", + "Company positioned to handle 40% Revenue increase over 2018 Revenues. ", + "15 Employees. ", + "35 MSA's in place. ", + "Asking Price $6.75MM. ", + "Asset value approx $1MM. ", + "A/R approx $900K.", + "Support & training: Seller will remain for the transition.", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "2", + "location": "Texas", + "price": 6750000, + "salesRevenue": 4900000, + "cashFlow": 1000000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "15", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Day Care Center Central Corpus Christi For Sale - 1896", + "summary": ["Asking price: $435,000", "Sales revenue: $495,000", "Net profit: Undisclosed"], + "description": [ + "Central Corpus Christi location. Asking price includes business, land and building. 10 Years established. 15 Employees. Infants through Pre-K. Seller will train." + ], + "type": "7", + "location": "Texas", + "price": 435000, + "salesRevenue": 495000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Oilfield Construction And Maintenance Service Company For Sale - 2054", + "summary": ["Asking price: $25,000,000", "Sales revenue: $25,500,000", "Net profit: Undisclosed"], + "description": [ + "Located in Texas ", + "Established 5 years. ", + "Performing a wide variety of services such as Pipeline Construction, Maintenance, etc. ", + "30 MSA's in place. ", + "270 Employees. ", + "FMV Personal Property FF&E approx $4.2M ", + "A/R ~$5M ", + "At current time in the industry, there is approximately $59B in new pipeline construction projects in the works.", + "Support & training: Seller will be available for transition.", + "Furniture / Fixtures value: $4,000,000", + "Inventory / Stock value: Undisclosed" + ], + "type": "2", + "location": "Texas", + "price": 25000000, + "salesRevenue": 25500000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "270", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Greater Corpus Christi Area Drive Through Convenience Store For Sale - 1893", + "summary": ["Asking price : $329,000", "Sales revenue: $375,000", "Net profit : Undisclosed"], + "description": [ + "Established. Drive Through Convenience Store. Asking price includes business and real estate. 7 day/week operation. Revenues approx $375,000 in 2016. Inventory to be compensated additionally at cost (inventory approx $40,000 at cost)." + ], + "type": "5", + "location": "Texas", + "price": 329000, + "salesRevenue": 375000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Multi Location Dry Cleaner In South Texas For Sale - 2056", + "summary": ["Asking price: $295,000", "Sales revenue: $350,000 ", "Net profit: Undisclosed"], + "description": [ + "Over 10 years established. ", + "South Texas. ", + "Leased locations. ", + "Includes business and equipment. ", + "Much room for expansion. ", + "Growing area. ", + "Great opportunity for owner/operator.", + "Support & training: Seller will be available for training and transition", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "7", + "location": "Texas", + "price": 295000, + "salesRevenue": 350000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "High Visibility Profitable RV Park In South Texas For Sale - 2056", + "summary": ["Asking price: $2,650,000", "Sales revenue: $250k - $500k", "Net profit: Undisclosed"], + "description": [ + "High Visibility. ", + "72 Spaces. ", + "100% full. ", + "Currently operating on approx 7 acres. ", + "Room for expansion on more than 60 additional Acres. ", + "Good Cash Flow. ", + "Manager in place. ", + "Approx $27,000 revenues monthly.", + "Support & training: Seller will be available for training and transition", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "3", + "location": "Texas", + "price": 2650000, + "salesRevenue": 250000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "San Antonio Tire Shop And Automotive Service Business For Sale - 2058", + "summary": ["sking price: $3,650,000", "Sales revenue: $4,000,000", "Net profit: $500,000"], + "description": [ + "Established 10 years. ", + "Includes Business, Land & Building. ", + "Seller will be available for training and transition.", + "Support & training: Seller will be available for training and transition ", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "1", + "location": "Texas", + "price": 3650000, + "salesRevenue": 4000000, + "cashFlow": 500000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Fast Food Restaurant In Corpus Christi For Sale - 2059", + "summary": ["Asking price: $125,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Established 3 years. ", + "Fully Equipped. ", + "Equipment approx $100K FMV. ", + "Leased location. ", + "Approx 1,800 sq ft.", + "Support & training: Seller will be available for training and transition", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "13", + "location": "Texas", + "price": 125000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi National Food Truck Franchise For Sale Corpus Christi, Texas - 2060", + "summary": ["Asking price: $350,000", "Sales revenue: $260,000", "Net profit: $50,000"], + "description": [ + "Over 5 Years established. ", + "Owner/operator. ", + "Support & training: Seller will be available for training and transition", + "Financing available: With a good down payment, possible some seller financing to a qualified buyer.", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "13", + "location": "Texas", + "price": 350000, + "salesRevenue": 260000, + "cashFlow": 50000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Relocation", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Busy Hill Country Retail Center For Sale - 2061", + "summary": ["Asking price: $8,250,000", "Sales revenue: $900,000", "Net profit: $600,000"], + "description": [ + "Established for 10+ Years. ", + "Asking price includes business and Real Estate. ", + "Expansion possibilities. ", + "Seller Retirement.", + "Support & training: Seller will be available for training and transition", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "3", + "location": "Texas", + "price": 8250000, + "salesRevenue": 900000, + "cashFlow": 600000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Marketing And Advertising Website Trademarked Name For Sale - 1633", + "summary": ["Asking price: $375,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Marketing And Advertising Website/Trademarked Name For Sale. Catering to Business Brokers, Professionals, Lenders, and other Business to Business Services. Terms available to a qualified buyer. " + ], + "type": "8", + "location": "Texas", + "price": 375000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Machine Fabrication Shop In South Texas For Sale - 1654", + "summary": ["Asking price: $795,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Closed Machine Fabrication Shop for sale in South Texas. ", + "Machine Shop, Land & Building and approximately $300K CNC and Lathe equipment. ", + "$300K for equipment only. ", + "Lease possible. ", + "Special benefits for buyers." + ], + "type": "2", + "location": "Texas", + "price": 795000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Industrial Supply Company In Corpus Christi Area For Sale - 1667", + "summary": ["Asking price: $895,000", "Sales revenue: $1,300,000", "Net profit: $200,000"], + "description": [ + "Industrial Supply Company in the Corpus Christi Area has been established for over 4 years. The purchase price includes $250K in inventory and $250K in accounts receivable." + ], + "type": "2", + "location": "Texas", + "price": 895000, + "salesRevenue": 1300000, + "cashFlow": 200000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": "$250,000", + "employees": "4", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Auto Road Serivce Company For Sale - 1686", + "summary": ["Asking price: $75,000", "Sales revenue: Undisclosed", "Net profit: $40,000"], + "description": ["This Auto Road Service Company in South Texas is very profitable. Seller is willing to stay on to train during long term transition period."], + "type": "1", + "location": "Texas", + "price": 75000, + "salesRevenue": 0, + "cashFlow": 40000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Other Interests", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Commercial Property On North Padre Island Texas For Sale - 1695", + "summary": ["Asking price: $2,100,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "This Commercial Property on North Padre Island is located near Schlitterbahn. Property is appor. 5.6 acres and is zone CR2. All utilities on property. Great commercial tract ready for development. Survey and environmental 1 Phase on file." + ], + "type": "3", + "location": "Texas", + "price": 2100000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Bed And Breakfast Property In South Texas For Sale - 1698", + "summary": ["Asking price: $995,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "This Beautiful Bed & Breakfast in South Texas is set up and ready to operate. Manager quarters in place on property. The building is approx. 7,200 square feet and the property has approx. 0.57 acres of land." + ], + "type": "7", + "location": "Texas", + "price": 995000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Very Successful Premiere Retail Business In Corpus Christi For Sale - 1728", + "summary": ["Asking price: $295,000", "Sales revenue: $550,000", "Net profit: Undisclosed"], + "description": [ + "Fun business. Established 15+ years. High traffic area. Consistent annual revenue growth. Very profitable. Completely updated and remodeled location. Furniture, Fixtures, Equipment and inventory included in asking price. Great opportunity for owner operator." + ], + "type": "5", + "location": "Texas", + "price": 295000, + "salesRevenue": 550000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": "$40,000", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Deli Bakery Franchise South Side In Corpus Christi For Sale - 1733", + "summary": ["Asking price: $120,000", "Sales revenue: $325,000", "Net profit: $70,000"], + "description": ["This Deli/Bakery Franchise is located on the growing South Side of Corpus Christ. High visibility."], + "type": "13", + "location": "Texas", + "price": 120000, + "salesRevenue": 325000, + "cashFlow": 70000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "5", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Convenience Store For Sale - 1766", + "summary": ["Asking price: $100,000", "Sales revenue: $250k - $500k", "Net profit: Undisclosed"], + "description": [ + "This convenience store is located at a corner location. Check cashing. Approx $40k inside sales/monthly. Absentee owner. Additional room to expand to Food or Other Retail Sales. Asking price includes business and $35k inventory at cost." + ], + "type": "5", + "location": "Texas", + "price": 100000, + "salesRevenue": 250000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Commercial Ac Business In Texas Hill Country For Sale - 1767", + "summary": ["Asking price: $225,000", "Sales revenue: $400,000", "Net profit: $140,000"], + "description": [ + "This Heating and Air Conditioning business is long established. Located in Texas Hill Country. Mostly residential customers with possibility of expanding to commercial accounts. Purchase price includes business, vehicles, and equipment. Seller retiring. Option to purchase real estate. 180 Maintenance Contracts in place. Possible terms to qualified buyer." + ], + "type": "2", + "location": "Texas", + "price": 225000, + "salesRevenue": 400000, + "cashFlow": 140000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Event Rental Company In Texas For Sale - 1781", + "summary": ["Asking price: $425,000", "Sales revenue: $345,000", "Net profit: $120,000"], + "description": ["Over 10 years established. Leased location. Partial Absentee ownership. Many Repeat Customers."], + "type": "5", + "location": "Texas", + "price": 425000, + "salesRevenue": 345000, + "cashFlow": 120000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Marketing And Advertising Website Trademarked Name For Sale - 1633", + "summary": ["Asking price: $375,000", "Sales revenue: Undisclosed", "Net profit: Undisclosed"], + "description": [ + "Marketing And Advertising Website/Trademarked Name For Sale. Catering to Business Brokers, Professionals, Lenders, and other Business to Business Services. Terms available to a qualified buyer. ", + "Employees: 2 PT contract", + "Years established: 3", + "Owner financing: Owner financing is available. Please contact the seller for more information.", + "Financing available: Terms available to a qualified buyer", + "Relocatable:This business can be relocated" + ], + "type": "7", + "location": "Texas", + "price": 375000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": ["Furniture / Fixtures value :Undisclosed", "Inventory / Stock value: Undisclosed"], + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Area Industrial Fabrication Company For Sale - 1784", + "summary": ["Asking price: $3,500,000", "Sales revenue: $1,800,000", "Net profit: $600,000"], + "description": [ + "Over 30 years Established.", + "Industrial and Commercial Customers.", + "ISO Certified.", + "Nine employees.", + "Specialty Product - Patent product.", + "Seller will be available for training and transition.", + "Seller Retiring." + ], + "type": "2", + "location": "Texas", + "price": 3500000, + "salesRevenue": 1800000, + "cashFlow": 600000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "employees": "9", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Waterfront Restaurant And Service Company In Gulfcoast For Sale - 1614", + "summary": ["Asking price: $4,900,000", "Sales revenue: Undisclosed", "Net profit: $550,000"], + "description": ["Waterfront Restaurant & Service Company for sale on the sunny Texas Gulf Coast. ~1.9 acres of real estate included in price. Absentee ownership."], + "type": "13", + "location": "Texas", + "price": 4900000, + "salesRevenue": 0, + "cashFlow": 550000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "inventory": ["Furniture / Fixtures value: Undisclosed", "Inventory / Stock value: Undisclosed"], + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Auto Related Business In Rockport Texas Area For Sale - 1572", + "summary": ["Asking price: $650,000", "Sales revenue: $425,000", "Net profit: $100,000"], + "description": ["Long established business. Owner operated. Asking price includes Land, Building, and Business."], + "type": "1", + "location": "Texas", + "price": 650000, + "salesRevenue": 425000, + "cashFlow": 100000, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Frozen Dessert Business For Sale - 1792", + "summary": ["Asking price: $65,000", "Sales revenue: $100,000", "Net profit: Undisclosed"], + "description": ["Newer build out. 3 employees. Absentee operated. Great opportunity for owner/operator. Furniture, Fixtures and Equipment FMV approx $100,000."], + "type": "13", + "location": "Texas", + "price": 65000, + "salesRevenue": 100000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "3", + "reasonForSale": "Owner has other Full time work.", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Machine Shop In South Texas For Sale - 1473L", + "summary": ["Machine Shop for Lease in South Texas / Eagle Ford Shale Area"], + "description": [ + "Closed Machine Shop for Lease in South Texas / Eagle Ford Shale Area. Includes all equipment. $9.5K triple net lease / month. Close to major highway. Option to purchase.", + "Real estate: Leasehold", + "Lease terms: $9.5K triple net lease / month" + ], + "type": "6", + "location": "Texas", + "price": 0, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": "Includes all equipment. ", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Town Homes Package In South Side Corpus Christi For Sale - 1799", + "summary": ["Asking price: $950,000", "Sales revenue: $90,000", "Net profit: Undisclosed"], + "description": [ + "This is a package price for 8 units located in Corpus Christi Texas. All units are 2 Bedroom, 2 Bath, 2 Car Garage. Average annual income approx $90,000." + ], + "type": "3", + "location": "Texas", + "price": 950000, + "salesRevenue": 89999, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Jewelry Business And Gold Buyer In Corpus Christi For Sale - 1800", + "summary": ["Asking price: $1,250,000", "Sales revenue: $580,000", "Net profit: Undisclosed"], + "description": ["Established 40 years. 3 employees. Asking price includes Business, Real Estate and Inventory."], + "type": "5", + "location": "Texas", + "price": 1250000, + "salesRevenue": 580000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "employees": "3", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Convenience Store In Port Lavaca Area For Sale - 368", + "summary": ["Asking price:$700,000", "Sales revenue:Undisclosed", "Net profit:Undisclosed"], + "description": [ + "These 2 convenience stores are located in Port Lavaca,TX. The asking price includes land, building, and equipment. Inventory to be purchased at cost. Seller retiring. Manager in place." + ], + "type": "5", + "location": "Texas", + "price": 700000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "inventory": "Inventory to be purchased at cost.", + "reasonForSale": "Sellor retiring", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Corpus Christi Bakery & Dessert Business For Sale - 2064", + "summary": ["Asking price: $135,000", "Sales revenue: $255,000", "Net profit: Undisclosed"], + "description": ["Long established over 5 years. ", "Busy location. ", "6 employees. ", "Leased location."], + "type": "13", + "location": "Texas", + "price": 135000, + "salesRevenue": 255000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "inventory": [ + "Support & training: Seller will be available for training and transition.", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "employees": "6", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Waterview Seafood & Steak Restaurant Corpus Christi Area For Sale - 2065", + "summary": ["Asking price: $950,000", "Sales revenue: $1,700,000", "Net profit: Undisclosed"], + "description": [ + "Established for 10 years. ", + "Lunch and Dinner. ", + "20 Employees. ", + "Leased location (approx $4,700/month)", + "Support & training: Seller will be available for training and transition", + "Furniture / Fixtures value: Undisclosed", + "Inventory / Stock value: Undisclosed" + ], + "type": "13", + "location": "Texas", + "price": 950000, + "salesRevenue": 1700000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "employees": "20", + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Texas Hill Country Event Center & Retail Outlet For Sale - 2066", + "summary": ["Asking price: $8,295,000", "Sales revenue: $1,000,000", "Net profit: Undisclosed"], + "description": ["Including more than 50 Acres of Real Estate. ", "Room to Expand! ", "Long Term Rentals."], + "type": "5", + "location": "Texas", + "price": 8295000, + "salesRevenue": 1000000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "inventory": ["Furniture / Fixtures value:Undisclosed", "Inventory / Stock value:Undisclosed"], + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Real Estate Acreage In Kingsville For Sale - 1375E", + "summary": ["This is approximately ~7 acres in Kingsville Texas Highway 77 Location."], + "description": ["This is approximately ~7 acres in Kingsville Texas Highway 77 Location."], + "type": "3", + "location": "Texas", + "price": 435000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Mobile Catering Company And Concession Business In Texas For Sale - 1578", + "summary": [ + "Corpus Christi Area, Texas. Fully equipped and licensed mobile kitchen. Ideal for events, oilfield catering, festivals, banquets, family reunions and sporting events. Great opportunity. ~ $60K to ~ $70K in future bookings. Seller has done no marketing, word of mouth only." + ], + "description": [ + "Fully equipped and licensed mobile kitchen. Ideal for events, oilfield catering, festivals, banquets, family reunions and sporting events. Great opportunity. ~ $60K to ~ $70K in future bookings. Seller has done no marketing, word of mouth only. Seller will train." + ], + "type": "13", + "location": "Texas", + "price": 200000, + "salesRevenue": 100000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Family Reasons.", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Spice Import And Wholesale Business In South Texas For Sale - 1525", + "summary": [ + "This Spice Import and Wholesale Business has been established for more than 50 years. Major accounts. Trademarked product. Seller has plans to franchise a retail store for spice testing." + ], + "description": [ + "This Spice Import and Wholesale Business has been established for more than 50 years. Major accounts. Trademarked product. Seller has plans to franchise a retail store for spice testing. Leased location; Option to purchase the property. Seller will train." + ], + "type": "4", + "location": "Texas", + "price": 1500000, + "salesRevenue": 1300000, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Apartment Complex 60 Units In South Texas For Sale - 962", + "summary": ["This 60 Unit Apartment Complex has 2 bedroom units with laundry hookups. Absentee run. Management in place."], + "description": ["This 60 Unit Apartment Complex has 2 bedroom units with laundry hookups. Absentee run. Management in place."], + "type": "3", + "location": "Texas", + "price": 1895000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Absentee Owner", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Storage And Transfer Company Eagle Ford Shale Area For Sale - 1374", + "summary": ["This Storage & Transfer Company has been established for 50 yrs plus. Eagle Ford Shale Area, Texas."], + "description": [ + "This Storage & Transfer Company has been established for 50 yrs plus. Real estate included. This storage facility is located in the Eagle Ford Shale area. There is room to add more storage units which can be expanded on the property. This business and location are DOD certified (Department of Defense). Military Approved with Premium Carriers with DOD. Seller will train. " + ], + "type": "2", + "location": "Texas", + "price": 469000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": true, + "reasonForSale": "Retirement", + "internals": "" + }, + { + "id": "NA", + "userId": "1", + "listingsCategory": "business", + "title": "Self-Service, Express Car Wash Greater Corpus Christi For Sale - 1534", + "summary": ["This Self Service Car Wash is located South of Corpus Christi. This is a 6 bay car wash plus one automatic car wash bay."], + "description": ["This Self Service Car Wash is located South of Corpus Christi. This is a 6 bay car wash plus one automatic car wash bay."], + "type": "1", + "location": "Texas", + "price": 325000, + "salesRevenue": 0, + "cashFlow": 0, + "brokerLicencing": "TREC Broker #516788", + "established": null, + "realEstateIncluded": false, + "reasonForSale": "Owners relocating out of town", + "internals": "" + } +] diff --git a/crawler/package.json b/crawler/package.json new file mode 100644 index 0000000..df855a0 --- /dev/null +++ b/crawler/package.json @@ -0,0 +1,23 @@ +{ + "name": "git", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "typescript": "^5.2.2" + }, + "dependencies": { + "currency.js": "^2.0.4", + "fs-extra": "^11.2.0", + "ioredis": "^5.3.2", + "node-fetch": "^3.3.2", + "puppeteer": "^22.1.0", + "yargs": "^17.7.2" + } +} diff --git a/crawler/tsconfig.json b/crawler/tsconfig.json new file mode 100644 index 0000000..7b99a6b --- /dev/null +++ b/crawler/tsconfig.json @@ -0,0 +1,109 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": false, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/crawler/updateFields.ts b/crawler/updateFields.ts new file mode 100644 index 0000000..2c451c4 --- /dev/null +++ b/crawler/updateFields.ts @@ -0,0 +1,34 @@ +import yargs from 'yargs' +import fs from 'fs-extra'; +import { hideBin } from 'yargs/helpers' +import { BusinessListing } from "../common-models/src/main.model" +//const argv = yargs(hideBin(process.argv)).argv + +// if (!argv.userId){ +// console.log(' --userId [any valid userId]') +// process.exit(1) +// } + +(async () => { + const selectOptionsResponse = await fetch('http://localhost:3000/bizmatch/select-options', { + method: 'GET', + headers: { 'Content-Type': 'application/json' }, + }) + const selectOptions:any = await selectOptionsResponse.json(); + const response = await fetch('http://localhost:3000/bizmatch/listings', { + method: 'GET', + headers: { 'Content-Type': 'application/json' }, + }) + const listings:Array = await response.json(); + for (const listing of listings) { + const option = selectOptions.locations.find(l=>l.name.toLowerCase()===listing.location.toLowerCase()); + if (option){ + listing.location=option.value + } + const response = await fetch(`http://localhost:3000/bizmatch/listings/${listing.id}`, { + method: 'PUT', + body: JSON.stringify(listing), + headers: { 'Content-Type': 'application/json' }, + }); + } +})(); \ No newline at end of file diff --git a/docker/caddy/Caddyfile b/docker/caddy/Caddyfile new file mode 100644 index 0000000..47bf97f --- /dev/null +++ b/docker/caddy/Caddyfile @@ -0,0 +1,35 @@ +{ + acme_dns cloudflare q1P7J3uqS96FGj_iiX2mI8y1ulTaIFrTp8tyTXhG +} + +auth.bizmatch.net { + reverse_proxy bizmatch:8080 + tls { + dns cloudflare q1P7J3uqS96FGj_iiX2mI8y1ulTaIFrTp8tyTXhG + } +} +git.bizmatch.net { + reverse_proxy bizmatch:3500 + tls { + dns cloudflare q1P7J3uqS96FGj_iiX2mI8y1ulTaIFrTp8tyTXhG + } +} + +dev.bizmatch.net { + root * /srv + file_server + try_files {path} {path}/ /index.html + + encode gzip + + tls { + dns cloudflare q1P7J3uqS96FGj_iiX2mI8y1ulTaIFrTp8tyTXhG + } +} + +api-dev.bizmatch.net { + reverse_proxy host.docker.internal:3000 + tls { + dns cloudflare q1P7J3uqS96FGj_iiX2mI8y1ulTaIFrTp8tyTXhG + } +} diff --git a/docker/caddy/docker-compose.yml b/docker/caddy/docker-compose.yml new file mode 100644 index 0000000..fbb495e --- /dev/null +++ b/docker/caddy/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3.7' +services: + caddy: + image: iarekylew00t/caddy-cloudflare:latest + restart: unless-stopped + ports: + # - "80:80" + - "443:443" + extra_hosts: + - 'host.docker.internal:host-gateway' + networks: + - bizmatch + volumes: + - $PWD/Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + - /home/aknuth/git/bizmatch/dist/bizmatch/browser:/srv + environment: + - CLOUDFLARE_API_TOKEN=q1P7J3uqS96FGj_iiX2mI8y1ulTaIFrTp8tyTXhG + +networks: + bizmatch: + external: true + +volumes: + caddy_data: + external: true + caddy_config: diff --git a/docker/keycloak/docker-compose.yml b/docker/keycloak/docker-compose.yml new file mode 100644 index 0000000..780372f --- /dev/null +++ b/docker/keycloak/docker-compose.yml @@ -0,0 +1,53 @@ +version: '3.8' + +services: + + postgres: + image: postgres:15.5-alpine3.19 + volumes: + - postgres_volume:/var/lib/postgresql/data + environment: + POSTGRES_DB: keycloak + POSTGRES_USER: keycloak + POSTGRES_PASSWORD: password + ports: + - "5432:5432" + networks: + - bizmatch + + auth: + image: quay.io/keycloak/keycloak:latest + ports: + - "8080:8080" + environment: + - KEYCLOAK_ADMIN=admin + - KEYCLOAK_ADMIN_PASSWORD=aiaiaia + - KC_HOSTNAME_ADMIN=auth.bizmatch.net + - KC_PROXY=edge + - KC_HOSTNAME=auth.bizmatch.net + - KC_METRICS_ENABLED=true + - KC_HEALTH_ENABLED=true + - KC_DB=postgres + - KC_DB_PASSWORD=password + - KC_DB_SCHEMA=public + - KC_DB_USERNAME=keycloak + - KC_DB_URL_HOST=postgres + - KC_DB_URL_DATABASE=keycloak + #- KC_LOG_LEVEL=ALL + depends_on: + - postgres + command: + - start + volumes: + - ./auth/import:/opt/keycloak/data/import + - ./keywind.jar:/opt/keycloak/providers/keywind.jar + networks: + - bizmatch + +networks: + bizmatch: + external: true + +volumes: + postgres_volume: + external: true diff --git a/docker/nginx_proxy_manager/docker-compose.yml b/docker/nginx_proxy_manager/docker-compose.yml new file mode 100644 index 0000000..3fc1853 --- /dev/null +++ b/docker/nginx_proxy_manager/docker-compose.yml @@ -0,0 +1,46 @@ +version: '3.8' +services: + app: + image: 'jc21/nginx-proxy-manager:latest' + restart: unless-stopped + ports: + # These ports are in format : + - '80:80' # Public HTTP Port + - '443:443' # Public HTTPS Port + - '81:81' # Admin Web Port + # Add any other Stream port you want to expose + # - '21:21' # FTP + environment: + # Mysql/Maria connection parameters: + DB_MYSQL_HOST: "db" + DB_MYSQL_PORT: 3306 + DB_MYSQL_USER: "bizmatch" + DB_MYSQL_PASSWORD: "$(WT0HW=^(" + DB_MYSQL_NAME: "nginx_proxy_manager" + # Uncomment this if IPv6 is not enabled on your host + # DISABLE_IPV6: 'true' + networks: + - bizmatch + volumes: + - ./data:/data + - ./letsencrypt:/etc/letsencrypt + depends_on: + - db + + db: + image: 'jc21/mariadb-aria:latest' + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: 'KG}gwweb' + MYSQL_DATABASE: 'nginx_proxy_manager' + MYSQL_USER: 'bizmatch' + MYSQL_PASSWORD: '$(WT0HW=^(' + MARIADB_AUTO_UPGRADE: '1' + volumes: + - ./mysql:/var/lib/mysql + networks: + - bizmatch + +networks: + bizmatch: + external: true \ No newline at end of file diff --git a/docker/redis/docker-compose.yml b/docker/redis/docker-compose.yml new file mode 100644 index 0000000..30342bf --- /dev/null +++ b/docker/redis/docker-compose.yml @@ -0,0 +1,2 @@ +version: '3.8' +services: