From 4a0263b9f4818acdc17d2d24acfc88135ee7876e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=BE=E8=8D=A3=E5=9B=BD?= Date: Mon, 10 Jan 2022 15:03:09 +0800 Subject: [PATCH] [add] new WebApiService --- ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln | 104 - ScpWebApiService/common.props | 24 - ScpWebApiService/database/Dockerfile | 20 - ScpWebApiService/database/entrypoint.sh | 12 - .../docker-compose.migrations.yml | 13 - ScpWebApiService/docker-compose.override.yml | 29 - ScpWebApiService/docker-compose.yml | 25 - .../Dockerfile | 18 - .../WebApiHttpApiHostMigrationsDbContext.cs | 21 - ...piHttpApiHostMigrationsDbContextFactory.cs | 29 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../Properties/launchSettings.json | 12 - .../Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj | 51 - .../appsettings.json | 20 - .../appsettings.secrets.json | 20 - .../yarn.lock | 4 - .../ASNs/ASNCreateDTO.cs | 54 - .../ASNs/ASNCreateOrUpdateDTOBase.cs | 81 - .../ASNs/ASNDTO.cs | 119 - .../ASNs/ASNDetailsDTO.cs | 132 - .../ASNs/ASNUpdateDTO.cs | 33 - .../ASNs/IASNAppService.cs | 14 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../Labels/ASNLabelCreateDTO.cs | 7 - .../Labels/ASNLabelCreateOrUpdateDTOBase.cs | 145 - .../Labels/ASNLabelDTO.cs | 145 - .../Labels/ASNLabelUpdateDTO.cs | 7 - .../Labels/IASNLabelAppService.cs | 10 - .../WebApiPermissionDefinitionProvider.cs | 20 - .../Permissions/WebApiPermissions.cs | 17 - .../SupplierParts/ISupplierPartAppService.cs | 13 - .../SupplierParts/SupplierPartCreateDTO.cs | 39 - .../SupplierPartCreateOrUpdateDTOBase.cs | 39 - .../SupplierParts/SupplierPartDto.cs | 61 - .../SupplierParts/SupplierPartUpdateDTO.cs | 18 - .../WebApiApplicationContractsModule.cs | 16 - ...fs.Scp.WebApi.Application.Contracts.csproj | 36 - ...n.Sfs.Scp.WebApi.Application.Contracts.xml | 998 - .../ASNs/ASNAppService.cs | 149 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../Labels/LabelAppService.cs | 90 - .../SupplierParts/SupplierPartAppService.cs | 91 - .../WebApiApplicationModule.cs | 25 - .../Win_in.Sfs.Scp.WebApi.Application.csproj | 34 - .../Win_in.Sfs.Scp.WebApi.Application.xml | 235 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../Localization/WebApi/en.json | 7 - .../Localization/WebApi/zh-Hans.json | 7 - .../WebApiDomainSharedModule.cs | 37 - .../WebApiErrorCodes.cs | 7 - ...Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj | 26 - .../Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASN.cs | 206 - .../ASNs/ASNDetail.cs | 141 - .../ASNs/IASNRepository.cs | 9 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../Labels/Label.cs | 145 - .../Settings/WebApiSettings.cs | 11 - .../SupplierParts/SupplierPart.cs | 61 - .../Suppliers/ISupplierRepository.cs | 10 - .../WebApiDomainModule.cs | 14 - .../Win_in.Sfs.Scp.WebApi.Domain.csproj | 27 - .../EntityFrameworkCore/WebApiDbContext.cs | 34 - .../WebApiEntityFrameworkCoreModule.cs | 28 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - ....Sfs.Scp.WebApi.EntityFrameworkCore.csproj | 15 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../WebApiHttpApiModule.cs | 42 - .../Win_in.Sfs.Scp.WebApi.HttpApi.csproj | 20 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../WebApiApplicationTestBase.cs | 10 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../Samples/SampleManager_Tests.cs | 21 - .../WebApiDomainTestBase.cs | 10 - .../Samples/SampleRepository_Tests.cs | 12 - .../WebApiEntityFrameworkCoreTestBase.cs | 10 - .../WebApiEntityFrameworkCoreTestModule.cs | 43 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../FodyWeavers.xml | 3 - .../FodyWeavers.xsd | 30 - .../Samples/SampleRepository_Tests.cs | 27 - .../WebApiDataSeedContributor.cs | 33 - .../.gitattributes | 0 .../.gitignore | 13 +- .../.prettierrc | 0 .../NuGet.Config | 0 WebApiService/Win_in.Sfs.Scp.WebApi.sln | 123 + .../Win_in.Sfs.Scp.WebApi.sln.DotSettings | 3 - WebApiService/common.props | 15 + .../Parts/CreatePartDtoValidator.cs | 26 + .../Parts/IPartAppService.cs | 2 +- .../Parts/PartDTO.cs | 46 +- .../WebApiPermissionDefinitionProvider.cs | 27 + .../Permissions/WebApiPermissions.cs | 16 + .../CreatePurchaseOrderValidator.cs | 24 + .../IPurchaseOrderAppService.cs | 2 +- .../PurchaseOrders/PurchaseOrderDTO.cs | 26 +- .../PurchaseOrders/PurchaseOrderDetailDTO.cs | 57 +- .../Receipts/CreateReceiptDtoValidator.cs | 29 + .../Receipts/IReceiptAppService.cs | 2 +- .../Receipts/ReceiptDTO.cs | 95 +- .../RequestDTO.cs | 0 .../Suppliers/CreateSupplierDtoValidator.cs | 27 + .../Suppliers/ISupplierAppService.cs | 3 +- .../Suppliers/SupplierDTO.cs | 15 +- .../SwaggerGroupConsts.cs | 0 .../CreateReceiptDtoValidator.cs | 24 + .../IUnplannedReceiptAppService.cs | 12 + .../UnplannedReceipts/UnplannedReceiptDTO.cs | 100 + .../WebApiApplicationContractsModule.cs | 29 + .../WebApiDtoExtensions.cs | 29 + ...fs.Scp.WebApi.Application.Contracts.csproj | 31 + .../Parts/PartAppService.cs | 2 +- .../Properties/AssemblyInfo.cs | 2 + .../PurchaseOrders/PurchaseOrderAppService.cs | 3 +- .../Receipts/ReceiptAppService.cs | 2 +- .../Suppliers/SuppliersAppService.cs | 4 +- .../UnplannedReceiptAppService.cs | 76 + .../WebApiAppService.cs | 8 +- .../WebApiApplicationAutoMapperProfile.cs | 15 +- .../WebApiApplicationModule.cs | 32 + .../Win_in.Sfs.Scp.WebApi.Application.csproj | 30 + .../DbMigratorHostedService.cs | 47 + .../Program.cs | 45 + .../WebApiDbMigratorModule.cs | 20 + .../Win_in.Sfs.Scp.WebApi.DbMigrator.csproj | 43 + .../appsettings.json | 30 + .../appsettings.secrets.json | 2 + .../tempkey.jwk | 1 + .../tempkey.rsa | 13 + .../EntityBase/EntityBase.cs | 0 .../EntityBase/EntityDetailBase.cs | 0 .../EntityBase/EntityDetailDtoBase.cs | 0 .../EntityBase/EntityDtoBase.cs | 0 .../Localization/WebApi/en.json | 8 + .../Localization/WebApi/zh-Hans.json | 8 + .../Localization/WebApiResource.cs | 4 +- .../MultiTenancy/MultiTenancyConsts.cs | 11 + .../WebApiDomainErrorCodes.cs | 7 + .../WebApiDomainSharedModule.cs | 59 + .../WebApiGlobalFeatureConfigurator.cs | 23 + .../WebApiModuleExtensionConfigurator.cs | 72 + ...Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj | 35 + .../Data/IWebApiDbSchemaMigrator.cs | 9 + .../Data/NullWebApiDbSchemaMigrator.cs | 16 + .../Data/WebApiDbMigrationService.cs | 220 + .../IdentityServerDataSeedContributor.cs | 288 + .../Parts/IPartRepository.cs | 0 .../Parts/Part.cs | 20 +- .../Properties/AssemblyInfo.cs | 3 + .../IPurchaseOrderRepository.cs | 0 .../PurchaseOrders/PurchaseOrder.cs | 40 +- .../PurchaseOrders/PurchaseOrderDetail.cs | 35 +- .../Receipts/IReceiptRepository.cs | 0 .../Receipts/Receipt.cs | 68 +- .../WebApiSettingDefinitionProvider.cs | 7 +- .../Settings/WebApiSettings.cs | 10 + .../Suppliers}/ISupplierRepository.cs | 0 .../Suppliers/Supplier.cs | 12 +- .../UnplannedReceipts/IReceiptRepository.cs | 2 +- .../UnplannedReceipts/UnplannedReceipt.cs | 99 + .../WebApiConsts.cs | 2 +- .../WebApiDomainModule.cs | 46 + .../Win_in.Sfs.Scp.WebApi.Domain.csproj | 27 + ...tityFrameworkCoreWebApiDbSchemaMigrator.cs | 43 + .../EntityFrameworkCore/IWebApiDbContext.cs | 3 +- .../EntityFrameworkCore/PartRepository.cs | 0 .../PurchaseOrderRepository.cs | 0 .../EntityFrameworkCore/ReceiptRepository.cs | 0 .../EntityFrameworkCore/SupplierRepository.cs | 0 .../UnplannedReceiptRepository.cs | 12 + .../EntityFrameworkCore/WebApiDbContext.cs | 153 + .../WebApiDbContextFactory.cs | 59 + .../WebApiDbContextModelCreatingExtensions.cs | 80 +- .../WebApiEfCoreEntityExtensionMappings.cs | 45 + .../WebApiEntityFrameworkCoreModule.cs | 80 + .../WebApiModelBuilderConfigurationOptions.cs | 0 .../20220110060855_Init.Designer.cs | 2842 +++ .../Migrations/20220110060855_Init.cs | 1563 ++ .../WebApiDbContextModelSnapshot.cs | 2840 +++ .../Properties/AssemblyInfo.cs | 2 + ....Sfs.Scp.WebApi.EntityFrameworkCore.csproj | 30 + .../WebApiHttpApiClientModule.cs | 33 + ...in_in.Sfs.Scp.WebApi.HttpApi.Client.csproj | 23 + .../Controllers/HomeController.cs | 0 .../HiddenApiAttribute.cs | 0 .../HiddenApiFilter.cs | 0 .../Program.cs | 4 +- .../Properties/launchSettings.json | 27 + .../Startup.cs | 4 +- .../WebApiBrandingProvider.cs | 11 + .../WebApiHttpApiHostModule.cs | 256 +- .../Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj | 37 + .../abp.resourcemapping.js | 8 + .../appsettings.Development.json | 2 + .../appsettings.json | 17 + .../appsettings.secrets.json | 2 + .../gulpfile.js | 9 + .../package.json | 8 + .../tempkey.jwk | 1 + .../tempkey.rsa | 1 + .../wwwroot/global-styles.css | 1 + .../@fortawesome/fontawesome-free/css/all.css | 4586 +++++ .../fontawesome-free/css/v4-shims.css | 2172 +++ .../webfonts/fa-brands-400.eot | Bin 0 -> 134878 bytes .../webfonts/fa-brands-400.svg | 3633 ++++ .../webfonts/fa-brands-400.ttf | Bin 0 -> 134572 bytes .../webfonts/fa-brands-400.woff | Bin 0 -> 90872 bytes .../webfonts/fa-brands-400.woff2 | Bin 0 -> 77444 bytes .../webfonts/fa-regular-400.eot | Bin 0 -> 34390 bytes .../webfonts/fa-regular-400.svg | 803 + .../webfonts/fa-regular-400.ttf | Bin 0 -> 34092 bytes .../webfonts/fa-regular-400.woff | Bin 0 -> 16800 bytes .../webfonts/fa-regular-400.woff2 | Bin 0 -> 13596 bytes .../webfonts/fa-solid-900.eot | Bin 0 -> 204866 bytes .../webfonts/fa-solid-900.svg | 5000 +++++ .../webfonts/fa-solid-900.ttf | Bin 0 -> 204580 bytes .../webfonts/fa-solid-900.woff | Bin 0 -> 104252 bytes .../webfonts/fa-solid-900.woff2 | Bin 0 -> 80328 bytes .../wwwroot/libs/abp/core/abp.css | 56 + .../wwwroot/libs/abp/core/abp.js | 776 + .../wwwroot/libs/abp/jquery/abp.jquery.js | 404 + .../wwwroot/libs/abp/luxon/abp.luxon.js | 46 + .../wwwroot/libs/abp/utils/abp-utils.umd.js | 694 + .../libs/abp/utils/abp-utils.umd.js.map | 1 + .../libs/abp/utils/abp-utils.umd.min.js | 2 + .../libs/abp/utils/abp-utils.umd.min.js.map | 1 + .../bootstrap-datepicker.css.map | 1 + .../bootstrap-datepicker.min.css | 7 + .../bootstrap-datepicker.min.js | 8 + .../locales/bootstrap-datepicker-en-CA.min.js | 1 + .../locales/bootstrap-datepicker.ar-tn.min.js | 1 + .../locales/bootstrap-datepicker.ar.min.js | 1 + .../locales/bootstrap-datepicker.az.min.js | 1 + .../locales/bootstrap-datepicker.bg.min.js | 1 + .../locales/bootstrap-datepicker.bm.min.js | 1 + .../locales/bootstrap-datepicker.bn.min.js | 1 + .../locales/bootstrap-datepicker.br.min.js | 1 + .../locales/bootstrap-datepicker.bs.min.js | 1 + .../locales/bootstrap-datepicker.ca.min.js | 1 + .../locales/bootstrap-datepicker.cs.min.js | 1 + .../locales/bootstrap-datepicker.cy.min.js | 1 + .../locales/bootstrap-datepicker.da.min.js | 1 + .../locales/bootstrap-datepicker.de.min.js | 1 + .../locales/bootstrap-datepicker.el.min.js | 1 + .../locales/bootstrap-datepicker.en-AU.min.js | 1 + .../locales/bootstrap-datepicker.en-CA.min.js | 1 + .../locales/bootstrap-datepicker.en-GB.min.js | 1 + .../locales/bootstrap-datepicker.en-IE.min.js | 1 + .../locales/bootstrap-datepicker.en-NZ.min.js | 1 + .../locales/bootstrap-datepicker.en-ZA.min.js | 1 + .../locales/bootstrap-datepicker.eo.min.js | 1 + .../locales/bootstrap-datepicker.es.min.js | 1 + .../locales/bootstrap-datepicker.et.min.js | 1 + .../locales/bootstrap-datepicker.eu.min.js | 1 + .../locales/bootstrap-datepicker.fa.min.js | 1 + .../locales/bootstrap-datepicker.fi.min.js | 1 + .../locales/bootstrap-datepicker.fo.min.js | 1 + .../locales/bootstrap-datepicker.fr-CH.min.js | 1 + .../locales/bootstrap-datepicker.fr.min.js | 1 + .../locales/bootstrap-datepicker.gl.min.js | 1 + .../locales/bootstrap-datepicker.he.min.js | 1 + .../locales/bootstrap-datepicker.hi.min.js | 1 + .../locales/bootstrap-datepicker.hr.min.js | 1 + .../locales/bootstrap-datepicker.hu.min.js | 1 + .../locales/bootstrap-datepicker.hy.min.js | 1 + .../locales/bootstrap-datepicker.id.min.js | 1 + .../locales/bootstrap-datepicker.is.min.js | 1 + .../locales/bootstrap-datepicker.it-CH.min.js | 1 + .../locales/bootstrap-datepicker.it.min.js | 1 + .../locales/bootstrap-datepicker.ja.min.js | 1 + .../locales/bootstrap-datepicker.ka.min.js | 1 + .../locales/bootstrap-datepicker.kh.min.js | 1 + .../locales/bootstrap-datepicker.kk.min.js | 1 + .../locales/bootstrap-datepicker.km.min.js | 1 + .../locales/bootstrap-datepicker.ko.min.js | 1 + .../locales/bootstrap-datepicker.kr.min.js | 1 + .../locales/bootstrap-datepicker.lt.min.js | 1 + .../locales/bootstrap-datepicker.lv.min.js | 1 + .../locales/bootstrap-datepicker.me.min.js | 1 + .../locales/bootstrap-datepicker.mk.min.js | 1 + .../locales/bootstrap-datepicker.mn.min.js | 1 + .../locales/bootstrap-datepicker.ms.min.js | 1 + .../locales/bootstrap-datepicker.nl-BE.min.js | 1 + .../locales/bootstrap-datepicker.nl.min.js | 1 + .../locales/bootstrap-datepicker.no.min.js | 1 + .../locales/bootstrap-datepicker.oc.min.js | 1 + .../locales/bootstrap-datepicker.pl.min.js | 1 + .../locales/bootstrap-datepicker.pt-BR.min.js | 1 + .../locales/bootstrap-datepicker.pt.min.js | 1 + .../locales/bootstrap-datepicker.ro.min.js | 1 + .../bootstrap-datepicker.rs-latin.min.js | 1 + .../locales/bootstrap-datepicker.rs.min.js | 1 + .../locales/bootstrap-datepicker.ru.min.js | 1 + .../locales/bootstrap-datepicker.si.min.js | 1 + .../locales/bootstrap-datepicker.sk.min.js | 1 + .../locales/bootstrap-datepicker.sl.min.js | 1 + .../locales/bootstrap-datepicker.sq.min.js | 1 + .../bootstrap-datepicker.sr-latin.min.js | 1 + .../locales/bootstrap-datepicker.sr.min.js | 1 + .../locales/bootstrap-datepicker.sv.min.js | 1 + .../locales/bootstrap-datepicker.sw.min.js | 1 + .../locales/bootstrap-datepicker.ta.min.js | 1 + .../locales/bootstrap-datepicker.tg.min.js | 1 + .../locales/bootstrap-datepicker.th.min.js | 1 + .../locales/bootstrap-datepicker.tk.min.js | 1 + .../locales/bootstrap-datepicker.tr.min.js | 1 + .../locales/bootstrap-datepicker.uk.min.js | 1 + .../bootstrap-datepicker.uz-cyrl.min.js | 1 + .../bootstrap-datepicker.uz-latn.min.js | 1 + .../locales/bootstrap-datepicker.vi.min.js | 1 + .../locales/bootstrap-datepicker.zh-CN.min.js | 1 + .../locales/bootstrap-datepicker.zh-TW.min.js | 1 + .../libs/bootstrap/css/bootstrap-rtl.css | 11453 ++++++++++++ .../libs/bootstrap/css/bootstrap-rtl.css.map | 1 + .../libs/bootstrap/css/bootstrap-rtl.min.css | 7 + .../bootstrap/css/bootstrap-rtl.min.css.map | 1 + .../wwwroot/libs/bootstrap/css/bootstrap.css | 10298 +++++++++++ .../libs/bootstrap/css/bootstrap.css.map | 1 + .../libs/bootstrap/css/bootstrap.min.css | 7 + .../libs/bootstrap/css/bootstrap.min.css.map | 1 + .../libs/bootstrap/js/bootstrap.bundle.js | 7045 +++++++ .../libs/bootstrap/js/bootstrap.bundle.js.map | 1 + .../libs/bootstrap/js/bootstrap.bundle.min.js | 7 + .../bootstrap/js/bootstrap.bundle.min.js.map | 1 + .../css/dataTables.bootstrap4.css | 212 + .../js/dataTables.bootstrap4.js | 184 + .../datatables.net/js/jquery.dataTables.js | 15354 ++++++++++++++++ .../libs/jquery-form/jquery.form.min.js | 23 + .../libs/jquery-form/jquery.form.min.js.map | 1 + .../jquery.validate.unobtrusive.js | 432 + .../libs/jquery-validation/jquery.validate.js | 1601 ++ .../localization/messages_ar.js | 35 + .../localization/messages_az.js | 35 + .../localization/messages_bg.js | 35 + .../localization/messages_bn_BD.js | 35 + .../localization/messages_ca.js | 35 + .../localization/messages_cs.js | 35 + .../localization/messages_da.js | 32 + .../localization/messages_de.js | 32 + .../localization/messages_el.js | 35 + .../localization/messages_es.js | 38 + .../localization/messages_es_AR.js | 39 + .../localization/messages_es_PE.js | 39 + .../localization/messages_et.js | 33 + .../localization/messages_eu.js | 35 + .../localization/messages_fa.js | 38 + .../localization/messages_fi.js | 33 + .../localization/messages_fr.js | 63 + .../localization/messages_ge.js | 35 + .../localization/messages_gl.js | 40 + .../localization/messages_he.js | 35 + .../localization/messages_hr.js | 35 + .../localization/messages_hu.js | 35 + .../localization/messages_hy_AM.js | 35 + .../localization/messages_id.js | 34 + .../localization/messages_is.js | 33 + .../localization/messages_it.js | 39 + .../localization/messages_ja.js | 36 + .../localization/messages_ka.js | 35 + .../localization/messages_kk.js | 35 + .../localization/messages_ko.js | 35 + .../localization/messages_lt.js | 35 + .../localization/messages_lv.js | 35 + .../localization/messages_mk.js | 35 + .../localization/messages_my.js | 35 + .../localization/messages_nl.js | 46 + .../localization/messages_no.js | 36 + .../localization/messages_pl.js | 37 + .../localization/messages_pt_BR.js | 88 + .../localization/messages_pt_PT.js | 39 + .../localization/messages_ro.js | 35 + .../localization/messages_ru.js | 35 + .../localization/messages_sd.js | 35 + .../localization/messages_si.js | 35 + .../localization/messages_sk.js | 32 + .../localization/messages_sl.js | 35 + .../localization/messages_sr.js | 35 + .../localization/messages_sr_lat.js | 35 + .../localization/messages_sv.js | 33 + .../localization/messages_th.js | 35 + .../localization/messages_tj.js | 35 + .../localization/messages_tr.js | 36 + .../localization/messages_uk.js | 35 + .../localization/messages_ur.js | 35 + .../localization/messages_vi.js | 35 + .../localization/messages_zh.js | 35 + .../localization/messages_zh_TW.js | 36 + .../localization/methods_de.js | 24 + .../localization/methods_es_CL.js | 24 + .../localization/methods_fi.js | 24 + .../localization/methods_nl.js | 24 + .../localization/methods_pt.js | 21 + .../wwwroot/libs/jquery/jquery.js | 10364 +++++++++++ .../wwwroot/libs/lodash/lodash.min.js | 137 + .../wwwroot/libs/luxon/luxon.js | 8258 +++++++++ .../wwwroot/libs/luxon/luxon.js.map | 1 + .../wwwroot/libs/luxon/luxon.min.js | 1 + .../wwwroot/libs/luxon/luxon.min.js.map | 1 + .../jquery.mCustomScrollbar.concat.min.js | 5 + .../jquery.mCustomScrollbar.css | 1267 ++ .../jquery.mCustomScrollbar.js | 2458 +++ .../mCSB_buttons.png | Bin 0 -> 2998 bytes .../package.json | 37 + .../malihu-custom-scrollbar-plugin/readme.md | 82 + .../wwwroot/libs/select2/css/select2.min.css | 1 + .../wwwroot/libs/select2/js/i18n/af.js | 3 + .../wwwroot/libs/select2/js/i18n/ar.js | 3 + .../wwwroot/libs/select2/js/i18n/az.js | 3 + .../wwwroot/libs/select2/js/i18n/bg.js | 3 + .../wwwroot/libs/select2/js/i18n/bn.js | 3 + .../wwwroot/libs/select2/js/i18n/bs.js | 3 + .../wwwroot/libs/select2/js/i18n/ca.js | 3 + .../wwwroot/libs/select2/js/i18n/cs.js | 3 + .../wwwroot/libs/select2/js/i18n/da.js | 3 + .../wwwroot/libs/select2/js/i18n/de.js | 3 + .../wwwroot/libs/select2/js/i18n/dsb.js | 3 + .../wwwroot/libs/select2/js/i18n/el.js | 3 + .../wwwroot/libs/select2/js/i18n/en.js | 3 + .../wwwroot/libs/select2/js/i18n/es.js | 3 + .../wwwroot/libs/select2/js/i18n/et.js | 3 + .../wwwroot/libs/select2/js/i18n/eu.js | 3 + .../wwwroot/libs/select2/js/i18n/fa.js | 3 + .../wwwroot/libs/select2/js/i18n/fi.js | 3 + .../wwwroot/libs/select2/js/i18n/fr.js | 3 + .../wwwroot/libs/select2/js/i18n/gl.js | 3 + .../wwwroot/libs/select2/js/i18n/he.js | 3 + .../wwwroot/libs/select2/js/i18n/hi.js | 3 + .../wwwroot/libs/select2/js/i18n/hr.js | 3 + .../wwwroot/libs/select2/js/i18n/hsb.js | 3 + .../wwwroot/libs/select2/js/i18n/hu.js | 3 + .../wwwroot/libs/select2/js/i18n/hy.js | 3 + .../wwwroot/libs/select2/js/i18n/id.js | 3 + .../wwwroot/libs/select2/js/i18n/is.js | 3 + .../wwwroot/libs/select2/js/i18n/it.js | 3 + .../wwwroot/libs/select2/js/i18n/ja.js | 3 + .../wwwroot/libs/select2/js/i18n/ka.js | 3 + .../wwwroot/libs/select2/js/i18n/km.js | 3 + .../wwwroot/libs/select2/js/i18n/ko.js | 3 + .../wwwroot/libs/select2/js/i18n/lt.js | 3 + .../wwwroot/libs/select2/js/i18n/lv.js | 3 + .../wwwroot/libs/select2/js/i18n/mk.js | 3 + .../wwwroot/libs/select2/js/i18n/ms.js | 3 + .../wwwroot/libs/select2/js/i18n/nb.js | 3 + .../wwwroot/libs/select2/js/i18n/ne.js | 3 + .../wwwroot/libs/select2/js/i18n/nl.js | 3 + .../wwwroot/libs/select2/js/i18n/pl.js | 3 + .../wwwroot/libs/select2/js/i18n/ps.js | 3 + .../wwwroot/libs/select2/js/i18n/pt-BR.js | 3 + .../wwwroot/libs/select2/js/i18n/pt.js | 3 + .../wwwroot/libs/select2/js/i18n/ro.js | 3 + .../wwwroot/libs/select2/js/i18n/ru.js | 3 + .../wwwroot/libs/select2/js/i18n/sk.js | 3 + .../wwwroot/libs/select2/js/i18n/sl.js | 3 + .../wwwroot/libs/select2/js/i18n/sq.js | 3 + .../wwwroot/libs/select2/js/i18n/sr-Cyrl.js | 3 + .../wwwroot/libs/select2/js/i18n/sr.js | 3 + .../wwwroot/libs/select2/js/i18n/sv.js | 3 + .../wwwroot/libs/select2/js/i18n/th.js | 3 + .../wwwroot/libs/select2/js/i18n/tk.js | 3 + .../wwwroot/libs/select2/js/i18n/tr.js | 3 + .../wwwroot/libs/select2/js/i18n/uk.js | 3 + .../wwwroot/libs/select2/js/i18n/vi.js | 3 + .../wwwroot/libs/select2/js/i18n/zh-CN.js | 3 + .../wwwroot/libs/select2/js/i18n/zh-TW.js | 3 + .../js/select2-bootstrap-modal-patch.js | 4 + .../libs/select2/js/select2.full.min.js | 2 + .../wwwroot/libs/select2/js/select2.min.js | 2 + .../wwwroot/libs/sweetalert/sweetalert.min.js | 1 + .../wwwroot/libs/timeago/jquery.timeago.js | 232 + .../wwwroot/libs/timeago/locales/README.md | 27 + .../libs/timeago/locales/jquery.timeago.af.js | 30 + .../libs/timeago/locales/jquery.timeago.am.js | 30 + .../libs/timeago/locales/jquery.timeago.ar.js | 104 + .../locales/jquery.timeago.az-short.js | 30 + .../libs/timeago/locales/jquery.timeago.az.js | 30 + .../libs/timeago/locales/jquery.timeago.be.js | 43 + .../libs/timeago/locales/jquery.timeago.bg.js | 28 + .../libs/timeago/locales/jquery.timeago.bs.js | 55 + .../libs/timeago/locales/jquery.timeago.ca.js | 30 + .../libs/timeago/locales/jquery.timeago.cs.js | 34 + .../libs/timeago/locales/jquery.timeago.cy.js | 30 + .../libs/timeago/locales/jquery.timeago.da.js | 28 + .../locales/jquery.timeago.de-short.js | 30 + .../libs/timeago/locales/jquery.timeago.de.js | 28 + .../libs/timeago/locales/jquery.timeago.dv.js | 32 + .../libs/timeago/locales/jquery.timeago.el.js | 28 + .../locales/jquery.timeago.en-short.js | 30 + .../libs/timeago/locales/jquery.timeago.en.js | 30 + .../locales/jquery.timeago.es-short.js | 31 + .../libs/timeago/locales/jquery.timeago.es.js | 29 + .../libs/timeago/locales/jquery.timeago.et.js | 28 + .../libs/timeago/locales/jquery.timeago.eu.js | 28 + .../locales/jquery.timeago.fa-short.js | 30 + .../libs/timeago/locales/jquery.timeago.fa.js | 32 + .../libs/timeago/locales/jquery.timeago.fi.js | 38 + .../locales/jquery.timeago.fr-short.js | 26 + .../libs/timeago/locales/jquery.timeago.fr.js | 27 + .../libs/timeago/locales/jquery.timeago.gl.js | 28 + .../libs/timeago/locales/jquery.timeago.he.js | 26 + .../libs/timeago/locales/jquery.timeago.hr.js | 54 + .../libs/timeago/locales/jquery.timeago.hu.js | 28 + .../libs/timeago/locales/jquery.timeago.hy.js | 28 + .../libs/timeago/locales/jquery.timeago.id.js | 29 + .../libs/timeago/locales/jquery.timeago.is.js | 29 + .../locales/jquery.timeago.it-short.js | 30 + .../libs/timeago/locales/jquery.timeago.it.js | 28 + .../libs/timeago/locales/jquery.timeago.ja.js | 29 + .../libs/timeago/locales/jquery.timeago.jv.js | 28 + .../libs/timeago/locales/jquery.timeago.ko.js | 31 + .../libs/timeago/locales/jquery.timeago.ky.js | 42 + .../libs/timeago/locales/jquery.timeago.lt.js | 30 + .../libs/timeago/locales/jquery.timeago.lv.js | 30 + .../libs/timeago/locales/jquery.timeago.mk.js | 30 + .../libs/timeago/locales/jquery.timeago.nl.js | 30 + .../libs/timeago/locales/jquery.timeago.no.js | 28 + .../libs/timeago/locales/jquery.timeago.pl.js | 39 + .../locales/jquery.timeago.pt-br-short.js | 30 + .../timeago/locales/jquery.timeago.pt-br.js | 28 + .../locales/jquery.timeago.pt-short.js | 30 + .../libs/timeago/locales/jquery.timeago.pt.js | 26 + .../libs/timeago/locales/jquery.timeago.ro.js | 29 + .../libs/timeago/locales/jquery.timeago.rs.js | 54 + .../libs/timeago/locales/jquery.timeago.ru.js | 43 + .../libs/timeago/locales/jquery.timeago.rw.js | 30 + .../libs/timeago/locales/jquery.timeago.si.js | 28 + .../libs/timeago/locales/jquery.timeago.sk.js | 34 + .../libs/timeago/locales/jquery.timeago.sl.js | 46 + .../libs/timeago/locales/jquery.timeago.sq.js | 26 + .../libs/timeago/locales/jquery.timeago.sr.js | 54 + .../libs/timeago/locales/jquery.timeago.sv.js | 28 + .../libs/timeago/locales/jquery.timeago.th.js | 30 + .../locales/jquery.timeago.tr-short.js | 30 + .../libs/timeago/locales/jquery.timeago.tr.js | 26 + .../libs/timeago/locales/jquery.timeago.uk.js | 42 + .../libs/timeago/locales/jquery.timeago.ur.js | 30 + .../libs/timeago/locales/jquery.timeago.uz.js | 29 + .../libs/timeago/locales/jquery.timeago.vi.js | 30 + .../timeago/locales/jquery.timeago.zh-CN.js | 31 + .../timeago/locales/jquery.timeago.zh-TW.js | 30 + .../wwwroot/libs/toastr/toastr.css | 228 + .../wwwroot/libs/toastr/toastr.js.map | 1 + .../wwwroot/libs/toastr/toastr.min.css | 1 + .../wwwroot/libs/toastr/toastr.min.js | 2 + .../yarn.lock | 2673 +++ .../Controllers}/WebApiController.cs | 6 +- .../Models/Test/TestModel.cs | 11 + .../WebApiHttpApiModule.cs | 42 + .../Win_in.Sfs.Scp.WebApi.HttpApi.csproj | 23 + .../Samples/SampleAppServiceTests.cs | 33 + .../WebApiApplicationTestBase.cs | 7 + .../WebApiApplicationTestModule.cs | 2 +- ...in.Sfs.Scp.WebApi.Application.Tests.csproj | 3 + .../Samples/SampleDomainTests.cs | 45 + .../WebApiDomainTestBase.cs | 7 + .../WebApiDomainTestModule.cs | 8 +- .../Win_in.Sfs.Scp.WebApi.Domain.Tests.csproj | 5 +- .../Samples/SampleRepositoryTests.cs | 44 + .../WebApiEntityFrameworkCoreTestBase.cs | 9 + .../WebApiEntityFrameworkCoreTestModule.cs | 62 + ...cp.WebApi.EntityFrameworkCore.Tests.csproj | 6 +- .../ClientDemoService.cs | 26 + .../ConsoleTestAppHostedService.cs | 37 + .../Program.cs | 26 + .../WebApiConsoleApiClientModule.cs | 29 + ...ebApi.HttpApi.Client.ConsoleTestApp.csproj | 31 + .../appsettings.json | 18 + .../appsettings.secrets.json | 2 + .../Security/FakeCurrentPrincipalAccessor.cs | 0 .../WebApiTestBase.cs | 3 +- .../WebApiTestBaseModule.cs | 20 + .../WebApiTestDataSeedContributor.cs | 16 + .../Win_in.Sfs.Scp.WebApi.TestBase.csproj | 11 +- 582 files changed, 105875 insertions(+), 4870 deletions(-) delete mode 100644 ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln delete mode 100644 ScpWebApiService/common.props delete mode 100644 ScpWebApiService/database/Dockerfile delete mode 100644 ScpWebApiService/database/entrypoint.sh delete mode 100644 ScpWebApiService/docker-compose.migrations.yml delete mode 100644 ScpWebApiService/docker-compose.override.yml delete mode 100644 ScpWebApiService/docker-compose.yml delete mode 100644 ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Dockerfile delete mode 100644 ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContext.cs delete mode 100644 ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContextFactory.cs delete mode 100644 ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xml delete mode 100644 ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xsd delete mode 100644 ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json delete mode 100644 ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj delete mode 100644 ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json delete mode 100644 ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json delete mode 100644 ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/yarn.lock delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateDTO.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateOrUpdateDTOBase.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDTO.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDetailsDTO.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNUpdateDTO.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/IASNAppService.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xml delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xsd delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateDTO.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateOrUpdateDTOBase.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelDTO.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelUpdateDTO.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/IASNLabelAppService.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/ISupplierPartAppService.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateDTO.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateOrUpdateDTOBase.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartDto.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartUpdateDTO.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.xml delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/ASNs/ASNAppService.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xml delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xsd delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Labels/LabelAppService.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/SupplierParts/SupplierPartAppService.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.xml delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xml delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xsd delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiErrorCodes.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASN.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASNDetail.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/IASNRepository.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xml delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xsd delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/Label.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/SupplierPart.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xml delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xsd delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xml delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xsd delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/WebApiHttpApiModule.cs delete mode 100644 ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/Win_in.Sfs.Scp.WebApi.HttpApi.csproj delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xml delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xsd delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/WebApiApplicationTestBase.cs delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xml delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xsd delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/Samples/SampleManager_Tests.cs delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/WebApiDomainTestBase.cs delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestBase.cs delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestModule.cs delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xml delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xsd delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xml delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xsd delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/Samples/SampleRepository_Tests.cs delete mode 100644 ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/WebApiDataSeedContributor.cs rename {ScpWebApiService => WebApiService}/.gitattributes (100%) rename {ScpWebApiService => WebApiService}/.gitignore (92%) rename {ScpWebApiService => WebApiService}/.prettierrc (100%) rename {ScpWebApiService => WebApiService}/NuGet.Config (100%) create mode 100644 WebApiService/Win_in.Sfs.Scp.WebApi.sln rename {ScpWebApiService => WebApiService}/Win_in.Sfs.Scp.WebApi.sln.DotSettings (89%) create mode 100644 WebApiService/common.props create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/CreatePartDtoValidator.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs (90%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs (91%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/CreatePurchaseOrderValidator.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs (91%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs (93%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs (67%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/CreateReceiptDtoValidator.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs (83%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs (65%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/RequestDTO.cs (100%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/CreateSupplierDtoValidator.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs (73%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs (97%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SwaggerGroupConsts.cs (100%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/CreateReceiptDtoValidator.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/IUnplannedReceiptAppService.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/UnplannedReceiptDTO.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiDtoExtensions.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs (98%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Properties/AssemblyInfo.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs (96%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs (98%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs (96%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/UnplannedReceipts/UnplannedReceiptAppService.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs (59%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs (89%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/DbMigratorHostedService.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Program.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/WebApiDbMigratorModule.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Win_in.Sfs.Scp.WebApi.DbMigrator.csproj create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.json create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.secrets.json create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.jwk create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.rsa rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityBase.cs (100%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailBase.cs (100%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailDtoBase.cs (100%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDtoBase.cs (100%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs (93%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainErrorCodes.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiGlobalFeatureConfigurator.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiModuleExtensionConfigurator.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/IWebApiDbSchemaMigrator.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/NullWebApiDbSchemaMigrator.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/WebApiDbMigrationService.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/IdentityServer/IdentityServerDataSeedContributor.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/IPartRepository.cs (100%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs (95%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Properties/AssemblyInfo.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/IPurchaseOrderRepository.cs (100%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs (87%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs (68%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/IReceiptRepository.cs (100%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs (72%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs (65%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs rename {ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts => WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers}/ISupplierRepository.cs (100%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs (99%) rename ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/ILabelRepository.cs => WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/IReceiptRepository.cs (53%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/UnplannedReceipt.cs rename ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDbProperties.cs => WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiConsts.cs (84%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreWebApiDbSchemaMigrator.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/IWebApiDbContext.cs (80%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/PartRepository.cs (100%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/PurchaseOrderRepository.cs (100%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/ReceiptRepository.cs (100%) rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/SupplierRepository.cs (100%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/UnplannedReceiptRepository.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextFactory.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextModelCreatingExtensions.cs (88%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEfCoreEntityExtensionMappings.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs rename {ScpWebApiService => WebApiService}/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiModelBuilderConfigurationOptions.cs (100%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/20220110060855_Init.Designer.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/20220110060855_Init.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/WebApiDbContextModelSnapshot.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Properties/AssemblyInfo.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Client/WebApiHttpApiClientModule.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Client/Win_in.Sfs.Scp.WebApi.HttpApi.Client.csproj rename {ScpWebApiService/host => WebApiService/src}/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Controllers/HomeController.cs (100%) rename {ScpWebApiService/host => WebApiService/src}/Win_in.Sfs.Scp.WebApi.HttpApi.Host/HiddenApiAttribute.cs (100%) rename {ScpWebApiService/host => WebApiService/src}/Win_in.Sfs.Scp.WebApi.HttpApi.Host/HiddenApiFilter.cs (100%) rename {ScpWebApiService/host => WebApiService/src}/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Program.cs (90%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json rename {ScpWebApiService/host => WebApiService/src}/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Startup.cs (90%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiBrandingProvider.cs rename {ScpWebApiService/host => WebApiService/src}/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiHttpApiHostModule.cs (57%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/abp.resourcemapping.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.Development.json create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/gulpfile.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/package.json create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/tempkey.jwk create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/tempkey.rsa create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/global-styles.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/core/abp.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/core/abp.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/jquery/abp.jquery.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/luxon/abp.luxon.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.js.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap-rtl.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap-rtl.min.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap-rtl.min.css.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap.css.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap.min.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap.min.css.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/js/bootstrap.bundle.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/js/bootstrap.bundle.js.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/datatables.net-bs4/css/dataTables.bootstrap4.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/datatables.net-bs4/js/dataTables.bootstrap4.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/datatables.net/js/jquery.dataTables.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-form/jquery.form.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-form/jquery.form.min.js.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/jquery.validate.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_ar.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_az.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_bg.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_bn_BD.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_ca.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_cs.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_da.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_de.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_el.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_es.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_es_AR.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_es_PE.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_et.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_eu.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_fa.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_fi.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_fr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_ge.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_gl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_he.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_hr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_hu.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_hy_AM.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_id.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_is.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_it.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_ja.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_ka.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_kk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_ko.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_lt.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_lv.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_mk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_my.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_nl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_no.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_pl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_pt_BR.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_pt_PT.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_ro.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_ru.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_sd.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_si.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_sk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_sl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_sr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_sr_lat.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_sv.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_th.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_tj.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_tr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_uk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_ur.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_vi.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_zh.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/messages_zh_TW.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/methods_de.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/methods_es_CL.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/methods_fi.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/methods_nl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery-validation/localization/methods_pt.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/jquery/jquery.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/lodash/lodash.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/luxon/luxon.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/luxon/luxon.js.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/luxon/luxon.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/luxon/luxon.min.js.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/malihu-custom-scrollbar-plugin/mCSB_buttons.png create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/malihu-custom-scrollbar-plugin/package.json create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/malihu-custom-scrollbar-plugin/readme.md create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/css/select2.min.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/af.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/ar.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/az.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/bg.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/bn.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/bs.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/ca.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/cs.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/da.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/de.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/dsb.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/el.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/en.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/es.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/et.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/eu.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/fa.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/fi.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/fr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/gl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/he.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/hi.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/hr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/hsb.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/hu.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/hy.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/id.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/is.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/it.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/ja.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/ka.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/km.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/ko.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/lt.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/lv.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/mk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/ms.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/nb.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/ne.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/nl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/pl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/ps.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/pt-BR.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/pt.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/ro.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/ru.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/sk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/sl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/sq.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/sr-Cyrl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/sr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/sv.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/th.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/tk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/tr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/uk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/vi.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/zh-CN.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/i18n/zh-TW.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/select2.full.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/select2/js/select2.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/sweetalert/sweetalert.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/jquery.timeago.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/README.md create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.af.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.am.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.ar.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.az-short.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.az.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.be.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.bg.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.bs.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.ca.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.cs.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.cy.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.da.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.de-short.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.de.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.dv.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.el.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.en-short.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.en.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.es-short.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.es.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.et.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.eu.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.fa-short.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.fa.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.fi.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.fr-short.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.fr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.gl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.he.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.hr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.hu.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.hy.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.id.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.is.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.it-short.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.it.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.ja.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.jv.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.ko.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.ky.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.lt.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.lv.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.mk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.nl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.no.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.pl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.pt-br-short.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.pt-br.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.pt-short.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.pt.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.ro.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.rs.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.ru.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.rw.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.si.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.sk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.sl.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.sq.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.sr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.sv.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.th.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.tr-short.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.tr.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.uk.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.ur.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.uz.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.vi.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.zh-CN.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/timeago/locales/jquery.timeago.zh-TW.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/toastr/toastr.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/toastr/toastr.js.map create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/toastr/toastr.min.css create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/toastr/toastr.min.js create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/yarn.lock rename {ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi => WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/Controllers}/WebApiController.cs (72%) create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/Models/Test/TestModel.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/WebApiHttpApiModule.cs create mode 100644 WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/Win_in.Sfs.Scp.WebApi.HttpApi.csproj create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/Samples/SampleAppServiceTests.cs create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/WebApiApplicationTestBase.cs rename {ScpWebApiService => WebApiService}/test/Win_in.Sfs.Scp.WebApi.Application.Tests/WebApiApplicationTestModule.cs (99%) rename {ScpWebApiService => WebApiService}/test/Win_in.Sfs.Scp.WebApi.Application.Tests/Win_in.Sfs.Scp.WebApi.Application.Tests.csproj (95%) create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/Samples/SampleDomainTests.cs create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/WebApiDomainTestBase.cs rename {ScpWebApiService => WebApiService}/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/WebApiDomainTestModule.cs (57%) rename {ScpWebApiService => WebApiService}/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/Win_in.Sfs.Scp.WebApi.Domain.Tests.csproj (94%) create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepositoryTests.cs create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestBase.cs create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestModule.cs rename {ScpWebApiService => WebApiService}/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests.csproj (88%) create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp/Program.cs create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp/WebApiConsoleApiClientModule.cs create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp/Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp.csproj create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp/appsettings.json create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json rename {ScpWebApiService => WebApiService}/test/Win_in.Sfs.Scp.WebApi.TestBase/Security/FakeCurrentPrincipalAccessor.cs (100%) rename {ScpWebApiService => WebApiService}/test/Win_in.Sfs.Scp.WebApi.TestBase/WebApiTestBase.cs (98%) rename {ScpWebApiService => WebApiService}/test/Win_in.Sfs.Scp.WebApi.TestBase/WebApiTestBaseModule.cs (63%) create mode 100644 WebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/WebApiTestDataSeedContributor.cs rename {ScpWebApiService => WebApiService}/test/Win_in.Sfs.Scp.WebApi.TestBase/Win_in.Sfs.Scp.WebApi.TestBase.csproj (97%) diff --git a/ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln b/ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln deleted file mode 100644 index 8364178..0000000 --- a/ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln +++ /dev/null @@ -1,104 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29001.49 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain.Shared", "src\Win_in.Sfs.Scp.WebApi.Domain.Shared\Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj", "{D64C1577-4929-4B60-939E-96DE1534891A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain", "src\Win_in.Sfs.Scp.WebApi.Domain\Win_in.Sfs.Scp.WebApi.Domain.csproj", "{F2840BC7-0188-4606-9126-DADD0F5ABF7A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application.Contracts", "src\Win_in.Sfs.Scp.WebApi.Application.Contracts\Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj", "{BD65D04F-08D5-40C1-8C24-77CA0BACB877}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application", "src\Win_in.Sfs.Scp.WebApi.Application\Win_in.Sfs.Scp.WebApi.Application.csproj", "{78040F9E-3501-4A40-82DF-00A597710F35}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{649A3FFA-182F-4E56-9717-E6A9A2BEC545}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{E400416D-2895-4512-9D17-90681EEC7E0A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.EntityFrameworkCore", "src\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj", "{0CE86223-D31D-4315-A1F5-87BA3EE1B844}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi", "src\Win_in.Sfs.Scp.WebApi.HttpApi\Win_in.Sfs.Scp.WebApi.HttpApi.csproj", "{077AA5F8-8B61-420C-A6B5-0150A66FDB34}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.TestBase", "test\Win_in.Sfs.Scp.WebApi.TestBase\Win_in.Sfs.Scp.WebApi.TestBase.csproj", "{C5BB573D-3030-4BCB-88B7-F6A85C32766C}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests", "test\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests.csproj", "{527F645C-C1FC-406E-8479-81386C8ECF13}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain.Tests", "test\Win_in.Sfs.Scp.WebApi.Domain.Tests\Win_in.Sfs.Scp.WebApi.Domain.Tests.csproj", "{E60895E5-79C4-447D-88B7-85CB5BA336A4}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application.Tests", "test\Win_in.Sfs.Scp.WebApi.Application.Tests\Win_in.Sfs.Scp.WebApi.Application.Tests.csproj", "{90CB5DC4-C040-45C7-8900-9688B26405BC}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi.Host", "host\Win_in.Sfs.Scp.WebApi.HttpApi.Host\Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj", "{37B135B0-DAFE-4616-B25C-1BDF32FC44A2}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.Build.0 = Release|Any CPU - {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.Build.0 = Release|Any CPU - {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.Build.0 = Release|Any CPU - {78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.Build.0 = Debug|Any CPU - {78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.ActiveCfg = Release|Any CPU - {78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.Build.0 = Release|Any CPU - {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Release|Any CPU.Build.0 = Release|Any CPU - {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Debug|Any CPU.Build.0 = Debug|Any CPU - {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Release|Any CPU.ActiveCfg = Release|Any CPU - {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Release|Any CPU.Build.0 = Release|Any CPU - {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Release|Any CPU.Build.0 = Release|Any CPU - {527F645C-C1FC-406E-8479-81386C8ECF13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {527F645C-C1FC-406E-8479-81386C8ECF13}.Debug|Any CPU.Build.0 = Debug|Any CPU - {527F645C-C1FC-406E-8479-81386C8ECF13}.Release|Any CPU.ActiveCfg = Release|Any CPU - {527F645C-C1FC-406E-8479-81386C8ECF13}.Release|Any CPU.Build.0 = Release|Any CPU - {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Release|Any CPU.Build.0 = Release|Any CPU - {90CB5DC4-C040-45C7-8900-9688B26405BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90CB5DC4-C040-45C7-8900-9688B26405BC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90CB5DC4-C040-45C7-8900-9688B26405BC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90CB5DC4-C040-45C7-8900-9688B26405BC}.Release|Any CPU.Build.0 = Release|Any CPU - {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {D64C1577-4929-4B60-939E-96DE1534891A} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} - {F2840BC7-0188-4606-9126-DADD0F5ABF7A} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} - {BD65D04F-08D5-40C1-8C24-77CA0BACB877} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} - {78040F9E-3501-4A40-82DF-00A597710F35} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} - {0CE86223-D31D-4315-A1F5-87BA3EE1B844} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} - {077AA5F8-8B61-420C-A6B5-0150A66FDB34} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} - {C5BB573D-3030-4BCB-88B7-F6A85C32766C} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D} - {527F645C-C1FC-406E-8479-81386C8ECF13} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D} - {E60895E5-79C4-447D-88B7-85CB5BA336A4} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D} - {90CB5DC4-C040-45C7-8900-9688B26405BC} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D} - {37B135B0-DAFE-4616-B25C-1BDF32FC44A2} = {E400416D-2895-4512-9D17-90681EEC7E0A} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {4324B3B4-B60B-4E3C-91D8-59576B4E26DD} - EndGlobalSection -EndGlobal diff --git a/ScpWebApiService/common.props b/ScpWebApiService/common.props deleted file mode 100644 index 01eae14..0000000 --- a/ScpWebApiService/common.props +++ /dev/null @@ -1,24 +0,0 @@ - - - latest - 0.1.0 - $(NoWarn);CS1591 - module - - - - - - All - runtime; build; native; contentfiles; analyzers - - - - - - - $(NoWarn);0436 - - - - \ No newline at end of file diff --git a/ScpWebApiService/database/Dockerfile b/ScpWebApiService/database/Dockerfile deleted file mode 100644 index 01e141f..0000000 --- a/ScpWebApiService/database/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build -COPY . . - -WORKDIR /templates/service/host/IdentityServerHost -RUN dotnet restore -RUN dotnet ef migrations script -i -o migrations-IdentityServerHost.sql - -WORKDIR /templates/service/host/Win_in.Sfs.Scp.WebApi.Host -RUN dotnet restore -RUN dotnet ef migrations script -i -o migrations-WebApi.sql - -FROM mcr.microsoft.com/mssql-tools AS final -WORKDIR /src -COPY --from=build /templates/service/host/IdentityServerHost/migrations-IdentityServerHost.sql migrations-IdentityServerHost.sql -COPY --from=build /templates/service/host/Win_in.Sfs.Scp.WebApi.Host/migrations-WebApi.sql migrations-WebApi.sql -COPY --from=build /templates/service/database/entrypoint.sh . -RUN /bin/bash -c "sed -i $'s/\r$//' entrypoint.sh" -RUN chmod +x ./entrypoint.sh - -ENTRYPOINT ["./entrypoint.sh"] \ No newline at end of file diff --git a/ScpWebApiService/database/entrypoint.sh b/ScpWebApiService/database/entrypoint.sh deleted file mode 100644 index c537cb6..0000000 --- a/ScpWebApiService/database/entrypoint.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -until /opt/mssql-tools/bin/sqlcmd -S sqlserver -U SA -P $SA_PASSWORD -Q 'SELECT name FROM master.sys.databases'; do ->&2 echo "SQL Server is starting up" -sleep 1 -done - -/opt/mssql-tools/bin/sqlcmd -S sqlserver -U SA -P $SA_PASSWORD -Q "CREATE DATABASE [$IdentityServer_DB]" -/opt/mssql-tools/bin/sqlcmd -S sqlserver -U SA -P $SA_PASSWORD -Q "CREATE DATABASE [$WebApi_DB]" - -/opt/mssql-tools/bin/sqlcmd -d $IdentityServer_DB -S sqlserver -U sa -P $SA_PASSWORD -i migrations-IdentityServerHost.sql -/opt/mssql-tools/bin/sqlcmd -d $WebApi_DB -S sqlserver -U sa -P $SA_PASSWORD -i migrations-WebApi.sql \ No newline at end of file diff --git a/ScpWebApiService/docker-compose.migrations.yml b/ScpWebApiService/docker-compose.migrations.yml deleted file mode 100644 index 9a024ec..0000000 --- a/ScpWebApiService/docker-compose.migrations.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: '3.4' - -services: - migrations: - build: - context: ../../ - dockerfile: templates/service/database/Dockerfile - depends_on: - - sqlserver - environment: - - IdentityServer_DB=WebApi_Identity - - WebApi_DB=WebApi_ModuleDb - - SA_PASSWORD=yourStrong(!)Password diff --git a/ScpWebApiService/docker-compose.override.yml b/ScpWebApiService/docker-compose.override.yml deleted file mode 100644 index cccc182..0000000 --- a/ScpWebApiService/docker-compose.override.yml +++ /dev/null @@ -1,29 +0,0 @@ -version: '3.4' - -services: - sqlserver: - environment: - - SA_PASSWORD=yourStrong(!)Password - - ACCEPT_EULA=Y - ports: - - "51599:1433" - - identity-server: - environment: - - ASPNETCORE_URLS=http://0.0.0.0:80 - - ConnectionStrings__Default=Server=sqlserver;Database=WebApi_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false - - ConnectionStrings__SqlServerCache=Server=sqlserver;Database=WebApi_Cache;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false - ports: - - "51600:80" - - web-api: - environment: - - ASPNETCORE_URLS=http://0.0.0.0:80 - - ConnectionStrings__Default=Server=sqlserver;Database=WebApi_ModuleDb;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false - - ConnectionStrings__AbpSettingManagement=Server=sqlserver;Database=WebApi_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false - - ConnectionStrings__AbpPermissionManagement=Server=sqlserver;Database=WebApi_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false - - ConnectionStrings__AbpAuditLogging=Server=sqlserver;Database=WebApi_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false - - ConnectionStrings__SqlServerCache=Server=sqlserver;Database=WebApi_Cache;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false - - AuthServer__Authority=http://identity-server - ports: - - "51601:80" \ No newline at end of file diff --git a/ScpWebApiService/docker-compose.yml b/ScpWebApiService/docker-compose.yml deleted file mode 100644 index 63d0dea..0000000 --- a/ScpWebApiService/docker-compose.yml +++ /dev/null @@ -1,25 +0,0 @@ -version: '3.4' - -services: - sqlserver: - image: mcr.microsoft.com/mssql/server - volumes: - - dbdata:/var/opt/mssql - - identity-server: - build: - context: ../../ - dockerfile: templates/service/host/IdentityServerHost/Dockerfile - depends_on: - - sqlserver - - web-api: - build: - context: ../../ - dockerfile: templates/service/host/Win_in.Sfs.Scp.WebApi.Host/Dockerfile - depends_on: - - sqlserver - - identity-server - -volumes: - dbdata: \ No newline at end of file diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Dockerfile b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Dockerfile deleted file mode 100644 index 52970bd..0000000 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base -WORKDIR /app -EXPOSE 80 - -FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build -WORKDIR /src -COPY . . -WORKDIR /src/templates/service/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host -RUN dotnet restore -nowarn:msb3202,nu1503 -RUN dotnet build --no-restore -c Release -o /app - -FROM build AS publish -RUN dotnet publish --no-restore -c Release -o /app - -FROM base AS final -WORKDIR /app -COPY --from=publish /app . -ENTRYPOINT ["dotnet", "Win_in.Sfs.Scp.WebApi.HttpApi.Host.dll"] diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContext.cs b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContext.cs deleted file mode 100644 index 1aa2976..0000000 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContext.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore; - -namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore -{ - public class WebApiHttpApiHostMigrationsDbContext : AbpDbContext - { - public WebApiHttpApiHostMigrationsDbContext(DbContextOptions options) - : base(options) - { - - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - base.OnModelCreating(modelBuilder); - - modelBuilder.ConfigureWebApi(); - } - } -} diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContextFactory.cs b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContextFactory.cs deleted file mode 100644 index bc0f0b8..0000000 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/EntityFrameworkCore/WebApiHttpApiHostMigrationsDbContextFactory.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.IO; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Design; -using Microsoft.Extensions.Configuration; - -namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore -{ - public class WebApiHttpApiHostMigrationsDbContextFactory : IDesignTimeDbContextFactory - { - public WebApiHttpApiHostMigrationsDbContext CreateDbContext(string[] args) - { - var configuration = BuildConfiguration(); - - var builder = new DbContextOptionsBuilder() - .UseSqlServer(configuration.GetConnectionString("WebApi")); - - return new WebApiHttpApiHostMigrationsDbContext(builder.Options); - } - - private static IConfigurationRoot BuildConfiguration() - { - var builder = new ConfigurationBuilder() - .SetBasePath(Directory.GetCurrentDirectory()) - .AddJsonFile("appsettings.json", optional: false); - - return builder.Build(); - } - } -} diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xml b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xsd b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json deleted file mode 100644 index 285218d..0000000 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "profiles": { - "Win_in.Sfs.Scp.WebApi.DemoApp": { - "commandName": "Project", - "launchBrowser": true, - "applicationUrl": "https://localhost:9203", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} \ No newline at end of file diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj deleted file mode 100644 index cf99129..0000000 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - net5.0 - Win_in.Sfs.Scp.WebApi - true - Win_in.Sfs.Scp.WebApi-c2d31439-b723-48e2-b061-5ebd7aeb6010 - - - - ..\..\host\Win_in.Sfs.Scp.WebApi.HttpApi.Host\bin\Debug\net5.0\Win_in.Sfs.Scp.WebApi.HttpApi.Host.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json deleted file mode 100644 index 07eddda..0000000 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "App": { - "CorsOrigins": "https://*.WebApi.com,http://localhost:4200,http://localhost:44307,https://localhost:44307" - }, - "ConnectionStrings": { - "Default": "Server=127.0.0.1;Database=ScpWebApi_ABP;User ID=sa;Password=Microsoft2008;connection timeout=600", - "WebApi": "Server=127.0.0.1;Database=ScpWebApi_Module;User ID=sa;Password=Microsoft2008;connection timeout=600" - }, - "Redis": { - "Configuration": "127.0.0.1" - }, - "AuthServer": { - "Authority": "https://localhost:9000/", - "RequireHttpsMetadata": "false", - "SwaggerClientId": "WebApi_Swagger", - "SwaggerClientSecret": "1q2w3e*" - }, - "IsMultiTenancy": true - -} diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json deleted file mode 100644 index 5feb464..0000000 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "App": { - "CorsOrigins": "https://*.WebApi.com,http://localhost:4200,http://localhost:44307,https://localhost:44307" - }, - "ConnectionStrings": { - "Default": "Server=119.3.213.202,13315;Database=WebApi_Module;User ID=sa;Password=ChangkeTec@2020;connection timeout=600", - "WebApi": "Server=119.3.213.202,13315;Database=WebApi_Module;User ID=sa;Password=ChangkeTec@2020;connection timeout=600" - }, - "Redis": { - "Configuration": "127.0.0.1" - }, - "AuthServer": { - "Authority": "https://localhost:9000/", - "RequireHttpsMetadata": "false", - "SwaggerClientId": "WebApi_Swagger", - "SwaggerClientSecret": "1q2w3e*" - }, - "IsMultiTenancy": true - -} diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/yarn.lock b/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/yarn.lock deleted file mode 100644 index fb57ccd..0000000 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateDTO.cs deleted file mode 100644 index 2c81e46..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateDTO.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System.ComponentModel.DataAnnotations; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - /// - /// 发货单新增DTO(ASN Create DTO) - /// - public class ASNCreateDTO : ASNCreateOrUpdateDTOBase - { - /// - /// 发货单号(ASN Number) - /// - [Required] - [Display(Name = "发货单号(AsnNumber)")] - public string AsnNumber { set; get; } - - /// - /// 要货计划单号(Request Plan Number) - /// - [Required] - [Display(Name = "要货计划单号(RpNumber)")] - public string RpNumber { set; get; } - - /// - /// 订单号(Purchase order number) - /// - [Required] - [Display(Name = "订单号(PoNumber)")] - public string PoNumber { set; get; } - - /// - /// 供应商代码(Supplier code) - /// - [Required] - [Display(Name = "供应商代码(SupplierCode)")] - public string SupplierCode { set; get; } - - /// - /// 地点(Site) - /// - [Required] - [Display(Name = "地点(Site)")] - public string Site { set; get; } - - /// - /// 公司(IAC company code) - /// - [Required] - [Display(Name = "公司(Company)")] - public string Company { set; get; } - - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateOrUpdateDTOBase.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateOrUpdateDTOBase.cs deleted file mode 100644 index 71c0f4c..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNCreateOrUpdateDTOBase.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Data; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - /// - /// 发货单创建更新基础Dto - /// - public abstract class ASNCreateOrUpdateDTOBase : EntityDto,IHasExtraProperties - { - - - /// - /// 联系人(Contact person) - /// - [Display(Name = "联系人(ContactName)")] - public string ContactName { set; get; } - - /// - /// 联系电话(Contact phone) - /// - [Display(Name = "联系电话(ContactPhone)")] - public string ContactPhone { set; get; } - - /// - /// 版本(Car Number) - /// - [Display(Name = "车牌号(CarNumber)")] - public string CarNumber { set; get; } - - /// - /// 仓库(Warehouse code) - /// - [Required] - [Display(Name = "仓库(Warehouse)")] - public string Warehouse { set; get; } - - /// - /// 收货口(Warehouse Dock) - /// - [Required] - [Display(Name = "收货口(Dock)")] - public string Dock { set; get; } - - /// - /// 时间窗口开始(Time Window Begin) - /// - [Required] - [Display(Name = "时间窗口开始(TimeWindowBegin)")] - public DateTime TimeWindowBegin { set; get; } - - /// - /// 时间窗口结束(Time Window End) - /// - [Required] - [Display(Name = "时间窗口结束(TimeWindowEnd)")] - public DateTime TimeWindowEnd { set; get; } - - /// - /// 备注(Remark) - /// - [Display(Name = "备注(Remark)")] - public string Remark { set; get; } - - /// - /// 明细列表(Detail list) - /// - [Required] - public virtual ICollection Details { get; set; } - - /// - /// 扩展属性(Extra Properties) - /// - [Display(Name = "扩展属性(Extra Properties)")] - public ExtraPropertyDictionary ExtraProperties { get; set; } - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDTO.cs deleted file mode 100644 index 7d902bc..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDTO.cs +++ /dev/null @@ -1,119 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Data; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - /// - /// 发货单DTO(ASN DTO) - /// - public class ASNDTO : AuditedEntityDto,IHasExtraProperties - { - /// - /// 发货单号(ASN Number) - /// - [Display(Name = "发货单号(AsnNumber)")] - public string AsnNumber { set; get; } - - /// - /// 要货计划单号(Request Plan Number) - /// - [Display(Name = "要货计划单号(RpNumber)")] - public string RpNumber { set; get; } - - /// - /// 订单号(Purchase order number) - /// - [Display(Name = "订单号(PoNumber)")] - public string PoNumber { set; get; } - - /// - /// 供应商代码(Supplier code) - /// - [Display(Name = "供应商代码(SupplierCode)")] - public string SupplierCode { set; get; } - - /// - /// 状态(Status) - /// - [Display(Name = "状态(Status)")] - public int Status { set; get; } - - /// - /// 联系人(Contact person) - /// - [Display(Name = "联系人(ContactName)")] - public string ContactName { set; get; } - - /// - /// 联系电话(Contact phone) - /// - [Display(Name = "联系电话(ContactPhone)")] - public string ContactPhone { set; get; } - - /// - /// 版本(Car Number) - /// - [Display(Name = "车牌号(CarNumber)")] - public string CarNumber { set; get; } - - /// - /// 仓库(Warehouse code) - /// - [Display(Name = "仓库(Warehouse)")] - public string Warehouse { set; get; } - - /// - /// 收货口(Warehouse Dock) - /// - [Display(Name = "收货口(Dock)")] - public string Dock { set; get; } - - /// - /// 时间窗口开始(Time Window Begin) - /// - [Display(Name = "时间窗口开始(TimeWindowBegin)")] - public DateTime TimeWindowBegin { set; get; } - - /// - /// 时间窗口结束(Time Window End) - /// - [Display(Name = "时间窗口结束(TimeWindowEnd)")] - public DateTime TimeWindowEnd { set; get; } - - /// - /// 地点(Site) - /// - [Display(Name = "地点(Site)")] - public string Site { set; get; } - - /// - /// 公司(IAC company code) - /// - [Display(Name = "公司(Company)")] - public string Company { set; get; } - - /// - /// 备注(Remark) - /// - [Display(Name = "备注(Remark)")] - public string Remark { set; get; } - - /// - /// 是否已读(IsRead) - /// - [Display(Name = "是否已读(IsRead)")] - public bool IsRead { set; get; } - - - public virtual ICollection Details { get; set; } - - /// - /// 扩展属性(Extra Properties) - /// - [Display(Name = "扩展属性(Extra Properties)")] - public ExtraPropertyDictionary ExtraProperties { get; set; } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDetailsDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDetailsDTO.cs deleted file mode 100644 index 77e5292..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNDetailsDTO.cs +++ /dev/null @@ -1,132 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Data; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - /// - /// 发货单明细DTO(ASN Detail DTO) - /// - public class ASNDetailsDTO : AuditedEntityDto, IHasExtraProperties - { - /// - /// 发货单号(ASN Number) - /// - [Required] - [Display(Name = "发货单号(AsnNumber)")] - public string AsnNumber { set; get; } - - /// - /// 订单号(Purchase order number) - /// - [Required] - [Display(Name = "订单号(PoNumber)")] - public string PoNumber { set; get; } - - /// - /// 订单行(Purchase order Line) - /// - [Required] - [Display(Name = "订单行(PoLine)")] - public string PoLine { set; get; } - - /// - /// 零件号(PartCode) - /// - [Required] - [Display(Name = "零件号(PartCode)")] - public string PartCode { set; get; } - - /// - /// 批次(Lot number) - /// - [Required] - [Display(Name = "批次(Lot)")] - public string Lot { set; get; } - - /// - /// 供应商批次(Supplier Lot) - /// - [Required] - [Display(Name = "供应商批次(SupplierLot)")] - public string SupplierLot { set; get; } - - /// - /// 生产日期(Produce Date) - /// - [Required] - [Display(Name = "生产日期(ProductionDate)")] - public DateTime ProductionDate { set; get; } - - /// - /// 计量单位(Unit of measure) - /// - [Required] - [Display(Name = "计量单位(Uom)")] - public string Uom { set; get; } - - /// - /// 发货数量(Delivery quantity) - /// - [Required] - [Display(Name = "发货数量(DeliverQty)")] - public decimal DeliverQty { set; get; } - - /// - /// 标包计量单位(standard package um) - /// - [Required] - [Display(Name = "标包计量单位(Standard Pack Uom)")] - public string StdPackUom { set; get; } - - /// - /// 标包数量(standard package quantity) - /// - [Required] - [Display(Name = "标包数量(Standard Pack Qty)")] - public decimal StdPackQty { set; get; } - - /// - /// 供应商计量单位(Supplier UM) - /// - [Display(Name = "供应商计量单位(SupplierPackUom)")] - public string SupplierPackUom { set; get; } - - /// - /// 供应商包装数量(Supplier package UM) - /// - [Display(Name = "供应商包装数量(SupplierPackQty)")] - public decimal SupplierPackQty { set; get; } - - /// - /// 供应商包装转换率(UM conversion) - /// - [Display(Name = "供应商包装转换率(SupplierPackConvertRate)")] - public decimal SupplierPackConvertRate { set; get; } - - /// - /// 标签代码(LabelCode) - /// - [Display(Name = "标签代码(LabelCode)")] - public string LabelCode { set; get; } - - /// - /// 完整条码数据(BarCode) - /// - [Display(Name = "完整条码数据(BarCode)")] - public string BarCode { set; get; } - - /// - /// 托标签号(PalletLabelCode) - /// - [Display(Name = "托标签号(PalletLabelCode)")] - public string PalletLabelCode { set; get; } - /// - /// 扩展属性(Extra Properties) - /// - [Display(Name = "扩展属性(Extra Properties)")] - public ExtraPropertyDictionary ExtraProperties { get; set; } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNUpdateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNUpdateDTO.cs deleted file mode 100644 index 85046b5..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/ASNUpdateDTO.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.ComponentModel.DataAnnotations; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - /// - /// 发货单更新DTO(ASN update DTO) - /// - public class ASNUpdateDTO : ASNCreateOrUpdateDTOBase - { - /// - /// 状态(Status) - /// - [Required] - [Display(Name = "状态(Status)")] - public int Status { set; get; } - - - /// - /// 是否已读(IsRead) - /// - [Required] - [Display(Name = "是否已读(IsRead)")] - public bool IsRead { set; get; } - - - /// - /// 并发时间戳(Concurrency Stamp) - /// - [Display(Name = "并发时间戳(Concurrency Stamp)")] - public string ConcurrencyStamp { get; set; } - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/IASNAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/IASNAppService.cs deleted file mode 100644 index 350e097..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/ASNs/IASNAppService.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - public interface IASNAppService:ICrudAppService - { - Task> GetUnreadListAsync(); - Task ReadAsync(Guid id); - Task UnreadAsync(Guid id); - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateDTO.cs deleted file mode 100644 index d668dc2..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateDTO.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - public class ASNLabelCreateDTO : ASNLabelCreateOrUpdateDTOBase - { - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateOrUpdateDTOBase.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateOrUpdateDTOBase.cs deleted file mode 100644 index 43c7b0b..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelCreateOrUpdateDTOBase.cs +++ /dev/null @@ -1,145 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Application.Dtos; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - /// - /// 发货单标签表创建更新基础Dto - /// - public abstract class ASNLabelCreateOrUpdateDTOBase : EntityDto - { - /// - /// 标签代码(Label code) - /// - [Display(Name = "标签代码(LabelCode)")] - public string LabelCode { get; set; } - - /// - /// 完整条码数据(Barcode barcode) - /// - [Display(Name = "完整条码数据(Barcode)")] - public string Barcode { get; set; } - - /// - /// 零件号(Part code) - /// - [Display(Name = "零件号(PartCode)")] - public string PartCode { get; set; } - - /// - /// 零件名称(Part Name) - /// - [Display(Name = "零件名称(PartName)")] - public string PartName { get; set; } - - /// - /// 零件描述(Part desc) - /// - [Display(Name = "零件描述(PartDesc)")] - public string PartDesc { get; set; } - - /// - /// 批次(Lot number) - /// - [Display(Name = "批次(Lot)")] - public bool Lot { get; set; } - - /// - /// 计量单位(UM) - /// - [Display(Name = "计量单位(Uom)")] - public bool Uom { get; set; } - - /// - /// 数量(Label quantity) - /// - [Display(Name = "数量(Qty)")] - public decimal Qty { get; set; } - - /// - /// 标包计量单位(Package UM) - /// - [Display(Name = "标包计量单位(StdPackUom)")] - public string StdPackUom { get; set; } - - /// - /// 标包数量(Package quantity) - /// - [Display(Name = "标包数量(StdPackQty)")] - public decimal StdPackQty { get; set; } - - /// - /// 供应商代码(Supplier Code) - /// - [Display(Name = "供应商代码(SupplierCode)")] - public string SupplierCode { get; set; } - - /// - /// 供应商名称(Supplier Name) - /// - [Display(Name = "供应商名称(SupplierName)")] - public string SupplierName { get; set; } - - /// - /// 订单号(Purchase order number) - /// - [Display(Name = "订单号(PoNumber)")] - public string PoNumber { get; set; } - - /// - /// 订单行(Purchase order Line) - /// - [Display(Name = "订单行(PoLine)")] - public string PoLine { get; set; } - - /// - /// 发货单号(ASN Number) - /// - [Display(Name = "发货单号(AsnNumber)")] - public string AsnNumber { get; set; } - - /// - /// 要货计划单号(Plan number) - /// - [Display(Name = "要货计划单号(RpNumber)")] - public string RpNumber { get; set; } - - /// - /// 供应商批次(Supplier Lot) - /// - [Display(Name = "供应商批次(SupplierLot)")] - public string SupplierLot { get; set; } - - /// - /// 生产日期(Produce Date) - /// - [Display(Name = "生产日期(ProduceDate)")] - public DateTime ProduceDate { get; set; } - - /// - /// 托标签号(Pallet label number) - /// - [Display(Name = "托标签号(PalletLabelnumber)")] - public decimal PalletLabelnumber { get; set; } - - /// - /// 地点(site) - /// - [Display(Name = "地点(Site)")] - public string Site { get; set; } - - /// - /// 公司(IAC company code) - /// - [Display(Name = "公司(Company)")] - public decimal Company { get; set; } - - /// - /// 备注(Remark) - /// - [Display(Name = "备注(Remark)")] - public string Remark { get; set; } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelDTO.cs deleted file mode 100644 index 8a72338..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelDTO.cs +++ /dev/null @@ -1,145 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Application.Dtos; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - /// - /// 发货单标签表DTO - /// - public class ASNLabelDTO : AuditedEntityDto - { - /// - /// 标签代码(Label code) - /// - [Display(Name = "标签代码(LabelCode)")] - public string LabelCode { get; set; } - - /// - /// 完整条码数据(Barcode barcode) - /// - [Display(Name = "完整条码数据(Barcode)")] - public string Barcode { get; set; } - - /// - /// 零件号(Part code) - /// - [Display(Name = "零件号(PartCode)")] - public string PartCode { get; set; } - - /// - /// 零件名称(Part Name) - /// - [Display(Name = "零件名称(PartName)")] - public string PartName { get; set; } - - /// - /// 零件描述(Part desc) - /// - [Display(Name = "零件描述(PartDesc)")] - public string PartDesc { get; set; } - - /// - /// 批次(Lot number) - /// - [Display(Name = "批次(Lot)")] - public bool Lot { get; set; } - - /// - /// 计量单位(UM) - /// - [Display(Name = "计量单位(Uom)")] - public bool Uom { get; set; } - - /// - /// 数量(Label quantity) - /// - [Display(Name = "数量(Qty)")] - public decimal Qty { get; set; } - - /// - /// 标包计量单位(Package UM) - /// - [Display(Name = "标包计量单位(StdPackUom)")] - public string StdPackUom { get; set; } - - /// - /// 标包数量(Package quantity) - /// - [Display(Name = "标包数量(StdPackQty)")] - public decimal StdPackQty { get; set; } - - /// - /// 供应商代码(Supplier Code) - /// - [Display(Name = "供应商代码(SupplierCode)")] - public string SupplierCode { get; set; } - - /// - /// 供应商名称(Supplier Name) - /// - [Display(Name = "供应商名称(SupplierName)")] - public string SupplierName { get; set; } - - /// - /// 订单号(Purchase order number) - /// - [Display(Name = "订单号(PoNumber)")] - public string PoNumber { get; set; } - - /// - /// 订单行(Purchase order Line) - /// - [Display(Name = "订单行(PoLine)")] - public string PoLine { get; set; } - - /// - /// 发货单号(ASN Number) - /// - [Display(Name = "发货单号(AsnNumber)")] - public string AsnNumber { get; set; } - - /// - /// 要货计划单号(Plan number) - /// - [Display(Name = "要货计划单号(RpNumber)")] - public string RpNumber { get; set; } - - /// - /// 供应商批次(Supplier Lot) - /// - [Display(Name = "供应商批次(SupplierLot)")] - public string SupplierLot { get; set; } - - /// - /// 生产日期(Produce Date) - /// - [Display(Name = "生产日期(ProduceDate)")] - public DateTime ProduceDate { get; set; } - - /// - /// 托标签号(Pallet label number) - /// - [Display(Name = "托标签号(PalletLabelnumber)")] - public decimal PalletLabelnumber { get; set; } - - /// - /// 地点(site) - /// - [Display(Name = "地点(Site)")] - public string Site { get; set; } - - /// - /// 公司(IAC company code) - /// - [Display(Name = "公司(Company)")] - public decimal Company { get; set; } - - /// - /// 备注(Remark) - /// - [Display(Name = "备注(Remark)")] - public string Remark { get; set; } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelUpdateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelUpdateDTO.cs deleted file mode 100644 index 6f1bd41..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/ASNLabelUpdateDTO.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - public class ASNLabelUpdateDTO : ASNLabelCreateOrUpdateDTOBase - { - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/IASNLabelAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/IASNLabelAppService.cs deleted file mode 100644 index 882a667..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Labels/IASNLabelAppService.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using Volo.Abp.Application.Services; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - public interface IASNLabelAppService:ICrudAppService - { - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs deleted file mode 100644 index db0babc..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Win_in.Sfs.Scp.WebApi.Localization; -using Volo.Abp.Authorization.Permissions; -using Volo.Abp.Localization; - -namespace Win_in.Sfs.Scp.WebApi.Permissions -{ - public class WebApiPermissionDefinitionProvider : PermissionDefinitionProvider - { - public override void Define(IPermissionDefinitionContext context) - { - var scpWebApi = context.AddGroup(WebApiPermissions.GroupName, L("Permission:WebApi")); - - } - - private static LocalizableString L(string name) - { - return LocalizableString.Create(name); - } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs deleted file mode 100644 index a70ef4e..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Volo.Abp.Reflection; - -namespace Win_in.Sfs.Scp.WebApi.Permissions -{ - public class WebApiPermissions - { - public const string GroupName = "WebApi"; - public const string Create = "Create"; - public const string Update = "Update"; - public const string Delete = "Delete"; - - public static string[] GetAll() - { - return ReflectionHelper.GetPublicConstantsRecursively(typeof(WebApiPermissions)); - } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/ISupplierPartAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/ISupplierPartAppService.cs deleted file mode 100644 index e9b84ca..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/ISupplierPartAppService.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Win_in.Sfs.Scp.WebApi.SupplierParts; - -namespace Win_in.Sfs.Scp.WebApi.Application.Contracts.SupplierParts -{ - public interface ISupplierPartAppService : ICrudAppService - { - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateDTO.cs deleted file mode 100644 index 680a107..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateDTO.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.ComponentModel.DataAnnotations; - -namespace Win_in.Sfs.Scp.WebApi.SupplierParts -{ - /// - /// ӦDTO(Supplier part create DTO) - /// - public class SupplierPartCreateDTO : SupplierPartCreateOrUpdateDTOBase - { - /// - /// Ӧ̴(SupplierCode) - /// - [Required] - [Display(Name = "Ӧ̴(SupplierCode)")] - public string SupplierCode { set; get; } - - /// - /// (PartCode) - /// - [Required] - [Display(Name = "(PartCode)")] - public string PartCode { set; get; } - - /// - /// ص(Site) - /// - [Required] - [Display(Name = "ص")] - public string Site { get; set; } - - /// - /// ˾(Company) - /// - [Required] - [Display(Name = "˾")] - public string Company { get; set; } - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateOrUpdateDTOBase.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateOrUpdateDTOBase.cs deleted file mode 100644 index bd66e2d..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartCreateOrUpdateDTOBase.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Application.Dtos; -using Win_in.Sfs.Scp.WebApi.Domain.Shared; - -namespace Win_in.Sfs.Scp.WebApi.SupplierParts -{ - public abstract class SupplierPartCreateOrUpdateDTOBase : EntityDtoBase - { - - /// - /// 供应商零件号(SupplierPartCode) - /// - [Required] - [Display(Name = "供应商零件号(SupplierPartCode)")] - public string SupplierPartCode { set; get; } - - /// - /// 供应商标包计量单位(SupplierStdPackUom) - /// - [Required] - [Display(Name = "供应商标包计量单位(SupplierStdPackUom)")] - public string SupplierStdPackUom { get; set; } - - /// - /// 供应商标包数量 - /// - [Required] - [Display(Name = "供应商标包数量(SupplierStdPackQty)")] - public decimal SupplierStdPackQty { get; set; } - - /// - /// 备注(Remark) - /// - [Display(Name = "备注(Remark)")] - public string Remark { get; set; } - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartDto.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartDto.cs deleted file mode 100644 index 1f0438f..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartDto.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Application.Dtos; -using Win_in.Sfs.Scp.WebApi.Domain.Shared; - -namespace Win_in.Sfs.Scp.WebApi.SupplierParts -{ - /// - /// ӦDTO(Supplier part DTO) - /// - public class SupplierPartDTO : EntityDtoBase - { - /// - /// Ӧ̴(SupplierCode) - /// - [Display(Name = "Ӧ̴(SupplierCode)")] - public string SupplierCode { set; get; } - - /// - /// (PartCode) - /// - [Display(Name = "(PartCode)")] - public string PartCode { set; get; } - - /// - /// Ӧ(SupplierPartCode) - /// - [Display(Name = "Ӧ(SupplierPartCode)")] - public string SupplierPartCode { set; get; } - - /// - /// Ӧ̱λ(SupplierStdPackUom) - /// - [Display(Name = "Ӧ̱λ(SupplierStdPackUom)")] - public string SupplierStdPackUom { get; set; } - - /// - /// Ӧ̱ - /// - [Display(Name = "Ӧ̱(SupplierStdPackQty)")] - public decimal SupplierStdPackQty { get; set; } - - /// - /// ע(Remark) - /// - [Display(Name = "ע(Remark)")] - public string Remark { get; set; } - - /// - /// ص(Site) - /// - [Display(Name = "ص(Site)")] - public string Site { get; set; } - - /// - /// ˾(Company) - /// - [Display(Name = "˾(Company)")] - public string Company { get; set; } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartUpdateDTO.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartUpdateDTO.cs deleted file mode 100644 index 8776f33..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SupplierParts/SupplierPartUpdateDTO.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.ComponentModel.DataAnnotations; -using Win_in.Sfs.Scp.WebApi.SupplierParts; - -namespace Win_in.Sfs.Scp.WebApi.SupplierParts -{ - /// - /// ӦDTO(Supplier Part Update DTO) - /// - public class SupplierPartUpdateDTO : SupplierPartCreateOrUpdateDTOBase - { - /// - /// ʱ(Concurrency Stamp) - /// - [Display(Name = "ʱ(Concurrency Stamp)")] - public string ConcurrencyStamp { get; set; } - - } -} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs deleted file mode 100644 index 878795d..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Volo.Abp.Application; -using Volo.Abp.Modularity; -using Volo.Abp.Authorization; - -namespace Win_in.Sfs.Scp.WebApi -{ - [DependsOn( - typeof(WebApiDomainSharedModule), - typeof(AbpDddApplicationContractsModule), - typeof(AbpAuthorizationModule) - )] - public class WebApiApplicationContractsModule : AbpModule - { - - } -} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj deleted file mode 100644 index 3457f1e..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - netstandard2.0 - Win_in.Sfs.Scp.WebApi - - - - ..\..\host\Win_in.Sfs.Scp.WebApi.HttpApi.Host\bin\Debug\net5.0\Win_in.Sfs.Scp.WebApi.Application.Contracts.xml - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.xml deleted file mode 100644 index 7c6db66..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.xml +++ /dev/null @@ -1,998 +0,0 @@ - - - - Win_in.Sfs.Scp.WebApi.Application.Contracts - - - - - Part接口 - - - - - 零件创建Dto - - - - - 代码(Code) - - - - - 零件创建更新基础Dto - - - - - 名称(Name) - - - - - 描述(Desc1) - - - - - 描述2(Desc2) - - - - - 状态(Status) - - - - - 制造件(IsMakePart) - - - - - 采购件(IsBuyPart) - - - - - 计量单位(Uom) - - - - - ABC类(abcClass) - - - - - 产品类(Product line) - - - - - 类型(Type) - - - - - 种类(Catalog) - - - - - 分组(Group) - - - - - 颜色(Color) - - - - - 配置(Configuration) - - - - - 项目(Project) - - - - - 版本(version) - - - - - 工程变更通知单(Engineering change order) - - - - - 标包计量单位(Standard Pack Uom) - - - - - 标包数量(Standard Pack Qty) - - - - - 替代计量单位(Extra Pack UM) - - - - - 替代包装数量(Extra Pack Qty) - - - - - 地点(Site) - - - - - 公司(Company) - - - - - 零件Dto - - - - - 代码(Code) - - - - - 名称(Name) - - - - - 描述(Desc1) - - - - - 描述2(Desc2) - - - - - 状态(Status) - - - - - 制造件(IsMakePart) - - - - - 采购件(IsBuyPart) - - - - - 计量单位(Uom) - - - - - ABC类(abcClass) - - - - - 产品类(Product line) - - - - - 类型(Type) - - - - - 种类(Catalog) - - - - - 分组(Group) - - - - - 颜色(Color) - - - - - 配置(Configuration) - - - - - 项目(Project) - - - - - 版本(version) - - - - - 工程变更通知单(Engineering change order) - - - - - 标包计量单位(Standard Pack Uom) - - - - - 标包数量(Standard Pack Qty) - - - - - 替代计量单位(Extra Pack UM) - - - - - 替代包装数量(Extra Pack Qty) - - - - - 地点(Site) - - - - - 公司(Company) - - - - - 零件更新Dto - - - - - PO接口 - - - - - 采购订单创建Dto - - - - - 采购订单创建更新基础Dto - - - - - 代码(Code) - - - - - 简称(Name) - - - - - 描述(Description) - - - - - 级别(Rank) - - - - - 地址 - - - - - 国家(Country) - - - - - 城市(City) - - - - - 电话(Phone) - - - - - 传真(Fax) - - - - - 邮编(PostId) - - - - - 联系人(ContactName) - - - - - 货币(Currency) - - - - - 是否激活(IsActive) - - - - - 公司(Company) - - - - - 备注(Remark) - - - - - 采购订单明细表Dto - - - - - 订单号(PoNumber) - - - - - 订单行(PoLine) - - - - - 零件号(PartCode) - - - - - 计量单位(Uom) - - - - - 订单数量(OrderQty) - - - - - 标包计量单位(Standard Pack Uom) - - - - - 标包数量(Standard Pack Qty) - - - - - 供应商计量单位(SupplierPackUom) - - - - - 供应商包装数量(SupplierPackQty) - - - - - 供应商包装转换率(SupplierPackConvertRate) - - - - - 是否寄存订单(IsConsignment) - - - - - 订单行状态(LineStatus) - - - - - 备注(Remark) - - - - - 采购订单主表Dto - - - - - 代码(Code) - - - - - 简称(Name) - - - - - 描述(Description) - - - - - 级别(Rank) - - - - - 地址 - - - - - 国家(Country) - - - - - 城市(City) - - - - - 电话(Phone) - - - - - 传真(Fax) - - - - - 邮编(PostId) - - - - - 联系人(ContactName) - - - - - 货币(Currency) - - - - - 是否激活(IsActive) - - - - - 公司(Company) - - - - - 备注(Remark) - - - - - 采购订单更新Dto - - - - - 发货单号(RcNumber) - - - - - 发货单号(AsnNumber) - - - - - 要货计划单号(RpNumber) - - - - - 订单号(PoNumber) - - - - - 供应商代码(PoNumber) - - - - - 收货单类型(RcType) - - - - - 仓库(Warehouse) - - - - - 收货口(Dock) - - - - - 时间窗口开始(TimeWindowBegin) - - - - - 时间窗口结束(TimeWindowEnd) - - - - - 收货时间(ReceiveTime) - - - - - 地点(Site) - - - - - 公司(Company) - - - - - 订单行(PoLine) - - - - - 零件号(PartCode) - - - - - 批次(Lot) - - - - - 供应商批次(SupplierLot) - - - - - 生产日期(ProductionDate) - - - - - 计量单位(Uom) - - - - - 发货数量(DeliverQty) - - - - - 收货数量(ReceiveQty) - - - - - 标包计量单位(Standard Pack Uom) - - - - - 标包数量(Standard Pack Qty) - - - - - 供应商计量单位(SupplierPackUom) - - - - - 供应商包装数量(SupplierPackQty) - - - - - 供应商包装转换率(SupplierPackConvertRate) - - - - - 备注(Remark) - - - - - 发货单号(RcNumber) - - - - - 发货单号(AsnNumber) - - - - - 要货计划单号(RpNumber) - - - - - 订单号(PoNumber) - - - - - 供应商代码(PoNumber) - - - - - 收货单类型(RcType) - - - - - 仓库(Warehouse) - - - - - 收货口(Dock) - - - - - 时间窗口开始(TimeWindowBegin) - - - - - 时间窗口结束(TimeWindowEnd) - - - - - 收货时间(ReceiveTime) - - - - - 地点(Site) - - - - - 公司(Company) - - - - - 订单行(PoLine) - - - - - 零件号(PartCode) - - - - - 批次(Lot) - - - - - 供应商批次(SupplierLot) - - - - - 生产日期(ProductionDate) - - - - - 计量单位(Uom) - - - - - 发货数量(DeliverQty) - - - - - 收货数量(ReceiveQty) - - - - - 标包计量单位(Standard Pack Uom) - - - - - 标包数量(Standard Pack Qty) - - - - - 供应商计量单位(SupplierPackUom) - - - - - 供应商包装数量(SupplierPackQty) - - - - - 供应商包装转换率(SupplierPackConvertRate) - - - - - 备注(Remark) - - - - - 供应商代码(SupplierCode) - - - - - 零件号(PartCode) - - - - - 供应商零件号(SupplierPartCode) - - - - - 供应商标包计量单位(SupplierStdPackUom) - - - - - 供应商标包数量 - - - - - 备注(Remark) - - - - - 供应商代码(SupplierCode) - - - - - 零件号(PartCode) - - - - - 供应商零件号(SupplierPartCode) - - - - - 供应商标包计量单位(SupplierStdPackUom) - - - - - 供应商标包数量 - - - - - 备注(Remark) - - - - - 代码(Code) - - - - - 简称(Name) - - - - - 描述(Description) - - - - - 级别(Rank) - - - - - 地址 - - - - - 国家(Country) - - - - - 城市(City) - - - - - 电话(Phone) - - - - - 传真(Fax) - - - - - 邮编(PostId) - - - - - 联系人(ContactName) - - - - - 货币(Currency) - - - - - 是否激活(IsActive) - - - - - 公司(Company) - - - - - 备注(Remark) - - - - - 代码(Code) - - - - - 简称(Name) - - - - - 描述(Description) - - - - - 级别(Rank) - - - - - 地址 - - - - - 国家(Country) - - - - - 城市(City) - - - - - 电话(Phone) - - - - - 传真(Fax) - - - - - 邮编(PostId) - - - - - 联系人(ContactName) - - - - - 货币(Currency) - - - - - 是否激活(IsActive) - - - - - 公司(Company) - - - - - 备注(Remark) - - - - diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/ASNs/ASNAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/ASNs/ASNAppService.cs deleted file mode 100644 index 1ced4a4..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/ASNs/ASNAppService.cs +++ /dev/null @@ -1,149 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - /// - /// 发货单服务 - /// - [AllowAnonymous] - [Route("api/scp/asn")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.ScpWebApi)] - public class ASNAppService:CrudAppService, IASNAppService - { - private readonly IASNRepository _asnRepository; - - public ASNAppService(IASNRepository repository) : base(repository) - { - _asnRepository = repository; - - } - - /// - /// 按ID获取发货单(Get ASN by ID) - /// - /// 唯一ID(unique ID) - /// - [HttpGet] - [Route("{id}")] - public override Task GetAsync(Guid id) - { - return base.GetAsync(id); - } - - - /// - /// 按条件获取发货单列表 (Get ASN list by request condition) - /// - /// - /// - [HttpGet] - [Route("")] - public override Task> GetListAsync(RequestDTO requestDTO) - { - return base.GetListAsync(requestDTO); - } - - /// - /// 获取未读ASN列表 (Get unread ASN list) - /// - /// 未读ASN列表 (Unread ASN list) - [HttpGet] - [Route("UnreadList")] - public async Task> GetUnreadListAsync() - { - var unreadList =await _asnRepository.Where(p => p.IsRead == false).ToDynamicListAsync(); - var dtoList = ObjectMapper.Map, List>(unreadList); - return new ListResultDto(dtoList); - } - - /// - /// 新增发货单(Create New ASN) - /// - /// - [HttpPost] - [Route("")] - public override Task CreateAsync(ASNCreateDTO asnCreateDTO) - { - return base.CreateAsync(asnCreateDTO); - } - - /// - /// 修改发货单 (Modify ASN) - /// - /// 唯一ID(unique ID) - /// - [HttpPut] - [Route("{id}")] - public override Task UpdateAsync(Guid id, ASNUpdateDTO asnUpdateDTO) - { - return base.UpdateAsync(id, asnUpdateDTO); - } - - /// - /// 修改ANS读取状态为已读 (Modify isRead status of ASN to true ) - /// - /// 唯一ID(unique ID) - /// ASN - [HttpPost] - [Route("Read")] - public async Task ReadAsync(Guid id) - { - var asn = await _asnRepository.GetAsync(id); - if (asn == null) - { - return null; - } - var dto = await UpdateAsnIsReadAsync(asn,true); - return dto; - } - - private async Task UpdateAsnIsReadAsync(ASN asn,bool isRead) - { - - asn.IsRead = isRead; - var result = await _asnRepository.UpdateAsync(asn); - var dto = ObjectMapper.Map(result); - return dto; - } - - /// - /// 修改ANS读取状态为未读 (Modify isRead status of ASN to false ) - /// - /// 唯一ID(unique ID) - /// ASN - [HttpPost] - [Route("Unread")] - public async Task UnreadAsync(Guid id) - { - var asn = await _asnRepository.GetAsync(id); - if (asn == null) - { - return null; - } - var dto = await UpdateAsnIsReadAsync(asn, false); - return dto; - } - - - /// - /// 删除发货单 (Delete ASN) - /// - /// 唯一ID(unique ID) - /// - [HttpDelete] - [Route("{id}")] - public override Task DeleteAsync(Guid id) - { - return base.DeleteAsync(id); - } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Labels/LabelAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Labels/LabelAppService.cs deleted file mode 100644 index 73ebb31..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Labels/LabelAppService.cs +++ /dev/null @@ -1,90 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Win_in.Sfs.Scp.WebApi.ASNs; - -namespace Win_in.Sfs.Scp.WebApi.ASNs -{ - /* - /// - ///零件服务 - /// - [AllowAnonymous] - [Route("api/SCP/ASNLabel")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.Default)] - - public class ASNLabelAppService : CrudAppService, IASNLabelAppService - { - private readonly IASNLabelRepository _partRepository; - - public ASNLabelAppService(IASNLabelRepository repository) : base(repository) - { - _partRepository = repository; - } - - /// - ///获取一条数据 (Get a piece of data) - /// - /// - /// - [HttpGet] - [Route("{id}")] - public override Task GetAsync(Guid id) - { - return base.GetAsync(id); - } - - - /// - ///获取数据列表 (Get data list) - /// - /// - /// - [HttpGet] - [Route("")] - public override Task> GetListAsync(InputDTO input) - { - return base.GetListAsync(input); - } - - /// - /// 新增实体 (Create New entity) - /// - /// - [HttpPost] - [Route("")] - public override Task CreateAsync(ASNLabelCreateDTO input) - { - return base.CreateAsync(input); - } - - /// - /// 修改实体 (Modify entity) - /// - /// - [HttpPut] - [Route("{id}")] - public override Task UpdateAsync(Guid id, ASNLabelUpdateDTO input) - { - return base.UpdateAsync(id, input); - } - - /// - /// 删除实体 (Delete entity) - /// - /// ID - /// - [HttpDelete] - [Route("{id}")] - public override Task DeleteAsync(Guid id) - { - return base.DeleteAsync(id); - } - } -*/ -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/SupplierParts/SupplierPartAppService.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/SupplierParts/SupplierPartAppService.cs deleted file mode 100644 index 3c3cbdb..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/SupplierParts/SupplierPartAppService.cs +++ /dev/null @@ -1,91 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Win_in.Sfs.Scp.WebApi.Application.Contracts.SupplierParts; - -namespace Win_in.Sfs.Scp.WebApi.SupplierParts -{ - /// - /// 供应商零件服务 - /// - [AllowAnonymous] - [Route("api/scp/supplier-part")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.ScpWebApi)] - public class SupplierPartAppService : CrudAppService, ISupplierPartAppService - { - private readonly ISupplierPartRepository _partRepository; - - public SupplierPartAppService(ISupplierPartRepository repository) : base(repository) - { - _partRepository = repository; - } - - /// - /// 按ID获取供应商零件 (Get supplier part by Id) - /// - /// 唯一ID(unique ID) - /// - [HttpGet] - [Route("{id}")] - public override Task GetAsync(Guid id) - { - return base.GetAsync(id); - } - - - /// - /// 按请求条件获取供应商零件列表 (Get supplier part by request condition) - /// - /// - /// - [HttpGet] - [Route("")] - public override Task> GetListAsync(RequestDTO requestDTO) - { - return base.GetListAsync(requestDTO); - } - - - /// - /// 新增供应商零件(Create supplier part) - /// - /// - /// - [HttpPost] - [Route("")] - public override Task CreateAsync(SupplierPartCreateDTO supplierPartCreateDTO) - { - return base.CreateAsync(supplierPartCreateDTO); - } - - /// - /// 按ID更新供应商零件(Update supplier part by ID) - /// - /// 唯一ID(unique ID) - /// - /// - [HttpPut] - [Route("{id}")] - public override Task UpdateAsync(Guid id, SupplierPartUpdateDTO supplierPartUpdateDTO) - { - return base.UpdateAsync(id, supplierPartUpdateDTO); - } - - /// - /// 按ID删除供应商零件(Delete supplier part by ID) - /// - /// 唯一ID(unique ID) - /// - [HttpDelete] - [Route("{id}")] - public override Task DeleteAsync(Guid id) - { - return base.DeleteAsync(id); - } - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs deleted file mode 100644 index 571b494..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.AutoMapper; -using Volo.Abp.Modularity; -using Volo.Abp.Application; - -namespace Win_in.Sfs.Scp.WebApi -{ - [DependsOn( - typeof(WebApiDomainModule), - typeof(WebApiApplicationContractsModule), - typeof(AbpDddApplicationModule), - typeof(AbpAutoMapperModule) - )] - public class WebApiApplicationModule : AbpModule - { - public override void ConfigureServices(ServiceConfigurationContext context) - { - context.Services.AddAutoMapperObjectMapper(); - Configure(options => - { - options.AddMaps(validate: true); - }); - } - } -} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj deleted file mode 100644 index 35038c2..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - netstandard2.0 - Win_in.Sfs.Scp.WebApi - - - - ..\..\host\Win_in.Sfs.Scp.WebApi.HttpApi.Host\bin\Debug\net5.0\Win_in.Sfs.Scp.WebApi.Application.xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.xml deleted file mode 100644 index 774dedd..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.xml +++ /dev/null @@ -1,235 +0,0 @@ - - - - Win_in.Sfs.Scp.WebApi.Application - - - - - 新增实体 (Create New entity) - - - - - - - 零件服务 - - - - - 获取一条数据 (Get a piece of data) - - - - - - - 获取数据列表 (Get data list) - - - - - - - 新增实体 (Create New entity) - - - - - - 修改实体 (Modify entity) - - - - - - 删除实体 (Delete entity) - - ID - - - - - 采购订单服务 - - - - - 获取一条数据 (Get a piece of data) - - - - - - - 获取数据列表 (Get data list) - - - - - - - 新增实体 (Create New entity) - - - - - - 修改实体 (Modify entity) - - - - - - 删除实体 (Delete entity) - - ID - - - - - 零件服务 - - - - - 获取一条数据 (Get a piece of data) - - - - - - - 获取数据列表 (Get data list) - - - - - - - 新增实体 (Create New entity) - - - - - - 修改实体 (Modify entity) - - - - - - 删除实体 (Delete entity) - - ID - - - - - 零件服务 - - - - - 获取一条数据 (Get a piece of data) - - - - - - - 获取数据列表 (Get data list) - - - - - - - 新增实体 (Create New entity) - - - - - - 修改实体 (Modify entity) - - - - - - 删除实体 (Delete entity) - - ID - - - - - 零件服务 - - - - - 获取一条数据 (Get a piece of data) - - - - - - - 获取数据列表 (Get data list) - - - - - - - 新增实体 (Create New entity) - - - - - - 修改实体 (Modify entity) - - - - - - 删除实体 (Delete entity) - - ID - - - - - 零件实体与Dto相互映射 - - - - - 供应商实体与Dto相互映射 - - - - - 供应商零件实体与Dto相互映射 - - - - - 收货单与退货单明细实体与Dto相互映射 - - - - - 采购订单主表映射 - - - - - 采购订单明细表映射 - - - - diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json deleted file mode 100644 index 1c448f1..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "en", - "texts": { - "MyAccount": "My account", - "SamplePageMessage": "A sample page for the WebApi module" - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json deleted file mode 100644 index 80aa1e6..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "culture": "zh-Hans", - "texts": { - "MyAccount": "我的账户", - "SamplePageMessage": "WebApi模块的示例页面" - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs deleted file mode 100644 index e60c71d..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Volo.Abp.Modularity; -using Volo.Abp.Localization; -using Win_in.Sfs.Scp.WebApi.Localization; -using Volo.Abp.Localization.ExceptionHandling; -using Volo.Abp.Validation; -using Volo.Abp.Validation.Localization; -using Volo.Abp.VirtualFileSystem; - -namespace Win_in.Sfs.Scp.WebApi -{ - [DependsOn( - typeof(AbpValidationModule) - )] - public class WebApiDomainSharedModule : AbpModule - { - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.FileSets.AddEmbedded(); - }); - - Configure(options => - { - options.Resources - .Add("en") - .AddBaseTypes(typeof(AbpValidationResource)) - .AddVirtualJson("/Localization/WebApi"); - }); - - Configure(options => - { - options.MapCodeNamespace("WebApi", typeof(WebApiResource)); - }); - } - } -} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiErrorCodes.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiErrorCodes.cs deleted file mode 100644 index 4899294..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiErrorCodes.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Win_in.Sfs.Scp.WebApi -{ - public static class WebApiErrorCodes - { - //Add your business exception error codes here... - } -} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj deleted file mode 100644 index d19da84..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - netstandard2.0 - Win_in.Sfs.Scp.WebApi - true - - - - - - - - - - - - - - - - - - diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASN.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASN.cs deleted file mode 100644 index cc9e8ad..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASN.cs +++ /dev/null @@ -1,206 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using Volo.Abp; -using Volo.Abp.Domain.Entities.Auditing; -using Volo.Abp.Guids; -using Win_in.Sfs.Scp.WebApi.Domain.Shared; - -namespace Win_in.Sfs.Scp.WebApi -{ - /// - /// 发货单主表 - /// - public class ASN: EntityBase - { - /// - /// 发货单号(ASN Number) - /// - [Display(Name = "发货单号(AsnNumber)")] - public string AsnNumber { set; get; } - - /// - /// 要货计划单号(Request Plan Number) - /// - [Display(Name = "要货计划单号(RpNumber)")] - public string RpNumber { set; get; } - - /// - /// 订单号(Purchase order number) - /// - [Display(Name = "订单号(PoNumber)")] - public string PoNumber { set; get; } - - /// - /// 供应商代码(Supplier code) - /// - [Display(Name = "供应商代码(SupplierCode)")] - public string SupplierCode { set; get; } - - /// - /// 状态(Status) - /// - [Display(Name = "状态(Status)")] - public int Status { set; get; } - - /// - /// 联系人(Contact person) - /// - [Display(Name = "联系人(ContactName)")] - public string ContactName { set; get; } - - /// - /// 联系电话(Contact phone) - /// - [Display(Name = "联系电话(ContactPhone)")] - public string ContactPhone { set; get; } - - /// - /// 版本(Car Number) - /// - [Display(Name = "车牌号(CarNumber)")] - public string CarNumber { set; get; } - - /// - /// 仓库(Warehouse code) - /// - [Display(Name = "仓库(Warehouse)")] - public string Warehouse { set; get; } - - /// - /// 收货口(Warehouse Dock) - /// - [Display(Name = "收货口(Dock)")] - public string Dock { set; get; } - - /// - /// 时间窗口开始(Time Window Begin) - /// - [Display(Name = "时间窗口开始(TimeWindowBegin)")] - public DateTime TimeWindowBegin { set; get; } - - /// - /// 时间窗口结束(Time Window End) - /// - [Display(Name = "时间窗口结束(TimeWindowEnd)")] - public DateTime TimeWindowEnd { set; get; } - - /// - /// 地点(Site) - /// - [Display(Name = "地点(Site)")] - public string Site { set; get; } - - /// - /// 公司(IAC company code) - /// - [Display(Name = "公司(Company)")] - public string Company { set; get; } - - /// - /// 备注(Remark) - /// - [Display(Name = "备注(Remark)")] - public string Remark { set; get; } - - /// - /// 是否已读(IsRead) - /// - [Display(Name = "是否已读(IsRead)")] - public bool IsRead { set; get; } - - - public virtual List Details { get; set; } - - protected ASN() { } - - public ASN(string asnNumber,string rpNumber,string poNumber,string supplierCode, string site, - string company, string warehouse, string dock,DateTime timeWindowBegin,DateTime timeWindowEnd, - string contactName, string contactPhone, string carNumber, string remark) - { - AsnNumber = asnNumber; - RpNumber = rpNumber; - PoNumber = poNumber; - SupplierCode = supplierCode; - Site = site; - Company = company; - Warehouse = warehouse; - Dock = dock; - TimeWindowBegin = timeWindowBegin; - TimeWindowEnd = timeWindowEnd; - ContactName = contactName; - ContactPhone = contactPhone; - CarNumber = carNumber; - Remark = remark; - Status = 0;//TODO 改成枚举 - IsRead = false; - Details = new List(); - - } - - #region details handler - public virtual void AddDetail(IGuidGenerator guidGenerator, ASNDetail detail) - { - Check.NotNull(guidGenerator, nameof(guidGenerator)); - Check.NotNull(detail, nameof(ASNDetail)); - if (IsInDetails(detail.PoNumber, detail.PoLine)) - { - throw new Exception(detail.PoNumber + detail.PoLine + "已经在明细中存在!"); - } - - Details.Add(new ASNDetail(guidGenerator.Create(), detail.AsnNumber, detail.PoNumber, detail.PoLine, detail.PartCode, detail.Lot, detail.SupplierLot, detail.ProductionDate, - detail.Uom, detail.DeliverQty, detail.StdPackUom, detail.StdPackQty, detail.SupplierPackUom,detail.SupplierPackQty,detail.SupplierPackConvertRate, detail.LabelCode,detail.BarCode,detail.PalletLabelCode)); - - } - - public virtual void AddDetails(IGuidGenerator guidGenerator, IEnumerable details) - { - Check.NotNull(guidGenerator, nameof(guidGenerator)); - foreach (var detail in details) - { - AddDetail(guidGenerator, detail); - } - } - - - - public virtual bool IsInDetails(string ponumber, string poline) - { - return Details.Any(di => di.PoNumber == ponumber && di.PoLine == poline); - } - - public virtual bool IsInDetails(Guid itemId) - { - return Details.Any(di => di.Id == itemId); - } - - public virtual bool UpdateDetail(IGuidGenerator guidGenerator, ASNDetail detail) - { - Check.NotNull(detail, nameof(ASNDetail)); - - var item = FindDetail(detail.Id); - - if (item == null) - { - AddDetail(guidGenerator, detail); - } - else - { - Check.NotNull(item, nameof(ASNDetail)); - - //item.Set(detail.Remark, detail.Enabled); - - } - return true; - } - - public virtual ASNDetail FindDetail(Guid itemId) - { - var item = Details.FirstOrDefault(p => p.Id == itemId); - return item; - } - - #endregion - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASNDetail.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASNDetail.cs deleted file mode 100644 index 1f82fa4..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/ASNDetail.cs +++ /dev/null @@ -1,141 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Domain.Entities.Auditing; -using Win_in.Sfs.Scp.WebApi.Domain.Shared; - -namespace Win_in.Sfs.Scp.WebApi -{ - /// - /// 发货单明细 - /// - public class ASNDetail: EntityDetailBase - { - /// - /// 发货单号(ASN Number) - /// - [Display(Name = "发货单号(AsnNumber)")] - public string AsnNumber { set; get; } - - /// - /// 订单号(Purchase order number) - /// - [Display(Name = "订单号(PoNumber)")] - public string PoNumber { set; get; } - - /// - /// 订单行(Purchase order Line) - /// - [Display(Name = "订单行(PoLine)")] - public string PoLine { set; get; } - - /// - /// 零件号(PartCode) - /// - [Display(Name = "零件号(PartCode)")] - public string PartCode { set; get; } - - /// - /// 批次(Lot number) - /// - [Display(Name = "批次(Lot)")] - public string Lot { set; get; } - - /// - /// 供应商批次(Supplier Lot) - /// - [Display(Name = "供应商批次(SupplierLot)")] - public string SupplierLot { set; get; } - - /// - /// 生产日期(Produce Date) - /// - [Display(Name = "生产日期(ProductionDate)")] - public DateTime ProductionDate { set; get; } - - /// - /// 计量单位(Unit of measure) - /// - [Display(Name = "计量单位(Uom)")] - public string Uom { set; get; } - - /// - /// 发货数量(Delivery quantity) - /// - [Display(Name = "发货数量(DeliverQty)")] - public decimal DeliverQty { set; get; } - - /// - /// 标包计量单位(standard package um) - /// - [Display(Name = "标包计量单位(Standard Pack Uom)")] - public string StdPackUom { set; get; } - - /// - /// 标包数量(standard package quantity) - /// - [Display(Name = "标包数量(Standard Pack Qty)")] - public decimal StdPackQty { set; get; } - - /// - /// 供应商计量单位(Supplier UM) - /// - [Display(Name = "供应商计量单位(SupplierPackUom)")] - public string SupplierPackUom { set; get; } - - /// - /// 供应商包装数量(Supplier package UM) - /// - [Display(Name = "供应商包装数量(SupplierPackQty)")] - public decimal SupplierPackQty { set; get; } - - /// - /// 供应商包装转换率(UM conversion) - /// - [Display(Name = "供应商包装转换率(SupplierPackConvertRate)")] - public decimal SupplierPackConvertRate { set; get; } - - /// - /// 标签代码(LabelCode) - /// - [Display(Name = "标签代码(LabelCode)")] - public string LabelCode { set; get; } - - /// - /// 完整条码数据(BarCode) - /// - [Display(Name = "完整条码数据(BarCode)")] - public string BarCode { set; get; } - - /// - /// 托标签号(PalletLabelCode) - /// - [Display(Name = "托标签号(PalletLabelCode)")] - public string PalletLabelCode { set; get; } - - - protected ASNDetail() { } - - public ASNDetail( - Guid id, string asnNumber,string poNumber, string poLine, string partCode, string lot, string supplierLot, DateTime productionDate, string uom,decimal deliverQty, - string stdPackUom, decimal stdPackQty, string supplierPackUom, decimal supplierPackQty, decimal supplierPackConvertRate,string labelCode,string barCode,string palletLabelCode) : base(id) - { - AsnNumber = asnNumber; - PoNumber = poNumber; - PoLine = poLine; - PartCode = partCode; - Lot = lot; - SupplierLot = supplierLot; - ProductionDate = productionDate; - Uom = uom; - DeliverQty = deliverQty; - StdPackUom = stdPackUom; - StdPackQty = stdPackQty; - SupplierPackUom = supplierPackUom; - SupplierPackQty = supplierPackQty; - SupplierPackConvertRate = supplierPackConvertRate; - LabelCode = labelCode; - BarCode = barCode; - PalletLabelCode = palletLabelCode; - } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/IASNRepository.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/IASNRepository.cs deleted file mode 100644 index 8d2479b..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/ASNs/IASNRepository.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; -using Volo.Abp.Domain.Repositories; -namespace Win_in.Sfs.Scp.WebApi -{ - public interface IASNRepository : IRepository - { - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/Label.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/Label.cs deleted file mode 100644 index 433ba60..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/Label.cs +++ /dev/null @@ -1,145 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Domain.Entities.Auditing; -using Win_in.Sfs.Scp.WebApi.Domain.Shared; - -namespace Win_in.Sfs.Scp.WebApi -{ - /// - /// 标签表 - /// - public class Label:EntityBase - { - /// - /// 标签代码(Label code) - /// - [Display(Name = "标签代码(LabelCode)")] - public string LabelCode { get;set;} - - /// - /// 完整条码数据(Full Barcode string) - /// - [Display(Name = "完整条码数据(Barcode)")] - public string Barcode { get;set;} - - /// - /// 零件号(Part code) - /// - [Display(Name = "零件号(PartCode)")] - public string PartCode { get;set;} - - /// - /// 零件名称(Part Name) - /// - [Display(Name = "零件名称(PartName)")] - public string PartName { get;set;} - - /// - /// 零件描述(Part desc) - /// - [Display(Name = "零件描述(PartDesc)")] - public string PartDesc { get;set;} - - /// - /// 批次(Lot number) - /// - [Display(Name = "批次(Lot)")] - public bool Lot { get;set;} - - /// - /// 计量单位(UM) - /// - [Display(Name = "计量单位(Uom)")] - public bool Uom { get;set;} - - /// - /// 数量(Label quantity) - /// - [Display(Name = "数量(Qty)")] - public decimal Qty { get;set;} - - /// - /// 标包计量单位(Package UM) - /// - [Display(Name = "标包计量单位(Standard Pack Uom)")] - public string StdPackUom { get;set;} - - /// - /// 标包数量(Package quantity) - /// - [Display(Name = "标包数量(Standard Pack Qty)")] - public decimal StdPackQty { get;set;} - - /// - /// 供应商代码(Supplier Code) - /// - [Display(Name = "供应商代码(SupplierCode)")] - public string SupplierCode { get;set;} - - /// - /// 供应商名称(Supplier Name) - /// - [Display(Name = "供应商名称(SupplierName)")] - public string SupplierName { get;set;} - - /// - /// 订单号(Purchase order number) - /// - [Display(Name = "订单号(PoNumber)")] - public string PoNumber { get;set;} - - /// - /// 订单行(Purchase order Line) - /// - [Display(Name = "订单行(PoLine)")] - public string PoLine { get;set;} - - /// - /// 发货单号(ASN Number) - /// - [Display(Name = "发货单号(AsnNumber)")] - public string AsnNumber { get;set;} - - /// - /// 要货计划单号(Plan number) - /// - [Display(Name = "要货计划单号(RpNumber)")] - public string RpNumber { get;set;} - - /// - /// 供应商批次(Supplier Lot) - /// - [Display(Name = "供应商批次(SupplierLot)")] - public string SupplierLot { get;set;} - - /// - /// 生产日期(Produce Date) - /// - [Display(Name = "生产日期(ProductionDate)")] - public DateTime ProductionDate { get;set;} - - /// - /// 托标签号(Pallet label number) - /// - [Display(Name = "托标签号(PalletLabelCode)")] - public decimal PalletLabelCode { get;set;} - - /// - /// 地点(site) - /// - [Display(Name = "地点(Site)")] - public string Site { get;set;} - - /// - /// 公司(IAC company code) - /// - [Display(Name = "公司(Company)")] - public decimal Company { get;set;} - - /// - /// 备注(Remark) - /// - [Display(Name = "备注(Remark)")] - public string Remark { get;set;} - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs deleted file mode 100644 index 31fa6c1..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Win_in.Sfs.Scp.WebApi.Settings -{ - public static class WebApiSettings - { - public const string GroupName = "ScpWebApi"; - - /* Add constants for setting names. Example: - * public const string MySettingName = GroupName + ".MySettingName"; - */ - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/SupplierPart.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/SupplierPart.cs deleted file mode 100644 index d550ae2..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/SupplierPart.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Domain.Entities.Auditing; -using Win_in.Sfs.Scp.WebApi.Domain.Shared; - -namespace Win_in.Sfs.Scp.WebApi -{ - /// - /// 供应商零件表 - /// - public class SupplierPart: EntityBase - { - /// - /// 供应商代码(SupplierCode) - /// - [Display(Name = "供应商代码(SupplierCode)")] - public string SupplierCode { set; get; } - - /// - /// 零件号(PartCode) - /// - [Display(Name = "零件号(PartCode)")] - public string PartCode { set; get; } - - /// - /// 供应商零件号(SupplierPartCode) - /// - [Display(Name = "供应商零件号(SupplierPartCode)")] - public string SupplierPartCode { set; get; } - - /// - /// 供应商标包计量单位(SupplierStdPackUom) - /// - [Display(Name = "供应商标包计量单位(SupplierStdPackUom)")] - public string SupplierStdPackUom { get; set; } - - /// - /// 供应商标包数量 - /// - [Display(Name = "供应商标包数量(SupplierStdPackQty)")] - public decimal SupplierStdPackQty { get; set; } - - /// - /// 备注(Remark) - /// - [Display(Name = "备注(Remark)")] - public string Remark { get; set; } - - /// - /// 地点(Site) - /// - [Display(Name = "地点")] - public string Site { get; set; } - - /// - /// 公司(Company) - /// - [Display(Name = "公司")] - public string Company { get; set; } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs deleted file mode 100644 index 7793994..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using Volo.Abp.Domain.Repositories; - -namespace Win_in.Sfs.Scp.WebApi -{ - public interface ISupplierRepository : IRepository - { - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs deleted file mode 100644 index a333ae5..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Volo.Abp.Domain; -using Volo.Abp.Modularity; - -namespace Win_in.Sfs.Scp.WebApi -{ - [DependsOn( - typeof(AbpDddDomainModule), - typeof(WebApiDomainSharedModule) - )] - public class WebApiDomainModule : AbpModule - { - - } -} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj deleted file mode 100644 index 44ddc23..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - netstandard2.0 - Win_in.Sfs.Scp.WebApi - - - - - - - - - - - - - - - - - - - - diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs deleted file mode 100644 index 407898f..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Volo.Abp.Data; -using Volo.Abp.EntityFrameworkCore; - -namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore -{ - [ConnectionStringName(WebApiDbProperties.ConnectionStringName)] - public class WebApiDbContext : AbpDbContext, IWebApiDbContext - { - /* Add DbSet for each Aggregate Root here. Example: - * public DbSet Questions { get; set; } - */ - - - public virtual DbSet Parts { get; set; } - public virtual DbSet Suppliers { get; set; } - public virtual DbSet PurchaseOrders { get; set; } - public virtual DbSet Receipts { get; set; } - - public WebApiDbContext(DbContextOptions options) - : base(options) - { - - } - - protected override void OnModelCreating(ModelBuilder builder) - { - base.OnModelCreating(builder); - - builder.ConfigureWebApi(); - } - - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs deleted file mode 100644 index a70de53..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.Modularity; - -namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore -{ - [DependsOn( - typeof(WebApiDomainModule), - typeof(AbpEntityFrameworkCoreModule) - )] - public class WebApiEntityFrameworkCoreModule : AbpModule - { - public override void ConfigureServices(ServiceConfigurationContext context) - { - context.Services.AddAbpDbContext(options => - { - /* Add custom repositories here. Example: - * options.AddRepository(); - */ - - options.AddRepository(); - options.AddRepository(); - options.AddRepository(); - options.AddRepository(); - }); - } - } -} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj deleted file mode 100644 index dabb4b8..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - netstandard2.1 - Win_in.Sfs.Scp.WebApi - - - - - - - - diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xml b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xsd b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/WebApiHttpApiModule.cs b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/WebApiHttpApiModule.cs deleted file mode 100644 index 96859a5..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/WebApiHttpApiModule.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Localization.Resources.AbpUi; -using Win_in.Sfs.Scp.WebApi.Localization; -using Volo.Abp.AspNetCore.Mvc; -using Volo.Abp.Localization; -using Volo.Abp.Modularity; -using Microsoft.Extensions.DependencyInjection; - -namespace Win_in.Sfs.Scp.WebApi -{ - [DependsOn( - - typeof(WebApiApplicationContractsModule), - typeof(AbpAspNetCoreMvcModule))] - public class WebApiHttpApiModule : AbpModule - { - public override void PreConfigureServices(ServiceConfigurationContext context) - { - PreConfigure(mvcBuilder => - { - mvcBuilder.AddApplicationPartIfNotExists(typeof(WebApiHttpApiModule).Assembly); - }); - } - - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.Resources - .Get() - .AddBaseTypes(typeof(AbpUiResource)); - }); - - Configure(options => - { - options - .ConventionalControllers - .Create(typeof(WebApiApplicationModule).Assembly); - }); - - } - } -} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/Win_in.Sfs.Scp.WebApi.HttpApi.csproj b/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/Win_in.Sfs.Scp.WebApi.HttpApi.csproj deleted file mode 100644 index 17ab13b..0000000 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi/Win_in.Sfs.Scp.WebApi.HttpApi.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - net5.0 - Win_in.Sfs.Scp.WebApi - - - - - - - - - - - - - diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xml b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xsd b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/WebApiApplicationTestBase.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/WebApiApplicationTestBase.cs deleted file mode 100644 index a5f14fb..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Application.Tests/WebApiApplicationTestBase.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Win_in.Sfs.Scp.WebApi -{ - /* Inherit from this class for your application layer tests. - * See SampleAppService_Tests for example. - */ - public abstract class WebApiApplicationTestBase : WebApiTestBase - { - - } -} \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xml b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xsd b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/Samples/SampleManager_Tests.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/Samples/SampleManager_Tests.cs deleted file mode 100644 index 9a911be..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/Samples/SampleManager_Tests.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.Threading.Tasks; -using Xunit; - -namespace Win_in.Sfs.Scp.WebApi.Samples -{ - public class SampleManager_Tests : WebApiDomainTestBase - { - //private readonly SampleManager _sampleManager; - - public SampleManager_Tests() - { - //_sampleManager = GetRequiredService(); - } - - [Fact] - public async Task Method1Async() - { - - } - } -} diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/WebApiDomainTestBase.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/WebApiDomainTestBase.cs deleted file mode 100644 index 3145c52..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.Domain.Tests/WebApiDomainTestBase.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Win_in.Sfs.Scp.WebApi -{ - /* Inherit from this class for your domain layer tests. - * See SampleManager_Tests for example. - */ - public abstract class WebApiDomainTestBase : WebApiTestBase - { - - } -} \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs deleted file mode 100644 index f6f2d7d..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Win_in.Sfs.Scp.WebApi.Samples; - -namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Samples -{ - public class SampleRepository_Tests : SampleRepository_Tests - { - /* Don't write custom repository tests here, instead write to - * the base class. - * One exception can be some specific tests related to EF core. - */ - } -} diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestBase.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestBase.cs deleted file mode 100644 index d2c196a..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestBase.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore -{ - /* This class can be used as a base class for EF Core integration tests, - * while SampleRepository_Tests uses a different approach. - */ - public abstract class WebApiEntityFrameworkCoreTestBase : WebApiTestBase - { - - } -} \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestModule.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestModule.cs deleted file mode 100644 index 632ca31..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/EntityFrameworkCore/WebApiEntityFrameworkCoreTestModule.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Microsoft.Data.Sqlite; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore.Sqlite; -using Volo.Abp.Modularity; - -namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore -{ - [DependsOn( - typeof(WebApiTestBaseModule), - typeof(WebApiEntityFrameworkCoreModule), - typeof(AbpEntityFrameworkCoreSqliteModule) - )] - public class WebApiEntityFrameworkCoreTestModule : AbpModule - { - public override void ConfigureServices(ServiceConfigurationContext context) - { - var sqliteConnection = CreateDatabaseAndGetConnection(); - - Configure(options => - { - options.Configure(abpDbContextConfigurationContext => - { - abpDbContextConfigurationContext.DbContextOptions.UseSqlite(sqliteConnection); - }); - }); - } - - private static SqliteConnection CreateDatabaseAndGetConnection() - { - var connection = new SqliteConnection("Data Source=:memory:"); - connection.Open(); - - new WebApiDbContext( - new DbContextOptionsBuilder().UseSqlite(connection).Options - ).GetService().CreateTables(); - - return connection; - } - } -} diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xml b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xsd b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xml b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xml deleted file mode 100644 index be0de3a..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xsd b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xsd deleted file mode 100644 index 3f3946e..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/FodyWeavers.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - - \ No newline at end of file diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/Samples/SampleRepository_Tests.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/Samples/SampleRepository_Tests.cs deleted file mode 100644 index f1f20ac..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/Samples/SampleRepository_Tests.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System.Threading.Tasks; -using Volo.Abp.Modularity; -using Xunit; - -namespace Win_in.Sfs.Scp.WebApi.Samples -{ - /* Write your custom repository tests like that, in this project, as abstract classes. - * Then inherit these abstract classes from EF Core & MongoDB test projects. - * In this way, both database providers are tests with the same set tests. - */ - public abstract class SampleRepository_Tests : WebApiTestBase - where TStartupModule : IAbpModule - { - //private readonly ISampleRepository _sampleRepository; - - protected SampleRepository_Tests() - { - //_sampleRepository = GetRequiredService(); - } - - [Fact] - public async Task Method1Async() - { - - } - } -} diff --git a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/WebApiDataSeedContributor.cs b/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/WebApiDataSeedContributor.cs deleted file mode 100644 index ff8f6b8..0000000 --- a/ScpWebApiService/test/Win_in.Sfs.Scp.WebApi.TestBase/WebApiDataSeedContributor.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Threading.Tasks; -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Guids; -using Volo.Abp.MultiTenancy; - -namespace Win_in.Sfs.Scp.WebApi -{ - public class WebApiDataSeedContributor : IDataSeedContributor, ITransientDependency - { - private readonly IGuidGenerator _guidGenerator; - private readonly ICurrentTenant _currentTenant; - - public WebApiDataSeedContributor( - IGuidGenerator guidGenerator, ICurrentTenant currentTenant) - { - _guidGenerator = guidGenerator; - _currentTenant = currentTenant; - } - - public Task SeedAsync(DataSeedContext context) - { - /* Instead of returning the Task.CompletedTask, you can insert your test data - * at this point! - */ - - using (_currentTenant.Change(context?.TenantId)) - { - return Task.CompletedTask; - } - } - } -} diff --git a/ScpWebApiService/.gitattributes b/WebApiService/.gitattributes similarity index 100% rename from ScpWebApiService/.gitattributes rename to WebApiService/.gitattributes diff --git a/ScpWebApiService/.gitignore b/WebApiService/.gitignore similarity index 92% rename from ScpWebApiService/.gitignore rename to WebApiService/.gitignore index a667592..50f3bef 100644 --- a/ScpWebApiService/.gitignore +++ b/WebApiService/.gitignore @@ -252,8 +252,11 @@ paket-files/ *.sln.iml # WebApi -host/Win_in.Sfs.Scp.WebApi.IdentityServer/Logs/logs.txt -host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Logs/logs.txt -host/Win_in.Sfs.Scp.WebApi.Web.Host/Logs/logs.txt -host/Win_in.Sfs.Scp.WebApi.Web.Unified/Logs/logs.txt -host/Win_in.Sfs.Scp.WebApi.Blazor.Server.Host/Logs/logs.txt \ No newline at end of file +src/Win_in.Sfs.Scp.WebApi.Web/Logs/* +src/Win_in.Sfs.Scp.WebApi.Web.Host/Logs/* +src/Win_in.Sfs.Scp.WebApi.IdentityServer/Logs/* +src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Logs/* +src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Logs/* +src/Win_in.Sfs.Scp.WebApi.DbMigrator/Logs/* +src/Win_in.Sfs.Scp.WebApi.Blazor.Server/Logs/* +src/Win_in.Sfs.Scp.WebApi.Blazor.Server.Tiered/Logs/* \ No newline at end of file diff --git a/ScpWebApiService/.prettierrc b/WebApiService/.prettierrc similarity index 100% rename from ScpWebApiService/.prettierrc rename to WebApiService/.prettierrc diff --git a/ScpWebApiService/NuGet.Config b/WebApiService/NuGet.Config similarity index 100% rename from ScpWebApiService/NuGet.Config rename to WebApiService/NuGet.Config diff --git a/WebApiService/Win_in.Sfs.Scp.WebApi.sln b/WebApiService/Win_in.Sfs.Scp.WebApi.sln new file mode 100644 index 0000000..fbe623c --- /dev/null +++ b/WebApiService/Win_in.Sfs.Scp.WebApi.sln @@ -0,0 +1,123 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29020.237 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain", "src\Win_in.Sfs.Scp.WebApi.Domain\Win_in.Sfs.Scp.WebApi.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application", "src\Win_in.Sfs.Scp.WebApi.Application\Win_in.Sfs.Scp.WebApi.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.EntityFrameworkCore", "src\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-70F4-4E06-B468-8F87850B22BE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application.Tests", "test\Win_in.Sfs.Scp.WebApi.Application.Tests\Win_in.Sfs.Scp.WebApi.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain.Shared", "src\Win_in.Sfs.Scp.WebApi.Domain.Shared\Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Application.Contracts", "src\Win_in.Sfs.Scp.WebApi.Application.Contracts\Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi", "src\Win_in.Sfs.Scp.WebApi.HttpApi\Win_in.Sfs.Scp.WebApi.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi.Client", "src\Win_in.Sfs.Scp.WebApi.HttpApi.Client\Win_in.Sfs.Scp.WebApi.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests", "test\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests\Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests.csproj", "{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.TestBase", "test\Win_in.Sfs.Scp.WebApi.TestBase\Win_in.Sfs.Scp.WebApi.TestBase.csproj", "{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.Domain.Tests", "test\Win_in.Sfs.Scp.WebApi.Domain.Tests\Win_in.Sfs.Scp.WebApi.Domain.Tests.csproj", "{E512F4D9-9375-480F-A2F6-A46509F9D824}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp", "test\Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp\Win_in.Sfs.Scp.WebApi.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.DbMigrator", "src\Win_in.Sfs.Scp.WebApi.DbMigrator\Win_in.Sfs.Scp.WebApi.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Win_in.Sfs.Scp.WebApi.HttpApi.Host", "src\Win_in.Sfs.Scp.WebApi.HttpApi.Host\Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj", "{748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.Build.0 = Release|Any CPU + {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.Build.0 = Release|Any CPU + {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.Build.0 = Release|Any CPU + {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.Build.0 = Release|Any CPU + {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.Build.0 = Debug|Any CPU + {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.ActiveCfg = Release|Any CPU + {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.Build.0 = Release|Any CPU + {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.Build.0 = Release|Any CPU + {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.Build.0 = Release|Any CPU + {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.Build.0 = Release|Any CPU + {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.Build.0 = Release|Any CPU + {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.Build.0 = Release|Any CPU + {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.Build.0 = Release|Any CPU + {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.Build.0 = Release|Any CPU + {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.Build.0 = Release|Any CPU + {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {554AD327-6DBA-4F8F-96F8-81CE7A0C863F} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {1A94A50E-06DC-43C1-80B5-B662820EC3EB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {C956DD76-69C8-4A9C-83EA-D17DF83340FD} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {50B2631D-129C-47B3-A587-029CCD6099BC} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} + {42F719ED-8413-4895-B5B4-5AB56079BC66} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {520659C8-C734-4298-A3DA-B539DB9DFC0B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {4164BDF7-F527-4E85-9CE6-E3C2D7426A27} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {3B5A0094-670D-4BB1-BFDD-61B88A8773DC} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} + {91853F21-9CD9-4132-BC29-A7D5D84FFFE7} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} + {E512F4D9-9375-480F-A2F6-A46509F9D824} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} + {EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} + {AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F} + EndGlobalSection +EndGlobal diff --git a/ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings b/WebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings similarity index 89% rename from ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings rename to WebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings index 57aeeef..cb0b2c9 100644 --- a/ScpWebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings +++ b/WebApiService/Win_in.Sfs.Scp.WebApi.sln.DotSettings @@ -19,8 +19,5 @@ True False False - ASN - DTO - PO SQL \ No newline at end of file diff --git a/WebApiService/common.props b/WebApiService/common.props new file mode 100644 index 0000000..6ef9bae --- /dev/null +++ b/WebApiService/common.props @@ -0,0 +1,15 @@ + + + latest + 1.0.0 + $(NoWarn);CS1591 + app + + + + + $(NoWarn);0436 + + + + \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/CreatePartDtoValidator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/CreatePartDtoValidator.cs new file mode 100644 index 0000000..0237543 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/CreatePartDtoValidator.cs @@ -0,0 +1,26 @@ +using FluentValidation; + +namespace Win_in.Sfs.Scp.WebApi; + +public class CreatePartDtoValidator : AbstractValidator +{ + public CreatePartDtoValidator() + { + RuleFor(x => x.Code).MaximumLength(64).NotEmpty(); + RuleFor(x => x.Name).MaximumLength(64).NotEmpty(); + RuleFor(x => x.Desc1).MaximumLength(1024); + RuleFor(x => x.Desc2).MaximumLength(1024); + RuleFor(x => x.Status).MaximumLength(64).NotEmpty(); + RuleFor(x => x.IsMakePart).NotEmpty(); + RuleFor(x => x.IsBuyPart).NotEmpty(); + RuleFor(x => x.Uom).MaximumLength(64).NotEmpty(); + RuleFor(x => x.AbcClass).MaximumLength(64).NotEmpty(); + RuleFor(x => x.ProductLine).MaximumLength(64); + RuleFor(x => x.Type).MaximumLength(64); + RuleFor(x => x.Catalog).MaximumLength(64); + RuleFor(x => x.Group).MaximumLength(64); + RuleFor(x => x.Version).MaximumLength(64); + RuleFor(x => x.Site).MaximumLength(64).NotEmpty(); + RuleFor(x => x.Company).MaximumLength(64).NotEmpty(); + } +} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs similarity index 90% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs index 35c1492..54d69e2 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/IPartAppService.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; -namespace Win_in.Sfs.Scp.WebApi.Parts +namespace Win_in.Sfs.Scp.WebApi { /// /// Part接口 diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs similarity index 91% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs index e8c1e1c..99bb6e6 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Parts/PartDTO.cs @@ -4,12 +4,12 @@ using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Win_in.Sfs.Scp.WebApi.Domain.Shared; -namespace Win_in.Sfs.Scp.WebApi.Parts +namespace Win_in.Sfs.Scp.WebApi { /// /// 零件DTO(Part DTO) /// - public class PartDTO : EntityDtoBase,IHasExtraProperties + public class PartDTO : EntityDtoBase { /// @@ -46,13 +46,13 @@ namespace Win_in.Sfs.Scp.WebApi.Parts /// 制造件(Can make) /// [Display(Name = "制造件")] - public bool CanMake { get; set; } + public bool IsMakePart { get; set; } /// /// 采购件(Can buy) /// [Display(Name = "采购件")] - public bool CanBuy { get; set; } + public bool IsBuyPart { get; set; } /// /// 计量单位(Uom) @@ -90,6 +90,25 @@ namespace Win_in.Sfs.Scp.WebApi.Parts [Display(Name = "分组")] public string Group { get; set; } + /// + /// 版本(version) + /// + [Display(Name = "版本")] + public string Version { get; set; } + + /// + /// 地点(Site) + /// + [Display(Name = "地点")] + public string Site { get; set; } + + /// + /// 公司(Company) + /// + [Display(Name = "公司")] + public string Company { get; set; } + + /* /// /// 颜色(Color) /// @@ -137,24 +156,7 @@ namespace Win_in.Sfs.Scp.WebApi.Parts /// [Display(Name = "替代包装数量")] public decimal ExtPackQty { get; set; } - - /// - /// 地点(Site) - /// - [Display(Name = "地点")] - public string Site { get; set; } - - /// - /// 公司(Company) - /// - [Display(Name = "公司")] - public string Company { get; set; } - - /// - /// 扩展属性(Extra Properties) - /// - [Display(Name = "扩展属性(Extra Properties)")] - public ExtraPropertyDictionary ExtraProperties { get; set; } + */ } } \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs new file mode 100644 index 0000000..1a6b608 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissionDefinitionProvider.cs @@ -0,0 +1,27 @@ +using Win_in.Sfs.Scp.WebApi.Localization; +using Volo.Abp.Authorization.Permissions; +using Volo.Abp.Localization; + +namespace Win_in.Sfs.Scp.WebApi.Permissions +{ + public class WebApiPermissionDefinitionProvider : PermissionDefinitionProvider + { + public override void Define(IPermissionDefinitionContext context) + { + var scpWebApiGroup = context.AddGroup(WebApiPermissions.GroupName); + //Define your own permissions here. Example: + //myGroup.AddPermission(WebApiPermissions.MyPermission1, L("Permission:MyPermission1")); + + scpWebApiGroup.AddPermission(WebApiPermissions.Part, L("Permission:"+nameof(WebApiPermissions.Part))); + scpWebApiGroup.AddPermission(WebApiPermissions.Supplier, L("Permission:" + nameof(WebApiPermissions.Supplier))); + scpWebApiGroup.AddPermission(WebApiPermissions.Receipt, L("Permission:" + nameof(WebApiPermissions.Receipt))); + scpWebApiGroup.AddPermission(WebApiPermissions.PurchaseOrder, L("Permission:" + nameof(WebApiPermissions.PurchaseOrder))); + scpWebApiGroup.AddPermission(WebApiPermissions.UnplannedReceipt, L("Permission:" + nameof(WebApiPermissions.UnplannedReceipt))); + } + + private static LocalizableString L(string name) + { + return LocalizableString.Create(name); + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs new file mode 100644 index 0000000..3d303ae --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Permissions/WebApiPermissions.cs @@ -0,0 +1,16 @@ +namespace Win_in.Sfs.Scp.WebApi.Permissions +{ + public static class WebApiPermissions + { + public const string GroupName = "WebApi"; + + //Add your own permission names. Example: + //public const string MyPermission1 = GroupName + ".MyPermission1"; + + public const string Part = GroupName + ".Part"; + public const string Supplier = GroupName + ".Supplier"; + public const string Receipt = GroupName + ".Receipt"; + public const string PurchaseOrder = GroupName + ".PurchaseOrder"; + public const string UnplannedReceipt = GroupName + ".UnplannedReceipt"; + } +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/CreatePurchaseOrderValidator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/CreatePurchaseOrderValidator.cs new file mode 100644 index 0000000..219459c --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/CreatePurchaseOrderValidator.cs @@ -0,0 +1,24 @@ +using FluentValidation; + +namespace Win_in.Sfs.Scp.WebApi; + +public class CreatePurchaseOrderValidator : AbstractValidator +{ + public CreatePurchaseOrderValidator() + { + RuleFor(q => q.PoNumber).MaximumLength(64); + RuleFor(q => q.SupplierCode).NotEmpty().MaximumLength(64); + RuleFor(q => q.PoType).NotEmpty().MaximumLength(64); + RuleFor(q => q.Status).NotEmpty(); + RuleFor(q => q.IsConsignment).NotEmpty(); + RuleFor(q => q.OrderDate).NotEmpty(); + RuleFor(q => q.DueDate).NotEmpty(); + RuleFor(q => q.Version).NotEmpty().MaximumLength(64); + RuleFor(q => q.TaxRate).NotEmpty(); + RuleFor(q => q.Site).NotEmpty().MaximumLength(64); + RuleFor(q => q.Company).NotEmpty().MaximumLength(64); + RuleFor(q => q.ContactName).MaximumLength(64); + RuleFor(q => q.ContactPhone).MaximumLength(64); + RuleFor(q => q.Remark).MaximumLength(4096); + } +} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs similarity index 91% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs index 673795a..8914c5c 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/IPurchaseOrderAppService.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; -namespace Win_in.Sfs.Scp.WebApi.POs +namespace Win_in.Sfs.Scp.WebApi { /// /// PO接口 diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs similarity index 93% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs index 8625064..d2b9dca 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDTO.cs @@ -4,7 +4,7 @@ using System.ComponentModel.DataAnnotations; using Volo.Abp.Application.Dtos; using Win_in.Sfs.Scp.WebApi.Domain.Shared; -namespace Win_in.Sfs.Scp.WebApi.POs +namespace Win_in.Sfs.Scp.WebApi { /// /// 采购订单DTO(Purchase order DTO) @@ -61,16 +61,10 @@ namespace Win_in.Sfs.Scp.WebApi.POs public decimal TaxRate { set; get; } /// - /// 地点(Site) + /// 版本(version) /// - [Display(Name = "地点(Site)")] - public string Site { set; get; } - - /// - /// 公司(Company) - /// - [Display(Name = "公司(Company)")] - public string Company { set; get; } + [Display(Name = "版本")] + public string Version { get; set; } /// /// 联系人(ContactName) @@ -90,6 +84,18 @@ namespace Win_in.Sfs.Scp.WebApi.POs [Display(Name = "备注(Remark)")] public string Remark { set; get; } + /// + /// 地点(Site) + /// + [Display(Name = "地点(Site)")] + public string Site { set; get; } + + /// + /// 公司(Company) + /// + [Display(Name = "公司(Company)")] + public string Company { set; get; } + public virtual ICollection Details { get; set; } } diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs similarity index 67% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs index afc8b09..7eb5aca 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/PurchaseOrders/PurchaseOrderDetailDTO.cs @@ -1,9 +1,10 @@ using System; using System.ComponentModel.DataAnnotations; +using FluentValidation; using Volo.Abp.Application.Dtos; using Win_in.Sfs.Scp.WebApi.Domain.Shared; -namespace Win_in.Sfs.Scp.WebApi.POs +namespace Win_in.Sfs.Scp.WebApi { /// /// 采购订单明细DTO(Purchase order detail DTO) @@ -13,76 +14,42 @@ namespace Win_in.Sfs.Scp.WebApi.POs /// /// 订单号(PoNumber) /// - [Required] [Display(Name = "订单号(PoNumber)")] public string PoNumber { set; get; } /// /// 订单行(PoLine) /// - [Required] [Display(Name = "订单行(PoLine)")] public string PoLine { set; get; } /// /// 零件号(PartCode) /// - [Required] [Display(Name = "零件号(PartCode)")] public string PartCode { set; get; } /// /// 计量单位(Uom) /// - [Required] [Display(Name = "计量单位(Uom)")] public string Uom { set; get; } /// /// 订单数量(Order Qty) /// - [Required] [Display(Name = "订单数量(OrderQty)")] public decimal OrderQty { set; get; } - - /// - /// 已关闭数量(Closed Qty) - /// - [Display(Name = "已关闭数量(Closed Qty)")] - public decimal ClosedQty { get; set; } - - /// - /// 标包计量单位(Standard Pack Uom) - /// - [Required] - [Display(Name = "标包计量单位(Standard Pack Uom)")] - public string StdPackUom { set; get; } - /// /// 标包数量(Standard Pack Qty) /// - - [Required] [Display(Name = "标包数量(Standard Pack Qty)")] public decimal StdPackQty { set; get; } - /// - /// 供应商计量单位(SupplierPackUom) - /// - [Display(Name = "供应商计量单位(SupplierPackUom)")] - public string SupplierPackUom { set; get; } - - /// - /// 供应商包装数量(SupplierPackQty) - /// - [Display(Name = "供应商包装数量(SupplierPackQty)")] - public decimal SupplierPackQty { set; get; } - /// /// 供应商包装转换率(SupplierPackConvertRate) /// - [Required] [Display(Name = "供应商包装转换率(SupplierPackConvertRate)")] public decimal SupplierPackConvertRate { set; get; } @@ -95,7 +62,6 @@ namespace Win_in.Sfs.Scp.WebApi.POs /// /// 订单行状态(LineStatus) /// - [Required] [Display(Name = "订单行状态(LineStatus)")] public int LineStatus { set; get; } @@ -105,4 +71,23 @@ namespace Win_in.Sfs.Scp.WebApi.POs [Display(Name = "备注(Remark)")] public string Remark { set; get; } } + + public class CreatePurchaseOrderDetailValidator : AbstractValidator + { + public CreatePurchaseOrderDetailValidator() + { + RuleFor(q => q.PoNumber).NotEmpty().MaximumLength(64); + RuleFor(q => q.PoLine).NotEmpty().MaximumLength(64); + RuleFor(q => q.PartCode).NotEmpty().MaximumLength(64); + RuleFor(q => q.Uom).NotEmpty().MaximumLength(64); + RuleFor(q => q.OrderQty).NotEmpty(); + RuleFor(q => q.StdPackQty).NotEmpty(); + RuleFor(q => q.SupplierPackConvertRate); + RuleFor(q => q.IsConsignment).NotEmpty(); + RuleFor(q => q.LineStatus).NotEmpty(); + RuleFor(q => q.Remark).MaximumLength(4096); + + } + + } } \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/CreateReceiptDtoValidator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/CreateReceiptDtoValidator.cs new file mode 100644 index 0000000..ef0b807 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/CreateReceiptDtoValidator.cs @@ -0,0 +1,29 @@ +using FluentValidation; + +namespace Win_in.Sfs.Scp.WebApi; + +public class CreateReceiptDtoValidator : AbstractValidator +{ + public CreateReceiptDtoValidator() + { + RuleFor(q => q.RcNumber).NotEmpty().MaximumLength(64); + RuleFor(q => q.AsnNumber).NotEmpty().MaximumLength(64); + RuleFor(q => q.PoNumber).MaximumLength(64); + RuleFor(q => q.SupplierCode).NotEmpty().MaximumLength(64); + RuleFor(q => q.RcType).NotEmpty().MaximumLength(64); + RuleFor(q => q.Warehouse).MaximumLength(64); + RuleFor(q => q.Dock).MaximumLength(64); + RuleFor(q => q.ReceiveDate).NotEmpty(); + RuleFor(q => q.ReceiveTime); + RuleFor(q => q.PoLine).MaximumLength(64); + RuleFor(q => q.PartCode).NotEmpty().MaximumLength(64); + RuleFor(q => q.Lot).NotEmpty().MaximumLength(64); + RuleFor(q => q.SupplierLot).NotEmpty(); + RuleFor(q => q.Uom).NotEmpty().MaximumLength(64); + RuleFor(q => q.ReceiveQty).NotEmpty(); + RuleFor(q => q.SupplierPackConvertRate).NotEmpty(); + RuleFor(q => q.Remark).MaximumLength(4096); + RuleFor(q => q.Site).NotEmpty().MaximumLength(64); + RuleFor(q => q.Company).NotEmpty().MaximumLength(64); + } +} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs similarity index 83% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs index a85f2e2..011f7e0 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/IReceiptAppService.cs @@ -3,7 +3,7 @@ using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; -namespace Win_in.Sfs.Scp.WebApi.Receipts +namespace Win_in.Sfs.Scp.WebApi { public interface IReceiptAppService : IReadOnlyAppService { diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs similarity index 65% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs index 0af839d..928e856 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Receipts/ReceiptDTO.cs @@ -3,7 +3,7 @@ using System.ComponentModel.DataAnnotations; using Volo.Abp.Application.Dtos; using Win_in.Sfs.Scp.WebApi.Domain.Shared; -namespace Win_in.Sfs.Scp.WebApi.Receipts +namespace Win_in.Sfs.Scp.WebApi { /// /// 收货单DTO(Receipt DTO) @@ -21,13 +21,7 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts /// [Display(Name = "发货单号(AsnNumber)")] public string AsnNumber { set; get; } - - /// - /// 要货计划单号(RpNumber) - /// - [Display(Name = "要货计划单号(RpNumber)")] - public string RpNumber { set; get; } - + /// /// 订单号(PoNumber) /// @@ -40,6 +34,13 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts [Display(Name = "供应商代码(SupplierCode)")] public string SupplierCode { set; get; } + /// + /// 收货单类型(RcType) + /// + [Display(Name = "收货单类型(RcType)")] + public string RcType { set; get; } + + /// /// 仓库(Warehouse) /// @@ -51,19 +52,7 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts /// [Display(Name = "收货口(Dock)")] public string Dock { set; get; } - - /// - /// 时间窗口开始(TimeWindowBegin) - /// - [Display(Name = "时间窗口开始(TimeWindowBegin)")] - public DateTime TimeWindowBegin { set; get; } - - /// - /// 时间窗口结束(TimeWindowEnd) - /// - [Display(Name = "时间窗口结束(TimeWindowEnd)")] - public DateTime TimeWindowEnd { set; get; } - + /// /// 收货日期(ReceiveDate) /// @@ -76,18 +65,6 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts [Display(Name = "收货时间(ReceiveTime)")] public DateTime ReceiveTime { set; get; } - /// - /// 地点(Site) - /// - [Display(Name = "地点(Site)")] - public string Site { set; get; } - - /// - /// 公司(Company) - /// - [Display(Name = "公司(Company)")] - public string Company { set; get; } - /// /// 订单行(PoLine) /// @@ -112,54 +89,18 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts [Display(Name = "供应商批次(SupplierLot)")] public string SupplierLot { set; get; } - /// - /// 生产日期(ProductionDate) - /// - [Display(Name = "生产日期(ProductionDate)")] - public DateTime ProductionDate { set; get; } - /// /// 计量单位(Uom) /// [Display(Name = "计量单位(Uom)")] public string Uom { set; get; } - - /// - /// 发货数量(DeliverQty) - /// - [Display(Name = "发货数量(DeliverQty)")] - public decimal DeliverQty { set; get; } - + /// /// 收货数量(ReceiveQty) /// [Display(Name = "收货数量(ReceiveQty)")] public decimal ReceiveQty { set; get; } - - /// - /// 标包计量单位(Standard Pack Uom) - /// - [Display(Name = "标包计量单位(Standard Pack Uom)")] - public string StdPackUom { set; get; } - - /// - /// 标包数量(Standard Pack Qty) - /// - [Display(Name = "标包数量(Standard Pack Qty)")] - public decimal StdPackQty { set; get; } - - /// - /// 供应商计量单位(SupplierPackUom) - /// - [Display(Name = "供应商计量单位(SupplierPackUom)")] - public string SupplierPackUom { set; get; } - - /// - /// 供应商包装数量(SupplierPackQty) - /// - [Display(Name = "供应商包装数量(SupplierPackQty)")] - public decimal SupplierPackQty { set; get; } - + /// /// 供应商包装转换率(SupplierPackConvertRate) /// @@ -171,5 +112,17 @@ namespace Win_in.Sfs.Scp.WebApi.Receipts /// [Display(Name = "备注(Remark)")] public string Remark { set; get; } + + /// + /// 地点(Site) + /// + [Display(Name = "地点(Site)")] + public string Site { set; get; } + + /// + /// 公司(Company) + /// + [Display(Name = "公司(Company)")] + public string Company { set; get; } } } \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/RequestDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/RequestDTO.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/RequestDTO.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/RequestDTO.cs diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/CreateSupplierDtoValidator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/CreateSupplierDtoValidator.cs new file mode 100644 index 0000000..c8e01ac --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/CreateSupplierDtoValidator.cs @@ -0,0 +1,27 @@ +using FluentValidation; + +namespace Win_in.Sfs.Scp.WebApi; + +public class CreateSupplierDtoValidator : AbstractValidator +{ + public CreateSupplierDtoValidator() + { + + RuleFor(x => x.Code).MaximumLength(64).NotEmpty(); + RuleFor(x => x.Name).MaximumLength(64).NotEmpty(); + RuleFor(x => x.Desc).MaximumLength(1024); + RuleFor(x => x.Rank).MaximumLength(64); + RuleFor(x => x.Address).MaximumLength(1024); + RuleFor(x => x.Country).MaximumLength(64); + RuleFor(x => x.City).MaximumLength(64); + RuleFor(x => x.Phone).MaximumLength(64); + RuleFor(x => x.Fax).MaximumLength(64); + RuleFor(x => x.PostId).MaximumLength(64); + RuleFor(x => x.ContactName).MaximumLength(64); + RuleFor(x => x.Bank).MaximumLength(64); + RuleFor(x => x.Currency).MaximumLength(64); + RuleFor(x => x.IsActive).NotEmpty(); + RuleFor(x => x.Company).MaximumLength(1024); + RuleFor(x => x.Remark).MaximumLength(4096); + } +} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs similarity index 73% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs index bf879b8..e5ea272 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/ISupplierAppService.cs @@ -2,9 +2,8 @@ using System; using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; -using Win_in.Sfs.Scp.WebApi.Suppliers; -namespace Win_in.Sfs.Scp.WebApi.Suppliers +namespace Win_in.Sfs.Scp.WebApi { public interface ISupplierAppService : IReadOnlyAppService { diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs similarity index 97% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs index bd8d6df..37829e5 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Suppliers/SupplierDTO.cs @@ -1,9 +1,10 @@ using System; using System.ComponentModel.DataAnnotations; using Volo.Abp.Application.Dtos; +using Volo.Abp.Data; using Win_in.Sfs.Scp.WebApi.Domain.Shared; -namespace Win_in.Sfs.Scp.WebApi.Suppliers +namespace Win_in.Sfs.Scp.WebApi { /// /// 供应商DTO(Supplier DTO) @@ -76,6 +77,12 @@ namespace Win_in.Sfs.Scp.WebApi.Suppliers [Display(Name = "联系人(ContactName)")] public string ContactName { set; get; } + /// + /// 银行(Bank) + /// + [Display(Name = "银行(Bank)")] + public string Bank { set; get; } + /// /// 货币(Currency) /// @@ -100,10 +107,6 @@ namespace Win_in.Sfs.Scp.WebApi.Suppliers [Display(Name = "备注(Remark)")] public string Remark { set; get; } - /// - /// 银行(Bank) - /// - [Display(Name = "银行(Bank)")] - public string Bank { set; get; } + } } \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SwaggerGroupConsts.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SwaggerGroupConsts.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SwaggerGroupConsts.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/SwaggerGroupConsts.cs diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/CreateReceiptDtoValidator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/CreateReceiptDtoValidator.cs new file mode 100644 index 0000000..31ea8ba --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/CreateReceiptDtoValidator.cs @@ -0,0 +1,24 @@ +using FluentValidation; + +namespace Win_in.Sfs.Scp.WebApi; + +public class CreateUnplannedReceiptDtoValidator : AbstractValidator +{ + public CreateUnplannedReceiptDtoValidator() + { + RuleFor(q => q.TrNbr).NotEmpty(); + RuleFor(q => q.TrType).NotEmpty().MaximumLength(8); + RuleFor(q => q.Order).MaximumLength(64); + RuleFor(q => q.Location).NotEmpty().MaximumLength(8); + RuleFor(q => q.EffectiveDate).NotEmpty(); + RuleFor(q => q.SystemDate).NotEmpty(); + RuleFor(q => q.PartCode).NotEmpty().MaximumLength(18); + RuleFor(q => q.Lot).NotEmpty().MaximumLength(64); + RuleFor(q => q.Uom).NotEmpty().MaximumLength(8); + RuleFor(q => q.Qty).NotEmpty(); + RuleFor(q => q.SoJob).MaximumLength(20); + RuleFor(q => q.Remark).MaximumLength(4096); + RuleFor(q => q.Site).NotEmpty().MaximumLength(8); + RuleFor(q => q.Company).NotEmpty().MaximumLength(8); + } +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/IUnplannedReceiptAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/IUnplannedReceiptAppService.cs new file mode 100644 index 0000000..ebec16c --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/IUnplannedReceiptAppService.cs @@ -0,0 +1,12 @@ +using System; +using System.Threading.Tasks; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Application.Services; + +namespace Win_in.Sfs.Scp.WebApi +{ + public interface IUnplannedReceiptAppService : IReadOnlyAppService + { + + } +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/UnplannedReceiptDTO.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/UnplannedReceiptDTO.cs new file mode 100644 index 0000000..3be4f7e --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/UnplannedReceipts/UnplannedReceiptDTO.cs @@ -0,0 +1,100 @@ +using System; +using System.ComponentModel.DataAnnotations; +using Volo.Abp.Application.Dtos; +using Win_in.Sfs.Scp.WebApi.Domain.Shared; + +namespace Win_in.Sfs.Scp.WebApi +{ + /// + /// 收货单DTO(Receipt DTO) + /// + public class UnplannedReceiptDTO : EntityDtoBase + { + /// + /// 单号(TrNbr) + /// + [Display(Name = "单号(TrNbr)")] + public long TrNbr { set; get; } + + /// + /// 事务类型(TrType) + /// + [Display(Name = "事务类型(TrType)")] + public string TrType { set; get; } + + /// + /// 订单号(Order) + /// + [Display(Name = "订单号(Order)")] + public string Order { set; get; } + + /// + /// 零件号(PartCode) + /// + [Display(Name = "零件号(PartCode)")] + public string PartCode { set; get; } + + /// + /// 批次(Lot) + /// + [Display(Name = "批次(Lot)")] + public string Lot { set; get; } + + + /// + /// 计量单位(Uom) + /// + [Display(Name = "计量单位(Uom)")] + public string Uom { set; get; } + + /// + /// 数量(Qty) + /// + [Display(Name = "数量(Qty)")] + public decimal Qty { set; get; } + + /// + /// 库位(Location) + /// + [Display(Name = "库位(Location)")] + public string Location { set; get; } + + /// + /// 生效日期(EffectiveDate) + /// + [Display(Name = "生效日期(EffectiveDate)")] + public DateTime EffectiveDate { set; get; } + + /// + /// 系统日期(SystemDate) + /// + [Display(Name = "系统日期(SystemDate)")] + public DateTime SystemDate { set; get; } + + /// + /// 客户单(so job) + /// + [Display(Name = "客户单(so job)")] + + public string SoJob { get; set; } + + + /// + /// 备注(Remark) + /// + [Display(Name = "备注(Remark)")] + public string Remark { set; get; } + + /// + /// 地点(Site) + /// + [Display(Name = "地点(Site)")] + public string Site { set; get; } + + /// + /// 公司(Company) + /// + [Display(Name = "公司(Company)")] + public string Company { set; get; } + } +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs new file mode 100644 index 0000000..26f9fb5 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiApplicationContractsModule.cs @@ -0,0 +1,29 @@ +using Volo.Abp.Account; +using Volo.Abp.FeatureManagement; +using Volo.Abp.Identity; +using Volo.Abp.Modularity; +using Volo.Abp.ObjectExtending; +using Volo.Abp.PermissionManagement; +using Volo.Abp.SettingManagement; +using Volo.Abp.TenantManagement; + +namespace Win_in.Sfs.Scp.WebApi +{ + [DependsOn( + typeof(WebApiDomainSharedModule), + typeof(AbpAccountApplicationContractsModule), + typeof(AbpFeatureManagementApplicationContractsModule), + typeof(AbpIdentityApplicationContractsModule), + typeof(AbpPermissionManagementApplicationContractsModule), + typeof(AbpSettingManagementApplicationContractsModule), + typeof(AbpTenantManagementApplicationContractsModule), + typeof(AbpObjectExtendingModule) + )] + public class WebApiApplicationContractsModule : AbpModule + { + public override void PreConfigureServices(ServiceConfigurationContext context) + { + WebApiDtoExtensions.Configure(); + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiDtoExtensions.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiDtoExtensions.cs new file mode 100644 index 0000000..9290c15 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/WebApiDtoExtensions.cs @@ -0,0 +1,29 @@ +using Volo.Abp.Identity; +using Volo.Abp.ObjectExtending; +using Volo.Abp.Threading; + +namespace Win_in.Sfs.Scp.WebApi +{ + public static class WebApiDtoExtensions + { + private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); + + public static void Configure() + { + OneTimeRunner.Run(() => + { + /* You can add extension properties to DTOs + * defined in the depended modules. + * + * Example: + * + * ObjectExtensionManager.Instance + * .AddOrUpdateProperty("Title"); + * + * See the documentation for more: + * https://docs.abp.io/en/abp/latest/Object-Extensions + */ + }); + } + } +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj new file mode 100644 index 0000000..0b108ef --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application.Contracts/Win_in.Sfs.Scp.WebApi.Application.Contracts.csproj @@ -0,0 +1,31 @@ + + + + + + netstandard2.0 + Win_in.Sfs.Scp.WebApi + True + + + + ..\Win_in.Sfs.Scp.WebApi.HttpApi.Host\bin\Debug\net5.0\Win_in.Sfs.Scp.WebApi.Application.Contracts.xml + + + + + + + + + + + + + + + + + + + diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs similarity index 98% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs index f400db7..7546e87 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Parts/PartAppService.cs @@ -8,7 +8,7 @@ using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Repositories; -namespace Win_in.Sfs.Scp.WebApi.Parts +namespace Win_in.Sfs.Scp.WebApi { /// /// 零件服务 diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Properties/AssemblyInfo.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..bef4ac2 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Properties/AssemblyInfo.cs @@ -0,0 +1,2 @@ +using System.Runtime.CompilerServices; +[assembly:InternalsVisibleToAttribute("Win_in.Sfs.Scp.WebApi.Application.Tests")] diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs similarity index 96% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs index 0ef889b..5619c1e 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/PurchaseOrders/PurchaseOrderAppService.cs @@ -5,9 +5,8 @@ using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; -using Win_in.Sfs.Scp.WebApi.Parts; -namespace Win_in.Sfs.Scp.WebApi.POs +namespace Win_in.Sfs.Scp.WebApi { /// /// 采购订单服务 diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs similarity index 98% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs index 8ce5ede..5f10d53 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Receipts/ReceiptAppService.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; -namespace Win_in.Sfs.Scp.WebApi.Receipts +namespace Win_in.Sfs.Scp.WebApi { /// /// 收货单服务 diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs similarity index 96% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs index 6d38d0c..eaa3d04 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Suppliers/SuppliersAppService.cs @@ -5,9 +5,9 @@ using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; -using Win_in.Sfs.Scp.WebApi.Suppliers; -namespace Win_in.Sfs.Scp.WebApi.Suppliers + +namespace Win_in.Sfs.Scp.WebApi { /// /// 供应商服务 diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/UnplannedReceipts/UnplannedReceiptAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/UnplannedReceipts/UnplannedReceiptAppService.cs new file mode 100644 index 0000000..ffb8ff5 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/UnplannedReceipts/UnplannedReceiptAppService.cs @@ -0,0 +1,76 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Application.Services; + +namespace Win_in.Sfs.Scp.WebApi +{ + /// + /// 收货单服务 + /// + [AllowAnonymous] + [Route("api/scp/unplanned-receipt")] + [ApiExplorerSettings(GroupName = SwaggerGroupConsts.ScpWebApi)] + public class UnplannedReceiptAppService : ReadOnlyAppService, IUnplannedReceiptAppService + { + private readonly IUnplannedReceiptRepository _unplannedReceiptRepository; + + public UnplannedReceiptAppService(IUnplannedReceiptRepository repository) : base(repository) + { + _unplannedReceiptRepository = repository; + } + + + /// + /// 按ID获取收货单 (Get receipt by ID) + /// + /// 唯一ID(unique ID) + /// + [HttpGet] + [Route("{id}")] + public override async Task GetAsync(Guid id) + { + return await base.GetAsync(id); + } + + + /// + /// 按请求条件获取收货单列表(Get receipt list by request condition) + /// + /// 请求条件DTO(Request condition DTO) + /// + [HttpGet] + [Route("")] + public override async Task> GetListAsync(RequestDTO requestDTO) + { + return await base.GetListAsync(requestDTO); + } + + + /// + /// 新增收货单(Create receipt) + /// + /// + /// + [HttpPost] + [Route("")] + public async Task CreateAsync(UnplannedReceiptDTO receiptCreateDTO) + { + var entity = ObjectMapper.Map(receiptCreateDTO); + var ret = await _unplannedReceiptRepository.InsertAsync(entity); + var dto = ObjectMapper.Map(ret); + return dto; + } + /// + /// 按ID修改收货单(Update receipt by ID) + /// + /// 唯一ID(unique ID) + /// + /// + + + } +} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs similarity index 59% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs index 56fdd1a..8df4237 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiAppService.cs @@ -1,14 +1,18 @@ -using Win_in.Sfs.Scp.WebApi.Localization; +using System; +using System.Collections.Generic; +using System.Text; +using Win_in.Sfs.Scp.WebApi.Localization; using Volo.Abp.Application.Services; namespace Win_in.Sfs.Scp.WebApi { + /* Inherit your application services from this class. + */ public abstract class WebApiAppService : ApplicationService { protected WebApiAppService() { LocalizationResource = typeof(WebApiResource); - ObjectMapperContext = typeof(WebApiApplicationModule); } } } diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs similarity index 89% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs index c1956ef..d669d4f 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationAutoMapperProfile.cs @@ -1,8 +1,4 @@ using AutoMapper; -using Win_in.Sfs.Scp.WebApi.Parts; -using Win_in.Sfs.Scp.WebApi.POs; -using Win_in.Sfs.Scp.WebApi.Receipts; -using Win_in.Sfs.Scp.WebApi.Suppliers; namespace Win_in.Sfs.Scp.WebApi { @@ -19,7 +15,7 @@ namespace Win_in.Sfs.Scp.WebApi CreateMapReceipt(); CreateMapPurchaseOrder(); CreateMapPurchaseOrderDetail(); - + CreateMapUnplannedReceipt(); } /// @@ -40,7 +36,7 @@ namespace Win_in.Sfs.Scp.WebApi CreateMap().ReverseMap(); } - + /// /// 收货单与退货单明细实体与Dto映射 /// @@ -68,5 +64,10 @@ namespace Win_in.Sfs.Scp.WebApi { CreateMap().ReverseMap(); } + + private void CreateMapUnplannedReceipt() + { + CreateMap().ReverseMap(); + } } -} \ No newline at end of file +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs new file mode 100644 index 0000000..f3ecaf6 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/WebApiApplicationModule.cs @@ -0,0 +1,32 @@ +using Volo.Abp.Account; +using Volo.Abp.AutoMapper; +using Volo.Abp.FeatureManagement; +using Volo.Abp.Identity; +using Volo.Abp.Modularity; +using Volo.Abp.PermissionManagement; +using Volo.Abp.SettingManagement; +using Volo.Abp.TenantManagement; + +namespace Win_in.Sfs.Scp.WebApi +{ + [DependsOn( + typeof(WebApiDomainModule), + typeof(AbpAccountApplicationModule), + typeof(WebApiApplicationContractsModule), + typeof(AbpIdentityApplicationModule), + typeof(AbpPermissionManagementApplicationModule), + typeof(AbpTenantManagementApplicationModule), + typeof(AbpFeatureManagementApplicationModule), + typeof(AbpSettingManagementApplicationModule) + )] + public class WebApiApplicationModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.AddMaps(); + }); + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj new file mode 100644 index 0000000..4fa7c30 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Application/Win_in.Sfs.Scp.WebApi.Application.csproj @@ -0,0 +1,30 @@ + + + + + + net5.0 + Win_in.Sfs.Scp.WebApi + True + + + + ..\Win_in.Sfs.Scp.WebApi.HttpApi.Host\bin\Debug\net5.0\Win_in.Sfs.Scp.WebApi.Application.xml + + + + + + + + + + + + + + + + + + diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/DbMigratorHostedService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/DbMigratorHostedService.cs new file mode 100644 index 0000000..b352eac --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/DbMigratorHostedService.cs @@ -0,0 +1,47 @@ +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Win_in.Sfs.Scp.WebApi.Data; +using Serilog; +using Volo.Abp; + +namespace Win_in.Sfs.Scp.WebApi.DbMigrator +{ + public class DbMigratorHostedService : IHostedService + { + private readonly IHostApplicationLifetime _hostApplicationLifetime; + private readonly IConfiguration _configuration; + + public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime, IConfiguration configuration) + { + _hostApplicationLifetime = hostApplicationLifetime; + _configuration = configuration; + } + + public async Task StartAsync(CancellationToken cancellationToken) + { + using (var application = AbpApplicationFactory.Create(options => + { + options.Services.ReplaceConfiguration(_configuration); + options.UseAutofac(); + options.Services.AddLogging(c => c.AddSerilog()); + })) + { + application.Initialize(); + + await application + .ServiceProvider + .GetRequiredService() + .MigrateAsync(); + + application.Shutdown(); + + _hostApplicationLifetime.StopApplication(); + } + } + + public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask; + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Program.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Program.cs new file mode 100644 index 0000000..2e4f0e8 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Program.cs @@ -0,0 +1,45 @@ +using System.IO; +using System.Threading.Tasks; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using Serilog; +using Serilog.Events; + +namespace Win_in.Sfs.Scp.WebApi.DbMigrator +{ + class Program + { + static async Task Main(string[] args) + { + Log.Logger = new LoggerConfiguration() + .MinimumLevel.Information() + .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) + .MinimumLevel.Override("Volo.Abp", LogEventLevel.Warning) +#if DEBUG + .MinimumLevel.Override("Win_in.Sfs.Scp.WebApi", LogEventLevel.Debug) +#else + .MinimumLevel.Override("Win_in.Sfs.Scp.WebApi", LogEventLevel.Information) +#endif + .Enrich.FromLogContext() + .WriteTo.Async(c => c.File("Logs/logs.txt")) + .WriteTo.Async(c => c.Console()) + .CreateLogger(); + + await CreateHostBuilder(args).RunConsoleAsync(); + } + + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureAppConfiguration(build => + { + build.AddJsonFile("appsettings.secrets.json", optional: true); + }) + .ConfigureLogging((context, logging) => logging.ClearProviders()) + .ConfigureServices((hostContext, services) => + { + services.AddHostedService(); + }); + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/WebApiDbMigratorModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/WebApiDbMigratorModule.cs new file mode 100644 index 0000000..5502104 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/WebApiDbMigratorModule.cs @@ -0,0 +1,20 @@ +using Win_in.Sfs.Scp.WebApi.EntityFrameworkCore; +using Volo.Abp.Autofac; +using Volo.Abp.BackgroundJobs; +using Volo.Abp.Modularity; + +namespace Win_in.Sfs.Scp.WebApi.DbMigrator +{ + [DependsOn( + typeof(AbpAutofacModule), + typeof(WebApiEntityFrameworkCoreModule), + typeof(WebApiApplicationContractsModule) + )] + public class WebApiDbMigratorModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => options.IsJobExecutionEnabled = false); + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Win_in.Sfs.Scp.WebApi.DbMigrator.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Win_in.Sfs.Scp.WebApi.DbMigrator.csproj new file mode 100644 index 0000000..c28d23b --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/Win_in.Sfs.Scp.WebApi.DbMigrator.csproj @@ -0,0 +1,43 @@ + + + + + + Exe + net5.0 + + + + + + PreserveNewest + Always + + + + PreserveNewest + Always + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.json new file mode 100644 index 0000000..f5bac38 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.json @@ -0,0 +1,30 @@ +{ + "ConnectionStrings": { + "Default": "Server=127.0.0.1;Database=Scp_WehApi;User ID=sa;Password=Microsoft2008;connection timeout=600;", + "WebApi": "Server=127.0.0.1;Database=Scp_WebApi;User ID=sa;Password=Microsoft2008;connection timeout=600;" + }, + "IdentityServer": { + "Clients": { + "WebApi_Web": { + "ClientId": "WebApi_Web", + "ClientSecret": "1q2w3e*", + "RootUrl": "https://localhost:44322" + }, + "WebApi_App": { + "ClientId": "WebApi_App", + "ClientSecret": "1q2w3e*", + "RootUrl": "http://localhost:4200" + }, + "WebApi_BlazorServerTiered": { + "ClientId": "WebApi_BlazorServerTiered", + "ClientSecret": "1q2w3e*", + "RootUrl": "https://localhost:44314" + }, + "WebApi_Swagger": { + "ClientId": "WebApi_Swagger", + "ClientSecret": "1q2w3e*", + "RootUrl": "https://localhost:44359" + } + } + } +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.secrets.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.secrets.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/appsettings.secrets.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.jwk b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.jwk new file mode 100644 index 0000000..ee14ec4 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.jwk @@ -0,0 +1 @@ +{"alg":"RS256","d":"Jh2vSiK1wgrlOQV84f1rAYOd9tijJWkgHEjQKZrPCcXmZvGpzSrCoEnA_8dMBsOI2OzxAtuhwfF-4eUJl2tcAPQMxaAxqkOUbOHdwxMED8ek4hLi1a_Lqqv8An1rBCOQrs8PyEfBvg-HjUsHKEsKBcYb-IiC3YNSNNzD29d1wSGFAT6jE3plbvznjDIDKpab6EbADv1HRhF9IVv704VFgwEezcYGkIzmI_RglQLWX8KWguK68W_-5hzYO-pp0C3SpG4LS253a8ue2_pJ0PmWV-Ts4opvCRpG-Uo6RHK8FsyOWSVJZvbTDN0Rcso2MVu1J1SxbNxRqyWgDguVfih63Q","dp":"K8huIj-DCk3dEh0gIUw8B9CzXo684XE3KPJqhrO_eoOE-Oqt0qfUeroaX2TqNevwI9SPU6JtR-OxgPQ-DMoLmG2X30koPQvXGiL79beDhbRVFohNWVrw_vEylRp_qni21z70AZvUgqHXQHeIP3GLXFJemwzkTGRtag70bGoeaHk","dq":"d8pTgoA9h_u0olHCc8I1jMZioKHDRsiJkTPIYkp3FtR0LXy8eNc0W906z8QCPAMxvKgXkiJ8iODJDrEtmrPUhBKOK4N3JCJMhAn1dgqAgzm_0J1_MF0dqNTTgjwNi9JgANpvz4fal6q7E4TiBn6g4g8RzrGoiqMj-43pc_6lsL0","e":"AQAB","kid":"CAFD99D185FB3C4517C0919EBBD292C1","kty":"RSA","n":"xy_ltE70mr6FNr3rx8niiucwACJ_dcS18yicVOWzYZ0p4mcE-jGZd1zinbecghAeTWbmn1t7wXBudoQ5p-A5vAaRQKr3Fr7A6adWwRUcIABr-rAZ-iJH3Qu16QtHQL3brCNTnmqOerVXciQj6cD4kNqJbwlRBRYu6bVYA1V2D4v9klRc9_olDgNKMLXmGCvDeq_X-mzqxLAQxMKyDXVp4q317biClS0ywaX1EGXzI0pFwhYuz-GWUP3gJqfHBka0ziOWYm25egAkjeyNLCE4URaosZYnMhZR5J-lX4gy0q0xiLvzaEn-p0Y4MZEsXpN18v797zXKZ8zV65jX1OEPNQ","p":"9pjQoBz7MyZEdzQ8KMDX3zDpXfH-xZy_A3d_AzfXewF8F-3X_PTN-5GUq2nnEdLmYtetGw4wRsaQmk6nDUpe69-fINkBGsErV0GyOJL96iwQFFv11AFIpMoWfcebbyfk5O9DVZ-B8jw8PqGWuea3htu4IgvHLbB8OgB-n0C-frc","q":"zshJIBS23kfNY12cG5inbqZv5evTH4PTWNARoFnuqoLASvynvxPRk2V_kYRLkwSOdmPnasDrDWZ23CEmZKPtcWU5xf7N3upp5-d3TvV1N1_PTi-Mp8qw5GlTdPxl1_Jg0o5VRSqI7lsnuw-BayYQ6m-bb2b1Y4JbgWiWusc_9XM","qi":"b4kf1aoeoKLAchk-OhtEWomapwgIdWHe60n93BmzJDrpbnBjmkjxm1-DcJaToNPR9HRMbHMeb4va2taYf_2wiZCZuwu60hakn4X03jNwALXH_m4rshEBbjW00MiGOcJda0QATn5kMvAGuyfcmcQE83ZoqnZ3ChNLhJRBO-ZSGtE"} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.rsa b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.rsa new file mode 100644 index 0000000..494c201 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.DbMigrator/tempkey.rsa @@ -0,0 +1,13 @@ +{ + "KeyId": "f788zGVUZh9H-HbWL1S-Mg", + "Parameters": { + "D": "F19hbC5PLO872DszGiJnVoU55ee7XGXmNf0KEKndJ/uGBv5lWklXA0QF80h1ytWXde0jV5isQPB1t7mPhRQlDoDTkywLi1CeOgBPbxzHEfLjZZ5c4olfeX0IJX9BDqgUntY0H1a/+Om/eDu4OZUz3EIJFFZBgz46YZSyTT6ZDvAEdpC/o66sNJmxvJIp+8zVoVDSqBUzxmc+oEamXLg7r2jdymxJMxau1kQFxEGLOrJnNxGsEe8UrYA3qSsm8m/Xg4uOh7RYgnuEEt88+KTvRq+CAMWhN3YNLtOJ3NmXowwE7e1Ma+jih9+UVfxZn14P5+SOJbQ2bYV2sCV+2vBiCQ==", + "DP": "oPiGO/qdOQfFEAS9fMInQnsrNylIZVpDYEVoDJ6/jQfE/IpuwxGcmsaGvCob3SKxZiJRLCWpwJYo1hCh/JOSVGWMkVyELky56nbbkkV5ymKLSGZ4JoetdQs+GchnPdR+k2P9Ij1Kjk13ylubN3htzNhcBASJpOfSEv5pPVzGKX0=", + "DQ": "z6imxLABHkyftbfUUtpeOlPanEHgpuIjmUdp3T1Ju1jziE63UEhuj0GPAXOF17uYxixwYE8JhOJ7+TyIK9oZeI3zH2OzJqQh8f5PCQ/E+0ULXZDeNV/ShDLCTufu3Fis9Rt64uTp/H/l21oMQ79jc0ysa8DTz1ReJLRc5qjL41U=", + "Exponent": "AQAB", + "InverseQ": "ieZcvSt5XYukKJKhXpv5Dm/1RD7iH88cZnhLSTEVTMoOUHoYWmApY5pNLGahbfjA9bxnkBWDYex/i7wE9uNNY5CsA6ovUaQLVJDt3kHvR9W+9QtN8D6jjG2TuRbbOdEg4RqhfjUaDfDIgTJX2Wxc8U98FOvOyGw1HzwUPFZKecM=", + "Modulus": "vk4z1Bmtmbo+gxITcY+FIlXzcO2wTOGlOXK5GMYj/6PUMFt7lbqkc72AkPsrAo5/JE8LYLhWj7fzSKbjvtowHCz5m2t+FlUYmuiKpvvnJsTqvQrckNlbZ1nm071q5PhP3Dar/OksfBhPtAX+c3+NjDnM/w53ccJJNaBDO/s9JYoN7vH5n6ed1pMSK71hmg4MPsxChcnc1f1PpnG2mqyJ253+GEUbj/kRyeBSmCCr9aadov2ZzxIKVaFNagJEHOzanQmorSLpP25GfOHCuy27Zkef94V/qU9elzjbH4uIKslVGx5T6H99TYh0sUGu11NytYJa5WNAZWow95CzurC2vw==", + "P": "4GMCQy+XTNzR5TsgFcdAZv2K6TcQR13fHVvPoxQp/b32V5YUJOBFEUAtqociy5ro4+KzpXP5WPSk1ZtznGKuNZyLq8gTnhpB3rwd0sdo4zxKnQ5nu+n1UhlhWNxg5A9V5TaciUAyPrHWJfLoYTQWygNTgJELQH5zZXi2ihC2uiU=", + "Q": "2R36pamnLAJggkPJxiW5qH6HizZ+bkQVg0BBftMLzkAM8Y9CwTW75GRUzGEJFpMckkw0GZSYb1Uwl3DVUpkcQ8LZ91IPYdPpDlYUshhIxl184M55pnO14besKxJtMZ64zhHKVAR2pBMO0n6W4/1iBXkkQqyPViJxdfvXPJMBbhM=" + } +} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityBase.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityBase.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityBase.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityBase.cs diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailBase.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailBase.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailBase.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailBase.cs diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailDtoBase.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailDtoBase.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailDtoBase.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDetailDtoBase.cs diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDtoBase.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDtoBase.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDtoBase.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/EntityBase/EntityDtoBase.cs diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json new file mode 100644 index 0000000..d2a6a98 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/en.json @@ -0,0 +1,8 @@ +{ + "culture": "en", + "texts": { + "Menu:Home": "Home", + "Welcome": "Welcome", + "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io." + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json new file mode 100644 index 0000000..23790bd --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApi/zh-Hans.json @@ -0,0 +1,8 @@ +{ + "culture": "zh-Hans", + "texts": { + "Menu:Home": "首页", + "Welcome": "欢迎", + "LongWelcomeMessage": "欢迎来到该应用程序. 这是一个基于ABP框架的启动项目. 有关更多信息, 请访问 abp.io." + } + } \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs similarity index 93% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs index 23a7963..b14a7ae 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Localization/WebApiResource.cs @@ -5,6 +5,6 @@ namespace Win_in.Sfs.Scp.WebApi.Localization [LocalizationResourceName("WebApi")] public class WebApiResource { - + } -} +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs new file mode 100644 index 0000000..43a9453 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs @@ -0,0 +1,11 @@ +namespace Win_in.Sfs.Scp.WebApi.MultiTenancy +{ + public static class MultiTenancyConsts + { + /* Enable/disable multi-tenancy easily in a single point. + * If you will never need to multi-tenancy, you can remove + * related modules and code parts, including this file. + */ + public const bool IsEnabled = true; + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainErrorCodes.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainErrorCodes.cs new file mode 100644 index 0000000..2c486c6 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainErrorCodes.cs @@ -0,0 +1,7 @@ +namespace Win_in.Sfs.Scp.WebApi +{ + public static class WebApiDomainErrorCodes + { + /* You can add your business exception error codes here, as constants */ + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs new file mode 100644 index 0000000..ab9f58d --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiDomainSharedModule.cs @@ -0,0 +1,59 @@ +using Win_in.Sfs.Scp.WebApi.Localization; +using Volo.Abp.AuditLogging; +using Volo.Abp.BackgroundJobs; +using Volo.Abp.FeatureManagement; +using Volo.Abp.Identity; +using Volo.Abp.IdentityServer; +using Volo.Abp.Localization; +using Volo.Abp.Localization.ExceptionHandling; +using Volo.Abp.Modularity; +using Volo.Abp.PermissionManagement; +using Volo.Abp.SettingManagement; +using Volo.Abp.TenantManagement; +using Volo.Abp.Validation.Localization; +using Volo.Abp.VirtualFileSystem; + +namespace Win_in.Sfs.Scp.WebApi +{ + [DependsOn( + typeof(AbpAuditLoggingDomainSharedModule), + typeof(AbpBackgroundJobsDomainSharedModule), + typeof(AbpFeatureManagementDomainSharedModule), + typeof(AbpIdentityDomainSharedModule), + typeof(AbpIdentityServerDomainSharedModule), + typeof(AbpPermissionManagementDomainSharedModule), + typeof(AbpSettingManagementDomainSharedModule), + typeof(AbpTenantManagementDomainSharedModule) + )] + public class WebApiDomainSharedModule : AbpModule + { + public override void PreConfigureServices(ServiceConfigurationContext context) + { + WebApiGlobalFeatureConfigurator.Configure(); + WebApiModuleExtensionConfigurator.Configure(); + } + + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.FileSets.AddEmbedded(); + }); + + Configure(options => + { + options.Resources + .Add("en") + .AddBaseTypes(typeof(AbpValidationResource)) + .AddVirtualJson("/Localization/WebApi"); + + options.DefaultResourceType = typeof(WebApiResource); + }); + + Configure(options => + { + options.MapCodeNamespace("WebApi", typeof(WebApiResource)); + }); + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiGlobalFeatureConfigurator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiGlobalFeatureConfigurator.cs new file mode 100644 index 0000000..6efb3da --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiGlobalFeatureConfigurator.cs @@ -0,0 +1,23 @@ +using Volo.Abp.Threading; + +namespace Win_in.Sfs.Scp.WebApi +{ + public static class WebApiGlobalFeatureConfigurator + { + private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); + + public static void Configure() + { + OneTimeRunner.Run(() => + { + /* You can configure (enable/disable) global features of the used modules here. + * + * YOU CAN SAFELY DELETE THIS CLASS AND REMOVE ITS USAGES IF YOU DON'T NEED TO IT! + * + * Please refer to the documentation to lear more about the Global Features System: + * https://docs.abp.io/en/abp/latest/Global-Features + */ + }); + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiModuleExtensionConfigurator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiModuleExtensionConfigurator.cs new file mode 100644 index 0000000..d6a994c --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/WebApiModuleExtensionConfigurator.cs @@ -0,0 +1,72 @@ +using System.ComponentModel.DataAnnotations; +using Volo.Abp.Identity; +using Volo.Abp.ObjectExtending; +using Volo.Abp.Threading; + +namespace Win_in.Sfs.Scp.WebApi +{ + public static class WebApiModuleExtensionConfigurator + { + private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); + + public static void Configure() + { + OneTimeRunner.Run(() => + { + ConfigureExistingProperties(); + ConfigureExtraProperties(); + }); + } + + private static void ConfigureExistingProperties() + { + /* You can change max lengths for properties of the + * entities defined in the modules used by your application. + * + * Example: Change user and role name max lengths + + IdentityUserConsts.MaxNameLength = 99; + IdentityRoleConsts.MaxNameLength = 99; + + * Notice: It is not suggested to change property lengths + * unless you really need it. Go with the standard values wherever possible. + * + * If you are using EF Core, you will need to run the add-migration command after your changes. + */ + } + + private static void ConfigureExtraProperties() + { + /* You can configure extra properties for the + * entities defined in the modules used by your application. + * + * This class can be used to define these extra properties + * with a high level, easy to use API. + * + * Example: Add a new property to the user entity of the identity module + + ObjectExtensionManager.Instance.Modules() + .ConfigureIdentity(identity => + { + identity.ConfigureUser(user => + { + user.AddOrUpdateProperty( //property type: string + "SocialSecurityNumber", //property name + property => + { + //validation rules + property.Attributes.Add(new RequiredAttribute()); + property.Attributes.Add(new StringLengthAttribute(64) {MinimumLength = 4}); + + //...other configurations for this property + } + ); + }); + }); + + * See the documentation for more: + * https://docs.abp.io/en/abp/latest/Module-Entity-Extensions + */ + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj new file mode 100644 index 0000000..f0900ed --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain.Shared/Win_in.Sfs.Scp.WebApi.Domain.Shared.csproj @@ -0,0 +1,35 @@ + + + + + + netstandard2.0 + Win_in.Sfs.Scp.WebApi + true + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/IWebApiDbSchemaMigrator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/IWebApiDbSchemaMigrator.cs new file mode 100644 index 0000000..72d2138 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/IWebApiDbSchemaMigrator.cs @@ -0,0 +1,9 @@ +using System.Threading.Tasks; + +namespace Win_in.Sfs.Scp.WebApi.Data +{ + public interface IWebApiDbSchemaMigrator + { + Task MigrateAsync(); + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/NullWebApiDbSchemaMigrator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/NullWebApiDbSchemaMigrator.cs new file mode 100644 index 0000000..e60dcf7 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/NullWebApiDbSchemaMigrator.cs @@ -0,0 +1,16 @@ +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; + +namespace Win_in.Sfs.Scp.WebApi.Data +{ + /* This is used if database provider does't define + * IWebApiDbSchemaMigrator implementation. + */ + public class NullWebApiDbSchemaMigrator : IWebApiDbSchemaMigrator, ITransientDependency + { + public Task MigrateAsync() + { + return Task.CompletedTask; + } + } +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/WebApiDbMigrationService.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/WebApiDbMigrationService.cs new file mode 100644 index 0000000..c796522 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Data/WebApiDbMigrationService.cs @@ -0,0 +1,220 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Volo.Abp.Data; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Identity; +using Volo.Abp.MultiTenancy; +using Volo.Abp.TenantManagement; + +namespace Win_in.Sfs.Scp.WebApi.Data +{ + public class WebApiDbMigrationService : ITransientDependency + { + public ILogger Logger { get; set; } + + private readonly IDataSeeder _dataSeeder; + private readonly IEnumerable _dbSchemaMigrators; + private readonly ITenantRepository _tenantRepository; + private readonly ICurrentTenant _currentTenant; + + public WebApiDbMigrationService( + IDataSeeder dataSeeder, + IEnumerable dbSchemaMigrators, + ITenantRepository tenantRepository, + ICurrentTenant currentTenant) + { + _dataSeeder = dataSeeder; + _dbSchemaMigrators = dbSchemaMigrators; + _tenantRepository = tenantRepository; + _currentTenant = currentTenant; + + Logger = NullLogger.Instance; + } + + public async Task MigrateAsync() + { + var initialMigrationAdded = AddInitialMigrationIfNotExist(); + + if (initialMigrationAdded) + { + return; + } + + Logger.LogInformation("Started database migrations..."); + + await MigrateDatabaseSchemaAsync(); + await SeedDataAsync(); + + Logger.LogInformation($"Successfully completed host database migrations."); + + var tenants = await _tenantRepository.GetListAsync(includeDetails: true); + + var migratedDatabaseSchemas = new HashSet(); + foreach (var tenant in tenants) + { + using (_currentTenant.Change(tenant.Id)) + { + if (tenant.ConnectionStrings.Any()) + { + var tenantConnectionStrings = tenant.ConnectionStrings + .Select(x => x.Value) + .ToList(); + + if (!migratedDatabaseSchemas.IsSupersetOf(tenantConnectionStrings)) + { + await MigrateDatabaseSchemaAsync(tenant); + + migratedDatabaseSchemas.AddIfNotContains(tenantConnectionStrings); + } + } + + await SeedDataAsync(tenant); + } + + Logger.LogInformation($"Successfully completed {tenant.Name} tenant database migrations."); + } + + Logger.LogInformation("Successfully completed all database migrations."); + Logger.LogInformation("You can safely end this process..."); + } + + private async Task MigrateDatabaseSchemaAsync(Tenant tenant = null) + { + Logger.LogInformation( + $"Migrating schema for {(tenant == null ? "host" : tenant.Name + " tenant")} database..."); + + foreach (var migrator in _dbSchemaMigrators) + { + await migrator.MigrateAsync(); + } + } + + private async Task SeedDataAsync(Tenant tenant = null) + { + Logger.LogInformation($"Executing {(tenant == null ? "host" : tenant.Name + " tenant")} database seed..."); + + await _dataSeeder.SeedAsync(new DataSeedContext(tenant?.Id) + .WithProperty(IdentityDataSeedContributor.AdminEmailPropertyName, IdentityDataSeedContributor.AdminEmailDefaultValue) + .WithProperty(IdentityDataSeedContributor.AdminPasswordPropertyName, IdentityDataSeedContributor.AdminPasswordDefaultValue) + ); + } + + private bool AddInitialMigrationIfNotExist() + { + try + { + if (!DbMigrationsProjectExists()) + { + return false; + } + } + catch (Exception) + { + return false; + } + + try + { + if (!MigrationsFolderExists()) + { + AddInitialMigration(); + return true; + } + else + { + return false; + } + } + catch (Exception e) + { + Logger.LogWarning("Couldn't determinate if any migrations exist : " + e.Message); + return false; + } + } + + private bool DbMigrationsProjectExists() + { + var dbMigrationsProjectFolder = GetEntityFrameworkCoreProjectFolderPath(); + + return dbMigrationsProjectFolder != null; + } + + private bool MigrationsFolderExists() + { + var dbMigrationsProjectFolder = GetEntityFrameworkCoreProjectFolderPath(); + + return Directory.Exists(Path.Combine(dbMigrationsProjectFolder, "Migrations")); + } + + private void AddInitialMigration() + { + Logger.LogInformation("Creating initial migration..."); + + string argumentPrefix; + string fileName; + + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) || RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) + { + argumentPrefix = "-c"; + fileName = "/bin/bash"; + } + else + { + argumentPrefix = "/C"; + fileName = "cmd.exe"; + } + + var procStartInfo = new ProcessStartInfo(fileName, + $"{argumentPrefix} \"abp create-migration-and-run-migrator \"{GetEntityFrameworkCoreProjectFolderPath()}\"\"" + ); + + try + { + Process.Start(procStartInfo); + } + catch (Exception) + { + throw new Exception("Couldn't run ABP CLI..."); + } + } + + private string GetEntityFrameworkCoreProjectFolderPath() + { + var slnDirectoryPath = GetSolutionDirectoryPath(); + + if (slnDirectoryPath == null) + { + throw new Exception("Solution folder not found!"); + } + + var srcDirectoryPath = Path.Combine(slnDirectoryPath, "src"); + + return Directory.GetDirectories(srcDirectoryPath) + .FirstOrDefault(d => d.EndsWith(".EntityFrameworkCore")); + } + + private string GetSolutionDirectoryPath() + { + var currentDirectory = new DirectoryInfo(Directory.GetCurrentDirectory()); + + while (Directory.GetParent(currentDirectory.FullName) != null) + { + currentDirectory = Directory.GetParent(currentDirectory.FullName); + + if (Directory.GetFiles(currentDirectory.FullName).FirstOrDefault(f => f.EndsWith(".sln")) != null) + { + return currentDirectory.FullName; + } + } + + return null; + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/IdentityServer/IdentityServerDataSeedContributor.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/IdentityServer/IdentityServerDataSeedContributor.cs new file mode 100644 index 0000000..3b10d5c --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/IdentityServer/IdentityServerDataSeedContributor.cs @@ -0,0 +1,288 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using IdentityServer4.Models; +using Microsoft.Extensions.Configuration; +using Volo.Abp.Authorization.Permissions; +using Volo.Abp.Data; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Guids; +using Volo.Abp.IdentityServer.ApiResources; +using Volo.Abp.IdentityServer.ApiScopes; +using Volo.Abp.IdentityServer.Clients; +using Volo.Abp.IdentityServer.IdentityResources; +using Volo.Abp.MultiTenancy; +using Volo.Abp.PermissionManagement; +using Volo.Abp.Uow; +using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource; +using ApiScope = Volo.Abp.IdentityServer.ApiScopes.ApiScope; +using Client = Volo.Abp.IdentityServer.Clients.Client; + +namespace Win_in.Sfs.Scp.WebApi.IdentityServer +{ + public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransientDependency + { + private readonly IApiResourceRepository _apiResourceRepository; + private readonly IApiScopeRepository _apiScopeRepository; + private readonly IClientRepository _clientRepository; + private readonly IIdentityResourceDataSeeder _identityResourceDataSeeder; + private readonly IGuidGenerator _guidGenerator; + private readonly IPermissionDataSeeder _permissionDataSeeder; + private readonly IConfiguration _configuration; + private readonly ICurrentTenant _currentTenant; + + public IdentityServerDataSeedContributor( + IClientRepository clientRepository, + IApiResourceRepository apiResourceRepository, + IApiScopeRepository apiScopeRepository, + IIdentityResourceDataSeeder identityResourceDataSeeder, + IGuidGenerator guidGenerator, + IPermissionDataSeeder permissionDataSeeder, + IConfiguration configuration, + ICurrentTenant currentTenant) + { + _clientRepository = clientRepository; + _apiResourceRepository = apiResourceRepository; + _apiScopeRepository = apiScopeRepository; + _identityResourceDataSeeder = identityResourceDataSeeder; + _guidGenerator = guidGenerator; + _permissionDataSeeder = permissionDataSeeder; + _configuration = configuration; + _currentTenant = currentTenant; + } + + [UnitOfWork] + public virtual async Task SeedAsync(DataSeedContext context) + { + using (_currentTenant.Change(context?.TenantId)) + { + await _identityResourceDataSeeder.CreateStandardResourcesAsync(); + await CreateApiResourcesAsync(); + await CreateApiScopesAsync(); + await CreateClientsAsync(); + } + } + + private async Task CreateApiScopesAsync() + { + await CreateApiScopeAsync("WebApi"); + } + + private async Task CreateApiResourcesAsync() + { + var commonApiUserClaims = new[] + { + "email", + "email_verified", + "name", + "phone_number", + "phone_number_verified", + "role" + }; + + await CreateApiResourceAsync("WebApi", commonApiUserClaims); + } + + private async Task CreateApiResourceAsync(string name, IEnumerable claims) + { + var apiResource = await _apiResourceRepository.FindByNameAsync(name); + if (apiResource == null) + { + apiResource = await _apiResourceRepository.InsertAsync( + new ApiResource( + _guidGenerator.Create(), + name, + name + " API" + ), + autoSave: true + ); + } + + foreach (var claim in claims) + { + if (apiResource.FindClaim(claim) == null) + { + apiResource.AddUserClaim(claim); + } + } + + return await _apiResourceRepository.UpdateAsync(apiResource); + } + + private async Task CreateApiScopeAsync(string name) + { + var apiScope = await _apiScopeRepository.GetByNameAsync(name); + if (apiScope == null) + { + apiScope = await _apiScopeRepository.InsertAsync( + new ApiScope( + _guidGenerator.Create(), + name, + name + " API" + ), + autoSave: true + ); + } + + return apiScope; + } + + private async Task CreateClientsAsync() + { + var commonScopes = new[] + { + "email", + "openid", + "profile", + "role", + "phone", + "address", + "WebApi" + }; + + var configurationSection = _configuration.GetSection("IdentityServer:Clients"); + + + //Console Test / Angular Client + var consoleAndAngularClientId = configurationSection["WebApi_App:ClientId"]; + if (!consoleAndAngularClientId.IsNullOrWhiteSpace()) + { + var webClientRootUrl = configurationSection["WebApi_App:RootUrl"]?.TrimEnd('/'); + + await CreateClientAsync( + name: consoleAndAngularClientId, + scopes: commonScopes, + grantTypes: new[] { "password", "client_credentials", "authorization_code" }, + secret: (configurationSection["WebApi_App:ClientSecret"] ?? "1q2w3e*").Sha256(), + requireClientSecret: false, + redirectUri: webClientRootUrl, + postLogoutRedirectUri: webClientRootUrl, + corsOrigins: new[] { webClientRootUrl.RemovePostFix("/") } + ); + } + + + + // Swagger Client + var swaggerClientId = configurationSection["WebApi_Swagger:ClientId"]; + if (!swaggerClientId.IsNullOrWhiteSpace()) + { + var swaggerRootUrl = configurationSection["WebApi_Swagger:RootUrl"].TrimEnd('/'); + + await CreateClientAsync( + name: swaggerClientId, + scopes: commonScopes, + grantTypes: new[] { "authorization_code" }, + secret: configurationSection["WebApi_Swagger:ClientSecret"]?.Sha256(), + requireClientSecret: false, + redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html", + corsOrigins: new[] { swaggerRootUrl.RemovePostFix("/") } + ); + } + } + + private async Task CreateClientAsync( + string name, + IEnumerable scopes, + IEnumerable grantTypes, + string secret = null, + string redirectUri = null, + string postLogoutRedirectUri = null, + string frontChannelLogoutUri = null, + bool requireClientSecret = true, + bool requirePkce = false, + IEnumerable permissions = null, + IEnumerable corsOrigins = null) + { + var client = await _clientRepository.FindByClientIdAsync(name); + if (client == null) + { + client = await _clientRepository.InsertAsync( + new Client( + _guidGenerator.Create(), + name + ) + { + ClientName = name, + ProtocolType = "oidc", + Description = name, + AlwaysIncludeUserClaimsInIdToken = true, + AllowOfflineAccess = true, + AbsoluteRefreshTokenLifetime = 31536000, //365 days + AccessTokenLifetime = 31536000, //365 days + AuthorizationCodeLifetime = 300, + IdentityTokenLifetime = 300, + RequireConsent = false, + FrontChannelLogoutUri = frontChannelLogoutUri, + RequireClientSecret = requireClientSecret, + RequirePkce = requirePkce + }, + autoSave: true + ); + } + + foreach (var scope in scopes) + { + if (client.FindScope(scope) == null) + { + client.AddScope(scope); + } + } + + foreach (var grantType in grantTypes) + { + if (client.FindGrantType(grantType) == null) + { + client.AddGrantType(grantType); + } + } + + if (!secret.IsNullOrEmpty()) + { + if (client.FindSecret(secret) == null) + { + client.AddSecret(secret); + } + } + + if (redirectUri != null) + { + if (client.FindRedirectUri(redirectUri) == null) + { + client.AddRedirectUri(redirectUri); + } + } + + if (postLogoutRedirectUri != null) + { + if (client.FindPostLogoutRedirectUri(postLogoutRedirectUri) == null) + { + client.AddPostLogoutRedirectUri(postLogoutRedirectUri); + } + } + + if (permissions != null) + { + await _permissionDataSeeder.SeedAsync( + ClientPermissionValueProvider.ProviderName, + name, + permissions, + null + ); + } + + if (corsOrigins != null) + { + foreach (var origin in corsOrigins) + { + if (!origin.IsNullOrWhiteSpace() && client.FindCorsOrigin(origin) == null) + { + client.AddCorsOrigin(origin); + } + } + } + + return await _clientRepository.UpdateAsync(client); + } + } +} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/IPartRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/IPartRepository.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/IPartRepository.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/IPartRepository.cs diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs similarity index 95% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs index e6ce9ce..44dfbb5 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Parts/Part.cs @@ -44,13 +44,13 @@ namespace Win_in.Sfs.Scp.WebApi /// 制造件(Can make) /// [Display(Name = "制造件")] - public bool CanMake {get;set;} + public bool IsMakePart { get;set;} /// /// 采购件(Can buy) /// [Display(Name = "采购件")] - public bool CanBuy {get;set;} + public bool IsBuyPart { get;set;} /// /// 计量单位(Uom) @@ -88,6 +88,14 @@ namespace Win_in.Sfs.Scp.WebApi [Display(Name = "分组")] public string Group {get;set;} + + /// + /// 版本(version) + /// + [Display(Name = "版本")] + public string Version {get;set;} + + /* /// /// 颜色(Color) /// @@ -106,12 +114,6 @@ namespace Win_in.Sfs.Scp.WebApi [Display(Name = "项目")] public string Project {get;set;} - /// - /// 版本(version) - /// - [Display(Name = "版本")] - public string version {get;set;} - /// /// 工程变更通知单(Engineering change order) /// @@ -141,6 +143,7 @@ namespace Win_in.Sfs.Scp.WebApi /// [Display(Name = "替代包装数量")] public decimal ExtPackQty {get;set;} + */ /// /// 地点(Site) @@ -154,4 +157,5 @@ namespace Win_in.Sfs.Scp.WebApi [Display(Name = "公司")] public string Company {get;set;} } + } \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Properties/AssemblyInfo.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7861c94 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Properties/AssemblyInfo.cs @@ -0,0 +1,3 @@ +using System.Runtime.CompilerServices; +[assembly:InternalsVisibleToAttribute("Win_in.Sfs.Scp.WebApi.Domain.Tests")] +[assembly:InternalsVisibleToAttribute("Win_in.Sfs.Scp.WebApi.TestBase")] diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/IPurchaseOrderRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/IPurchaseOrderRepository.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/IPurchaseOrderRepository.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/IPurchaseOrderRepository.cs diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs similarity index 87% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs index 1d6c856..0eee22c 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrder.cs @@ -57,22 +57,16 @@ namespace Win_in.Sfs.Scp.WebApi public DateTime DueDate { set; get; } /// - /// 税率(TaxRate) - /// - [Display(Name = "税率(TaxRate)")] - public decimal TaxRate { set; get; } - - /// - /// 地点(Site) + /// 版本(version) /// - [Display(Name = "地点(Site)")] - public string Site { set; get; } + [Display(Name = "版本")] + public string Version { get; set; } /// - /// 公司(Company) + /// 税率(TaxRate) /// - [Display(Name = "公司(Company)")] - public string Company { set; get; } + [Display(Name = "税率(TaxRate)")] + public decimal TaxRate { set; get; } /// /// 联系人(ContactName) @@ -93,7 +87,19 @@ namespace Win_in.Sfs.Scp.WebApi public string Remark { set; get; } - public virtual List PODetails { get; set; } + /// + /// 地点(Site) + /// + [Display(Name = "地点(Site)")] + public string Site { set; get; } + + /// + /// 公司(Company) + /// + [Display(Name = "公司(Company)")] + public string Company { set; get; } + + public virtual List Details { get; set; } @@ -107,7 +113,7 @@ namespace Win_in.Sfs.Scp.WebApi throw new Exception(detail.PoNumber+ detail.PoLine + "已经在明细中存在!"); } - PODetails.Add(new PurchaseOrderDetail(guidGenerator.Create(),detail.PoNumber, detail.PoLine, detail.PartCode, detail.Uom, detail.OrderQty, detail.StdPackQty, + Details.Add(new PurchaseOrderDetail(guidGenerator.Create(),detail.PoNumber, detail.PoLine, detail.PartCode, detail.Uom, detail.OrderQty, detail.StdPackQty, detail.SupplierPackConvertRate, detail.IsConsignment, detail.LineStatus, detail.Remark)); } @@ -124,12 +130,12 @@ namespace Win_in.Sfs.Scp.WebApi public virtual bool IsInDetails(string ponumber , string poline) { - return PODetails.Any(di => di.PoNumber == ponumber && di.PoLine == poline); + return Details.Any(di => di.PoNumber == ponumber && di.PoLine == poline); } public virtual bool IsInDetails(Guid itemId) { - return PODetails.Any(di => di.Id == itemId); + return Details.Any(di => di.Id == itemId); } public virtual bool UpdateDetail(IGuidGenerator guidGenerator, PurchaseOrderDetail detail) @@ -154,7 +160,7 @@ namespace Win_in.Sfs.Scp.WebApi public virtual PurchaseOrderDetail FindDetail(Guid itemId) { - var item = PODetails.FirstOrDefault(p => p.Id == itemId); + var item = Details.FirstOrDefault(p => p.Id == itemId); return item; } diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs similarity index 68% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs index 689616b..beace64 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/PurchaseOrders/PurchaseOrderDetail.cs @@ -8,7 +8,7 @@ namespace Win_in.Sfs.Scp.WebApi /// /// 采购订单明细 /// - public class PurchaseOrderDetail: EntityDetailBase + public class PurchaseOrderDetail : EntityDetailBase { /// /// 订单号(PoNumber) @@ -38,14 +38,7 @@ namespace Win_in.Sfs.Scp.WebApi /// 订单数量(OrderQty) /// [Display(Name = "订单数量(OrderQty)")] - public decimal? OrderQty { set; get; } - - /// - /// 已关闭数量(Closed Qty) - /// - [Display(Name = "已关闭数量(Closed Qty)")] - public decimal ClosedQty { get; set; } - + public decimal OrderQty { set; get; } /// /// 标包计量单位(Standard Pack Uom) @@ -57,25 +50,13 @@ namespace Win_in.Sfs.Scp.WebApi /// 标包数量(Standard Pack Qty) /// [Display(Name = "标包数量(Standard Pack Qty)")] - public decimal? StdPackQty { set; get; } - - /// - /// 供应商计量单位(SupplierPackUom) - /// - [Display(Name = "供应商计量单位(SupplierPackUom)")] - public string SupplierPackUom { set; get; } - - /// - /// 供应商包装数量(SupplierPackQty) - /// - [Display(Name = "供应商包装数量(SupplierPackQty)")] - public decimal? SupplierPackQty { set; get; } + public decimal StdPackQty { set; get; } /// /// 供应商包装转换率(SupplierPackConvertRate) /// [Display(Name = "供应商包装转换率(SupplierPackConvertRate)")] - public decimal? SupplierPackConvertRate { set; get; } + public decimal SupplierPackConvertRate { set; get; } /// /// 是否寄存订单(IsConsignment) @@ -99,18 +80,16 @@ namespace Win_in.Sfs.Scp.WebApi public PurchaseOrderDetail() { } public PurchaseOrderDetail( - Guid id , string poNumber, string poLine,string partCode, string uom, decimal? orderQty, decimal? stdPackQty, - decimal? supplierPackConvertRate, bool isConsignment,int lineStatus,string remark) :base(id) + Guid id, string poNumber, string poLine, string partCode, string uom, decimal orderQty, decimal stdPackQty, + decimal supplierPackConvertRate, bool isConsignment, int lineStatus, string remark) + : base(id) { PoNumber = poNumber; PoLine = poLine; PartCode = partCode; Uom = uom; OrderQty = orderQty; - //StdPackUom = stdPackUom; StdPackQty = stdPackQty; - //SupplierPackUom = supplierPackUom; - //SupplierPackQty = supplierPackQty; SupplierPackConvertRate = supplierPackConvertRate; IsConsignment = isConsignment; LineStatus = lineStatus; diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/IReceiptRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/IReceiptRepository.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/IReceiptRepository.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/IReceiptRepository.cs diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs similarity index 72% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs index f4ee7ce..bc2f510 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Receipts/Receipt.cs @@ -8,7 +8,7 @@ namespace Win_in.Sfs.Scp.WebApi /// /// 收货单与退货单明细(Receipt) /// - public class Receipt: EntityBase + public class Receipt : EntityBase { /// /// 收货单号(RcNumber) @@ -22,12 +22,6 @@ namespace Win_in.Sfs.Scp.WebApi [Display(Name = "发货单号(AsnNumber)")] public string AsnNumber { set; get; } - ///// - ///// 要货计划单号(RpNumber) - ///// - //[Display(Name = "要货计划单号(RpNumber)")] - //public string RpNumber { set; get; } - /// /// 订单号(PoNumber) /// @@ -82,18 +76,6 @@ namespace Win_in.Sfs.Scp.WebApi [Display(Name = "收货时间(ReceiveTime)")] public DateTime ReceiveTime { set; get; } - /// - /// 地点(Site) - /// - [Display(Name = "地点(Site)")] - public string Site { set; get; } - - /// - /// 公司(Company) - /// - [Display(Name = "公司(Company)")] - public string Company { set; get; } - /// /// 订单行(PoLine) /// @@ -118,54 +100,18 @@ namespace Win_in.Sfs.Scp.WebApi [Display(Name = "供应商批次(SupplierLot)")] public string SupplierLot { set; get; } - /// - /// 生产日期(ProductionDate) - /// - [Display(Name = "生产日期(ProductionDate)")] - public DateTime ProductionDate { set; get; } - /// /// 计量单位(Uom) /// [Display(Name = "计量单位(Uom)")] public string Uom { set; get; } - ///// - ///// 发货数量(DeliverQty) - ///// - //[Display(Name = "发货数量(DeliverQty)")] - //public decimal DeliverQty { set; get; } - /// /// 收货数量(ReceiveQty) /// [Display(Name = "收货数量(ReceiveQty)")] public decimal ReceiveQty { set; get; } - ///// - ///// 标包计量单位(Standard Pack Uom) - ///// - //[Display(Name = "标包计量单位(Standard Pack Uom)")] - //public string StdPackUom { set; get; } - - ///// - ///// 标包数量(Standard Pack Qty) - ///// - //[Display(Name = "标包数量(Standard Pack Qty)")] - //public decimal StdPackQty { set; get; } - - ///// - ///// 供应商计量单位(SupplierPackUom) - ///// - //[Display(Name = "供应商计量单位(SupplierPackUom)")] - //public string SupplierPackUom { set; get; } - - ///// - ///// 供应商包装数量(SupplierPackQty) - ///// - //[Display(Name = "供应商包装数量(SupplierPackQty)")] - //public decimal SupplierPackQty { set; get; } - /// /// 供应商包装转换率(SupplierPackConvertRate) /// @@ -177,5 +123,17 @@ namespace Win_in.Sfs.Scp.WebApi /// [Display(Name = "备注(Remark)")] public string Remark { set; get; } + + /// + /// 地点(Site) + /// + [Display(Name = "地点(Site)")] + public string Site { set; get; } + + /// + /// 公司(Company) + /// + [Display(Name = "公司(Company)")] + public string Company { set; get; } } } \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs similarity index 65% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs index 4a3586c..60f46a9 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettingDefinitionProvider.cs @@ -6,9 +6,8 @@ namespace Win_in.Sfs.Scp.WebApi.Settings { public override void Define(ISettingDefinitionContext context) { - /* Define module settings here. - * Use names from WebApiSettings class. - */ + //Define your own settings here. Example: + //context.Add(new SettingDefinition(WebApiSettings.MySetting1)); } } -} \ No newline at end of file +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs new file mode 100644 index 0000000..b6b7436 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Settings/WebApiSettings.cs @@ -0,0 +1,10 @@ +namespace Win_in.Sfs.Scp.WebApi.Settings +{ + public static class WebApiSettings + { + private const string Prefix = "WebApi"; + + //Add your own setting names here. Example: + //public const string MySetting1 = Prefix + ".MySetting1"; + } +} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/ISupplierRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/SupplierParts/ISupplierRepository.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/ISupplierRepository.cs diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs similarity index 99% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs index 934fdf7..7220da9 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Suppliers/Supplier.cs @@ -82,6 +82,12 @@ namespace Win_in.Sfs.Scp.WebApi [Display(Name = "货币(Currency)")] public string Currency { set; get; } + /// + /// 银行(Bank) + /// + [Display(Name = "银行(Bank)")] + public string Bank { set; get; } + /// /// 是否激活(IsActive) /// @@ -99,11 +105,5 @@ namespace Win_in.Sfs.Scp.WebApi /// [Display(Name = "备注(Remark)")] public string Remark { set; get; } - - /// - /// 银行(Bank) - /// - [Display(Name = "银行(Bank)")] - public string Bank { set; get; } } } \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/ILabelRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/IReceiptRepository.cs similarity index 53% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/ILabelRepository.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/IReceiptRepository.cs index 95ed166..9e71a45 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Labels/ILabelRepository.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/IReceiptRepository.cs @@ -3,7 +3,7 @@ using Volo.Abp.Domain.Repositories; namespace Win_in.Sfs.Scp.WebApi { - public interface ILabelRepository : IRepository + public interface IUnplannedReceiptRepository : IRepository { } diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/UnplannedReceipt.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/UnplannedReceipt.cs new file mode 100644 index 0000000..9a459e6 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/UnplannedReceipts/UnplannedReceipt.cs @@ -0,0 +1,99 @@ +using System; +using System.ComponentModel.DataAnnotations; +using Volo.Abp.Domain.Entities.Auditing; +using Win_in.Sfs.Scp.WebApi.Domain.Shared; + +namespace Win_in.Sfs.Scp.WebApi +{ + /// + /// 收货单与退货单明细(Receipt) + /// + public class UnplannedReceipt : EntityBase + { + /// + /// 事务号(TrNbr) + /// + [Display(Name = "事务号(TrNbr)")] + public long TrNbr { set; get; } + + /// + /// 事务类型(TrType) + /// + [Display(Name = "事务类型(TrType)")] + public string TrType { set; get; } + + /// + /// 订单号(Order) + /// + [Display(Name = "订单号(Order)")] + public string Order { set; get; } + + /// + /// 零件号(PartCode) + /// + [Display(Name = "零件号(PartCode)")] + public string PartCode { set; get; } + + /// + /// 批次(Lot) + /// + [Display(Name = "批次(Lot)")] + public string Lot { set; get; } + + + /// + /// 计量单位(Uom) + /// + [Display(Name = "计量单位(Uom)")] + public string Uom { set; get; } + + /// + /// 数量(Qty) + /// + [Display(Name = "数量(Qty)")] + public decimal Qty { set; get; } + + /// + /// 库位(Location) + /// + [Display(Name = "库位(Location)")] + public string Location { set; get; } + + /// + /// 生效日期(EffectiveDate) + /// + [Display(Name = "生效日期(EffectiveDate)")] + public DateTime EffectiveDate { set; get; } + + /// + /// 系统日期(SystemDate) + /// + [Display(Name = "系统日期(SystemDate)")] + public DateTime SystemDate { set; get; } + + /// + /// 客户单(so job) + /// + [Display(Name = "客户单(so job)")] + + public string SoJob { get; set; } + + /// + /// 备注(Remark) + /// + [Display(Name = "备注(Remark)")] + public string Remark { set; get; } + + /// + /// 地点(Site) + /// + [Display(Name = "地点(Site)")] + public string Site { set; get; } + + /// + /// 公司(Company) + /// + [Display(Name = "公司(Company)")] + public string Company { set; get; } + } +} \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDbProperties.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiConsts.cs similarity index 84% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDbProperties.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiConsts.cs index 444eece..9648e57 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDbProperties.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiConsts.cs @@ -1,6 +1,6 @@ namespace Win_in.Sfs.Scp.WebApi { - public static class WebApiDbProperties + public static class WebApiConsts { public static string DbTablePrefix { get; set; } = "WebApi"; diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs new file mode 100644 index 0000000..abc2888 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/WebApiDomainModule.cs @@ -0,0 +1,46 @@ +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; +using Win_in.Sfs.Scp.WebApi.MultiTenancy; +using Volo.Abp.AuditLogging; +using Volo.Abp.BackgroundJobs; +using Volo.Abp.Emailing; +using Volo.Abp.FeatureManagement; +using Volo.Abp.Identity; +using Volo.Abp.IdentityServer; +using Volo.Abp.Modularity; +using Volo.Abp.MultiTenancy; +using Volo.Abp.PermissionManagement.Identity; +using Volo.Abp.PermissionManagement.IdentityServer; +using Volo.Abp.SettingManagement; +using Volo.Abp.TenantManagement; + +namespace Win_in.Sfs.Scp.WebApi +{ + [DependsOn( + typeof(WebApiDomainSharedModule), + typeof(AbpAuditLoggingDomainModule), + typeof(AbpBackgroundJobsDomainModule), + typeof(AbpFeatureManagementDomainModule), + typeof(AbpIdentityDomainModule), + typeof(AbpPermissionManagementDomainIdentityModule), + typeof(AbpIdentityServerDomainModule), + typeof(AbpPermissionManagementDomainIdentityServerModule), + typeof(AbpSettingManagementDomainModule), + typeof(AbpTenantManagementDomainModule), + typeof(AbpEmailingModule) + )] + public class WebApiDomainModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.IsEnabled = MultiTenancyConsts.IsEnabled; + }); + +#if DEBUG + context.Services.Replace(ServiceDescriptor.Singleton()); +#endif + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj new file mode 100644 index 0000000..ea8ee01 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.Domain/Win_in.Sfs.Scp.WebApi.Domain.csproj @@ -0,0 +1,27 @@ + + + + + + net5.0 + Win_in.Sfs.Scp.WebApi + + + + + + + + + + + + + + + + + + + + diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreWebApiDbSchemaMigrator.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreWebApiDbSchemaMigrator.cs new file mode 100644 index 0000000..6f6f4f6 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreWebApiDbSchemaMigrator.cs @@ -0,0 +1,43 @@ +using System; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Win_in.Sfs.Scp.WebApi.Data; +using Volo.Abp.DependencyInjection; + +namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore +{ + public class EntityFrameworkCoreWebApiDbSchemaMigrator + : IWebApiDbSchemaMigrator, ITransientDependency + { + private readonly IServiceProvider _serviceProvider; + + public EntityFrameworkCoreWebApiDbSchemaMigrator( + IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + } + + public async Task MigrateAsync() + { + /* We intentionally resolving the WebApiDbContext + * from IServiceProvider (instead of directly injecting it) + * to properly get the connection string of the current tenant in the + * current scope. + */ + + /* + await _serviceProvider + .GetRequiredService() + .Database + .MigrateAsync(); + */ + + await _serviceProvider + .GetRequiredService() + .Database + .MigrateAsync(); + + } + } +} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/IWebApiDbContext.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/IWebApiDbContext.cs similarity index 80% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/IWebApiDbContext.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/IWebApiDbContext.cs index 8947d11..eb46893 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/IWebApiDbContext.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/IWebApiDbContext.cs @@ -4,7 +4,7 @@ using Volo.Abp.EntityFrameworkCore; namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore { - [ConnectionStringName(WebApiDbProperties.ConnectionStringName)] + // [ConnectionStringName(WebApiConsts.ConnectionStringName)] public interface IWebApiDbContext : IEfCoreDbContext { /* Add DbSet for each Aggregate Root here. Example: @@ -15,5 +15,6 @@ namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore DbSet Suppliers { get; set; } DbSet PurchaseOrders { get; set; } DbSet Receipts { get; set; } + DbSet UnplannedReceipts { get; set; } } } \ No newline at end of file diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/PartRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/PartRepository.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/PartRepository.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/PartRepository.cs diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/PurchaseOrderRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/PurchaseOrderRepository.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/PurchaseOrderRepository.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/PurchaseOrderRepository.cs diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/ReceiptRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/ReceiptRepository.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/ReceiptRepository.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/ReceiptRepository.cs diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/SupplierRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/SupplierRepository.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/SupplierRepository.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/SupplierRepository.cs diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/UnplannedReceiptRepository.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/UnplannedReceiptRepository.cs new file mode 100644 index 0000000..7425ac6 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/UnplannedReceiptRepository.cs @@ -0,0 +1,12 @@ +using System; +using Volo.Abp.Domain.Repositories.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore; + +namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore; + +public class UnplannedReceiptRepository : EfCoreRepository, IUnplannedReceiptRepository +{ + public UnplannedReceiptRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) + { + } +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs new file mode 100644 index 0000000..c5082b7 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContext.cs @@ -0,0 +1,153 @@ +using Microsoft.EntityFrameworkCore; +using Volo.Abp.AuditLogging.EntityFrameworkCore; +using Volo.Abp.BackgroundJobs.EntityFrameworkCore; +using Volo.Abp.Data; +using Volo.Abp.DependencyInjection; +using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.FeatureManagement.EntityFrameworkCore; +using Volo.Abp.Identity; +using Volo.Abp.Identity.EntityFrameworkCore; +using Volo.Abp.IdentityServer.EntityFrameworkCore; +using Volo.Abp.PermissionManagement.EntityFrameworkCore; +using Volo.Abp.SettingManagement.EntityFrameworkCore; +using Volo.Abp.TenantManagement; +using Volo.Abp.TenantManagement.EntityFrameworkCore; + +namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore +{ + [ReplaceDbContext(typeof(IIdentityDbContext))] + [ReplaceDbContext(typeof(ITenantManagementDbContext))] + public class WebApiDbContext : + AbpDbContext, + IWebApiDbContext, + IIdentityDbContext, + ITenantManagementDbContext + + { + /* Add DbSet properties for your Aggregate Roots / Entities here. */ + + + public virtual DbSet Parts { get; set; } + public virtual DbSet Suppliers { get; set; } + public virtual DbSet PurchaseOrders { get; set; } + public virtual DbSet Receipts { get; set; } + public virtual DbSet UnplannedReceipts { get; set; } + + + #region Entities from the modules + + /* Notice: We only implemented IIdentityDbContext and ITenantManagementDbContext + * and replaced them for this DbContext. This allows you to perform JOIN + * queries for the entities of these modules over the repositories easily. You + * typically don't need that for other modules. But, if you need, you can + * implement the DbContext interface of the needed module and use ReplaceDbContext + * attribute just like IIdentityDbContext and ITenantManagementDbContext. + * + * More info: Replacing a DbContext of a module ensures that the related module + * uses this DbContext on runtime. Otherwise, it will use its own DbContext class. + */ + + //Identity + public DbSet Users { get; set; } + public DbSet Roles { get; set; } + public DbSet ClaimTypes { get; set; } + public DbSet OrganizationUnits { get; set; } + public DbSet SecurityLogs { get; set; } + public DbSet LinkUsers { get; set; } + + // Tenant Management + public DbSet Tenants { get; set; } + public DbSet TenantConnectionStrings { get; set; } + + #endregion + + + public WebApiDbContext(DbContextOptions options) + : base(options) + { + + } + + protected override void OnModelCreating(ModelBuilder builder) + { + base.OnModelCreating(builder); + + /* Configure your own tables/entities inside here */ + + //builder.Entity(b => + //{ + // b.ToTable(WebApiConsts.DbTablePrefix + "YourEntities", WebApiConsts.DbSchema); + // b.ConfigureByConvention(); //auto configure for the base class props + // //... + //}); + + builder.ConfigurePermissionManagement(); + builder.ConfigureSettingManagement(); + builder.ConfigureBackgroundJobs(); + builder.ConfigureAuditLogging(); + builder.ConfigureIdentity(); + builder.ConfigureIdentityServer(); + builder.ConfigureFeatureManagement(); + builder.ConfigureTenantManagement(); + + + builder.ConfigureWebApi(); + } + } + + /* + public class MainDbContext : AbpDbContext, + IIdentityDbContext, + ITenantManagementDbContext + { + + #region Entities from the modules + + /* Notice: We only implemented IIdentityDbContext and ITenantManagementDbContext + * and replaced them for this DbContext. This allows you to perform JOIN + * queries for the entities of these modules over the repositories easily. You + * typically don't need that for other modules. But, if you need, you can + * implement the DbContext interface of the needed module and use ReplaceDbContext + * attribute just like IIdentityDbContext and ITenantManagementDbContext. + * + * More info: Replacing a DbContext of a module ensures that the related module + * uses this DbContext on runtime. Otherwise, it will use its own DbContext class. + #1# + + //Identity + public DbSet Users { get; set; } + public DbSet Roles { get; set; } + public DbSet ClaimTypes { get; set; } + public DbSet OrganizationUnits { get; set; } + public DbSet SecurityLogs { get; set; } + public DbSet LinkUsers { get; set; } + + // Tenant Management + public DbSet Tenants { get; set; } + public DbSet TenantConnectionStrings { get; set; } + + #endregion + + public MainDbContext(DbContextOptions options) : base(options) + { + } + + protected override void OnModelCreating(ModelBuilder builder) + { + base.OnModelCreating(builder); + + /* Include modules to your migration db context #1# + + builder.ConfigurePermissionManagement(); + builder.ConfigureSettingManagement(); + builder.ConfigureBackgroundJobs(); + builder.ConfigureAuditLogging(); + builder.ConfigureIdentity(); + builder.ConfigureIdentityServer(); + builder.ConfigureFeatureManagement(); + builder.ConfigureTenantManagement(); + + } + } +*/ +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextFactory.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextFactory.cs new file mode 100644 index 0000000..dc2032d --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextFactory.cs @@ -0,0 +1,59 @@ +using System.IO; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Design; +using Microsoft.Extensions.Configuration; + +namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore +{ + /* This class is needed for EF Core console commands + * (like Add-Migration and Update-Database commands) */ + public class WebApiDbContextFactory : IDesignTimeDbContextFactory + { + public WebApiDbContext CreateDbContext(string[] args) + { + WebApiEfCoreEntityExtensionMappings.Configure(); + + var configuration = BuildConfiguration(); + + var builder = new DbContextOptionsBuilder() + .UseSqlServer(configuration.GetConnectionString("Default")); + + return new WebApiDbContext(builder.Options); + } + + private static IConfigurationRoot BuildConfiguration() + { + var builder = new ConfigurationBuilder() + .SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../Win_in.Sfs.Scp.WebApi.DbMigrator/")) + .AddJsonFile("appsettings.json", optional: false); + + return builder.Build(); + } + } + + /* + public class MainDbContextFactory : IDesignTimeDbContextFactory + { + public MainDbContext CreateDbContext(string[] args) + { + WebApiEfCoreEntityExtensionMappings.Configure(); + + var configuration = BuildConfiguration(); + + var builder = new DbContextOptionsBuilder() + .UseSqlServer(configuration.GetConnectionString("Default")); + + return new MainDbContext(builder.Options); + } + + private static IConfigurationRoot BuildConfiguration() + { + var builder = new ConfigurationBuilder() + .SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../Win_in.Sfs.Scp.WebApi.DbMigrator/")) + .AddJsonFile("appsettings.json", optional: false); + + return builder.Build(); + } + } +*/ +} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextModelCreatingExtensions.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextModelCreatingExtensions.cs similarity index 88% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextModelCreatingExtensions.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextModelCreatingExtensions.cs index b6f8251..8e6aa13 100644 --- a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextModelCreatingExtensions.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiDbContextModelCreatingExtensions.cs @@ -15,8 +15,8 @@ namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore Check.NotNull(builder, nameof(builder)); var options = new WebApiModelBuilderConfigurationOptions( - WebApiDbProperties.DbTablePrefix, - WebApiDbProperties.DbSchema + WebApiConsts.DbTablePrefix, + WebApiConsts.DbSchema ); optionsAction?.Invoke(options); @@ -46,6 +46,7 @@ namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore builder.ConfigReceipt(options); builder.ConfigPurchaseOrder(options); builder.ConfigPurchaseOrderDetail(options); + builder.ConfigUnplannedReceipt(options); } /// @@ -67,14 +68,17 @@ namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore b.Property(x => x.Desc1).HasMaxLength(1024); b.Property(x => x.Desc2).HasMaxLength(1024); b.Property(x => x.Status).IsRequired().HasMaxLength(64); - b.Property(x => x.CanMake).IsRequired(); - b.Property(x => x.CanBuy).IsRequired(); + b.Property(x => x.IsBuyPart).IsRequired(); + b.Property(x => x.IsMakePart).IsRequired(); b.Property(x => x.Uom).IsRequired().HasMaxLength(64); b.Property(x => x.AbcClass).IsRequired().HasMaxLength(64); b.Property(x => x.ProductLine).HasMaxLength(64); b.Property(x => x.Type).HasMaxLength(64); b.Property(x => x.Catalog).HasMaxLength(64); b.Property(x => x.Group).HasMaxLength(64); + b.Property(x => x.Version).HasMaxLength(64); + b.Property(x => x.Site).IsRequired().HasMaxLength(64); + b.Property(x => x.Company).IsRequired().HasMaxLength(64); //b.Property(x => x.Color).HasMaxLength(64); //b.Property(x => x.Configuration).HasMaxLength(64); //b.Property(x => x.Project).HasMaxLength(64); @@ -83,10 +87,6 @@ namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore //b.Property(x => x.StdPackQty).IsRequired(); //b.Property(x => x.ExtPackUom).HasMaxLength(64); //b.Property(x => x.ExtPackQty); - b.Property(x => x.Site).IsRequired().HasMaxLength(64); - b.Property(x => x.Company).IsRequired().HasMaxLength(64); - - b.HasIndex(x => new { x.Code,x.Company,x.Site }).IsUnique(); }); } @@ -119,8 +119,6 @@ namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore b.Property(q => q.Company).HasMaxLength(64); b.Property(q => q.Remark).HasMaxLength(4096); b.Property(x => x.Bank).HasMaxLength(64); - - b.HasIndex(q => new {q.Code, q.Company}).IsUnique(); }); } @@ -165,34 +163,23 @@ namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore b.Property(q => q.RcNumber).IsRequired().HasMaxLength(64); b.Property(q => q.AsnNumber).IsRequired().HasMaxLength(64); - //b.Property(q => q.RpNumber).IsRequired().HasMaxLength(64); b.Property(q => q.PoNumber).HasMaxLength(64); b.Property(q => q.SupplierCode).IsRequired().HasMaxLength(64); b.Property(q => q.RcType).IsRequired().HasMaxLength(64); - b.Property(q => q.Warehouse).IsRequired().HasMaxLength(64); - b.Property(q => q.Dock).IsRequired().HasMaxLength(64); - //b.Property(q => q.TimeWindowBegin).IsRequired(); - //b.Property(q => q.TimeWindowEnd).IsRequired(); + b.Property(q => q.Warehouse).HasMaxLength(64); + b.Property(q => q.Dock).HasMaxLength(64); b.Property(q => q.ReceiveDate).IsRequired(); - b.Property(q => q.ReceiveTime).IsRequired(); - b.Property(q => q.Site).IsRequired().HasMaxLength(64); - b.Property(q => q.Company).IsRequired().HasMaxLength(64); - b.Property(q => q.PoLine).IsRequired().HasMaxLength(64); + b.Property(q => q.ReceiveTime); + b.Property(q => q.PoLine).HasMaxLength(64); b.Property(q => q.PartCode).IsRequired().HasMaxLength(64); b.Property(q => q.Lot).IsRequired().HasMaxLength(64); - b.Property(q => q.SupplierLot).IsRequired().HasMaxLength(64); - b.Property(q => q.ProductionDate).IsRequired(); + b.Property(q => q.SupplierLot).IsRequired(); b.Property(q => q.Uom).IsRequired().HasMaxLength(64); - //b.Property(q => q.DeliverQty).IsRequired(); b.Property(q => q.ReceiveQty).IsRequired(); - //b.Property(q => q.StdPackUom).IsRequired().HasMaxLength(64); - //b.Property(q => q.StdPackQty).IsRequired(); - //b.Property(q => q.SupplierPackUom).IsRequired().HasMaxLength(64); - //b.Property(q => q.SupplierPackQty).IsRequired(); b.Property(q => q.SupplierPackConvertRate).IsRequired(); b.Property(q => q.Remark).HasMaxLength(4096); - - b.HasIndex(x => new { x.RcNumber,x.PoLine,x.PartCode,x.Company,x.Site }).IsUnique(); + b.Property(q => q.Site).IsRequired().HasMaxLength(64); + b.Property(q => q.Company).IsRequired().HasMaxLength(64); }); } @@ -215,6 +202,7 @@ namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore b.Property(q => q.IsConsignment).IsRequired(); b.Property(q => q.OrderDate).IsRequired(); b.Property(q => q.DueDate).IsRequired(); + b.Property(q => q.Version).IsRequired().HasMaxLength(64); b.Property(q => q.TaxRate).IsRequired(); b.Property(q => q.Site).IsRequired().HasMaxLength(64); b.Property(q => q.Company).IsRequired().HasMaxLength(64); @@ -222,10 +210,8 @@ namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore b.Property(q => q.ContactPhone).HasMaxLength(64); b.Property(q => q.Remark).HasMaxLength(4096); - b.HasMany(u => u.PODetails).WithOne().HasForeignKey(rd => rd.Id).OnDelete(DeleteBehavior.NoAction).IsRequired(); - + b.HasMany(u => u.Details).WithOne().HasForeignKey(rd => rd.Id).OnDelete(DeleteBehavior.NoAction).IsRequired(); - b.HasIndex(x => new { x.PoNumber,x.Company,x.Site }).IsUnique(); }); } @@ -246,20 +232,42 @@ namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore b.Property(q => q.PartCode).IsRequired().HasMaxLength(64); b.Property(q => q.Uom).IsRequired().HasMaxLength(64); b.Property(q => q.OrderQty).IsRequired(); - //b.Property(q => q.StdPackUom).IsRequired().HasMaxLength(64); b.Property(q => q.StdPackQty).IsRequired(); - //b.Property(q => q.SupplierPackUom).HasMaxLength(64); - //b.Property(q => q.SupplierPackQty); b.Property(q => q.SupplierPackConvertRate); b.Property(q => q.IsConsignment).IsRequired(); b.Property(q => q.LineStatus).IsRequired(); b.Property(q => q.Remark).HasMaxLength(4096); - - b.HasIndex(x => new { x.PoNumber,x.PoLine }).IsUnique(); }); } + private static void ConfigUnplannedReceipt(this ModelBuilder builder, + WebApiModelBuilderConfigurationOptions options) + { + builder.Entity(b => + { + //Configure table & schema name + b.ToTable(options.TablePrefix + "_UnplannedReceipt", options.Schema); + + b.ConfigureByConvention(); + + b.Property(q => q.TrNbr).IsRequired(); + b.Property(q => q.TrType).IsRequired().HasMaxLength(8); + b.Property(q => q.Order).HasMaxLength(64); + b.Property(q => q.Location).IsRequired().HasMaxLength(8); + b.Property(q => q.EffectiveDate).IsRequired(); + b.Property(q => q.SystemDate).IsRequired(); + b.Property(q => q.PartCode).IsRequired().HasMaxLength(18); + b.Property(q => q.Lot).IsRequired().HasMaxLength(64); + b.Property(q => q.Uom).IsRequired().HasMaxLength(8); + b.Property(q => q.Qty).IsRequired(); + b.Property(q => q.SoJob).HasMaxLength(20); + b.Property(q => q.Remark).HasMaxLength(4096); + b.Property(q => q.Site).IsRequired().HasMaxLength(8); + b.Property(q => q.Company).IsRequired().HasMaxLength(8); + }); + } + /* /// /// 发货单主表 diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEfCoreEntityExtensionMappings.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEfCoreEntityExtensionMappings.cs new file mode 100644 index 0000000..d29c3f5 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEfCoreEntityExtensionMappings.cs @@ -0,0 +1,45 @@ +using Microsoft.EntityFrameworkCore; +using Volo.Abp.Identity; +using Volo.Abp.ObjectExtending; +using Volo.Abp.Threading; + +namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore +{ + public static class WebApiEfCoreEntityExtensionMappings + { + private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); + + public static void Configure() + { + WebApiGlobalFeatureConfigurator.Configure(); + WebApiModuleExtensionConfigurator.Configure(); + + OneTimeRunner.Run(() => + { + /* You can configure extra properties for the + * entities defined in the modules used by your application. + * + * This class can be used to map these extra properties to table fields in the database. + * + * USE THIS CLASS ONLY TO CONFIGURE EF CORE RELATED MAPPING. + * USE WebApiModuleExtensionConfigurator CLASS (in the Domain.Shared project) + * FOR A HIGH LEVEL API TO DEFINE EXTRA PROPERTIES TO ENTITIES OF THE USED MODULES + * + * Example: Map a property to a table field: + + ObjectExtensionManager.Instance + .MapEfCoreProperty( + "MyProperty", + (entityBuilder, propertyBuilder) => + { + propertyBuilder.HasMaxLength(128); + } + ); + + * See the documentation for more: + * https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities + */ + }); + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs new file mode 100644 index 0000000..c454338 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiEntityFrameworkCoreModule.cs @@ -0,0 +1,80 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.AuditLogging.EntityFrameworkCore; +using Volo.Abp.BackgroundJobs.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore.DependencyInjection; +using Volo.Abp.EntityFrameworkCore.SqlServer; +using Volo.Abp.FeatureManagement.EntityFrameworkCore; +using Volo.Abp.Identity.EntityFrameworkCore; +using Volo.Abp.IdentityServer.EntityFrameworkCore; +using Volo.Abp.Modularity; +using Volo.Abp.PermissionManagement.EntityFrameworkCore; +using Volo.Abp.SettingManagement.EntityFrameworkCore; +using Volo.Abp.TenantManagement.EntityFrameworkCore; + +namespace Win_in.Sfs.Scp.WebApi.EntityFrameworkCore +{ + [DependsOn( + typeof(WebApiDomainModule), + typeof(AbpIdentityEntityFrameworkCoreModule), + typeof(AbpIdentityServerEntityFrameworkCoreModule), + typeof(AbpPermissionManagementEntityFrameworkCoreModule), + typeof(AbpSettingManagementEntityFrameworkCoreModule), + typeof(AbpEntityFrameworkCoreSqlServerModule), + typeof(AbpBackgroundJobsEntityFrameworkCoreModule), + typeof(AbpAuditLoggingEntityFrameworkCoreModule), + typeof(AbpTenantManagementEntityFrameworkCoreModule), + typeof(AbpFeatureManagementEntityFrameworkCoreModule) + )] + public class WebApiEntityFrameworkCoreModule : AbpModule + { + public override void PreConfigureServices(ServiceConfigurationContext context) + { + WebApiEfCoreEntityExtensionMappings.Configure(); + } + + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.AddAbpDbContext(options => + { + /* Remove "includeAllEntities: true" to create + * default repositories only for aggregate roots */ + + // options.AddDefaultRepositories(includeAllEntities: true); + + options.AddRepository(); + options.AddRepository(); + options.AddRepository(); + options.AddRepository(); + options.AddRepository(); + + Configure(o => + { + o.Entity(c => + { + c.DefaultWithDetailsFunc = query => query.Include(po => po.Details); + }); + }); + + }); + + /* + context.Services.AddAbpDbContext(options => + { + options.AddDefaultRepositories(includeAllEntities: true); + }); + */ + + + + Configure(options => + { + /* The main point to change your DBMS. + * See also WebApiMigrationsDbContextFactory for EF Core tooling. */ + options.UseSqlServer(); + }); + + } + } +} diff --git a/ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiModelBuilderConfigurationOptions.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiModelBuilderConfigurationOptions.cs similarity index 100% rename from ScpWebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiModelBuilderConfigurationOptions.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/EntityFrameworkCore/WebApiModelBuilderConfigurationOptions.cs diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/20220110060855_Init.Designer.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/20220110060855_Init.Designer.cs new file mode 100644 index 0000000..d4fa628 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/20220110060855_Init.Designer.cs @@ -0,0 +1,2842 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using Win_in.Sfs.Scp.WebApi.EntityFrameworkCore; + +namespace Win_in.Sfs.Scp.WebApi.Migrations +{ + [DbContext(typeof(WebApiDbContext))] + [Migration("20220110060855_Init")] + partial class Init + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) + .HasAnnotation("Relational:MaxIdentifierLength", 128) + .HasAnnotation("ProductVersion", "5.0.13") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)") + .HasColumnName("ApplicationName"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("BrowserInfo"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("ClientId"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("ClientIpAddress"); + + b.Property("ClientName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("ClientName"); + + b.Property("Comments") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Comments"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("CorrelationId"); + + b.Property("Exceptions") + .HasColumnType("nvarchar(max)"); + + b.Property("ExecutionDuration") + .HasColumnType("int") + .HasColumnName("ExecutionDuration"); + + b.Property("ExecutionTime") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HttpMethod") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("HttpMethod"); + + b.Property("HttpStatusCode") + .HasColumnType("int") + .HasColumnName("HttpStatusCode"); + + b.Property("ImpersonatorTenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("ImpersonatorTenantId"); + + b.Property("ImpersonatorUserId") + .HasColumnType("uniqueidentifier") + .HasColumnName("ImpersonatorUserId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasColumnType("nvarchar(max)"); + + b.Property("Url") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Url"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier") + .HasColumnName("UserId"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "ExecutionTime"); + + b.HasIndex("TenantId", "UserId", "ExecutionTime"); + + b.ToTable("AbpAuditLogs"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AuditLogId") + .HasColumnType("uniqueidentifier") + .HasColumnName("AuditLogId"); + + b.Property("ExecutionDuration") + .HasColumnType("int") + .HasColumnName("ExecutionDuration"); + + b.Property("ExecutionTime") + .HasColumnType("datetime2") + .HasColumnName("ExecutionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("MethodName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("MethodName"); + + b.Property("Parameters") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)") + .HasColumnName("Parameters"); + + b.Property("ServiceName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("ServiceName"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); + + b.ToTable("AbpAuditLogActions"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AuditLogId") + .HasColumnType("uniqueidentifier") + .HasColumnName("AuditLogId"); + + b.Property("ChangeTime") + .HasColumnType("datetime2") + .HasColumnName("ChangeTime"); + + b.Property("ChangeType") + .HasColumnType("tinyint") + .HasColumnName("ChangeType"); + + b.Property("EntityId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("EntityId"); + + b.Property("EntityTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("EntityTypeFullName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("EntityTypeFullName"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); + + b.ToTable("AbpEntityChanges"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("EntityChangeId") + .HasColumnType("uniqueidentifier"); + + b.Property("NewValue") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("NewValue"); + + b.Property("OriginalValue") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("OriginalValue"); + + b.Property("PropertyName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("PropertyName"); + + b.Property("PropertyTypeFullName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("PropertyTypeFullName"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("EntityChangeId"); + + b.ToTable("AbpEntityPropertyChanges"); + }); + + modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsAbandoned") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("JobArgs") + .IsRequired() + .HasMaxLength(1048576) + .HasColumnType("nvarchar(max)"); + + b.Property("JobName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("LastTryTime") + .HasColumnType("datetime2"); + + b.Property("NextTryTime") + .HasColumnType("datetime2"); + + b.Property("Priority") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint") + .HasDefaultValue((byte)15); + + b.Property("TryCount") + .ValueGeneratedOnAdd() + .HasColumnType("smallint") + .HasDefaultValue((short)0); + + b.HasKey("Id"); + + b.HasIndex("IsAbandoned", "NextTryTime"); + + b.ToTable("AbpBackgroundJobs"); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey"); + + b.ToTable("AbpFeatureValues"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("Description") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsStatic") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Regex") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("RegexDescription") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Required") + .HasColumnType("bit"); + + b.Property("ValueType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("AbpClaimTypes"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("SourceTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("SourceUserId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") + .IsUnique() + .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); + + b.ToTable("AbpLinkUsers"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDefault") + .HasColumnType("bit") + .HasColumnName("IsDefault"); + + b.Property("IsPublic") + .HasColumnType("bit") + .HasColumnName("IsPublic"); + + b.Property("IsStatic") + .HasColumnType("bit") + .HasColumnName("IsStatic"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName"); + + b.ToTable("AbpRoles"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AbpRoleClaims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Action") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("CreationTime") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Identity") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "Action"); + + b.HasIndex("TenantId", "ApplicationName"); + + b.HasIndex("TenantId", "Identity"); + + b.HasIndex("TenantId", "UserId"); + + b.ToTable("AbpSecurityLogs"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AccessFailedCount") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasColumnName("AccessFailedCount"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Email"); + + b.Property("EmailConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("EmailConfirmed"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsExternal") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsExternal"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LockoutEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("LockoutEnabled"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Name"); + + b.Property("NormalizedEmail") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedEmail"); + + b.Property("NormalizedUserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedUserName"); + + b.Property("PasswordHash") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("PasswordHash"); + + b.Property("PhoneNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("PhoneNumber"); + + b.Property("PhoneNumberConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("PhoneNumberConfirmed"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("SecurityStamp"); + + b.Property("Surname") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Surname"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TwoFactorEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("TwoFactorEnabled"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("Email"); + + b.HasIndex("NormalizedEmail"); + + b.HasIndex("NormalizedUserName"); + + b.HasIndex("UserName"); + + b.ToTable("AbpUsers"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AbpUserClaims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderDisplayName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(196) + .HasColumnType("nvarchar(196)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "LoginProvider"); + + b.HasIndex("LoginProvider", "ProviderKey"); + + b.ToTable("AbpUserLogins"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "UserId"); + + b.HasIndex("UserId", "OrganizationUnitId"); + + b.ToTable("AbpUserOrganizationUnits"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId", "UserId"); + + b.ToTable("AbpUserRoles"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AbpUserTokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(95) + .HasColumnType("nvarchar(95)") + .HasColumnName("Code"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("DisplayName"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Code"); + + b.HasIndex("ParentId"); + + b.ToTable("AbpOrganizationUnits"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "RoleId"); + + b.HasIndex("RoleId", "OrganizationUnitId"); + + b.ToTable("AbpOrganizationUnitRoles"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AllowedAccessTokenSigningAlgorithms") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("DisplayName") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ShowInDiscoveryDocument") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.ToTable("IdentityServerApiResources"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => + { + b.Property("ApiResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("ApiResourceId", "Type"); + + b.ToTable("IdentityServerApiResourceClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => + { + b.Property("ApiResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Key") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("ApiResourceId", "Key", "Value"); + + b.ToTable("IdentityServerApiResourceProperties"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => + { + b.Property("ApiResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Scope") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("ApiResourceId", "Scope"); + + b.ToTable("IdentityServerApiResourceScopes"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => + { + b.Property("ApiResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(4000) + .HasColumnType("nvarchar(4000)"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("Expiration") + .HasColumnType("datetime2"); + + b.HasKey("ApiResourceId", "Type", "Value"); + + b.ToTable("IdentityServerApiResourceSecrets"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("DisplayName") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Emphasize") + .HasColumnType("bit"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Required") + .HasColumnType("bit"); + + b.Property("ShowInDiscoveryDocument") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.ToTable("IdentityServerApiScopes"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => + { + b.Property("ApiScopeId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("ApiScopeId", "Type"); + + b.ToTable("IdentityServerApiScopeClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => + { + b.Property("ApiScopeId") + .HasColumnType("uniqueidentifier"); + + b.Property("Key") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("ApiScopeId", "Key", "Value"); + + b.ToTable("IdentityServerApiScopeProperties"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AbsoluteRefreshTokenLifetime") + .HasColumnType("int"); + + b.Property("AccessTokenLifetime") + .HasColumnType("int"); + + b.Property("AccessTokenType") + .HasColumnType("int"); + + b.Property("AllowAccessTokensViaBrowser") + .HasColumnType("bit"); + + b.Property("AllowOfflineAccess") + .HasColumnType("bit"); + + b.Property("AllowPlainTextPkce") + .HasColumnType("bit"); + + b.Property("AllowRememberConsent") + .HasColumnType("bit"); + + b.Property("AllowedIdentityTokenSigningAlgorithms") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("AlwaysIncludeUserClaimsInIdToken") + .HasColumnType("bit"); + + b.Property("AlwaysSendClientClaims") + .HasColumnType("bit"); + + b.Property("AuthorizationCodeLifetime") + .HasColumnType("int"); + + b.Property("BackChannelLogoutSessionRequired") + .HasColumnType("bit"); + + b.Property("BackChannelLogoutUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("ClientClaimsPrefix") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ClientId") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ClientName") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ClientUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ConsentLifetime") + .HasColumnType("int"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("DeviceCodeLifetime") + .HasColumnType("int"); + + b.Property("EnableLocalLogin") + .HasColumnType("bit"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("FrontChannelLogoutSessionRequired") + .HasColumnType("bit"); + + b.Property("FrontChannelLogoutUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("IdentityTokenLifetime") + .HasColumnType("int"); + + b.Property("IncludeJwtId") + .HasColumnType("bit"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LogoUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("PairWiseSubjectSalt") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ProtocolType") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("RefreshTokenExpiration") + .HasColumnType("int"); + + b.Property("RefreshTokenUsage") + .HasColumnType("int"); + + b.Property("RequireClientSecret") + .HasColumnType("bit"); + + b.Property("RequireConsent") + .HasColumnType("bit"); + + b.Property("RequirePkce") + .HasColumnType("bit"); + + b.Property("RequireRequestObject") + .HasColumnType("bit"); + + b.Property("SlidingRefreshTokenLifetime") + .HasColumnType("int"); + + b.Property("UpdateAccessTokenClaimsOnRefresh") + .HasColumnType("bit"); + + b.Property("UserCodeType") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UserSsoLifetime") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.ToTable("IdentityServerClients"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.HasKey("ClientId", "Type", "Value"); + + b.ToTable("IdentityServerClientClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Origin") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.HasKey("ClientId", "Origin"); + + b.ToTable("IdentityServerClientCorsOrigins"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("GrantType") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.HasKey("ClientId", "GrantType"); + + b.ToTable("IdentityServerClientGrantTypes"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Provider") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("ClientId", "Provider"); + + b.ToTable("IdentityServerClientIdPRestrictions"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("PostLogoutRedirectUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("ClientId", "PostLogoutRedirectUri"); + + b.ToTable("IdentityServerClientPostLogoutRedirectUris"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Key") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("ClientId", "Key", "Value"); + + b.ToTable("IdentityServerClientProperties"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("RedirectUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("ClientId", "RedirectUri"); + + b.ToTable("IdentityServerClientRedirectUris"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Scope") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("ClientId", "Scope"); + + b.ToTable("IdentityServerClientScopes"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(4000) + .HasColumnType("nvarchar(4000)"); + + b.Property("Description") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("Expiration") + .HasColumnType("datetime2"); + + b.HasKey("ClientId", "Type", "Value"); + + b.ToTable("IdentityServerClientSecrets"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ClientId") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Data") + .IsRequired() + .HasMaxLength(50000) + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("DeviceCode") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Expiration") + .IsRequired() + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("SessionId") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SubjectId") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("UserCode") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("Id"); + + b.HasIndex("DeviceCode") + .IsUnique(); + + b.HasIndex("Expiration"); + + b.HasIndex("UserCode"); + + b.ToTable("IdentityServerDeviceFlowCodes"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => + { + b.Property("Key") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ClientId") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ConsumedTime") + .HasColumnType("datetime2"); + + b.Property("CreationTime") + .HasColumnType("datetime2"); + + b.Property("Data") + .IsRequired() + .HasMaxLength(50000) + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Expiration") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("SessionId") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SubjectId") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Type") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Key"); + + b.HasIndex("Expiration"); + + b.HasIndex("SubjectId", "ClientId", "Type"); + + b.HasIndex("SubjectId", "SessionId", "Type"); + + b.ToTable("IdentityServerPersistedGrants"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("DisplayName") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Emphasize") + .HasColumnType("bit"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Required") + .HasColumnType("bit"); + + b.Property("ShowInDiscoveryDocument") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.ToTable("IdentityServerIdentityResources"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => + { + b.Property("IdentityResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("IdentityResourceId", "Type"); + + b.ToTable("IdentityServerIdentityResourceClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => + { + b.Property("IdentityResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Key") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("IdentityResourceId", "Key", "Value"); + + b.ToTable("IdentityServerIdentityResourceProperties"); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey"); + + b.ToTable("AbpPermissionGrants"); + }); + + modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey"); + + b.ToTable("AbpSettings"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.HasIndex("Name"); + + b.ToTable("AbpTenants"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => + { + b.Property("TenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.HasKey("TenantId", "Name"); + + b.ToTable("AbpTenantConnectionStrings"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AbcClass") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Catalog") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Company") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Desc1") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("Desc2") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Group") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("IsBuyPart") + .HasColumnType("bit"); + + b.Property("IsMakePart") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProductLine") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Site") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Status") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Type") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Uom") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Version") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_Part"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.PurchaseOrder", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Company") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ContactName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ContactPhone") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DueDate") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsConsignment") + .HasColumnType("bit"); + + b.Property("OrderDate") + .HasColumnType("datetime2"); + + b.Property("PoNumber") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PoType") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Remark") + .HasMaxLength(4096) + .HasColumnType("nvarchar(max)"); + + b.Property("Site") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("SupplierCode") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("TaxRate") + .HasColumnType("decimal(18,2)"); + + b.Property("Version") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_PO"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.PurchaseOrderDetail", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("IsConsignment") + .HasColumnType("bit"); + + b.Property("LineStatus") + .HasColumnType("int"); + + b.Property("OrderQty") + .HasColumnType("decimal(18,2)"); + + b.Property("PartCode") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PoLine") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PoNumber") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Remark") + .HasMaxLength(4096) + .HasColumnType("nvarchar(max)"); + + b.Property("StdPackQty") + .HasColumnType("decimal(18,2)"); + + b.Property("StdPackUom") + .HasColumnType("nvarchar(max)"); + + b.Property("SupplierPackConvertRate") + .HasColumnType("decimal(18,2)"); + + b.Property("Uom") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_PODetail"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.Receipt", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AsnNumber") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Company") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Dock") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Lot") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PartCode") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PoLine") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PoNumber") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("RcNumber") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("RcType") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ReceiveDate") + .HasColumnType("datetime2"); + + b.Property("ReceiveQty") + .HasColumnType("decimal(18,2)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("Remark") + .HasMaxLength(4096) + .HasColumnType("nvarchar(max)"); + + b.Property("Site") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("SupplierCode") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("SupplierLot") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("SupplierPackConvertRate") + .HasColumnType("decimal(18,2)"); + + b.Property("Uom") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Warehouse") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_Receipt"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.Supplier", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Address") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("Bank") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("City") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Company") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ContactName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Country") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Currency") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Desc") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Fax") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Phone") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PostId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Rank") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Remark") + .HasMaxLength(4096) + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_Suppliers"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.UnplannedReceipt", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Company") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("EffectiveDate") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Location") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("Lot") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Order") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PartCode") + .IsRequired() + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property("Qty") + .HasColumnType("decimal(18,2)"); + + b.Property("Remark") + .HasMaxLength(4096) + .HasColumnType("nvarchar(max)"); + + b.Property("Site") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("SoJob") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("SystemDate") + .HasColumnType("datetime2"); + + b.Property("TrNbr") + .HasColumnType("bigint"); + + b.Property("TrType") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("Uom") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_UnplannedReceipt"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => + { + b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) + .WithMany("Actions") + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) + .WithMany("EntityChanges") + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => + { + b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) + .WithMany("PropertyChanges") + .HasForeignKey("EntityChangeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany("Claims") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Claims") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Logins") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("OrganizationUnits") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Roles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Tokens") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("ParentId"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany("Roles") + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) + .WithMany("UserClaims") + .HasForeignKey("ApiResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) + .WithMany("Properties") + .HasForeignKey("ApiResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) + .WithMany("Scopes") + .HasForeignKey("ApiResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) + .WithMany("Secrets") + .HasForeignKey("ApiResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) + .WithMany("UserClaims") + .HasForeignKey("ApiScopeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) + .WithMany("Properties") + .HasForeignKey("ApiScopeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("Claims") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("AllowedCorsOrigins") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("AllowedGrantTypes") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("IdentityProviderRestrictions") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("PostLogoutRedirectUris") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("Properties") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("RedirectUris") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("AllowedScopes") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("ClientSecrets") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => + { + b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) + .WithMany("UserClaims") + .HasForeignKey("IdentityResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => + { + b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) + .WithMany("Properties") + .HasForeignKey("IdentityResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => + { + b.HasOne("Volo.Abp.TenantManagement.Tenant", null) + .WithMany("ConnectionStrings") + .HasForeignKey("TenantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.PurchaseOrderDetail", b => + { + b.HasOne("Win_in.Sfs.Scp.WebApi.PurchaseOrder", null) + .WithMany("Details") + .HasForeignKey("Id") + .OnDelete(DeleteBehavior.NoAction) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => + { + b.Navigation("Actions"); + + b.Navigation("EntityChanges"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.Navigation("PropertyChanges"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Navigation("Claims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Navigation("Claims"); + + b.Navigation("Logins"); + + b.Navigation("OrganizationUnits"); + + b.Navigation("Roles"); + + b.Navigation("Tokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Navigation("Roles"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => + { + b.Navigation("Properties"); + + b.Navigation("Scopes"); + + b.Navigation("Secrets"); + + b.Navigation("UserClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => + { + b.Navigation("Properties"); + + b.Navigation("UserClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => + { + b.Navigation("AllowedCorsOrigins"); + + b.Navigation("AllowedGrantTypes"); + + b.Navigation("AllowedScopes"); + + b.Navigation("Claims"); + + b.Navigation("ClientSecrets"); + + b.Navigation("IdentityProviderRestrictions"); + + b.Navigation("PostLogoutRedirectUris"); + + b.Navigation("Properties"); + + b.Navigation("RedirectUris"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => + { + b.Navigation("Properties"); + + b.Navigation("UserClaims"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => + { + b.Navigation("ConnectionStrings"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.PurchaseOrder", b => + { + b.Navigation("Details"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/20220110060855_Init.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/20220110060855_Init.cs new file mode 100644 index 0000000..2155ce5 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/20220110060855_Init.cs @@ -0,0 +1,1563 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace Win_in.Sfs.Scp.WebApi.Migrations +{ + public partial class Init : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "AbpAuditLogs", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + ApplicationName = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), + UserId = table.Column(type: "uniqueidentifier", nullable: true), + UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + TenantName = table.Column(type: "nvarchar(max)", nullable: true), + ImpersonatorUserId = table.Column(type: "uniqueidentifier", nullable: true), + ImpersonatorTenantId = table.Column(type: "uniqueidentifier", nullable: true), + ExecutionTime = table.Column(type: "datetime2", nullable: false), + ExecutionDuration = table.Column(type: "int", nullable: false), + ClientIpAddress = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ClientName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), + ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + CorrelationId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + BrowserInfo = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), + HttpMethod = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true), + Url = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + Exceptions = table.Column(type: "nvarchar(max)", nullable: true), + Comments = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + HttpStatusCode = table.Column(type: "int", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpAuditLogs", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpBackgroundJobs", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + JobName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + JobArgs = table.Column(type: "nvarchar(max)", maxLength: 1048576, nullable: false), + TryCount = table.Column(type: "smallint", nullable: false, defaultValue: (short)0), + CreationTime = table.Column(type: "datetime2", nullable: false), + NextTryTime = table.Column(type: "datetime2", nullable: false), + LastTryTime = table.Column(type: "datetime2", nullable: true), + IsAbandoned = table.Column(type: "bit", nullable: false, defaultValue: false), + Priority = table.Column(type: "tinyint", nullable: false, defaultValue: (byte)15), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpBackgroundJobs", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpClaimTypes", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + Required = table.Column(type: "bit", nullable: false), + IsStatic = table.Column(type: "bit", nullable: false), + Regex = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), + RegexDescription = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), + Description = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + ValueType = table.Column(type: "int", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpClaimTypes", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpFeatureValues", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + Value = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpFeatureValues", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpLinkUsers", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + SourceUserId = table.Column(type: "uniqueidentifier", nullable: false), + SourceTenantId = table.Column(type: "uniqueidentifier", nullable: true), + TargetUserId = table.Column(type: "uniqueidentifier", nullable: false), + TargetTenantId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpLinkUsers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpOrganizationUnits", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ParentId = table.Column(type: "uniqueidentifier", nullable: true), + Code = table.Column(type: "nvarchar(95)", maxLength: 95, nullable: false), + DisplayName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpOrganizationUnits", x => x.Id); + table.ForeignKey( + name: "FK_AbpOrganizationUnits_AbpOrganizationUnits_ParentId", + column: x => x.ParentId, + principalTable: "AbpOrganizationUnits", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "AbpPermissionGrants", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpPermissionGrants", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpRoles", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + NormalizedName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + IsDefault = table.Column(type: "bit", nullable: false), + IsStatic = table.Column(type: "bit", nullable: false), + IsPublic = table.Column(type: "bit", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpRoles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpSecurityLogs", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ApplicationName = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), + Identity = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), + Action = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), + UserId = table.Column(type: "uniqueidentifier", nullable: true), + UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + TenantName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + CorrelationId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ClientIpAddress = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + BrowserInfo = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpSecurityLogs", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpSettings", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + Value = table.Column(type: "nvarchar(2048)", maxLength: 2048, nullable: false), + ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpSettings", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpTenants", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpTenants", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpUsers", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + NormalizedUserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Surname = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Email = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + NormalizedEmail = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + EmailConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false), + PasswordHash = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + SecurityStamp = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + IsExternal = table.Column(type: "bit", nullable: false, defaultValue: false), + PhoneNumber = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true), + PhoneNumberConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false), + TwoFactorEnabled = table.Column(type: "bit", nullable: false, defaultValue: false), + LockoutEnd = table.Column(type: "datetimeoffset", nullable: true), + LockoutEnabled = table.Column(type: "bit", nullable: false, defaultValue: false), + AccessFailedCount = table.Column(type: "int", nullable: false, defaultValue: 0), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUsers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerApiResources", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + DisplayName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), + Enabled = table.Column(type: "bit", nullable: false), + AllowedAccessTokenSigningAlgorithms = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + ShowInDiscoveryDocument = table.Column(type: "bit", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerApiResources", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerApiScopes", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Enabled = table.Column(type: "bit", nullable: false), + Name = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + DisplayName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), + Required = table.Column(type: "bit", nullable: false), + Emphasize = table.Column(type: "bit", nullable: false), + ShowInDiscoveryDocument = table.Column(type: "bit", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerApiScopes", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerClients", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + ClientId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + ClientName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), + ClientUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), + LogoUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), + Enabled = table.Column(type: "bit", nullable: false), + ProtocolType = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + RequireClientSecret = table.Column(type: "bit", nullable: false), + RequireConsent = table.Column(type: "bit", nullable: false), + AllowRememberConsent = table.Column(type: "bit", nullable: false), + AlwaysIncludeUserClaimsInIdToken = table.Column(type: "bit", nullable: false), + RequirePkce = table.Column(type: "bit", nullable: false), + AllowPlainTextPkce = table.Column(type: "bit", nullable: false), + RequireRequestObject = table.Column(type: "bit", nullable: false), + AllowAccessTokensViaBrowser = table.Column(type: "bit", nullable: false), + FrontChannelLogoutUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), + FrontChannelLogoutSessionRequired = table.Column(type: "bit", nullable: false), + BackChannelLogoutUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), + BackChannelLogoutSessionRequired = table.Column(type: "bit", nullable: false), + AllowOfflineAccess = table.Column(type: "bit", nullable: false), + IdentityTokenLifetime = table.Column(type: "int", nullable: false), + AllowedIdentityTokenSigningAlgorithms = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + AccessTokenLifetime = table.Column(type: "int", nullable: false), + AuthorizationCodeLifetime = table.Column(type: "int", nullable: false), + ConsentLifetime = table.Column(type: "int", nullable: true), + AbsoluteRefreshTokenLifetime = table.Column(type: "int", nullable: false), + SlidingRefreshTokenLifetime = table.Column(type: "int", nullable: false), + RefreshTokenUsage = table.Column(type: "int", nullable: false), + UpdateAccessTokenClaimsOnRefresh = table.Column(type: "bit", nullable: false), + RefreshTokenExpiration = table.Column(type: "int", nullable: false), + AccessTokenType = table.Column(type: "int", nullable: false), + EnableLocalLogin = table.Column(type: "bit", nullable: false), + IncludeJwtId = table.Column(type: "bit", nullable: false), + AlwaysSendClientClaims = table.Column(type: "bit", nullable: false), + ClientClaimsPrefix = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + PairWiseSubjectSalt = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + UserSsoLifetime = table.Column(type: "int", nullable: true), + UserCodeType = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + DeviceCodeLifetime = table.Column(type: "int", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerClients", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerDeviceFlowCodes", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + DeviceCode = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + UserCode = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + SubjectId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + SessionId = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + ClientId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + Description = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + Expiration = table.Column(type: "datetime2", nullable: false), + Data = table.Column(type: "nvarchar(max)", maxLength: 50000, nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerDeviceFlowCodes", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerIdentityResources", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + DisplayName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), + Enabled = table.Column(type: "bit", nullable: false), + Required = table.Column(type: "bit", nullable: false), + Emphasize = table.Column(type: "bit", nullable: false), + ShowInDiscoveryDocument = table.Column(type: "bit", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerIdentityResources", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerPersistedGrants", + columns: table => new + { + Key = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + SubjectId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + SessionId = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + ClientId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + Description = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + Expiration = table.Column(type: "datetime2", nullable: true), + ConsumedTime = table.Column(type: "datetime2", nullable: true), + Data = table.Column(type: "nvarchar(max)", maxLength: 50000, nullable: false), + Id = table.Column(type: "uniqueidentifier", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerPersistedGrants", x => x.Key); + }); + + migrationBuilder.CreateTable( + name: "WebApi_Part", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Code = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Desc1 = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true), + Desc2 = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true), + Status = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + IsMakePart = table.Column(type: "bit", nullable: false), + IsBuyPart = table.Column(type: "bit", nullable: false), + Uom = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + AbcClass = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + ProductLine = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Type = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Catalog = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Group = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Version = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Site = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_WebApi_Part", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "WebApi_PO", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PoNumber = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + SupplierCode = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + PoType = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Status = table.Column(type: "int", nullable: false), + IsConsignment = table.Column(type: "bit", nullable: false), + OrderDate = table.Column(type: "datetime2", nullable: false), + DueDate = table.Column(type: "datetime2", nullable: false), + Version = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + TaxRate = table.Column(type: "decimal(18,2)", nullable: false), + ContactName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ContactPhone = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), + Site = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_WebApi_PO", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "WebApi_Receipt", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + RcNumber = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + AsnNumber = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + PoNumber = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + SupplierCode = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + RcType = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Warehouse = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Dock = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ReceiveDate = table.Column(type: "datetime2", nullable: false), + ReceiveTime = table.Column(type: "datetime2", nullable: false), + PoLine = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + PartCode = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Lot = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + SupplierLot = table.Column(type: "nvarchar(max)", nullable: false), + Uom = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + ReceiveQty = table.Column(type: "decimal(18,2)", nullable: false), + SupplierPackConvertRate = table.Column(type: "decimal(18,2)", nullable: false), + Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), + Site = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_WebApi_Receipt", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "WebApi_Suppliers", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Code = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Desc = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true), + Rank = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Address = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true), + Country = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + City = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Phone = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Fax = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + PostId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ContactName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Currency = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Bank = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + IsActive = table.Column(type: "bit", nullable: false), + Company = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_WebApi_Suppliers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "WebApi_UnplannedReceipt", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TrNbr = table.Column(type: "bigint", nullable: false), + TrType = table.Column(type: "nvarchar(8)", maxLength: 8, nullable: false), + Order = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + PartCode = table.Column(type: "nvarchar(18)", maxLength: 18, nullable: false), + Lot = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Uom = table.Column(type: "nvarchar(8)", maxLength: 8, nullable: false), + Qty = table.Column(type: "decimal(18,2)", nullable: false), + Location = table.Column(type: "nvarchar(8)", maxLength: 8, nullable: false), + EffectiveDate = table.Column(type: "datetime2", nullable: false), + SystemDate = table.Column(type: "datetime2", nullable: false), + SoJob = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: true), + Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), + Site = table.Column(type: "nvarchar(8)", maxLength: 8, nullable: false), + Company = table.Column(type: "nvarchar(8)", maxLength: 8, nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_WebApi_UnplannedReceipt", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpAuditLogActions", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + AuditLogId = table.Column(type: "uniqueidentifier", nullable: false), + ServiceName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + MethodName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), + Parameters = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), + ExecutionTime = table.Column(type: "datetime2", nullable: false), + ExecutionDuration = table.Column(type: "int", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpAuditLogActions", x => x.Id); + table.ForeignKey( + name: "FK_AbpAuditLogActions_AbpAuditLogs_AuditLogId", + column: x => x.AuditLogId, + principalTable: "AbpAuditLogs", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpEntityChanges", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + AuditLogId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ChangeTime = table.Column(type: "datetime2", nullable: false), + ChangeType = table.Column(type: "tinyint", nullable: false), + EntityTenantId = table.Column(type: "uniqueidentifier", nullable: true), + EntityId = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + EntityTypeFullName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpEntityChanges", x => x.Id); + table.ForeignKey( + name: "FK_AbpEntityChanges_AbpAuditLogs_AuditLogId", + column: x => x.AuditLogId, + principalTable: "AbpAuditLogs", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpOrganizationUnitRoles", + columns: table => new + { + RoleId = table.Column(type: "uniqueidentifier", nullable: false), + OrganizationUnitId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpOrganizationUnitRoles", x => new { x.OrganizationUnitId, x.RoleId }); + table.ForeignKey( + name: "FK_AbpOrganizationUnitRoles_AbpOrganizationUnits_OrganizationUnitId", + column: x => x.OrganizationUnitId, + principalTable: "AbpOrganizationUnits", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_AbpOrganizationUnitRoles_AbpRoles_RoleId", + column: x => x.RoleId, + principalTable: "AbpRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpRoleClaims", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + RoleId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ClaimType = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + ClaimValue = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpRoleClaims", x => x.Id); + table.ForeignKey( + name: "FK_AbpRoleClaims_AbpRoles_RoleId", + column: x => x.RoleId, + principalTable: "AbpRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpTenantConnectionStrings", + columns: table => new + { + TenantId = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Value = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpTenantConnectionStrings", x => new { x.TenantId, x.Name }); + table.ForeignKey( + name: "FK_AbpTenantConnectionStrings_AbpTenants_TenantId", + column: x => x.TenantId, + principalTable: "AbpTenants", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpUserClaims", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + UserId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ClaimType = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + ClaimValue = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUserClaims", x => x.Id); + table.ForeignKey( + name: "FK_AbpUserClaims_AbpUsers_UserId", + column: x => x.UserId, + principalTable: "AbpUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpUserLogins", + columns: table => new + { + UserId = table.Column(type: "uniqueidentifier", nullable: false), + LoginProvider = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ProviderKey = table.Column(type: "nvarchar(196)", maxLength: 196, nullable: false), + ProviderDisplayName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUserLogins", x => new { x.UserId, x.LoginProvider }); + table.ForeignKey( + name: "FK_AbpUserLogins_AbpUsers_UserId", + column: x => x.UserId, + principalTable: "AbpUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpUserOrganizationUnits", + columns: table => new + { + UserId = table.Column(type: "uniqueidentifier", nullable: false), + OrganizationUnitId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUserOrganizationUnits", x => new { x.OrganizationUnitId, x.UserId }); + table.ForeignKey( + name: "FK_AbpUserOrganizationUnits_AbpOrganizationUnits_OrganizationUnitId", + column: x => x.OrganizationUnitId, + principalTable: "AbpOrganizationUnits", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_AbpUserOrganizationUnits_AbpUsers_UserId", + column: x => x.UserId, + principalTable: "AbpUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpUserRoles", + columns: table => new + { + UserId = table.Column(type: "uniqueidentifier", nullable: false), + RoleId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUserRoles", x => new { x.UserId, x.RoleId }); + table.ForeignKey( + name: "FK_AbpUserRoles_AbpRoles_RoleId", + column: x => x.RoleId, + principalTable: "AbpRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_AbpUserRoles_AbpUsers_UserId", + column: x => x.UserId, + principalTable: "AbpUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpUserTokens", + columns: table => new + { + UserId = table.Column(type: "uniqueidentifier", nullable: false), + LoginProvider = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + Value = table.Column(type: "nvarchar(max)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); + table.ForeignKey( + name: "FK_AbpUserTokens_AbpUsers_UserId", + column: x => x.UserId, + principalTable: "AbpUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerApiResourceClaims", + columns: table => new + { + Type = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerApiResourceClaims", x => new { x.ApiResourceId, x.Type }); + table.ForeignKey( + name: "FK_IdentityServerApiResourceClaims_IdentityServerApiResources_ApiResourceId", + column: x => x.ApiResourceId, + principalTable: "IdentityServerApiResources", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerApiResourceProperties", + columns: table => new + { + ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false), + Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), + Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerApiResourceProperties", x => new { x.ApiResourceId, x.Key, x.Value }); + table.ForeignKey( + name: "FK_IdentityServerApiResourceProperties_IdentityServerApiResources_ApiResourceId", + column: x => x.ApiResourceId, + principalTable: "IdentityServerApiResources", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerApiResourceScopes", + columns: table => new + { + ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false), + Scope = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerApiResourceScopes", x => new { x.ApiResourceId, x.Scope }); + table.ForeignKey( + name: "FK_IdentityServerApiResourceScopes_IdentityServerApiResources_ApiResourceId", + column: x => x.ApiResourceId, + principalTable: "IdentityServerApiResources", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerApiResourceSecrets", + columns: table => new + { + Type = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), + Value = table.Column(type: "nvarchar(4000)", maxLength: 4000, nullable: false), + ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false), + Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), + Expiration = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerApiResourceSecrets", x => new { x.ApiResourceId, x.Type, x.Value }); + table.ForeignKey( + name: "FK_IdentityServerApiResourceSecrets_IdentityServerApiResources_ApiResourceId", + column: x => x.ApiResourceId, + principalTable: "IdentityServerApiResources", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerApiScopeClaims", + columns: table => new + { + Type = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + ApiScopeId = table.Column(type: "uniqueidentifier", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerApiScopeClaims", x => new { x.ApiScopeId, x.Type }); + table.ForeignKey( + name: "FK_IdentityServerApiScopeClaims_IdentityServerApiScopes_ApiScopeId", + column: x => x.ApiScopeId, + principalTable: "IdentityServerApiScopes", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerApiScopeProperties", + columns: table => new + { + ApiScopeId = table.Column(type: "uniqueidentifier", nullable: false), + Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), + Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerApiScopeProperties", x => new { x.ApiScopeId, x.Key, x.Value }); + table.ForeignKey( + name: "FK_IdentityServerApiScopeProperties_IdentityServerApiScopes_ApiScopeId", + column: x => x.ApiScopeId, + principalTable: "IdentityServerApiScopes", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerClientClaims", + columns: table => new + { + ClientId = table.Column(type: "uniqueidentifier", nullable: false), + Type = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), + Value = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerClientClaims", x => new { x.ClientId, x.Type, x.Value }); + table.ForeignKey( + name: "FK_IdentityServerClientClaims_IdentityServerClients_ClientId", + column: x => x.ClientId, + principalTable: "IdentityServerClients", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerClientCorsOrigins", + columns: table => new + { + ClientId = table.Column(type: "uniqueidentifier", nullable: false), + Origin = table.Column(type: "nvarchar(150)", maxLength: 150, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerClientCorsOrigins", x => new { x.ClientId, x.Origin }); + table.ForeignKey( + name: "FK_IdentityServerClientCorsOrigins_IdentityServerClients_ClientId", + column: x => x.ClientId, + principalTable: "IdentityServerClients", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerClientGrantTypes", + columns: table => new + { + ClientId = table.Column(type: "uniqueidentifier", nullable: false), + GrantType = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerClientGrantTypes", x => new { x.ClientId, x.GrantType }); + table.ForeignKey( + name: "FK_IdentityServerClientGrantTypes_IdentityServerClients_ClientId", + column: x => x.ClientId, + principalTable: "IdentityServerClients", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerClientIdPRestrictions", + columns: table => new + { + ClientId = table.Column(type: "uniqueidentifier", nullable: false), + Provider = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerClientIdPRestrictions", x => new { x.ClientId, x.Provider }); + table.ForeignKey( + name: "FK_IdentityServerClientIdPRestrictions_IdentityServerClients_ClientId", + column: x => x.ClientId, + principalTable: "IdentityServerClients", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerClientPostLogoutRedirectUris", + columns: table => new + { + ClientId = table.Column(type: "uniqueidentifier", nullable: false), + PostLogoutRedirectUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerClientPostLogoutRedirectUris", x => new { x.ClientId, x.PostLogoutRedirectUri }); + table.ForeignKey( + name: "FK_IdentityServerClientPostLogoutRedirectUris_IdentityServerClients_ClientId", + column: x => x.ClientId, + principalTable: "IdentityServerClients", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerClientProperties", + columns: table => new + { + ClientId = table.Column(type: "uniqueidentifier", nullable: false), + Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), + Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerClientProperties", x => new { x.ClientId, x.Key, x.Value }); + table.ForeignKey( + name: "FK_IdentityServerClientProperties_IdentityServerClients_ClientId", + column: x => x.ClientId, + principalTable: "IdentityServerClients", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerClientRedirectUris", + columns: table => new + { + ClientId = table.Column(type: "uniqueidentifier", nullable: false), + RedirectUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerClientRedirectUris", x => new { x.ClientId, x.RedirectUri }); + table.ForeignKey( + name: "FK_IdentityServerClientRedirectUris_IdentityServerClients_ClientId", + column: x => x.ClientId, + principalTable: "IdentityServerClients", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerClientScopes", + columns: table => new + { + ClientId = table.Column(type: "uniqueidentifier", nullable: false), + Scope = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerClientScopes", x => new { x.ClientId, x.Scope }); + table.ForeignKey( + name: "FK_IdentityServerClientScopes_IdentityServerClients_ClientId", + column: x => x.ClientId, + principalTable: "IdentityServerClients", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerClientSecrets", + columns: table => new + { + Type = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), + Value = table.Column(type: "nvarchar(4000)", maxLength: 4000, nullable: false), + ClientId = table.Column(type: "uniqueidentifier", nullable: false), + Description = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), + Expiration = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerClientSecrets", x => new { x.ClientId, x.Type, x.Value }); + table.ForeignKey( + name: "FK_IdentityServerClientSecrets_IdentityServerClients_ClientId", + column: x => x.ClientId, + principalTable: "IdentityServerClients", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerIdentityResourceClaims", + columns: table => new + { + Type = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + IdentityResourceId = table.Column(type: "uniqueidentifier", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerIdentityResourceClaims", x => new { x.IdentityResourceId, x.Type }); + table.ForeignKey( + name: "FK_IdentityServerIdentityResourceClaims_IdentityServerIdentityResources_IdentityResourceId", + column: x => x.IdentityResourceId, + principalTable: "IdentityServerIdentityResources", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IdentityServerIdentityResourceProperties", + columns: table => new + { + IdentityResourceId = table.Column(type: "uniqueidentifier", nullable: false), + Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), + Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_IdentityServerIdentityResourceProperties", x => new { x.IdentityResourceId, x.Key, x.Value }); + table.ForeignKey( + name: "FK_IdentityServerIdentityResourceProperties_IdentityServerIdentityResources_IdentityResourceId", + column: x => x.IdentityResourceId, + principalTable: "IdentityServerIdentityResources", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "WebApi_PODetail", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + PoNumber = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + PoLine = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + PartCode = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Uom = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + OrderQty = table.Column(type: "decimal(18,2)", nullable: false), + StdPackUom = table.Column(type: "nvarchar(max)", nullable: true), + StdPackQty = table.Column(type: "decimal(18,2)", nullable: false), + SupplierPackConvertRate = table.Column(type: "decimal(18,2)", nullable: false), + IsConsignment = table.Column(type: "bit", nullable: false), + LineStatus = table.Column(type: "int", nullable: false), + Remark = table.Column(type: "nvarchar(max)", maxLength: 4096, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_WebApi_PODetail", x => x.Id); + table.ForeignKey( + name: "FK_WebApi_PODetail_WebApi_PO_Id", + column: x => x.Id, + principalTable: "WebApi_PO", + principalColumn: "Id"); + }); + + migrationBuilder.CreateTable( + name: "AbpEntityPropertyChanges", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + EntityChangeId = table.Column(type: "uniqueidentifier", nullable: false), + NewValue = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), + OriginalValue = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), + PropertyName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + PropertyTypeFullName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpEntityPropertyChanges", x => x.Id); + table.ForeignKey( + name: "FK_AbpEntityPropertyChanges_AbpEntityChanges_EntityChangeId", + column: x => x.EntityChangeId, + principalTable: "AbpEntityChanges", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_AbpAuditLogActions_AuditLogId", + table: "AbpAuditLogActions", + column: "AuditLogId"); + + migrationBuilder.CreateIndex( + name: "IX_AbpAuditLogActions_TenantId_ServiceName_MethodName_ExecutionTime", + table: "AbpAuditLogActions", + columns: new[] { "TenantId", "ServiceName", "MethodName", "ExecutionTime" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpAuditLogs_TenantId_ExecutionTime", + table: "AbpAuditLogs", + columns: new[] { "TenantId", "ExecutionTime" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpAuditLogs_TenantId_UserId_ExecutionTime", + table: "AbpAuditLogs", + columns: new[] { "TenantId", "UserId", "ExecutionTime" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpBackgroundJobs_IsAbandoned_NextTryTime", + table: "AbpBackgroundJobs", + columns: new[] { "IsAbandoned", "NextTryTime" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpEntityChanges_AuditLogId", + table: "AbpEntityChanges", + column: "AuditLogId"); + + migrationBuilder.CreateIndex( + name: "IX_AbpEntityChanges_TenantId_EntityTypeFullName_EntityId", + table: "AbpEntityChanges", + columns: new[] { "TenantId", "EntityTypeFullName", "EntityId" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpEntityPropertyChanges_EntityChangeId", + table: "AbpEntityPropertyChanges", + column: "EntityChangeId"); + + migrationBuilder.CreateIndex( + name: "IX_AbpFeatureValues_Name_ProviderName_ProviderKey", + table: "AbpFeatureValues", + columns: new[] { "Name", "ProviderName", "ProviderKey" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpLinkUsers_SourceUserId_SourceTenantId_TargetUserId_TargetTenantId", + table: "AbpLinkUsers", + columns: new[] { "SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId" }, + unique: true, + filter: "[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); + + migrationBuilder.CreateIndex( + name: "IX_AbpOrganizationUnitRoles_RoleId_OrganizationUnitId", + table: "AbpOrganizationUnitRoles", + columns: new[] { "RoleId", "OrganizationUnitId" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpOrganizationUnits_Code", + table: "AbpOrganizationUnits", + column: "Code"); + + migrationBuilder.CreateIndex( + name: "IX_AbpOrganizationUnits_ParentId", + table: "AbpOrganizationUnits", + column: "ParentId"); + + migrationBuilder.CreateIndex( + name: "IX_AbpPermissionGrants_Name_ProviderName_ProviderKey", + table: "AbpPermissionGrants", + columns: new[] { "Name", "ProviderName", "ProviderKey" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpRoleClaims_RoleId", + table: "AbpRoleClaims", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "IX_AbpRoles_NormalizedName", + table: "AbpRoles", + column: "NormalizedName"); + + migrationBuilder.CreateIndex( + name: "IX_AbpSecurityLogs_TenantId_Action", + table: "AbpSecurityLogs", + columns: new[] { "TenantId", "Action" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpSecurityLogs_TenantId_ApplicationName", + table: "AbpSecurityLogs", + columns: new[] { "TenantId", "ApplicationName" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpSecurityLogs_TenantId_Identity", + table: "AbpSecurityLogs", + columns: new[] { "TenantId", "Identity" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpSecurityLogs_TenantId_UserId", + table: "AbpSecurityLogs", + columns: new[] { "TenantId", "UserId" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpSettings_Name_ProviderName_ProviderKey", + table: "AbpSettings", + columns: new[] { "Name", "ProviderName", "ProviderKey" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpTenants_Name", + table: "AbpTenants", + column: "Name"); + + migrationBuilder.CreateIndex( + name: "IX_AbpUserClaims_UserId", + table: "AbpUserClaims", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_AbpUserLogins_LoginProvider_ProviderKey", + table: "AbpUserLogins", + columns: new[] { "LoginProvider", "ProviderKey" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpUserOrganizationUnits_UserId_OrganizationUnitId", + table: "AbpUserOrganizationUnits", + columns: new[] { "UserId", "OrganizationUnitId" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpUserRoles_RoleId_UserId", + table: "AbpUserRoles", + columns: new[] { "RoleId", "UserId" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpUsers_Email", + table: "AbpUsers", + column: "Email"); + + migrationBuilder.CreateIndex( + name: "IX_AbpUsers_NormalizedEmail", + table: "AbpUsers", + column: "NormalizedEmail"); + + migrationBuilder.CreateIndex( + name: "IX_AbpUsers_NormalizedUserName", + table: "AbpUsers", + column: "NormalizedUserName"); + + migrationBuilder.CreateIndex( + name: "IX_AbpUsers_UserName", + table: "AbpUsers", + column: "UserName"); + + migrationBuilder.CreateIndex( + name: "IX_IdentityServerClients_ClientId", + table: "IdentityServerClients", + column: "ClientId"); + + migrationBuilder.CreateIndex( + name: "IX_IdentityServerDeviceFlowCodes_DeviceCode", + table: "IdentityServerDeviceFlowCodes", + column: "DeviceCode", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_IdentityServerDeviceFlowCodes_Expiration", + table: "IdentityServerDeviceFlowCodes", + column: "Expiration"); + + migrationBuilder.CreateIndex( + name: "IX_IdentityServerDeviceFlowCodes_UserCode", + table: "IdentityServerDeviceFlowCodes", + column: "UserCode"); + + migrationBuilder.CreateIndex( + name: "IX_IdentityServerPersistedGrants_Expiration", + table: "IdentityServerPersistedGrants", + column: "Expiration"); + + migrationBuilder.CreateIndex( + name: "IX_IdentityServerPersistedGrants_SubjectId_ClientId_Type", + table: "IdentityServerPersistedGrants", + columns: new[] { "SubjectId", "ClientId", "Type" }); + + migrationBuilder.CreateIndex( + name: "IX_IdentityServerPersistedGrants_SubjectId_SessionId_Type", + table: "IdentityServerPersistedGrants", + columns: new[] { "SubjectId", "SessionId", "Type" }); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "AbpAuditLogActions"); + + migrationBuilder.DropTable( + name: "AbpBackgroundJobs"); + + migrationBuilder.DropTable( + name: "AbpClaimTypes"); + + migrationBuilder.DropTable( + name: "AbpEntityPropertyChanges"); + + migrationBuilder.DropTable( + name: "AbpFeatureValues"); + + migrationBuilder.DropTable( + name: "AbpLinkUsers"); + + migrationBuilder.DropTable( + name: "AbpOrganizationUnitRoles"); + + migrationBuilder.DropTable( + name: "AbpPermissionGrants"); + + migrationBuilder.DropTable( + name: "AbpRoleClaims"); + + migrationBuilder.DropTable( + name: "AbpSecurityLogs"); + + migrationBuilder.DropTable( + name: "AbpSettings"); + + migrationBuilder.DropTable( + name: "AbpTenantConnectionStrings"); + + migrationBuilder.DropTable( + name: "AbpUserClaims"); + + migrationBuilder.DropTable( + name: "AbpUserLogins"); + + migrationBuilder.DropTable( + name: "AbpUserOrganizationUnits"); + + migrationBuilder.DropTable( + name: "AbpUserRoles"); + + migrationBuilder.DropTable( + name: "AbpUserTokens"); + + migrationBuilder.DropTable( + name: "IdentityServerApiResourceClaims"); + + migrationBuilder.DropTable( + name: "IdentityServerApiResourceProperties"); + + migrationBuilder.DropTable( + name: "IdentityServerApiResourceScopes"); + + migrationBuilder.DropTable( + name: "IdentityServerApiResourceSecrets"); + + migrationBuilder.DropTable( + name: "IdentityServerApiScopeClaims"); + + migrationBuilder.DropTable( + name: "IdentityServerApiScopeProperties"); + + migrationBuilder.DropTable( + name: "IdentityServerClientClaims"); + + migrationBuilder.DropTable( + name: "IdentityServerClientCorsOrigins"); + + migrationBuilder.DropTable( + name: "IdentityServerClientGrantTypes"); + + migrationBuilder.DropTable( + name: "IdentityServerClientIdPRestrictions"); + + migrationBuilder.DropTable( + name: "IdentityServerClientPostLogoutRedirectUris"); + + migrationBuilder.DropTable( + name: "IdentityServerClientProperties"); + + migrationBuilder.DropTable( + name: "IdentityServerClientRedirectUris"); + + migrationBuilder.DropTable( + name: "IdentityServerClientScopes"); + + migrationBuilder.DropTable( + name: "IdentityServerClientSecrets"); + + migrationBuilder.DropTable( + name: "IdentityServerDeviceFlowCodes"); + + migrationBuilder.DropTable( + name: "IdentityServerIdentityResourceClaims"); + + migrationBuilder.DropTable( + name: "IdentityServerIdentityResourceProperties"); + + migrationBuilder.DropTable( + name: "IdentityServerPersistedGrants"); + + migrationBuilder.DropTable( + name: "WebApi_Part"); + + migrationBuilder.DropTable( + name: "WebApi_PODetail"); + + migrationBuilder.DropTable( + name: "WebApi_Receipt"); + + migrationBuilder.DropTable( + name: "WebApi_Suppliers"); + + migrationBuilder.DropTable( + name: "WebApi_UnplannedReceipt"); + + migrationBuilder.DropTable( + name: "AbpEntityChanges"); + + migrationBuilder.DropTable( + name: "AbpTenants"); + + migrationBuilder.DropTable( + name: "AbpOrganizationUnits"); + + migrationBuilder.DropTable( + name: "AbpRoles"); + + migrationBuilder.DropTable( + name: "AbpUsers"); + + migrationBuilder.DropTable( + name: "IdentityServerApiResources"); + + migrationBuilder.DropTable( + name: "IdentityServerApiScopes"); + + migrationBuilder.DropTable( + name: "IdentityServerClients"); + + migrationBuilder.DropTable( + name: "IdentityServerIdentityResources"); + + migrationBuilder.DropTable( + name: "WebApi_PO"); + + migrationBuilder.DropTable( + name: "AbpAuditLogs"); + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/WebApiDbContextModelSnapshot.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/WebApiDbContextModelSnapshot.cs new file mode 100644 index 0000000..cdfe74d --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Migrations/WebApiDbContextModelSnapshot.cs @@ -0,0 +1,2840 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using Win_in.Sfs.Scp.WebApi.EntityFrameworkCore; + +namespace Win_in.Sfs.Scp.WebApi.Migrations +{ + [DbContext(typeof(WebApiDbContext))] + partial class WebApiDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) + .HasAnnotation("Relational:MaxIdentifierLength", 128) + .HasAnnotation("ProductVersion", "5.0.13") + .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)") + .HasColumnName("ApplicationName"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("BrowserInfo"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("ClientId"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("ClientIpAddress"); + + b.Property("ClientName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("ClientName"); + + b.Property("Comments") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Comments"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("CorrelationId"); + + b.Property("Exceptions") + .HasColumnType("nvarchar(max)"); + + b.Property("ExecutionDuration") + .HasColumnType("int") + .HasColumnName("ExecutionDuration"); + + b.Property("ExecutionTime") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HttpMethod") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("HttpMethod"); + + b.Property("HttpStatusCode") + .HasColumnType("int") + .HasColumnName("HttpStatusCode"); + + b.Property("ImpersonatorTenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("ImpersonatorTenantId"); + + b.Property("ImpersonatorUserId") + .HasColumnType("uniqueidentifier") + .HasColumnName("ImpersonatorUserId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasColumnType("nvarchar(max)"); + + b.Property("Url") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Url"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier") + .HasColumnName("UserId"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "ExecutionTime"); + + b.HasIndex("TenantId", "UserId", "ExecutionTime"); + + b.ToTable("AbpAuditLogs"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AuditLogId") + .HasColumnType("uniqueidentifier") + .HasColumnName("AuditLogId"); + + b.Property("ExecutionDuration") + .HasColumnType("int") + .HasColumnName("ExecutionDuration"); + + b.Property("ExecutionTime") + .HasColumnType("datetime2") + .HasColumnName("ExecutionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("MethodName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("MethodName"); + + b.Property("Parameters") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)") + .HasColumnName("Parameters"); + + b.Property("ServiceName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("ServiceName"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); + + b.ToTable("AbpAuditLogActions"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AuditLogId") + .HasColumnType("uniqueidentifier") + .HasColumnName("AuditLogId"); + + b.Property("ChangeTime") + .HasColumnType("datetime2") + .HasColumnName("ChangeTime"); + + b.Property("ChangeType") + .HasColumnType("tinyint") + .HasColumnName("ChangeType"); + + b.Property("EntityId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("EntityId"); + + b.Property("EntityTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("EntityTypeFullName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("EntityTypeFullName"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); + + b.ToTable("AbpEntityChanges"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("EntityChangeId") + .HasColumnType("uniqueidentifier"); + + b.Property("NewValue") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("NewValue"); + + b.Property("OriginalValue") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("OriginalValue"); + + b.Property("PropertyName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("PropertyName"); + + b.Property("PropertyTypeFullName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("PropertyTypeFullName"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("EntityChangeId"); + + b.ToTable("AbpEntityPropertyChanges"); + }); + + modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsAbandoned") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false); + + b.Property("JobArgs") + .IsRequired() + .HasMaxLength(1048576) + .HasColumnType("nvarchar(max)"); + + b.Property("JobName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("LastTryTime") + .HasColumnType("datetime2"); + + b.Property("NextTryTime") + .HasColumnType("datetime2"); + + b.Property("Priority") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint") + .HasDefaultValue((byte)15); + + b.Property("TryCount") + .ValueGeneratedOnAdd() + .HasColumnType("smallint") + .HasDefaultValue((short)0); + + b.HasKey("Id"); + + b.HasIndex("IsAbandoned", "NextTryTime"); + + b.ToTable("AbpBackgroundJobs"); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey"); + + b.ToTable("AbpFeatureValues"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("Description") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsStatic") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Regex") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("RegexDescription") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Required") + .HasColumnType("bit"); + + b.Property("ValueType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("AbpClaimTypes"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("SourceTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("SourceUserId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") + .IsUnique() + .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); + + b.ToTable("AbpLinkUsers"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDefault") + .HasColumnType("bit") + .HasColumnName("IsDefault"); + + b.Property("IsPublic") + .HasColumnType("bit") + .HasColumnName("IsPublic"); + + b.Property("IsStatic") + .HasColumnType("bit") + .HasColumnName("IsStatic"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName"); + + b.ToTable("AbpRoles"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AbpRoleClaims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Action") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("CreationTime") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Identity") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "Action"); + + b.HasIndex("TenantId", "ApplicationName"); + + b.HasIndex("TenantId", "Identity"); + + b.HasIndex("TenantId", "UserId"); + + b.ToTable("AbpSecurityLogs"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AccessFailedCount") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasColumnName("AccessFailedCount"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Email"); + + b.Property("EmailConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("EmailConfirmed"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsExternal") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsExternal"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LockoutEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("LockoutEnabled"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Name"); + + b.Property("NormalizedEmail") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedEmail"); + + b.Property("NormalizedUserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedUserName"); + + b.Property("PasswordHash") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("PasswordHash"); + + b.Property("PhoneNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("PhoneNumber"); + + b.Property("PhoneNumberConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("PhoneNumberConfirmed"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("SecurityStamp"); + + b.Property("Surname") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Surname"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TwoFactorEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("TwoFactorEnabled"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("Email"); + + b.HasIndex("NormalizedEmail"); + + b.HasIndex("NormalizedUserName"); + + b.HasIndex("UserName"); + + b.ToTable("AbpUsers"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AbpUserClaims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderDisplayName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(196) + .HasColumnType("nvarchar(196)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "LoginProvider"); + + b.HasIndex("LoginProvider", "ProviderKey"); + + b.ToTable("AbpUserLogins"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "UserId"); + + b.HasIndex("UserId", "OrganizationUnitId"); + + b.ToTable("AbpUserOrganizationUnits"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId", "UserId"); + + b.ToTable("AbpUserRoles"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AbpUserTokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(95) + .HasColumnType("nvarchar(95)") + .HasColumnName("Code"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("DisplayName"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Code"); + + b.HasIndex("ParentId"); + + b.ToTable("AbpOrganizationUnits"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "RoleId"); + + b.HasIndex("RoleId", "OrganizationUnitId"); + + b.ToTable("AbpOrganizationUnitRoles"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AllowedAccessTokenSigningAlgorithms") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("DisplayName") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ShowInDiscoveryDocument") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.ToTable("IdentityServerApiResources"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => + { + b.Property("ApiResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("ApiResourceId", "Type"); + + b.ToTable("IdentityServerApiResourceClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => + { + b.Property("ApiResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Key") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("ApiResourceId", "Key", "Value"); + + b.ToTable("IdentityServerApiResourceProperties"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => + { + b.Property("ApiResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Scope") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("ApiResourceId", "Scope"); + + b.ToTable("IdentityServerApiResourceScopes"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => + { + b.Property("ApiResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(4000) + .HasColumnType("nvarchar(4000)"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("Expiration") + .HasColumnType("datetime2"); + + b.HasKey("ApiResourceId", "Type", "Value"); + + b.ToTable("IdentityServerApiResourceSecrets"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("DisplayName") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Emphasize") + .HasColumnType("bit"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Required") + .HasColumnType("bit"); + + b.Property("ShowInDiscoveryDocument") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.ToTable("IdentityServerApiScopes"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => + { + b.Property("ApiScopeId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("ApiScopeId", "Type"); + + b.ToTable("IdentityServerApiScopeClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => + { + b.Property("ApiScopeId") + .HasColumnType("uniqueidentifier"); + + b.Property("Key") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("ApiScopeId", "Key", "Value"); + + b.ToTable("IdentityServerApiScopeProperties"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AbsoluteRefreshTokenLifetime") + .HasColumnType("int"); + + b.Property("AccessTokenLifetime") + .HasColumnType("int"); + + b.Property("AccessTokenType") + .HasColumnType("int"); + + b.Property("AllowAccessTokensViaBrowser") + .HasColumnType("bit"); + + b.Property("AllowOfflineAccess") + .HasColumnType("bit"); + + b.Property("AllowPlainTextPkce") + .HasColumnType("bit"); + + b.Property("AllowRememberConsent") + .HasColumnType("bit"); + + b.Property("AllowedIdentityTokenSigningAlgorithms") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("AlwaysIncludeUserClaimsInIdToken") + .HasColumnType("bit"); + + b.Property("AlwaysSendClientClaims") + .HasColumnType("bit"); + + b.Property("AuthorizationCodeLifetime") + .HasColumnType("int"); + + b.Property("BackChannelLogoutSessionRequired") + .HasColumnType("bit"); + + b.Property("BackChannelLogoutUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("ClientClaimsPrefix") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ClientId") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ClientName") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ClientUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ConsentLifetime") + .HasColumnType("int"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("DeviceCodeLifetime") + .HasColumnType("int"); + + b.Property("EnableLocalLogin") + .HasColumnType("bit"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("FrontChannelLogoutSessionRequired") + .HasColumnType("bit"); + + b.Property("FrontChannelLogoutUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("IdentityTokenLifetime") + .HasColumnType("int"); + + b.Property("IncludeJwtId") + .HasColumnType("bit"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LogoUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("PairWiseSubjectSalt") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ProtocolType") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("RefreshTokenExpiration") + .HasColumnType("int"); + + b.Property("RefreshTokenUsage") + .HasColumnType("int"); + + b.Property("RequireClientSecret") + .HasColumnType("bit"); + + b.Property("RequireConsent") + .HasColumnType("bit"); + + b.Property("RequirePkce") + .HasColumnType("bit"); + + b.Property("RequireRequestObject") + .HasColumnType("bit"); + + b.Property("SlidingRefreshTokenLifetime") + .HasColumnType("int"); + + b.Property("UpdateAccessTokenClaimsOnRefresh") + .HasColumnType("bit"); + + b.Property("UserCodeType") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("UserSsoLifetime") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.ToTable("IdentityServerClients"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.HasKey("ClientId", "Type", "Value"); + + b.ToTable("IdentityServerClientClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Origin") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.HasKey("ClientId", "Origin"); + + b.ToTable("IdentityServerClientCorsOrigins"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("GrantType") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.HasKey("ClientId", "GrantType"); + + b.ToTable("IdentityServerClientGrantTypes"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Provider") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("ClientId", "Provider"); + + b.ToTable("IdentityServerClientIdPRestrictions"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("PostLogoutRedirectUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("ClientId", "PostLogoutRedirectUri"); + + b.ToTable("IdentityServerClientPostLogoutRedirectUris"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Key") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("ClientId", "Key", "Value"); + + b.ToTable("IdentityServerClientProperties"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("RedirectUri") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("ClientId", "RedirectUri"); + + b.ToTable("IdentityServerClientRedirectUris"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Scope") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("ClientId", "Scope"); + + b.ToTable("IdentityServerClientScopes"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => + { + b.Property("ClientId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(4000) + .HasColumnType("nvarchar(4000)"); + + b.Property("Description") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("Expiration") + .HasColumnType("datetime2"); + + b.HasKey("ClientId", "Type", "Value"); + + b.ToTable("IdentityServerClientSecrets"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ClientId") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Data") + .IsRequired() + .HasMaxLength(50000) + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("DeviceCode") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Expiration") + .IsRequired() + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("SessionId") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SubjectId") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("UserCode") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("Id"); + + b.HasIndex("DeviceCode") + .IsUnique(); + + b.HasIndex("Expiration"); + + b.HasIndex("UserCode"); + + b.ToTable("IdentityServerDeviceFlowCodes"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => + { + b.Property("Key") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ClientId") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ConsumedTime") + .HasColumnType("datetime2"); + + b.Property("CreationTime") + .HasColumnType("datetime2"); + + b.Property("Data") + .IsRequired() + .HasMaxLength(50000) + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Expiration") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("SessionId") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SubjectId") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Type") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Key"); + + b.HasIndex("Expiration"); + + b.HasIndex("SubjectId", "ClientId", "Type"); + + b.HasIndex("SubjectId", "SessionId", "Type"); + + b.ToTable("IdentityServerPersistedGrants"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("DisplayName") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Emphasize") + .HasColumnType("bit"); + + b.Property("Enabled") + .HasColumnType("bit"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Required") + .HasColumnType("bit"); + + b.Property("ShowInDiscoveryDocument") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.ToTable("IdentityServerIdentityResources"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => + { + b.Property("IdentityResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Type") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("IdentityResourceId", "Type"); + + b.ToTable("IdentityServerIdentityResourceClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => + { + b.Property("IdentityResourceId") + .HasColumnType("uniqueidentifier"); + + b.Property("Key") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("Value") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.HasKey("IdentityResourceId", "Key", "Value"); + + b.ToTable("IdentityServerIdentityResourceProperties"); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey"); + + b.ToTable("AbpPermissionGrants"); + }); + + modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey"); + + b.ToTable("AbpSettings"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.HasIndex("Name"); + + b.ToTable("AbpTenants"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => + { + b.Property("TenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.HasKey("TenantId", "Name"); + + b.ToTable("AbpTenantConnectionStrings"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.Part", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AbcClass") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Catalog") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Company") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Desc1") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("Desc2") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Group") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("IsBuyPart") + .HasColumnType("bit"); + + b.Property("IsMakePart") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProductLine") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Site") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Status") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Type") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Uom") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Version") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_Part"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.PurchaseOrder", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Company") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ContactName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ContactPhone") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DueDate") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsConsignment") + .HasColumnType("bit"); + + b.Property("OrderDate") + .HasColumnType("datetime2"); + + b.Property("PoNumber") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PoType") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Remark") + .HasMaxLength(4096) + .HasColumnType("nvarchar(max)"); + + b.Property("Site") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("SupplierCode") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("TaxRate") + .HasColumnType("decimal(18,2)"); + + b.Property("Version") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_PO"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.PurchaseOrderDetail", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("IsConsignment") + .HasColumnType("bit"); + + b.Property("LineStatus") + .HasColumnType("int"); + + b.Property("OrderQty") + .HasColumnType("decimal(18,2)"); + + b.Property("PartCode") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PoLine") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PoNumber") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Remark") + .HasMaxLength(4096) + .HasColumnType("nvarchar(max)"); + + b.Property("StdPackQty") + .HasColumnType("decimal(18,2)"); + + b.Property("StdPackUom") + .HasColumnType("nvarchar(max)"); + + b.Property("SupplierPackConvertRate") + .HasColumnType("decimal(18,2)"); + + b.Property("Uom") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_PODetail"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.Receipt", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("AsnNumber") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Company") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Dock") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Lot") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PartCode") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PoLine") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PoNumber") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("RcNumber") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("RcType") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ReceiveDate") + .HasColumnType("datetime2"); + + b.Property("ReceiveQty") + .HasColumnType("decimal(18,2)"); + + b.Property("ReceiveTime") + .HasColumnType("datetime2"); + + b.Property("Remark") + .HasMaxLength(4096) + .HasColumnType("nvarchar(max)"); + + b.Property("Site") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("SupplierCode") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("SupplierLot") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("SupplierPackConvertRate") + .HasColumnType("decimal(18,2)"); + + b.Property("Uom") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Warehouse") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_Receipt"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.Supplier", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Address") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("Bank") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("City") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Company") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ContactName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Country") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("Currency") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Desc") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Fax") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Phone") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PostId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Rank") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Remark") + .HasMaxLength(4096) + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_Suppliers"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.UnplannedReceipt", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Company") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("EffectiveDate") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Location") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("Lot") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Order") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("PartCode") + .IsRequired() + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property("Qty") + .HasColumnType("decimal(18,2)"); + + b.Property("Remark") + .HasMaxLength(4096) + .HasColumnType("nvarchar(max)"); + + b.Property("Site") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("SoJob") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("SystemDate") + .HasColumnType("datetime2"); + + b.Property("TrNbr") + .HasColumnType("bigint"); + + b.Property("TrType") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("Uom") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.HasKey("Id"); + + b.ToTable("WebApi_UnplannedReceipt"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => + { + b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) + .WithMany("Actions") + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) + .WithMany("EntityChanges") + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => + { + b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) + .WithMany("PropertyChanges") + .HasForeignKey("EntityChangeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany("Claims") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Claims") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Logins") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("OrganizationUnits") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Roles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Tokens") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("ParentId"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany("Roles") + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) + .WithMany("UserClaims") + .HasForeignKey("ApiResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) + .WithMany("Properties") + .HasForeignKey("ApiResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) + .WithMany("Scopes") + .HasForeignKey("ApiResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) + .WithMany("Secrets") + .HasForeignKey("ApiResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) + .WithMany("UserClaims") + .HasForeignKey("ApiScopeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => + { + b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) + .WithMany("Properties") + .HasForeignKey("ApiScopeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("Claims") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("AllowedCorsOrigins") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("AllowedGrantTypes") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("IdentityProviderRestrictions") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("PostLogoutRedirectUris") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("Properties") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("RedirectUris") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("AllowedScopes") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => + { + b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) + .WithMany("ClientSecrets") + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => + { + b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) + .WithMany("UserClaims") + .HasForeignKey("IdentityResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => + { + b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) + .WithMany("Properties") + .HasForeignKey("IdentityResourceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => + { + b.HasOne("Volo.Abp.TenantManagement.Tenant", null) + .WithMany("ConnectionStrings") + .HasForeignKey("TenantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.PurchaseOrderDetail", b => + { + b.HasOne("Win_in.Sfs.Scp.WebApi.PurchaseOrder", null) + .WithMany("Details") + .HasForeignKey("Id") + .OnDelete(DeleteBehavior.NoAction) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => + { + b.Navigation("Actions"); + + b.Navigation("EntityChanges"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.Navigation("PropertyChanges"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Navigation("Claims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Navigation("Claims"); + + b.Navigation("Logins"); + + b.Navigation("OrganizationUnits"); + + b.Navigation("Roles"); + + b.Navigation("Tokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Navigation("Roles"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => + { + b.Navigation("Properties"); + + b.Navigation("Scopes"); + + b.Navigation("Secrets"); + + b.Navigation("UserClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => + { + b.Navigation("Properties"); + + b.Navigation("UserClaims"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => + { + b.Navigation("AllowedCorsOrigins"); + + b.Navigation("AllowedGrantTypes"); + + b.Navigation("AllowedScopes"); + + b.Navigation("Claims"); + + b.Navigation("ClientSecrets"); + + b.Navigation("IdentityProviderRestrictions"); + + b.Navigation("PostLogoutRedirectUris"); + + b.Navigation("Properties"); + + b.Navigation("RedirectUris"); + }); + + modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => + { + b.Navigation("Properties"); + + b.Navigation("UserClaims"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => + { + b.Navigation("ConnectionStrings"); + }); + + modelBuilder.Entity("Win_in.Sfs.Scp.WebApi.PurchaseOrder", b => + { + b.Navigation("Details"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Properties/AssemblyInfo.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..191f9c9 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Properties/AssemblyInfo.cs @@ -0,0 +1,2 @@ +using System.Runtime.CompilerServices; +[assembly:InternalsVisibleToAttribute("Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.Tests")] diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj new file mode 100644 index 0000000..2dddcd8 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore/Win_in.Sfs.Scp.WebApi.EntityFrameworkCore.csproj @@ -0,0 +1,30 @@ + + + + + + net5.0 + Win_in.Sfs.Scp.WebApi + + + + + + + + + + + + + + + + + + runtime; build; native; contentfiles; analyzers + compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native + + + + diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Client/WebApiHttpApiClientModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Client/WebApiHttpApiClientModule.cs new file mode 100644 index 0000000..a7f61d1 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Client/WebApiHttpApiClientModule.cs @@ -0,0 +1,33 @@ +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Account; +using Volo.Abp.FeatureManagement; +using Volo.Abp.Identity; +using Volo.Abp.Modularity; +using Volo.Abp.PermissionManagement; +using Volo.Abp.TenantManagement; +using Volo.Abp.SettingManagement; + +namespace Win_in.Sfs.Scp.WebApi +{ + [DependsOn( + typeof(WebApiApplicationContractsModule), + typeof(AbpAccountHttpApiClientModule), + typeof(AbpIdentityHttpApiClientModule), + typeof(AbpPermissionManagementHttpApiClientModule), + typeof(AbpTenantManagementHttpApiClientModule), + typeof(AbpFeatureManagementHttpApiClientModule), + typeof(AbpSettingManagementHttpApiClientModule) + )] + public class WebApiHttpApiClientModule : AbpModule + { + public const string RemoteServiceName = "Default"; + + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.AddHttpClientProxies( + typeof(WebApiApplicationContractsModule).Assembly, + RemoteServiceName + ); + } + } +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Client/Win_in.Sfs.Scp.WebApi.HttpApi.Client.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Client/Win_in.Sfs.Scp.WebApi.HttpApi.Client.csproj new file mode 100644 index 0000000..0fdc8e0 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Client/Win_in.Sfs.Scp.WebApi.HttpApi.Client.csproj @@ -0,0 +1,23 @@ + + + + + + netstandard2.0 + Win_in.Sfs.Scp.WebApi + + + + + + + + + + + + + + + + diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Controllers/HomeController.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Controllers/HomeController.cs similarity index 100% rename from ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Controllers/HomeController.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Controllers/HomeController.cs diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/HiddenApiAttribute.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/HiddenApiAttribute.cs similarity index 100% rename from ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/HiddenApiAttribute.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/HiddenApiAttribute.cs diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/HiddenApiFilter.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/HiddenApiFilter.cs similarity index 100% rename from ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/HiddenApiFilter.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/HiddenApiFilter.cs diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Program.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Program.cs similarity index 90% rename from ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Program.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Program.cs index 9258263..54dbbaa 100644 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Program.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Program.cs @@ -1,5 +1,4 @@ using System; -using System.IO; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; @@ -19,6 +18,7 @@ namespace Win_in.Sfs.Scp.WebApi .MinimumLevel.Information() #endif .MinimumLevel.Override("Microsoft", LogEventLevel.Information) + .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) .Enrich.FromLogContext() .WriteTo.Async(c => c.File("Logs/logs.txt")) #if DEBUG @@ -28,7 +28,7 @@ namespace Win_in.Sfs.Scp.WebApi try { - Log.Information("Starting web host."); + Log.Information("Starting Win_in.Sfs.Scp.WebApi.HttpApi.Host."); CreateHostBuilder(args).Build().Run(); return 0; } diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json new file mode 100644 index 0000000..94d40aa --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Properties/launchSettings.json @@ -0,0 +1,27 @@ +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "https://localhost:9988", + "sslPort": 9988 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Win_in.Sfs.Scp.WebApi.HttpApi.Host": { + "commandName": "Project", + "launchBrowser": true, + "applicationUrl": "https://localhost:9988", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} \ No newline at end of file diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Startup.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Startup.cs similarity index 90% rename from ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Startup.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Startup.cs index 419c2e4..dabfc71 100644 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Startup.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Startup.cs @@ -1,5 +1,4 @@ -using System; -using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -11,7 +10,6 @@ namespace Win_in.Sfs.Scp.WebApi public void ConfigureServices(IServiceCollection services) { services.AddApplication(); - } public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiBrandingProvider.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiBrandingProvider.cs new file mode 100644 index 0000000..29e5da5 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiBrandingProvider.cs @@ -0,0 +1,11 @@ +using Volo.Abp.DependencyInjection; +using Volo.Abp.Ui.Branding; + +namespace Win_in.Sfs.Scp.WebApi +{ + [Dependency(ReplaceServices = true)] + public class WebApiBrandingProvider : DefaultBrandingProvider + { + public override string AppName => "WebApi"; + } +} diff --git a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiHttpApiHostModule.cs b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiHttpApiHostModule.cs similarity index 57% rename from ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiHttpApiHostModule.cs rename to WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiHttpApiHostModule.cs index 8278b69..15f3af0 100644 --- a/ScpWebApiService/host/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiHttpApiHostModule.cs +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/WebApiHttpApiHostModule.cs @@ -2,156 +2,161 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using IdentityModel; -using Microsoft.AspNetCore.Authentication.JwtBearer; +using System.Net.Http; +using System.Reflection; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Cors; -using Microsoft.AspNetCore.DataProtection; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.ApiExplorer; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Win_in.Sfs.Scp.WebApi.EntityFrameworkCore; -using StackExchange.Redis; +using Win_in.Sfs.Scp.WebApi.MultiTenancy; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; using Microsoft.OpenApi.Models; +using Serilog; +using Swashbuckle.AspNetCore.SwaggerGen; using Volo.Abp; -using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy; +using Volo.Abp.Account; +using Volo.Abp.Account.Web; +using Volo.Abp.AspNetCore.Authentication.JwtBearer; +using Volo.Abp.AspNetCore.MultiTenancy; +using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AspNetCore.Serilog; -using Volo.Abp.AuditLogging.EntityFrameworkCore; using Volo.Abp.Autofac; -using Volo.Abp.Caching; -using Volo.Abp.Caching.StackExchangeRedis; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore.SqlServer; using Volo.Abp.Localization; using Volo.Abp.Modularity; -using Volo.Abp.MultiTenancy; -using Volo.Abp.PermissionManagement.EntityFrameworkCore; -using Volo.Abp.Security.Claims; -using Volo.Abp.SettingManagement.EntityFrameworkCore; using Volo.Abp.Swashbuckle; +using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; -using Microsoft.AspNetCore.Mvc.ApiExplorer; -using Microsoft.AspNetCore.Mvc; -using Swashbuckle.AspNetCore.SwaggerGen; -using System.Reflection; -using Microsoft.AspNetCore.Hosting; -using Serilog; -using Serilog.Events; -using Volo.Abp.AspNetCore.Mvc; namespace Win_in.Sfs.Scp.WebApi { [DependsOn( - typeof(WebApiApplicationModule), - typeof(WebApiEntityFrameworkCoreModule), typeof(WebApiHttpApiModule), - typeof(AbpAspNetCoreMvcUiMultiTenancyModule), typeof(AbpAutofacModule), - typeof(AbpCachingStackExchangeRedisModule), - typeof(AbpEntityFrameworkCoreSqlServerModule), - typeof(AbpAuditLoggingEntityFrameworkCoreModule), - typeof(AbpPermissionManagementEntityFrameworkCoreModule), - typeof(AbpSettingManagementEntityFrameworkCoreModule), - typeof(AbpAspNetCoreSerilogModule), + typeof(AbpAspNetCoreMultiTenancyModule), + typeof(WebApiApplicationModule), + typeof(WebApiEntityFrameworkCoreModule), + typeof(AbpAspNetCoreMvcUiBasicThemeModule), + typeof(AbpAspNetCoreAuthenticationJwtBearerModule), + typeof(AbpAccountWebIdentityServerModule), + typeof(AbpAspNetCoreSerilogModule), typeof(AbpSwashbuckleModule) - )] + )] public class WebApiHttpApiHostModule : AbpModule { - private bool _isMultiTenancy = true; - public override void ConfigureServices(ServiceConfigurationContext context) { - var hostingEnvironment = context.Services.GetHostingEnvironment(); var configuration = context.Services.GetConfiguration(); + var hostingEnvironment = context.Services.GetHostingEnvironment(); - ConfigureDbContext(); - - ConfigureMultiTeancy(configuration); - - - - ConfigureSwagger(context, configuration); - + ConfigureBundles(); + ConfigureUrls(configuration); + ConfigureConventionalControllers(); + ConfigureAuthentication(context, configuration); ConfigureLocalization(); + ConfigureVirtualFileSystem(context); + ConfigureCors(context, configuration); + ConfigureSwaggerServices(context, configuration); + } - ConfigureAuthentication(context, configuration); + private void ConfigureBundles() + { + Configure(options => + { + options.StyleBundles.Configure( + BasicThemeBundles.Styles.Global, + bundle => { bundle.AddFiles("/global-styles.css"); } + ); + }); + } - ConfigureDistributedCache(context, hostingEnvironment, configuration); + private void ConfigureUrls(IConfiguration configuration) + { + Configure(options => + { + options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"]; + options.RedirectAllowedUrls.AddRange(configuration["App:RedirectAllowedUrls"].Split(',')); - ConfigureCors(context, configuration); + options.Applications["Angular"].RootUrl = configuration["App:ClientUrl"]; + options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password"; + }); } - private static void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration) + private void ConfigureVirtualFileSystem(ServiceConfigurationContext context) { - context.Services.AddCors(options => + var hostingEnvironment = context.Services.GetHostingEnvironment(); + + if (hostingEnvironment.IsDevelopment()) { - options.AddDefaultPolicy(builder => + Configure(options => { - builder - .WithOrigins( - configuration["App:CorsOrigins"] - .Split(",", StringSplitOptions.RemoveEmptyEntries) - .Select(o => o.RemovePostFix("/")) - .ToArray() - ) - .WithAbpExposedHeaders() - .SetIsOriginAllowedToAllowWildcardSubdomains() - .AllowAnyHeader() - .AllowAnyMethod() - .AllowCredentials(); + options.FileSets.ReplaceEmbeddedByPhysical( + Path.Combine(hostingEnvironment.ContentRootPath, + $"..{Path.DirectorySeparatorChar}Win_in.Sfs.Scp.WebApi.Domain.Shared")); + options.FileSets.ReplaceEmbeddedByPhysical( + Path.Combine(hostingEnvironment.ContentRootPath, + $"..{Path.DirectorySeparatorChar}Win_in.Sfs.Scp.WebApi.Domain")); + options.FileSets.ReplaceEmbeddedByPhysical( + Path.Combine(hostingEnvironment.ContentRootPath, + $"..{Path.DirectorySeparatorChar}Win_in.Sfs.Scp.WebApi.Application.Contracts")); + options.FileSets.ReplaceEmbeddedByPhysical( + Path.Combine(hostingEnvironment.ContentRootPath, + $"..{Path.DirectorySeparatorChar}Win_in.Sfs.Scp.WebApi.Application")); }); - }); + } } - private void ConfigureDistributedCache(ServiceConfigurationContext context, IWebHostEnvironment hostingEnvironment, - IConfiguration configuration) + private void ConfigureConventionalControllers() { - Configure(options => { options.KeyPrefix = "ScpWebApi:"; }); - - if (!hostingEnvironment.IsDevelopment()) + Configure(options => { - var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]); - context.Services - .AddDataProtection() - .PersistKeysToStackExchangeRedis(redis, "WebApi-Protection-Keys"); - } + options.ConventionalControllers.Create(typeof(WebApiApplicationModule).Assembly); + }); } - private static void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) + private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) { - context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) + context.Services.AddAuthentication() .AddJwtBearer(options => { options.Authority = configuration["AuthServer:Authority"]; options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]); options.Audience = "WebApi"; + options.BackchannelHttpHandler = new HttpClientHandler + { + ServerCertificateCustomValidationCallback = + HttpClientHandler.DangerousAcceptAnyServerCertificateValidator + }; }); } - private void ConfigureLocalization() + private void ConfigureSwaggerServices(ServiceConfigurationContext context, IConfiguration configuration) { - Configure(options => - { - options.Languages.Add(new LanguageInfo("en", "en", "English")); - options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); - }); - } + // context.Services.AddAbpSwaggerGenWithOAuth( + // configuration["AuthServer:Authority"], + // new Dictionary + // { + // {"WebApi", "WebApi API"} + // }, + // options => + // { + // options.SwaggerDoc("v1", new OpenApiInfo {Title = "WebApi API", Version = "v1"}); + // options.DocInclusionPredicate((docName, description) => true); + // options.CustomSchemaIds(type => type.FullName); + // }); - private void ConfigureSwagger(ServiceConfigurationContext context, IConfiguration configuration) - { context.Services.AddAbpSwaggerGenWithOAuth( configuration["AuthServer:Authority"], new Dictionary { { "WebApi", "WebApi API" } }, - //options => - //{ - // options.SwaggerDoc("v1", new OpenApiInfo {Title = "WebApi API", Version = "v1"}); - // options.DocInclusionPredicate((docName, description) => true); - // options.CustomSchemaIds(type => type.FullName); - //}); options => { //遍历Swagger分组,注册SwaggerDoc @@ -177,17 +182,6 @@ namespace Win_in.Sfs.Scp.WebApi }); } - private void ConfigureMultiTeancy(IConfiguration configuration) - { - _isMultiTenancy = Convert.ToBoolean(configuration["IsMultiTenancy"]); - Configure(options => { options.IsEnabled = _isMultiTenancy; }); - } - - private void ConfigureDbContext() - { - Configure(options => { options.UseSqlServer(); }); - } - /// /// 判断是否应该加入当前分组 /// @@ -232,6 +226,38 @@ namespace Win_in.Sfs.Scp.WebApi return files1.ToList(); } + + private void ConfigureLocalization() + { + Configure(options => + { + options.Languages.Add(new LanguageInfo("en", "en", "English")); + options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); + }); + } + + private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration) + { + context.Services.AddCors(options => + { + options.AddDefaultPolicy( builder => + { + builder + .WithOrigins( + configuration["App:CorsOrigins"] + .Split(",", StringSplitOptions.RemoveEmptyEntries) + .Select(o => o.RemovePostFix("/")) + .ToArray() + ) + .WithAbpExposedHeaders() + .SetIsOriginAllowedToAllowWildcardSubdomains() + .AllowAnyHeader() + .AllowAnyMethod() + .AllowCredentials(); + }); + }); + } + public override void OnApplicationInitialization(ApplicationInitializationContext context) { var app = context.GetApplicationBuilder(); @@ -241,31 +267,42 @@ namespace Win_in.Sfs.Scp.WebApi { app.UseDeveloperExceptionPage(); } - else + + app.UseAbpRequestLocalization(); + + if (!env.IsDevelopment()) { app.UseErrorPage(); - app.UseHsts(); } - app.UseHttpsRedirection(); app.UseCorrelationId(); app.UseStaticFiles(); app.UseRouting(); app.UseCors(); app.UseAuthentication(); - if (_isMultiTenancy) + app.UseJwtTokenMiddleware(); + + if (MultiTenancyConsts.IsEnabled) { app.UseMultiTenancy(); } - app.UseAbpRequestLocalization(); + + app.UseUnitOfWork(); + app.UseIdentityServer(); app.UseAuthorization(); + app.UseSwagger(); app.UseAbpSwaggerUI(options => { - //options.SwaggerEndpoint("/swagger/v1/swagger.json", "Support APP API"); - //遍历Swagger分组,注册SwaggerEndpoint + // c.SwaggerEndpoint("/swagger/v1/swagger.json", "WebApi API"); + // + // var configuration = context.ServiceProvider.GetRequiredService(); + // c.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); + // c.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]); + // c.OAuthScopes("WebApi"); + foreach (var groupName in typeof(SwaggerGroupConsts).GetFields() - .Select(f => f.GetValue(null).ToString())) + .Select(f => f.GetValue(null).ToString())) { Log.Information(groupName); options.SwaggerEndpoint($"/swagger/{groupName}/swagger.json", $"{groupName} API"); @@ -274,9 +311,8 @@ namespace Win_in.Sfs.Scp.WebApi options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]); options.OAuthScopes("WebApi"); - }); - + }); app.UseAuditing(); app.UseAbpSerilogEnrichers(); diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj new file mode 100644 index 0000000..299726e --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/Win_in.Sfs.Scp.WebApi.HttpApi.Host.csproj @@ -0,0 +1,37 @@ + + + + + + net5.0 + Win_in.Sfs.Scp.WebApi + true + Win_in.Sfs.Scp.WebApi-4681b4fd-151f-4221-84a4-929d86723e4c + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/abp.resourcemapping.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/abp.resourcemapping.js new file mode 100644 index 0000000..122e8e9 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/abp.resourcemapping.js @@ -0,0 +1,8 @@ +module.exports = { + aliases: { + + }, + mappings: { + + } +}; diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.Development.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.Development.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.Development.json @@ -0,0 +1,2 @@ +{ +} diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json new file mode 100644 index 0000000..12341a0 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.json @@ -0,0 +1,17 @@ +{ + "App": { + "SelfUrl": "https://localhost:9988", + "CorsOrigins": "http://*.WebApi.com", + "RedirectAllowedUrls": "http://localhost:4200,http://localhost:9988" + }, + "ConnectionStrings": { + "Default": "Server=127.0.0.1;Database=Scp_WehApi;User ID=sa;Password=Microsoft2008;connection timeout=600;", + "WebApi": "Server=127.0.0.1;Database=Scp_WebApi;User ID=sa;Password=Microsoft2008;connection timeout=600;" + }, + "AuthServer": { + "Authority": "https://localhost:9988", + "RequireHttpsMetadata": "false", + "SwaggerClientId": "WebApi_Swagger", + "SwaggerClientSecret": "1q2w3e*" + } +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/appsettings.secrets.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/gulpfile.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/gulpfile.js new file mode 100644 index 0000000..f7ebc78 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/gulpfile.js @@ -0,0 +1,9 @@ +"use strict"; + +var gulp = require("gulp"), + path = require('path'), + copyResources = require('./node_modules/@abp/aspnetcore.mvc.ui/gulp/copy-resources.js'); + +exports.default = function(){ + return copyResources(path.resolve('./')); +}; \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/package.json b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/package.json new file mode 100644 index 0000000..870e700 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/package.json @@ -0,0 +1,8 @@ +{ + "version": "1.0.0", + "name": "my-app", + "private": true, + "dependencies": { + "@abp/aspnetcore.mvc.ui.theme.basic": "^4.4.2" + } +} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/tempkey.jwk b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/tempkey.jwk new file mode 100644 index 0000000..9864cd8 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/tempkey.jwk @@ -0,0 +1 @@ +{"AdditionalData":{},"Alg":"RS256","Crv":null,"D":"B8CkRjRVxjIBZmFQa2rDSSrFt-va_7ScMTlZ09Ozf7eOzV-7W1gBqCBqwxECxgHx5y2qRNO_T-NLqbf94tRe1sIVu3hiNfsnmvXHplG2uMPKhMUtVyNCdOwne6m3odNBF1wF2-Ncy0zcwuhbQ_bPKYCdQ6vI-_hy9P-uCeuLXq7DAncFkIAZqmStD9b4C1rvJ53sUQo4vqyyasOBHI5fciDvsiwqYBbjMYauWI1vrkz74zkARTtYfl4_t0J7TdtnOvDjjhvnsXhag5C-89XMUZhqaZnBiMIXXf4n8vQmP3a46TnjqPNSWIcEGC89qFevY8XzGihVvnHEUyS78YkqEQ","DP":"v5VffqA2cknWIryaG9PIAtW7u2sMnOheo60V1vcJYwZHdZa6iCwOcgibGgfTs9h4fApG0_ku385uO4Q_lxwMnmVque7xMldGkgekF8dY-NNihZlmliopTJtNVkyxOuhloVwoU3RZVz9FXWahtRACUyzZJ8GTFIm8DDJIvX5lgqs","DQ":"Axf-4-4jxmXnaFcpxNnmT39iXJoqNnMHJy1-XdwacaMx5Fm-PvsMNM2edWXEpAK2Z_VEZ6uWSf5n5Azh1L2-PorVFyRpl2LU5eSLB043nmXsHmDlespVMdkZBSc2Iz_9NdM8ikHiAvUDnFjBh1PmVrJeRmnf3ja0zk6ByWGwLEE","E":"AQAB","K":null,"KeyId":"5DD3906EF8EDC89833D6B7B694196AF3","Kid":"5DD3906EF8EDC89833D6B7B694196AF3","Kty":"RSA","N":"vLxLNO6ADOmEyp-l6wBBzNf0FXOI5bdWJEiQR0cRcUPyxmwZZeILbJt46ep-MeYgDyykkFuvtCuzo4iFZ0ydxwenhJNej4kXBjfI2niuc-BcG1vfsnVPhJ9rocdBYgilVhLBOlC0780Iuh1_FFuXCwKLoQDStfYCCiQLkFElG_pFP2zG9JpOofmz0GsicyTlPA6zI5l4bbLPEs6EmpgSnXyiljkzKnjzEfhzIvZ1906Xhu1IIu10eGwaZpMRljTkFWsP5-I7z8mhoLEpjN5HF-60UnKMDIBjdDicqo9AdNqXWsCBwXXoCMV4R1RyD8Ay3R4VZRILYnRt5SyaeJlvqQ","Oth":null,"P":"3SR6It7JuqC5mwpuzYggYq4QGhLkbZaEetIAuwzB1iWto_Ki4eWd7GsQTWvkOVFIaQPU-j4CgJuZ6PPs_NsOwCHNtIUiSWXBd8duquSA-PH6nu_vjLh7gFj-66tt9wjhYRIJ32dny_0LgVGeuWvhhDEYE1ipYXHfxTJkDP_rOls","Q":"2nwiL7uBQHaRK75gAQMUP10z27tCYFedTFD6Tew4wY43DAmLO_FuTb6xYkT53rfWzkE0HuT0TFRhx-_3nsdxu-IbBwkHqyay9VzxnQiH5NbDZLGdtOntSpA9T4MdXmE6-7WeNIfMXqC1V0YI2cX6GHiLQAqPePxrUFy3JETXtUs","QI":"qtHzraNfrSRw_41LQQLzIlj7pNlsI5-3uMAqA3VzG1ASY61zbQmRK8DstYgKgMhLD3kXizAcwPgS3NGPi4xbf4LXg0N8GUF420fnBbAPMDBJSj121GEOGupZq_temCZKqjhBFBigYYCBYoWAgBygOaXvkSIElibBDRih26Sk5iU","Use":null,"X":null,"X5t":null,"X5tS256":null,"X5u":null,"Y":null,"KeySize":2048,"HasPrivateKey":true,"CryptoProviderFactory":{"CryptoProviderCache":{},"CustomCryptoProvider":null,"CacheSignatureProviders":true}} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/tempkey.rsa b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/tempkey.rsa new file mode 100644 index 0000000..f19e3e7 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/tempkey.rsa @@ -0,0 +1 @@ +{"KeyId":"5eb863b25811a7099f9bc925c0fdf680","Parameters":{"D":"gqn7NAeMkug4twJJHFz/qPseDzQCx7R+6Maj649xrG4vPsMANV9mfR78Er2SuHUS0ZihM2MQEILI5Sf41Uuubv8swCNSE3Dw7GQrBIbTAJ7BZKbQMVgtGkMDtHrtri6d9cOi3EOTSJINICk9r80M49oBMOZihEKascfBSIUYVQvWLEMYfryEiDeFUPbobr10OxF5tZ1unvEKgZe190BdNKWQuFhJelcgsZumjEYNsOz5DHrK73WLhfTy01DmsTKx8i1XVnLtq6W89MqAhMZP9QO9Vj8lR0ANnmdOsY6hJfwUbXiI36t4V9rAZvXR5ESorjb4mnXzT6QPuOfy1fbdSQ==","DP":"ItYIpEqw6aDjDc/swDifUe0Dq6yl4yim3UyQ4B9NBPQR5M6b7D3vbCnvwql4zJK4s+0N4lRViBtkF+20Td1yc2v8S+THCYZCVxCf2e9Q7Ff/sKecJ9/JmdzHkztCfs0xb+4X3CPEQP+JIYtMGmwOLQgE5XgmUYKr0ahZDhYTCwE=","DQ":"v35mgxfyF/nwnWwWlR9cF3mg0v7SyPfKkwdxGaVnGH6G8nPWpPlO+zueflA5QDXEwGtk/1k3PAzI/OLUwJiKBubx/UMhsqt5+/bKTrFDNHxLANCvGNZggMZIzFZBYRucuXRZbiBe5qpCkKkniUct7w6jd/V1mnsESiJZ7btcxU0=","Exponent":"AQAB","InverseQ":"Vbg2a+wtaYvhTV8AzqJsVvaz0kfC4HFbmwEgA8+BAbS3GEoS3RHFSfB3DHndpnNihIg72DctDNLmV2GMMiTu18uyI+7AUaYNR836fByxptfyhPtSQfw4kINZ3V0GWKJGzzZ5NAOct4/FpRl8xliHetayCfUIuK9jwk0z9i6V6bA=","Modulus":"xlzmN1sBi2V1971MsPD5MTND9dAGncIzYqxa3H+9jx1mNDivY6JgKijUWm5a3D2Y1UPMB3kx6qUf3iH6pZHjq5bk938qRhxrPy9muW55U03HTiW4V5/ga0+OqXj5Tj4lz+29OiQHPErxLRgfXT+WBgrGb75ElzkHajKpJnPgzAZuarlUCwupJNQlav/crwOFrgkhGsnaOW13M8htiSLZozw5lxkbhYIei7YTTQZ3l6rVH1dPL8CvzRJJOTwbnU8k0sUmWiuOhrLzuinlr6uuOTocAVgbj943/witVFtN5B0yhetxEVgFCwxRDTOO1EKVHFtCiAyZBUOlK4gwZ+SbGQ==","P":"7dFfbAkZSdx/ieSMYJHoY1DKC4dLg80RObEEmuJ72MaVJLTtFuBPoRpYOrMUNuupIyPjZZsW8fHRlPRhKW7xFv+Q2aDudh1UaJzFZs3xYKoiXTU/j0B3TB3nrifVLMqsS+8kHOWOojwA4dMjI6GCYCpKmYVvMOE1cuJrQ9EYxoM=","Q":"1YdN8mLchLVoTEwD34Pi3T2U7EjjBDgDCzhjl7x5FBG73TyKMz1n7/KXkXcJ2rqIAsnLqCWpYUeRcWl+IQEQxFKoMwkvmQ33lRkOE0SBZ+FnUAMivRyxOD5qM9z4ccqx0ga4ZRgb1lR85f7VYtMSfIosOuSFxWAbV1e29utxhTM="}} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/global-styles.css b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/global-styles.css new file mode 100644 index 0000000..e5d20ea --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/global-styles.css @@ -0,0 +1 @@ +/* Your Global Styles */ diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css new file mode 100644 index 0000000..c9816fa --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css @@ -0,0 +1,4586 @@ +/*! + * Font Awesome Free 5.13.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.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-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: 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%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-acquisitions-incorporated:before { + content: "\f6af"; } + +.fa-ad:before { + content: "\f641"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adobe:before { + content: "\f778"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-air-freshener:before { + content: "\f5d0"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angry:before { + content: "\f556"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-ankh:before { + content: "\f644"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-alt:before { + content: "\f5d1"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-archway:before { + content: "\f557"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-atlas:before { + content: "\f558"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-atom:before { + content: "\f5d2"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-award:before { + content: "\f559"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-baby:before { + content: "\f77c"; } + +.fa-baby-carriage:before { + content: "\f77d"; } + +.fa-backspace:before { + content: "\f55a"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-bacon:before { + content: "\f7e5"; } + +.fa-bacteria:before { + content: "\f959"; } + +.fa-bacterium:before { + content: "\f95a"; } + +.fa-bahai:before { + content: "\f666"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-balance-scale-left:before { + content: "\f515"; } + +.fa-balance-scale-right:before { + content: "\f516"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bezier-curve:before { + content: "\f55b"; } + +.fa-bible:before { + content: "\f647"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-biking:before { + content: "\f84a"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-biohazard:before { + content: "\f780"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blender:before { + content: "\f517"; } + +.fa-blender-phone:before { + content: "\f6b6"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blog:before { + content: "\f781"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-bone:before { + content: "\f5d7"; } + +.fa-bong:before { + content: "\f55c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-book-dead:before { + content: "\f6b7"; } + +.fa-book-medical:before { + content: "\f7e6"; } + +.fa-book-open:before { + content: "\f518"; } + +.fa-book-reader:before { + content: "\f5da"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-border-all:before { + content: "\f84c"; } + +.fa-border-none:before { + content: "\f850"; } + +.fa-border-style:before { + content: "\f853"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-box-tissue:before { + content: "\f95b"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-brain:before { + content: "\f5dc"; } + +.fa-bread-slice:before { + content: "\f7ec"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-broadcast-tower:before { + content: "\f519"; } + +.fa-broom:before { + content: "\f51a"; } + +.fa-brush:before { + content: "\f55d"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-bus-alt:before { + content: "\f55e"; } + +.fa-business-time:before { + content: "\f64a"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-day:before { + content: "\f783"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-calendar-week:before { + content: "\f784"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-campground:before { + content: "\f6bb"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-candy-cane:before { + content: "\f786"; } + +.fa-cannabis:before { + content: "\f55f"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-car-alt:before { + content: "\f5de"; } + +.fa-car-battery:before { + content: "\f5df"; } + +.fa-car-crash:before { + content: "\f5e1"; } + +.fa-car-side:before { + content: "\f5e4"; } + +.fa-caravan:before { + content: "\f8ff"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-carrot:before { + content: "\f787"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cash-register:before { + content: "\f788"; } + +.fa-cat:before { + content: "\f6be"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chair:before { + content: "\f6c0"; } + +.fa-chalkboard:before { + content: "\f51b"; } + +.fa-chalkboard-teacher:before { + content: "\f51c"; } + +.fa-charging-station:before { + content: "\f5e7"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-double:before { + content: "\f560"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-cheese:before { + content: "\f7ef"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-church:before { + content: "\f51d"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-city:before { + content: "\f64f"; } + +.fa-clinic-medical:before { + content: "\f7f2"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-meatball:before { + content: "\f73b"; } + +.fa-cloud-moon:before { + content: "\f6c3"; } + +.fa-cloud-moon-rain:before { + content: "\f73c"; } + +.fa-cloud-rain:before { + content: "\f73d"; } + +.fa-cloud-showers-heavy:before { + content: "\f740"; } + +.fa-cloud-sun:before { + content: "\f6c4"; } + +.fa-cloud-sun-rain:before { + content: "\f743"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cocktail:before { + content: "\f561"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-coins:before { + content: "\f51e"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dollar:before { + content: "\f651"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-medical:before { + content: "\f7f5"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-comments-dollar:before { + content: "\f653"; } + +.fa-compact-disc:before { + content: "\f51f"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-compress-alt:before { + content: "\f422"; } + +.fa-compress-arrows-alt:before { + content: "\f78c"; } + +.fa-concierge-bell:before { + content: "\f562"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cookie:before { + content: "\f563"; } + +.fa-cookie-bite:before { + content: "\f564"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crop-alt:before { + content: "\f565"; } + +.fa-cross:before { + content: "\f654"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-crow:before { + content: "\f520"; } + +.fa-crown:before { + content: "\f521"; } + +.fa-crutch:before { + content: "\f7f7"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\f952"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-deezer:before { + content: "\f977"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-democrat:before { + content: "\f747"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dharmachakra:before { + content: "\f655"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-dice:before { + content: "\f522"; } + +.fa-dice-d20:before { + content: "\f6cf"; } + +.fa-dice-d6:before { + content: "\f6d1"; } + +.fa-dice-five:before { + content: "\f523"; } + +.fa-dice-four:before { + content: "\f524"; } + +.fa-dice-one:before { + content: "\f525"; } + +.fa-dice-six:before { + content: "\f526"; } + +.fa-dice-three:before { + content: "\f527"; } + +.fa-dice-two:before { + content: "\f528"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-digital-tachograph:before { + content: "\f566"; } + +.fa-directions:before { + content: "\f5eb"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-disease:before { + content: "\f7fa"; } + +.fa-divide:before { + content: "\f529"; } + +.fa-dizzy:before { + content: "\f567"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dog:before { + content: "\f6d3"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-door-closed:before { + content: "\f52a"; } + +.fa-door-open:before { + content: "\f52b"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-drafting-compass:before { + content: "\f568"; } + +.fa-dragon:before { + content: "\f6d5"; } + +.fa-draw-polygon:before { + content: "\f5ee"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drum:before { + content: "\f569"; } + +.fa-drum-steelpan:before { + content: "\f56a"; } + +.fa-drumstick-bite:before { + content: "\f6d7"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dumbbell:before { + content: "\f44b"; } + +.fa-dumpster:before { + content: "\f793"; } + +.fa-dumpster-fire:before { + content: "\f794"; } + +.fa-dungeon:before { + content: "\f6d9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edge-legacy:before { + content: "\f978"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-egg:before { + content: "\f7fb"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-text:before { + content: "\f658"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-equals:before { + content: "\f52c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-ethernet:before { + content: "\f796"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-alt:before { + content: "\f424"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fan:before { + content: "\f863"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-faucet:before { + content: "\f905"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-feather:before { + content: "\f52d"; } + +.fa-feather-alt:before { + content: "\f56b"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-contract:before { + content: "\f56c"; } + +.fa-file-csv:before { + content: "\f6dd"; } + +.fa-file-download:before { + content: "\f56d"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-export:before { + content: "\f56e"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-import:before { + content: "\f56f"; } + +.fa-file-invoice:before { + content: "\f570"; } + +.fa-file-invoice-dollar:before { + content: "\f571"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-prescription:before { + content: "\f572"; } + +.fa-file-signature:before { + content: "\f573"; } + +.fa-file-upload:before { + content: "\f574"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-fill:before { + content: "\f575"; } + +.fa-fill-drip:before { + content: "\f576"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fingerprint:before { + content: "\f577"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-alt:before { + content: "\f7e4"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\f907"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-fish:before { + content: "\f578"; } + +.fa-fist-raised:before { + content: "\f6de"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flag-usa:before { + content: "\f74d"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-flushed:before { + content: "\f579"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-minus:before { + content: "\f65d"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-folder-plus:before { + content: "\f65e"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frog:before { + content: "\f52e"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-frown-open:before { + content: "\f57a"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-funnel-dollar:before { + content: "\f662"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gas-pump:before { + content: "\f52f"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-ghost:before { + content: "\f6e2"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-gifts:before { + content: "\f79c"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-cheers:before { + content: "\f79f"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glass-martini-alt:before { + content: "\f57b"; } + +.fa-glass-whiskey:before { + content: "\f7a0"; } + +.fa-glasses:before { + content: "\f530"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-africa:before { + content: "\f57c"; } + +.fa-globe-americas:before { + content: "\f57d"; } + +.fa-globe-asia:before { + content: "\f57e"; } + +.fa-globe-europe:before { + content: "\f7a2"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-pay:before { + content: "\f979"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gopuram:before { + content: "\f664"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-greater-than:before { + content: "\f531"; } + +.fa-greater-than-equal:before { + content: "\f532"; } + +.fa-grimace:before { + content: "\f57f"; } + +.fa-grin:before { + content: "\f580"; } + +.fa-grin-alt:before { + content: "\f581"; } + +.fa-grin-beam:before { + content: "\f582"; } + +.fa-grin-beam-sweat:before { + content: "\f583"; } + +.fa-grin-hearts:before { + content: "\f584"; } + +.fa-grin-squint:before { + content: "\f585"; } + +.fa-grin-squint-tears:before { + content: "\f586"; } + +.fa-grin-stars:before { + content: "\f587"; } + +.fa-grin-tears:before { + content: "\f588"; } + +.fa-grin-tongue:before { + content: "\f589"; } + +.fa-grin-tongue-squint:before { + content: "\f58a"; } + +.fa-grin-tongue-wink:before { + content: "\f58b"; } + +.fa-grin-wink:before { + content: "\f58c"; } + +.fa-grip-horizontal:before { + content: "\f58d"; } + +.fa-grip-lines:before { + content: "\f7a4"; } + +.fa-grip-lines-vertical:before { + content: "\f7a5"; } + +.fa-grip-vertical:before { + content: "\f58e"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guitar:before { + content: "\f7a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hamburger:before { + content: "\f805"; } + +.fa-hammer:before { + content: "\f6e3"; } + +.fa-hamsa:before { + content: "\f665"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-medical:before { + content: "\f95c"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-holding-water:before { + content: "\f4c1"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-middle-finger:before { + content: "\f806"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-sparkles:before { + content: "\f95d"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-hands-wash:before { + content: "\f95e"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-handshake-alt-slash:before { + content: "\f95f"; } + +.fa-handshake-slash:before { + content: "\f960"; } + +.fa-hanukiah:before { + content: "\f6e6"; } + +.fa-hard-hat:before { + content: "\f807"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hat-cowboy:before { + content: "\f8c0"; } + +.fa-hat-cowboy-side:before { + content: "\f8c1"; } + +.fa-hat-wizard:before { + content: "\f6e8"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-head-side-cough:before { + content: "\f961"; } + +.fa-head-side-cough-slash:before { + content: "\f962"; } + +.fa-head-side-mask:before { + content: "\f963"; } + +.fa-head-side-virus:before { + content: "\f964"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-headphones-alt:before { + content: "\f58f"; } + +.fa-headset:before { + content: "\f590"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heart-broken:before { + content: "\f7a9"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-helicopter:before { + content: "\f533"; } + +.fa-highlighter:before { + content: "\f591"; } + +.fa-hiking:before { + content: "\f6ec"; } + +.fa-hippo:before { + content: "\f6ed"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-holly-berry:before { + content: "\f7aa"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-horse:before { + content: "\f6f0"; } + +.fa-horse-head:before { + content: "\f7ab"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hospital-user:before { + content: "\f80d"; } + +.fa-hot-tub:before { + content: "\f593"; } + +.fa-hotdog:before { + content: "\f80f"; } + +.fa-hotel:before { + content: "\f594"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-house-damage:before { + content: "\f6f1"; } + +.fa-house-user:before { + content: "\f965"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-hryvnia:before { + content: "\f6f2"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-ice-cream:before { + content: "\f810"; } + +.fa-icicles:before { + content: "\f7ad"; } + +.fa-icons:before { + content: "\f86d"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-ideal:before { + content: "\f913"; } + +.fa-igloo:before { + content: "\f7ae"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-infinity:before { + content: "\f534"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instagram-square:before { + content: "\f955"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi:before { + content: "\f669"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joint:before { + content: "\f595"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-journal-whills:before { + content: "\f66a"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaaba:before { + content: "\f66b"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-khanda:before { + content: "\f66d"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-kiss:before { + content: "\f596"; } + +.fa-kiss-beam:before { + content: "\f597"; } + +.fa-kiss-wink-heart:before { + content: "\f598"; } + +.fa-kiwi-bird:before { + content: "\f535"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-landmark:before { + content: "\f66f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laptop-code:before { + content: "\f5fc"; } + +.fa-laptop-house:before { + content: "\f966"; } + +.fa-laptop-medical:before { + content: "\f812"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-laugh:before { + content: "\f599"; } + +.fa-laugh-beam:before { + content: "\f59a"; } + +.fa-laugh-squint:before { + content: "\f59b"; } + +.fa-laugh-wink:before { + content: "\f59c"; } + +.fa-layer-group:before { + content: "\f5fd"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-less-than:before { + content: "\f536"; } + +.fa-less-than-equal:before { + content: "\f537"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-luggage-cart:before { + content: "\f59d"; } + +.fa-lungs:before { + content: "\f604"; } + +.fa-lungs-virus:before { + content: "\f967"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-mail-bulk:before { + content: "\f674"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-male:before { + content: "\f183"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marked:before { + content: "\f59f"; } + +.fa-map-marked-alt:before { + content: "\f5a0"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-marker:before { + content: "\f5a1"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mask:before { + content: "\f6fa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medal:before { + content: "\f5a2"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-meh-blank:before { + content: "\f5a4"; } + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } + +.fa-memory:before { + content: "\f538"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-menorah:before { + content: "\f676"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-meteor:before { + content: "\f753"; } + +.fa-microblog:before { + content: "\f91a"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-alt:before { + content: "\f3c9"; } + +.fa-microphone-alt-slash:before { + content: "\f539"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microscope:before { + content: "\f610"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mitten:before { + content: "\f7b5"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\f956"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill:before { + content: "\f0d6"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-money-bill-wave:before { + content: "\f53a"; } + +.fa-money-bill-wave-alt:before { + content: "\f53b"; } + +.fa-money-check:before { + content: "\f53c"; } + +.fa-money-check-alt:before { + content: "\f53d"; } + +.fa-monument:before { + content: "\f5a6"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-mortar-pestle:before { + content: "\f5a7"; } + +.fa-mosque:before { + content: "\f678"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mountain:before { + content: "\f6fc"; } + +.fa-mouse:before { + content: "\f8cc"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-mug-hot:before { + content: "\f7b6"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-network-wired:before { + content: "\f6ff"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-not-equal:before { + content: "\f53e"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-oil-can:before { + content: "\f613"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-om:before { + content: "\f679"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-otter:before { + content: "\f700"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-pager:before { + content: "\f815"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-paint-roller:before { + content: "\f5aa"; } + +.fa-palette:before { + content: "\f53f"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-parking:before { + content: "\f540"; } + +.fa-passport:before { + content: "\f5ab"; } + +.fa-pastafarianism:before { + content: "\f67b"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-peace:before { + content: "\f67c"; } + +.fa-pen:before { + content: "\f304"; } + +.fa-pen-alt:before { + content: "\f305"; } + +.fa-pen-fancy:before { + content: "\f5ac"; } + +.fa-pen-nib:before { + content: "\f5ad"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-pencil-ruler:before { + content: "\f5ae"; } + +.fa-penny-arcade:before { + content: "\f704"; } + +.fa-people-arrows:before { + content: "\f968"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-pepper-hot:before { + content: "\f816"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-percentage:before { + content: "\f541"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-person-booth:before { + content: "\f756"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-alt:before { + content: "\f879"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-square-alt:before { + content: "\f87b"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-photo-video:before { + content: "\f87c"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pied-piper-square:before { + content: "\f91e"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-pizza-slice:before { + content: "\f818"; } + +.fa-place-of-worship:before { + content: "\f67f"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-plane-arrival:before { + content: "\f5af"; } + +.fa-plane-departure:before { + content: "\f5b0"; } + +.fa-plane-slash:before { + content: "\f969"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poll:before { + content: "\f681"; } + +.fa-poll-h:before { + content: "\f682"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-poo-storm:before { + content: "\f75a"; } + +.fa-poop:before { + content: "\f619"; } + +.fa-portrait:before { + content: "\f3e0"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-pray:before { + content: "\f683"; } + +.fa-praying-hands:before { + content: "\f684"; } + +.fa-prescription:before { + content: "\f5b1"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-project-diagram:before { + content: "\f542"; } + +.fa-pump-medical:before { + content: "\f96a"; } + +.fa-pump-soap:before { + content: "\f96b"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-quran:before { + content: "\f687"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-radiation:before { + content: "\f7b9"; } + +.fa-radiation-alt:before { + content: "\f7ba"; } + +.fa-rainbow:before { + content: "\f75b"; } + +.fa-random:before { + content: "\f074"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-receipt:before { + content: "\f543"; } + +.fa-record-vinyl:before { + content: "\f8d9"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-remove-format:before { + content: "\f87d"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-republican:before { + content: "\f75e"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-restroom:before { + content: "\f7bd"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-ring:before { + content: "\f70b"; } + +.fa-road:before { + content: "\f018"; } + +.fa-robot:before { + content: "\f544"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-route:before { + content: "\f4d7"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-ruler:before { + content: "\f545"; } + +.fa-ruler-combined:before { + content: "\f546"; } + +.fa-ruler-horizontal:before { + content: "\f547"; } + +.fa-ruler-vertical:before { + content: "\f548"; } + +.fa-running:before { + content: "\f70c"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-rust:before { + content: "\f97a"; } + +.fa-sad-cry:before { + content: "\f5b3"; } + +.fa-sad-tear:before { + content: "\f5b4"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-satellite:before { + content: "\f7bf"; } + +.fa-satellite-dish:before { + content: "\f7c0"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-school:before { + content: "\f549"; } + +.fa-screwdriver:before { + content: "\f54a"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-scroll:before { + content: "\f70e"; } + +.fa-sd-card:before { + content: "\f7c2"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-dollar:before { + content: "\f688"; } + +.fa-search-location:before { + content: "\f689"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shapes:before { + content: "\f61f"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-shield-virus:before { + content: "\f96c"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shoe-prints:before { + content: "\f54b"; } + +.fa-shopify:before { + content: "\f957"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-shuttle-van:before { + content: "\f5b6"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-signature:before { + content: "\f5b7"; } + +.fa-sim-card:before { + content: "\f7c4"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sink:before { + content: "\f96d"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-skating:before { + content: "\f7c5"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skiing:before { + content: "\f7c9"; } + +.fa-skiing-nordic:before { + content: "\f7ca"; } + +.fa-skull:before { + content: "\f54c"; } + +.fa-skull-crossbones:before { + content: "\f714"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-slash:before { + content: "\f715"; } + +.fa-sleigh:before { + content: "\f7cc"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smile-beam:before { + content: "\f5b8"; } + +.fa-smile-wink:before { + content: "\f4da"; } + +.fa-smog:before { + content: "\f75f"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-smoking-ban:before { + content: "\f54d"; } + +.fa-sms:before { + content: "\f7cd"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowboarding:before { + content: "\f7ce"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-snowman:before { + content: "\f7d0"; } + +.fa-snowplow:before { + content: "\f7d2"; } + +.fa-soap:before { + content: "\f96e"; } + +.fa-socks:before { + content: "\f696"; } + +.fa-solar-panel:before { + content: "\f5ba"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-down-alt:before { + content: "\f881"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-alpha-up-alt:before { + content: "\f882"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-down-alt:before { + content: "\f884"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-amount-up-alt:before { + content: "\f885"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-down-alt:before { + content: "\f886"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-numeric-up-alt:before { + content: "\f887"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-spa:before { + content: "\f5bb"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spell-check:before { + content: "\f891"; } + +.fa-spider:before { + content: "\f717"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-splotch:before { + content: "\f5bc"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-spray-can:before { + content: "\f5bd"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-square-root-alt:before { + content: "\f698"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-stamp:before { + content: "\f5bf"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-and-crescent:before { + content: "\f699"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-star-half-alt:before { + content: "\f5c0"; } + +.fa-star-of-david:before { + content: "\f69a"; } + +.fa-star-of-life:before { + content: "\f621"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-stopwatch-20:before { + content: "\f96f"; } + +.fa-store:before { + content: "\f54e"; } + +.fa-store-alt:before { + content: "\f54f"; } + +.fa-store-alt-slash:before { + content: "\f970"; } + +.fa-store-slash:before { + content: "\f971"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stream:before { + content: "\f550"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-stroopwafel:before { + content: "\f551"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-suitcase-rolling:before { + content: "\f5c1"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-surprise:before { + content: "\f5c2"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swatchbook:before { + content: "\f5c3"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-swimmer:before { + content: "\f5c4"; } + +.fa-swimming-pool:before { + content: "\f5c5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-synagogue:before { + content: "\f69b"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-teeth:before { + content: "\f62e"; } + +.fa-teeth-open:before { + content: "\f62f"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-temperature-high:before { + content: "\f769"; } + +.fa-temperature-low:before { + content: "\f76b"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-tenge:before { + content: "\f7d7"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-theater-masks:before { + content: "\f630"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-tiktok:before { + content: "\f97b"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-tint-slash:before { + content: "\f5c7"; } + +.fa-tired:before { + content: "\f5c8"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-toilet:before { + content: "\f7d8"; } + +.fa-toilet-paper:before { + content: "\f71e"; } + +.fa-toilet-paper-slash:before { + content: "\f972"; } + +.fa-toolbox:before { + content: "\f552"; } + +.fa-tools:before { + content: "\f7d9"; } + +.fa-tooth:before { + content: "\f5c9"; } + +.fa-torah:before { + content: "\f6a0"; } + +.fa-torii-gate:before { + content: "\f6a1"; } + +.fa-tractor:before { + content: "\f722"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-traffic-light:before { + content: "\f637"; } + +.fa-trailer:before { + content: "\f941"; } + +.fa-train:before { + content: "\f238"; } + +.fa-tram:before { + content: "\f7da"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-trash-restore:before { + content: "\f829"; } + +.fa-trash-restore-alt:before { + content: "\f82a"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tripadvisor:before { + content: "\f262"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-monster:before { + content: "\f63b"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-truck-pickup:before { + content: "\f63c"; } + +.fa-tshirt:before { + content: "\f553"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-umbrella-beach:before { + content: "\f5ca"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\f949"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-unsplash:before { + content: "\f97c"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-alt:before { + content: "\f406"; } + +.fa-user-alt-slash:before { + content: "\f4fa"; } + +.fa-user-astronaut:before { + content: "\f4fb"; } + +.fa-user-check:before { + content: "\f4fc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-clock:before { + content: "\f4fd"; } + +.fa-user-cog:before { + content: "\f4fe"; } + +.fa-user-edit:before { + content: "\f4ff"; } + +.fa-user-friends:before { + content: "\f500"; } + +.fa-user-graduate:before { + content: "\f501"; } + +.fa-user-injured:before { + content: "\f728"; } + +.fa-user-lock:before { + content: "\f502"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-minus:before { + content: "\f503"; } + +.fa-user-ninja:before { + content: "\f504"; } + +.fa-user-nurse:before { + content: "\f82f"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-shield:before { + content: "\f505"; } + +.fa-user-slash:before { + content: "\f506"; } + +.fa-user-tag:before { + content: "\f507"; } + +.fa-user-tie:before { + content: "\f508"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-users-cog:before { + content: "\f509"; } + +.fa-users-slash:before { + content: "\f973"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-vector-square:before { + content: "\f5cb"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vihara:before { + content: "\f6a7"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-virus:before { + content: "\f974"; } + +.fa-virus-slash:before { + content: "\f975"; } + +.fa-viruses:before { + content: "\f976"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-voicemail:before { + content: "\f897"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-mute:before { + content: "\f6a9"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vote-yea:before { + content: "\f772"; } + +.fa-vr-cardboard:before { + content: "\f729"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-walking:before { + content: "\f554"; } + +.fa-wallet:before { + content: "\f555"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-water:before { + content: "\f773"; } + +.fa-wave-square:before { + content: "\f83e"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weight-hanging:before { + content: "\f5cd"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wind:before { + content: "\f72e"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-bottle:before { + content: "\f72f"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-wine-glass-alt:before { + content: "\f5ce"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yin-yang:before { + content: "\f6ad"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css new file mode 100644 index 0000000..e4d93da --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css @@ -0,0 +1,2172 @@ +/*! + * Font Awesome Free 5.13.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-meetup { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-star-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-pencil:before { + content: "\f303"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-share-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart:before { + content: "\f080"; } + +.fa.fa-bar-chart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart-o:before { + content: "\f080"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-scissors:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f3fd"; } + +.fa.fa-dashboard:before { + content: "\f3fd"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste:before { + content: "\f328"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f381"; } + +.fa.fa-cloud-upload:before { + content: "\f382"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f089"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f089"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f089"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-shield:before { + content: "\f3ed"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ticket:before { + content: "\f3ff"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\f155"; } + +.fa.fa-dollar:before { + content: "\f155"; } + +.fa.fa-inr:before { + content: "\f156"; } + +.fa.fa-rupee:before { + content: "\f156"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f160"; } + +.fa.fa-sort-amount-desc:before { + content: "\f884"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-try:before { + content: "\f195"; } + +.fa.fa-turkish-lira:before { + content: "\f195"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-spoon:before { + content: "\f2e5"; } + +.fa.fa-behance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-life-ring { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-git { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-sliders:before { + content: "\f1de"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-meanpath { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-meanpath:before { + content: "\f2b4"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tripadvisor { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cab:before { + content: "\f1ba"; } diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..8745c3eb06a1307b20b7c39bbe7f8dd517911e47 GIT binary patch literal 134878 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%0AOvHz7XWDl@-ydl=L^4Py5L( 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 + + + + +Created by FontForge 20190801 at Thu Jun 18 14:52:21 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ef792f4244b8ca1d096741f5b43a74c1bd36df8c GIT binary patch literal 134572 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%0A!*q|pB=^x9NFeid%?3b(xc+iHsc8`yF_^%j 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 literal 0 HcmV?d00001 diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..1c640823badc78bb0a2f1b31f9eb6d3d8b29352d GIT binary patch literal 77444 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 YJa&H6=2|tp#46fOZwi&E5xPRu)e-9ZK<~m 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 literal 0 HcmV?d00001 diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..1de96d4b92a43a0cfe0598d50446038e6e81a751 GIT binary patch literal 34390 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 + + + + +Created by FontForge 20190801 at Thu Jun 18 14:52:21 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3c0cf40e0e9e70622f18fc4fa8a7b8f8b5306d5b GIT binary patch literal 34092 zcmdtLd7K6SFoXtY?Ct!=PnA-v8=Gg|DCW|+kr z1|}dJ1ICdZg*Xnmh|QO0AaQ_j9kX0Pa={_MHA{F2;U)S&k`I?hl97xOL!kA(zf;vc z-7_PZ@VW1g_oV8oQ>RXy`kixr=eM6T0uuzmD=Z0;Ft%&g!F|8=MDXtg;T?YDCT`q$ z!!DsiI4=limT}*7;MU%OZBO0WAPDR*?#GXwnwb5{`Imkw2(l#z()W%}%+FrEikgHo zKf-hU`1C`^c7E>@epGI59Ob8Nb^5$9VRA{0b+KArFb)M15i0x1Kn)@L=$H zVFC9q2!eQUdgkcFkJw-C5(EwPvBIf|2WN#J3x9<429!^po;WqN`Fs6Mg7CmaK~V0P zotayIo398S5w8it-v;iVb+3z8e{%It#ouIq zfqPwW9^)k(7p`6a3`{Ws9YfxY z?)8dLC!9f@f`Wcp@88(58zzONW%X0a|jdcvjA*XF9*fGpGF3U-0ry89^MyJ?cW8zr+>yZXJSCp5Cec@$ZbU z$0smFDeD$BjQM|i! z_2*8WTPO0|IxF8pU;mPSm&yzD{OT|9`wx1r2F43`KI+!Pzk_crmEUom@pe<*Xr)}a z&i~-wMZVikXFSUFj9x93>jM10DEHs5dUe{2Z!V$!s{XG@zv?^_*8fL1Nxy`HZ{l}w zN0^roWD#=`*tR67LdUYQtS!fuQ_HQ(J4OwD<8S?=_@Z>`O=k_ zK#hcDc@?a$ufY1I8dyIJSie#OYrG29eV4{A-EnF1(mO6a30S|l3f3C|>p{T!#>)?J zSpUR@^^2EZuE2VD6|4_kdFz$;Uit8qPnBWyUG;->~Gtjwx6@l+HbZWwrA~Q_PBkUeXG60)@<2Z^8V8MWA8tCzw7-g?;mt*XB)^X2YdfxA8^@Kf=dDZ+k^Iy#$n1646*Zih~8^DJD zPyAylFy4iflTDi5)&I&5tMmTR zEM>Ry8MQ;*uYOId*N$jE(2wXpFzz;9Fl}>_`Iz}5&nC||thiOM-e$e*4SWB|ZnF2= zkJ(@L?F4py$uIav{HOgd1~vpf6Ko3}3w}8GjnLlEH^Mu^AB_l+y^$|O6Vd7DKg4=s z)3KN0JLAvBe_D5}Zn^&H`mZ*G8*Xp-N#aD}$BjE1zu$DOIo^D%`EyAzc`W%ti{7%k z<%yOHsmat&(tFciXti5Uw0@`c7nyKoe|9wc;hdh^pF5L#F}K{7ZM(PatL>@wrS|W4 z?CtpT&V1)1oxkYX-Sy#afA`ZpYR_b^+WTl$Ul|; z@leyy*@93wT=;TPE{+2Y#H&BQ`uCy=z8e%;fk{nF^)WTo%X(O$Sct|(SgerGWs#Zd zVVW9lX3--1YHK{&@JIeG{~t9(G9UY6|#@40-iF7(~psBU-c}ZeR&A07OeA4g# zWa7ZV=2oMl!?@V=`czzPOs5;wc_hjsmM_5?Q z+Q**?#f+Uh&3Ndk<91ezo(TreeDFy4EpG`QdH4410=|9q0>ghHgzt6;1A>qlh&HmY znr=yDx3GL+a3DHRhz;el>6DsI(YcWoQrUcAAR5l5)G(gr*{0%wM7VT5oH$VQ4(9Vm z2Gi2UrlyTjdhjO?9z6Kq!4qQ}HjHgJd!Se!P9(zh#RGo-`TF#r-#?hHe;&^dKKMR7 z-!KL~q+flBy$Z=t6MRCmAO!Il6`u>@GxRwnM^Fv3fkyNXhUoXc@#K@=c=999E-pU1 z$kf{uD{1X8w4labK=za0D18(8i_dyTWc9ag zElsN`yVrWjT6O#)(iEvZ*m-%_^XRmXO3GKW3=^4 zLYn}InhgMz{a|^#XF;0c4Ur6 zw{0~vzh=anB7u5Q%(Z8ZzxRgWrejSTyYqYL!e$d@qJFvFZc8@asu_mH-fJf!3C7|9 zNzyf6@~W_$OeTL6PjcZ2IJg8HG=YUq|K~K`^=`)(*;qJn;R4#9R7*cm&oU%SeY3OF zrKN-He)Pt>4iYX?WstdOOw&To^~bV2GO?jzp_$PyvfdDFOvPfUnBJ!AZ4c`DVYY-% zU*uz$#K)gkF;xhrS5YXI`s2QGxiP3qG`GZUn9~W&tX`prx#e^{pIjWdS_TM-J6WJ* zC|`6YJHte0(Xf{Dv0^Bf#e6Ro*i%W_tRO*9k>#W)U1sC&Fa7NHa6&Yh7U&Ch1{OBG zsBQa?PF-u>)T|v(%Ch<-hZI<2;*HYzIq7SqpP6DJd^_FZm zdj55;oqrjPPdg$^y^NElt<3GdXw6*g85z;_m~M=W7`W&)ceRuA$@Pl3FVK+I!c;{Q zT3zy^Q6F+>I3zI#4z`CAh0TWXaYMhuFaXQ&6T0Dkd%~d$hW;_bxPwEu z24Qra9thha5lEUepadggaYW+e(RTWzNVBC(1Zuiu5KK{1dK66$nwG8`Qk~Beunf&e z7;0uTyLDS#s;(|o+d1!wC2ha1Dw?JkR@kqp3SL(%zh-$1Euxu){AcNiKD>( z0I0U?VJM#~D8MV5rBgj%Df!|ENS!uNDE6?Fsx^r$*}HAqUE5@@9c$5i ztXq;gp1x!A%%KD&KJ)Y|H@`KLdF#2iX5u&B!TL~eTaVwTwZv?%G67mJHqm`xh+ilE zb>EI1`}XbV+LjiSt5-1xeuMLuI?(e$VHb4xXe5jgOQ&)SzyW^-2Vx5KT8z`ATrs8P za0^lda8;xMp)^p85ji5b3rK2BOng|CO<7mvUq0t1nBuXzw~24y=h=ql-l4n$f3!JU zAI!Y{R8vFCj(w$z$e9>J3*8LP zLmb}e5n{Z@hrvUR3p0XHOuI}1h*Df(8If33TDwNNx=gW(5e>5;hwlxRuLDsj&;qX1 zGH|ZVvf8Y1{H}Gm;65u8kv`ln;nx>V^p(yNM>+45u&4_6c&wbLpPZ-z2Rt)fazw_Sr-rL)=?PkAa zioTdO#Dqf+Km75B+rp-9H8q4|S#}<`c2A>63}k{Eb{+b+yU*Nx_x8b#Xd)aj!(I(W zDb7P&+8+Y#CmvFkVTjB^Txe#Yp)};VbfB8Z|F+jCUib=5kF(K4xI)&AVrlszP8UIY zsPf&IQxV8VXceR*LR|<)PQ@{xZ6nJ>FzZ3WJ6SHBV#O9s^d}O&F}tBOOWk#T6unj& z+iEwkxcY~qkE-nKSm_=6F80TlV#L(K34Fcp-v4zX)}fA;E-ozziqk00%bGElcan7| z<49y^4R4)GfT(p&YX@ter(pbVv))?<`fsU=hXawQEc-_6 z1~2m@a$2EFlyV7AINe#?es`hEc*EvmzpQS*bNlw5bYncJX`0>Jm~I{R=wjOqUCMwe zdu(JTF@B6>dY0t0Psl{7B>BMzN%1UMExLzEXy01gX~e=$LQritO0~L?jYF5?M9`GNQ9Z{puQ(}cI9%OAfiU(2TM+Zh2=3cgtMGpGO zhCYLA2o(Rb!{e1jT{d$gJ2z}-%jnUY26;8+MLlJ+dy!UeB7Glfh2Y!&E7`bJym=U;uZ9tZFTZ z6u%94nKIsPn4(uNE@-5&V;+E}i~?8u(2SBomm|RfC8{XnU@X>@WkvkvN0@ktPuYCO5+9P`M5k z9blhG^?PGYfmTtK!)&N0lDgHD4DYBn6vD}nj7Y$cgI2x2V?aD)MItbeisdOT#St)XCVtL3>rV%rg| zE1V8A>%nNN{Jaj)$Knd+${*8AHyVJkSqZT6YGx-GoqGFW%&)n zns-MoTg)PzErwA-jmGFexk7OW@Izi_K?hakj=)sgrylpm2GHTD;_FcR4b2dEpM`tsSTsX5?zSj`Qf0O%+kCh3&XRyprpkAZVa`5%F#wzlAe56Jl-0?_Qw| zmuy>Md;ikX!>YL7HlH``4pn`0cRs&6eTfpUarz}+4AZ|4lCIeNVcqDKGpUic9#0U1><&ZqyeL>XjtT(P~DR3DtNtUm1lL;GYcFayprc2}Oe0rByXV=H$ zb#-=~xGP<2w&-h5>}N6JBQdr=@$WAtiY#jSG|g{DSTV6Om&PHx_`unKQ6aKtfm{Nk zXg(FBAxsEvx`0rf#Z&MPaEvr*XT(K#QKBD_bdQ*$H=ZX+us(|!zM<{B6jzM>h7y;? zZaUs&H*0-js57}|D8Dz^84~-HP+0GpVzVflt*6)8Hk97c*{R4GP0Psa<>NPPAMg*w zG;K?NYv0hGn+tud{aXNjrqLYOe&b1^1*CVfF9QAyaBCy+Wk3$p>VXyo5YeG|kasfA zHL@nma3Xd}3*hYMLS`RkJK8xIX8+9y+NCAK2g`xz3xs!X0K?5}Y6%B?V(AICp$nqm zyYktkL#728*{543lYH?VU7HShA~dPNwYF!wcEo*>Hay9CAU3kezsxiMj|8nkugm)5 z9$`XwGqgun!6OB6a7B?!S8I&1s{B|4!p|_{iVm9OP&Z=ffx&@HMOzG{U21?SR7{hu z0;wsDUw9ak3omV9gZSl1E5z|Q*Zmfpo4x$z@zN-!mU-AVXH6RvAZ(S+&Z5BVD9;&v zu^w_wy^4b_U#k+A4)XW&PGyg@wp#2>hSf&%t<5q@?_fJDYX`e0P8spON)5ashps#G zuK|>TtY{?CxniBGXjfF?YK@shFR5a?Z5d$W)?wI(4_oeKyn15x(Znax_HtDT>+rc1 zQIHf}$M8xtq1sNg#!6jd_NlQ%W86umeTgl*Htra#BCyr0wsV(F?7%{9L)J#%lhD*u zE(@tX79HT$ZP)Jo4lV+|ho2K_*e9yJ=XzDq7gk%2)moE|R;0yH{hhk#4Qm@WYGJRa z=hlU*@7i#c>90Bf)eWjmE}L?+i?x8wbHHZa(yoe{4$Qa(_yHK#gRGmwcdB0ttD2}c zH**jH+B$u6=gpjNa~YGLM3VVe{04jAH8={Z z&zpqb6n%{*fLwS}XW5tW{2_+06t{x15~ zI>+g%%*U$IYYV?#jurY-A7mNmUDmHRLVA&#%DPu{A&>4Q%uy`~oj;jsv0 zTpvK${$JgLY`k=yZLYDrM~&5@5EZ(-Vt{|#FrtPl$HQ;(7wF3Y;SKmU?@vgqHVcE= zzyr&9IOpFnshEqTY&jB+^{^487$bKrX*y*w64Q)Ceb6XOI}&(Xh{=fqwtY4>+~28t z3W>Jv)~2Dpn}%blvu9iSHg{x0Bbu!H>zmu#>+3wGYL$ENjHQQzl5~jk36`?kP)A*| zAcvCiWP6})Pxo+JOTZ^>Ova<7FPuGlLec|u?e*Jo(M%%hGc}QYPEut}>n!7vB^#1% zik$P*qveh)@9+jM+|jyT|LA>G7L!Npa6QFf;lR<|pjv(9BBHwxTdg+^>d z4O?eD%68{+r^5+Yyc!3qd95kblfAPDIRf8?j9181n_O10);E7ySJk7seiU7^r`%oS zt*o%sWuHRN72nb|P_7E++;3-~rf~04RJ|UWvmGlRUtIUwXUpHd_$z;#WJ9>&sN30f z+WmaFX69e_%Xh7S#u~2iaYt`of}bz|`q4=EUaepNfty(_BDDk@t&Pn=F>_pyUklqk zdtYYB6Q+Hh-3_(o(;TxvtL(YGdx^M0q2avq0{5?yoY@W=+K?+lxpYLM8R9Ud!RkTg zUykOWg1Mg#u%z`-iw=Hb;VM85+Dm(70^}u5n-4m~{BuVJeLS*PV8QvcXe( zP`H!mCfTXPbO-lPr7KnnNVMc-gC0a$204asfiL)B3|-e5{rV?+0#(Hd`y?(s2?=8O7IG&02q*}Co5643_J zQ+Fzx88t1l^jR(ke4wSNwK>sI7Y>_t$h+(fY00!9Z|cnt#bR~2X#IX)yBW9bcyMFL z^aM>^ztOK{8sjf!w`-}}%Eqedwin1&!S$0)j67*saL?gLbKRYo2pR-a9c+o4AfiM1 z)1q=Y90IwdZ56UPIxvVTRAzFW;UKj!pB-Y~vIkmQjlu4QMoaSanVK1N40V>_@%7x; zjc(bnfkhR6=`Ic)J7NZ*4SJYQN2^CO*;92ME7hj^Z9Ndt#m2vn*QfHa7z_oQWY1Q^ z&pSa6hX=cwTboYsK5F&^4LfeO`}`?wd-lb2LHFONn_=4<+8Bh7mHgri_)hT%qrz^N zW1?N4GmvpBQ7proVD{46{7t<&RrWnh*RIp+N_?KXCvn~64ksI5* zomSh8ktW&R%=4O%Wp%k(L;Lmx@5txx2)fr74{h0UXv^z*T3UKqeqeQ4?KehzzRH`? zUF}XDRTc=~1E}n+LzUO>q-y>h6>K?l6cw}}@IVw|kU@S5+>R0zRY;15mlI({kdmQW zqA^HFWKDx@si=~IT+FiAz3_&`W09y4YR*iIAn2s^#4!9}hx%@7Ja}fHBQy$snJlN< z%-~4t)-g-nSl>OsUWS9Lz14r}wt<6jAQs`4BQLmg6dxo44pJJuE*iIeUr1O|8sk9@Ah8y78-yuXC9b6@S4l|!ISrb0##MTArbZ(M@oOUmlFsXC$84-hF)m$X zT_{&R#w#f#*6PFvzO&8JZbuvbFFat8;*^MXmw7``*aBbR&Ey5TK9>kN4mFrIvoLo6 zw}5d(IAR4Y3jW@{<1GoX2+@kCEw$R~#Ej%J^B2U7xe-KT9h zWm1m?L~ktZgNF%jc^ZFCFRJ?Bme*=KXeC&LBk|?n5_IiUFyw=p5G@6jjll}Uld%MY z3#4$3wtwFbBfeQDnsHOqJdzX?jXG15ytX9jO28CDEDqbhDaIJ0?XKDGmt{@P9x;r@ z&VX+0HVjX3gRL6oxWptC*%Ne~;BjfI+gh>ZR*ADU(g1W^$hNU4@d|RCaxs_3<+#m5 z+Xk=ExbJA1oc8oUB5l+pvB3&RNN948lOr1;BP?mxY}E6Xx+Sn*wN$Ct(2UD|N(bAb ztt!ThY#h~iTM$NGYt)>%jG?hr2mp?)3eqR!-A;Cm2JE(ONTg-eWB5$J?h`d7ZuP}I zUau#9O{h!n`>2&^^aQ;gRS{XQq8;_cpwzF1w@rZU<27d3O59kP4P67wBn5>X*7f+G zwD#=iY{~@MC6)h!`qlnAH>08xOW)m0f`jTT$1to92 zzphycC8K6{11z3F+ZaugJckLJ~Ics`R% zR{H*eEC2R_#=TbG6GP+TFbPK>Z4n-xI|3svRK1>S;S2PD)&zx8C0Z3XpWa%e#i=VEEJzv*#&#Xt+^BK3KrDw2;ql`Zk*PH`ZZ>ETgA`fCA%RSexBDlRS z>JZvES|G~DoR^%8A>6!IRRf4Fmo{qJMokTNtCls?cq+dDKc@HQ@oysNQsC=&5GS^pQm*}%n= zojiRTmtSJlkKMAs5$S5_>K8->_KXN(7+QcK5dI`kYKljK6bQox#C?dfxmZYv0hxV_ zy-+_OZ_xk!sq{$9qe?x)0XY#p*yq{o z``&=BmA!qr`%jIK^;LXYP_gpuCB%-rfcS|zAqfoVA?=Tm%@*?q{E)&GVOb^_AxE*M z*_;*uD5?gDdq^q*!YK4$2;ymt{X_EZiEQq`nL2*W-?Mv@r9@cn#=5S2W=rqrjo;mz zHE$fft22IMj%B7cjYhi;bTaRe|CY4w-bd$-{a5^EM{g#&cgy8`xc=te=$pg&p=j^T zrHdms$1+>-wYjR7B`60{&OE2j9t5*en2<2+;=vD-M_$IqMj8HjrI zXMCmNS3v8VxORkSNz6P%O47^=4aQo?{f5CBk%wZC;wU<@%8eBxR~uYd5_ewNh>^5R z)3kp19KS4mW~B5ZI|xsfZukwO$9N>wm~GC&6a|1s29r?2?7irL;+6ppRZc%~uH6u{W6*h5JN$glMwD1>_O$wQeX zQH+|GrFawQMF>bK5WYpiH7=CF_N`kEw2rn7XJs*{c@i!0)?i0#YZKx>A$HX`Sp4m; z+ngKCq-8~t8a+ldl8L4U8e}Fn$XICs`HGY?;1${L2ZcRru&E~AzerjdKqc9kg9-m< zltRVV&yUr3W!)J6FG_O#Eu-6RsguNjtTv5qX;$QKNm7H8$AYrbJUY?@S$C;yO`(9m zmB{i#vYb!~y*+uU4sy0C$0MmstU*!Ho^|tS?znM4G;0RoF&oCphNDhoDgqz}E9Rb- zmDng)c*@g(I}@o4&7Btf0z+wd7}Jp)FT`Ksm7w5Yu2R`b1@vAF<;hFOeoDro-B#%W zMOis%Hj4CUvNW1ZvI|MwqKEj0Y|Mg}NHKcJdg1K&25T=Hy((0_SCz)Q$z*AX&ZA7A z*HIGxE|7I9&rk8$+2?2XTEwQg9CZ=&(4 zu8wIz$cXE3bEae;D!)L+Q6#>nUJNG?6vECSK;vt;UT_{($FGzS_g4vDVR>G#0u#5T zX26sB0TVoxP&WBs;){F^!IT3R1)mS-37}QFg`7WtiQ-q;>_BhtfDEjE+OlLf&A>`Z zU)yu<9vtlK*7>HU`K=Crs7~*lp59v;r!&DKy7T-4u<6bM5-wR{6dctlJG5EJ=Ar%a zh^H7t;{xQJD9m=*atQ#NMMPL-DZ@H9B%)9S{1M0=M^kVj_Is^6j7~Y^{e?Hg7(0^N zkQQ%hjgCg+n|9aN8=9sWYcE*Epw!pLCc@v>I~Ddue^=XFJThstP@IIUDkOJ===n&L5*Y6K#*_G~q3erO^sb)3^`@v#k zkJ2OstiKDG5BT+HW6NMNI2LZsHv|znt!hRnh+a|6V9-?2IiX-wYmhBdljpw*=5#=5 zZ#ol;zTIPc|Bq6nwnOIA{buRelExnNPvbo6p z)>E3d^gTV~{i{$^i_4I&<^nPOjMsbA4*Wr5>m$3fVoR(w-`Crs$68uSPwtHbe*itr z8)^=Y8nzw_=t@qB`#7JXIZd|lKLg)B4t(X}5wKNE^@u<>*zWw>9j~Y(2 z#U+?2T4IrGy=*I3E8|yv@rcstlcNc_PHGSvrD#G*O7(ItG!MB`O2|pMF`~30nmg}F zsOBBs&H%fwzDH$ygAv`h+_p*c_>4npC~P!Fn)F*dW};J)skaVUfz~=8Hs-fu8*W0x z@2s#SJbuktPS{%j2~@Jwei~&5<%u3vd`%Ssz}@%!Zq>6KQ4Du3a2&}NS2D;9NB4LR zOu`L2*0ND-P%^PkroyKh9gL$pC^g&&FAl8_8h7*quByzdL%}U(#JYdQ}^BLXu zfG8fMDTbP{YK&455KUc9Q!>qS|A>;8KuB&Gr+GLIPql;#PxF)CKkn!2q@DgwQ-n1G z{-K?iEEHW1no;B$B_U>L;x(0Jgg={>L^niEWN0BzD~W%1kFxIckw<-9qI3UvT=h)Q|dwo?k0+L zSPHy%7qy<6xk8D`)X99GPm21Vl_X6;kmL~qok=$76+45^@u;qj;KEuvw^v+aCTGMz z3^*^NxdAe}L6WIaa|)uQN}Zb2m(-M;tn2cDV{PK5q!RQu)G9e?03)flA0%7WtBQ8p zU{q>vF}?aI(SFCbh*5%uGYon6SB{rk6B+|&V|j%c8?zuvHLM=UQ-iQfRfOzty4qQFJ=h-MOQ;{YHbf6PqSRks z7nF7S&GAP9t;r7wVnI$wAScWuHIB6F!NxWO482g$jet%Uz2=TIzH4;iP3x6+-!A>C z?V$K4vPiDBm$>waD=45-uEuZ3$2cJp|r8V0T(~GeF`G;2t&sYa{sRqhy_@2FrX;`Egca1R8ujP zr(xePKmME~)!danwN!fftq{~NzLl}_Si$zJiuHv(jH48B|!Kz)m7tVbCbB3-#G-{nBGPhphxfc@unXDx(#87h-J*36Pm}do1WG08IaZh&n+Hrc4yc;GtQ#SU zC|J&IAhdCIR9?tmzOSJyZHCrI-@s{hC0R>UJ_P6tt@cEHQESh^`fFiTNE?<|)j+~t ztqv;s)JmN!R~3--VC74wk^C=L#U+RrGfBwq`B+|^g<9B^2;+B!L*J&SkxXu zT*M|xueZ{HP*XG%8;;#(AO?N({yu-~hp|BEbvE6y_bTeN5$tX>!eTVHkx6W%BQasM znEs4mG{sfrO!pQ^I_R^u>6#kRik8RYvAoA+`Ly#oY#Jf2*G&2hE$$D9p}kb6&<7XE zvgtJpFKGMgwSeR^qQjB2II?uul)a&(X10bD^`@l}(X&|%>l#xBJy6I^>sDFrBx^jJ2)5lL1+7RRN{eEwpfst7ugkLrJLZpJk!$ZEg!i6Ple$^- zJH_BF#&QJaFPb_c>5G0Us;geh=kZGZqM_4$>E}Fp39I>A_DDX{hNPqW44-tM^!bt~ zZf}p7Sg;V!>|#<${gSD5TTUTbwIEvEh-xvkE-wmU?UZhb-YyL@iRg?YujDv?L97X^ zF|O&Qa$PYepc5b^^5?|)$`QpH*ZM$)V4$Qkx=T&7Plv-6{73kqQ!a4eN0GF~N*7+t zXQ6yQV|a5g-1~g>aw6w7SaKAMl75bIFRb(VwT&6o{W^}? zi#zwLdT6z$#Sjv(OVZ6Zyn9&O*mkQHeKL0 z9~uMVshijD{}8Fyq!|D?uu8^>+g}%R#t2!;+lZ7djuYYKr|7zPLk22LI+)3TGNnF3 z7B&v5fn%M1COSZVzl$R2zCL)s$m_S8{Ke~G%^+#R70iZk`m10{xp}KGriHB_Jlj}{ zCcv5!Z{8YwNtQ0kK?muB^4NN4GS1Oy#jZi^LUhrZ_P}0EgsjF6kKQ6`wCbz(|MJPRMH8SMZZ?tBpWHR%Y|S)n<9Oj>II+I{@#UAt*(j`)7X^mBsV=ZDgQkBFvV0Q>NWI`_TvE#RiV@c}TVcXH zDjT75L&P>ovDyl;1&ouVSh^wGPci3Yfe*TpEoYqYy@)W8aOPN1YF(KZ;tjn?-*I~Jd8Fk=>vbgDCJ2Z<;nb8PqSG1Y@4t#+|>UX`e7sEI{(Z(3E8$5T~Pn{w@%?vgEN%X%!O=(O5T zQ(xC{a2P;YR$ULxzMgudWn12Su;X&#zipnZ|%q0T27&_oMlW{T?98IhKTU$YDCzDX7e>TS==83YBG?;odz`W?c9kubDdQfl0qL|~_!`eg9&peWrfeW`R2${PwN-Srw{d?$y} z^PK!RHyaHbW}=Oajg1lr(OBvEKBp|^2hmE0?!-ZN@@U76T>q@H*JB;EBW-M9A#QKO zd__BlYL%2hCrq#~pb`4fFVey;0`?^W#BaiEzo6b;dYoT5HRTT;tjMwg$em|0hm36hHQJ$zy4W97F%C>=()AvCG$lZvYEsFnJ^f-pv(^USx- zw+ft#si{^snwoE|08+!r30czz2XxLnSuYRX>|UvD!FofLxc~iHAUG|p)^X6T)p`Z@ z+k*^om0N}R1beI0s1`LJt5Ggif2~%B!MDm0A)-5inyc42dI8j#NZ1VoarTz`bS?N! z@Q2&xZ&$Y&>pHLg^6GyVcK~-tUWh?zYZ54G3pj+9Kyashk4ULi(y_q|rfgapENZdb zV63PW)9htc#xRwBB3Tml6;mb=g12vDerM_5^Iyt;b?eUjKx25It^a4NeId~De4DtGg zb?g|BdCN{ds4mypm#kJAa5mmMr%rF#0%L@3;G#zjx~$x-mKEG}pZ~mGS@%uQzRLbb zPV93h#XOeRBCfu2dDh+X2KM`F?2hzyzI3ws{Niiwm$d8%D^=$|d+iOBh;FaQ;3VT> z&Gc%EW^2s~)M6p)%D6>ZlRy-Ku!;71;sl|*DPy5#J!*^k2fR&7;f%z5s_DsE2BZct zR9{P$TC3Kk=Jaj6HSO^rwh%J#4_gUYVTk6O->kr$gar|Nb2Z#>eAcW{-3r=EKA@uO z2%}~dqJVTCs}__tv^$Ghqfx%7^^G(|Xb(8-mm$TafEgGK1ti^oTPWlWCv zdHOa-q_2s=x$hcf_f}U}oj&7=_dIrGWjtwZbPl$`B6jCQq|WMbU0GA$7;wsSEK8$^ zZa{D==UV0bYpn-n8V}#w%=N}BXVZsy)Zb854iC;>TDwsA&v?n#aW%4wv+o$MZK*2f zZ9JcX8fwRr+J`-ZR=2C*z`sd!WFQO^@Rx!VF}Z4x@@YOT9_15i|K=^&i^=HE_Z!$n zsdh4*f4dFb;wD6j9;CHNYv6O|ePwNWSvGZb zT^{=r9V{XQ0){2JLz2h7l&`R&K;+AU%U0uF^*VMgwp}0zDh}IaJgylh`uh52@jKCm z8)Vfsv3g~DIuTCNn>dZfbZat~&qv4E%BcoVyx@Ig z69qjk((-@A`w=~hsj-^775j*T^A5~B!V?g`q(n$H^EsC{*4%x$N=S2|zh$4oVSfoM zF_i*yTy_2)Z?U_#uG5U36t!Yaf96T*SdBlc`x8r4Mr25@D@+7oxU@OtO2&1&_|G)P zbdT-RLTQnCu^uCfEvTN+n3&F1Wn8E84~d!;4PvyKG+7NqqXAVEwWju!+e*8>f=IG@ zjK&SZ?HDD_M1T>IutaP2vV0hv$9u1aP@@T1^=Om@N#a)@U3KV$=kcbOagHnxXghcjVvo4hqDVZJItD0A>MG9SYP@AfcvH(5IJ?VlD@wf$(?Hzz z2N3P~CyMRgrHf%X;5UMn1Wn$y%*$0c{9AllIrumdlpB3sDrNgcsU9!x^fk&sQQzgS zmzZiB8e%O}^Z9Cgu8ehg59%&q(`(}}8CHM*kfgzOp@oCb0vm_}tJlTd&v~_$7R}bj zRCVkh=wu)~2sz&Cplh#BZ)?+iN}ps)ef)$yVR;sGj}mkb5%EqQ=&ckpeKX>oPJnh` zY+&aH<$@s}2#6slV&J?U@4+O zg-3yGQ6k!2EG#M-vqJvflt0wo5N=KscOTz8q$$0HTQ~KD*_#@}t?`XF9Utt|)b{RM zH}(5>tduYP3l>p{1~ZwGH%0UIydf#bfHjuiXL~}jPY#7Q9c)&amK|l9a!bgc>h*^T zs`@7W!1^?-jO&Q$C~whDoxMf^kP_ve2_T20b%l*emWoR{}{2%KP#S1Iw;UMiTgpXrM-@x$jfG^oUJp2i! zj~p8wKDO0hyT`|0b^4Uk%|~jlSE{9yYFU=rw;Q_- zR_4jC)4rfXFTo%{JvC?34?byP|Jjy;VGs>9h@hS$qUuuFU$50HxR&6$IhZcoN9X7) z0YoadAR4zHdfF6L=g};vQH))MtL)S&4`g{@f1OTy+FOqmw_KCPRwX_rWj?eMgL1BFtA-wo=hrAXU*JRXpG2Q(+DiT#+A$TYkzkdo?xupHy+z^IBT=eM zKi2Gcl5Z=U5S)hJ&Jp{W8u{U)Re}MtU_UTavLC3r5p3nSe6UJda5a8cuC0*+XiPU! z6ls|c#1O;QA3V(^e zA?R@i%l(TM9%r)pIjnDt+IAG7V5%y?j{@1nBO=UN*F_D|o?-b|h7XDh|A+WH=-rih zN*?4iWLL~n*!W`HitE~JB*YT`gXjc{1B$|bnoWZha@RBwb=G&ChVSxZIqr&vk5PRyzBrRwK60)TGn?K+Yd-D*^j~{2ZJq2R5Wh2Vt!E!`3+I=^|xtU8$aIDC3!u~Nv=;2 zeOtjF$F5mpvk)A0Gg^*4sLWlgOLqci!TsIc*VrCXQ5K))IQ=Pp{-CBa^@bk1=LU#5 ztNv)q;*WS&I6CpIhT6S(bGM3^j#_vqHVP{S%k#1f5AJKwlWZqk5p$3pdmUdBzO%L1 z_}f5du1Q*4v;4vJAZC3)Jx4MC<~BiobJR$lwQr>ftJ;tN&p@2s>NbQNsz`K&BydN7 zBn{(w(0{6|O~5w)N}2D051zX&+;T;qP<;9k{3;5@EfuJ1`OytT8xO{cw42SmKSB0jv0=7e0 zE4CVK)pv+j>{!oETjl{^{|LWw3<9u1L)t4_EH&3Cu=4DhHcN4HN5|%lVk#CCVOEkXEt!8WS{oYy$|y27I*pSU1j}@~MX9Qpixf7X)&4 z70(~xTlToab7|8U39e(C=BQb}TUYnHbRBS6zCkX7c(9||i4ffB8lEX$X2tH@gvgGb z^*kWOiYI~7`>c!FW%SXY=Qu6|XKO##1@iLdENHVHQsY?ww2kA{JU>5*%?0qsTWZlO z-Gf~+;cRF`4~%l0cDBVF)AjyPARZ6kk0e!(2mPI__3dn{_6*JO-C(LsZ8gIIEv&}6 z%vSFu`k}RUC2#h8wT+DoQ?-q$ui0hvJ>0TZWl4%=D!iK8+}7texfR;DX6Dw~%Bv^v zA9BxxBRV-Y@>_4btzp=?KdFjhl|5%rD{DWil8!u$CeYD9r%z>)f=6zqb1k zH!Z=g_<1)i3k8;S(~7W{J?y4cp^yEmn>K~R;wCrk5qiWgx@o_Vl?*o>5NzoNHysoT z(p_#kf--;XrlTnH&!BQMSX1K2@j3yTm`Cy*yp zSCSk`?wXsLO5QScd~tdL4_B3~-o6d;0n|CfjQI@&2i~`I9rJHzl2R zpj`PAwF5d-8JF(WeNFYbV>?8H(p~BNgTNLVNWzRG@L|p)eG2f+bBviqYPK@GNkC5f z2cJfnd6XwCo50;9t_#SY0UF$gG7IPr;oym>-~EMnM@GD`6MQT zfWtt|bVjCZ53`sT0g^uEX8{&uAr{7t2-u5~#aSJzXALZY<#Xf;NwOBK6-={MmSI_z zV{NRRbzps17wd)_rI+=wem1}cS)L7H@pX}HU>osQ!iU*rY%)wMWJcLGww>)@JJ}6v z7rT+|W;d~$g?F<(_`rzUyPMs^ z#@Pfr!j7^@HpPyy^yJi>$GLRR%uby)j-CKq-A5+obhpsFK|pq&n3z7MOi!JfIqf+* zN04+MotT@HPE1bvPhiq@&(54Yz0l1GzppA|dg|DMx9Wazw)*Mh%mb(8qhJ{F{KWlJ z>iioQC+4Q~snhpQO#>KXn%KyZ#pxsRk*Vov{lv`t?8$|RY0vER;(WJLSao_rnLl-M zdP+GqhYF=rQz!KMrXD&n0|51MyYbS*L*;%ub@Ftj2DcNP>a2M*A6>=)p>CR;n4b@z zrBe%TW;em?tI1iM4c6TAPLPiQAe~Os?o;-Q_xKrEgSe&;jcN_y&ZuzWQx#japIyEutaVG(dp*1^!nd%M-S}`;0 zra9C=ocpG{Wz^+!$(op)oST}T@1}WNxuI#}p($S;-jkDg2;ymHU&Y`MvEvN7V~6b5q9r>6r&WF7BH$7UnS12~?F2`@C^<`s6I129b$5 zObvSEewCx~+FU}t=$f(|p+jr37iXp8Q>Sc@gsF$RkDLTLP%pXAah$Nq-3M%*H~Adx z#`F7>3E;v*%H+w1AAU$XhJiUT1yrWV%R5dxK8FSzosw}qt<#BWHhAL5)Wj)YCDlFu zz|_Qohu?FGI`5=0fkBP}Jl{!oFM#0An@$c0nw#Xg&N~Y;r;jgA1$hZ4O;aA#_^Y!B zd50YTCrp0k1uQ4&)a&N+8bPzVk6@zR=cm-%%=9#- zQ8&oJAzOilFwr$(CZQJIJZ6`0^@8OTvRcB|;+3B6Csot8}>1|h8 zQBeRufL{~H1AzUn4W}ACyfKe74?jNuz@}F2 zCcj!1008Unb8Y&BH>%gojP;EG066~rj$!@<8^#ZPz1gn_0PqLnm*f9}1cVi6-pty` z?N{UY0L}qwZS<{;e>MJJ zKO_JEP)+U)Mm#%PM<)OP9wh((5D5SP@XAkffljw9Lp?n`BY=R+^$I?LN9+CuAPQ|L z0O2vP-^KfH9btZf_6wk21`Lq?+k*TL`@Q_`^P813)hk1OeG9A{*v zucv3AXKd031+<{0h=Ijh=f%_Sw)X=F#xueUL&&c$8i!MedZ<89+}8&I;K>Td=9aa* zFfEm2j{ttV%WDHQ+sJH)(7jK|EiQ+k&FRc=1{-y{-O?v?R?a{*G(DCVbP5_B5k>=y zu0Kgzt$d^-I1E_koS8? zcm3ohD~v!b$jXlUO0ln+lyRrOKJ#gs(5SV^VHwgGWUXnai8v)|1 zVB$K=6cI3@JMrR|t~&d+|$ch=YAoom614G0VgP~8p!0bHCdbdZempW_-1 zo4ubE3^b4DZsqy)c}`Be#J`*hk6NAXj+dT~>zi%Wu=cD`O!9p)I*LWVU936 z6Rf}a9)&hskz?hmk)UNXGK2xu`bO+?s}78ww=Y7-`MdZ{hV6GBqa)X?Ar9k);Z|(+ zH0jtK1Q2H4uN{TqCxZDWNTVvDjuUHX4wP>d(lGGGjY1qL?#lOncdl^oqN7|xTo1lFM2H4y~Y(|yTU?HKH%OkC=T>#huHAct76JO zCn(;iYkAF5p5%wd4Wmab$_nEg^#QV?xgRvi?_G%v?2GX_bUwATs<-xqpzFF4&GX zgsg1WCyikRO15}v-=wPfuQ7PhNK%#j>Z4uRDk~%%2nG)`SeE zT7L~z-uM^T*aS&#cYh3hYW#>9V<%vfb~td01yc(>XnA^3L=iM6I3i;q;15RhqUe!F6#5pR}b+a zErwy=lhhUjyVMOlM-cNa(H*Wy{EqK zcT=}(te~K9IBB6t)=6aH+oG%vV`>+3yJbU%wCt&s;NKzL2yEi={6k@R2#*DEVPuG5 zX@NKihUW3^B*|hQ1S$91eCIs@)V8@|-*|=v&mh}8RBHP>qP^UKY5W662)fMTMpH_O z%*xZh{L!wp3OXg(`Oa)5>NXZ9^;XeQik3^Eh+mP<*ag~{qvIU+VKlMa1e4_RoGfia zSVenB=nT@RP>Yjr)-St~)h^UoT&=I&45i2njV0}1Q?#j%xPA-96GMk%(yJA)t_{R# zr(-SRjA2;u27t$&g)uqe;TD;Y0|^u*Zu??pS3=XdJ9?yUsECayc%YnWDaliul)@?2uFMblN%|1rYtj6l{&@wB72c`!hcDTBc~83jt2u)q>39I0973&-2cZ$A9~2kEvKa*J=eEjIu#3$(FSrxNV~ z={DKFA)OMV)xr=FE6$;tF_Gfh3F!RR6LZ`$X55NPwRAYbmzY zha=bb^>grTZJE6QiDiom6)K_05Tt06AFXPO&An=5ruFL~{_7(aXPvK}eNrMblL6c( z_$(C=qZ7(C?vRAbqCd=-Sp=l7zf5@|M!5W#AzjJJNE|VOAOb)OW)&b`&W7WXtWP^s zDna-&P)$h$GqU$J$km_ZZ|>Hl?re-Hcxb7mGP;jv8v^_Zeouz-_Un>b=SaL?0VnsH z_056zXU@3i{tfrIh*pp&^LYQ`H}SNToa3fsX}}qRs;foTAO$Zt=RcMgj~GiMW?EWf zR?Z5-^Vgbjw$*Po*xcI;A=cJW$qTI(P-fT!8f{*_f(zpJjGnKv0#yshcqEjS{aPbZ z$!XXMdA2RIj_d6Gm$I9UFYnsI(25S7V&Cv%WV5Qb)U-qPpWISKVy*s6c7_qBB`gLh zy)sf)D3N}z0Q>42e?XsmE?Hjp)yJisN}-Mka9jnUt#ELBujhV5spO}Bc}FO7U?|b$ zgwgB|`|E+^-#4_eTMm;w6KUCX1r?|S9n{a74SYZixeh(LQ$Xz@@aE-Liutt@V)`qA5cp!lR$#0P zLGYwV{iud@?kUgh^&m=?HJ6NF@-RO;3!My{tqWc!@lwq7&ZFMMUENNrKfH%g`^Cq_ zPtG#;XASy$Rlr+RU7O8g$K03PfJ=0y)I7$f(5U>_Y#vzoFOm&3>yNjoSCy5Us=ZRl zu8k;R4BowSHM)t#zImoDuaY0PbT@Ja)5L&H13A5F3B`erXgD1HcjKsiqC?Z@Dc;a-^d1scB%&TxiG|U!} z26popFa)&nBu|h!6l5&aTsv#7Qr?2?K0S=Y2j1*go9xNB5ycRMBad=y?4{$MW2ndq zn2{NP$$BexVH=MW!$$b2vF|i*l1UnO6i4jav=&V_<~VXV7xr~a!KcLgz)Rxb?LBV~ z)3Xmm?}mA+I@egIf5Q1AHo@rh0!sOR@&<@n`ep6ULEGdRgt2YbSA*EYUd|G|PLw7}}uJM-V!J5v*+mZ0F2MGxH?jXG;$RYlqv&rs? z3bex7yW1d*tlw~72}FivxaAoy42#p^PP>~3OmgpGM?lBiV_lYw$>DB&E*735i|H6gEsG_8MPvUYo4GgBlv+=o<{q zDY`Spd>Q};sT!8RJxc|*kifAbB*)cgVd5lQ53qM;*tA5>mF66(!Nhvbl89yOd7 zY%VuDZlj{`FXkr!0vC}hC?N`Yax<%%%4H~!KNJc?F2G7)p=LFUi54k6wgf(x2(TVU!iV~n7#Hdb$Rl)*b0b{J>O=c*( zEJ%<>1P%Hfkk&YOUzgrY7FGn7qet?1>v|O*!S#(8@&`+>MF^KGf<>o=-jjwEXPnpOS{cCMQSRQG*;G?PM>n>|zeWZ(J*FV2YSd8#Y#O9wc)DAG1 z?Zk9{JP%B9MihK-&?P;VxzOOMBQtu{7=uxOzJPx};D(CZJZP@D{nYmvL52Ncp@UPSD9{ zS+qCX&s|JlHRLVMlN=pA-vr08Sm&V27=y3cp%u$Q%hc)Av1rSDjD?pB=?{5 ziWT~0re=Ca!Bp10Q(7MEy!!)Kk5-e`hES(CjkMYfHhKbBUD}T$zkO_a5n|hJ9;vgk zD>aE81)YDEdbdTEebELck^uQjs1<8wHO8`}Fm?vG#P(F1T0+?CfuDYevBO|sQGnli zEnHUeSbuRu;FgKuI5S>bPmp1aDg^`uEl^mIvfG=$xKTl-!EjLRtKAuT)5O%#El`h# z`qKbUyv)|TK&tb zsuYJ9d6vE8%@;W<0>f;pWvJ&vLmAtmWC1lH=6ouB6WAk;vAV;DcWkw{1-+Sfye->T zIO9lIr=y=&y%An~gxn=*O?Sm$r9Sf7)MRPQrd%3R&;_k3q4`vIWN6Qu2I2U%asTh7BmnlV`D5a5u?5F>BR65N!nk zgl}hMUo>ti$z4*sJ;`4AL~i^iv!eW2P#f%X?^O!w?9^Qjy|{u;zJWx14)x(Q?8u$@ z4EmVxQZ@M5Nz2nDc-i7g770=1lSPTvSK)ejf7rv`mALMEV>}Ad62P6q%NPBY7rf}| z()$%7KC0IxaSV*M-W;h0s6+Q0T-n5YQGx?sRfnq<1xY_Q_%CytcJo7@gCHKle)+@{$=@>a5e{4F5 zrclb^0g@+w(6)NF+`XTt(7Cp&N67HTsq2?DGxD&GpI? z{^|R+ckz~OpjY7T>PIB|E?1xyh?63Ij7+BcL1YI!ap&Z_x}{CtTg_N!^<#!$(|jx^ z;Oi)g+2K0gr_Lie|0I(uPct+nkAN*Egfx`aqZ7yCZp<8oD02wJ$Owu?5|&K2Y4~t4 zva_-Ok#+~b(`$o%mgBL>h;eleM*0+~WpU+k)>OOW*}|t9VS~8v9~68%+-P_+sufK+ zzJf^=H3S(3sDda)Aa9tWa|04ospt&gQ1TPe1rxco}qPNkhal2=pmHUX9HY)Rx|VWyUX!2rFuxpVt>nm*I}EDAQ0&KB5*P;Y0E4sf#tL zvBX63*}7m+>Hkc$AL>Hs;0Eutk}b1ARCZBp+yP_?uXchcE8bD*mMh|O0|=ayPMz5k z+a9sV59u*Za{N=w^oOGeT0?@=VlA5eGy*NF!vSfGi7V2Ia;a+_c6zHOq#t`pP7bUp z^*-1WjD?4pC=_NrYT|QlcjzF!;&7>Au~Wo47Rf+3j<%ACF-s~(p9O1WAOcZQEHEEt zUDb_OGgU}+qQV%2sB>Vag9FG1U!S@vlsg*It={=an(Lx?0_a$&GwG}!?mpTe5Jh61 zkOi`2AH|~(;0Fb67TbUUquYUmp(a)f^KZlmccqkIGVi|fatsdSu3GgD#`DZHfsCeYPk49ivE1_4~ujjW!R zHPv4dlfV>xIWr7AFDZU7I*^IHWQT75^1v+$f|DBZ+%D>4VQW&RtX^xxBI)a?|Go&h zID*w z4<#B4(MMBx$x8wc?9Q`~1duBwjY=fIYX}1yE&)5<2n#rui6)9UHp8oL91Jw7E=+?h zJ{N3N2hKIL9Afo=8m%NAy_9N!A0@Gvz!qoE5 z4fs{>)Zu0rg+xE)DLdK@@lNPyIuAchW9)xDLSbpkC4EG=L_mCHnLt_y_7l~J$zcYN zMw&%*r*8e+5zaI$V4?d?NjjlompIR#&U|>zHg^p;lVmvB^#ghUZS@sknvb|*n*?^^ zy+rY-^(7$7aXA0NQ5K~bX%XfOHXHZAbLSs~G&u6~!^IYn+KEpwH1~1y>tiSTH)pUd z%k!=Kr00w35*u(n4&#LlNa}g4PEs^zS9K-lS_t|z?H~!{S>wvh=|-phR)_`j74 z)9(L~mjv^VH&k^{v7pcmTZ8?rzMzmv|mGX@>M-anWD5Pe!otQ&PS`N`~fgK<-B$LM^`sD?c zNJ}(R&~|giGiL)PCK1h5k{mH6SCJ#j0@b3gV=Nq|*mdb!jvkJVD=)I&SC};bH?8%) zJq^^0N+wN>vT<8LpRgOMvX_n8GhQ^#9dZV(zw_OvMfT3!GwkQ}Bxur8UhsksVycAJ zOR^15++;8-%LMi%qW%h?1Zf9d60Hq!d_`7IHQvRi5wW-h<1XHUkYzu+>H+yU;~sJn z>IdD;>Asj29&gM-)OzV4p33ur$s!(jMgV(pJ%<9etRm>~zzzNr0VD0)qBtlx5lW?8 z^qUkgOqJOtTyx-;Em)i)G52wMzjUhB^5JR}+TmeQiWCjBS^hByRyQfZ(OX?*{20F5 zecotj4m&=^zejpUzCAT$@GTdU1(99@nDdGTwYU!aqv=GHAT+HN#EVQH`A|@NR^i~X zh4FVg6X9_7--9pXs#fR6riPLa43BM5;&dnuEVQCyNm`w%)P~n>=aC*<_hIq)EEVFH zrBd$RG`>wwUnGAl0()PvA8<+8OQ_Xl$p&hf2Y|IiS+rbHdr2@+I1ojepH(F!tlwNn zJy>u8>FJF^>y`=yo~Mytc4aHxMzxf@QkR2XL56OcPRBj{3G{ig6npGw4Nbvkr7Qh9 z^5}^C-ZP*0Su0NdXno-imcnSs!}I+>Y=z3_x%o%6O0$Wq?siv`TXW*BVmB2MC2im3 zNs>#}@-#NiOI6R|R<$>g#~vmmn)YasJZ0qTq2XTlO4zLAV{LVl=KNS(ZH}qHzR8#b z_IVo%f)-TpT=6lMh92Wsrz)Nuvk2X}>0=JQM(7D$ndpW9;VJRfXB16u*Lc3t19-tJ zz?$!^CMKqP6scurFMPuxHy2Q$&9~D-<7aI_Z9tW5$6F~&|Elt%wTnd#y$F!p0V*pVexxz{r?-(A|8V2Te!qx$> z(#OABPs{tgDNY+Iv-sj!(Q;;xPd@4Gz3ZvFd2PtAl(0F)c+W45G0mF7J1tk%N z&JLiL{CUgcNU66f3dn)DlC}A+Y)beDaU2wpdUCO@0o)yTo>qZwmh;SY>2Fl%v^N_7 zyL9|~;R2GL8x6-bsUl+A2s&b-+_b2&8&`MGm?^Mu{*@h0l+t7edJQsrc7Sf>V1 zD5zUOzH+#Q*aRwP`^+aRCQrsqP2+Dl58BMs#p6*iq-CMLnU`+yoMy@{Vc9&M`9h=0%Jf`I0R{$r`K9*!_}XYQoe$7Ld2({X&SZ zj%&EjNm3C|uUT@rFBPBkRc+ZSI5+A&=LYWKgkBASE~N)Z!#_kKKS&DD&7J1eo=ml?=;>=&*y;R5`9z3AbqM+`zMq+(SlRnD%uWaZ@O43883d2Q z*cH_^B7Ogq>V!WYH@zw_ttHV2oS=6{-Wa4A8)6hbq>&ZtwPgM?aQ&8S{3oR=puAF- zh+aQ)4>i&ccVhM~htwVjX={X|Pz-rN*9kzn28#s@m}X`H$f=o=Ll@ciBzx9zs!c41 zKV6I8bHVUA*Un=rO}5)Mx(xq)anyOEV^cG4Xqg>3^8oKyxTS8Q48y3}n*7L2k6N+! z#e|$_tq1HmTEf+CH~LJYr%Ps^3)G0HS*)MIt)h?laSGi2HPMCv`N@qS0I{u;HGQvo zbVYRRFa~Z_V zY49fo@wL%Y$e%y1I3~@X-z?5JFer-OtV!DyUtXAIqOfVdrpP%PQ#Blw_oxQc=G*Hb z)=#zb zn7aHnf>jF_Mhw8QKzM*3yeednimb^fQ9xcb{B@+(-+_}Xnhf9m($!3KuXiI_PRUo( zLwM%S-JRv@B-Za7jz-ZccZF5?=dZ_;yT=o##}lB()8A|gP@1ra7`}Ux#aV28@XQ+% zG+&SuD0y(~pa_u~28%T&jv0N2sh_CP!P;X9S41&2O zY9s(+JOZ_QM9Q+|>Xu$UTH$7mjf~bUDQ3bEyLR^r1iFHOg16WiOL0#EQ7I_Y6~sO= zOHNgAFboqd<5%;36Q3ZhtJ71{D-ob<>}i{)f8to?r~Y~dLc(w`ZuyD1MNmveVT!VN zCgetGags*Fa-3OQ@7&^-miA9jqZHaM+}(G#(ShwJHXTXNnL`}g67ylD!x zhr*%0HYHZ3lq@zR%CO_>#)S03`)Cj_;piy9tTP&yQw#^xKX0&31<(iX@J@S4q-wrR zp}=2`C@#jXyV-bn73Ku_8%YsM?35>ZG?rqKJGLKrk{= zha#TlOwNLVlmwXA%Z5Uj&kP3HH5xURzY7Dxi%g<&YZzkHMMk3D56=8Y0!6X|ZB_Qv z#0CHZ`?wVwTgIW)4@K()Z__13F{FBsI~C*GDM>q}^uDfpWhv*_>MbYP;~F*FB?eWh zCZv41yice7N-B?QvGY}c@`gLL{#xH5e~kjjm^_n@R6gLQf5K5fA0e2SC|*NBFlpFM zji`W}9BvH5FdaM)O=eOq4n-tjauAGdFBIrq+(ntp)+Gccb zZ4XoP5Y~#urUSTg?5V;cY4t~l?+F%}P`<#+OE|a=YEGuUvX^LsqWH3Di~68sd@@AP zqQGQY=SUSQ0H?oMgW(W5f^KrD*a^?DlG;Ov#FqF*EE8M2%-^qbRiZ`yWA&P4L!6Xp zvUo+md7FY1Cj~wXl*_qMP=E23-@{Nq0|%ZDkoAajH2TpN?h2z$Lmv6awP7aMPJhzH zqvIuaK+~ODczMI_eT>SqD{fZ_l{e^VJ<{R$WRwmY?#w3FbVP ziIcOLFf5;3B7Bo@9^_ina2~D_@vrd@qay~XyL7MY%!9#$k{TPCKvJILD-}=**njEx zG`ygDbVMxzNdYA3G2vLKiQ;7A8D5Z;2~<4A1HGnvgb>=r$K=3@5P~r8*<_g zhia;C83Z(!0#E|%PLiFOySakn$9&R-|Adi?OEY(GPW5A|cVphT;h|6+SvAbPmrVNX z;7L@R;9UTx$~}hX1$q&A9xUr78I`&Xo#UG=Uw~utxg&=%e742YYUy{s1LW8T*+TJ^E`q>axK-RpQPfeO#}E6jSZHo z+AdtRq&8Nz)u^`hLQhMnPFDa&O+2Nydo@zlefo6JDs88YN|U+!5`UUd!YuiIDG_$9%&&*K~au<;pse2sz z7eG)2_SDVPFTXIy`gakyROHV2`cNuUiv&SVQ6P9okPKhFBw33R#iFMO422Y+;Y)c4 zB_M(aefmD~f?SyqK?0E#J^ohtBC?AumNuP0Yrc-pDy6!0(3VLBFN5BYd|Cd4fVz2*nIb0mV;&lU zAgoBq(eZ2=0HF(mw;DtRm>Q>p93<3ehOXKDXOFztvNLH4Usw>?cY-9Db1UL@bKgax zFetSi5kNFa!8j*=8bO4wt#tfZst^m%3RHK~?Dii-B_AQ4JE z{COYk|Hce4HDra07)4(p+8r6iU0Ib}u!o-N?D@Qs?G zCA09k`Lwd4O2@&^9zLEWbDE`6uI2S~_8T&&WHKSA4>RxVWyy^XRY+zan5Bpc%M8Fa% zk<9yaYQ@{jEAgStq?m6B)i$>oTDQsc%_#E%&7&J9Q53gtzJ@ky!RXX_ADzG-!(|^n zlKN}SC^~;V+|sITT}1P?eEzEU%;Dymf-2f$=e@-DQ%w5Btns@IWi2-=$>c7c1(%;c zgmgSV(oWi)%c|2bL5QZ+;v-=2yLEhH9r8+1bRTVT?Y?;it>UqwKb2XwE6zjtrWxK*-v%xr` z(FXp3wYK1D$%D;y$vdHESGy2$fkfy9cgVhyLAzrpfM8NoUVs}dQ0=5J^q3#eV#6;$ zNEj2qnj)eTUc?<19P&7s2(IoKQ`!xYN)--QqaRCaVVf>ws^fssKS%Cy?m8!jWqNfn ztjSxJJ(AOHvLP|vsADsB&vHcNB#&AfKdk`SmI`jQfN-WZM*EN_$GNYpXqKW&bPse4 z54#bOUyub)S~t*HZ0q~usl>dtsWBzW{woiOee#$(_2qAyICa;Y$&1YUAW=bPM)~Yt zs;QCizNY6{gMT46_=S1FTK&ictE(n<(tM<$FpLjcuk{S{TSQ*v?&j&NGVUL&Dr>1Y z8R!^}9l_cW{;XY=W@h350!<5Dat@m=SHCHOt#TkdRi>XscJ>0RSxl+H*rLtUWsO-S z8*jGArberUQ>4Bg89>N#jKYsw*y+)=^uI1Hhkz}njv*!US@B0g(^8aVc?e<;7`_4Z z5h|x=ExdkcjFr6bn^L8ZkZ-66y3Q$D z9{_lZx$|e|fy<5cL7dQxDLk89*f@PzH78p|6E+`QjmyYpP2Do|ioS4f(Lbhr18ek# zXGt`<33Xk)o990jHM{6eH=rL~mDk?=G$+NbA^ge;Pz82Sl)_ z3haors|zt28}UH9tq^cf+|?04@g5%&KAD!&d-FJ%`%=LkSSa-vV%hG?g!$4P7PAT8 zifAeV#vVfau;u`Pbj!v!i04|TQ`t^|FZVujfVC@ku|`iflvTI(JB_wi{66-(A6~D6 zK}G6~L1h}MDYT1qH2bCOzWKg3JV>!3ZM=WRnhi(IXAW0x06I+PXHP$to#areX z`=H5aMG&2@P~04LacxyZao5A=!@B9EKD5z|rV(9xUMBJ*Aw@yWJdY@VT5wcTMnX~w zAFSxWRFY6?))J490Ivjma=Ls6r$5}X=_x1LXiuU|+SuMI5cxv8k z(%z|g5aWKxIjV8Gd7y2eCtuKR(R`~P6|kjWevK?f2TP%~$X0P=n*QtJr4r89@7YA@EN z+`)d<;JMh@D>l-gM$@@aRv$Y)rx18N_&Sr!r0E7s+quo_V$#B>OUYIcrxrzFDp|as z{>sISRM=u^^^twG9yE-jz)>}9R1h_ULKHh>aHT69Lpf+iydrk}6xq};&3Ubgd_nLA z#q;WVr;vWyIdg`~I3gj;&wCJ<~} zzms=A)i0x3K8J3SvJZ*SOCVBiiRL70drIYPO#Qfu7msmC?`JS+bV)mUVn@&JtDHQ@p*a%d(~)I*&9~jg5Y1 zA47hwm_DVzvcaEKixo1!_v4{k6hg%xtXg!DkbR0lx9VW1XFIN9#Uz=VU2BM=?NLhW zCbx%Bok+TbJS7tX``{Aocnq`e#AH{B6+i*v^m18<1pLGB&oOh!b7`Wif*{TuJhZJ& zUMS~>6NZNeIKSN0VaLVm)?+h|0Bnjr*b2k?PJ-Ecv~!7`RNMJ0Z5+2}y|K8WHb5Dt zDTwrf;UCv=2;3xhDHb6~HT1q0Hm4^s-se|md_KC6;e0*67AC-00TL}Fp!Bw(T9lV@97u}rDa^?PKDg|#%eNFTWI8EKPbXPunf-@Gzf2dKa-!XV7 z(q@14z+JN8CWwh0$6cDx0bh_wlL#xov}7cF<8!F z_4rd>t{jN=;%nKrqU_?xmr(O^Jq$la%A7_EKB5l>Sm4#}F-7+%5@-XUMYT*opp`^mZS49QW&*X|?#{EmrRbfSu!`sJ0 z@%vvRVlO+Wuq4zRi*+@xSUd|QZTxmBks91a(TZfwE}iha8upjB<)L--pU%xXT+NL; z?`-cp>gT_OJAWpx+*|vIjJ|K$3VCVf4_;^Y+X%$h3E+>tRgi)>L>oA`X(q&-q=3-W z=2vU*Yuk|bCak2D;#g?<;VBJhs3p88hNQ&Q1>z72NXr)^d{WIE9UnlyRRMfEb`v~e zKKkL@{<6bMB;kmldmC^?p*)EqC11P&ssB5J`v;VdkJh5eVjyc99~n%$Fgq&ziOA-{ zi96ESZ1;TKx}6Pc3EaBlY57p7fv9UgyLsIXgzj{8`PS&WS%8n69Iqqs#`g|69EtmE zx9dvl{Uk}HmXk>huE^}@*cXDxeO+D@X^$vFey>r# zSff6%0M$uxSD&nYdus_CWP*l(??}9<8%*J*VRPO}E%F}7_O=UQdEm{B!<@|I*bnvC zM7Xq&Pxu6Ss^_(67iB$5j^ytmsCH%MRzhIkGA>=%X~&{I50J z;>QEmu+D3~5Z$%s61e1?p|4Z$OqLn?NJnwU0P_qv`A_La+;LtHC;K@^sHzd_LcPzjRP2LrhRt|(zfx4Y-fiFyiijKTf53UI9ku!sA086b z*0Cy$K7u{>Az$jqqq7+T2dhcA`dn)=v3F(R)m6l-BW`X$7^wg++EW0HyJ>i$S}J0k zSnE=*Mf}hLbIu2=dEcXN*O%uY_ge*&&Ebi$FefXq=5%dg{F>}4GWZN z+uLXQ9i4QAloUr2b<;+47|S$X!==lpe!Z#eE$}^?*DM%LwjkSg(RkL$SX{rC?Y`y* zH0@NLcm7=$GX)${cRT!-ooM%Igh1UvPDp$Q05R6c!|5CE-7qS2tLsuLH)&}6(v9-D zi-GY9>p|y9rJFAWR)3r3i%96z2hDw0!zk?lYE!WbC0^K_(D%=q8ez=ffi~ z(}5SDQ6o-&JrF?C>dVu(t9};t7|bJytL!-12sb7W6wMp2P&?5iGa@q@GqI+z-VcZ7 zEW1!7$V<>hM@ZosvbJdVF4EVj3ObeC+U@9CS?6-Jbk_xS;my@k!ljq%RCR9;cI8*jMUjj@a;tTT)F8x;jBFy0X^ikJ4LR`v0!GGt$$0G`WX;t$3ix z**&HPW=95w*g~VB_FE|a+5OxdUz%}48avVhkOBs$Ge{_IH8zvKxB$7t-~CtGr-f8!?eUA0kGw{bOz zo@AOlzo^9u&0@z4wtix>m5OT|88lANz9YS#{YXI{!}6NJC9OGLZd<13cD*g09L#go zs&|B#Z%J%Na%<9VOFiD=uTAxA+ICb9%btK{XK8N#R+Rl;;|K5p7y@_&v;ph^JOH8s z3Idt|1_3qzt^&aVDFE36g#i@@Z2_YKlL4Co#{xG1KY%cRIDpiFY=eS>;)Du=I)&zh zo`J!DVS@>PnS(`vJ%+=BlYt9^8-W*w4}u>+06^eHutDfRp8 zkAZK3-$ejKU_#JF2tg=L7(@8GBNJT`OB45yz>%1dERlSYqL9jv@skyiLy*gm2a$J> z-%^lKSWrw*5>fh5Zc#~74N;1pjNgJ*U@s9-rN%KpK2P8QLIQ}g}B?$)1 z_>F_+1Ob~xew2`(`b8D%;tE;|fuP|&qQ4{uLr^hGmlc94R%K8IzzG*J$d&b@4W-c& zuxo>e901TMG;8*taQ+D3{0Hv$;*b{9L1v=&Ud#_CUpKAbeYkfpK#9B7PU)Z(Zqt`~ zfcRF#)~S)Ef-Z8u%|IwOBixE`o%+ISzZ(6&maF3LJ=)7ixz zg548Y_{OxA(9ECuTofAeVsaU{)cUzh(Bbdm+XHIK7-#qE-G;eiTV6-Hf=*;&-7#|> z!rf6>UE|$hsjrETot?JPr?89MXS*aaYS)5ALzw@CG4>&VAvp`1&25!7E?r;h!2}1a zKu)hMudCz1hls8ehFo4Ojb+zUISHDken}A3kvbkYG>gpw$}k9ud%kvu!5HzWN?w=u zk5d#4@-;1f`94@Il!N2resoQ=W4if_KGc#cg@(w|Hkn&(w)(VBQt~)zjH=8x_M9MM zDODYMUOl%|&8p>8bcH!@BqriSKM*v6^|J^*6hLUvQGD3SeC(EPDm<&8arU91CMroU zYLSgycE2l&DxAbOr#RJA5fv>HPKP|Rp2bKQQouilO2#brs}LeXe`YG|;;aOiU+&NV(mjz^D2=u|ojw+~3r(Jzee`W!^^p8fRX zs_JH1o<5LI5WLm?7cI&qs9ak2~o*o;TeuAS9|JG6Vv^dB%Ub z$z9K`guXR=q=EdJtoX!kAh*>0Ci@M*vWanjK3;NX!e@TIzFT~qV)h_9PV-|)X^8p5 z07HIL`jr@luor86@>%|d95KxHXfk_NS%HrBcr&A*Z3yW523i49_Ly{|sBK89`xaV( zmWcbDTCv!6#5M!dZJ@0OY+Es0cI4Ls+il=42fSOc;I{;L1A}fLu?LLYG32)-Ip`k4WR&m zN{TD31qFl%MAJ^yMgMWRCFC6#eFe!qVD^fkza{M%SbYWCJ>c?+Rpf}qza{n=n0*E9 zJz)Qg;kzaOK0g^sIx` z3{o{bPd-7B$-3XIk<7Y{Msut9Pw+FodA}2{WLh4R@r1IjjFG&Yc?y|AQBlY=aRO?x zeuAcs{FKrh-9kPw=8?4YdjOO=9P&|`Fr=b6yX<0fR3b^V*~u^ z^7p#Z%!Ce6rMqk+t;Rwot0IbAyU0KSWN;xas%gM7ZV0d&(gZ*yOBxq(LQW_E&kV$Q=We@P7+ zoZfEG&JYsR)*dHbMi-rdbt>HESn}C<$0e#l3V83H2b*}Y`8t^Ww8+F{Rk=!W;v6`0 z`GS9}85bd=jmc3|lC2H%Q8KfISsBTR=F&g)Y=`wAO>WZlBx$4b4qkgtibnlmDr)G> zwuBV2=I~+&sSNX6yf$LSwO3LPdvaIjROk&L3q9Nh*1n1_BfR0ByGm#AG6M0J5 zKg+2o#|T9)OHbHx3wm-}pyPR6UT&q~JatbV`8bI{vd z^Hp?ls(pBmH5-9CNZSF*gDW7{Fk+~UGS=|J*Mch6m+G4P(&omh9XnFQDJ2n2F;M!0 z#gsy$>}fcvOa9n(mCWHm9V}qj*OkwgC=7Zq0ct&7+GdDZS0HNSJ(EZ9Q}rg zi+WS5%FqoBF(0{!hD~3vI?D%s^b1B!*wk(FzM{ReqSzX3y5=G!g|Ie??DegeHM6=< f^T0hF-L{XeT%c=JDXyt+xV@DB10tt^kN^Mxh@%e0 literal 0 HcmV?d00001 diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..585a29db5ab907a9d6acee028d75f2534e286501 GIT binary patch literal 13596 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 literal 0 HcmV?d00001 diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot new file mode 100644 index 0000000000000000000000000000000000000000..5318231d1b25c71555cc10e17577a8be256cd292 GIT binary patch literal 204866 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

    ?37MH!0WI z0j&U(dp&T!!9~i}RixaAbT>Xr%1v8H`IrXi!vWxOz%f#8zKxVyPzU&(ax2`o4wC{t zr+~*PpF+K#M%q0E{or9z z_9D;Tep0^r1SwyCg_M0`q&$pzAK5|5H;{He>i%XADc?f6Z^QrX*GM^VfRyhfNqKZT zDc^9no0r80!Qqh3R6^N!@@K2vk_=EliWr5vM44(Fu=28(3gq#&Mt#C)%9O0}x z(AwT1UT`?vhP$(;v$M|cA1BM9yTuO_gs1z8s;k?p?T;;c!*mFTC(i~RK;uu!Itr*9 zyXZ*BC!7^cqGq0OR&q^@zl!Q=n%i4zDx4wlrm7aJA$6VF*?rFS*YCT&!S7Mux@_69 z%a%D1T&yC-<8MI3_2+bVsw%>lT?X{W-yZK*Y+?_wjd`iCYH9CikCcgy`9eJ3!evDx z&L*KcYZeIf@B$%h?mG7=w}&+2vI1KyaOfn;%k}BPAl_tSqlUr|>XFnma^Twz#HaMR6$I7b;%S z5vW{VnUamYd_~9fP;qf+ddCXCpUZWdg^MIL(HuGrml4jV%W-+(R{A{JfDXo>){C}Q zkV%Osx8CUdHVo?=5f04}&GSUL_0FU-L(M!>-43gaso~N02uHJI-JD*$?lBCHORLk; zDLh;mpGa^}5|1fA;n$wkvcFAJV&N4@!;{|cF+!RaVlX_SXTq00EKA&&^E}k6X}#J3 z`MfPB+)M)%7sja{G}}i$Dnp+xKrdpR@gSiYa*!$~ds}SWlM`WWj?7qEV=L-X+)#cj z&Nw{zW&nqZx@@TEGdz9loAgMJWrL6{6D7w!i))PH)I}el3vr?37P_4%h#8#0n9+-d z43X;(cT7RMGGr)|5?HjE32RZOWT>9fPIZdEdP@2`4bR2g5Ii1Lz0OP6jYn)EIA&K} zj!gLTR$7DmDw9#%nhnhafdHP91<8llj`24<{CEqMm@c!=WQ4=*v|EAOtvA9CX7YG) z0x=euvNmMndAd2@K_e?L>!@Q&k5BEd-~^5ETyF`Q{l!dM@&FFYxWNzFqEq5?`Y*?M zBcmq!;ydgTMf~I*v0Q)h82J+suV-3he2oL8Pwbs&XgV?B7JIWv4o-xk{a8D&7sr-^ zLTGhuP3rD#k}6SFG_ypga-BfI?OX)mOS%Ja9atdfJ!PF0$s7zV1xS=(2&5AUOI8GyD0PFSRcPwG+)V)2MdU`eq z%1NemreB=8qODUy&vU|_92~t=O*1SUP2B!9oc3xsZhe1Tfc5*~ppZKLBf&PW({PoI zS5{DXWkn-8XFf(7i)+NG8n$pK($d`C)>>2BC>DtMLY>Tb!eU3fbLaYnS1l}TjJd-O zzum6-3j&@C7oU1jRZO+p{f_YYh9}0vhKKlc#pUzX@9es2(X{3BqfUpr*p=tdN-Ao@ zr(Sg7X|<>2JMvt`ZpTZUe1IQ(Dk9eDpArM&Ntz2S8006_sX`WUs*swTwOEU4YWZCY(WIso^RNRFPnl@%Xlw0gkAkN} zqWq3Vd;&Q$BGzBrwm^;3RbN!$?r8T^6is(KYXUa+benCujB!urm=5A-OZJKH?h-x!Eil!-^nOd~Ku1;%nI|>3-fdU!r$bUz)$6iobIRgbWb)ik;<5;s! z!TMUtZIX;*f^RnR66Ks&Y^xz4LYk{&p|K+4XtVf@6nlA;MZVo-Kj>CBsctwD+=Fn6 zSM0U|yTf7o8v_4kvpektHv8K~g?_H;=ya%}K~Z+^QQaPAFXAyWPLEsNGZV>dWe(fZ zit@D0QO3EBc)d%PI8@c~84L-=#5Mjb=EOnBaV0plYK}-j*#Y`*!n~-l@W<3>Y3}&K z^E-Dwzf-KVJ7>F9jI3{=-RZK6g9zOD{9d>n(|0ho_XagoOt$fVqJmQ)%T>tL93ze; zyjB)!h_DK=ts@9oLk&g1oZ8!JAv&W|qz4^@s-w;Gu@Nw_2&a0!3%8;TPfhepzC2fWZOEYD)6pTJJ1zQx3dud*9?Ejg}~Qozp%tF62T}s z(;f}BHaJ`^M}xZG;c~>CE|)V7hm@OAQq~VsJua}$fdnGuCOm*64I;GmGOl`?N1QJWkzJpG+i@T)Y79 zd{zYdFsBWh$y^aoDx$TmGm%sbGwD6c4{>qi z?Aj&k*Donv6tdeL_6nQbm^Py^wD9V#+b=0wa!LpzEK*kDCWq>XHLkyXePNyrDIHFm zo*(dlt6p+@bXxQS!l5!PXZC>8X(h1a3gxOd!N4s#!BuVxg~_vD~D*!nZ-esU_s14#SX@a%P$V)ufAz@&-A&| z`-?*<_T$mLVD;(+-QA_rrs^OLAypiZ%)PMQ>@TceS}C5!ZP&e|o=P^R6~LJ3NM*KW~YfWnM_H@63(v3Sr4^ z#G2gR3h8LR$Sv<^xS$~H3b`Hba2St}*fP2Npf)W&O>;N{L5J3;If4P~J0zcdUP*{= z0pD7h4=wAv)LT7K?|j7+%;rO21u760+B@bet&KvW6OE`7N#6xU(KUC`qPeb+*X}NF zDx5XbZTE)iW=wMju@bn0B|cwC&~5jGT+=R?+LkGObzALCpS!8n>F|dfk$FpN=WHl< zg#3=Dd(SFxI$Z9cQ>$udY^c(l!GObA(EctBhdeai5Bl$eWUP`Gl3oy6uuAknJ<&YT z60Qxmv~{$ED?8dM!=lafSHll)CA|EvvKEj^CXy*U()*tU}A_YLC zbSGoIsaP@=i;+~eV0}wYs=o+x(Zrz%yrl!H9`pq>11&hGNT!qj6UgQJ0erOpy(if|Z)q|swZ#XELx)4gQNuWF)Zw+QuDH0a_|V}{ zF+6n$#Onw`it9j^=AJ5v^^VJ&Hd)&z%a3M6PzQEYwU`i1SWCE4F_fu6*7vlmMrr0s zA1N$+W+tQXYNkS9RBYTXYkdG1JW{l@=n$g=6igY!;*pim-E;yA@Ualf!lsTb%k-h& z1W!lHv;5t32WvXY<+?0VZkx>wk>g+;be^Ic5=F{+)S3OgZL_8Ss0V}kDoypadR<=d zKcq|4bsC-zhn&ukbFqAmQ!ExN3`#ze65K!7u!OT~Pc4>$Sg1Ia5Jx1#j&I7eL&{Q2 zTXAlO$Vd>p1C!E|#iClkm9dPm0AXt@4_CLz@XD|~Bk!k*sgkjojH~YIqM$B< zy1UVx7za`aNr{?}VL&@X)kP4Sd%02AiEJvW?$d)vr>8&L+uM(jcwaY?86i2={lKq} z3L&XZ2XinlLbw|Mco zn%3^t)@~6`_j3yFm~yw_3K-?ZFL3nYdpR09@+>cyf!@iig}geLq+DAGrLr9JiLl^& z!AM1ewJo(`KMUPSeuVOO=ZCVs=&iOqcif$4yY=<8O))95%SR$H;TD&jI|cB;Xsw)8bwMx4Kiyy6SPo*5>!?To2dqFWTh|NQ zI~$*ahd^5v^fYm8DSk}2#SY+*PUSS!YBtX;+2_ha)H8#Yv;z!6zyiLBk{^tRAM^!QK{}1u%=`CLJt-hL-$Yj~sd`lJU>9AG3LxoC-m z>Zs$Cc#PA8`(Ntc@Ra_`;3-)%Q_7ThIj&|GPIROA^3?t|`@Vky;najvBqw@$Jg3*+ z72hfQgO-2S|6cu@O9i>^oIXxYp#1JmsXrgU`mrNNU&s1$v(GZ@vn4piZ_#iz-Z7<* zr}p{OcuXs|ns~2==$8YN;wMN0&-6RoJrntvjmlJb^i4STPc)uW#JC(hkRsy*4{~JJ zFE7pl>mfB_PipDWCAm+<+#0=X%cu5~<6Xq&*-oIDdvk*?hK zm`!nUv+kTgH@6WJ^C>xzz+5A+;3XjI`&d2(U9plNBjB_+GP}e!(IbU6Q(Ae|Us37% zut-9{$%-#E-au%aLILlx`%x}rWL`*Rxlu??G!1MzE0X5uA=Gl5=KFB=;S-b93tw(5 z$FjdcBv-jy+dEyZZc|D!s}$XcD{uVErc5MP$MV6GQtpJ!K(x_`m5Q}C1`FZ)^5+#+ zcy-&RzD+jWTTwVKUoC8}TvgQ;sVE5aY}(WlD5!|ERjsOo$eOG7)M1Iv#XzR(kP?kc zDm2$G-?(x4YN_%}Y}~!klo?W@7w72#D#t#x6h{THFu>`7g0mv%kRS}P7rT6%Aw1`A zZzzYts(eP9U!4)1kOKO&G*s!#wyK`-8B%MHTQ#q$->_QuP?~%fI zrAUKB+JQzx=dEDdy+CR2kSjKpY8E-7HfzDo8O?Gjo79Uyxwzw8RegDl)9VzTm({O& zy;Z7;kScFX+h(tG_%iwwQR;F!>uiocL+rYOvv>sZta(}WLu*qh^HgeD`dbcLozv;M zUy8E5p<_W7#utM=`~4_-}d(6rt6 zp~!9gNT*Qly|?n?ZcWO1X4zi0H0dzK94@pr*R5$z zo)XVu@6MJWs>3NsKPvX-=coIkGh4!cHQJ3MMp3coD=jd%pIGMnJ>;A($#sIFOe}JT zVNS^EjAlx1FC*a{=;Y!MKZNyWPg$VUO$hmPUM4&D`Vw3KQPh?y>mpx z=Jf8|A(iE3hjcQ{<&>W(8l{S4F42iy=~Wihi7eG&OvXpC=lQYhGuW|IV@79}9ZV(I z1Y~6UN|C~@Gs)XYfoFPCSwVQeG2Pf7E+|VRIG7(Tv!W@#KNZFKB5*7k|C6W|_wc#0 zS&U_XW9cPYE1!lLP(&5#J@?=df#+%0&!1MM3qc&GBFWUUs^u9jpH4~>9`l@9l)Ot} z-*~sea(N$iS=lom)(Bf#;Yw3WY-tr*nyr(c?b;d~3a`sMvS>tsoHWzBUsDgi@l}rc`sgUdLC_9;F+dr(>x0r5HQID-Bz%$AEAwB zw5XFZS)T8_OD3~~>o_aueNvz5(CcRV)ZQpm(QYpl9l~i*?ALm?w+c~{-idd5yv8EZ zaId!}J>FW3mk_PoZ?G!?FG+!y;FQ*!{~0@#2o4&+s?ZH!T~N^rCCZFMat<{LzOqG> z@tH;X_ghq9GdT)JGrPH3+9+HtS&Upi{)9D6))BPKUotAx1tPN-EQhN72UDv^|6U%8 zl%Wc7#=C;H03XA>M=|&3)E#l5c{z2X4UX~Op?ub1 zQFYe-#$58taQnqP<_oYH<$do_!5?xenA(4GEU=Ehg0s-C@M){5WyZQ@*r1qoqHiD% z+CaEiFvnc3{aW$NMa@y&9`;toOPiPXv=(bZLErE8=)P6LTQEIQuNkg_vl|+^rWLqF zk57kmn!5+~L)L7jg}7OYGNo9Ac_Qh*n%7PqcR6n=E83zw7q|n#JNR(AMdc{ox5#`g z&0)i{Rnu02yhTjg>M`J0iO&{Tp~td8BI|mW$ZXJi;Ax#USycifQ?RjcLNFvR3u6TIy0WcQ!ow`K=r z6^dpbqf5B+Rl**}*J8mcsofCM>Q%SH5p;xHpRozUTjMo^ z?K7?rLLBbTeQqL3^{SKOu5tw36>f)f)q~DRg@-m3D^hp zL93$Uv*ELt@>_7=g%NV#1s-SVQ8K+dM_|hZ6N5;U5A*p1zr2O55ny2=?GboWhIJyA z!hi~b42JX;gQvBsw6UnDv9zkylYZ@-%JMvKo;UitKr|ZA0HC9y>Ypn`}+KP}Ii7TRNRkgI+{=SmH{;-z$0x#w`pu~!fGv1E*c2iqk zp)$JYBAlT%D;1@8f3)+wqPC!;Am8h7#}a4WcpC2mzxq)Hc5_WD@*P3(XxACHJ_aL} z>V`(m>nYH}P4nXw*fFj&oIRVGrnw~FPGSFbNbX8Q*=?zL@D0Nq81ppRQD5Yx%9%4O zakSjwEv+srstFdB1fAhRPlec9+}zN7dJ`WhpD|0*0%sT1R2Kzeg~b)q=T-Z_k!%j>!P}8*^jaVOCz-uFQiy*6#D>e&n2Dc09WK z_}rB%x2#+_7pGAxX4y4=sMxLjO!cch7tC1ECf^tQW93|#XaFf@)#{qNIONytKm)kI z4*zDk4{xERJl{H^e7w(?w0A^H6$d&W3s+@DEfWXiLq3_45*Ahjpsm)jeIG1V)F>Ra zOg-T^C`Tl8y>(jkdAnggW<)Qw)h5LGPFn~DLH4)5Z8?&8Z5?5mLXU@+7%S(7+x<%v zNLsa>j<{`_=Yk%fUs!Tx^}Nd2$ml3=+Qg46$3@s zgGFu;iwPFG9rf#H3gK|tyWEaT1=Tj!9(3vIzS&OAwQ-|MbI#spb2)9UgJ>&M|JEG> zH#7(3psHDPDxHb{JOC$(mqBszqA)fV-X587HKf5F7;Mzpm(8A42cwYn*jBLn zm>rH|b`HYflT3rLW7_GLd>Xq`xr4-HGv^?*VVHEVXu0dM&X!Y_D|W~`fnw(@(T9sJ z!4{k1P{T7LvzDGC=^ZriOO&$@771l+Z4k^Z#Zt5}L{@r`Llx$u(6E!O|E1w>b_Chr z2_4bCXE%z+2d=_4r&z5zc5BkZp+cOo`G(Ca5av*u=QhJ)Qg!tB!eL*J&1utMZ6!Th zRY!xnd-I$*n@@AVtV?yY&S=Gt?aLrr(j3T^r}BP2C}m4ttj#rA8gUN3bGt3(z00Vp(y`~V-sr8Sl zes8Jad9|KP3Po}~NHdYlT*H(u$U%*00dHi=S&_+$D63REDzh#a6-rG!x2TLaKC0rk z2h%S*h3+*JXADZ?z%K%L7B61Rdy@4oU2%&~X@>2NU@XsD;H!+5mq+vc{(OGN0^)m2h$7O0sGnToooW!4}ybA1V(#r;wR7Yh|9kd5;$lKSu%j|0|6 zWMvz2KDexg7~(T`AW;x;iBRS(QOkYlO@^VeL+mh&^h!t_?o*3HeTlwM@x5F1V7|tW zPLT06nA*k6H@F(eNfw@&Gsu;waiV7=-Yrx7K!&G?NegJ#)OhPeYNEZEY5{S&bu{X7 zU_G|4wH``vI`GrDv%snH7Q}Gk4(Cc zQjArB?=+l_8HYY(rELbisI;s`W6-8b2S01DM)<%i(fF1;R>wmaG4=X2tzZw}6_yMJ z{d`;+I9kRVs@u8Q=@bd4TYcN6lz!Uj+$#+JKshCeV8Vk zH5Cf2UlQ==tKMqEQztEe)d$>7XU3PT-!ILEgn!9;Tal{{latB)43GLiQE~jtru7bK zcmy(W;-2LXlv~7qVog~{AE%x49Q_KUo;9|I!iBBv=fJKnYjq#Z+S-FyVOIxKAuVN0 z_G=^aA@@O$%7(CEB?@F~#u_xtGUJ~pk9WiF7K0?qP z;;yFQa=1KBzgO7p!s~Z>;5G6*4wv8mzOjXQHEtcSz9OKy%k@BMeyQfFsd0PD@=F4G z%%cX%ozC(+mnWv>l@yeE-8D6K)oDXAGq%EcL%<%Xj7Q`X;?Vyb6(J0_P1RJlq4~Ud zL61-Kxt*G7cl&HMpWE)#oo)nqf_YvaHoS;|k(X`0q2czMR{2Q46D+Lrc>-Z?g$skF z3d2?54F^2F+M=K*5GzA`QLWG84|^)yI^rELkFW5C{9b=eF%p!uMdFnaM?gLwoPvmM zxK+)WMTAk*Gl(E&5+Yz#QeNo7zAnfXj@UJ3~L#>SiU(tcwaL(M8 z`bHKcY++x`_4|ggy4xL%^(}J~8}jpvi#{u6b&IZTYYPe>T-ZYu(^|ULrngmu?4E*x z_6Ft36<&AVnKN1G3jU5eu_A_b2B&@^fVJCHqATqpHgWa!6t_sFyBE2mp`Ez#Y71|} zMO@CyXOA}{Zv%L3sbWoCOGCy|8n2s}{VY!g5l19iQwuvEnAAB{OhpCkVt#ynS#`XqT1&sARTstWMimDc z9@H;@S^CStsFy2EDBftWk}s!rcFw3!TO-}2g{AyQa?1rfrz?^X@{L30?k48gzJs|#sAFa*c{$s( zGf&4IwYr|E7b>35+^5)H9_@*iqmy&*QzRx|r*LiJj>W^pLV#<^eTwmu<4=Iv4#5Tu zr>`Wf;39^z2A$ogV6R&<-x)yF zYb;MV8p%CuY~1oS?G&MSp!RlFS1v1as5aYTu&>EWX*&6}EgCr5VjCJ)wyd(+DN5}g zMVx|D1Dtp6_f)s-f>~z#&e~fyS}t!dJ3`?i)?sYk~nwu z0+2c6ztZXTrR&jb)3ysF--ny%ye9>(lK06aU4lMMaRXIhz00~qm^YR@-xbJbe7Pp2 zZP)NiYTX)s3cZbLMSrN+zkfd}UnO^i<{ne{c^_EJb+caMchJ9oiTF-E?h&+GXBkmb zP1y!ri^W>_-h$kz=Z4vm)onF3ZNHL+mCkEdI^7<1^Pam+?@xEI_niB#UOa~rRewbF zxScDng~Ws1r@Ch|dw2ZQ^x96l>OQkCKnSe!@j=sFBPH{k8OrUgEw51d=nBpSx4tp=8@_`CsUF?e88nB5tgOHB5#7Wx$V5eI9phYcTcfWwHNHhNt8 zf;@Z3nD4h0yJyUB7u)>vjgUQWf$s7&PL1^x<;13DOn42I6RSq1s3Omd$+1mMITaOU zb$j^C67-fPcV^ncU0D8M4>O%tG%4A!qL1%)u^5Oatj;A7n*4f#ODj~Aw@w#%9?h`( zD+{60t~@Qzr4^T*ibr9w$Kk#+uPEI+vAh+_%WPwTLcQLXSMAD=`KoL}cke6H^%=pE z`g~0<%uDe^<;Ual;+r{Niyn69noU%llDg(3u5%&A-)e!GC{bfOD=LK{Z%=<{Kro z*ah-JQ4h?qh{>C{Si<<~W_znxFOTqFUjAJk>F+L=iVJm{ieCsij81v(FS@19pj&D~ z)Q=5P+M$QtKyWLmWY;W7H;&+`) zw@b#PzbMm**rJsy4<%x_bJe$|*}v?(<~1$L?vLTGe13VNv;xoak0HrY4!?<0aQ}f1 zJgGRuGgM4fz@EQ6Ah2%+jY0*0J8iru_)Lu;Sz@m^=?)c@_SF0;*j63Au%*ciX%DHd`D;`Rw+{0{fQ(aH2@m z;;yzaN^W}FM?ok6um3J(pI2(Ef<$)D^zubR&sHRUx)ME zf+N`!npdXK^vM|~1)H?juO!hwswG*@rfx{P7Jtt2>CCEu?QDC?bf~FWm-lX8n8I?y z9}}>|kn3A(@F^4VAMzC|tO@E}wooh-EWCY9SJ#@Z%J@Ra=#a%1#@*$M%U>+5b9Cv! zn!-e3KeAQ%A;%G~Pu)evL-L{BZ%KV~xBxt)XF2!%eFj zYSf?*&;sdU5f0A{FARqrIL*)^?#N~D7wO^bLY;9FUaN0HDK1Y@p<6Y=bHWi6GB@n7 z+g*8D*yG>-{?Tq(1R4jPVU8QNE2jQ~r#0xOqZJPjPLv!@lkZCkc-Zqrhq!`8L7p~~M`$BGqYd>As(Va&H8^kU}3a{&l9JEoTW zfYTq=Ye0*kitj|~rl+5uUKjbOi&yF+{BS+GFYZh@8!DG9sr>%ka*dXcyDvS%<>~A5 zxXigJo&oLEN?ioY>~f~4<^cmYBibQPvY6aZQ4|~yX)+fOGkRqadC=|7U!1?WK$TyQ zQ=R4IPTcf@M=jWl2)8?Zx7^y8yO`92ZdXCU)dhh(nMRbC3z;u3fWQKmd$CNG{=2o? z;k{rAdtSbOTFLsRa+asKx1|YF0HzH=W+XZK@HtZG#pU4UsDQd7J-|KET^`*l^*N?@ z?{)lP5EZH)Xm~b3!}C(KT&%)-EEBQ>GGwo6@)GPtpW+X>N7({}dqEy8f(gP0?g3Jj z#+R)Y0ZTGB!z=3RMZ?c4)|Qu-e>akdghk}@_|Sycy93%0^}9ZwQRn+bVM}+xJ{h`i z#!Y!MJ~rdUii(Q!%fA;zI~GLl@Ooicc?Z(F9`{f8`Ft;cq6+uJ-qNe>pJ9z-3ggK4 zb8%f3M@2b(femR?v6jss%XpAUAbvp-Z4=)zvewV|z}gqu`BQ&=cAMS)Crx`@6WDU4 zhk2^=Hw}#R=MY=nE;Kt*;Qw%eI>MX>7@L3B&YH&*|06NZ>C7`5n)<~o>q~3An`U{r za;o1im%%={4EDaeTg=6ELyp3u?_He}YyS?(f1`3IavEi=6eHHko_YVfE4*B1`D%6c zCk7h}l zO0{ynVdUqB{cfkz;ZZs0 z@Vy@ww)}5A5Czy^hVrI!Tv`>l=QTm%os6--H+hDv5Euc;sG| z?MKptOTpQyYZaV*UVETG)9@7?ms3?;K{aT20$wiK4>Jzl_wd@lGS5u@_R5q_gpC$& zWlhU9aEOd`j`@8gNJM1{#Bk=on5T_6Q%7R-E$`%Q=wLS1v1mx5dPz_b<+Cal#TLT& z&0TMUH0dnVyYdS2^bbbX+J)$DT@-Gt_GBV$9!*yft@Tf|wW!4Dte90ktyFOK2rSY4 z$ewR6>eV!-vt>!JJeY~W`H{Ua&mGCM)8xzYTZ&Web+Q&)+9AAiVBquQMD{pEl&l$D8uC;5s`qDWmfGBjh)_9m-mf$Ztyi^ z4e`zVc2a8xuP16pt=jL8K_eH7^%b?X6#>Mlmg7P!pu6x*ytCbIu@Ub%A8a{C^vbk; zf3HkiRP-I|J&G^rA+`H#yph`d^f@gbBs=;b1v!&-Eqv~PFBe&KSr6`trL@v~nv1H* zb>$}Y}3R#6RSR&IHt!iA1$XnqN)8NqYkKSN7wB2-QUcEQIuI zK=S@X5ri*%=ZQWjWxBxORu_p5Hk_p5Gpdju802^X#tnt6JW$1U$d zK}NyUmAea3o=#6>>Ybd2*PWDDE$cD&S3Kn-sZ1(yN^WMe9zve4nt9BNKBh#H$+939 z$J~9GIS1a^n}JH$nNP@2i~|J(gArl(?jy>W@h7~ z)BX#a#A~rzy4I@+A2w1Me_ttr5n6gFe~AZ9*?+Q3>f^r1Eit#0Y)0;Ho%%(q#6g~< zW&1mtsRq^dXKG^J%!q@w%CJV_8+E31A-AJay;us{)cJNCXjL>SP@Kq(lqG~f(OY3C zV#KC`3t;}Mw({$gs1XT!aFrxa^V_cZg)3?liR)Wop2;Q^?wL1=A|s0L3ft}Ywh2Cg zVz(&;tCT#q?u3n%TeF>gvDY15U8ib6jt**S&3R!rS}x_PXT_VCub_O^)nYl7%PZ_5 zN?BV83ra`vK`odTS631LYQ&& zH`eBx)?-C34VwXktuxi`m93T!La z%h7U|z&3YVu{K6ke1q;xr`vtCy9i$#kuT?&xR;OJgsR?%R|IG6SF-<2z>O+`af6Vv z6d^IP$QQC;t&OTd*H$Y9vVdTCpPv$o&`;)VUe$(E5cCWiQZHfxqWundr;Av=mOi58X-~T}b-?Ly1iiPQ|0npR4>mWa(%Be=%pTm_iM4d# z<3p^_eV45nWo^LMB{H`qIvoZOdjz`?v_3sX%*OQ5$cB z-axu!Kn*Li(LQcTsc^9TVQR72=pOP3=&nsk2+dX4)=^;BK;gKQZTRxsWpyE&W-sVy zEpllh{P{K5#I5;!`d7Yy-``YTFx}6E`YncWOL(ns=th*d8sPE;WaJIP{lW#_h&cyhrR(h3j?f z5_|AT;}~xwuanBdH=dO{#W<`LJVp(+id~>clh-~eda+;BiND=UQPz23+5iQJbNHsT z)C_=~#KV=XGr?rctJd^oGlGSM!5K4`xz2Qy z1lcAbSmOAAV)H7oSp^#GaJL`>7-j-T81m-ODHJp?J(P zOV}imu~-kjV^A!5i_=eF-GY<*Q1aEMKsOFvfg&ibCDg&Y5^VnXUKcEtczefRq&0a2 zOn~^P@vYXHc&ZHIX!xYv^;E0yVg!(3R+{d);F!yKGrqr-&t?=1eDJ`KpMPxKT4< zreyR@MW~s-cgo-1hb6v)Z5yCxl3YJ?mdA4$T@F)R&<(}{Tpn9oJTco5g2OJ>Gs9{( zCw{_!A0K+Pj3=x-xtES%c$MJq-mjA8IZ#c7G}Dy+fHazbL4BfCx-5HqPazC23!V7! zs{vol7hp`?%%pHgm)?zwZZdhod?mG&EAhd683Y3+yoa-yWf|xTOsJfF!!q>4s(*jy z02+DE+tiuK^{?(KQaD_Q1FYA*|N0)|m7Hwn|6|QP!+ZyG98^a+ zuR<7YBzFZ0RwhQu0GeCqzRS)ooiuzcHD61wiA4p!WOJ?B>{5}ZU~!e^U=*xUv%&mQ zlwrS^HJYIHTKZ2QSrq;xZJys~cAhiswa@cU(N}GmG**71+Y|yzOQL|#bC~5JoTg`o zX2Brg|2iOWapL=#>5NibT3VjS-d|0n?u}0D?su(;Mq|Qq`*%-7?@gtu_h%83-vlL=ApY zoM}Ii-vh|6#a2mL$u(uc`pQdqM>BCGj?Sf^70+XOs?(qhK00er2+ntw?EJUspH$kJc0uGP zFDZrw7)|vP>%O>AIY6+|Vo&?rvtk$cM_HB@f72>dZE8q@O2`(1YMPL0p*#QN&-e-# z1+B2Mu9?=BSyNSw8gyM*hOy(dnj_FVgYn9AGFyJW`O80}B(mMFTn^cuSVPb^U4O@8 zf+@R}-$LqQdeN=7x8c{2>URayjpesbX zn88p%6Z`LK$aihn!W%T^Qme+TS4kSPAy&{@<<|V&B#8Hr^O!adV%&)gn+60?OyO03 zCCdA;uaSzb5H$uMD7*xXve^S-6oc-=HbKG-rL8P)FL{IzEd{4+DeBFnwv6I&M;#+QnIy1s@XuZTSxhhyRb?9N zANbf@;j9#2hy|JV@AB%y@`@l%^VNTlKPAQ3dpIdoWMY9Yuy(YuXIk1gA16e{SdjdX zw1JZK!I~M^m}x%eA6VaJYJkP|g&ScI<>@K5U3)|v=h5}MeEbmNBRE?5?y?3wkv96U zZ)}#~p({;qe-(lYUC~EIa4=o1#&l0-889<1TZS~7H<(62VBy~2`|mL0x<2~wr~w1r z^4%MJ{cDyMwQ4mprkdElFZnjK8o{^If#hR~SdHX#&Da0Rul^oa_Z+a9qEUag$~Ki% z{heZQ*`Kam8rI$-{L7a>8B6aonzLBpUHDArVwF@h`Q3>d61(%1 zyv~~e9?p#CpT5Qr`zQG*mZ18{Co$xI@y3sLJmbwYIw1AI3*$efA;>mca%>a{;AGb= z;Mrc+^|r3}bUl749v`T7w2Wlgm_K;|>CQN5&*!(D&ktVayGoR7<*{0>;@G@Fa%Dbq zw&AIH;R??LH^K2eO`3fF4R}3&giL;f&-h99?~>!OOLFA%m*!&}1~CRqQ2sN-AtoRS zNR0`gRMFaZnRo*VOi8e~Oi!7xpH0;U>1YhiR)$g)nNv^IGAUU6LR<$qgJI6r{>7e( z;NO3Za&&?_y4%qS!dZxUb;KvgP5iLGS{8?f%H@i;vr)JUirTtP$T<7@7NzR4jA?xCAr7d_lwlNn6^(f<>dh_yDw?% zhfs!SNRm|$w%GvopcY}$LFwp{DBv}}giTZ^MYPBFF&}>uh>ehb0zC)+-1zhya6Lq@{-Ujc-2QZH2w-uXT?D~c(;#yXK;M@M;STL(lFgR;!Fp^SamK`K@Uk4>SQ&=V;cBeBY) z!+Y+1I`9(nufMg8k<+$GUw|qPgr4`{N?7~^=QMxxo~3OJw6^VEs9YF+z70KD{qO5K zjG~hBDWKCx8io)MC?iTpQN7?F!@@e`V7ftk2N~WN$?&Gq0m4~eClvSh53yXxid1N{ zn4gL|dL|FWJgoh@`*7~-&Th$O3#Kb#xd^VC-(jvi!^i)S9Qs6V#2U#(6NUoN56d3z zCUt$hFRg#w9OH5ApgLs>mtj3bY5LG5t!?R*k-U-(JB0$&6k#Fs#~u(iP; z>l%3kapRIF9EN;Gj(luUVAo_C@&%+5P;vO){Tc9=rkJqpQL-o;C8Q2(G&Qn4H41~0 z>PFfB4Rf`*Urtm+y)j2D{1%3Sqqfbz-9AFU{XU>SF3oO!5Wc3Lm6ILs0H+837k&0x z&|$;m*_6O?0K1qD8WBB%SWiA!4>`}kU85Fk?SHaxcW!Vn2a%o=4)rAxJ?YKeiQZ(y zNLZUJ)tKM6wOZX;6)V>_ijzIblxxsHa?<@ho*PL;()my#hQ~^H{3XqI4sRJA2HEV> z<7Q{Sp1_R} z7#>jUvz4w3OoxI82t2#|Seq%;pHvqxsKysghaFmbySW)8^n0$T4YJTHCPcNfe9{tbm*e z(>_N+ozmgM3{|_^(iazXYxf3uoe3uUmbBx{dWxwZC6VdwZ~igT6&riM7gP41)=s97HYZ;-BAj z4yc$PNQRff2x5UiA?L%*FTZ~Ao<0BhT_8u0TcvE|Rwv)ExEqZ|GSDw74UC6_#0~nU zZ}5W*3+yjY-}8d!&n?neVCo6Tb7B*jG;*;Rk~}{N7rFwpLGy@UU_i;BnDHL3Hdtp=<5y-lzU>mu_WAxXA<$onc`4BR~|@}M@ITxH;ia zU^A&0(NJt6)!pmm;_<$W4HRz;UipU{cgmj1F<(x%Ur{>Pwtwdk$RpEbGuGL2w>U^ zlUt6#%6_hTo@{i^S5Kqc7H$Cu8r|eWzkSCZHm4k!KCBss=FrP1AM`YzRo;euaS*#t zmrkoP)>$S#xG`CsW@fkqKF1xobe2+qfmM}B1H8&iDX;bHq~rbcclq?YbJg7DoSuW~ z7ez^4(^>Qxqi?*&3{S3@c_67?Hb1BGX5q& zWp{bapD_gh%1%{q3cw41Z1ZDD0jBdD)BsfA7iQ>Oc$NAk_-Hu($s-lhfasO^+^@>+ZjAN?ey4b!!-^47Qid)*ljA0Ge?N|(v}-Q zj~Vz+z_OkF4gek1cK!0*+nSG(cn=1ox7|htr3uKZrDxlTx5?|6dP68@xq&tcgoMOntYeeF9%K zVEX#rf31oDSm0R}7i{o>0J8AXmg9ZPw=wyW)W1V>D|r#DP+$u|SYS26&dk&(R1Zv! zwg`+A2vv-t)-OohJ`@D;3t5J~2bR9T<|v1+o#1ISu%%k959EPL1$?TBYs2OCGsWn; zKK8Dt=wfllQbhhVGBjy?0h3dAruwQ|gqR!Zn{p6Q5hh7rFeZnBr>;7A@+uKXE!*n@ z`Q5_{;1Zi&rlLExXY4qTIFh1^m0QqqcB*Z%FYfTdKf@z81KHwvU&6QE8UHcZQDkCt zxRT5#ki}wmV7XnOS(P%Mk3V)7fcxLf;pcCcUO`gk)BFMQ?|SUdpbkHH=l$&SgH8mt zW!HmNF*QLmwoQ*T~Baq zRhInvGiSRZi>vtNC=2UeGN7a3agJT3W6iF$WXTyAvp^KV{Q%oJ z#^hX=Gu_!a(t7n9h*o+3iy-9Neq3|kfs0T60xoWUx8|-lh?LSxQ-9I@x~Y|2?f7=c z2;cB2dGYSs-8FL#Zn3R3V<%LfSSU&PnGWK~-eusw3tl!GKu5n(g=$`Xxfuq2epq5B z1@#6-`}#U#-@@dAQULEOr39KzzZb`o&oa}?Pc?MZY-@Ltdz>!WC{gBu5^Mf)xJ zAFMDPM&F^j(n zzNdlq#NM@o$ixo(;=m~oG2hATO^UPv(tx!H#A#EM31#k_+dDcxk@B>p-M1+}y6@`o zUiX}}f+b0ZDZLXk{%dUADx@@h8k&&ES(wBga56*Ns<6z@9vL3lSxMUmU^9z- zg$7ps#Y{t>RpWXj?Z=v+c5KU@;cZDOQktfUzXIsBF&LZEzD#Xb|E?5d?`MBz@oLQs z+vi+;!AN>I{W%M`h0d!5JQ?7Xrn~37q=D1A@d28Bz3v<+diX*GT$Hg^Mc(|t>n-c` zSg-%xGS(=@&vQNleRhsLyqgtfrS@bVq*y635_0Fj61TSB9Bq%ceEY@g-ix`hW`TfQ zDwur}8~lFVH1DVfnuGa_RY4d|d$Aip#wI1=OrFETgSIf<<(TX#D5wBo!myPt(!l5- z{*zM$#B{6IAm~usLf@e?i303*As$TQR7$_{KzEO(E5cKupR4YSz5~&m4aIqnqP$h6 z?y<6c705`v{>`pxo!DpUc`pfxU%_iE>OwQs&9FnOGqTFwP|pYrbcX?p|nwOX8I@hOD3Y7Z%5URHUt6-AllKTXh-1p z6BHa3AHxexN=rn`(Tb)BWy0Wumgt$QY#rjfS^b(VzY33}7wPJ6VyijUH>5xAdGAgR zAIB&VKqy~|#L!-I`;>PY5%qnlKC7F>9^~|x`Y5$9%96mEdN=xWE6PGc%P$PEhg>Q@ zOhC}PkaBQ$b7M}y=LqyVWF0q|rn#zP?uREN`I103Pvd+qWTV%@C+^m+)6`p1=-`9=A}TP8fG9e!Y?a^~ApSD0 z2atayzK7qsdc91MFn3~rmNVNhE{6aomZ_J)$xc#xmNUxCyosIf_=w_cv6W4Ac^<~} z*k|qZyooqAoDoNfy&|dDn;j*2Hv(plVP+>Lyyk;m1>uU|JW#NX8gI(MdeKwVhrA(A zRT0;qU>-F^7uEhr+kTS%xB;r(QQfvroREL|QDi<^tBrfvhl)kph5hs!Yc)6PrGL3t z>GvQM#;8cK`T8q3J@?FIdJ z_M*>c8H?r;@7zR(77PuJk$^#gdD4*$WNF_=jx^PJVT{hX;pEVQkSVG%*faEY`a32t0#@wzY(8A zfA*m_cd$I4R96_aa;slE4{5W=u)GW#E{mK2teY&R#>mN=6kL6wngX5 z9!6`W>wEcoXMi~2M8i(Q2}d2kRN!m=mtLMvqW;_jpi0gr^RXCXvPu20DQ((*KdNQLS_%WoZ%j)^R<^ zx&Lo63FKwxAbXu$9n zJ$qlh_t87E8A~+gOkaKf`YuWszUf8U*tYD!ek-B`QvHE|_k6h@#+m9iDy6A80( z5bDacrkOQEUf>Aq!Nv=lp;vsg*>CcRL`PvmTGyd<7`B zd%;E0@F9>Gl0l3^7vK|f{X;N_Aw@l=1bP{gQY_r)0&05D)2ylov7d%jA>84Vu4Jel z-eD(lPOUl(%dqKc&B-O~9pQQ?nF!5|^PRutyzx2sZhz~Bh1JJH@o2GkJ3Ut~{ww@g zigkKydv7rs4}}xk#`q5BjcrSa#KIVGTzPB;awyQhmq?-5!;KVIl{HeQK)|q8$kZW? zpuX*tv%}&f7>ydqgRxThs(}Nn;`Y@6XIZ=Lmup2)VCx`#G_kT{d_q)+)*C|m?IeSJ ziu%x@=p}Ii!)Oj=*eVaLTu&p3aRff9E}jXinz75v89N{L;z}{z7w-n5V|P@46YYMl z(SOm3XT^?!JYwk$Gch-Uz8B!}i`9b$_720}fto-O=8-QsRB0 z=$fxfC|bTgzV*~q^%oO{_H^IaLLJ7KQpWHQ_H*#07;*3-#9~f?7HDwE8K7@<6@nPT1roLk8x1RC75-VCfPw)jkg*treuusWx4wruF|IA1IL&Ks;l?HTyv?Yw1tJXY^@33yA9GgazR3 z2K_hSHJ7{r(THMU0)H3PmFtAKPHFxrwhbumobWR%^q&VeIPPm49s=G_nK7Kv*JKrE z5Y&|~t-;2C$pr!fYg2uYHV5DeW4)?p(#qZOc=PWvnXe?2XgCKj`#HEa=E6~!4aDOj zlgT)bgb`^u{74DvbllZ$C+K8EOMz})#3^<495=&2hZRS~%I9yIZ3wY->Ddjq^X@OsR&9q241=f)|0QY<+ z4%!Ao%@sQSO9%##D{b<>o$BCj+L_ohDRvqMTm$Av5wGEw3A_w13N`;zz(?3`Yo%V( zO11MIXuy_X8UFsV7=&H|O&!^Y;D6X?OPR|KcrYICdKvb#U^4kWAqZj8fz^%03k`(& zql%ff%c`{J#?sbl+bo~z{Dn-5PkYiym7L?7tB^Of{y|=ctNUpc4A z#C!Q?ck%JOeC9laHpf2RkuUEC`yni*R=V6u8VP`~o0BpV$Ffay*s={_blM z@k8DHm7U$uWI9~P=vH#`uaA$$li5gLw_*QdIvE|=oV4^z;a%Bed~`f%Yq3;zb@xq` zTmeq-xyns<&W!4++a1e|I=x@N^Or0d&gw}tncUbwyU4he^bAO0qIobB z<$cr))R;_XJ`01I>a-J2V4lnj)a>~5u&ugxV?TYpJz&QTx8E`2`8)F?RXeVBE3R?3 ztJ>AyiDXB6mJoZ)^ALh;DG_&iOb1VX&IuXaN24W7o{3%kM{{}#zcJ0LB9UIlNE=S? z=;%VX5pwP}O{H5+>A4SNW;f-T%XeL7`%BTy4h--e$R?WDD;2Sfe%gh|#8^kL(xR^b zgpT^Rbu*KVPmIm72;n> zlcm~-h{em}b6tFjrjs_pmYK%(n33u!#+LiHc(La937hB3MNY_ zju++Q(F`KVs0wJ;E)DDID)UklXN0jN5S8=_EdY@}am~!(kl>A&=N4*~-xMwIO!19$ z9{T`_=GVBGPp8dIJuc(FxILT9=C85g%B)DogrmU%UxYa08(KLtF_0K;S8X^xIFTu9 z$9wv@rp5lAFSD-qrMnUA=Tm_%581$fQM?7?n*GDkod{3C+ndA}Wx+Nb$WefF$(V|y z7U74)YaK80_5z$*muy=ryglMMi+vH#KGGX84CihYW((@whyWGoJz{&2zI|>_cG8MO ztjTPTdwtG*3A`%qM}QCYem4|;i3@g1(zkNoieL>YGp&f_QyMQ4Tp*en1lSIdE)w>P zOo^2@zjVi`?eg%sH}4ly``^qb@xWMNQ?iugm8`5nC6+Yin8{_xN~xU>s^z%K_C_3|FGg&ZL^?w%TKnJ(B)9Qvgio&?YtQ=lXa>wlPuOSRJ#)5osl_ z*u4&pBB40lAOZ&!XV6x&uv|!~cEwRDKz7uQY^0@muFJVC9|6qMy;jdn@Va}#wr}w= z*V*6(kx@WD)di()p&tCIUDZ z7IS7GzlngjA)l6I*{^3i#`&E?`TS7tdALKIf_p?&?BiycSTlyBY&P|mXYjyjdI(x8 z@ItM!Bw-gcM)Q-l9G+i_B(j*gs$bG_#6CjRJqrgGY(f(9VwM3e2!$&J_Zb8gPCQ`?d*IBzp? zw}VsuaNf=7_Q?H@x5jpRKGK*W+lSVOxujn(q9fQ4c~)XM_eV8qI2#O{^Bq0#^`(M~ z5q^fa0vr&U*&jP#{oA9bNvQMnivLj9snlUXg|XajYbw_?P4`RipdOtQ;NGNAs#OIB9-t(4 zDX=e7)LF?Qg1o2`<~tBPMvsb3Mz?MT#w#7 zf6ZNYT{C}kRFC6xj0yPrXtu9*0j5?+UqABk0VR>BRZJaQd0l)z)U6y)QqCJ1PVvX8 zr8R$WXIKe|&zrGG6S05wnL{Brc2o=^MAuI@8wJQ9Sf=|mU@|@hDTMTz2dTucVN4P* zRU62XKo5hHsR0*?{I^;ZAqn?kR(#Bb>Nm$14h!? z#bE8jmSTvZKYw@KOyO~%SJ4hr(`M2(A8{>nYH#y%@a39jRmkZgeucIUlSLa%`~B?BCy;yd!%UW>sUETk+0X@ew`#R^L!&Xc&f*qPoqTP$?~C@*&iMLI)G zbmr4IDf)I9C0sCX(GtIu+l)P#ArpTgAbydUNkta46v>zPa6BTzC#?6|;1 zU8M9PCuO8pnQmU-Ldy$&<|03Hk+NkH;vdv5N*U3P7Ojk%80Odf2B4-lc&pO345zxf&*L3;~FAK5;;;ES)(~QLt`}?&gMu%gt zSkBEH@}T7MCbHQvD{jZEn01^EF*~-+KQ|vo&|LI)bq@YF;xt~7G-Jb~Cti!!#ABw} z1N?;Sc6v#6lO4w|@fYKF#k=tuyfeN6{FksjN8VfLd)W5FZunWY#UCX5>%a>nV-D59 z>(I$C>o{TC!&aBB4?&bsqnosNk@@h;a`UnNp`GD_2g5su%F+2;#X3G%*txSXc-*Qy zTR42U;Jb)Co8Ed%ttI+KM*0#p_1M<*!c4z=D4tBl54rs_+6{AaHxPaU$; z-20by-O+V_*F#;u)b+lu-|YG%XeLG-#TLy{hS{0Pdd18Dv%Z~^p-#cf#M+R0p=tdE z{8`4tbd9AY!#%00uD(fKk`m4niPEFMiC^M{w^+Nuz2z47hFXy?m-!aUK|w$?#4=Vn20T7Z;bDbB+ zZqhAM*nB;iFJ(ymXMy6rU_JY+MV6Dnzok|R34dskyp-@S9ul8`Ogu;NS>V2lX*pCW zvS^pgcG7`Mf`pTXONW1}Hl@5y*WoXFck|nKyKcX(pZwtupJM|M;qs07C+21T(_&DA zS+?umdMjmwwWC|MH2Qjy+8e`fJ#(`5 z`e$j2*58leeNq)GwXcGMRAFEvGS#9VF}_04-h%^T!w1QBYE5SIujqM!r-UC5s~2Mq z!LSase)yJF>UFJDN8U&11#}Sl?UbYg^;_V(Tb4F6YrJpn8L19M{T0HM7KTQq;+zx*>H!G^u`Z{;e>vBDZh-7}LR3H|Dx z*viPS!tsQ9_QQ-08wpSSXs{<%h+*!s9TE2@NQPXx=$Pa&>IiG1SU6L}$NBc7y*5bQ_}i5E402gt*c&JXs-xi-(FGoLsH zos9XSnn!?wt5IIuH~U>|3FT2)if9r)pg^^ zTxjRD1G|Tdb1|Qf`V;tqtNj`{JKeU7iDGF}R#UVx02ei(LL+Nv*X|fzsAP%NWnM&< zaVtp_XjBua2E((!`~#)qpSL}@sC#MXQ|(ewDr)Y(MR z4oAIAyxcd}6ZK^kE1)^ckf6+CF90_8U_VIT{tAW?1{e+)W8m02O(QVsO9*)ZL^l2d zD>sd?j^}1cxH!FG5?<*;<3rh@Y^Lglkb;AHlCw@F31%AuDDlQ0t+&piIcMNzRZ`qNXFf9j^QM-`M7=W4?H~`L`d?g|YqM(m7Rq z;CjbSqY%XC&TfB=ioKv7MGlybJZBTO75ZLRYl0O8vg1edBo;L!V-BkWM3eK z?5oGvp>i)$R~I?dBGES}8_^gp+5|dX6h!j*Xbma2t@LBQ(*_5QPAo5;IkUJzhh;WO z{5Jy4o}8Q%%dlm^zjv~;@N-?bS${VK9v*boYM!dngx{`i%F5T^2rNH)Y>A`AoVo90kFO4e) z@Fp8?+@J01+bresygtpKovxucQvR@Fb+Uh;-LFk(^Hs1R`kQwUFSQP>E2zd6X%eU< zB_tIfv(8FZDxOEQb`!GiqoAtY>de@9P0wpukD*^CpXP%vuVU;`R^GG(R+1MYB88}t*@Ubfr(34u5Du`j z>$9cI8L%p*9d@3WTjbPJroA}#gcIhAGa1-gifpFTJWqpDJm!RPlamvmalSjZNcLEC zy$a$TTt3fLtd9%WU#5YC*fm&!#Ucb0{w4>tWtozgazlg+2Jm{Hjsk0jMVYnzL)d?? zQjj4PW)^CaW@V_?=NQZ`)_BL2U{%Gp$(FhcgeeKd+r>5d6H z@a>S?j%)X!yqE{5Dk|1WE*Il&cch#t71Q0ZXf}($34JLSkXGU(OF?y8AC0>g6OWMq z!>sb}I+DEXp)Z2^f*$&L>x=4gZLxr0$$r7rd(9?@VK%h@D4uV z0#`8e_nj|uKF5qdbRmqVYpuA(RvU_bgg#TCTgn1XllR^oD{-9(FCry|2k zdKOb0YGxt;sJWr4B_0EG8j2qg^>IWJ!f6K3j}StpCg3|k7F4J)V!RZ{rb;aLmSw1s z!9us@SX<+bec>K6?d0J_;iS!;@V-WTo8_oa7qe6E7@5jmZET*I8Y2Q*3n!C?0+hVo zv|&9Q-%*xPM+SDrw_D-9QYeuOP4?Tm9yZOeuG{^SWPM)h3tNAWHG5^HSp5`aIfen* zPB%pGv6x|`BCx%su}J)|+~W>l?!7{;ZE1r&cO5{8tBF-`Fb2V&y2d2^qFIt?VUYpz7 z_x|JpO{c}MnXZ`bDCJ&TOf`Q+Zg}RfjtDa2;>XyXENjx=>Ogq*_iYkg2WM*6V5{3U zl!^?GW}V1L?NDv{fC2?tH^An?RS+te=3Zq4*1GT*shbyjQd#eyz@B$a|CDl6hdT>i zd2OcHKcOfP#ejD4>2Zny-rx~~1&Rq;7`CRu2ruI6hh}RPQUQRrF@seLQEGxIf*)~f ziZi>8Jo=Z99@%ACrRh9Gr8}mrLo8RoE|gDtu}aKK<`W@|`%vQ59xy^7z0Qw$wwBQ& z375joM0)@g@huiG{0JhbWZts!$)!*N{}PZ{GIrA{?4&*j3Fa_LoSA0i&*?fv%}HSL zl^ME%4`mrPmOV}ok~aN{&lnN?GdC8tXi4qQ2DH)xc_b#c>M3pD_L4TBR_-Pp`rVa3 z+YBSS&mDLpa5+PRcU0@Pee;`a=S206L1+&1y+cD(4&H}~u(>W#Ik4qi>6+fDC9s zQJkL~fD1pUY&uQOAA9iFs&q++P9Jv3rP{we;~t*ge(YFJ;G!UDLCDgU;k#0#5l&+i z6ff;6)H@_ACu%nUloa=Q5j}P^jV~PAK2lzc0TSXf63%bgJAxH6wpbp)7aly8J{r>_ z%@r<&zZQxj*1~NZuj)0eIFw5C>c=m)EgqQx@%GBHhY z5N%B86-}L%?eWZ|&9Qrvsuss}%Sl9%$w&g>tHz6(vZ-G-5%tLm%NogcY;F5ov3D-l zaO-<&T_div8WAPUqvHscfll0U8@1^w+H{eyde`*bWy=PfP@>I2fx&+YEEP5%YFgmS z`sk(^EXr%U{4ZsfuPJ$Px;Gt7+E(7S6A5%Q72Aj<6Smb07CKr!wq|HtwpM0!TmMKo znzZmUevx4vp|2%mPBNNaTV-BfRzXk8IRc94`Ogv^8dHpJBDt}$fZ&!&hFP++PlFC( zJ_8q6fiU>5FsDi#bFD9zax)&s$-WQ*N>$F@%c z^R;9BqJkwEQlfeX@pb7k_ zoWP%kMUlL>eQeTsHI+h4ibnX(4)sDf+;>pQ(Vrhqo&@z*S~E*jR=LB zB|Vrbl+-vqiR$_FYhcV)x(;C6uB#vDgY}&u%dK&zTy|80Vq(oAG>r4rrEgFVU9y%w++N>M7vhIEfl^1Un9xJ7 zG4e{Q_lN_QD+A~xY$9uyR^7zVhyAM!=;m;ox@c%&XrvsE@bn1BIu~0sH_bRaO>;0D z=Pucf=hN}9g%==;I;V5}T@@wq6-dco=~IV50n0lU*0zBFrMOh=L+bCtm@VnRrSjiL zP@<7SHA$9d$t*rk;hO+=l9f5tA>h1@kAHgvd&7exy>^bl*s>A%Sh$-nbN08m$;Nq4 z=$a5e5{t0EpTNG0MTpiTFv4&0``FE0H=|7$)G&q`?fu&N3yg$+P%S7X|>Eo z^nc;9d_5?j=OwF!p!~R?(x3AS(%yF|MwwhuWD$aWmKFyLEm{-scHUnk4p~DKQe7#(RHQ5x~f%MoX zq50?%zNj1?VLZgBT*1(%bLRizeX-gEAq8)V6&#@zfJ5_PK3?|%^9A&O{3aZ(lfh8< z`1da;yS-*CW6dCKA7l)d+H$n`-WKN+AVvZ^fJmCQh5_V+40lsgID{VWfT}%JO_k|Go`n?LlcFYy+kghBX!d zf6J9qjQ3jeie)?uK%k84j*Yo)#`8wkTs7anQAsau^r-*Cof{Mv;~oQ*Xg`y*sKBIU zYP{9DM3o07HGxzVqB}J4^f&#{k06$0$I|TL6CYLqEx`l&=)%|v%LiCWAeJb7@f?I2 z+(y0*h$5FrD-v*1)JgLsW$`5|<~kjm;g5B(a(HH5Q;p_DL)GSI4j-9ZnK}#+T^n`( zeJ~IiD~YA&x`wt)K~1AhZ5a|sZ}|kw5v5^bjf_aheYi_!8gB)CM)8|zuI;~anXo*y zywafH@P#YVC^9HxfW*FGS)T>`DU}02p6%duCv1aM|{}uzdN?(R?hj4=MHC z^XR$Der4lt;PtT0gM1BfmcIg9QpDMAiPgag(5wTbz9Gi$oKp>R(hRAyC#^JWg+QA> za276ZX#~r8=*2cvyZ;%8!p-kl8Ghdv1^HMVz{^Q>N$xT}neE%tF-00yT9U3d={Uk5s7__=!{HZG#(!-07fs!RpHj7YHIt2cvv?l&R}CcGbxzH zPyxOjhc!K*V1s=8s7faG!7XYFT8AVru^Cznp7Vau!5LuTV=4sP5$q}@mqbcC;+D92 zdJ-w*M))1UUd zvxxa});r*YXW;rQ#y#oCAw{pn71nIL(*Kd~c=WVNN#Aw{s5g>Vh8~;Aj0hu{|MU zmkrXwid}%k>7Z~Zm>J|iR8GbzdzL;YAl?K>8GK}5>4GxQH5UJ8>o=22fPCi)>s%r{ zkLWdWz2n!$@G{4hsuRfmyyqk?C9ariT*iiIf;1=mMb_9&D}K z2q^`j-JJ)WLM{>79!lnVo#g}P#8ds-%CpGSb=Pur|HjwP9f0gEu${P2u^1xaT=(H_ zY{ItrCaZ$zoZ}?`c5k1lz34ulk}VHx-aH_>3jO_nd0pRDKf946%^!y790e1nFV{|sXsy3K zvE!mxzEU%BTb(<;4K0PHVH!xb6>~s8qq}_WBsn--G!-sFS{D5BnE-vk}UG2M~oSlR-(W}p(W*TI?yXi((WNIt^Y0V*gU ztmB}dVFq88iCF!D(pfyL3gUfE!qI!wp6DMr8RHE|mh2+3Vp&Ka9V_Y@RwjyztZ2A# z_t8x1Rne4ZeLP%B=%LO3fUIon6W_(jaHH0DJ_#jT?83=dmiuoNZTMkA#Ym&2h?{3s zQg8;C6>DhtAbm1D z%ZTyj4@%?d$n9P%mT|WXSI_B23_pK^0T}47=z1(;g{{A`tfycKtLQz^-xQYdx==h5 z11kc(n?KH0U`0I%1U<-|2gyL1M_Mq@K&%Brf6bY)bvTC*LM#1YycX4T_+rvqmSc@N zvE%Q#F3Y-(|6N?twX@+^^nx5~B1wbd>s2~dvvj1x%a-UrG&N)W63+xrLx9M)r^1*( z5z)~MnE+%cH22y9insM=xJ=I&VNY$Cy4QEmj1CT1d&3x9T(+k(u|+NnbeCsBy>|B( z5(ANF{8Ms-%F!C5_0x}O*v-@%W~B6KXG)9)ncPFCMH*uc-aBQoA)%yFCZ?PQVm(3Q z(ud7ODkF5V(=+wsrVg_d!tGV=6QP<5)wgRFRC~%+`r-&ahszpt3t8drveivd*c5G2 z?Om=AOCU8j>E@4#VEwVFZ}OUd9&+DO>rWmx&EvH~_AP|gQgy92&K6T|v|QAo(~dtv zcKm}NJz-s)u1OutR02|IhK*@)ojU>$7}1+AK&$pWw&sV0Q{~S6b|hkFoN#Wl8P0~o zKkl9Lh8QWldH#r!oqBQDd73uU11}0?@onCNn1(5nUm5mm36%nRk@~blZbAzR(@z`& zcaheLXD)Qm7tc@*q91lK*|Y-eBqj_bkpRH&21uy$90gbI%QSX+LCNmNS4%{`q9fW; zK6C{!5>y7g)EUD?2f@7-LdOR}!R!{FULUrlc}+X0%K>jY2ys%;^9e@xYofRe0Cu<) z;^pD?b4YO?1%5VEX2^A3P?)rLk=tv#fVPJd2{Wct?^L!zQtV!@$_ZxMhb(@jVZU z^yUQ3xHC@ponE)dTj8*b8ZG&juUv%K!Ye{L$DL4*oP~y?jK-nCar>P z$td0_i;f*pC6N zdS64l+;um@C~6S|8Lb#mySe4e8KgvpGwscEzgR>g(Aw}fN&~c@(-lTJfzL^>+%b|* z)UkyoY9LHwAPgfShRxyOcUa+-m5&*=Nf+X3AZ#jg&E7;%mOc=tTYOi*z2W_oy@Up7p&b`41Em1 zy&u7P`Jgl^f12&Vq)}Kq=^Kzgd7c_+?SaNeCl+C*{Y6k&L{qi)2H$M`y7ntBd2idc zhp?td(@6FPZO3Z4X_K!#-ra8m`h~#HSS&4#mzt}k@g=aLE6a#A^C+tbKE+3@@y{@0 z87-0_Y7q@qd3T2bpiASq(-6Oby{^`^Kw3`FHyCVy$)wT90Eu!#0I^E6*>pfmfVSZh zVOv00j!F0EOM|FCFj>74cQ-EfSN(6Qk& zvUIER^fbuJCtaA1#Ghmq={>F%&AG35g`10N?t8+Y!#r-gwy#fdKS3_AD!v37csK8E zR5NU4OmUD^ED5=Npm86n1(QnJzEXlGA?n;pun|=m!6y~xNai5CM=aqiMx<>+_~xi^ zhCzr#4&q?`%qKpVxg{eUXW7=P&I!lXujK<>U6S>w&g#zF4|ngTRF z>z>lSRx21M3Dg!?KulkW+OOZRuyDh|4J@aAQ%CxA5$3qfM@+9j41dTo<|>|AxZy?? zXn&<6Ek2y{u!6z{>Y@W#ecR_zYRC4Y$^CK!!Hhs~O3KO4&+J6B39O?8!$8JqSUw1Y zfh075MnQl;*eolvHE{y|oF9K}^N*QadV+1I|Dupe6;js%pU5>2Tywy5flM^p3y%O` zzl7Ad=4f#>6h>BgPGB#L!dg2f|5PmP$tbG4&%O_2C`eMTUeCK{e)qV zg6TCmu>)U=#IT@#c>ra^>lH;;-eBp!AbvcryV-7iKpV*A26C@76bm+bw+lrReG6K) z+tX_h@jKxiCP*Q3UTEJ?&5QW)m*4Mo148gRu^qq44Sd;38u;l$z$*|#cm1B{+1b#q zJef^0o|)RGA38hT(!KQc$o5 z1sI1gt3$l^&c*FRcFqPk&lBnH@$gq6s#_weQ=A8F`EOekd%#k+Akc!Y_S&j7W2ts8 zFrc2yjuy5MHNItR_M3%*;W)YO?BvZiwJnD8|N4YwJppVR)h-ll-8@#z?{)6loG0x-xR zPi&*(ftNK#$L8UHVu_*#TR-^3%mFM&D+;Tj>*gai0L3s~;8>(#ytp@wj#>_E9|s35 zTX!lwJr-aW&1BL9vg5YKZ~u0~v8uYGsz+Vp`s)q%C<0yTRaJa2+8;$M87S;w)Cc{y zCQj5It^utFVRP?8+*`x0m#-`1+O%>DImlvxmRUlb)7B$zQt*_Ku^dVAul?!IvqY!9HH(3LY=vbH2}pz*(10u^c}zo*5Oh0-Ds9925`iFHTmvSkyI)& zKk7xJUb>L!N$|*>3o|XtCc%o} zA%+c*o_IitufRA&!Gk>Y;M7j8KxA`UC)0Nj37K>qt9uQOQ@EIhDI3&Q5XS)E7eXF# zAra+bX-C$KhCzY4n{qeqhB|Ar71=uM?6cBg#Y%?yt8N^T=RGr%8r|fWx}F+z(vhSS zwbPCni-|Mqp0?pF()qOA`GNcm^nuUvFHL$)N~lqwiFJ2}GI_hC>BfsAcIoQtw_saH zo3TVjSAd}!vV{_IQhLg9%w6bJCuTwHGZVGeJ_(@J&L{P?FW!%z;CqoslE$b8tT^(? z|0;HrIar||{dvbHTjxj)AcN+{N{x+)_<`p&9K|2l_DQf?mUR+}!#{?3(t9;WrIYo- zM&Ykncn@)6CvBVFW4%|?z{|atm@ZtIrcING1?~GH1gAj3B2@35*@KStmgU zQ)d`H7)2O8@O!{t9Wp^eJwipzAiwoME5WpB>Lszz&R>AI&wbW6heppM`%a0Si8|u9Xn&*q#xphbxMd> zCO+WBj2I$V;NViq#fZr!RO5Ol{!3m$Nodi39K+A?lbBm}EJeheiCEgZJ`&!I51FcS zi~1TTYvLoX)ozxFw^Y0sN{2R6o_iMl77eu7C}Y3Vz7&|E4?zo@AOZw4FM|n(>4sLI z?W~Uwanfesn^nsMPP4UH5GBeM)0{lHNms29NQIvy<6nr!(&^y`qMU<_D22u))5dGXk6@+I-Q9XfVxT1h6i z;eE??{SS5Z)mgw7X;%qHalMi&uD2QlFv+hN7G0~MM1#}dbX*TF)GD6lL{moW+SR&! zFu5H7%E=z^jKLn2F z&CG_2*QadPwNuv@!`THx>zT%-;o4y_-J=;{MbXsUloA69DnL$S%2W>Fwo!?;%#i4h zJ?Kd=r@oy*aBkHNm_8)5;QXKmC0`C6fI^59`v@`}yLP0$V3#3Mia#Wg$)rl`xqRdPL+8 z%*-5^`Q)dzglCGXma3*SwKx;@g%XpvHFKc({XIP;VVa@@2V;%KEb~F+Z_HM7zFfN1 zW>|1!55j2MxI+60mQzbgpAFFXklv`3SZv*5CyH{al5C?gBRf{M4BEkL^{b6twU2vt zo}!Pj+^>YqW?F4U>wskA3VkR0G#H~2?2;f#{c!+H2F#nEu3(fY4UACqu~=HymAHJA z>+?H`V|~s7W7?mxFlqrx8mDfK;tkC+VxoBw1LP+iJt})w*6<@{$g>jNmgRzKpnY@& zHa#oA0U@5JE0H2nwhRnCP_r14AZ=Bms>X~!>JkRi3HLUi^p%ewh{0;{;H;Rvn&PS~ z!8KMf5Wf{+%By*SC@87{EWE+gE)e1rpSdWO{&a8xe!R021Ahu9p62QClHp-(ur*u! zH4W~+7Fg!6RJbOr(iaJQe=z=cWUKmj@s2V_fPRTGuP;jdk}9O&8@jFnv?fp#94=3> zUHIt6MHi)U#CxD(e3Xju(fCAX1*));xqSIyLDFvL|4+(%2bKAb|9_R4v66>>?lPN@ zC_}FhaI7zAObpicKA!>c5@s?}FJvIVaG34TK6qIk`xFpw9_adQ*0f5=R=`91vLNu8 zG%J(fGv)mtpL20Hcs{uAp9605a%Xxcy&LiipW+96hxG5q3SS1=V~3+ONJ1tI!KjjT zlNe@dM;_~!q<@ujBn?yK^c|Nxli?isTbaI!b1ItlF)a+;hh~HlVc1S+TDq5Y4_8g4 zrXo(R$3p~L1CK1*^n*M2Sm)#LC29F}S(3~p&&VA4TbaI!pZV{2`^PktA&f$dC3{}QQLTH06qk|6X={khfX_gGDH$q?^laN}HmXShm+EBP@;hF^@ zQ>!QH98(*#LXo0AarK|;;uB!EE>by~MLI@@^Ior&7%hV|1s2mC@|1_)Y}{*1OvH!1 zVSbEtGq`v+JALxu_w&OZ5K;0lEW@wvkf-wIBo?;c_xI@)>=Q2bz@uF+CV3?xY0l0} zp>{*;ugCTlB)h;BIrR}GSt0)3fP9DAz#zVYaBarmy-xT5phodWj6FH^$nhs!<7z;5 zFNg2fjj*ZdV<&fPxmG9>I)YytdM_};W+ABj+?)5oauvWkgPY@}O||@0r$z=;TpH?@ zydIh@IKAJ1&woH_mpT|@XBW7EzZ#}(!1mR*|-#M9CA-ssXiR&cSN79ux^Vmibwb+rF8f zK+FUBHu!J<+iP*U-q`iaK{+J3i!Byzzz_km7??=(7WvLb56|a%5HQfN7ziBrW)OAg z1zl6SbNz5wGUCR_2o9G!Hw#z1ZN$+wOWauJaXjn+K!3t8Zokag!#yC38^+S*6V#pp zGPD)(N0?i`g)zX9vBxooBnXNEynlZczzhOYfT6)^Vggs1ZHKK0d`={`ExDUX!5drW zfRFEEBON4Q4W+;`3cp4kh6;5OX|Vm}CPiTcD6B{Xd02rW#Ps_7Fv;4Gg@TEv3{{Pq z;Sxf18xe%RNX*ajf}tVi5Eh~&oW(s|ugxbA0|UVZgjoukQ7hb^gWZ${>zaLy#y-;( z8pI8`{;(xq1#6s$hM4n-`5G2m*9BxQy-TkCco(8q;a!SB?=nLhzU!14(tCg&l`{}S zT``UQ1BYkj8kmsi6A4+&+TnrykX~qbWiDxkdO}vhS&qjn0hT1`$2TsOF4 zW$bCo{!S`1F!^?Ie&p?w1EJJ+Y*@u*td+s*1}5+Vf3FeeVG}n(@z4^y%wp`&K*8=! z9>Cb1Q!p-o2%621kwhW^aTr_R`+Iu*Vsx+=0`Ne?iHK0DFBVlcE0BT+O{Ij1q_X)n zoBIMRE6U6Va&kRz-PNwE3;_iE9=r z(k>$EV7()q-v1DvC7VIAtHhv&BPahZri&sF#@=yw>sg1JFs6owQw(xryCZYFh_3QyZ;uz`;54Su=7@6FAeM^Jr(8{ z?OzmQkuXd5LT1?F+)xZCH1R#KXV|GXOs`v=eeG?ZCuBmf^n@ODza zjKN08!0ZTK6ZcLoY<&r0mv4bGIrjGJZ#gg!v{&;x)M_J>3za<+_PPhew$c4_wymGM zcke*Z{;w&xBcr7)gKM&BY(~-MpFx}Vv(Km0kkrTx6)lZ*2eJ-zMey<;C{Oh*|de}e-`^wFa zX_louCRJMK`=0z}bTP zgxUPMcZ`rHjv?3;@m0sXPdtI9SPDB!PIw6|_k@}Jm^W8lsm`HPiO@=PiBAhhMj*_)LR+S(BV`zNW77SAkxbB2O z_*qy5Vg7ZF7py-+6@uI%EIl-d4>l;eZr$G+86y)5dv6osW&7qQ5dXn;_TO~sk#~!y z+CyPvvkm{z?U5+L`iN)Xt}U(S_B3e9tck#eqgq!3P5a?#Rw#5SsMSk6@tnro!_f3S9JS?JmY zO&8Yox$T3Tb4085VAC)3RJC-uFp}uaRmMx*DP^u2iB)pFiIGD2C9DQ}5GFxds#sj& zE2f86l?LcQNq>PbBDo00`Z_A>lc`NA-4H}Q5eVu zsm0-)eu%pmd9?JB5gj5E&X!Gt?-Kt!W?Qec?J-0+-X8uTrE{1TD{=3&MgO_e6AhR*^19V3kBJuR5*hhr=5U6XgDfvM z|Nb5?DnjB%;qaE_E%>^)1$l@J<=rEOaY>nByiD=m^(Cz3CA^E~3ctey@HKH8q!?tx z3%|bNpMy94{_z)mwf~-Rd`7SLKbE5JQK#b7k9_L5+Dcy1PO2_ zM34k2Q4~b2)=EoWEdHyo>aGGh7)N=I z+wwTYSzaLXAJKl_VbGu&e;?2ysXk%sBH_Z)FLmC2X7j^HR>1c^kMD!@4`8(ro5oxs zLf8m<)WlXiK|}UY{ABYR2q@!cXn_D4WRGYr=snKiJ${S&5eJ6B>=R6YYD9sM`=(E9 z{%Mi*dPYx`&ww5S@3KZZ7U|JN!A-OPldW6WfNlO&sx3 zH@yGSIuNN&SlTcl-W+}obNG3BHXLo*ph%|A_Jk&%f6>S6ZT(j3fM~YIUy%OH=Vh5k zhHa|Q#CXE>$#%2KKd}$qCHI@={ctte2YZQ|L;leR!Wy+|;RjsWx8b>7G(6|4L*Mae zP{A76J;d$olGXWuSvD?g{-w=*^?XRu6zGT%!0G}g!L?VVn`GxBU5mued*+O*Q>(*8 zpB{*=rUY9r>Ph;xI%X!Mj(ZNT`s6^>>i^W&Ony$s=DP<9G#R4pv8l^@C zabR#;BcAaz)#N}nIINa`2F5{!gnyy+vuYWu9!N6d*j$J6E#-Y&rA78H2JTE4|BU4& z`z6pSq2bD>(QipX5b#%c~HXn_{KXj#3c^+hB!4Q(jk(2o?UU$o3#i>~p? z20YPN{4;ogcVI1!z~h(Rm|hzI;Bq|R2{btbT;rpSBM~HYD(@^A#uAX*85BE~zQ+${yU=>e8kAa)kSEr`IFGE7H%Y z0bHs24Cwlzux3(L+H|RcT#xlq&44Wy;#mbryP^Ms^B%~p_`$We?y2r+{%FtY(wRJ!K}$Q#SJJUZJU!hvrL2dl(7Ku9)VE(<35&B!_{J`APJZpSg}_ zex9D`k~NlyfE4)Aj33itD?Kh`e~FUYsM-~HoK3$X_B%aPxGJp8`bDJ2!B5~ZyoMWi zCgfIBy(cCeRDuKs62VB5#cf1ZB*B}W5_i1eT27@mlJ6O=(yEl}7i;dC9ZMumEaits z^80d$b-IYn-Uc4dF!4FIiKbz3gb$()m?VZ6^}I>FFTEE2plf@!&k3sVJynBFUltxu z*#xKRm?@p;pHB5C0Hh_BuZSMGg{?R56O{b;>YcL$=ZvgocV5jZ=EW^@S6Id=u1$5N<6P-|1XS78 z#hb0Zwl=!Yx??wMY=&z`{QBY9DylKh4z7{h1#5M|{m57cnj1kdOSX5yWCS&Ge%R{n zWjd}$iL&Do-bgSreU1kHW|jm_2c8Y!Z=-3rN!G!5_8KvZeAdr`k{LXJ^rlAmrXp9K;WfP_3 z%?KqvFcp6oIwDgSz(mlg*V5WlG@Q2hm7_-MdN*g^4%p6GnYsG9Lp@mqHp&cf9=FsnxB zaeq*Q-;DT*9n1u*=8yXaCY|U?OzZN;*H&q0S+DK-1CSquH1#pT@0rvtgEr9+eXYRO6Z;YORxkI(ew z0#BPlIb#RIOTx+wEsl;}nL(cB-pO)LJgA8i;h=rSNYQ(eZsgPAJYY6UYn%%6NP z4B>|EOV>y#&`#Xv#U4EMkIkGDp-gV?PWI7DS^&BeqIVkqdOJDj6PiwZREAZs{q%x3+ zhQraG_?yDGu6$pr18AHvsSV%-74r#$e;m1Z`tgP?Yq1^FnwC7VJ47k^DmW`j6%$%! zrdLG+*>Fzh5}*;+`Ta}XW65tY-ujmKs`y>VuobF7u~D)l z(VFt{c{CdQCF``bn~R>1*?V)q$ppj~Hn${i?)7BP;?03T#t}DdZsGOo$-i;JoApcl zme(g4fA3}m`^%H<4xDu0`{>99Bqqo^z1;GPC)*w1hP$W%ISz>1E^>>+lhQw{fK@gM z%#G5JoKdl&8)U<$x{$yj(4`|1BY`r(12d=zXVekDP_B!Wcya$Nx9l$@dZM|RnOvkN zUfBQa{zAMblAEb_N1GQinch_LC#X`NOkGjw-MhE95-R3){~g3Hl3V_{j7f<8$Kpj^+oB)DPQYe*FDY{+r%2KC2wxA#R|i=9jqXQ*^8N_~H7I z(LWpCdy{{v@5r#S=e^_a-*H?S-P9od2i=Bl`uweada+Kes6G$7%#axX1_AF}dbr)i zNJDA?-K6@Ty1Z%Cu+Cqr zs)j}En)~R2WvJ@4%;)Xgu>%4Vp8Owvw>n=Ko5Rj}z|Ra7}avhDbN!1Gq>mLXC)ZLCUVSgz1i|xo_ABak9dYQ!d`E zC;`P#Zt0#~pQY6NaIT=&HrA%!iXzhvQ4c4o_HMr$Hw6^s*7=cL(b3W9$+o$MxCeLM zr5qIoo=Rga^nyRFU^Psjr*-JgcEEpaA6GR$4xi=gkoECqRM)r*K0x=w3+NYoZvtB{4 z^e{EDtkXRedM4Tiu!ksCySO*OZ zQzjs$w^G1o@kLr4!=m`otB{JkVB*(kD^>v5;z0BH1E_0<8rkL`vd+-1J>$%PXxj77 zYg#Z~buVLw#7G`byM~#cpu9H#PxOT71Fux9XsAF)WxarQSe{v_3uHd!db>iNp+!$T z8@~a(c2Rdi3B3F0ea-biA~5GfQsfmLhO>d8M-V>{aKV;)|Fjyl9>+>XWsCrd$Ap7D zX}w3w1ScKM$%l1KQ9g)o1R~8pZ@&)VNY-0nU9ACTXhR0Cx zF<+A=dCTW=Ht|irCo;w*G}bqF?TP9XVE$8P$Zu8;$7SkcT>)UVko9qI9wiuCp7yV|`Kre^y6&pn3_ zLoI^12uI`-$T^Pu))8bJkM*d+L2D;mP_9$x(RrSYM7lUL4QE^KClm`Cj{yNHB-}EYi?WYreW?8l@0d;cIcaJy(hh0?G&-DRXao^ zB4jHNezC(jZ=mVp{c5`jhhiCA@p-y*3X2R6Sd}|miE!&WuCLJ1lTXrC=3k)WPTH?S z>P=Fd6heh700>w>(=dWoAb6!=NQxU|rGs+%qP^6Ga|R6rm~7q?D=hwdQ2Yi8S~aKS zJ{CQ5`#15qttY2zaE<9n=TM14*K?^JjrV-2z2sH#=+yLY2n14JC-+}@nmV;^>2K>p5BOIhe8kta@;GbPQ!p zzuvPl6`qLidsSibX#VCMm!B^8eqHaLdAJhNC*OAEpb++!p=5R>HhlH5M5Zqpo)GVh z?!Ivv8tl-XM+m%3)>9Ktu@$T10Q9EU`fl>w>7&ASjEPB8ffa(4@8*UB5Mu2B2@=VE zk>kx;4^PyXakU`cxwrS)#S_`M%q!OwmTBd>fabwucW(cRosqz};P0}Fj)%BKZpBhO z_;f0P>~jg3e6IM9va^Ci1xmUpc#;Ewg$B4C4>^&SSj2x8oT7Z1Wfv!>vzL)8LEYq?QIxJhO$6 zfKdcSAx3OkG{rx>!-<8|@B9OBLnd;w7cz&?rgiui7uSt5;n=zJq^j|r-2nU~V1Zu1 zx@3@O=_g=Rtf!|@Op>5Qp13?#$<^Hu`fXoSszkk+k%C;*WD1XiC2D1+&$|SAzfO(V zEGLu8;11j)K9HxaHm{$g=gC0BJ;yvrr{)?$tH+pBAYrhr{6$i9b?SYVa*4G>Zhf_2 z&Vo+QB2z!_L<6d)b2LKaeO#r3YN1g0S;sBrEKnQi_g67?HekqyDm@abPt8Di2?_+X zwtnSZcm3X7caB~$v%DBfM-y?=jO7!uuh7#>P*IOCedNO4NhTsDu;f>#m{1T9B zh4|7Ar)}3Y!CL|84H~voy;Ivw-U%}d{I6gSxOToPc230Dx4jg)80x>x)mz%BuFxOS z-N2Hmy(r07 zQd7YYV&}V&OC%q^?z(th*Lry-%B*_#FI;J`YdgozO}kb|r~`U*={{_e9cgQ1;w5kx?NwxMQx7N%aJjXuSX0*(|Ogbj1oeB9rLqIu(gT znrE?*>+Vmu&SDY}z8$!L!usLkPzR%wS76`*XIEza4ooc=lyYaW#dMq;R#WL#HBOKM zq5Bt#+l$*(O0+T$m-ydGH?jRov3sm%L^DUPzlJ7jC2ia?mU~_gD9ul>%iiy;`AtJ4 zZcf~s6apE`{}>4i-QiTX;4LSJAKa=KbQObgj*hEyWrgY)Po00PiR(yzlXL0n+HqpV6r`uS^+Mj^DgDlAH zPQVWdb;tk?kYUIlnX?CQ$|4MwOaDlV%DoqbR!{bp6kC}~T}wkJj}waa4v@N#{p^3@ zUUOP=?$eWd{r*=WO`b*jK|eURAKIZixZhGfJ*SY~#e#e~M7ozYw?sbc9B150g~^z; zHD0cz8Qc_TDJbfyfKF}G04>oBRRsuA69l*_)|-uuBzIl9DqwV&CZI3mpD_S$neEWM z-0Hi}_XdpFW@^>q47}NMx!)G9@ARzeqz8y0e$g3!F&d&kPy`k{XTa*W%0AW?d=NET ze`~EH97Ld?PT=G2PIq1t%P^EP(2Eu1Ss+HY(fk8`(%X6aK*#aNJD#Fvo8RrY3dSMLealsgF*>pT~fF>IXS zcJmy7C(~W(n?|C%j_7hjPu1ceR+4?|OeAo6eJ>l!do~7?qoSVq8yH#)$wo@Myu1c> zqdfJgpdrJ^gGNxSEiYr}*sjv%A?7H`;vzU97lknMS5GSEt9vCZx5 z-w4^}(=;BjSc9znVhJu8; zmL`@>I8rBDlvlLr5}dnBNd~BuMq`Dr!K&16dPyga^tE3sv>BfXuV^)ZXaR@`t8(jLM28h}N&RoDYgarsUqa*3Kt0GG#1^BtO! zm_+%}+-(G4uS@aqAzsGk7RT49Q39GEKr_w*9#=7%{=u6qi{hI{X@9}T>zKy0y#_Ah z=-wMT-hx$VDC-EQo(J88$l^=nMiZf1Ld{WTn8fwGTfJp;nOO@`-_eI&ZPQ}&GrV&VH;n#Ric9d5_>T*pMwsK5pm~ATAzp_q z)OAH5`x80#LdEInuwjvhz8lwNAv2X6zj_tv_m%#$#$zAvE;klgeZ9-@cV}l=b6p>k z`xm6jdF(PB6iACchVsg^pBs~!Z4ur1*dOOKV;A4H*gz^n_;Es6T_5MY_N!74K6U_s z<*0Uu?`yQ5#rH{J4j83eCCa0C7Y96KKUF_~R}uJh*2kdIawAivxA@Jhf=NLKSRQL{W1w*fHy&0dw$^I=p zh&R8BaUr2b+z9+grvy*rH?|I6|1Xj^2>UW4>noNqEcC#|9YgF5HTH=0{9Y;7yyY4r z5i+hBo8-}$?AX(5*T%aKi$5qH%e`=o5lR@>+&W(40i3*Op94%|zF)ZT|A@a9AA>HR zygl52=e)K4=?!NKDD8V#@Wll;g;Z?~TRCu9r2xw-e~y9M%2%1ix)WBGr?6!mG^ zkM|sXH=Zy38ED;*Hm|}KY+u|(2fPGaZ3@|+H{)g3JF;adVuXVG_VePW3Y=ANy@anM zsT5cSzz6OHvhd)K^9`S0UT&_s(nSG|3Y)HV;xmV}`a9jVEm4%TR=LOQxryWH`c!Rz zBqw*tqsg^?0Cm>~ph6cvGtK5{(*(cPxkrxPZ{^J;GahO_9E#&0FCy^J>tN{6?RDAv zw*?B#r%dx_MB?x?adjbZA7zbb>mDgX^W-JCCQ6sU>MoBuR5*hIH`Qmxky=qe&58Wg ztF+B#?|c7!*;^jH;f6I|EFld6u_jm)31_NS1pD%VJ z=3K+fB;%b)2y1<_Hu-m~1^EPT&$fYuIVu-$s)}#feC(8Io&r^%9VjNB0$qX_G>9N1 z8uCJeH6b$Fhj?!rrkWkh7ZLtvrPpy6;1Lfcj~4#$qbTnZ4!8kxiTJedD-Vkg0P^}s zuQvc`63c>@BANcl@=Tbw&N2SL1T)aAz{&{B3yX~SJwtyyWPd9h`KBFuTsLx|Mk93I zubW>9=-2;yKzrdwTHxQW*8^WMb^p3jc?Pa12$!FMW6CoXC4JXj=@sPGp7lFt3P}De z3TGVutP&z5MKOWrU?*DxpGy_n;RwYsGr$eN4uL+tiie$uc;^=m)w$?J8;#5xU}()aMZtD_!EVEj>8m%TA!*@ z>SOK$v~1;0uj5`$J_x6sh9<2kF-}zdGv7DO)!<9N%%-@}2LQJDbh@haIok{;83< z(;GaEk4?Yss{LCDKjPzq-eeV#4bX1a3AQA+0w~0CFOvKWA0f%JA+D}S(rE{l%O4wkcx<#M(^{#pWA=}-0A zcz?ExD)o?@s9S9uVEFd>PPO%rFqdKRv*R_hk^m&i*M~OnUGTmj|AsP{d{?#uiYFts z3|qlh&S91vo-fxK;S$ zUA7+ZoBp2=5|fo;3;B^90JghryD^$CaBA!?i~ek~sK-^(&*5n{3id<|WIK&q`hwro zn*WHwpod~p$zX-yFH_<5^f|!o7oiUsBB=vrdMF}6`P229oGPgD@yf8)Vk=V~z-WWv z@L*XKj!Z`jMqIH+S5^u)EFRuz2ksh2IqcJ^=#^Q2(w~3Bk%_ESuVy0KwhTa#x@Y!a zV{P$a*+PHH~gt#;j`heYn@ckC;# z>e`QB`BWf~(h{ltU9ZyjzgSmWeO-qZ;FTCE(xf8#-?JZK{;<+0>Wh_Yl-Hb<$(T_# zrD71}Y*MO{G=Vy7J@lQ8W4s`61+C!yK)7Y9KpJKdj%8J~kg=gox8o6bImLBL)B7!B z2F?WvuE0xY^QH4n=gb60qiezV#+eaSEfeh;P+~M$F~vgCaaAZ$-H!z8BCLku4qe3R zxcKT*h$*tYS#`qkpsKVc)|*$7M*!jQ+m>LA7h^^A&xIvdJlRJ&9PqFp)r5R1glK>^*rd&RQZh@y=Is@Ra*Y7Eh5Xq#n+-4* z=-u?x*XOd9@n`@Zp?BCI3fKBWTF^Gjrkcu%cV^@E9dHc|JZf0kIh1cualsC1A^)}C zKHN6~Q3=WC-x7>|oAATC@7A@T<`AK-;M^~LYIw|k-oz=RdA>|799NVes_@3 zJ$T~JD34&x4EP#=Lx~P4D-m9ZJ}}?l9e_P3V29bP?Sj`bqfp$&3mQO0IX_Zq8F*;I zyQQ3c{B|d6Ea`@`)Vp(deprmsVKMzlFkIncBz8Mp7Cu&8G=lMLc^=o_=4AEpYJa@) zI?6mSJ3yzobnyhSUT=(9Nt!K{vKC=Jyrq8k6SRf_{Vn*E#w|BM0Mrz8!lg|3gdy?!j2P!o6qRV zDsF{BRngDbM*q&y(C)h*R#uPQd+)JT<>9+`C$FIK)ZFoucC#$>!S{lbaCt#5vN!J8 zS9d5#?LoboJCDCxEOtSmkEUgPH;mhq$u*xgxiwVz#vi8gZjIr zD&Q909nl;(J*LcVWym&CyKG@0SV|3|P=*>DK_!`ZO?TEDy%sZ!=txk7cUVvrNM&H} zO2NG=-_zY6bRujrk2t|ncRp{t@HazBx7L+$G(iy--d}Sikb%x+Pkj8ALgvs(6Ga{p zq3aXjE&G!3V9}2llVUKQ+_xp1xITo^Sb>v=GKHl=Fc3~w`fQ+a;BvdKk_-oeg^!KL z_XHd}L(V)Z#&TV0K%OGoBWobsm8Q3ukWz~YK|&un=dQ0f!f2q^-G+q*BuFp-XJ@Z+ zOQp}4B9?%VYPOsSr2|m0YnB#>)-O}~4yE#vvHk=lP9pwC zfK(Fi*Szpa@dfD0Op3$@7c9A6NjfX)I0^(4n2^U3aXcWXp!H?snSJ%q>q4>JmMZ?# zP^>+%;J+a?x~7ckcHdpSwmup)l6^;~{KadF{)bQ8776446lO}#A=N`XT#AWp)x8NpuK|A_9A2w8b58 zpyF1_wbWuaI8L$oqweGnn4O{b9~;96R=c{u+r)!1S%32(ZgC3J$C*neMOd*Hm=XI% zfxgtWl*{2<_^^p*KP(#p<*T{|_j3!=*mKO&hoKW8?@Sj@14n~~48V)efKQd$IQa;R zHYXo}*YyKeMn=LzliS4dBPXF4L@@ayCmUC-TH7bG!+EZ?2biQW@#@6UGfSlD1p$B} z6Cg+wpu-mgdf=qAOE*vR?^GE;_z)UjWVt3wpl4?3xTCp#?wmId?R>+1dB9lfLei>+=DMQu5F&K3ol#ke$BoT-v?8Ja7!n*C0KV!r+ZS3u1 zcE&EE_v_QCL*21Vmc1x*f8brUQG{2VfWU0{AAkDDXNwoLR^mRt=OjoPVttc4w#^%cS;*PPq6?5EF zZVPeFDRWK;R*6CsXFE?CY2VqBZVXIIwqAK1 zOP#@Inr|E6K-VMxg4&1oM*5 zZbh`lR0PFI&1m}7fvfA!Xga(Jo~d6Qc=d+&OB2*?l&RszM!!ad)oN*1T5(^^i{O1r z;PB-974c$fz527}!-?Ec`Bq-!?i~}`ubA(ymIF1IitYMQsZZzpYI)$%8P`A3SNAXl z{Uo@19#=vmAs~_ptTUipGVdDk?&%4|k{eHiXlO-2MO(7UA>u+MZkjzK-C9mJ+!=wdzWk$=lT- zs{qOdDm^kC%JjqKf)A%hPINI624i*&KOhkJRsB%SPUIQ{U$C9qwL^NZlm#V0B-oO2 z{4Zi&DFzdfZ!Z;v*->jlIua-EJcvqb<@!-+gFjl2A}Ui{VOsAnt;^ZDYwQloT*o~J z@4V}1eVFVV!}X&G(t=gUw2qk;lAw*9GA*CKW!E&Ii5ek40x;>cOs60lw=C{trLQ0y z!UcqFVAetU(t259wuJZ?$BCY`%XYxF=k4=@rRIkK5!^9EL&Zk8$LBb3bTMGh*!Cei zGJ2@X?Uz#C&z*Jq^DxFmdRjdQT1&cl;sA)-LG&}re6%Oi1f{%%LI}%|q()*3k!Czi zdooX?Jj~(sGY(OyLrmhgNP+$(sl11tCMQ08ku+~9<)*AA>@GhWOGp^QVzc z9ob$pxRUm3S?@|l^LN=o%lhBSX!G~^WiNx|M#&u9K>%7+{dNEaf6V}5*m8lWZJFA^ zu&Ng_ekB|-^2mURDrtEm6juD1g04~_pO?B?Wt{r}4_xy(TQf{|G~sKc1hWRJLup1P zSV2{0Kj4kW_H#@>4A$*|ezu`5ji1^uz3F-yLNw?Hr_Lf;niekHZ5ujbBHg3E`S;%2 zExdK#u7u%^!0;xl(nP^cme%wTgR-!q1eoI=+}od_)X(_xRJp z>2;aqU{|$=7DrEYS0qAd>1UTtERG|qzF$=4M#7ZU!_}t%Z++1hp?r!167zT}oH}Yi zllB4R7g`7E5|g+J<;aIwNlIb>R6ysn*fB$a)BuWuGdF%C6#8r;@!3#lIfN+;Ee0HL zBz|?+uYti1yh%Ac10(|UF>_eCQ7oxhb=>bC_h-~}u7~O<_T(bdl%;>culp@+!9+

    ?37MH!0WI0j&U(dp&T! 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 b$muU9;@@)p`~2JgIQEbKyxjgA_t*aeWB-ER literal 0 HcmV?d00001 diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff new file mode 100644 index 0000000000000000000000000000000000000000..65f1d331a0c308a5517c4f2632ad4b9a6e8ac4e4 GIT binary patch literal 104252 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 MY+}w2chO^vV8tzjbY@8?OBy>_T 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/g, '>').replace(/"/g, '"') : html; + } + + /* SECURITY ***************************************/ + abp.security = abp.security || {}; + abp.security.antiForgery = abp.security.antiForgery || {}; + + abp.security.antiForgery.tokenCookieName = 'XSRF-TOKEN'; + abp.security.antiForgery.tokenHeaderName = 'RequestVerificationToken'; + + abp.security.antiForgery.getToken = function () { + return abp.utils.getCookieValue(abp.security.antiForgery.tokenCookieName); + }; + + /* CLOCK *****************************************/ + abp.clock = abp.clock || {}; + + abp.clock.kind = 'Unspecified'; + + abp.clock.supportsMultipleTimezone = function () { + return abp.clock.kind === 'Utc'; + }; + + var toLocal = function (date) { + return new Date( + date.getFullYear(), + date.getMonth(), + date.getDate(), + date.getHours(), + date.getMinutes(), + date.getSeconds(), + date.getMilliseconds() + ); + }; + + var toUtc = function (date) { + return Date.UTC( + date.getUTCFullYear(), + date.getUTCMonth(), + date.getUTCDate(), + date.getUTCHours(), + date.getUTCMinutes(), + date.getUTCSeconds(), + date.getUTCMilliseconds() + ); + }; + + abp.clock.now = function () { + if (abp.clock.kind === 'Utc') { + return toUtc(new Date()); + } + return new Date(); + }; + + abp.clock.normalize = function (date) { + var kind = abp.clock.kind; + + if (kind === 'Unspecified') { + return date; + } + + if (kind === 'Local') { + return toLocal(date); + } + + if (kind === 'Utc') { + return toUtc(date); + } + }; + + /* FEATURES *************************************************/ + + abp.features = abp.features || {}; + + abp.features.values = abp.features.values || {}; + + abp.features.isEnabled = function(name){ + var value = abp.features.get(name); + return value == 'true' || value == 'True'; + } + + abp.features.get = function (name) { + return abp.features.values[name]; + }; + +})(); diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/jquery/abp.jquery.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/jquery/abp.jquery.js new file mode 100644 index 0000000..81ebf1e --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/jquery/abp.jquery.js @@ -0,0 +1,404 @@ +var abp = abp || {}; +(function($) { + + if (!$) { + throw "abp/jquery library requires the jquery library included to the page!"; + } + + // ABP CORE OVERRIDES ///////////////////////////////////////////////////// + + abp.message._showMessage = function (message, title) { + alert((title || '') + ' ' + message); + + return $.Deferred(function ($dfd) { + $dfd.resolve(); + }); + }; + + abp.message.confirm = function (message, titleOrCallback, callback) { + if (titleOrCallback && !(typeof titleOrCallback == 'string')) { + callback = titleOrCallback; + } + + var result = confirm(message); + callback && callback(result); + + return $.Deferred(function ($dfd) { + $dfd.resolve(result); + }); + }; + + abp.utils.isFunction = function (obj) { + return $.isFunction(obj); + }; + + // JQUERY EXTENSIONS ////////////////////////////////////////////////////// + + $.fn.findWithSelf = function (selector) { + return this.filter(selector).add(this.find(selector)); + }; + + // DOM //////////////////////////////////////////////////////////////////// + + abp.dom = abp.dom || {}; + + abp.dom.onNodeAdded = function (callback) { + abp.event.on('abp.dom.nodeAdded', callback); + }; + + abp.dom.onNodeRemoved = function (callback) { + abp.event.on('abp.dom.nodeRemoved', callback); + }; + + var mutationObserverCallback = function (mutationsList) { + for (var i = 0; i < mutationsList.length; i++) { + var mutation = mutationsList[i]; + if (mutation.type === 'childList') { + if (mutation.addedNodes && mutation.removedNodes.length) { + for (var k = 0; k < mutation.removedNodes.length; k++) { + abp.event.trigger( + 'abp.dom.nodeRemoved', + { + $el: $(mutation.removedNodes[k]) + } + ); + } + } + + if (mutation.addedNodes && mutation.addedNodes.length) { + for (var j = 0; j < mutation.addedNodes.length; j++) { + abp.event.trigger( + 'abp.dom.nodeAdded', + { + $el: $(mutation.addedNodes[j]) + } + ); + } + } + } + } + }; + + $(function(){ + new MutationObserver(mutationObserverCallback).observe( + $('body')[0], + { + subtree: true, + childList: true + } + ); + }); + + // AJAX /////////////////////////////////////////////////////////////////// + + abp.ajax = function (userOptions) { + userOptions = userOptions || {}; + + var options = $.extend(true, {}, abp.ajax.defaultOpts, userOptions); + + options.success = undefined; + options.error = undefined; + + var xhr = null; + var promise = $.Deferred(function ($dfd) { + xhr = $.ajax(options) + .done(function (data, textStatus, jqXHR) { + $dfd.resolve(data); + userOptions.success && userOptions.success(data); + }).fail(function (jqXHR) { + if(jqXHR.statusText === 'abort') { + //ajax request is abort, ignore error handle. + return; + } + if (jqXHR.getResponseHeader('_AbpErrorFormat') === 'true') { + abp.ajax.handleAbpErrorResponse(jqXHR, userOptions, $dfd); + } else { + abp.ajax.handleNonAbpErrorResponse(jqXHR, userOptions, $dfd); + } + }); + }).promise(); + + promise['jqXHR'] = xhr; + + return promise; + }; + + $.extend(abp.ajax, { + defaultOpts: { + dataType: 'json', + type: 'POST', + contentType: 'application/json', + headers: { + 'X-Requested-With': 'XMLHttpRequest' + } + }, + + defaultError: { + message: 'An error has occurred!', + details: 'Error detail not sent by server.' + }, + + defaultError401: { + message: 'You are not authenticated!', + details: 'You should be authenticated (sign in) in order to perform this operation.' + }, + + defaultError403: { + message: 'You are not authorized!', + details: 'You are not allowed to perform this operation.' + }, + + defaultError404: { + message: 'Resource not found!', + details: 'The resource requested could not found on the server.' + }, + + logError: function (error) { + abp.log.error(error); + }, + + showError: function (error) { + if (error.details) { + return abp.message.error(error.details, error.message); + } else { + return abp.message.error(error.message || abp.ajax.defaultError.message); + } + }, + + handleTargetUrl: function (targetUrl) { + if (!targetUrl) { + location.href = abp.appPath; + } else { + location.href = targetUrl; + } + }, + + handleErrorStatusCode: function (status) { + switch (status) { + case 401: + abp.ajax.handleUnAuthorizedRequest( + abp.ajax.showError(abp.ajax.defaultError401), + abp.appPath + ); + break; + case 403: + abp.ajax.showError(abp.ajax.defaultError403); + break; + case 404: + abp.ajax.showError(abp.ajax.defaultError404); + break; + default: + abp.ajax.showError(abp.ajax.defaultError); + break; + } + }, + + handleNonAbpErrorResponse: function (jqXHR, userOptions, $dfd) { + if (userOptions.abpHandleError !== false) { + abp.ajax.handleErrorStatusCode(jqXHR.status); + } + + $dfd.reject.apply(this, arguments); + userOptions.error && userOptions.error.apply(this, arguments); + }, + + handleAbpErrorResponse: function (jqXHR, userOptions, $dfd) { + var messagePromise = null; + + if (userOptions.abpHandleError !== false) { + messagePromise = abp.ajax.showError(jqXHR.responseJSON.error); + } + + abp.ajax.logError(jqXHR.responseJSON.error); + + $dfd && $dfd.reject(jqXHR.responseJSON.error, jqXHR); + userOptions.error && userOptions.error(jqXHR.responseJSON.error, jqXHR); + + if (jqXHR.status === 401 && userOptions.abpHandleError !== false) { + abp.ajax.handleUnAuthorizedRequest(messagePromise); + } + }, + + handleUnAuthorizedRequest: function (messagePromise, targetUrl) { + if (messagePromise) { + messagePromise.done(function () { + abp.ajax.handleTargetUrl(targetUrl); + }); + } else { + abp.ajax.handleTargetUrl(targetUrl); + } + }, + + blockUI: function (options) { + if (options.blockUI) { + if (options.blockUI === true) { //block whole page + abp.ui.setBusy(); + } else { //block an element + abp.ui.setBusy(options.blockUI); + } + } + }, + + unblockUI: function (options) { + if (options.blockUI) { + if (options.blockUI === true) { //unblock whole page + abp.ui.clearBusy(); + } else { //unblock an element + abp.ui.clearBusy(options.blockUI); + } + } + }, + + ajaxSendHandler: function (event, request, settings) { + var token = abp.security.antiForgery.getToken(); + if (!token) { + return; + } + + if (!settings.headers || settings.headers[abp.security.antiForgery.tokenHeaderName] === undefined) { + request.setRequestHeader(abp.security.antiForgery.tokenHeaderName, token); + } + } + }); + + $(document).ajaxSend(function (event, request, settings) { + return abp.ajax.ajaxSendHandler(event, request, settings); + }); + + abp.event.on('abp.configurationInitialized', function () { + var l = abp.localization.getResource('AbpUi'); + + abp.ajax.defaultError.message = l('DefaultErrorMessage'); + abp.ajax.defaultError.details = l('DefaultErrorMessageDetail'); + abp.ajax.defaultError401.message = l('DefaultErrorMessage401'); + abp.ajax.defaultError401.details = l('DefaultErrorMessage401Detail'); + abp.ajax.defaultError403.message = l('DefaultErrorMessage403'); + abp.ajax.defaultError403.details = l('DefaultErrorMessage403Detail'); + abp.ajax.defaultError404.message = l('DefaultErrorMessage404'); + abp.ajax.defaultError404.details = l('DefaultErrorMessage404Detail'); + }); + + // RESOURCE LOADER //////////////////////////////////////////////////////// + + /* UrlStates enum */ + var UrlStates = { + LOADING: 'LOADING', + LOADED: 'LOADED', + FAILED: 'FAILED' + }; + + /* UrlInfo class */ + function UrlInfo(url) { + this.url = url; + this.state = UrlStates.LOADING; + this.loadCallbacks = []; + this.failCallbacks = []; + } + + UrlInfo.prototype.succeed = function () { + this.state = UrlStates.LOADED; + for (var i = 0; i < this.loadCallbacks.length; i++) { + this.loadCallbacks[i](); + } + }; + + UrlInfo.prototype.failed = function () { + this.state = UrlStates.FAILED; + for (var i = 0; i < this.failCallbacks.length; i++) { + this.failCallbacks[i](); + } + }; + + UrlInfo.prototype.handleCallbacks = function (loadCallback, failCallback) { + switch (this.state) { + case UrlStates.LOADED: + loadCallback && loadCallback(); + break; + case UrlStates.FAILED: + failCallback && failCallback(); + break; + case UrlStates.LOADING: + this.addCallbacks(loadCallback, failCallback); + break; + } + }; + + UrlInfo.prototype.addCallbacks = function (loadCallback, failCallback) { + loadCallback && this.loadCallbacks.push(loadCallback); + failCallback && this.failCallbacks.push(failCallback); + }; + + /* ResourceLoader API */ + + abp.ResourceLoader = (function () { + + var _urlInfos = {}; + + function getCacheKey(url) { + return url; + } + + function appendTimeToUrl(url) { + + if (url.indexOf('?') < 0) { + url += '?'; + } else { + url += '&'; + } + + url += '_=' + new Date().getTime(); + + return url; + } + + var _loadFromUrl = function (url, loadCallback, failCallback, serverLoader) { + + var cacheKey = getCacheKey(url); + + var urlInfo = _urlInfos[cacheKey]; + + if (urlInfo) { + urlInfo.handleCallbacks(loadCallback, failCallback); + return; + } + + _urlInfos[cacheKey] = urlInfo = new UrlInfo(url); + urlInfo.addCallbacks(loadCallback, failCallback); + + serverLoader(urlInfo); + }; + + var _loadScript = function (url, loadCallback, failCallback) { + _loadFromUrl(url, loadCallback, failCallback, function (urlInfo) { + $.get({ + url: url, + dataType: 'text' + }) + .done(function (script) { + $.globalEval(script); + urlInfo.succeed(); + }) + .fail(function () { + urlInfo.failed(); + }); + }); + }; + + var _loadStyle = function (url) { + _loadFromUrl(url, undefined, undefined, function (urlInfo) { + + $('', { + rel: 'stylesheet', + type: 'text/css', + href: appendTimeToUrl(url) + }).appendTo('head'); + }); + }; + + return { + loadScript: _loadScript, + loadStyle: _loadStyle + } + })(); + +})(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/luxon/abp.luxon.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/luxon/abp.luxon.js new file mode 100644 index 0000000..b04de7c --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/luxon/abp.luxon.js @@ -0,0 +1,46 @@ +var abp = abp || {}; +(function () { + + if (!luxon) { + throw "abp/luxon library requires the luxon library included to the page!"; + } + + /* TIMING *************************************************/ + + abp.timing = abp.timing || {}; + + var setObjectValue = function (obj, property, value) { + if (typeof property === "string") { + property = property.split('.'); + } + + if (property.length > 1) { + var p = property.shift(); + setObjectValue(obj[p], property, value); + } else { + obj[property[0]] = value; + } + } + + var getObjectValue = function (obj, property) { + return property.split('.').reduce((a, v) => a[v], obj) + } + + abp.timing.convertFieldsToIsoDate = function (form, fields) { + for (var field of fields) { + var dateTime = luxon.DateTime + .fromFormat( + getObjectValue(form, field), + abp.localization.currentCulture.dateTimeFormat.shortDatePattern, + {locale: abp.localization.currentCulture.cultureName} + ); + + if (!dateTime.invalid) { + setObjectValue(form, field, dateTime.toFormat("yyyy-MM-dd HH:mm:ss")) + } + } + + return form; + } + +})(jQuery); diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.js new file mode 100644 index 0000000..28ebcc3 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.js @@ -0,0 +1,694 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('just-compare')) : + typeof define === 'function' && define.amd ? define('@abp/utils', ['exports', 'just-compare'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.utils = global.abp.utils || {}, global.abp.utils.common = {}), global.compare)); +}(this, (function (exports, compare) { 'use strict'; + + compare = compare && Object.prototype.hasOwnProperty.call(compare, 'default') ? compare['default'] : compare; + + /*! ***************************************************************************** + 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. + ***************************************************************************** */ + /* global Reflect, Promise */ + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) + if (b.hasOwnProperty(p)) + d[p] = b[p]; }; + return extendStatics(d, b); + }; + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + var __assign = function () { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + function __rest(s, e) { + var t = {}; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key, desc); + else + for (var i = decorators.length - 1; i >= 0; i--) + if (d = decorators[i]) + r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); }; + } + function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); + } + function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { + step(generator.next(value)); + } + catch (e) { + reject(e); + } } + function rejected(value) { try { + step(generator["throw"](value)); + } + catch (e) { + reject(e); + } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + function __generator(thisArg, body) { + var _ = { label: 0, sent: function () { if (t[0] & 1) + throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) + throw new TypeError("Generator is already executing."); + while (_) + try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) + return t; + if (y = 0, t) + op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) + _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } + catch (e) { + op = [6, e]; + y = 0; + } + finally { + f = t = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + } + var __createBinding = Object.create ? (function (o, m, k, k2) { + if (k2 === undefined) + k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } }); + }) : (function (o, m, k, k2) { + if (k2 === undefined) + k2 = k; + o[k2] = m[k]; + }); + function __exportStar(m, exports) { + for (var p in m) + if (p !== "default" && !exports.hasOwnProperty(p)) + __createBinding(exports, m, p); + } + function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) + return m.call(o); + if (o && typeof o.length === "number") + return { + next: function () { + if (o && i >= o.length) + o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + } + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) + return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) + ar.push(r.value); + } + catch (error) { + e = { error: error }; + } + finally { + try { + if (r && !r.done && (m = i["return"])) + m.call(i); + } + finally { + if (e) + throw e.error; + } + } + return ar; + } + function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + } + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) + s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + } + ; + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) + i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { + step(g[n](v)); + } + catch (e) { + settle(q[0][3], e); + } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) + resume(q[0][0], q[0][1]); } + } + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + } + function __asyncValues(o) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); } + } + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } + else { + cooked.raw = raw; + } + return cooked; + } + ; + var __setModuleDefault = Object.create ? (function (o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function (o, v) { + o["default"] = v; + }; + function __importStar(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) + for (var k in mod) + if (Object.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; + } + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; + } + function __classPrivateFieldGet(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + return privateMap.get(receiver); + } + function __classPrivateFieldSet(receiver, privateMap, value) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + privateMap.set(receiver, value); + return value; + } + + var ListNode = /** @class */ (function () { + function ListNode(value) { + this.value = value; + } + return ListNode; + }()); + var LinkedList = /** @class */ (function () { + function LinkedList() { + this.size = 0; + } + Object.defineProperty(LinkedList.prototype, "head", { + get: function () { + return this.first; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(LinkedList.prototype, "tail", { + get: function () { + return this.last; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(LinkedList.prototype, "length", { + get: function () { + return this.size; + }, + enumerable: false, + configurable: true + }); + LinkedList.prototype.attach = function (value, previousNode, nextNode) { + if (!previousNode) + return this.addHead(value); + if (!nextNode) + return this.addTail(value); + var node = new ListNode(value); + node.previous = previousNode; + previousNode.next = node; + node.next = nextNode; + nextNode.previous = node; + this.size++; + return node; + }; + LinkedList.prototype.attachMany = function (values, previousNode, nextNode) { + if (!values.length) + return []; + if (!previousNode) + return this.addManyHead(values); + if (!nextNode) + return this.addManyTail(values); + var list = new LinkedList(); + list.addManyTail(values); + list.first.previous = previousNode; + previousNode.next = list.first; + list.last.next = nextNode; + nextNode.previous = list.last; + this.size += values.length; + return list.toNodeArray(); + }; + LinkedList.prototype.detach = function (node) { + if (!node.previous) + return this.dropHead(); + if (!node.next) + return this.dropTail(); + node.previous.next = node.next; + node.next.previous = node.previous; + this.size--; + return node; + }; + LinkedList.prototype.add = function (value) { + var _this = this; + return { + after: function () { + var _a; + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return (_a = _this.addAfter).call.apply(_a, __spread([_this, value], params)); + }, + before: function () { + var _a; + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return (_a = _this.addBefore).call.apply(_a, __spread([_this, value], params)); + }, + byIndex: function (position) { return _this.addByIndex(value, position); }, + head: function () { return _this.addHead(value); }, + tail: function () { return _this.addTail(value); }, + }; + }; + LinkedList.prototype.addMany = function (values) { + var _this = this; + return { + after: function () { + var _a; + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return (_a = _this.addManyAfter).call.apply(_a, __spread([_this, values], params)); + }, + before: function () { + var _a; + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return (_a = _this.addManyBefore).call.apply(_a, __spread([_this, values], params)); + }, + byIndex: function (position) { return _this.addManyByIndex(values, position); }, + head: function () { return _this.addManyHead(values); }, + tail: function () { return _this.addManyTail(values); }, + }; + }; + LinkedList.prototype.addAfter = function (value, previousValue, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var previous = this.find(function (node) { return compareFn(node.value, previousValue); }); + return previous ? this.attach(value, previous, previous.next) : this.addTail(value); + }; + LinkedList.prototype.addBefore = function (value, nextValue, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var next = this.find(function (node) { return compareFn(node.value, nextValue); }); + return next ? this.attach(value, next.previous, next) : this.addHead(value); + }; + LinkedList.prototype.addByIndex = function (value, position) { + if (position < 0) + position += this.size; + else if (position >= this.size) + return this.addTail(value); + if (position <= 0) + return this.addHead(value); + var next = this.get(position); + return this.attach(value, next.previous, next); + }; + LinkedList.prototype.addHead = function (value) { + var node = new ListNode(value); + node.next = this.first; + if (this.first) + this.first.previous = node; + else + this.last = node; + this.first = node; + this.size++; + return node; + }; + LinkedList.prototype.addTail = function (value) { + var node = new ListNode(value); + if (this.first) { + node.previous = this.last; + this.last.next = node; + this.last = node; + } + else { + this.first = node; + this.last = node; + } + this.size++; + return node; + }; + LinkedList.prototype.addManyAfter = function (values, previousValue, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var previous = this.find(function (node) { return compareFn(node.value, previousValue); }); + return previous ? this.attachMany(values, previous, previous.next) : this.addManyTail(values); + }; + LinkedList.prototype.addManyBefore = function (values, nextValue, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var next = this.find(function (node) { return compareFn(node.value, nextValue); }); + return next ? this.attachMany(values, next.previous, next) : this.addManyHead(values); + }; + LinkedList.prototype.addManyByIndex = function (values, position) { + if (position < 0) + position += this.size; + if (position <= 0) + return this.addManyHead(values); + if (position >= this.size) + return this.addManyTail(values); + var next = this.get(position); + return this.attachMany(values, next.previous, next); + }; + LinkedList.prototype.addManyHead = function (values) { + var _this = this; + return values.reduceRight(function (nodes, value) { + nodes.unshift(_this.addHead(value)); + return nodes; + }, []); + }; + LinkedList.prototype.addManyTail = function (values) { + var _this = this; + return values.map(function (value) { return _this.addTail(value); }); + }; + LinkedList.prototype.drop = function () { + var _this = this; + return { + byIndex: function (position) { return _this.dropByIndex(position); }, + byValue: function () { + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return _this.dropByValue.apply(_this, params); + }, + byValueAll: function () { + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return _this.dropByValueAll.apply(_this, params); + }, + head: function () { return _this.dropHead(); }, + tail: function () { return _this.dropTail(); }, + }; + }; + LinkedList.prototype.dropMany = function (count) { + var _this = this; + return { + byIndex: function (position) { return _this.dropManyByIndex(count, position); }, + head: function () { return _this.dropManyHead(count); }, + tail: function () { return _this.dropManyTail(count); }, + }; + }; + LinkedList.prototype.dropByIndex = function (position) { + if (position < 0) + position += this.size; + var current = this.get(position); + return current ? this.detach(current) : undefined; + }; + LinkedList.prototype.dropByValue = function (value, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var position = this.findIndex(function (node) { return compareFn(node.value, value); }); + return position < 0 ? undefined : this.dropByIndex(position); + }; + LinkedList.prototype.dropByValueAll = function (value, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var dropped = []; + for (var current = this.first, position = 0; current; position++, current = current.next) { + if (compareFn(current.value, value)) { + dropped.push(this.dropByIndex(position - dropped.length)); + } + } + return dropped; + }; + LinkedList.prototype.dropHead = function () { + var head = this.first; + if (head) { + this.first = head.next; + if (this.first) + this.first.previous = undefined; + else + this.last = undefined; + this.size--; + return head; + } + return undefined; + }; + LinkedList.prototype.dropTail = function () { + var tail = this.last; + if (tail) { + this.last = tail.previous; + if (this.last) + this.last.next = undefined; + else + this.first = undefined; + this.size--; + return tail; + } + return undefined; + }; + LinkedList.prototype.dropManyByIndex = function (count, position) { + if (count <= 0) + return []; + if (position < 0) + position = Math.max(position + this.size, 0); + else if (position >= this.size) + return []; + count = Math.min(count, this.size - position); + var dropped = []; + while (count--) { + var current = this.get(position); + dropped.push(this.detach(current)); + } + return dropped; + }; + LinkedList.prototype.dropManyHead = function (count) { + if (count <= 0) + return []; + count = Math.min(count, this.size); + var dropped = []; + while (count--) + dropped.unshift(this.dropHead()); + return dropped; + }; + LinkedList.prototype.dropManyTail = function (count) { + if (count <= 0) + return []; + count = Math.min(count, this.size); + var dropped = []; + while (count--) + dropped.push(this.dropTail()); + return dropped; + }; + LinkedList.prototype.find = function (predicate) { + for (var current = this.first, position = 0; current; position++, current = current.next) { + if (predicate(current, position, this)) + return current; + } + return undefined; + }; + LinkedList.prototype.findIndex = function (predicate) { + for (var current = this.first, position = 0; current; position++, current = current.next) { + if (predicate(current, position, this)) + return position; + } + return -1; + }; + LinkedList.prototype.forEach = function (iteratorFn) { + for (var node = this.first, position = 0; node; position++, node = node.next) { + iteratorFn(node, position, this); + } + }; + LinkedList.prototype.get = function (position) { + return this.find(function (_, index) { return position === index; }); + }; + LinkedList.prototype.indexOf = function (value, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + return this.findIndex(function (node) { return compareFn(node.value, value); }); + }; + LinkedList.prototype.toArray = function () { + var array = new Array(this.size); + this.forEach(function (node, index) { return (array[index] = node.value); }); + return array; + }; + LinkedList.prototype.toNodeArray = function () { + var array = new Array(this.size); + this.forEach(function (node, index) { return (array[index] = node); }); + return array; + }; + LinkedList.prototype.toString = function (mapperFn) { + if (mapperFn === void 0) { mapperFn = JSON.stringify; } + return this.toArray() + .map(function (value) { return mapperFn(value); }) + .join(' <-> '); + }; + // Cannot use Generator type because of ng-packagr + LinkedList.prototype[Symbol.iterator] = function () { + var node, position; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + node = this.first, position = 0; + _a.label = 1; + case 1: + if (!node) return [3 /*break*/, 4]; + return [4 /*yield*/, node.value]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + position++, node = node.next; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }; + return LinkedList; + }()); + + /* + * Public API Surface of utils + */ + + /** + * Generated bundle index. Do not edit. + */ + + exports.LinkedList = LinkedList; + exports.ListNode = ListNode; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); +//# sourceMappingURL=abp-utils.umd.js.map diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.js.map b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.js.map new file mode 100644 index 0000000..2c5d45d --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abp-utils.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../projects/utils/src/lib/linked-list.ts","../../projects/utils/src/public-api.ts","../../projects/utils/src/abp-utils.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/* tslint:disable:no-non-null-assertion */\n\nimport compare from 'just-compare';\n\nexport class ListNode {\n next: ListNode | undefined;\n previous: ListNode | undefined;\n constructor(public readonly value: T) {}\n}\n\nexport class LinkedList {\n private first: ListNode | undefined;\n private last: ListNode | undefined;\n private size = 0;\n\n get head(): ListNode | undefined {\n return this.first;\n }\n get tail(): ListNode | undefined {\n return this.last;\n }\n get length(): number {\n return this.size;\n }\n\n private attach(\n value: T,\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode {\n if (!previousNode) return this.addHead(value);\n\n if (!nextNode) return this.addTail(value);\n\n const node = new ListNode(value);\n node.previous = previousNode;\n previousNode.next = node;\n node.next = nextNode;\n nextNode.previous = node;\n\n this.size++;\n\n return node;\n }\n\n private attachMany(\n values: T[],\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode[] {\n if (!values.length) return [];\n\n if (!previousNode) return this.addManyHead(values);\n\n if (!nextNode) return this.addManyTail(values);\n\n const list = new LinkedList();\n list.addManyTail(values);\n list.first!.previous = previousNode;\n previousNode.next = list.first;\n list.last!.next = nextNode;\n nextNode.previous = list.last;\n\n this.size += values.length;\n\n return list.toNodeArray();\n }\n\n private detach(node: ListNode) {\n if (!node.previous) return this.dropHead();\n\n if (!node.next) return this.dropTail();\n\n node.previous.next = node.next;\n node.next.previous = node.previous;\n\n this.size--;\n\n return node;\n }\n\n add(value: T) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addAfter.call(this, value, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addBefore.call(this, value, ...params),\n byIndex: (position: number) => this.addByIndex(value, position),\n head: () => this.addHead(value),\n tail: () => this.addTail(value),\n };\n }\n\n addMany(values: T[]) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyAfter.call(this, values, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyBefore.call(this, values, ...params),\n byIndex: (position: number) => this.addManyByIndex(values, position),\n head: () => this.addManyHead(values),\n tail: () => this.addManyTail(values),\n };\n }\n\n addAfter(value: T, previousValue: T): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attach(value, previous, previous.next) : this.addTail(value);\n }\n\n addBefore(value: T, nextValue: T): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attach(value, next.previous, next) : this.addHead(value);\n }\n\n addByIndex(value: T, position: number): ListNode {\n if (position < 0) position += this.size;\n else if (position >= this.size) return this.addTail(value);\n\n if (position <= 0) return this.addHead(value);\n\n const next = this.get(position)!;\n\n return this.attach(value, next.previous, next);\n }\n\n addHead(value: T): ListNode {\n const node = new ListNode(value);\n\n node.next = this.first;\n\n if (this.first) this.first.previous = node;\n else this.last = node;\n\n this.first = node;\n this.size++;\n\n return node;\n }\n\n addTail(value: T): ListNode {\n const node = new ListNode(value);\n\n if (this.first) {\n node.previous = this.last;\n this.last!.next = node;\n this.last = node;\n } else {\n this.first = node;\n this.last = node;\n }\n\n this.size++;\n\n return node;\n }\n\n addManyAfter(values: T[], previousValue: T): ListNode[];\n addManyAfter(values: T[], previousValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyAfter(\n values: T[],\n previousValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attachMany(values, previous, previous.next) : this.addManyTail(values);\n }\n\n addManyBefore(values: T[], nextValue: T): ListNode[];\n addManyBefore(values: T[], nextValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyBefore(\n values: T[],\n nextValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attachMany(values, next.previous, next) : this.addManyHead(values);\n }\n\n addManyByIndex(values: T[], position: number): ListNode[] {\n if (position < 0) position += this.size;\n\n if (position <= 0) return this.addManyHead(values);\n\n if (position >= this.size) return this.addManyTail(values);\n\n const next = this.get(position)!;\n\n return this.attachMany(values, next.previous, next);\n }\n\n addManyHead(values: T[]): ListNode[] {\n return values.reduceRight[]>((nodes, value) => {\n nodes.unshift(this.addHead(value));\n return nodes;\n }, []);\n }\n\n addManyTail(values: T[]): ListNode[] {\n return values.map(value => this.addTail(value));\n }\n\n drop() {\n return {\n byIndex: (position: number) => this.dropByIndex(position),\n byValue: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValue.apply(this, params),\n byValueAll: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValueAll.apply(this, params),\n head: () => this.dropHead(),\n tail: () => this.dropTail(),\n };\n }\n\n dropMany(count: number) {\n return {\n byIndex: (position: number) => this.dropManyByIndex(count, position),\n head: () => this.dropManyHead(count),\n tail: () => this.dropManyTail(count),\n };\n }\n\n dropByIndex(position: number): ListNode | undefined {\n if (position < 0) position += this.size;\n\n const current = this.get(position);\n\n return current ? this.detach(current) : undefined;\n }\n\n dropByValue(value: T): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn = compare): ListNode | undefined {\n const position = this.findIndex(node => compareFn(node.value, value));\n\n return position < 0 ? undefined : this.dropByIndex(position);\n }\n\n dropByValueAll(value: T): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn = compare): ListNode[] {\n const dropped: ListNode[] = [];\n\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (compareFn(current.value, value)) {\n dropped.push(this.dropByIndex(position - dropped.length)!);\n }\n }\n\n return dropped;\n }\n\n dropHead(): ListNode | undefined {\n const head = this.first;\n\n if (head) {\n this.first = head.next;\n\n if (this.first) this.first.previous = undefined;\n else this.last = undefined;\n\n this.size--;\n\n return head;\n }\n\n return undefined;\n }\n\n dropTail(): ListNode | undefined {\n const tail = this.last;\n\n if (tail) {\n this.last = tail.previous;\n\n if (this.last) this.last.next = undefined;\n else this.first = undefined;\n\n this.size--;\n\n return tail;\n }\n\n return undefined;\n }\n\n dropManyByIndex(count: number, position: number): ListNode[] {\n if (count <= 0) return [];\n\n if (position < 0) position = Math.max(position + this.size, 0);\n else if (position >= this.size) return [];\n\n count = Math.min(count, this.size - position);\n\n const dropped: ListNode[] = [];\n\n while (count--) {\n const current = this.get(position);\n dropped.push(this.detach(current!)!);\n }\n\n return dropped;\n }\n\n dropManyHead(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.unshift(this.dropHead()!);\n\n return dropped;\n }\n\n dropManyTail(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.push(this.dropTail()!);\n\n return dropped;\n }\n\n find(predicate: ListIteratorFn): ListNode | undefined {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return current;\n }\n\n return undefined;\n }\n\n findIndex(predicate: ListIteratorFn): number {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return position;\n }\n\n return -1;\n }\n\n forEach(iteratorFn: ListIteratorFn) {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n iteratorFn(node, position, this);\n }\n }\n\n get(position: number): ListNode | undefined {\n return this.find((_, index) => position === index);\n }\n\n indexOf(value: T): number;\n indexOf(value: any, compareFn: ListComparisonFn): number;\n indexOf(value: any, compareFn: ListComparisonFn = compare): number {\n return this.findIndex(node => compareFn(node.value, value));\n }\n\n toArray(): T[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node.value));\n\n return array;\n }\n\n toNodeArray(): ListNode[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node));\n\n return array;\n }\n\n toString(mapperFn: ListMapperFn = JSON.stringify): string {\n return this.toArray()\n .map(value => mapperFn(value))\n .join(' <-> ');\n }\n\n // Cannot use Generator type because of ng-packagr\n *[Symbol.iterator](): any {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n yield node.value;\n }\n }\n}\n\nexport type ListMapperFn = (value: T) => any;\n\nexport type ListComparisonFn = (value1: T, value2: any) => boolean;\n\nexport type ListIteratorFn = (\n node: ListNode,\n index?: number,\n list?: LinkedList,\n) => R;\n","/*\n * Public API Surface of utils\n */\n\nexport * from './lib/linked-list';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.min.js new file mode 100644 index 0000000..57b22e5 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.min.js @@ -0,0 +1,2 @@ +!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("just-compare")):"function"==typeof define&&define.amd?define("@abp/utils",["exports","just-compare"],r):r(((t=t||self).abp=t.abp||{},t.abp.utils=t.abp.utils||{},t.abp.utils.common={}),t.compare)}(this,(function(t,r){"use strict";r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r;function e(t,r){var e,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;a;)try{if(e=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return a}function i(){for(var t=[],r=0;r=this.size)return this.addTail(t);if(r<=0)return this.addHead(t);var e=this.get(r);return this.attach(t,e.previous,e)},t.prototype.addHead=function(t){var r=new o(t);return r.next=this.first,this.first?this.first.previous=r:this.last=r,this.first=r,this.size++,r},t.prototype.addTail=function(t){var r=new o(t);return this.first?(r.previous=this.last,this.last.next=r,this.last=r):(this.first=r,this.last=r),this.size++,r},t.prototype.addManyAfter=function(t,e,n){void 0===n&&(n=r);var i=this.find((function(t){return n(t.value,e)}));return i?this.attachMany(t,i,i.next):this.addManyTail(t)},t.prototype.addManyBefore=function(t,e,n){void 0===n&&(n=r);var i=this.find((function(t){return n(t.value,e)}));return i?this.attachMany(t,i.previous,i):this.addManyHead(t)},t.prototype.addManyByIndex=function(t,r){if(r<0&&(r+=this.size),r<=0)return this.addManyHead(t);if(r>=this.size)return this.addManyTail(t);var e=this.get(r);return this.attachMany(t,e.previous,e)},t.prototype.addManyHead=function(t){var r=this;return t.reduceRight((function(t,e){return t.unshift(r.addHead(e)),t}),[])},t.prototype.addManyTail=function(t){var r=this;return t.map((function(t){return r.addTail(t)}))},t.prototype.drop=function(){var t=this;return{byIndex:function(r){return t.dropByIndex(r)},byValue:function(){for(var r=[],e=0;e=this.size)return[];t=Math.min(t,this.size-r);for(var e=[];t--;){var n=this.get(r);e.push(this.detach(n))}return e},t.prototype.dropManyHead=function(t){if(t<=0)return[];t=Math.min(t,this.size);for(var r=[];t--;)r.unshift(this.dropHead());return r},t.prototype.dropManyTail=function(t){if(t<=0)return[];t=Math.min(t,this.size);for(var r=[];t--;)r.push(this.dropTail());return r},t.prototype.find=function(t){for(var r=this.first,e=0;r;e++,r=r.next)if(t(r,e,this))return r},t.prototype.findIndex=function(t){for(var r=this.first,e=0;r;e++,r=r.next)if(t(r,e,this))return e;return-1},t.prototype.forEach=function(t){for(var r=this.first,e=0;r;e++,r=r.next)t(r,e,this)},t.prototype.get=function(t){return this.find((function(r,e){return t===e}))},t.prototype.indexOf=function(t,e){return void 0===e&&(e=r),this.findIndex((function(r){return e(r.value,t)}))},t.prototype.toArray=function(){var t=new Array(this.size);return this.forEach((function(r,e){return t[e]=r.value})),t},t.prototype.toNodeArray=function(){var t=new Array(this.size);return this.forEach((function(r,e){return t[e]=r})),t},t.prototype.toString=function(t){return void 0===t&&(t=JSON.stringify),this.toArray().map((function(r){return t(r)})).join(" <-> ")},t.prototype[Symbol.iterator]=function(){var t;return e(this,(function(r){switch(r.label){case 0:t=this.first,0,r.label=1;case 1:return t?[4,t.value]:[3,4];case 2:r.sent(),r.label=3;case 3:return t=t.next,[3,1];case 4:return[2]}}))},t}();t.LinkedList=a,t.ListNode=o,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=abp-utils.umd.min.js.map \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map new file mode 100644 index 0000000..b4e4d3e --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../projects/utils/src/lib/linked-list.ts"],"names":["__generator","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","done","value","pop","length","push","e","step","Object","create","__read","o","m","r","i","ar","error","__spread","arguments","concat","LinkedList","size","defineProperty","prototype","first","last","attach","previousNode","nextNode","addHead","addTail","node","ListNode","previous","attachMany","values","addManyHead","addManyTail","list","toNodeArray","detach","dropTail","dropHead","add","_this","after","params","_i","_a","addAfter","apply","before","addBefore","byIndex","position","addByIndex","head","tail","addMany","addManyAfter","addManyBefore","addManyByIndex","previousValue","compareFn","compare","find","nextValue","get","reduceRight","nodes","unshift","map","drop","dropByIndex","byValue","dropByValue","byValueAll","dropByValueAll","dropMany","count","dropManyByIndex","dropManyHead","dropManyTail","current","undefined","findIndex","dropped","Math","max","min","predicate","forEach","iteratorFn","index","indexOf","toArray","array","Array","toString","mapperFn","JSON","stringify","join"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/* tslint:disable:no-non-null-assertion */\n\nimport compare from 'just-compare';\n\nexport class ListNode {\n next: ListNode | undefined;\n previous: ListNode | undefined;\n constructor(public readonly value: T) {}\n}\n\nexport class LinkedList {\n private first: ListNode | undefined;\n private last: ListNode | undefined;\n private size = 0;\n\n get head(): ListNode | undefined {\n return this.first;\n }\n get tail(): ListNode | undefined {\n return this.last;\n }\n get length(): number {\n return this.size;\n }\n\n private attach(\n value: T,\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode {\n if (!previousNode) return this.addHead(value);\n\n if (!nextNode) return this.addTail(value);\n\n const node = new ListNode(value);\n node.previous = previousNode;\n previousNode.next = node;\n node.next = nextNode;\n nextNode.previous = node;\n\n this.size++;\n\n return node;\n }\n\n private attachMany(\n values: T[],\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode[] {\n if (!values.length) return [];\n\n if (!previousNode) return this.addManyHead(values);\n\n if (!nextNode) return this.addManyTail(values);\n\n const list = new LinkedList();\n list.addManyTail(values);\n list.first!.previous = previousNode;\n previousNode.next = list.first;\n list.last!.next = nextNode;\n nextNode.previous = list.last;\n\n this.size += values.length;\n\n return list.toNodeArray();\n }\n\n private detach(node: ListNode) {\n if (!node.previous) return this.dropHead();\n\n if (!node.next) return this.dropTail();\n\n node.previous.next = node.next;\n node.next.previous = node.previous;\n\n this.size--;\n\n return node;\n }\n\n add(value: T) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addAfter.call(this, value, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addBefore.call(this, value, ...params),\n byIndex: (position: number) => this.addByIndex(value, position),\n head: () => this.addHead(value),\n tail: () => this.addTail(value),\n };\n }\n\n addMany(values: T[]) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyAfter.call(this, values, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyBefore.call(this, values, ...params),\n byIndex: (position: number) => this.addManyByIndex(values, position),\n head: () => this.addManyHead(values),\n tail: () => this.addManyTail(values),\n };\n }\n\n addAfter(value: T, previousValue: T): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attach(value, previous, previous.next) : this.addTail(value);\n }\n\n addBefore(value: T, nextValue: T): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attach(value, next.previous, next) : this.addHead(value);\n }\n\n addByIndex(value: T, position: number): ListNode {\n if (position < 0) position += this.size;\n else if (position >= this.size) return this.addTail(value);\n\n if (position <= 0) return this.addHead(value);\n\n const next = this.get(position)!;\n\n return this.attach(value, next.previous, next);\n }\n\n addHead(value: T): ListNode {\n const node = new ListNode(value);\n\n node.next = this.first;\n\n if (this.first) this.first.previous = node;\n else this.last = node;\n\n this.first = node;\n this.size++;\n\n return node;\n }\n\n addTail(value: T): ListNode {\n const node = new ListNode(value);\n\n if (this.first) {\n node.previous = this.last;\n this.last!.next = node;\n this.last = node;\n } else {\n this.first = node;\n this.last = node;\n }\n\n this.size++;\n\n return node;\n }\n\n addManyAfter(values: T[], previousValue: T): ListNode[];\n addManyAfter(values: T[], previousValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyAfter(\n values: T[],\n previousValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attachMany(values, previous, previous.next) : this.addManyTail(values);\n }\n\n addManyBefore(values: T[], nextValue: T): ListNode[];\n addManyBefore(values: T[], nextValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyBefore(\n values: T[],\n nextValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attachMany(values, next.previous, next) : this.addManyHead(values);\n }\n\n addManyByIndex(values: T[], position: number): ListNode[] {\n if (position < 0) position += this.size;\n\n if (position <= 0) return this.addManyHead(values);\n\n if (position >= this.size) return this.addManyTail(values);\n\n const next = this.get(position)!;\n\n return this.attachMany(values, next.previous, next);\n }\n\n addManyHead(values: T[]): ListNode[] {\n return values.reduceRight[]>((nodes, value) => {\n nodes.unshift(this.addHead(value));\n return nodes;\n }, []);\n }\n\n addManyTail(values: T[]): ListNode[] {\n return values.map(value => this.addTail(value));\n }\n\n drop() {\n return {\n byIndex: (position: number) => this.dropByIndex(position),\n byValue: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValue.apply(this, params),\n byValueAll: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValueAll.apply(this, params),\n head: () => this.dropHead(),\n tail: () => this.dropTail(),\n };\n }\n\n dropMany(count: number) {\n return {\n byIndex: (position: number) => this.dropManyByIndex(count, position),\n head: () => this.dropManyHead(count),\n tail: () => this.dropManyTail(count),\n };\n }\n\n dropByIndex(position: number): ListNode | undefined {\n if (position < 0) position += this.size;\n\n const current = this.get(position);\n\n return current ? this.detach(current) : undefined;\n }\n\n dropByValue(value: T): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn = compare): ListNode | undefined {\n const position = this.findIndex(node => compareFn(node.value, value));\n\n return position < 0 ? undefined : this.dropByIndex(position);\n }\n\n dropByValueAll(value: T): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn = compare): ListNode[] {\n const dropped: ListNode[] = [];\n\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (compareFn(current.value, value)) {\n dropped.push(this.dropByIndex(position - dropped.length)!);\n }\n }\n\n return dropped;\n }\n\n dropHead(): ListNode | undefined {\n const head = this.first;\n\n if (head) {\n this.first = head.next;\n\n if (this.first) this.first.previous = undefined;\n else this.last = undefined;\n\n this.size--;\n\n return head;\n }\n\n return undefined;\n }\n\n dropTail(): ListNode | undefined {\n const tail = this.last;\n\n if (tail) {\n this.last = tail.previous;\n\n if (this.last) this.last.next = undefined;\n else this.first = undefined;\n\n this.size--;\n\n return tail;\n }\n\n return undefined;\n }\n\n dropManyByIndex(count: number, position: number): ListNode[] {\n if (count <= 0) return [];\n\n if (position < 0) position = Math.max(position + this.size, 0);\n else if (position >= this.size) return [];\n\n count = Math.min(count, this.size - position);\n\n const dropped: ListNode[] = [];\n\n while (count--) {\n const current = this.get(position);\n dropped.push(this.detach(current!)!);\n }\n\n return dropped;\n }\n\n dropManyHead(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.unshift(this.dropHead()!);\n\n return dropped;\n }\n\n dropManyTail(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.push(this.dropTail()!);\n\n return dropped;\n }\n\n find(predicate: ListIteratorFn): ListNode | undefined {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return current;\n }\n\n return undefined;\n }\n\n findIndex(predicate: ListIteratorFn): number {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return position;\n }\n\n return -1;\n }\n\n forEach(iteratorFn: ListIteratorFn) {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n iteratorFn(node, position, this);\n }\n }\n\n get(position: number): ListNode | undefined {\n return this.find((_, index) => position === index);\n }\n\n indexOf(value: T): number;\n indexOf(value: any, compareFn: ListComparisonFn): number;\n indexOf(value: any, compareFn: ListComparisonFn = compare): number {\n return this.findIndex(node => compareFn(node.value, value));\n }\n\n toArray(): T[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node.value));\n\n return array;\n }\n\n toNodeArray(): ListNode[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node));\n\n return array;\n }\n\n toString(mapperFn: ListMapperFn = JSON.stringify): string {\n return this.toArray()\n .map(value => mapperFn(value))\n .join(' <-> ');\n }\n\n // Cannot use Generator type because of ng-packagr\n *[Symbol.iterator](): any {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n yield node.value;\n }\n }\n}\n\nexport type ListMapperFn = (value: T) => any;\n\nexport type ListComparisonFn = (value1: T, value2: any) => boolean;\n\nexport type ListIteratorFn = (\n node: ListNode,\n index?: number,\n list?: LinkedList,\n) => R;\n"]} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map new file mode 100644 index 0000000..7e08a21 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/datepicker.less","build/build.less"],"names":[],"mappings":"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","sourcesContent":[".datepicker {\n\tpadding: 4px;\n\t.border-radius(@baseBorderRadius);\n\t&-inline {\n\t\twidth: 220px;\n\t}\n\tdirection: ltr;\n\t&-rtl {\n\t\tdirection: rtl;\n\t\t&.dropdown-menu { left: auto; }\n\t\ttable tr td span {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\t&-dropdown {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\t&:before {\n\t\t\tcontent: '';\n\t\t\tdisplay: inline-block;\n\t\t\tborder-left: 7px solid transparent;\n\t\t\tborder-right: 7px solid transparent;\n\t\t\tborder-bottom: 7px solid @grayLight;\n\t\t\tborder-top: 0;\n\t\t\tborder-bottom-color: rgba(0,0,0,.2);\n\t\t\tposition: absolute;\n\t\t}\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tdisplay: inline-block;\n\t\t\tborder-left: 6px solid transparent;\n\t\t\tborder-right: 6px solid transparent;\n\t\t\tborder-bottom: 6px solid @white;\n\t\t\tborder-top: 0;\n\t\t\tposition: absolute;\n\t\t}\n\t\t&.datepicker-orient-left:before { left: 6px; }\n\t\t&.datepicker-orient-left:after { left: 7px; }\n\t\t&.datepicker-orient-right:before { right: 6px; }\n\t\t&.datepicker-orient-right:after { right: 7px; }\n\t\t&.datepicker-orient-bottom:before { top: -7px; }\n\t\t&.datepicker-orient-bottom:after { top: -6px; }\n\t\t&.datepicker-orient-top:before {\n\t\t\tbottom: -7px;\n\t\t\tborder-bottom: 0;\n\t\t\tborder-top: 7px solid @grayLight;\n\t\t}\n\t\t&.datepicker-orient-top:after {\n\t\t\tbottom: -6px;\n\t\t\tborder-bottom: 0;\n\t\t\tborder-top: 6px solid @white;\n\t\t}\n\t}\n\ttable {\n\t\tmargin: 0;\n\t\t-webkit-touch-callout: none;\n\t\t-webkit-user-select: none;\n\t\t-khtml-user-select: none;\n\t\t-moz-user-select: none;\n\t\t-ms-user-select: none;\n\t\tuser-select: none;\n\t}\n\ttd, th {\n\t\ttext-align: center;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\t.border-radius(4px);\n\n\t\tborder: none;\n\t}\n\t// Inline display inside a table presents some problems with\n\t// border and background colors.\n\t.table-striped & table tr {\n\t\ttd, th {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\ttable tr td {\n\t\t&.day:hover,\n\t\t&.day.focused {\n\t\t\tbackground: @grayLighter;\n\t\t\tcursor: pointer;\n\t\t}\n\t\t&.old,\n\t\t&.new {\n\t\t\tcolor: @grayLight;\n\t\t}\n\t\t&.disabled,\n\t\t&.disabled:hover {\n\t\t\tbackground: none;\n\t\t\tcolor: @grayLight;\n\t\t\tcursor: default;\n\t\t}\n\t\t&.highlighted {\n\t\t\tbackground: @infoBackground;\n\t\t\tborder-radius: 0;\n\t\t}\n\t\t&.today,\n\t\t&.today:hover,\n\t\t&.today.disabled,\n\t\t&.today.disabled:hover {\n\t\t\t@todayBackground: lighten(@orange, 30%);\n\t\t\t.buttonBackground(@todayBackground, spin(@todayBackground, 20));\n\t\t\tcolor: #000;\n\t\t}\n\t\t&.today:hover:hover { // Thank bootstrap 2.0 for this selector...\n\t\t\t// TODO: Bump min BS to 2.1, use @textColor in buttonBackground above\n\t\t\tcolor: #000;\n\t\t}\n\t\t&.today.active:hover {\n\t\t\tcolor: #fff;\n\t\t}\n\t\t&.range,\n\t\t&.range:hover,\n\t\t&.range.disabled,\n\t\t&.range.disabled:hover {\n\t\t\tbackground: @grayLighter;\n\t\t\t.border-radius(0);\n\t\t}\n\t\t&.range.today,\n\t\t&.range.today:hover,\n\t\t&.range.today.disabled,\n\t\t&.range.today.disabled:hover {\n\t\t\t@todayBackground: mix(@orange, @grayLighter, 50%);\n\t\t\t.buttonBackground(@todayBackground, spin(@todayBackground, 20));\n\t\t\t.border-radius(0);\n\t\t}\n\t\t&.selected,\n\t\t&.selected:hover,\n\t\t&.selected.disabled,\n\t\t&.selected.disabled:hover {\n\t\t\t.buttonBackground(lighten(@grayLight, 10), darken(@grayLight, 10));\n\t\t\tcolor: #fff;\n\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t}\n\t\t&.active,\n\t\t&.active:hover,\n\t\t&.active.disabled,\n\t\t&.active.disabled:hover {\n\t\t\t.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));\n\t\t\tcolor: #fff;\n\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t}\n\t\tspan {\n\t\t\tdisplay: block;\n\t\t\twidth: 23%;\n\t\t\theight: 54px;\n\t\t\tline-height: 54px;\n\t\t\tfloat: left;\n\t\t\tmargin: 1%;\n\t\t\tcursor: pointer;\n\t\t\t.border-radius(4px);\n\t\t\t&:hover,\n\t\t\t&.focused {\n\t\t\t\tbackground: @grayLighter;\n\t\t\t}\n\t\t\t&.disabled,\n\t\t\t&.disabled:hover {\n\t\t\t\tbackground: none;\n\t\t\t\tcolor: @grayLight;\n\t\t\t\tcursor: default;\n\t\t\t}\n\t\t\t&.active,\n\t\t\t&.active:hover,\n\t\t\t&.active.disabled,\n\t\t\t&.active.disabled:hover {\n\t\t\t\t.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));\n\t\t\t\tcolor: #fff;\n\t\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t\t}\n\t\t\t&.old,\n\t\t\t&.new {\n\t\t\t\tcolor: @grayLight;\n\t\t\t}\n\t\t}\n\t}\n\n\t.datepicker-switch {\n\t\twidth: 145px;\n\t}\n\n\t.datepicker-switch,\n\t.prev,\n\t.next,\n\ttfoot tr th {\n\t\tcursor: pointer;\n\t\t&:hover {\n\t\t\tbackground: @grayLighter;\n\t\t}\n\t}\n\n\t.prev, .next {\n\t\t&.disabled {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\n\t// Basic styling for calendar-week cells\n\t.cw {\n\t\tfont-size: 10px;\n\t\twidth: 12px;\n\t\tpadding: 0 2px 0 5px;\n\t\tvertical-align: middle;\n\t}\n}\n.input-append,\n.input-prepend {\n\t&.date .add-on {\n\t\tcursor: pointer;\n\n\t\ti {\n\t\t\tmargin-top: 3px;\n\t\t}\n\t}\n}\n.input-daterange {\n\tinput {\n\t\ttext-align:center;\n\t}\n\tinput:first-child {\n\t\t.border-radius(3px 0 0 3px);\n\t}\n\tinput:last-child {\n\t\t.border-radius(0 3px 3px 0);\n\t}\n\t.add-on {\n\t\tdisplay: inline-block;\n\t\twidth: auto;\n\t\tmin-width: 16px;\n\t\theight: @baseLineHeight;\n\t\tpadding: 4px 5px;\n\t\tfont-weight: normal;\n\t\tline-height: @baseLineHeight;\n\t\ttext-align: center;\n\t\ttext-shadow: 0 1px 0 @white;\n\t\tvertical-align: middle;\n\t\tbackground-color: @grayLighter;\n\t\tborder: 1px solid #ccc;\n\t\tmargin-left: -5px;\n\t\tmargin-right: -5px;\n\t}\n}\n","// Datepicker .less buildfile. Includes select mixins/variables from bootstrap\n// and imports the included datepicker.less to output a minimal datepicker.css\n//\n// Usage:\n// lessc build.less datepicker.css\n//\n// Variables and mixins copied from bootstrap 2.0.2\n\n// Variables\n@grayLight: #999;\n@grayLighter: #eee;\n@white: #fff;\n@linkColor: #08c;\n@btnPrimaryBackground: @linkColor;\n@orange: #f89406;\n@infoBackground: #d9edf7;\n@baseLineHeight: 18px;\n@baseBorderRadius: 4px;\n\n// Mixins\n\n// Border Radius\n.border-radius(@radius: 5px) {\n -webkit-border-radius: @radius;\n -moz-border-radius: @radius;\n border-radius: @radius;\n}\n\n// Button backgrounds\n.buttonBackground(@startColor, @endColor) {\n .gradientBar(@startColor, @endColor);\n .reset-filter();\n &:hover, &:active, &.active, &.disabled, &[disabled] {\n background-color: @endColor;\n }\n &:active,\n &.active {\n background-color: darken(@endColor, 10%) e(\"\\9\");\n }\n}\n\n// Reset filters for IE\n.reset-filter() {\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n\n// Gradient Bar Colors for buttons and alerts\n.gradientBar(@primaryColor, @secondaryColor) {\n #gradient > .vertical(@primaryColor, @secondaryColor);\n border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);\n border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);\n}\n\n// Gradients\n#gradient {\n .vertical(@startColor: #555, @endColor: #333) {\n background-color: mix(@startColor, @endColor, 60%);\n background-image: -moz-linear-gradient(to bottom, @startColor, @endColor); // FF 3.6+\n background-image: -ms-linear-gradient(to bottom, @startColor, @endColor); // IE10\n background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+\n background-image: -webkit-linear-gradient(to bottom, @startColor, @endColor); // Safari 5.1+, Chrome 10+\n background-image: -o-linear-gradient(to bottom, @startColor, @endColor); // Opera 11.10\n background-image: linear-gradient(to bottom, @startColor, @endColor); // The standard\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",@startColor,@endColor)); // IE9 and down\n }\n}\n\n@import \"../less/datepicker.less\";\n"]} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css new file mode 100644 index 0000000..eb68151 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css @@ -0,0 +1,7 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px} \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js new file mode 100644 index 0000000..8800106 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js @@ -0,0 +1,8 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split("-")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c]/g)||[]).length<=0)return!0;return a(c).length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split("-")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),!0!==e.multidate&&(e.multidate=Number(e.multidate)||!1,!1!==e.multidate&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-1/0&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-1/0),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(",")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:"auto",y:"auto"},i&&"auto"!==i)if(1===h.length)switch(h[0]){case"top":case"bottom":e.orientation.y=h[0];break;case"left":case"right":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||"auto",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||"auto";else;if(e.defaultViewDate instanceof Date||"string"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_applyEvents:function(a){for(var c,d,e,f=0;fe?(this.picker.addClass("datepicker-orient-right"),m+=l-b):this.o.rtl?this.picker.addClass("datepicker-orient-right"):this.picker.addClass("datepicker-orient-left");var o,p=this.o.orientation.y;if("auto"===p&&(o=-f+n-c,p=o<0?"bottom":"top"),this.picker.addClass("datepicker-orient-"+p),"top"===p?n-=c+parseInt(this.picker.css("padding-top")):n+=k,this.o.rtl){var q=e-(m+l);this.picker.css({top:n,right:q,zIndex:i})}else this.picker.css({top:n,left:m,zIndex:i});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger("changeDate"),this.element.change()),!this.dates.length&&b.length&&(this._trigger("clearDate"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c="";for(this.o.calendarWeeks&&(c+=' ');b";c+="",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+=''+q[this.o.language].monthsShort[d]+"";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),-1!==this.dates.contains(b)&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push("highlighted"),this.range&&(b>this.range[0]&&bh)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),!1===l.enabled&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='"+t+"";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var e,f,g=new Date(this.viewDate),h=g.getUTCFullYear(),i=g.getUTCMonth(),j=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,k=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,m=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=q[this.o.language].today||q.en.today||"",o=q[this.o.language].clear||q.en.clear||"",p=q[this.o.language].titleFormat||q.en.titleFormat,s=d(),t=(!0===this.o.todayBtn||"linked"===this.o.todayBtn)&&s>=this.o.startDate&&s<=this.o.endDate&&!this.weekOfDateIsDisabled(s);if(!isNaN(h)&&!isNaN(i)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(g,p,this.o.language)),this.picker.find("tfoot .today").text(n).css("display",t?"table-cell":"none"),this.picker.find("tfoot .clear").text(o).css("display",!0===this.o.clearBtn?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var u=c(h,i,0),v=u.getUTCDate();u.setUTCDate(v-(u.getUTCDay()-this.o.weekStart+7)%7);var w=new Date(u);u.getUTCFullYear()<100&&w.setUTCFullYear(u.getUTCFullYear()),w.setUTCDate(w.getUTCDate()+42),w=w.valueOf();for(var x,y,z=[];u.valueOf()"),this.o.calendarWeeks)){var A=new Date(+u+(this.o.weekStart-x-7)%7*864e5),B=new Date(Number(A)+(11-A.getUTCDay())%7*864e5),C=new Date(Number(C=c(B.getUTCFullYear(),0,1))+(11-C.getUTCDay())%7*864e5),D=(B-C)/864e5/7+1;z.push(''+D+"")}y=this.getClassNames(u),y.push("day");var E=u.getUTCDate();this.o.beforeShowDay!==a.noop&&(f=this.o.beforeShowDay(this._utc_to_local(u)),f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1===f.enabled&&y.push("disabled"),f.classes&&(y=y.concat(f.classes.split(/\s+/))),f.tooltip&&(e=f.tooltip),f.content&&(E=f.content)),y=a.isFunction(a.uniqueSort)?a.uniqueSort(y):a.unique(y),z.push(''+E+""),e=null,x===this.o.weekEnd&&z.push(""),u.setUTCDate(u.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(z.join(""));var F=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",G=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?F:h).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===h&&G.eq(b.getUTCMonth()).addClass("active")}),(hl)&&G.addClass("disabled"),h===j&&G.slice(0,k).addClass("disabled"),h===l&&G.slice(m+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var H=this;a.each(G,function(c,d){var e=new Date(h,c,1),f=H.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1!==f.enabled||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,h,j,l,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,h,j,l,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,h,j,l,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,g=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>h;break;case 0:a=d<=f&&e<=g,b=d>=h&&e>=i}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(!0===this.o.multidate||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):!1===this.o.multidate?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"))&&this._trigger("changeYear",this.viewDate):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"))&&this._trigger("changeMonth",this.viewDate):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(-1!==g){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return!0===b&&(b=10),a<100&&(a+=2e3)>(new Date).getFullYear()+b&&(a-=100),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n'+o.templates.leftArrow+''+o.templates.rightArrow+"",contTemplate:'',footTemplate:''};r.template='

    ",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.9.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})}); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js new file mode 100644 index 0000000..0aab38f --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"},a.fn.datepicker.deprecated("This filename doesn't follow the convention, use bootstrap-datepicker.en-CA.js instead.")}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js new file mode 100644 index 0000000..9d70dc2 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["ar-tn"]={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js new file mode 100644 index 0000000..ece41af --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ar={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js new file mode 100644 index 0000000..aa1edbf --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1,clear:"Təmizlə",monthsTitle:"Aylar"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js new file mode 100644 index 0000000..28e8b22 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bg={days:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],daysShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],daysMin:["Н","П","В","С","Ч","П","С"],months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Ян","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Ное","Дек"],today:"днес"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js new file mode 100644 index 0000000..e0796a3 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bm={days:["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"],daysShort:["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"],daysMin:["Ka","Nt","Ta","Ar","Al","Ju","Si"],months:["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"],monthsShort:["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"],today:"Bi",monthsTitle:"Kalo",clear:"Ka jɔsi",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js new file mode 100644 index 0000000..f67b5e2 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bn={days:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysShort:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysMin:["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],months:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],monthsShort:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],today:"আজ",monthsTitle:"মাস",clear:"পরিষ্কার",weekStart:0,format:"mm/dd/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js new file mode 100644 index 0000000..af3e3bd --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.br={days:["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],daysShort:["Sul","Lun","Meu.","Mer.","Yao.","Gwe.","Sad."],daysMin:["Su","L","Meu","Mer","Y","G","Sa"],months:["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu"],monthsShort:["Genv.","C'hw.","Meur.","Ebre.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kerz."],today:"Hiziv",monthsTitle:"Miz",clear:"Dilemel",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js new file mode 100644 index 0000000..cfb06fd --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bs={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js new file mode 100644 index 0000000..ac10789 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ca={days:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],daysShort:["Diu","Dil","Dmt","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dt","dc","dj","dv","ds"],months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],today:"Avui",monthsTitle:"Mesos",clear:"Esborrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js new file mode 100644 index 0000000..42dfd1a --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.cs={days:["Neděle","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota"],daysShort:["Ned","Pon","Úte","Stř","Čtv","Pát","Sob"],daysMin:["Ne","Po","Út","St","Čt","Pá","So"],months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],monthsShort:["Led","Úno","Bře","Dub","Kvě","Čer","Čnc","Srp","Zář","Říj","Lis","Pro"],today:"Dnes",clear:"Vymazat",monthsTitle:"Měsíc",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js new file mode 100644 index 0000000..f85ea03 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.cy={days:["Sul","Llun","Mawrth","Mercher","Iau","Gwener","Sadwrn"],daysShort:["Sul","Llu","Maw","Mer","Iau","Gwe","Sad"],daysMin:["Su","Ll","Ma","Me","Ia","Gwe","Sa"],months:["Ionawr","Chewfror","Mawrth","Ebrill","Mai","Mehefin","Gorfennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],monthsShort:["Ion","Chw","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rha"],today:"Heddiw"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js new file mode 100644 index 0000000..53c8180 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.da={days:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],daysShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],daysMin:["Sø","Ma","Ti","On","To","Fr","Lø"],months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"I Dag",weekStart:1,clear:"Nulstil",format:"dd/mm/yyyy",monthsTitle:"Måneder"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js new file mode 100644 index 0000000..1b5d6a2 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.de={days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],daysShort:["Son","Mon","Die","Mit","Don","Fre","Sam"],daysMin:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",monthsTitle:"Monate",clear:"Löschen",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js new file mode 100644 index 0000000..046e9eb --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.el={days:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],daysShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],daysMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthsShort:["Ιαν","Φεβ","Μαρ","Απρ","Μάι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],today:"Σήμερα",clear:"Καθαρισμός",weekStart:1,format:"d/m/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js new file mode 100644 index 0000000..b8d5f41 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-AU"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js new file mode 100644 index 0000000..7b1070f --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js new file mode 100644 index 0000000..2966f54 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-GB"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js new file mode 100644 index 0000000..dc8f71c --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-IE"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js new file mode 100644 index 0000000..c374a8d --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-NZ"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js new file mode 100644 index 0000000..885a928 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-ZA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"yyyy/mm/d"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js new file mode 100644 index 0000000..736db02 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.eo={days:["dimanĉo","lundo","mardo","merkredo","ĵaŭdo","vendredo","sabato"],daysShort:["dim.","lun.","mar.","mer.","ĵaŭ.","ven.","sam."],daysMin:["d","l","ma","me","ĵ","v","s"],months:["januaro","februaro","marto","aprilo","majo","junio","julio","aŭgusto","septembro","oktobro","novembro","decembro"],monthsShort:["jan.","feb.","mar.","apr.","majo","jun.","jul.","aŭg.","sep.","okt.","nov.","dec."],today:"Hodiaŭ",clear:"Nuligi",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js new file mode 100644 index 0000000..f3cef5d --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.es={days:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],daysShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],daysMin:["Do","Lu","Ma","Mi","Ju","Vi","Sa"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthsShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],today:"Hoy",monthsTitle:"Meses",clear:"Borrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js new file mode 100644 index 0000000..34cd9c6 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.et={days:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"],daysShort:["Pühap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],daysMin:["P","E","T","K","N","R","L"],months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthsShort:["Jaan","Veebr","Märts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],today:"Täna",clear:"Tühjenda",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js new file mode 100644 index 0000000..c5aa359 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.eu={days:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],daysShort:["Ig","Al","Ar","Az","Og","Ol","Lr"],daysMin:["Ig","Al","Ar","Az","Og","Ol","Lr"],months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],monthsShort:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],today:"Gaur",monthsTitle:"Hilabeteak",clear:"Ezabatu",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js new file mode 100644 index 0000000..8575237 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fa={days:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"],daysShort:["یک","دو","سه","چهار","پنج","جمعه","شنبه","یک"],daysMin:["ی","د","س","چ","پ","ج","ش","ی"],months:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthsShort:["ژان","فور","مار","آور","مه","ژون","ژوی","اوت","سپت","اکت","نوا","دسا"],today:"امروز",clear:"پاک کن",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js new file mode 100644 index 0000000..239dfb7 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fi={days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],daysShort:["sun","maa","tii","kes","tor","per","lau"],daysMin:["su","ma","ti","ke","to","pe","la"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],monthsShort:["tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mar","jou"],today:"tänään",clear:"Tyhjennä",weekStart:1,format:"d.m.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js new file mode 100644 index 0000000..fa24e3a --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fo={days:["Sunnudagur","Mánadagur","Týsdagur","Mikudagur","Hósdagur","Fríggjadagur","Leygardagur"],daysShort:["Sun","Mán","Týs","Mik","Hós","Frí","Ley"],daysMin:["Su","Má","Tý","Mi","Hó","Fr","Le"],months:["Januar","Februar","Marts","Apríl","Mei","Juni","Juli","August","Septembur","Oktobur","Novembur","Desembur"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],today:"Í Dag",clear:"Reinsa"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js new file mode 100644 index 0000000..1c6bcdc --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fr={days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],daysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],daysMin:["D","L","Ma","Me","J","V","S"],months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthsShort:["Jan","Fév","Mar","Avr","Mai","Jui","Jul","Aou","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js new file mode 100644 index 0000000..244cfba --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fr={days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],daysShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],daysMin:["d","l","ma","me","j","v","s"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthsShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js new file mode 100644 index 0000000..3d92606 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.gl={days:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],daysShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],daysMin:["Do","Lu","Ma","Me","Xo","Ve","Sa"],months:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthsShort:["Xan","Feb","Mar","Abr","Mai","Xun","Xul","Ago","Sep","Out","Nov","Dec"],today:"Hoxe",clear:"Limpar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js new file mode 100644 index 0000000..191cb45 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.he={days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"],daysShort:["א","ב","ג","ד","ה","ו","ש","א"],daysMin:["א","ב","ג","ד","ה","ו","ש","א"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthsShort:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],today:"היום",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js new file mode 100644 index 0000000..635baff --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hi={days:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],daysShort:["सूर्य","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],daysMin:["र","सो","मं","बु","गु","शु","श"],months:["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्टूबर","नवंबर","दिसम्बर"],monthsShort:["जन","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितं","अक्टूबर","नवं","दिसम्बर"],today:"आज",monthsTitle:"महीने",clear:"साफ",weekStart:1,format:"dd / mm / yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js new file mode 100644 index 0000000..8b34bce --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hr={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthsShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],today:"Danas"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js new file mode 100644 index 0000000..f9decf9 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hu={days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],daysShort:["vas","hét","ked","sze","csü","pén","szo"],daysMin:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],monthsShort:["jan","feb","már","ápr","máj","jún","júl","aug","sze","okt","nov","dec"],today:"ma",weekStart:1,clear:"töröl",titleFormat:"yyyy. MM",format:"yyyy.mm.dd"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js new file mode 100644 index 0000000..a1cf653 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hy={days:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"],daysShort:["Կիր","Երկ","Երե","Չոր","Հին","Ուրբ","Շաբ"],daysMin:["Կի","Եկ","Եք","Չո","Հի","Ու","Շա"],months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],monthsShort:["Հնվ","Փետ","Մար","Ապր","Մայ","Հուն","Հուլ","Օգս","Սեպ","Հոկ","Նոյ","Դեկ"],today:"Այսօր",clear:"Ջնջել",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ամիսնէր"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js new file mode 100644 index 0000000..7c3220a --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.id={days:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],daysShort:["Mgu","Sen","Sel","Rab","Kam","Jum","Sab"],daysMin:["Mg","Sn","Sl","Ra","Ka","Ju","Sa"],months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags","Sep","Okt","Nov","Des"],today:"Hari Ini",clear:"Kosongkan"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js new file mode 100644 index 0000000..f49bd18 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.is={days:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],daysShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],daysMin:["Su","Má","Þr","Mi","Fi","Fö","La"],months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],today:"Í Dag"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js new file mode 100644 index 0000000..7e1adbb --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",clear:"Cancella",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js new file mode 100644 index 0000000..cc30766 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",monthsTitle:"Mesi",clear:"Cancella",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js new file mode 100644 index 0000000..e321f04 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ja={days:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"],daysShort:["日","月","火","水","木","金","土"],daysMin:["日","月","火","水","木","金","土"],months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",format:"yyyy/mm/dd",titleFormat:"yyyy年mm月",clear:"クリア"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js new file mode 100644 index 0000000..84f14c0 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ka={days:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],daysShort:["კვი","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],daysMin:["კვ","ორ","სა","ოთ","ხუ","პა","შა"],months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],monthsShort:["იან","თებ","მარ","აპრ","მაი","ივნ","ივლ","აგვ","სექ","ოქტ","ნოე","დეკ"],today:"დღეს",clear:"გასუფთავება",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js new file mode 100644 index 0000000..bf2abc5 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kh={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"},a.fn.datepicker.deprecated('The language code "kh" is deprecated and will be removed in 2.0. For Khmer support use "km" instead.')}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js new file mode 100644 index 0000000..f4e2f3f --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kk={days:["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],daysShort:["Жек","Дүй","Сей","Сәр","Бей","Жұм","Сен"],daysMin:["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],months:["Қаңтар","Ақпан","Наурыз","Сәуір","Мамыр","Маусым","Шілде","Тамыз","Қыркүйек","Қазан","Қараша","Желтоқсан"],monthsShort:["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел"],today:"Бүгін",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js new file mode 100644 index 0000000..648d83f --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.km={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js new file mode 100644 index 0000000..9751ee5 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ko={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],today:"오늘",clear:"삭제",format:"yyyy-mm-dd",titleFormat:"yyyy년mm월",weekStart:0}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js new file mode 100644 index 0000000..4339340 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kr={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]},a.fn.datepicker.deprecated('The language code "kr" is deprecated and will be removed in 2.0. For korean support use "ko" instead.')}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js new file mode 100644 index 0000000..da78ea8 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.lt={days:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"],daysShort:["S","Pr","A","T","K","Pn","Š"],daysMin:["Sk","Pr","An","Tr","Ke","Pn","Št"],months:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthsShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],today:"Šiandien",monthsTitle:"Mėnesiai",clear:"Išvalyti",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js new file mode 100644 index 0000000..89cea00 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.lv={days:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"],daysShort:["Sv","P","O","T","C","Pk","S"],daysMin:["Sv","Pr","Ot","Tr","Ce","Pk","Se"],months:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthsShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],monthsTitle:"Mēneši",today:"Šodien",clear:"Nodzēst",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js new file mode 100644 index 0000000..c65a891 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.me={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,clear:"Izbriši",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js new file mode 100644 index 0000000..46423f7 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.mk={days:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"],daysShort:["Нед","Пон","Вто","Сре","Чет","Пет","Саб"],daysMin:["Не","По","Вт","Ср","Че","Пе","Са"],months:["Јануари","Февруари","Март","Април","Мај","Јуни","Јули","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Јан","Фев","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Ное","Дек"],today:"Денес",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js new file mode 100644 index 0000000..6ebaec9 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.mn={days:["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"],daysShort:["Ням","Дав","Мяг","Лха","Пүр","Баа","Бям"],daysMin:["Ня","Да","Мя","Лх","Пү","Ба","Бя"],months:["Хулгана","Үхэр","Бар","Туулай","Луу","Могой","Морь","Хонь","Бич","Тахиа","Нохой","Гахай"],monthsShort:["Хул","Үхэ","Бар","Туу","Луу","Мог","Мор","Хон","Бич","Тах","Нох","Гах"],today:"Өнөөдөр",clear:"Тодорхой",format:"yyyy.mm.dd",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js new file mode 100644 index 0000000..47efafd --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ms={days:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],daysShort:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],daysMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],months:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],today:"Hari Ini",clear:"Bersihkan"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js new file mode 100644 index 0000000..85d3146 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["nl-BE"]={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Leegmaken",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js new file mode 100644 index 0000000..af977b7 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.nl={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Wissen",weekStart:1,format:"dd-mm-yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js new file mode 100644 index 0000000..0c5136e --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.no={days:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],daysShort:["søn","man","tir","ons","tor","fre","lør"],daysMin:["sø","ma","ti","on","to","fr","lø"],months:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],today:"i dag",monthsTitle:"Måneder",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js new file mode 100644 index 0000000..630fa16 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.oc={days:["Dimenge","Diluns","Dimars","Dimècres","Dijòus","Divendres","Dissabte"],daysShort:["Dim","Dil","Dmr","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dr","dc","dj","dv","ds"],months:["Genièr","Febrièr","Març","Abrial","Mai","Junh","Julhet","Agost","Setembre","Octobre","Novembre","Decembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Dec"],today:"Uèi",monthsTitle:"Meses",clear:"Escafar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js new file mode 100644 index 0000000..ffb30ec --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.pl={days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],daysShort:["Niedz.","Pon.","Wt.","Śr.","Czw.","Piąt.","Sob."],daysMin:["Ndz.","Pn.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthsShort:["Sty.","Lut.","Mar.","Kwi.","Maj","Cze.","Lip.","Sie.","Wrz.","Paź.","Lis.","Gru."],today:"Dzisiaj",weekStart:1,clear:"Wyczyść",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js new file mode 100644 index 0000000..2d3f8af --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["pt-BR"]={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js new file mode 100644 index 0000000..e2b4e64 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.pt={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js new file mode 100644 index 0000000..5fff298 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ro={days:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],daysShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],daysMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthsShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],today:"Astăzi",clear:"Șterge",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js new file mode 100644 index 0000000..e520c95 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["rs-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs-latin" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian latin support use "sr-latin" instead.')}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js new file mode 100644 index 0000000..ba95ae2 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.rs={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian support use "sr" instead.')}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js new file mode 100644 index 0000000..52bc010 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ru={days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вск","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Месяцы"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js new file mode 100644 index 0000000..b9746b8 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.si={days:["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්‍රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"],daysShort:["ඉරි","සඳු","අඟ","බදා","බ්‍රහ","සිකු","සෙන"],daysMin:["ඉ","ස","අ","බ","බ්‍ර","සි","සෙ"],months:["ජනවාරි","පෙබරවාරි","මාර්තු","අප්‍රේල්","මැයි","ජුනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්"],monthsShort:["ජන","පෙබ","මාර්","අප්‍රේ","මැයි","ජුනි","ජූලි","අගෝ","සැප්","ඔක්","නොවැ","දෙසැ"],today:"අද",monthsTitle:"මාස",clear:"මකන්න",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js new file mode 100644 index 0000000..79a9267 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sk={days:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"],daysShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],daysMin:["Ne","Po","Ut","St","Št","Pia","So"],months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],today:"Dnes",clear:"Vymazať",weekStart:1,format:"d.m.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js new file mode 100644 index 0000000..831cf73 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sl={days:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],daysShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],daysMin:["Ne","Po","To","Sr","Če","Pe","So"],months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danes",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js new file mode 100644 index 0000000..8c58605 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],monthsTitle:"Muaj",today:"Sot",weekStart:1,format:"dd/mm/yyyy",clear:"Pastro"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js new file mode 100644 index 0000000..c6b7001 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["sr-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js new file mode 100644 index 0000000..4e46dbf --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sr={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js new file mode 100644 index 0000000..7ab6bec --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sv={days:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],daysShort:["sön","mån","tis","ons","tor","fre","lör"],daysMin:["sö","må","ti","on","to","fr","lö"],months:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],today:"Idag",format:"yyyy-mm-dd",weekStart:1,clear:"Rensa"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js new file mode 100644 index 0000000..454d305 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sw={days:["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],daysShort:["J2","J3","J4","J5","Alh","Ij","J1"],daysMin:["2","3","4","5","A","I","1"],months:["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Desemba"],monthsShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Des"],today:"Leo"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js new file mode 100644 index 0000000..e790949 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ta={days:["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],daysShort:["ஞாயி","திங்","செவ்","புத","வியா","வெள்","சனி"],daysMin:["ஞா","தி","செ","பு","வி","வெ","ச"],months:["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்டு","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்"],monthsShort:["ஜன","பிப்","மார்","ஏப்","மே","ஜூன்","ஜூலை","ஆக","செப்","அக்","நவ","டிச"],today:"இன்று",monthsTitle:"மாதங்கள்",clear:"நீக்கு",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js new file mode 100644 index 0000000..104b6dd --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tg={days:["Якшанбе","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"],daysShort:["Яшб","Дшб","Сшб","Чшб","Пшб","Ҷум","Шнб"],daysMin:["Яш","Дш","Сш","Чш","Пш","Ҷм","Шб"],months:["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Имрӯз",monthsTitle:"Моҳҳо",clear:"Тоза намудан",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js new file mode 100644 index 0000000..1e398ba --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.th={days:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"],daysShort:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],daysMin:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthsShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],today:"วันนี้"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js new file mode 100644 index 0000000..716edef --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tk={days:["Ýekşenbe","Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe"],daysShort:["Ýek","Duş","Siş","Çar","Pen","Ann","Şen"],daysMin:["Ýe","Du","Si","Ça","Pe","An","Şe"],months:["Ýanwar","Fewral","Mart","Aprel","Maý","Iýun","Iýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr"],monthsShort:["Ýan","Few","Mar","Apr","Maý","Iýn","Iýl","Awg","Sen","Okt","Noý","Dek"],today:"Bu gün",monthsTitle:"Aýlar",clear:"Aýyr",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js new file mode 100644 index 0000000..7889b11 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tr={days:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],daysShort:["Pz","Pzt","Sal","Çrş","Prş","Cu","Cts"],daysMin:["Pz","Pzt","Sa","Çr","Pr","Cu","Ct"],months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthsShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],today:"Bugün",clear:"Temizle",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js new file mode 100644 index 0000000..41b02e6 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.uk={days:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"],daysShort:["Нед","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Cічень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthsShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],today:"Сьогодні",clear:"Очистити",format:"dd.mm.yyyy",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js new file mode 100644 index 0000000..a0a8f21 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["uz-cyrl"]={days:["Якшанба","Душанба","Сешанба","Чоршанба","Пайшанба","Жума","Шанба"],daysShort:["Якш","Ду","Се","Чор","Пай","Жу","Ша"],daysMin:["Як","Ду","Се","Чо","Па","Жу","Ша"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Бугун",clear:"Ўчириш",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ойлар"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js new file mode 100644 index 0000000..2f58e34 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["uz-latn"]={days:["Yakshanba","Dushanba","Seshanba","Chorshanba","Payshanba","Juma","Shanba"],daysShort:["Yak","Du","Se","Chor","Pay","Ju","Sha"],daysMin:["Ya","Du","Se","Cho","Pa","Ju","Sha"],months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avgust","Sentabr","Oktabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","Iyn","Iyl","Avg","Sen","Okt","Noy","Dek"],today:"Bugun",clear:"O'chirish",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Oylar"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js new file mode 100644 index 0000000..3311d23 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.vi={days:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"],daysShort:["CN","Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7"],daysMin:["CN","T2","T3","T4","T5","T6","T7"],months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],monthsShort:["Th1","Th2","Th3","Th4","Th5","Th6","Th7","Th8","Th9","Th10","Th11","Th12"],today:"Hôm nay",clear:"Xóa",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js new file mode 100644 index 0000000..8e6920b --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"选择月份",clear:"清除",format:"yyyy-mm-dd",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js new file mode 100644 index 0000000..e309c1d --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["zh-TW"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["週日","週一","週二","週三","週四","週五","週六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",format:"yyyy年mm月dd日",weekStart:1,clear:"清除"}}(jQuery); \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap-rtl.css b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap-rtl.css new file mode 100644 index 0000000..0a5e9b5 --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap-rtl.css @@ -0,0 +1,11453 @@ +/*! + * Bootstrap v4.5.2 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([class]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +[role="button"] { + cursor: pointer; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + order: -1; +} + +.order-last { + order: 13; +} + +.order-0 { + order: 0; +} + +.order-1 { + order: 1; +} + +.order-2 { + order: 2; +} + +.order-3 { + order: 3; +} + +.order-4 { + order: 4; +} + +.order-5 { + order: 5; +} + +.order-6 { + order: 6; +} + +.order-7 { + order: 7; +} + +.order-8 { + order: 8; +} + +.order-9 { + order: 9; +} + +.order-10 { + order: 10; +} + +.order-11 { + order: 11; +} + +.order-12 { + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-sm-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + order: -1; + } + .order-sm-last { + order: 13; + } + .order-sm-0 { + order: 0; + } + .order-sm-1 { + order: 1; + } + .order-sm-2 { + order: 2; + } + .order-sm-3 { + order: 3; + } + .order-sm-4 { + order: 4; + } + .order-sm-5 { + order: 5; + } + .order-sm-6 { + order: 6; + } + .order-sm-7 { + order: 7; + } + .order-sm-8 { + order: 8; + } + .order-sm-9 { + order: 9; + } + .order-sm-10 { + order: 10; + } + .order-sm-11 { + order: 11; + } + .order-sm-12 { + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-md-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + order: -1; + } + .order-md-last { + order: 13; + } + .order-md-0 { + order: 0; + } + .order-md-1 { + order: 1; + } + .order-md-2 { + order: 2; + } + .order-md-3 { + order: 3; + } + .order-md-4 { + order: 4; + } + .order-md-5 { + order: 5; + } + .order-md-6 { + order: 6; + } + .order-md-7 { + order: 7; + } + .order-md-8 { + order: 8; + } + .order-md-9 { + order: 9; + } + .order-md-10 { + order: 10; + } + .order-md-11 { + order: 11; + } + .order-md-12 { + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-lg-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + order: -1; + } + .order-lg-last { + order: 13; + } + .order-lg-0 { + order: 0; + } + .order-lg-1 { + order: 1; + } + .order-lg-2 { + order: 2; + } + .order-lg-3 { + order: 3; + } + .order-lg-4 { + order: 4; + } + .order-lg-5 { + order: 5; + } + .order-lg-6 { + order: 6; + } + .order-lg-7 { + order: 7; + } + .order-lg-8 { + order: 8; + } + .order-lg-9 { + order: 9; + } + .order-lg-10 { + order: 10; + } + .order-lg-11 { + order: 11; + } + .order-lg-12 { + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-xl-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + order: -1; + } + .order-xl-last { + order: 13; + } + .order-xl-0 { + order: 0; + } + .order-xl-1 { + order: 1; + } + .order-xl-2 { + order: 2; + } + .order-xl-3 { + order: 3; + } + .order-xl-4 { + order: 4; + } + .order-xl-5 { + order: 5; + } + .order-xl-6 { + order: 6; + } + .order-xl-7 { + order: 7; + } + .order-xl-8 { + order: 8; + } + .order-xl-9 { + order: 9; + } + .order-xl-10 { + order: 10; + } + .order-xl-11 { + order: 11; + } + .order-xl-12 { + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #343a40; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +input[type="date"].form-control, +input[type="time"].form-control, +input[type="datetime-local"].form-control, +input[type="month"].form-control { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input[disabled] ~ .form-check-label, +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: inline-flex; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.form-row > .col > .valid-tooltip, +.form-row > [class*="col-"] > .valid-tooltip { + left: 5px; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.form-row > .col > .invalid-tooltip, +.form-row > [class*="col-"] > .invalid-tooltip { + left: 5px; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: flex; + align-items: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + align-items: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #212529; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #5a6268; + border-color: #545b62; + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #218838; + border-color: #1e7e34; + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #138496; + border-color: #117a8b; + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c82333; + border-color: #bd2130; + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + color: #fff; + background-color: #23272b; + border-color: #1d2124; + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #e9ecef; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #adb5bd; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: flex; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group:not(.has-validation) > .form-control:not(:last-child), +.input-group:not(.has-validation) > .custom-select:not(:last-child), +.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group.has-validation > .form-control:nth-last-child(n + 3), +.input-group.has-validation > .custom-select:nth-last-child(n + 3), +.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn, +.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text, +.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn, +.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + z-index: 1; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} + +.custom-control-inline { + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: 50% / 50% 50% no-repeat; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + transform: translateX(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + overflow: hidden; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input[disabled] ~ .custom-file-label, +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + overflow: hidden; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: 0; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + -ms-transition: none; + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-link { + margin-bottom: -1px; + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar .container, +.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: 50% / 100% 100% no-repeat; +} + +.navbar-nav-scroll { + max-height: 75vh; + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + flex-flow: row nowrap; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + flex-wrap: nowrap; +} + +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} + +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} + +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; + border-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-top, +.card-img-bottom { + flex-shrink: 0; + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + display: flex; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -moz-column-count: 3; + column-count: 3; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion { + overflow-anchor: none; +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion > .card:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion > .card > .card-header { + border-radius: 0; + margin-bottom: -1px; +} + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: flex; + height: 1rem; + overflow: hidden; + line-height: 0; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: 1s linear infinite progress-bar-stripes; + animation: 1s linear infinite progress-bar-stripes; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.media { + display: flex; + align-items: flex-start; +} + +.media-body { + flex: 1; +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + flex-direction: row; +} + +.list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +.list-group-flush { + border-radius: 0; +} + +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} + +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover { + color: #000; + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + flex-basis: 350px; + max-width: 350px; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + opacity: 0; + border-radius: 0.25rem; +} + +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: flex; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + transform: none; +} + +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + height: -webkit-min-content; + height: -moz-min-content; + height: min-content; + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} + +.modal-footer > * { + margin: 0.25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + height: -webkit-min-content; + height: -moz-min-content; + height: min-content; + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc(-0.5rem - 1px); +} + +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc(-0.5rem - 1px); +} + +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: 50% / 100% 100% no-repeat; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: .75s linear infinite spinner-border; + animation: .75s linear infinite spinner-border; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: .75s linear infinite spinner-grow; + animation: .75s linear infinite spinner-grow; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + } +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !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; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !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-stretch { + align-content: stretch !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-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + word-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} + +.rtl, +[dir="rtl"] { + text-align: right; + direction: rtl; +} + +.rtl .nav, +[dir="rtl"] .nav { + padding-right: 0; +} + +.rtl .navbar-nav .nav-item, +[dir="rtl"] .navbar-nav .nav-item { + float: right; +} + +.rtl .navbar-nav .nav-item + .nav-item, +[dir="rtl"] .navbar-nav .nav-item + .nav-item { + margin-right: inherit; + margin-left: 1rem; +} + +.rtl th, +[dir="rtl"] th { + text-align: right; +} + +.rtl .alert-dismissible, +[dir="rtl"] .alert-dismissible { + padding-right: 1.25rem; + padding-left: 4rem; +} + +.rtl .dropdown-menu, +[dir="rtl"] .dropdown-menu { + right: 0; + left: inherit; + text-align: right; +} + +.rtl .checkbox label, +[dir="rtl"] .checkbox label { + padding-right: 1.25rem; + padding-left: inherit; +} + +.rtl .btn-group > .btn:not(:first-child), +.rtl .btn-group > .btn-group:not(:first-child), +[dir="rtl"] .btn-group > .btn:not(:first-child), +[dir="rtl"] .btn-group > .btn-group:not(:first-child) { + margin-left: initial; + margin-right: -1px; +} + +.rtl .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle), +[dir="rtl"] .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-radius: 0 0.25rem 0.25rem 0; +} + +.rtl .btn-group > .btn:last-child:not(:first-child), +.rtl .btn-group > .dropdown-toggle:not(:first-child), +[dir="rtl"] .btn-group > .btn:last-child:not(:first-child), +[dir="rtl"] .btn-group > .dropdown-toggle:not(:first-child) { + border-radius: 0.25rem 0 0 0.25rem; +} + +.rtl .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child, +[dir="rtl"] .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-radius: 0.25rem 0 0 0.25rem; +} + +.rtl .custom-control, +[dir="rtl"] .custom-control { + padding-right: 1.5rem; + padding-left: inherit; + margin-right: inherit; + margin-left: 1rem; +} + +.rtl .custom-control-indicator, +[dir="rtl"] .custom-control-indicator { + right: 0; + left: inherit; +} + +.rtl .custom-file-label::after, +[dir="rtl"] .custom-file-label::after { + right: initial; + left: -1px; + border-radius: .25rem 0 0 .25rem; +} + +.rtl .custom-control-label::after, +.rtl .custom-control-label::before, +[dir="rtl"] .custom-control-label::after, +[dir="rtl"] .custom-control-label::before { + right: -1.5rem; + left: inherit; +} + +.rtl .custom-select, +[dir="rtl"] .custom-select { + padding: 0.375rem 0.75rem 0.375rem 1.75rem; + background: #fff url("data:image/svg+xml,") no-repeat left 0.75rem center; + background-size: 8px 10px; +} + +.rtl .custom-switch, +[dir="rtl"] .custom-switch { + padding-right: 2.25rem; + padding-left: inherit; +} + +.rtl .custom-switch .custom-control-label::before, +[dir="rtl"] .custom-switch .custom-control-label::before { + right: -2.25rem; +} + +.rtl .custom-switch .custom-control-label::after, +[dir="rtl"] .custom-switch .custom-control-label::after { + right: calc(-2.25rem + 2px); +} + +.rtl .custom-switch .custom-control-input:checked ~ .custom-control-label::after, +[dir="rtl"] .custom-switch .custom-control-input:checked ~ .custom-control-label::after { + transform: translateX(-0.75rem); +} + +.rtl .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.rtl .input-group > .input-group-append:last-child > .input-group-text:not(:last-child), +.rtl .input-group > .input-group-append:not(:last-child) > .btn, +.rtl .input-group > .input-group-append:not(:last-child) > .input-group-text, +.rtl .input-group > .input-group-prepend > .btn, +.rtl .input-group > .input-group-prepend > .input-group-text, +[dir="rtl"] .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +[dir="rtl"] .input-group > .input-group-append:last-child > .input-group-text:not(:last-child), +[dir="rtl"] .input-group > .input-group-append:not(:last-child) > .btn, +[dir="rtl"] .input-group > .input-group-append:not(:last-child) > .input-group-text, +[dir="rtl"] .input-group > .input-group-prepend > .btn, +[dir="rtl"] .input-group > .input-group-prepend > .input-group-text { + border-radius: 0 0.25rem 0.25rem 0; +} + +.rtl .input-group > .input-group-append > .btn, +.rtl .input-group > .input-group-append > .input-group-text, +.rtl .input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.rtl .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child), +.rtl .input-group > .input-group-prepend:not(:first-child) > .btn, +.rtl .input-group > .input-group-prepend:not(:first-child) > .input-group-text, +[dir="rtl"] .input-group > .input-group-append > .btn, +[dir="rtl"] .input-group > .input-group-append > .input-group-text, +[dir="rtl"] .input-group > .input-group-prepend:first-child > .btn:not(:first-child), +[dir="rtl"] .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child), +[dir="rtl"] .input-group > .input-group-prepend:not(:first-child) > .btn, +[dir="rtl"] .input-group > .input-group-prepend:not(:first-child) > .input-group-text { + border-radius: 0.25rem 0 0 0.25rem; +} + +.rtl .input-group > .custom-select:not(:first-child), +.rtl .input-group > .form-control:not(:first-child), +[dir="rtl"] .input-group > .custom-select:not(:first-child), +[dir="rtl"] .input-group > .form-control:not(:first-child) { + border-radius: 0.25rem 0 0 0.25rem; +} + +.rtl .input-group > .custom-select:not(:last-child), +.rtl .input-group > .form-control:not(:last-child), +[dir="rtl"] .input-group > .custom-select:not(:last-child), +[dir="rtl"] .input-group > .form-control:not(:last-child) { + border-radius: 0 0.25rem 0.25rem 0; +} + +.rtl .input-group > .custom-select:not(:last-child):not(:first-child), +.rtl .input-group > .form-control:not(:last-child):not(:first-child), +[dir="rtl"] .input-group > .custom-select:not(:last-child):not(:first-child), +[dir="rtl"] .input-group > .form-control:not(:last-child):not(:first-child) { + border-radius: 0; +} + +.rtl .radio input, +.rtl .radio-inline, +.rtl .checkbox input, +.rtl .checkbox-inline input, +[dir="rtl"] .radio input, +[dir="rtl"] .radio-inline, +[dir="rtl"] .checkbox input, +[dir="rtl"] .checkbox-inline input { + margin-right: -1.25rem; + margin-left: inherit; +} + +.rtl .breadcrumb-item + .breadcrumb-item, +[dir="rtl"] .breadcrumb-item + .breadcrumb-item { + padding-right: 0.5rem; + padding-left: 0; + color: #6c757d; + content: "/"; +} + +.rtl .breadcrumb-item + .breadcrumb-item::before, +[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before { + padding-right: 0; + padding-left: 0.5rem; +} + +.rtl .list-group, +[dir="rtl"] .list-group { + padding-right: 0; + padding-left: 40px; +} + +.rtl .close, +[dir="rtl"] .close { + float: left; +} + +.rtl .modal-header .close, +[dir="rtl"] .modal-header .close { + margin: -15px auto -15px -15px; +} + +.rtl .modal-footer > :not(:first-child), +[dir="rtl"] .modal-footer > :not(:first-child) { + margin-right: .25rem; +} + +.rtl .modal-footer > :not(:last-child), +[dir="rtl"] .modal-footer > :not(:last-child) { + margin-left: .25rem; +} + +.rtl .modal-footer > :first-child, +[dir="rtl"] .modal-footer > :first-child { + margin-right: 0; +} + +.rtl .modal-footer > :last-child, +[dir="rtl"] .modal-footer > :last-child { + margin-left: 0; +} + +.rtl .alert-dismissible .close, +[dir="rtl"] .alert-dismissible .close { + right: inherit; + left: 0; +} + +.rtl .dropdown-toggle::after, +[dir="rtl"] .dropdown-toggle::after { + margin-right: .255em; + margin-left: 0; +} + +.rtl .form-check-input, +[dir="rtl"] .form-check-input { + margin-right: -1.25rem; + margin-left: inherit; +} + +.rtl .form-check-label, +[dir="rtl"] .form-check-label { + padding-right: 1.25rem; + padding-left: inherit; +} + +.rtl .pagination, +.rtl .list-unstyled, +.rtl .list-inline, +[dir="rtl"] .pagination, +[dir="rtl"] .list-unstyled, +[dir="rtl"] .list-inline { + padding-right: 0; + padding-left: inherit; +} + +.rtl .pagination .page-item:first-child .page-link, +[dir="rtl"] .pagination .page-item:first-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.rtl .pagination .page-item:last-child .page-link, +[dir="rtl"] .pagination .page-item:last-child .page-link { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.rtl .offset-1, +[dir="rtl"] .offset-1 { + margin-right: 8.333333%; + margin-left: 0; +} + +.rtl .offset-2, +[dir="rtl"] .offset-2 { + margin-right: 16.666667%; + margin-left: 0; +} + +.rtl .offset-3, +[dir="rtl"] .offset-3 { + margin-right: 25%; + margin-left: 0; +} + +.rtl .offset-4, +[dir="rtl"] .offset-4 { + margin-right: 33.333333%; + margin-left: 0; +} + +.rtl .offset-5, +[dir="rtl"] .offset-5 { + margin-right: 41.666667%; + margin-left: 0; +} + +.rtl .offset-6, +[dir="rtl"] .offset-6 { + margin-right: 50%; + margin-left: 0; +} + +.rtl .offset-7, +[dir="rtl"] .offset-7 { + margin-right: 58.333333%; + margin-left: 0; +} + +.rtl .offset-8, +[dir="rtl"] .offset-8 { + margin-right: 66.666667%; + margin-left: 0; +} + +.rtl .offset-9, +[dir="rtl"] .offset-9 { + margin-right: 75%; + margin-left: 0; +} + +.rtl .offset-10, +[dir="rtl"] .offset-10 { + margin-right: 83.333333%; + margin-left: 0; +} + +.rtl .offset-11, +[dir="rtl"] .offset-11 { + margin-right: 91.666667%; + margin-left: 0; +} + +@media (min-width: 576px) { + .rtl .offset-sm-0, + [dir="rtl"] .offset-sm-0 { + margin-right: 0; + margin-left: 0; + } + .rtl .offset-sm-1, + [dir="rtl"] .offset-sm-1 { + margin-right: 8.333333%; + margin-left: 0; + } + .rtl .offset-sm-2, + [dir="rtl"] .offset-sm-2 { + margin-right: 16.666667%; + margin-left: 0; + } + .rtl .offset-sm-3, + [dir="rtl"] .offset-sm-3 { + margin-right: 25%; + margin-left: 0; + } + .rtl .offset-sm-4, + [dir="rtl"] .offset-sm-4 { + margin-right: 33.333333%; + margin-left: 0; + } + .rtl .offset-sm-5, + [dir="rtl"] .offset-sm-5 { + margin-right: 41.666667%; + margin-left: 0; + } + .rtl .offset-sm-6, + [dir="rtl"] .offset-sm-6 { + margin-right: 50%; + margin-left: 0; + } + .rtl .offset-sm-7, + [dir="rtl"] .offset-sm-7 { + margin-right: 58.333333%; + margin-left: 0; + } + .rtl .offset-sm-8, + [dir="rtl"] .offset-sm-8 { + margin-right: 66.666667%; + margin-left: 0; + } + .rtl .offset-sm-9, + [dir="rtl"] .offset-sm-9 { + margin-right: 75%; + margin-left: 0; + } + .rtl .offset-sm-10, + [dir="rtl"] .offset-sm-10 { + margin-right: 83.333333%; + margin-left: 0; + } + .rtl .offset-sm-11, + [dir="rtl"] .offset-sm-11 { + margin-right: 91.666667%; + margin-left: 0; + } +} + +@media (min-width: 768px) { + .rtl .offset-md-0, + [dir="rtl"] .offset-md-0 { + margin-right: 0; + margin-left: 0; + } + .rtl .offset-md-1, + [dir="rtl"] .offset-md-1 { + margin-right: 8.333333%; + margin-left: 0; + } + .rtl .offset-md-2, + [dir="rtl"] .offset-md-2 { + margin-right: 16.666667%; + margin-left: 0; + } + .rtl .offset-md-3, + [dir="rtl"] .offset-md-3 { + margin-right: 25%; + margin-left: 0; + } + .rtl .offset-md-4, + [dir="rtl"] .offset-md-4 { + margin-right: 33.333333%; + margin-left: 0; + } + .rtl .offset-md-5, + [dir="rtl"] .offset-md-5 { + margin-right: 41.666667%; + margin-left: 0; + } + .rtl .offset-md-6, + [dir="rtl"] .offset-md-6 { + margin-right: 50%; + margin-left: 0; + } + .rtl .offset-md-7, + [dir="rtl"] .offset-md-7 { + margin-right: 58.333333%; + margin-left: 0; + } + .rtl .offset-md-8, + [dir="rtl"] .offset-md-8 { + margin-right: 66.666667%; + margin-left: 0; + } + .rtl .offset-md-9, + [dir="rtl"] .offset-md-9 { + margin-right: 75%; + margin-left: 0; + } + .rtl .offset-md-10, + [dir="rtl"] .offset-md-10 { + margin-right: 83.333333%; + margin-left: 0; + } + .rtl .offset-md-11, + [dir="rtl"] .offset-md-11 { + margin-right: 91.666667%; + margin-left: 0; + } +} + +@media (min-width: 992px) { + .rtl .offset-lg-0, + [dir="rtl"] .offset-lg-0 { + margin-right: 0; + margin-left: 0; + } + .rtl .offset-lg-1, + [dir="rtl"] .offset-lg-1 { + margin-right: 8.333333%; + margin-left: 0; + } + .rtl .offset-lg-2, + [dir="rtl"] .offset-lg-2 { + margin-right: 16.666667%; + margin-left: 0; + } + .rtl .offset-lg-3, + [dir="rtl"] .offset-lg-3 { + margin-right: 25%; + margin-left: 0; + } + .rtl .offset-lg-4, + [dir="rtl"] .offset-lg-4 { + margin-right: 33.333333%; + margin-left: 0; + } + .rtl .offset-lg-5, + [dir="rtl"] .offset-lg-5 { + margin-right: 41.666667%; + margin-left: 0; + } + .rtl .offset-lg-6, + [dir="rtl"] .offset-lg-6 { + margin-right: 50%; + margin-left: 0; + } + .rtl .offset-lg-7, + [dir="rtl"] .offset-lg-7 { + margin-right: 58.333333%; + margin-left: 0; + } + .rtl .offset-lg-8, + [dir="rtl"] .offset-lg-8 { + margin-right: 66.666667%; + margin-left: 0; + } + .rtl .offset-lg-9, + [dir="rtl"] .offset-lg-9 { + margin-right: 75%; + margin-left: 0; + } + .rtl .offset-lg-10, + [dir="rtl"] .offset-lg-10 { + margin-right: 83.333333%; + margin-left: 0; + } + .rtl .offset-lg-11, + [dir="rtl"] .offset-lg-11 { + margin-right: 91.666667%; + margin-left: 0; + } +} + +@media (min-width: 1200px) { + .rtl .offset-xl-0, + [dir="rtl"] .offset-xl-0 { + margin-right: 0; + margin-left: 0; + } + .rtl .offset-xl-1, + [dir="rtl"] .offset-xl-1 { + margin-right: 8.333333%; + margin-left: 0; + } + .rtl .offset-xl-2, + [dir="rtl"] .offset-xl-2 { + margin-right: 16.666667%; + margin-left: 0; + } + .rtl .offset-xl-3, + [dir="rtl"] .offset-xl-3 { + margin-right: 25%; + margin-left: 0; + } + .rtl .offset-xl-4, + [dir="rtl"] .offset-xl-4 { + margin-right: 33.333333%; + margin-left: 0; + } + .rtl .offset-xl-5, + [dir="rtl"] .offset-xl-5 { + margin-right: 41.666667%; + margin-left: 0; + } + .rtl .offset-xl-6, + [dir="rtl"] .offset-xl-6 { + margin-right: 50%; + margin-left: 0; + } + .rtl .offset-xl-7, + [dir="rtl"] .offset-xl-7 { + margin-right: 58.333333%; + margin-left: 0; + } + .rtl .offset-xl-8, + [dir="rtl"] .offset-xl-8 { + margin-right: 66.666667%; + margin-left: 0; + } + .rtl .offset-xl-9, + [dir="rtl"] .offset-xl-9 { + margin-right: 75%; + margin-left: 0; + } + .rtl .offset-xl-10, + [dir="rtl"] .offset-xl-10 { + margin-right: 83.333333%; + margin-left: 0; + } + .rtl .offset-xl-11, + [dir="rtl"] .offset-xl-11 { + margin-right: 91.666667%; + margin-left: 0; + } +} + +.rtl .mr-0, +[dir="rtl"] .mr-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.rtl .ml-0, +[dir="rtl"] .ml-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.rtl mx-0, +[dir="rtl"] mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.rtl .mr-1, +[dir="rtl"] .mr-1 { + margin-right: 0 !important; + margin-left: 0.25rem !important; +} + +.rtl .ml-1, +[dir="rtl"] .ml-1 { + margin-left: 0 !important; + margin-right: 0.25rem !important; +} + +.rtl mx-1, +[dir="rtl"] mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} + +.rtl .mr-2, +[dir="rtl"] .mr-2 { + margin-right: 0 !important; + margin-left: 0.5rem !important; +} + +.rtl .ml-2, +[dir="rtl"] .ml-2 { + margin-left: 0 !important; + margin-right: 0.5rem !important; +} + +.rtl mx-2, +[dir="rtl"] mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} + +.rtl .mr-3, +[dir="rtl"] .mr-3 { + margin-right: 0 !important; + margin-left: 1rem !important; +} + +.rtl .ml-3, +[dir="rtl"] .ml-3 { + margin-left: 0 !important; + margin-right: 1rem !important; +} + +.rtl mx-3, +[dir="rtl"] mx-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} + +.rtl .mr-4, +[dir="rtl"] .mr-4 { + margin-right: 0 !important; + margin-left: 1.5rem !important; +} + +.rtl .ml-4, +[dir="rtl"] .ml-4 { + margin-left: 0 !important; + margin-right: 1.5rem !important; +} + +.rtl mx-4, +[dir="rtl"] mx-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} + +.rtl .mr-5, +[dir="rtl"] .mr-5 { + margin-right: 0 !important; + margin-left: 3rem !important; +} + +.rtl .ml-5, +[dir="rtl"] .ml-5 { + margin-left: 0 !important; + margin-right: 3rem !important; +} + +.rtl mx-5, +[dir="rtl"] mx-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} + +.rtl .pr-0, +[dir="rtl"] .pr-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.rtl .pl-0, +[dir="rtl"] .pl-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.rtl px-0, +[dir="rtl"] px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.rtl .pr-1, +[dir="rtl"] .pr-1 { + padding-right: 0 !important; + padding-left: 0.25rem !important; +} + +.rtl .pl-1, +[dir="rtl"] .pl-1 { + padding-left: 0 !important; + padding-right: 0.25rem !important; +} + +.rtl px-1, +[dir="rtl"] px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} + +.rtl .pr-2, +[dir="rtl"] .pr-2 { + padding-right: 0 !important; + padding-left: 0.5rem !important; +} + +.rtl .pl-2, +[dir="rtl"] .pl-2 { + padding-left: 0 !important; + padding-right: 0.5rem !important; +} + +.rtl px-2, +[dir="rtl"] px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} + +.rtl .pr-3, +[dir="rtl"] .pr-3 { + padding-right: 0 !important; + padding-left: 1rem !important; +} + +.rtl .pl-3, +[dir="rtl"] .pl-3 { + padding-left: 0 !important; + padding-right: 1rem !important; +} + +.rtl px-3, +[dir="rtl"] px-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} + +.rtl .pr-4, +[dir="rtl"] .pr-4 { + padding-right: 0 !important; + padding-left: 1.5rem !important; +} + +.rtl .pl-4, +[dir="rtl"] .pl-4 { + padding-left: 0 !important; + padding-right: 1.5rem !important; +} + +.rtl px-4, +[dir="rtl"] px-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} + +.rtl .pr-5, +[dir="rtl"] .pr-5 { + padding-right: 0 !important; + padding-left: 3rem !important; +} + +.rtl .pl-5, +[dir="rtl"] .pl-5 { + padding-left: 0 !important; + padding-right: 3rem !important; +} + +.rtl px-5, +[dir="rtl"] px-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; +} + +.rtl .mr-auto, +[dir="rtl"] .mr-auto { + margin-right: 0 !important; + margin-left: auto !important; +} + +.rtl .ml-auto, +[dir="rtl"] .ml-auto { + margin-right: auto !important; + margin-left: 0 !important; +} + +.rtl .mx-auto, +[dir="rtl"] .mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +@media (min-width: 576px) { + .rtl .mr-sm-0, + [dir="rtl"] .mr-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .rtl .ml-sm-0, + [dir="rtl"] .ml-sm-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl mx-sm-0, + [dir="rtl"] mx-sm-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl .mr-sm-1, + [dir="rtl"] .mr-sm-1 { + margin-right: 0 !important; + margin-left: 0.25rem !important; + } + .rtl .ml-sm-1, + [dir="rtl"] .ml-sm-1 { + margin-left: 0 !important; + margin-right: 0.25rem !important; + } + .rtl mx-sm-1, + [dir="rtl"] mx-sm-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .rtl .mr-sm-2, + [dir="rtl"] .mr-sm-2 { + margin-right: 0 !important; + margin-left: 0.5rem !important; + } + .rtl .ml-sm-2, + [dir="rtl"] .ml-sm-2 { + margin-left: 0 !important; + margin-right: 0.5rem !important; + } + .rtl mx-sm-2, + [dir="rtl"] mx-sm-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .rtl .mr-sm-3, + [dir="rtl"] .mr-sm-3 { + margin-right: 0 !important; + margin-left: 1rem !important; + } + .rtl .ml-sm-3, + [dir="rtl"] .ml-sm-3 { + margin-left: 0 !important; + margin-right: 1rem !important; + } + .rtl mx-sm-3, + [dir="rtl"] mx-sm-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .rtl .mr-sm-4, + [dir="rtl"] .mr-sm-4 { + margin-right: 0 !important; + margin-left: 1.5rem !important; + } + .rtl .ml-sm-4, + [dir="rtl"] .ml-sm-4 { + margin-left: 0 !important; + margin-right: 1.5rem !important; + } + .rtl mx-sm-4, + [dir="rtl"] mx-sm-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .rtl .mr-sm-5, + [dir="rtl"] .mr-sm-5 { + margin-right: 0 !important; + margin-left: 3rem !important; + } + .rtl .ml-sm-5, + [dir="rtl"] .ml-sm-5 { + margin-left: 0 !important; + margin-right: 3rem !important; + } + .rtl mx-sm-5, + [dir="rtl"] mx-sm-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .rtl .pr-sm-0, + [dir="rtl"] .pr-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .rtl .pl-sm-0, + [dir="rtl"] .pl-sm-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl px-sm-0, + [dir="rtl"] px-sm-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl .pr-sm-1, + [dir="rtl"] .pr-sm-1 { + padding-right: 0 !important; + padding-left: 0.25rem !important; + } + .rtl .pl-sm-1, + [dir="rtl"] .pl-sm-1 { + padding-left: 0 !important; + padding-right: 0.25rem !important; + } + .rtl px-sm-1, + [dir="rtl"] px-sm-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .rtl .pr-sm-2, + [dir="rtl"] .pr-sm-2 { + padding-right: 0 !important; + padding-left: 0.5rem !important; + } + .rtl .pl-sm-2, + [dir="rtl"] .pl-sm-2 { + padding-left: 0 !important; + padding-right: 0.5rem !important; + } + .rtl px-sm-2, + [dir="rtl"] px-sm-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .rtl .pr-sm-3, + [dir="rtl"] .pr-sm-3 { + padding-right: 0 !important; + padding-left: 1rem !important; + } + .rtl .pl-sm-3, + [dir="rtl"] .pl-sm-3 { + padding-left: 0 !important; + padding-right: 1rem !important; + } + .rtl px-sm-3, + [dir="rtl"] px-sm-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .rtl .pr-sm-4, + [dir="rtl"] .pr-sm-4 { + padding-right: 0 !important; + padding-left: 1.5rem !important; + } + .rtl .pl-sm-4, + [dir="rtl"] .pl-sm-4 { + padding-left: 0 !important; + padding-right: 1.5rem !important; + } + .rtl px-sm-4, + [dir="rtl"] px-sm-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .rtl .pr-sm-5, + [dir="rtl"] .pr-sm-5 { + padding-right: 0 !important; + padding-left: 3rem !important; + } + .rtl .pl-sm-5, + [dir="rtl"] .pl-sm-5 { + padding-left: 0 !important; + padding-right: 3rem !important; + } + .rtl px-sm-5, + [dir="rtl"] px-sm-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .rtl .mr-sm-auto, + [dir="rtl"] .mr-sm-auto { + margin-right: 0 !important; + margin-left: auto !important; + } + .rtl .ml-sm-auto, + [dir="rtl"] .ml-sm-auto { + margin-right: auto !important; + margin-left: 0 !important; + } + .rtl .mx-sm-auto, + [dir="rtl"] .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .rtl .mr-md-0, + [dir="rtl"] .mr-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .rtl .ml-md-0, + [dir="rtl"] .ml-md-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl mx-md-0, + [dir="rtl"] mx-md-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl .mr-md-1, + [dir="rtl"] .mr-md-1 { + margin-right: 0 !important; + margin-left: 0.25rem !important; + } + .rtl .ml-md-1, + [dir="rtl"] .ml-md-1 { + margin-left: 0 !important; + margin-right: 0.25rem !important; + } + .rtl mx-md-1, + [dir="rtl"] mx-md-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .rtl .mr-md-2, + [dir="rtl"] .mr-md-2 { + margin-right: 0 !important; + margin-left: 0.5rem !important; + } + .rtl .ml-md-2, + [dir="rtl"] .ml-md-2 { + margin-left: 0 !important; + margin-right: 0.5rem !important; + } + .rtl mx-md-2, + [dir="rtl"] mx-md-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .rtl .mr-md-3, + [dir="rtl"] .mr-md-3 { + margin-right: 0 !important; + margin-left: 1rem !important; + } + .rtl .ml-md-3, + [dir="rtl"] .ml-md-3 { + margin-left: 0 !important; + margin-right: 1rem !important; + } + .rtl mx-md-3, + [dir="rtl"] mx-md-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .rtl .mr-md-4, + [dir="rtl"] .mr-md-4 { + margin-right: 0 !important; + margin-left: 1.5rem !important; + } + .rtl .ml-md-4, + [dir="rtl"] .ml-md-4 { + margin-left: 0 !important; + margin-right: 1.5rem !important; + } + .rtl mx-md-4, + [dir="rtl"] mx-md-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .rtl .mr-md-5, + [dir="rtl"] .mr-md-5 { + margin-right: 0 !important; + margin-left: 3rem !important; + } + .rtl .ml-md-5, + [dir="rtl"] .ml-md-5 { + margin-left: 0 !important; + margin-right: 3rem !important; + } + .rtl mx-md-5, + [dir="rtl"] mx-md-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .rtl .pr-md-0, + [dir="rtl"] .pr-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .rtl .pl-md-0, + [dir="rtl"] .pl-md-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl px-md-0, + [dir="rtl"] px-md-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl .pr-md-1, + [dir="rtl"] .pr-md-1 { + padding-right: 0 !important; + padding-left: 0.25rem !important; + } + .rtl .pl-md-1, + [dir="rtl"] .pl-md-1 { + padding-left: 0 !important; + padding-right: 0.25rem !important; + } + .rtl px-md-1, + [dir="rtl"] px-md-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .rtl .pr-md-2, + [dir="rtl"] .pr-md-2 { + padding-right: 0 !important; + padding-left: 0.5rem !important; + } + .rtl .pl-md-2, + [dir="rtl"] .pl-md-2 { + padding-left: 0 !important; + padding-right: 0.5rem !important; + } + .rtl px-md-2, + [dir="rtl"] px-md-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .rtl .pr-md-3, + [dir="rtl"] .pr-md-3 { + padding-right: 0 !important; + padding-left: 1rem !important; + } + .rtl .pl-md-3, + [dir="rtl"] .pl-md-3 { + padding-left: 0 !important; + padding-right: 1rem !important; + } + .rtl px-md-3, + [dir="rtl"] px-md-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .rtl .pr-md-4, + [dir="rtl"] .pr-md-4 { + padding-right: 0 !important; + padding-left: 1.5rem !important; + } + .rtl .pl-md-4, + [dir="rtl"] .pl-md-4 { + padding-left: 0 !important; + padding-right: 1.5rem !important; + } + .rtl px-md-4, + [dir="rtl"] px-md-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .rtl .pr-md-5, + [dir="rtl"] .pr-md-5 { + padding-right: 0 !important; + padding-left: 3rem !important; + } + .rtl .pl-md-5, + [dir="rtl"] .pl-md-5 { + padding-left: 0 !important; + padding-right: 3rem !important; + } + .rtl px-md-5, + [dir="rtl"] px-md-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .rtl .mr-md-auto, + [dir="rtl"] .mr-md-auto { + margin-right: 0 !important; + margin-left: auto !important; + } + .rtl .ml-md-auto, + [dir="rtl"] .ml-md-auto { + margin-right: auto !important; + margin-left: 0 !important; + } + .rtl .mx-md-auto, + [dir="rtl"] .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .rtl .mr-lg-0, + [dir="rtl"] .mr-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .rtl .ml-lg-0, + [dir="rtl"] .ml-lg-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl mx-lg-0, + [dir="rtl"] mx-lg-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl .mr-lg-1, + [dir="rtl"] .mr-lg-1 { + margin-right: 0 !important; + margin-left: 0.25rem !important; + } + .rtl .ml-lg-1, + [dir="rtl"] .ml-lg-1 { + margin-left: 0 !important; + margin-right: 0.25rem !important; + } + .rtl mx-lg-1, + [dir="rtl"] mx-lg-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .rtl .mr-lg-2, + [dir="rtl"] .mr-lg-2 { + margin-right: 0 !important; + margin-left: 0.5rem !important; + } + .rtl .ml-lg-2, + [dir="rtl"] .ml-lg-2 { + margin-left: 0 !important; + margin-right: 0.5rem !important; + } + .rtl mx-lg-2, + [dir="rtl"] mx-lg-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .rtl .mr-lg-3, + [dir="rtl"] .mr-lg-3 { + margin-right: 0 !important; + margin-left: 1rem !important; + } + .rtl .ml-lg-3, + [dir="rtl"] .ml-lg-3 { + margin-left: 0 !important; + margin-right: 1rem !important; + } + .rtl mx-lg-3, + [dir="rtl"] mx-lg-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .rtl .mr-lg-4, + [dir="rtl"] .mr-lg-4 { + margin-right: 0 !important; + margin-left: 1.5rem !important; + } + .rtl .ml-lg-4, + [dir="rtl"] .ml-lg-4 { + margin-left: 0 !important; + margin-right: 1.5rem !important; + } + .rtl mx-lg-4, + [dir="rtl"] mx-lg-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .rtl .mr-lg-5, + [dir="rtl"] .mr-lg-5 { + margin-right: 0 !important; + margin-left: 3rem !important; + } + .rtl .ml-lg-5, + [dir="rtl"] .ml-lg-5 { + margin-left: 0 !important; + margin-right: 3rem !important; + } + .rtl mx-lg-5, + [dir="rtl"] mx-lg-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .rtl .pr-lg-0, + [dir="rtl"] .pr-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .rtl .pl-lg-0, + [dir="rtl"] .pl-lg-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl px-lg-0, + [dir="rtl"] px-lg-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl .pr-lg-1, + [dir="rtl"] .pr-lg-1 { + padding-right: 0 !important; + padding-left: 0.25rem !important; + } + .rtl .pl-lg-1, + [dir="rtl"] .pl-lg-1 { + padding-left: 0 !important; + padding-right: 0.25rem !important; + } + .rtl px-lg-1, + [dir="rtl"] px-lg-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .rtl .pr-lg-2, + [dir="rtl"] .pr-lg-2 { + padding-right: 0 !important; + padding-left: 0.5rem !important; + } + .rtl .pl-lg-2, + [dir="rtl"] .pl-lg-2 { + padding-left: 0 !important; + padding-right: 0.5rem !important; + } + .rtl px-lg-2, + [dir="rtl"] px-lg-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .rtl .pr-lg-3, + [dir="rtl"] .pr-lg-3 { + padding-right: 0 !important; + padding-left: 1rem !important; + } + .rtl .pl-lg-3, + [dir="rtl"] .pl-lg-3 { + padding-left: 0 !important; + padding-right: 1rem !important; + } + .rtl px-lg-3, + [dir="rtl"] px-lg-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .rtl .pr-lg-4, + [dir="rtl"] .pr-lg-4 { + padding-right: 0 !important; + padding-left: 1.5rem !important; + } + .rtl .pl-lg-4, + [dir="rtl"] .pl-lg-4 { + padding-left: 0 !important; + padding-right: 1.5rem !important; + } + .rtl px-lg-4, + [dir="rtl"] px-lg-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .rtl .pr-lg-5, + [dir="rtl"] .pr-lg-5 { + padding-right: 0 !important; + padding-left: 3rem !important; + } + .rtl .pl-lg-5, + [dir="rtl"] .pl-lg-5 { + padding-left: 0 !important; + padding-right: 3rem !important; + } + .rtl px-lg-5, + [dir="rtl"] px-lg-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .rtl .mr-lg-auto, + [dir="rtl"] .mr-lg-auto { + margin-right: 0 !important; + margin-left: auto !important; + } + .rtl .ml-lg-auto, + [dir="rtl"] .ml-lg-auto { + margin-right: auto !important; + margin-left: 0 !important; + } + .rtl .mx-lg-auto, + [dir="rtl"] .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .rtl .mr-xl-0, + [dir="rtl"] .mr-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .rtl .ml-xl-0, + [dir="rtl"] .ml-xl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl mx-xl-0, + [dir="rtl"] mx-xl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl .mr-xl-1, + [dir="rtl"] .mr-xl-1 { + margin-right: 0 !important; + margin-left: 0.25rem !important; + } + .rtl .ml-xl-1, + [dir="rtl"] .ml-xl-1 { + margin-left: 0 !important; + margin-right: 0.25rem !important; + } + .rtl mx-xl-1, + [dir="rtl"] mx-xl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .rtl .mr-xl-2, + [dir="rtl"] .mr-xl-2 { + margin-right: 0 !important; + margin-left: 0.5rem !important; + } + .rtl .ml-xl-2, + [dir="rtl"] .ml-xl-2 { + margin-left: 0 !important; + margin-right: 0.5rem !important; + } + .rtl mx-xl-2, + [dir="rtl"] mx-xl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .rtl .mr-xl-3, + [dir="rtl"] .mr-xl-3 { + margin-right: 0 !important; + margin-left: 1rem !important; + } + .rtl .ml-xl-3, + [dir="rtl"] .ml-xl-3 { + margin-left: 0 !important; + margin-right: 1rem !important; + } + .rtl mx-xl-3, + [dir="rtl"] mx-xl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .rtl .mr-xl-4, + [dir="rtl"] .mr-xl-4 { + margin-right: 0 !important; + margin-left: 1.5rem !important; + } + .rtl .ml-xl-4, + [dir="rtl"] .ml-xl-4 { + margin-left: 0 !important; + margin-right: 1.5rem !important; + } + .rtl mx-xl-4, + [dir="rtl"] mx-xl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .rtl .mr-xl-5, + [dir="rtl"] .mr-xl-5 { + margin-right: 0 !important; + margin-left: 3rem !important; + } + .rtl .ml-xl-5, + [dir="rtl"] .ml-xl-5 { + margin-left: 0 !important; + margin-right: 3rem !important; + } + .rtl mx-xl-5, + [dir="rtl"] mx-xl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .rtl .pr-xl-0, + [dir="rtl"] .pr-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .rtl .pl-xl-0, + [dir="rtl"] .pl-xl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl px-xl-0, + [dir="rtl"] px-xl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl .pr-xl-1, + [dir="rtl"] .pr-xl-1 { + padding-right: 0 !important; + padding-left: 0.25rem !important; + } + .rtl .pl-xl-1, + [dir="rtl"] .pl-xl-1 { + padding-left: 0 !important; + padding-right: 0.25rem !important; + } + .rtl px-xl-1, + [dir="rtl"] px-xl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .rtl .pr-xl-2, + [dir="rtl"] .pr-xl-2 { + padding-right: 0 !important; + padding-left: 0.5rem !important; + } + .rtl .pl-xl-2, + [dir="rtl"] .pl-xl-2 { + padding-left: 0 !important; + padding-right: 0.5rem !important; + } + .rtl px-xl-2, + [dir="rtl"] px-xl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .rtl .pr-xl-3, + [dir="rtl"] .pr-xl-3 { + padding-right: 0 !important; + padding-left: 1rem !important; + } + .rtl .pl-xl-3, + [dir="rtl"] .pl-xl-3 { + padding-left: 0 !important; + padding-right: 1rem !important; + } + .rtl px-xl-3, + [dir="rtl"] px-xl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .rtl .pr-xl-4, + [dir="rtl"] .pr-xl-4 { + padding-right: 0 !important; + padding-left: 1.5rem !important; + } + .rtl .pl-xl-4, + [dir="rtl"] .pl-xl-4 { + padding-left: 0 !important; + padding-right: 1.5rem !important; + } + .rtl px-xl-4, + [dir="rtl"] px-xl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .rtl .pr-xl-5, + [dir="rtl"] .pr-xl-5 { + padding-right: 0 !important; + padding-left: 3rem !important; + } + .rtl .pl-xl-5, + [dir="rtl"] .pl-xl-5 { + padding-left: 0 !important; + padding-right: 3rem !important; + } + .rtl px-xl-5, + [dir="rtl"] px-xl-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .rtl .mr-xl-auto, + [dir="rtl"] .mr-xl-auto { + margin-right: 0 !important; + margin-left: auto !important; + } + .rtl .ml-xl-auto, + [dir="rtl"] .ml-xl-auto { + margin-right: auto !important; + margin-left: 0 !important; + } + .rtl .mx-xl-auto, + [dir="rtl"] .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } +} + +.rtl .text-right, +[dir="rtl"] .text-right { + text-align: left !important; +} + +.rtl .text-left, +[dir="rtl"] .text-left { + text-align: right !important; +} + +@media (min-width: 576px) { + .rtl .text-sm-right, + [dir="rtl"] .text-sm-right { + text-align: left !important; + } + .rtl .text-sm-left, + [dir="rtl"] .text-sm-left { + text-align: right !important; + } +} + +@media (min-width: 768px) { + .rtl .text-md-right, + [dir="rtl"] .text-md-right { + text-align: left !important; + } + .rtl .text-md-left, + [dir="rtl"] .text-md-left { + text-align: right !important; + } +} + +@media (min-width: 992px) { + .rtl .text-lg-right, + [dir="rtl"] .text-lg-right { + text-align: left !important; + } + .rtl .text-lg-left, + [dir="rtl"] .text-lg-left { + text-align: right !important; + } +} + +@media (min-width: 1200px) { + .rtl .text-xl-right, + [dir="rtl"] .text-xl-right { + text-align: left !important; + } + .rtl .text-xl-left, + [dir="rtl"] .text-xl-left { + text-align: right !important; + } +} +/*# sourceMappingURL=bootstrap-rtl.css.map */ \ No newline at end of file diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map new file mode 100644 index 0000000..69262df --- /dev/null +++ b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-rtl.scss","bootstrap-rtl.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_interactions.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss","../../scss/_rtl.scss"],"names":[],"mappings":"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E,wBAAwB;AFxH1B;;AEgIA;EACE,aAAa;EACb,0BAA0B;AF7H5B;;AEoIA;EACE,qBAAqB;AFjIvB;;AEoIA;EACE,kBAAkB;EAClB,eAAe;AFjIjB;;AEoIA;EACE,aAAa;AFjIf;;AAEA;EEqIE,wBAAwB;AFnI1B;;AMzVA;;EAEE,qBHqSuC;EGnSvC,gBHqS+B;EGpS/B,gBHqS+B;AHsDjC;;AMvVA;EFgHM,iBAtCY;AJiRlB;;AM1VA;EF+GM,eAtCY;AJqRlB;;AM7VA;EF8GM,kBAtCY;AJyRlB;;AMhWA;EF6GM,iBAtCY;AJ6RlB;;AMnWA;EF4GM,kBAtCY;AJiSlB;;AMtWA;EF2GM,eAtCY;AJqSlB;;AMxWA;EFyGM,kBAtCY;EEjEhB,gBHuS+B;AHoEjC;;AMvWA;EFmGM,eAtCY;EE3DhB,gBH0R+B;EGzR/B,gBHiR+B;AHyFjC;;AMxWA;EF8FM,iBAtCY;EEtDhB,gBHsR+B;EGrR/B,gBH4Q+B;AH+FjC;;AMzWA;EFyFM,iBAtCY;EEjDhB,gBHkR+B;EGjR/B,gBHuQ+B;AHqGjC;;AM1WA;EFoFM,iBAtCY;EE5ChB,gBH8Q+B;EG7Q/B,gBHkQ+B;AH2GjC;;AEhVA;EIpBE,gBHgFW;EG/EX,mBH+EW;EG9EX,SAAS;EACT,wCHzCa;AHiZf;;AMhWA;;EFMI,cAAW;EEHb,gBH0N+B;AHyIjC;;AMhWA;;EAEE,cHkQgC;EGjQhC,yBH0QmC;AHyFrC;;AM3VA;EC/EE,eAAe;EACf,gBAAgB;AP8alB;;AM3VA;ECpFE,eAAe;EACf,gBAAgB;APmblB;;AM7VA;EACE,qBAAqB;ANgWvB;;AMjWA;EAII,oBHoP+B;AH6GnC;;AMvVA;EFjCI,cAAW;EEmCb,yBAAyB;AN0V3B;;AMtVA;EACE,mBHuBW;ECRP,kBAtCY;AJiXlB;;AMtVA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHmclB;;AM5VA;EAMI,qBAAqB;AN0VzB;;AQ7cA;ECIE,eAAe;EAGf,YAAY;AT2cd;;AQ5cA;EACE,gBLmgCwC;EKlgCxC,sBLRa;EKSb,yBLNgB;EOQd,sBP6NgC;EMpOlC,eAAe;EAGf,YAAY;ATodd;;AQtcA;EAEE,qBAAqB;ARwcvB;;AQrcA;EACE,qBAA0B;EAC1B,cAAc;ARwchB;;AQrcA;EJkCI,cAAW;EIhCb,cL3BgB;AHmelB;;AW/eA;EPuEI,gBAAW;EOrEb,cRmCe;EQlCf,qBAAqB;AXkfvB;;AW/eE;EACE,cAAc;AXkflB;;AW7eA;EACE,sBRulCuC;EC7hCrC,gBAAW;EOxDb,WRTa;EQUb,yBRDgB;EOEd,qBP+N+B;AHiRnC;;AWrfA;EASI,UAAU;EPkDV,eAAW;EOhDX,gBRwQ6B;AHwOjC;;AExSA;ESjME,cAAc;EPyCZ,gBAAW;EOvCb,cRjBgB;AH8flB;;AWhfA;EP0CI,kBAAW;EOlCX,cAAc;EACd,kBAAkB;AX6etB;;AWxeA;EACE,iBR8jCuC;EQ7jCvC,kBAAkB;AX2epB;;AYnhBE;;;;;;ECDA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab6hBnB;;Ac1eI;EFzCE;IACE,gBT+LG;EHwVT;AACF;;AchfI;EFzCE;IACE,gBTgMG;EH6VT;AACF;;ActfI;EFzCE;IACE,gBTiMG;EHkWT;AACF;;Ac5fI;EFzCE;IACE,iBTkMI;EHuWV;AACF;;AY9gBE;ECnCA,aAAa;EACb,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AbqjB3B;;AY/gBE;EACE,eAAe;EACf,cAAc;AZkhBlB;;AYphBE;;EAMI,gBAAgB;EAChB,eAAe;AZmhBrB;;AezkBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;AfilB7B;;Ae3jBM;EACE,aAAa;EACb,YAAY;EACZ,eAAe;Af8jBvB;;AezjBU;EFwBN,cAAuB;EACvB,eAAwB;AbqiB5B;;Ae9jBU;EFwBN,aAAuB;EACvB,cAAwB;Ab0iB5B;;AenkBU;EFwBN,oBAAuB;EACvB,qBAAwB;Ab+iB5B;;AexkBU;EFwBN,aAAuB;EACvB,cAAwB;AbojB5B;;Ae7kBU;EFwBN,aAAuB;EACvB,cAAwB;AbyjB5B;;AellBU;EFwBN,oBAAuB;EACvB,qBAAwB;Ab8jB5B;;AejlBM;EFCJ,cAAc;EACd,WAAW;EACX,eAAe;AbolBjB;;AejlBU;EFbR,mBAAsC;EAItC,oBAAuC;Ab+lBzC;;AetlBU;EFbR,oBAAsC;EAItC,qBAAuC;AbomBzC;;Ae3lBU;EFbR,aAAsC;EAItC,cAAuC;AbymBzC;;AehmBU;EFbR,oBAAsC;EAItC,qBAAuC;Ab8mBzC;;AermBU;EFbR,oBAAsC;EAItC,qBAAuC;AbmnBzC;;Ae1mBU;EFbR,aAAsC;EAItC,cAAuC;AbwnBzC;;Ae/mBU;EFbR,oBAAsC;EAItC,qBAAuC;Ab6nBzC;;AepnBU;EFbR,oBAAsC;EAItC,qBAAuC;AbkoBzC;;AeznBU;EFbR,aAAsC;EAItC,cAAuC;AbuoBzC;;Ae9nBU;EFbR,oBAAsC;EAItC,qBAAuC;Ab4oBzC;;AenoBU;EFbR,oBAAsC;EAItC,qBAAuC;AbipBzC;;AexoBU;EFbR,cAAsC;EAItC,eAAuC;AbspBzC;;AevoBM;EAAwB,SAAS;Af2oBvC;;AezoBM;EAAuB,SZmKG;AH0ehC;;Ae1oBQ;EAAwB,QADZ;Af+oBpB;;Ae9oBQ;EAAwB,QADZ;AfmpBpB;;AelpBQ;EAAwB,QADZ;AfupBpB;;AetpBQ;EAAwB,QADZ;Af2pBpB;;Ae1pBQ;EAAwB,QADZ;Af+pBpB;;Ae9pBQ;EAAwB,QADZ;AfmqBpB;;AelqBQ;EAAwB,QADZ;AfuqBpB;;AetqBQ;EAAwB,QADZ;Af2qBpB;;Ae1qBQ;EAAwB,QADZ;Af+qBpB;;Ae9qBQ;EAAwB,QADZ;AfmrBpB;;AelrBQ;EAAwB,SADZ;AfurBpB;;AetrBQ;EAAwB,SADZ;Af2rBpB;;Ae1rBQ;EAAwB,SADZ;Af+rBpB;;AevrBY;EFhBV,sBAA8C;Ab2sBhD;;Ae3rBY;EFhBV,uBAA8C;Ab+sBhD;;Ae/rBY;EFhBV,gBAA8C;AbmtBhD;;AensBY;EFhBV,uBAA8C;AbutBhD;;AevsBY;EFhBV,uBAA8C;Ab2tBhD;;Ae3sBY;EFhBV,gBAA8C;Ab+tBhD;;Ae/sBY;EFhBV,uBAA8C;AbmuBhD;;AentBY;EFhBV,uBAA8C;AbuuBhD;;AevtBY;EFhBV,gBAA8C;Ab2uBhD;;Ae3tBY;EFhBV,uBAA8C;Ab+uBhD;;Ae/tBY;EFhBV,uBAA8C;AbmvBhD;;Ac9uBI;EC3BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Ef6wBrB;EexwBQ;IFwBN,cAAuB;IACvB,eAAwB;EbmvB1B;Ee5wBQ;IFwBN,aAAuB;IACvB,cAAwB;EbuvB1B;EehxBQ;IFwBN,oBAAuB;IACvB,qBAAwB;Eb2vB1B;EepxBQ;IFwBN,aAAuB;IACvB,cAAwB;Eb+vB1B;EexxBQ;IFwBN,aAAuB;IACvB,cAAwB;EbmwB1B;Ee5xBQ;IFwBN,oBAAuB;IACvB,qBAAwB;EbuwB1B;Ee1xBI;IFCJ,cAAc;IACd,WAAW;IACX,eAAe;Eb4xBf;EezxBQ;IFbR,mBAAsC;IAItC,oBAAuC;EbsyBvC;Ee7xBQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb0yBvC;EejyBQ;IFbR,aAAsC;IAItC,cAAuC;Eb8yBvC;EeryBQ;IFbR,oBAAsC;IAItC,qBAAuC;EbkzBvC;EezyBQ;IFbR,oBAAsC;IAItC,qBAAuC;EbszBvC;Ee7yBQ;IFbR,aAAsC;IAItC,cAAuC;Eb0zBvC;EejzBQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb8zBvC;EerzBQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebk0BvC;EezzBQ;IFbR,aAAsC;IAItC,cAAuC;Ebs0BvC;Ee7zBQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb00BvC;Eej0BQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb80BvC;Eer0BQ;IFbR,cAAsC;IAItC,eAAuC;Ebk1BvC;Een0BI;IAAwB,SAAS;Efs0BrC;Eep0BI;IAAuB,SZmKG;EHoqB9B;Eep0BM;IAAwB,QADZ;Efw0BlB;Eev0BM;IAAwB,QADZ;Ef20BlB;Ee10BM;IAAwB,QADZ;Ef80BlB;Ee70BM;IAAwB,QADZ;Efi1BlB;Eeh1BM;IAAwB,QADZ;Efo1BlB;Een1BM;IAAwB,QADZ;Efu1BlB;Eet1BM;IAAwB,QADZ;Ef01BlB;Eez1BM;IAAwB,QADZ;Ef61BlB;Ee51BM;IAAwB,QADZ;Efg2BlB;Ee/1BM;IAAwB,QADZ;Efm2BlB;Eel2BM;IAAwB,SADZ;Efs2BlB;Eer2BM;IAAwB,SADZ;Efy2BlB;Eex2BM;IAAwB,SADZ;Ef42BlB;Eep2BU;IFhBV,cAA4B;Ebu3B5B;Eev2BU;IFhBV,sBAA8C;Eb03B9C;Ee12BU;IFhBV,uBAA8C;Eb63B9C;Ee72BU;IFhBV,gBAA8C;Ebg4B9C;Eeh3BU;IFhBV,uBAA8C;Ebm4B9C;Een3BU;IFhBV,uBAA8C;Ebs4B9C;Eet3BU;IFhBV,gBAA8C;Eby4B9C;Eez3BU;IFhBV,uBAA8C;Eb44B9C;Ee53BU;IFhBV,uBAA8C;Eb+4B9C;Ee/3BU;IFhBV,gBAA8C;Ebk5B9C;Eel4BU;IFhBV,uBAA8C;Ebq5B9C;Eer4BU;IFhBV,uBAA8C;Ebw5B9C;AACF;;Acp5BI;EC3BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Efm7BrB;Ee96BQ;IFwBN,cAAuB;IACvB,eAAwB;Eby5B1B;Eel7BQ;IFwBN,aAAuB;IACvB,cAAwB;Eb65B1B;Eet7BQ;IFwBN,oBAAuB;IACvB,qBAAwB;Ebi6B1B;Ee17BQ;IFwBN,aAAuB;IACvB,cAAwB;Ebq6B1B;Ee97BQ;IFwBN,aAAuB;IACvB,cAAwB;Eby6B1B;Eel8BQ;IFwBN,oBAAuB;IACvB,qBAAwB;Eb66B1B;Eeh8BI;IFCJ,cAAc;IACd,WAAW;IACX,eAAe;Ebk8Bf;Ee/7BQ;IFbR,mBAAsC;IAItC,oBAAuC;Eb48BvC;Een8BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebg9BvC;Eev8BQ;IFbR,aAAsC;IAItC,cAAuC;Ebo9BvC;Ee38BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebw9BvC;Ee/8BQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb49BvC;Een9BQ;IFbR,aAAsC;IAItC,cAAuC;Ebg+BvC;Eev9BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebo+BvC;Ee39BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebw+BvC;Ee/9BQ;IFbR,aAAsC;IAItC,cAAuC;Eb4+BvC;Een+BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebg/BvC;Eev+BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebo/BvC;Ee3+BQ;IFbR,cAAsC;IAItC,eAAuC;Ebw/BvC;Eez+BI;IAAwB,SAAS;Ef4+BrC;Ee1+BI;IAAuB,SZmKG;EH00B9B;Ee1+BM;IAAwB,QADZ;Ef8+BlB;Ee7+BM;IAAwB,QADZ;Efi/BlB;Eeh/BM;IAAwB,QADZ;Efo/BlB;Een/BM;IAAwB,QADZ;Efu/BlB;Eet/BM;IAAwB,QADZ;Ef0/BlB;Eez/BM;IAAwB,QADZ;Ef6/BlB;Ee5/BM;IAAwB,QADZ;EfggClB;Ee//BM;IAAwB,QADZ;EfmgClB;EelgCM;IAAwB,QADZ;EfsgClB;EergCM;IAAwB,QADZ;EfygClB;EexgCM;IAAwB,SADZ;Ef4gClB;Ee3gCM;IAAwB,SADZ;Ef+gClB;Ee9gCM;IAAwB,SADZ;EfkhClB;Ee1gCU;IFhBV,cAA4B;Eb6hC5B;Ee7gCU;IFhBV,sBAA8C;EbgiC9C;EehhCU;IFhBV,uBAA8C;EbmiC9C;EenhCU;IFhBV,gBAA8C;EbsiC9C;EethCU;IFhBV,uBAA8C;EbyiC9C;EezhCU;IFhBV,uBAA8C;Eb4iC9C;Ee5hCU;IFhBV,gBAA8C;Eb+iC9C;Ee/hCU;IFhBV,uBAA8C;EbkjC9C;EeliCU;IFhBV,uBAA8C;EbqjC9C;EeriCU;IFhBV,gBAA8C;EbwjC9C;EexiCU;IFhBV,uBAA8C;Eb2jC9C;Ee3iCU;IFhBV,uBAA8C;Eb8jC9C;AACF;;Ac1jCI;EC3BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;EfylCrB;EeplCQ;IFwBN,cAAuB;IACvB,eAAwB;Eb+jC1B;EexlCQ;IFwBN,aAAuB;IACvB,cAAwB;EbmkC1B;Ee5lCQ;IFwBN,oBAAuB;IACvB,qBAAwB;EbukC1B;EehmCQ;IFwBN,aAAuB;IACvB,cAAwB;Eb2kC1B;EepmCQ;IFwBN,aAAuB;IACvB,cAAwB;Eb+kC1B;EexmCQ;IFwBN,oBAAuB;IACvB,qBAAwB;EbmlC1B;EetmCI;IFCJ,cAAc;IACd,WAAW;IACX,eAAe;EbwmCf;EermCQ;IFbR,mBAAsC;IAItC,oBAAuC;EbknCvC;EezmCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbsnCvC;Ee7mCQ;IFbR,aAAsC;IAItC,cAAuC;Eb0nCvC;EejnCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb8nCvC;EernCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbkoCvC;EeznCQ;IFbR,aAAsC;IAItC,cAAuC;EbsoCvC;Ee7nCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb0oCvC;EejoCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb8oCvC;EeroCQ;IFbR,aAAsC;IAItC,cAAuC;EbkpCvC;EezoCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbspCvC;Ee7oCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb0pCvC;EejpCQ;IFbR,cAAsC;IAItC,eAAuC;Eb8pCvC;Ee/oCI;IAAwB,SAAS;EfkpCrC;EehpCI;IAAuB,SZmKG;EHg/B9B;EehpCM;IAAwB,QADZ;EfopClB;EenpCM;IAAwB,QADZ;EfupClB;EetpCM;IAAwB,QADZ;Ef0pClB;EezpCM;IAAwB,QADZ;Ef6pClB;Ee5pCM;IAAwB,QADZ;EfgqClB;Ee/pCM;IAAwB,QADZ;EfmqClB;EelqCM;IAAwB,QADZ;EfsqClB;EerqCM;IAAwB,QADZ;EfyqClB;EexqCM;IAAwB,QADZ;Ef4qClB;Ee3qCM;IAAwB,QADZ;Ef+qClB;Ee9qCM;IAAwB,SADZ;EfkrClB;EejrCM;IAAwB,SADZ;EfqrClB;EeprCM;IAAwB,SADZ;EfwrClB;EehrCU;IFhBV,cAA4B;EbmsC5B;EenrCU;IFhBV,sBAA8C;EbssC9C;EetrCU;IFhBV,uBAA8C;EbysC9C;EezrCU;IFhBV,gBAA8C;Eb4sC9C;Ee5rCU;IFhBV,uBAA8C;Eb+sC9C;Ee/rCU;IFhBV,uBAA8C;EbktC9C;EelsCU;IFhBV,gBAA8C;EbqtC9C;EersCU;IFhBV,uBAA8C;EbwtC9C;EexsCU;IFhBV,uBAA8C;Eb2tC9C;Ee3sCU;IFhBV,gBAA8C;Eb8tC9C;Ee9sCU;IFhBV,uBAA8C;EbiuC9C;EejtCU;IFhBV,uBAA8C;EbouC9C;AACF;;AchuCI;EC3BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Ef+vCrB;Ee1vCQ;IFwBN,cAAuB;IACvB,eAAwB;EbquC1B;Ee9vCQ;IFwBN,aAAuB;IACvB,cAAwB;EbyuC1B;EelwCQ;IFwBN,oBAAuB;IACvB,qBAAwB;Eb6uC1B;EetwCQ;IFwBN,aAAuB;IACvB,cAAwB;EbivC1B;Ee1wCQ;IFwBN,aAAuB;IACvB,cAAwB;EbqvC1B;Ee9wCQ;IFwBN,oBAAuB;IACvB,qBAAwB;EbyvC1B;Ee5wCI;IFCJ,cAAc;IACd,WAAW;IACX,eAAe;Eb8wCf;Ee3wCQ;IFbR,mBAAsC;IAItC,oBAAuC;EbwxCvC;Ee/wCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb4xCvC;EenxCQ;IFbR,aAAsC;IAItC,cAAuC;EbgyCvC;EevxCQ;IFbR,oBAAsC;IAItC,qBAAuC;EboyCvC;Ee3xCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbwyCvC;Ee/xCQ;IFbR,aAAsC;IAItC,cAAuC;Eb4yCvC;EenyCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbgzCvC;EevyCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbozCvC;Ee3yCQ;IFbR,aAAsC;IAItC,cAAuC;EbwzCvC;Ee/yCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb4zCvC;EenzCQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebg0CvC;EevzCQ;IFbR,cAAsC;IAItC,eAAuC;Ebo0CvC;EerzCI;IAAwB,SAAS;EfwzCrC;EetzCI;IAAuB,SZmKG;EHspC9B;EetzCM;IAAwB,QADZ;Ef0zClB;EezzCM;IAAwB,QADZ;Ef6zClB;Ee5zCM;IAAwB,QADZ;Efg0ClB;Ee/zCM;IAAwB,QADZ;Efm0ClB;Eel0CM;IAAwB,QADZ;Efs0ClB;Eer0CM;IAAwB,QADZ;Efy0ClB;Eex0CM;IAAwB,QADZ;Ef40ClB;Ee30CM;IAAwB,QADZ;Ef+0ClB;Ee90CM;IAAwB,QADZ;Efk1ClB;Eej1CM;IAAwB,QADZ;Efq1ClB;Eep1CM;IAAwB,SADZ;Efw1ClB;Eev1CM;IAAwB,SADZ;Ef21ClB;Ee11CM;IAAwB,SADZ;Ef81ClB;Eet1CU;IFhBV,cAA4B;Eby2C5B;Eez1CU;IFhBV,sBAA8C;Eb42C9C;Ee51CU;IFhBV,uBAA8C;Eb+2C9C;Ee/1CU;IFhBV,gBAA8C;Ebk3C9C;Eel2CU;IFhBV,uBAA8C;Ebq3C9C;Eer2CU;IFhBV,uBAA8C;Ebw3C9C;Eex2CU;IFhBV,gBAA8C;Eb23C9C;Ee32CU;IFhBV,uBAA8C;Eb83C9C;Ee92CU;IFhBV,uBAA8C;Ebi4C9C;Eej3CU;IFhBV,gBAA8C;Ebo4C9C;Eep3CU;IFhBV,uBAA8C;Ebu4C9C;Eev3CU;IFhBV,uBAA8C;Eb04C9C;AACF;;AgB97CA;EACE,WAAW;EACX,mBbiIW;EahIX,cbSgB;AHw7ClB;;AgBp8CA;;EAQI,gBbkVgC;EajVhC,mBAAmB;EACnB,6BbJc;AHq8ClB;;AgB38CA;EAcI,sBAAsB;EACtB,gCbTc;AH08ClB;;AgBh9CA;EAmBI,6Bbbc;AH88ClB;;AgBx7CA;;EAGI,eb4T+B;AH8nCnC;;AgBj7CA;EACE,yBbnCgB;AHu9ClB;;AgBr7CA;;EAKI,yBbvCc;AH49ClB;;AgB17CA;;EAWM,wBAA4C;AhBo7ClD;;AgB/6CA;;;;EAKI,SAAS;AhBi7Cb;;AgBz6CA;EAEI,qCb1DW;AHq+Cf;;AK1+CE;EW2EI,cbvEY;EawEZ,sCbvES;AH0+Cf;;AiBt/CE;;;EAII,yBCgG4D;AlBw5ClE;;AiB5/CE;;;;EAYM,qBCwF0D;AlB+5ClE;;AK5/CE;EYiBM,yBAJsC;AjBm/C9C;;AiBp/CE;;EASQ,yBARoC;AjBw/C9C;;AiB5gDE;;;EAII,yBCgG4D;AlB86ClE;;AiBlhDE;;;;EAYM,qBCwF0D;AlBq7ClE;;AKlhDE;EYiBM,yBAJsC;AjBygD9C;;AiB1gDE;;EASQ,yBARoC;AjB8gD9C;;AiBliDE;;;EAII,yBCgG4D;AlBo8ClE;;AiBxiDE;;;;EAYM,qBCwF0D;AlB28ClE;;AKxiDE;EYiBM,yBAJsC;AjB+hD9C;;AiBhiDE;;EASQ,yBARoC;AjBoiD9C;;AiBxjDE;;;EAII,yBCgG4D;AlB09ClE;;AiB9jDE;;;;EAYM,qBCwF0D;AlBi+ClE;;AK9jDE;EYiBM,yBAJsC;AjBqjD9C;;AiBtjDE;;EASQ,yBARoC;AjB0jD9C;;AiB9kDE;;;EAII,yBCgG4D;AlBg/ClE;;AiBplDE;;;;EAYM,qBCwF0D;AlBu/ClE;;AKplDE;EYiBM,yBAJsC;AjB2kD9C;;AiB5kDE;;EASQ,yBARoC;AjBglD9C;;AiBpmDE;;;EAII,yBCgG4D;AlBsgDlE;;AiB1mDE;;;;EAYM,qBCwF0D;AlB6gDlE;;AK1mDE;EYiBM,yBAJsC;AjBimD9C;;AiBlmDE;;EASQ,yBARoC;AjBsmD9C;;AiB1nDE;;;EAII,yBCgG4D;AlB4hDlE;;AiBhoDE;;;;EAYM,qBCwF0D;AlBmiDlE;;AKhoDE;EYiBM,yBAJsC;AjBunD9C;;AiBxnDE;;EASQ,yBARoC;AjB4nD9C;;AiBhpDE;;;EAII,yBCgG4D;AlBkjDlE;;AiBtpDE;;;;EAYM,qBCwF0D;AlByjDlE;;AKtpDE;EYiBM,yBAJsC;AjB6oD9C;;AiB9oDE;;EASQ,yBARoC;AjBkpD9C;;AiBtqDE;;;EAII,sCdQS;AHgqDf;;AKrqDE;EYiBM,sCAJsC;AjB4pD9C;;AiB7pDE;;EASQ,sCARoC;AjBiqD9C;;AgB3kDA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBbgQqD;AH40C3D;;AgBjlDA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AH4rDlB;;AgBrkDA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AH4rDlB;;AgB1kDA;;;EAOI,qBb4OuD;AH61C3D;;AgBhlDA;EAWI,SAAS;AhBykDb;;AgBplDA;EAgBM,2Cb1IS;AHktDf;;AK7sDE;EW4IM,WbjJO;EakJP,4CblJO;AHutDf;;AcrpDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBujDvC;EgB5jDG;IASK,SAAS;EhBsjDjB;AACF;;AcjqDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBmkDvC;EgBxkDG;IASK,SAAS;EhBkkDjB;AACF;;Ac7qDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB+kDvC;EgBplDG;IASK,SAAS;EhB8kDjB;AACF;;AczrDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB2lDvC;EgBhmDG;IASK,SAAS;EhB0lDjB;AACF;;AgBzmDA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBsmDzC;;AgBhnDA;EAcU,SAAS;AhBsmDnB;;AmBnxDA;EACE,cAAc;EACd,WAAW;EACX,mCDiH8D;EChH9D,yBhByXkC;ECpQ9B,eAtCY;Ee5EhB,gBhBkR+B;EgBjR/B,gBhBsR+B;EgBrR/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EOOd,sBP6NgC;EiB/N9B,wEjBue4F;AHkzClG;;AoBrxDM;EDdN;ICeQ,gBAAgB;EpByxDtB;AACF;;AmBzyDA;EAsBI,6BAA6B;EAC7B,SAAS;AnBuxDb;;AmB9yDA;EA4BI,kBAAkB;EAClB,0BhBrBc;AH2yDlB;;AqB5yDE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlBqdsE;EkBpdtE,UAAU;EAKR,gDlBaW;AH8xDjB;;AmB3zDA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByxDd;;AmBh0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByxDd;;AmBh0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByxDd;;AmBh0DA;EAiDI,yBhB9Cc;EgBgDd,UAAU;AnBkxDd;;AmB9wDA;;;;EAKI,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AnBgxDpB;;AmB5wDA;EAOI,chB/Dc;EgBgEd,sBhBvEW;AHg1Df;;AmBpwDA;;EAEE,cAAc;EACd,WAAW;AnBuwDb;;AmB7vDA;EACE,iCDyB8D;ECxB9D,oCDwB8D;ECvB9D,gBAAgB;Ef3Bd,kBAAW;Ee6Bb,gBhB+L+B;AHikDjC;;AmB7vDA;EACE,+BDiB8D;EChB9D,kCDgB8D;EdK1D,kBAtCY;EemBhB,gBhB6H+B;AHmoDjC;;AmB7vDA;EACE,gCDU8D;ECT9D,mCDS8D;EdK1D,mBAtCY;Ee0BhB,gBhBuH+B;AHyoDjC;;AmBvvDA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EfDZ,eAtCY;EeyChB,gBhBkK+B;EgBjK/B,chBnHgB;EgBoHhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnB0vDrC;;AmBpwDA;EAcI,gBAAgB;EAChB,eAAe;AnB0vDnB;;AmB9uDA;EACE,kCD9B8D;EC+B9D,uBhBoPiC;EC9Q7B,mBAtCY;EekEhB,gBhB+E+B;EOxN7B,qBP+N+B;AH4pDnC;;AmB9uDA;EACE,gCDtC8D;ECuC9D,oBhBiPgC;ECnR5B,kBAtCY;Ee0EhB,gBhBsE+B;EOvN7B,qBP8N+B;AHqqDnC;;AmB7uDA;EAGI,YAAY;AnB8uDhB;;AmB1uDA;EACE,YAAY;AnB6uDd;;AmBruDA;EACE,mBhB0U0C;AH85C5C;;AmBruDA;EACE,cAAc;EACd,mBhB2T4C;AH66C9C;;AmBhuDA;EACE,aAAa;EACb,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBmuD3C;;AmBvuDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBouD7C;;AmB3tDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhBgS6C;AH87C/C;;AmB3tDA;EACE,kBAAkB;EAClB,kBhB4R2C;EgB3R3C,qBhB0R6C;AHo8C/C;;AmBjuDA;;EAQI,chBzNc;AHu7DlB;;AmB1tDA;EACE,gBAAgB;AnB6tDlB;;AmB1tDA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,eAAe;EACf,qBhB6Q4C;AHg9C9C;;AmBjuDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhBwQ4C;EgBvQ5C,cAAc;AnB6tDlB;;AqB16DE;EACE,aAAa;EACb,WAAW;EACX,mBlB0c0C;ECjb1C,cAAW;EiBvBX,clBPa;AHo7DjB;;AqB16DE;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBoyBqC;EkBnyBrC,iBAAiB;EjBmEf,mBAtCY;EiB3Bd,gBlBsO6B;EkBrO7B,WlBxDW;EkByDX,wClBtBa;EOxBb,sBP6NgC;AH+vDpC;;AqBz6DI;;EAEE,SAAiC;ArB46DvC;;AqBn9DI;;;;EA8CE,cAAc;ArB46DpB;;AqB19DI;EAoDE,qBlB1CW;EkB6CT,oCHmCwD;EGlCxD,iRH3B0E;EG4B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEH+BwD;AlBy4DhE;;AqBn+DI;EA+DI,qBlBrDS;EkBsDT,gDlBtDS;AH89DjB;;AqBx+DI;EAyEI,oCHiBwD;EGhBxD,kFHgBwD;AlBm5DhE;;AqB7+DI;EAiFE,qBlBvEW;EkB0ET,uCHMwD;EGLxD,ujBAA8J;ArB85DtK;;AqBn/DI;EAyFI,qBlB/ES;EkBgFT,gDlBhFS;AH8+DjB;;AqBx/DI;EAkGI,clBxFS;AHk/DjB;;AqB5/DI;;;EAuGI,cAAc;ArB25DtB;;AqBlgEI;EA+GI,clBrGS;AH4/DjB;;AqBtgEI;EAkHM,qBlBxGO;AHggEjB;;AqB1gEI;EAwHM,qBAAkC;EClJxC,yBDmJ+C;ArBs5DnD;;AqB/gEI;EA+HM,gDlBrHO;AHygEjB;;AqBnhEI;EAmIM,qBlBzHO;AH6gEjB;;AqBvhEI;EA6II,qBlBnIS;AHihEjB;;AqB3hEI;EAkJM,qBlBxIO;EkByIP,gDlBzIO;AHshEjB;;AqBphEE;EACE,aAAa;EACb,WAAW;EACX,mBlB0c0C;ECjb1C,cAAW;EiBvBX,clBVa;AHiiEjB;;AqBphEE;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBoyBqC;EkBnyBrC,iBAAiB;EjBmEf,mBAtCY;EiB3Bd,gBlBsO6B;EkBrO7B,WlBxDW;EkByDX,wClBzBa;EOrBb,sBP6NgC;AHy2DpC;;AqBnhEI;;EAEE,SAAiC;ArBshEvC;;AqB7jEI;;;;EA8CE,cAAc;ArBshEpB;;AqBpkEI;EAoDE,qBlB7CW;EkBgDT,oCHmCwD;EGlCxD,4UH3B0E;EG4B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEH+BwD;AlBm/DhE;;AqB7kEI;EA+DI,qBlBxDS;EkByDT,gDlBzDS;AH2kEjB;;AqBllEI;EAyEI,oCHiBwD;EGhBxD,kFHgBwD;AlB6/DhE;;AqBvlEI;EAiFE,qBlB1EW;EkB6ET,uCHMwD;EGLxD,knBAA8J;ArBwgEtK;;AqB7lEI;EAyFI,qBlBlFS;EkBmFT,gDlBnFS;AH2lEjB;;AqBlmEI;EAkGI,clB3FS;AH+lEjB;;AqBtmEI;;;EAuGI,cAAc;ArBqgEtB;;AqB5mEI;EA+GI,clBxGS;AHymEjB;;AqBhnEI;EAkHM,qBlB3GO;AH6mEjB;;AqBpnEI;EAwHM,qBAAkC;EClJxC,yBDmJ+C;ArBggEnD;;AqBznEI;EA+HM,gDlBxHO;AHsnEjB;;AqB7nEI;EAmIM,qBlB5HO;AH0nEjB;;AqBjoEI;EA6II,qBlBtIS;AH8nEjB;;AqBroEI;EAkJM,qBlB3IO;EkB4IP,gDlB5IO;AHmoEjB;;AmBx5DA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AnB25DrB;;AmB95DA;EASI,WAAW;AnBy5Df;;AcxnEI;EKsNJ;IAeM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;EnBw5DpB;EmB16DF;IAuBM,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;EnBs5DpB;EmBj7DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnBo5D1B;EmBt7DF;IAuCM,qBAAqB;EnBk5DzB;EmBz7DF;;IA4CM,WAAW;EnBi5Df;EmB77DF;IAkDM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnB84DnB;EmBp8DF;IAyDM,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,qBhB+KwC;IgB9KxC,cAAc;EnB84DlB;EmB38DF;IAiEM,mBAAmB;IACnB,uBAAuB;EnB64D3B;EmB/8DF;IAqEM,gBAAgB;EnB64DpB;AACF;;AuB/tEA;EACE,qBAAqB;EAErB,gBpBsR+B;EoBrR/B,cpBMgB;EoBLhB,kBAAkB;EAGlB,sBAAsB;EACtB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECuF3C,yBrB2RkC;ECpQ9B,eAtCY;EoBiBhB,gBrB0L+B;EOlR7B,sBP6NgC;EiB/N9B,qIjBgb6I;AHqzDnJ;;AoBjuEM;EGdN;IHeQ,gBAAgB;EpBquEtB;AACF;;AK/uEE;EkBUE,cpBNc;EoBOd,qBAAqB;AvByuEzB;;AuB1vEA;EAsBI,UAAU;EACV,gDpBMa;AHkuEjB;;AuB/vEA;EA6BI,apBiZ6B;AHq1DjC;;AuBnwEA;EAkCI,eAAsD;AvBquE1D;;AuBvtEA;;EAEE,oBAAoB;AvB0tEtB;;AuBjtEE;EC3DA,WrBCa;EmBDX,yBnB6Ba;EqB3Bf,qBrB2Be;AHqvEjB;;AK5wEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxByxE7H;;AwB7wEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxB2wEvF;;AwBtwEE;EAEE,WrB1BW;EqB2BX,yBrBCa;EqBAb,qBrBAa;AHwwEjB;;AwBjwEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB6yEnN;;AwB9vEI;;EAKI,gDAAiF;AxB8vEzF;;AuBtvEE;EC3DA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHgzElB;;AKjzEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB8zE7H;;AwBlzEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBgzEvF;;AwB3yEE;EAEE,WrB1BW;EqB2BX,yBrBrBc;EqBsBd,qBrBtBc;AHm0ElB;;AwBtyEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBk1EnN;;AwBnyEI;;EAKI,iDAAiF;AxBmyEzF;;AuB3xEE;EC3DA,WrBCa;EmBDX,yBnBoCa;EqBlCf,qBrBkCe;AHwzEjB;;AKt1EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBm2E7H;;AwBv1EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxBq1EvF;;AwBh1EE;EAEE,WrB1BW;EqB2BX,yBrBQa;EqBPb,qBrBOa;AH20EjB;;AwB30EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBu3EnN;;AwBx0EI;;EAKI,+CAAiF;AxBw0EzF;;AuBh0EE;EC3DA,WrBCa;EmBDX,yBnBsCa;EqBpCf,qBrBoCe;AH21EjB;;AK33EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBw4E7H;;AwB53EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxB03EvF;;AwBr3EE;EAEE,WrB1BW;EqB2BX,yBrBUa;EqBTb,qBrBSa;AH82EjB;;AwBh3EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB45EnN;;AwB72EI;;EAKI,gDAAiF;AxB62EzF;;AuBr2EE;EC3DA,crBUgB;EmBVd,yBnBmCa;EqBjCf,qBrBiCe;AHm4EjB;;AKh6EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB66E7H;;AwBj6EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxB+5EvF;;AwB15EE;EAEE,crBjBc;EqBkBd,yBrBOa;EqBNb,qBrBMa;AHs5EjB;;AwBr5EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBi8EnN;;AwBl5EI;;EAKI,gDAAiF;AxBk5EzF;;AuB14EE;EC3DA,WrBCa;EmBDX,yBnBiCa;EqB/Bf,qBrB+Be;AH06EjB;;AKr8EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBk9E7H;;AwBt8EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxBo8EvF;;AwB/7EE;EAEE,WrB1BW;EqB2BX,yBrBKa;EqBJb,qBrBIa;AH67EjB;;AwB17EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBs+EnN;;AwBv7EI;;EAKI,+CAAiF;AxBu7EzF;;AuB/6EE;EC3DA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AH8+ElB;;AK1+EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBu/E7H;;AwB3+EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBy+EvF;;AwBp+EE;EAEE,crBjBc;EqBkBd,yBrB1Bc;EqB2Bd,qBrB3Bc;AHigFlB;;AwB/9EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxB2gFnN;;AwB59EI;;EAKI,iDAAiF;AxB49EzF;;AuBp9EE;EC3DA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AH4gFlB;;AK/gFE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB4hF7H;;AwBhhFE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,8CAAiF;AxB8gFvF;;AwBzgFE;EAEE,WrB1BW;EqB2BX,yBrBnBc;EqBoBd,qBrBpBc;AH+hFlB;;AwBpgFE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBgjFnN;;AwBjgFI;;EAKI,8CAAiF;AxBigFzF;;AuBn/EE;ECPA,crB7Be;EqB8Bf,qBrB9Be;AH4hFjB;;AKnjFE;EmBwDE,WrB7DW;EqB8DX,yBrBlCa;EqBmCb,qBrBnCa;AHkiFjB;;AwB5/EE;EAEE,+CrBxCa;AHsiFjB;;AwB3/EE;EAEE,crB7Ca;EqB8Cb,6BAA6B;AxB6/EjC;;AwB1/EE;;EAGE,WrBhFW;EqBiFX,yBrBrDa;EqBsDb,qBrBtDa;AHkjFjB;;AwB1/EI;;EAKI,+CrB7DS;AHujFjB;;AuBnhFE;ECPA,crBnDgB;EqBoDhB,qBrBpDgB;AHklFlB;;AKnlFE;EmBwDE,WrB7DW;EqB8DX,yBrBxDc;EqByDd,qBrBzDc;AHwlFlB;;AwB5hFE;EAEE,iDrB9Dc;AH4lFlB;;AwB3hFE;EAEE,crBnEc;EqBoEd,6BAA6B;AxB6hFjC;;AwB1hFE;;EAGE,WrBhFW;EqBiFX,yBrB3Ec;EqB4Ed,qBrB5Ec;AHwmFlB;;AwB1hFI;;EAKI,iDrBnFU;AH6mFlB;;AuBnjFE;ECPA,crBtBe;EqBuBf,qBrBvBe;AHqlFjB;;AKnnFE;EmBwDE,WrB7DW;EqB8DX,yBrB3Ba;EqB4Bb,qBrB5Ba;AH2lFjB;;AwB5jFE;EAEE,+CrBjCa;AH+lFjB;;AwB3jFE;EAEE,crBtCa;EqBuCb,6BAA6B;AxB6jFjC;;AwB1jFE;;EAGE,WrBhFW;EqBiFX,yBrB9Ca;EqB+Cb,qBrB/Ca;AH2mFjB;;AwB1jFI;;EAKI,+CrBtDS;AHgnFjB;;AuBnlFE;ECPA,crBpBe;EqBqBf,qBrBrBe;AHmnFjB;;AKnpFE;EmBwDE,WrB7DW;EqB8DX,yBrBzBa;EqB0Bb,qBrB1Ba;AHynFjB;;AwB5lFE;EAEE,gDrB/Ba;AH6nFjB;;AwB3lFE;EAEE,crBpCa;EqBqCb,6BAA6B;AxB6lFjC;;AwB1lFE;;EAGE,WrBhFW;EqBiFX,yBrB5Ca;EqB6Cb,qBrB7Ca;AHyoFjB;;AwB1lFI;;EAKI,gDrBpDS;AH8oFjB;;AuBnnFE;ECPA,crBvBe;EqBwBf,qBrBxBe;AHspFjB;;AKnrFE;EmBwDE,crBpDc;EqBqDd,yBrB5Ba;EqB6Bb,qBrB7Ba;AH4pFjB;;AwB5nFE;EAEE,+CrBlCa;AHgqFjB;;AwB3nFE;EAEE,crBvCa;EqBwCb,6BAA6B;AxB6nFjC;;AwB1nFE;;EAGE,crBvEc;EqBwEd,yBrB/Ca;EqBgDb,qBrBhDa;AH4qFjB;;AwB1nFI;;EAKI,+CrBvDS;AHirFjB;;AuBnpFE;ECPA,crBzBe;EqB0Bf,qBrB1Be;AHwrFjB;;AKntFE;EmBwDE,WrB7DW;EqB8DX,yBrB9Ba;EqB+Bb,qBrB/Ba;AH8rFjB;;AwB5pFE;EAEE,+CrBpCa;AHksFjB;;AwB3pFE;EAEE,crBzCa;EqB0Cb,6BAA6B;AxB6pFjC;;AwB1pFE;;EAGE,WrBhFW;EqBiFX,yBrBjDa;EqBkDb,qBrBlDa;AH8sFjB;;AwB1pFI;;EAKI,+CrBzDS;AHmtFjB;;AuBnrFE;ECPA,crBxDgB;EqByDhB,qBrBzDgB;AHuvFlB;;AKnvFE;EmBwDE,crBpDc;EqBqDd,yBrB7Dc;EqB8Dd,qBrB9Dc;AH6vFlB;;AwB5rFE;EAEE,iDrBnEc;AHiwFlB;;AwB3rFE;EAEE,crBxEc;EqByEd,6BAA6B;AxB6rFjC;;AwB1rFE;;EAGE,crBvEc;EqBwEd,yBrBhFc;EqBiFd,qBrBjFc;AH6wFlB;;AwB1rFI;;EAKI,iDrBxFU;AHkxFlB;;AuBntFE;ECPA,crBjDgB;EqBkDhB,qBrBlDgB;AHgxFlB;;AKnxFE;EmBwDE,WrB7DW;EqB8DX,yBrBtDc;EqBuDd,qBrBvDc;AHsxFlB;;AwB5tFE;EAEE,8CrB5Dc;AH0xFlB;;AwB3tFE;EAEE,crBjEc;EqBkEd,6BAA6B;AxB6tFjC;;AwB1tFE;;EAGE,WrBhFW;EqBiFX,yBrBzEc;EqB0Ed,qBrB1Ec;AHsyFlB;;AwB1tFI;;EAKI,8CrBjFU;AH2yFlB;;AuBxuFA;EACE,gBpB4M+B;EoB3M/B,cpBjDe;EoBkDf,qBpB2F4C;AHgpF9C;;AKpzFE;EkB4EE,cpByF8D;EoBxF9D,0BpByF+C;AHmpFnD;;AuBnvFA;EAYI,0BpBoF+C;AHupFnD;;AuBvvFA;EAiBI,cpBtFc;EoBuFd,oBAAoB;AvB0uFxB;;AuB/tFA;ECPE,oBrB0SgC;ECnR5B,kBAtCY;EoBiBhB,gBrB+H+B;EOvN7B,qBP8N+B;AHqmFnC;;AuBluFA;ECXE,uBrBqSiC;EC9Q7B,mBAtCY;EoBiBhB,gBrBgI+B;EOxN7B,qBP+N+B;AH2mFnC;;AuBhuFA;EACE,cAAc;EACd,WAAW;AvBmuFb;;AuBruFA;EAMI,kBpBuT+B;AH46EnC;;AuB9tFA;;;EAII,WAAW;AvBguFf;;AyB32FA;ELgBM,gCjBiP2C;AH8mFjD;;AoB31FM;EKpBN;ILqBQ,gBAAgB;EpB+1FtB;AACF;;AyBr3FA;EAII,UAAU;AzBq3Fd;;AyBj3FA;EAEI,aAAa;AzBm3FjB;;AyB/2FA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;ELDZ,6BjBkPwC;AHkoF9C;;AoBh3FM;EKNN;ILOQ,gBAAgB;EpBo3FtB;AACF;;A0Bz4FA;;;;EAIE,kBAAkB;A1B44FpB;;A0Bz4FA;EACE,mBAAmB;A1B44FrB;;A2Bx3FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;A3B45F7C;;A2Bv2FI;EACE,cAAc;A3B02FpB;;A0Bp5FA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,avBwpBsC;EuBvpBtC,aAAa;EACb,WAAW;EACX,gBvBguBuC;EuB/tBvC,iBvBguBmC;EuB/tBnC,oBAA4B;EtBsGxB,eAtCY;EsB9DhB,cvBXgB;EuBYhB,gBAAgB;EAChB,gBAAgB;EAChB,sBvBvBa;EuBwBb,4BAA4B;EAC5B,qCvBfa;EOCX,sBP6NgC;AHysFpC;;A0B/4FI;EACE,WAAW;EACX,OAAO;A1Bk5Fb;;A0B/4FI;EACE,QAAQ;EACR,UAAU;A1Bk5FhB;;Act4FI;EYnBA;IACE,WAAW;IACX,OAAO;E1B65FX;E0B15FE;IACE,QAAQ;IACR,UAAU;E1B45Fd;AACF;;Acj5FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bw6FX;E0Br6FE;IACE,QAAQ;IACR,UAAU;E1Bu6Fd;AACF;;Ac55FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bm7FX;E0Bh7FE;IACE,QAAQ;IACR,UAAU;E1Bk7Fd;AACF;;Acv6FI;EYnBA;IACE,WAAW;IACX,OAAO;E1B87FX;E0B37FE;IACE,QAAQ;IACR,UAAU;E1B67Fd;AACF;;A0Bv7FA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uBvB8rBuC;AH2vE3C;;A2Bx9FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;A3Bq/F7C;;A2Bv8FI;EACE,cAAc;A3B08FpB;;A0Bh8FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qBvBgrBuC;AHkxE3C;;A2B/+FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;A3BqgGjC;;A2B99FI;EACE,cAAc;A3Bi+FpB;;A2B9/FI;EDmDE,iBAAiB;A1B+8FvB;;A0B18FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sBvB+pBuC;AH6yE3C;;A2B1gGI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;A3B6gGjB;;A2BjhGI;EAgBI,aAAa;A3BqgGrB;;A2BlgGM;EACE,qBAAqB;EACrB,qBxB4MwC;EwB3MxC,uBxB0MwC;EwBzMxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;A3BoiG/C;;A2BngGI;EACE,cAAc;A3BsgGpB;;A2BhhGM;EDiDA,iBAAiB;A1Bm+FvB;;A0B59FA;EAKI,WAAW;EACX,YAAY;A1B29FhB;;A0Bt9FA;EE9GE,SAAS;EACT,gBAAmB;EACnB,gBAAgB;EAChB,6BzBCgB;AHukGlB;;A0Bt9FA;EACE,cAAc;EACd,WAAW;EACX,uBvBmpBwC;EuBlpBxC,WAAW;EACX,gBvBgK+B;EuB/J/B,cvBhHgB;EuBiHhB,mBAAmB;EAEnB,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;A1Bw9FX;;AK7kGE;EqBoIE,cvBmnBqD;EuBlnBrD,qBAAqB;EJ/IrB,yBnBGc;AH0lGlB;;A0Bz+FA;EAiCI,WvBpJW;EuBqJX,qBAAqB;EJtJrB,yBnB6Ba;AHskGjB;;A0B/+FA;EAwCI,cvBtJc;EuBuJd,oBAAoB;EACpB,6BAA6B;A1B28FjC;;A0Bn8FA;EACE,cAAc;A1Bs8FhB;;A0Bl8FA;EACE,cAAc;EACd,sBvB6lBwC;EuB5lBxC,gBAAgB;EtBrDZ,mBAtCY;EsB6FhB,cvBzKgB;EuB0KhB,mBAAmB;A1Bq8FrB;;A0Bj8FA;EACE,cAAc;EACd,uBvBmlBwC;EuBllBxC,cvB9KgB;AHknGlB;;A6B/nGA;;EAEE,kBAAkB;EAClB,oBAAoB;EACpB,sBAAsB;A7BkoGxB;;A6BtoGA;;EAOI,kBAAkB;EAClB,cAAc;A7BooGlB;;AKnoGE;;EwBII,UAAU;A7BooGhB;;A6BjpGA;;;;EAkBM,UAAU;A7BsoGhB;;A6BhoGA;EACE,aAAa;EACb,eAAe;EACf,2BAA2B;A7BmoG7B;;A6BtoGA;EAMI,WAAW;A7BooGf;;A6BhoGA;;EAII,iB1BmM6B;AH87FjC;;A6BroGA;;EnBHI,0BmBa8B;EnBZ9B,6BmBY8B;A7BioGlC;;A6B3oGA;;EnBWI,yBmBI6B;EnBH7B,4BmBG6B;A7BkoGjC;;A6BlnGA;EACE,wBAAmC;EACnC,uBAAkC;A7BqnGpC;;A6BvnGA;;;EAOI,cAAc;A7BsnGlB;;A6BnnGE;EACE,eAAe;A7BsnGnB;;A6BlnGA;EACE,uBAAsC;EACtC,sBAAqC;A7BqnGvC;;A6BlnGA;EACE,sBAAsC;EACtC,qBAAqC;A7BqnGvC;;A6BjmGA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;A7BomGzB;;A6BvmGA;;EAOI,WAAW;A7BqmGf;;A6B5mGA;;EAYI,gB1BkH6B;AHm/FjC;;A6BjnGA;;EnBrEI,6BmBuF+B;EnBtF/B,4BmBsF+B;A7BqmGnC;;A6BvnGA;;EnBnFI,yBmB0G4B;EnBzG5B,0BmByG4B;A7BsmGhC;;A6BrlGA;;EAGI,gBAAgB;A7BulGpB;;A6B1lGA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;A7B0lG1B;;A8BnvGA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A9BsvGb;;A8B3vGA;;;;EAWI,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,YAAY;EACZ,gBAAgB;A9BuvGpB;;A8BtwGA;;;;;;;;;;;;EAoBM,iB3BkN2B;AH+iGjC;;A8BrxGA;;;EA4BI,UAAU;A9B+vGd;;A8B3xGA;EAiCI,UAAU;A9B8vGd;;A8B/xGA;;EpB0CI,yBoBJmD;EpBKnD,4BoBLmD;A9B+vGvD;;A8BryGA;EA4CI,aAAa;EACb,mBAAmB;A9B6vGvB;;A8B1yGA;;EpB0CI,yBoBMsE;EpBLtE,4BoBKsE;A9BgwG1E;;A8BhzGA;;;EpB4BI,0BoB2BgC;EpB1BhC,6BoB0BgC;A9BgwGpC;;A8BvzGA;;;EpB4BI,0BoBmCgC;EpBlChC,6BoBkCgC;A9B+vGpC;;A8BnvGA;;EAEE,aAAa;A9BsvGf;;A8BxvGA;;EAQI,kBAAkB;EAClB,UAAU;A9BqvGd;;A8B9vGA;;EAYM,UAAU;A9BuvGhB;;A8BnwGA;;;;;;;;EAoBI,iB3BuI6B;AHmnGjC;;A8BtvGA;EAAuB,kB3BmIU;AHunGjC;;A8BzvGA;EAAsB,iB3BkIW;AH2nGjC;;A8BrvGA;EACE,aAAa;EACb,mBAAmB;EACnB,yB3B8QkC;E2B7QlC,gBAAgB;E1BSZ,eAtCY;E0B+BhB,gB3BuK+B;E2BtK/B,gB3B2K+B;E2B1K/B,c3B5GgB;E2B6GhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BpHgB;E2BqHhB,yB3BnHgB;EOOd,sBP6NgC;AHwoGpC;;A8BrwGA;;EAkBI,aAAa;A9BwvGjB;;A8B9uGA;;EAEE,gCZtB8D;AlBuwGhE;;A8B9uGA;;;;;;EAME,oB3ByPgC;ECnR5B,kBAtCY;E0BkEhB,gB3B8E+B;EOvN7B,qBP8N+B;AH6pGnC;;A8B9uGA;;EAEE,kCZvC8D;AlBwxGhE;;A8B9uGA;;;;;;EAME,uB3BmOiC;EC9Q7B,mBAtCY;E0BmFhB,gB3B8D+B;EOxN7B,qBP+N+B;AH6qGnC;;A8B9uGA;;EAEE,sBAA0E;A9BivG5E;;A8BtuGA;;;;;;;;EpB3JI,0BoBmK4B;EpBlK5B,6BoBkK4B;A9B0uGhC;;A8BvuGA;;;;;;EpBxJI,yBoB8J2B;EpB7J3B,4BoB6J2B;A9B2uG/B;;A+Bh7GA;EACE,kBAAkB;EAClB,UAAU;EACV,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;EACrE,iCAAmB;EAAnB,mBAAmB;A/Bm7GrB;;A+Bh7GA;EACE,oBAAoB;EACpB,kB5Bwf0C;AH27F5C;;A+Bh7GA;EACE,kBAAkB;EAClB,OAAO;EACP,WAAW;EACX,W5Bof0C;E4Bnf1C,eAAkF;EAClF,UAAU;A/Bm7GZ;;A+Bz7GA;EASI,W5BzBW;E4B0BX,qB5BEa;EmB7Bb,yBnB6Ba;AHm7GjB;;A+B/7GA;EAoBM,gD5BRW;AHu7GjB;;A+Bn8GA;EAyBI,qB5BqbsE;AHy/F1E;;A+Bv8GA;EA6BI,W5B7CW;E4B8CX,yB5Bif8E;E4Bhf9E,qB5Bgf8E;AH87FlF;;A+B78GA;EAuCM,c5BjDY;AH29GlB;;A+Bj9GA;EA0CQ,yB5BxDU;AHm+GlB;;A+Bj6GA;EACE,kBAAkB;EAClB,gBAAgB;EAEhB,mBAAmB;A/Bm6GrB;;A+Bv6GA;EASI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5BubwC;E4BtbxC,Y5BsbwC;E4BrbxC,oBAAoB;EACpB,WAAW;EACX,sB5BrFW;E4BsFX,yB5B+I6B;AHmxGjC;;A+Bp7GA;EAwBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5BwawC;E4BvaxC,Y5BuawC;E4BtaxC,WAAW;EACX,mCAAgE;A/Bg6GpE;;A+Bv5GA;ErBjGI,sBP6NgC;AH+xGpC;;A+B35GA;EAOM,kOb7D4E;AlBq9GlF;;A+B/5GA;EAaM,qB5B7FW;EmB7Bb,yBnB6Ba;AHo/GjB;;A+Bp6GA;EAkBM,+KbxE4E;AlB89GlF;;A+Bx6GA;ET7GI,wCnB6Ba;AH4/GjB;;A+B56GA;ET7GI,wCnB6Ba;AHggHjB;;A+B54GA;EAGI,kB5ByZ+C;AHo/FnD;;A+Bh5GA;EAQM,8KblG4E;AlB8+GlF;;A+Bp5GA;ETjJI,wCnB6Ba;AH4gHjB;;A+Bh4GA;EACE,qBAA2D;A/Bm4G7D;;A+Bp4GA;EAKM,cAAqD;EACrD,c5BiY+E;E4BhY/E,mBAAmB;EAEnB,qB5B+X4E;AHmgGlF;;A+B34GA;EAaM,wBblE0D;EamE1D,0BbnE0D;EaoE1D,uBbhD0D;EaiD1D,wBbjD0D;EakD1D,yB5BpLY;E4BsLZ,qB5BqX4E;EiBviB5E,yIjByf+H;AH2jGrI;;AoBhjHM;EW2JN;IX1JQ,gBAAgB;EpBojHtB;AACF;;A+B35GA;EA0BM,sB5BlMS;E4BmMT,8BAA4E;A/Bq4GlF;;A+Bh6GA;ETzKI,wCnB6Ba;AHgjHjB;;A+Bv3GA;EACE,qBAAqB;EACrB,WAAW;EACX,mCbrG8D;EasG9D,0C5BmKkC;ECpQ9B,eAtCY;E2B0IhB,gB5B4D+B;E4B3D/B,gB5BgE+B;E4B/D/B,c5BvNgB;E4BwNhB,sBAAsB;EACtB,uO5BkW+I;E4BjW/I,yB5B7NgB;EOOd,sBP6NgC;E4BJlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/Bw3GlB;;A+Bv4GA;EAkBI,qB5BuPsE;E4BtPtE,UAAU;EAKR,gD5BjNW;AHskHjB;;A+B74GA;EAiCM,c5B/OY;E4BgPZ,sB5BvPS;AHumHf;;A+Bl5GA;EAwCI,YAAY;EACZ,sB5B8HgC;E4B7HhC,sBAAsB;A/B82G1B;;A+Bx5GA;EA8CI,c5B7Pc;E4B8Pd,yB5BlQc;AHgnHlB;;A+B75GA;EAoDI,aAAa;A/B62GjB;;A+Bj6GA;EAyDI,kBAAkB;EAClB,0B5BxQc;AHonHlB;;A+Bx2GA;EACE,kCbjK8D;EakK9D,oB5BgHkC;E4B/GlC,uB5B+GkC;E4B9GlC,oB5B+GiC;EC9Q7B,mBAtCY;AJijHlB;;A+Bx2GA;EACE,gCbzK8D;Ea0K9D,mB5B6GiC;E4B5GjC,sB5B4GiC;E4B3GjC,kB5B4GgC;ECnR5B,kBAtCY;AJyjHlB;;A+Bn2GA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCbzL8D;Ea0L9D,gBAAgB;A/Bs2GlB;;A+Bn2GA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCbjM8D;EakM9D,SAAS;EACT,gBAAgB;EAChB,UAAU;A/Bs2GZ;;A+B72GA;EAUI,qB5BoKsE;E4BnKtE,gD5B/Ra;AHsoHjB;;A+Bl3GA;;EAiBI,yB5B/Tc;AHqqHlB;;A+Bv3GA;EAsBM,iB5B2TQ;AH0iGd;;A+B33GA;EA2BI,0BAA0B;A/Bo2G9B;;A+Bh2GA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mCblO8D;EamO9D,yB5BsCkC;E4BrClC,gBAAgB;EAEhB,gB5BjE+B;E4BkE/B,gB5B7D+B;E4B8D/B,c5BpVgB;E4BqVhB,sB5B5Va;E4B6Vb,yB5BzVgB;EOOd,sBP6NgC;AHw9GpC;;A+Bj3GA;EAmBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6BbrP4D;EasP5D,yB5BmBgC;E4BlBhC,gB5B7E6B;E4B8E7B,c5BpWc;E4BqWd,iBAAiB;ET7WjB,yBnBGc;E4B4Wd,oBAAoB;ErBnWpB,kCqBoWgF;A/Bk2GpF;;A+Bx1GA;EACE,WAAW;EACX,cb3Q2B;Ea4Q3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B21GlB;;A+Bh2GA;EAQI,UAAU;A/B41Gd;;A+Bp2GA;EAY8B,gE5BzWb;AHqsHjB;;A+Bx2GA;EAa8B,gE5B1Wb;AHysHjB;;A+B52GA;EAc8B,gE5B3Wb;AH6sHjB;;A+Bh3GA;EAkBI,SAAS;A/Bk2Gb;;A+Bp3GA;EAsBI,W5BmN6C;E4BlN7C,Y5BkN6C;E4BjN7C,oBAAyE;ETlZzE,yBnB6Ba;E4BuXb,S5BkN0C;EO1lB1C,mBP2lB6C;EiB7lB3C,oHjByf+H;EiBzf/H,4GjByf+H;E4B3GjI,wBAAgB;EAAhB,gBAAgB;A/Bi2GpB;;AoB3uHM;EW4WN;IX3WQ,wBAAgB;IAAhB,gBAAgB;EpB+uHtB;AACF;;A+Br4GA;ET1XI,yBnB2mB2E;AHwpG/E;;A+Bz4GA;EAsCI,W5B4LoC;E4B3LpC,c5B4LqC;E4B3LrC,kBAAkB;EAClB,e5B2LuC;E4B1LvC,yB5Bhac;E4Biad,yBAAyB;ErBzZzB,mBPolBoC;AH6qGxC;;A+Bn5GA;EAiDI,W5BwL6C;E4BvL7C,Y5BuL6C;EmBnmB7C,yBnB6Ba;E4BiZb,S5BwL0C;EO1lB1C,mBP2lB6C;EiB7lB3C,iHjByf+H;EiBzf/H,4GjByf+H;E4BjFjI,qBAAgB;EAAhB,gBAAgB;A/Bq2GpB;;AoBzwHM;EW4WN;IX3WQ,qBAAgB;IAAhB,gBAAgB;EpB6wHtB;AACF;;A+Bn6GA;ET1XI,yBnB2mB2E;AHsrG/E;;A+Bv6GA;EAgEI,W5BkKoC;E4BjKpC,c5BkKqC;E4BjKrC,kBAAkB;EAClB,e5BiKuC;E4BhKvC,yB5B1bc;E4B2bd,yBAAyB;ErBnbzB,mBPolBoC;AH2sGxC;;A+Bj7GA;EA2EI,W5B8J6C;E4B7J7C,Y5B6J6C;E4B5J7C,aAAa;EACb,oB5BtE+B;E4BuE/B,mB5BvE+B;EmBlY/B,yBnB6Ba;E4B8ab,S5B2J0C;EO1lB1C,mBP2lB6C;EiB7lB3C,gHjByf+H;EiBzf/H,4GjByf+H;E4BpDjI,gBAAgB;A/By2GpB;;AoB1yHM;EW4WN;IX3WQ,oBAAgB;IAAhB,gBAAgB;EpB8yHtB;AACF;;A+Bp8GA;ET1XI,yBnB2mB2E;AHutG/E;;A+Bx8GA;EA6FI,W5BqIoC;E4BpIpC,c5BqIqC;E4BpIrC,kBAAkB;EAClB,e5BoIuC;E4BnIvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/B+2GhD;;A+Bl9GA;EAwGI,yB5B9dc;EOQd,mBPolBoC;AHivGxC;;A+Bv9GA;EA6GI,kBAAkB;EAClB,yB5Bpec;EOQd,mBPolBoC;AHuvGxC;;A+B79GA;EAoHM,yB5BxeY;AHq1HlB;;A+Bj+GA;EAwHM,eAAe;A/B62GrB;;A+Br+GA;EA4HM,yB5BhfY;AH61HlB;;A+Bz+GA;EAgIM,eAAe;A/B62GrB;;A+B7+GA;EAoIM,yB5BxfY;AHq2HlB;;A+Bx2GA;;;EXzfM,4GjByf+H;AH82GrI;;AoBn2HM;EWqfN;;;IXpfQ,gBAAgB;EpBy2HtB;AACF;;AgC13HA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhC63HlB;;AgC13HA;EACE,cAAc;EACd,oB7ByqBsC;AHotGxC;;AK53HE;E2BGE,qBAAqB;AhC63HzB;;AgCn4HA;EAWI,c7BXc;E6BYd,oBAAoB;EACpB,eAAe;AhC43HnB;;AgCp3HA;EACE,gC7BzBgB;AHg5HlB;;AgCx3HA;EAII,mB7BsM6B;E6BrM7B,6BAAgD;EtBZhD,+BPoNgC;EOnNhC,gCPmNgC;AHkrHpC;;AKj5HE;E2B2BI,qC7BjCY;AH25HlB;;AgCn4HA;EAaM,c7BlCY;E6BmCZ,6BAA6B;EAC7B,yBAAyB;AhC03H/B;;AgCz4HA;;EAqBI,c7BzCc;E6B0Cd,sB7BjDW;E6BkDX,kC7BlDW;AH26Hf;;AgCh5HA;EA4BI,gB7B8K6B;EOjN7B,yBsBqC4B;EtBpC5B,0BsBoC4B;AhCw3HhC;;AgC/2HA;EtBvDI,sBP6NgC;AH6sHpC;;AgCn3HA;;EAOI,W7BzEW;E6B0EX,yB7B9Ca;AH+5HjB;;AgCx2HA;;EAGI,cAAc;EACd,kBAAkB;AhC02HtB;;AgCt2HA;;EAGI,aAAa;EACb,YAAY;EACZ,kBAAkB;AhCw2HtB;;AgC/1HA;EAEI,aAAa;AhCi2HjB;;AgCn2HA;EAKI,cAAc;AhCk2HlB;;AiCt8HA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,oB9BgHW;AHy1Hb;;AiC/8HA;;EAWI,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;AjCy8HlC;;AiCr7HA;EACE,qBAAqB;EACrB,sB9BiqB+E;E8BhqB/E,yB9BgqB+E;E8B/pB/E,kB9BgFW;ECRP,kBAtCY;E6BhChB,oBAAoB;EACpB,mBAAmB;AjCw7HrB;;AKl+HE;E4B6CE,qBAAqB;AjCy7HzB;;AiCh7HA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AjCm7HlB;;AiCx7HA;EAQI,gBAAgB;EAChB,eAAe;AjCo7HnB;;AiC77HA;EAaI,gBAAgB;EAChB,WAAW;AjCo7Hf;;AiC36HA;EACE,qBAAqB;EACrB,mB9BwlBuC;E8BvlBvC,sB9BulBuC;AHu1GzC;;AiCl6HA;EACE,gBAAgB;EAChB,YAAY;EAGZ,mBAAmB;AjCm6HrB;;AiC/5HA;EACE,wB9BmmBwC;EC1lBpC,kBAtCY;E6B+BhB,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;EvBxGrC,sBP6NgC;AH8yHpC;;AK7gIE;E4B8GE,qBAAqB;AjCm6HzB;;AiC75HA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,qCAAqC;AjCg6HvC;;AiC75HA;EACE,gB9B+kBsC;E8B9kBtC,gBAAgB;AjCg6HlB;;Act+HI;EmBgFC;;IAGK,gBAAgB;IAChB,eAAe;EjCy5HvB;AACF;;Ac3/HI;EmB6FA;IAoBI,qBAAqB;IACrB,2BAA2B;EjC+4HjC;EiCp6HG;IAwBK,mBAAmB;EjC+4H3B;EiCv6HG;IA2BO,kBAAkB;EjC+4H5B;EiC16HG;IA+BO,qB9BwhB6B;I8BvhB7B,oB9BuhB6B;EHu3GvC;EiC96HG;;IAsCK,iBAAiB;EjC44HzB;EiCl7HG;IAqDK,iBAAiB;EjCg4HzB;EiCr7HG;IAyDK,wBAAwB;IAGxB,gBAAgB;EjC63HxB;EiCz7HG;IAgEK,aAAa;EjC43HrB;AACF;;Ac7gII;EmBgFC;;IAGK,gBAAgB;IAChB,eAAe;EjCg8HvB;AACF;;AcliII;EmB6FA;IAoBI,qBAAqB;IACrB,2BAA2B;EjCs7HjC;EiC38HG;IAwBK,mBAAmB;EjCs7H3B;EiC98HG;IA2BO,kBAAkB;EjCs7H5B;EiCj9HG;IA+BO,qB9BwhB6B;I8BvhB7B,oB9BuhB6B;EH85GvC;EiCr9HG;;IAsCK,iBAAiB;EjCm7HzB;EiCz9HG;IAqDK,iBAAiB;EjCu6HzB;EiC59HG;IAyDK,wBAAwB;IAGxB,gBAAgB;EjCo6HxB;EiCh+HG;IAgEK,aAAa;EjCm6HrB;AACF;;AcpjII;EmBgFC;;IAGK,gBAAgB;IAChB,eAAe;EjCu+HvB;AACF;;AczkII;EmB6FA;IAoBI,qBAAqB;IACrB,2BAA2B;EjC69HjC;EiCl/HG;IAwBK,mBAAmB;EjC69H3B;EiCr/HG;IA2BO,kBAAkB;EjC69H5B;EiCx/HG;IA+BO,qB9BwhB6B;I8BvhB7B,oB9BuhB6B;EHq8GvC;EiC5/HG;;IAsCK,iBAAiB;EjC09HzB;EiChgIG;IAqDK,iBAAiB;EjC88HzB;EiCngIG;IAyDK,wBAAwB;IAGxB,gBAAgB;EjC28HxB;EiCvgIG;IAgEK,aAAa;EjC08HrB;AACF;;Ac3lII;EmBgFC;;IAGK,gBAAgB;IAChB,eAAe;EjC8gIvB;AACF;;AchnII;EmB6FA;IAoBI,qBAAqB;IACrB,2BAA2B;EjCogIjC;EiCzhIG;IAwBK,mBAAmB;EjCogI3B;EiC5hIG;IA2BO,kBAAkB;EjCogI5B;EiC/hIG;IA+BO,qB9BwhB6B;I8BvhB7B,oB9BuhB6B;EH4+GvC;EiCniIG;;IAsCK,iBAAiB;EjCigIzB;EiCviIG;IAqDK,iBAAiB;EjCq/HzB;EiC1iIG;IAyDK,wBAAwB;IAGxB,gBAAgB;EjCk/HxB;EiC9iIG;IAgEK,aAAa;EjCi/HrB;AACF;;AiCvjIA;EAyBQ,qBAAqB;EACrB,2BAA2B;AjCkiInC;;AiC5jIA;;EAQU,gBAAgB;EAChB,eAAe;AjCyjIzB;;AiClkIA;EA6BU,mBAAmB;AjCyiI7B;;AiCtkIA;EAgCY,kBAAkB;AjC0iI9B;;AiC1kIA;EAoCY,qB9BwhB6B;E8BvhB7B,oB9BuhB6B;AHmhHzC;;AiC/kIA;;EA2CU,iBAAiB;AjCyiI3B;;AiCplIA;EA0DU,iBAAiB;AjC8hI3B;;AiCxlIA;EA8DU,wBAAwB;EAGxB,gBAAgB;AjC4hI1B;;AiC7lIA;EAqEU,aAAa;AjC4hIvB;;AiC/gIA;EAEI,yB9BvNW;AHwuIf;;AKzuIE;E4B2NI,yB9B1NS;AH4uIf;;AiCvhIA;EAWM,yB9BhOS;AHgvIf;;AKjvIE;E4BoOM,yB9BnOO;AHovIf;;AiC/hIA;EAkBQ,yB9BvOO;AHwvIf;;AiCniIA;;;;EA0BM,yB9B/OS;AH+vIf;;AiC1iIA;EA+BI,yB9BpPW;E8BqPX,gC9BrPW;AHowIf;;AiC/iIA;EAoCI,mRf7M8E;AlB4tIlF;;AiCnjIA;EAwCI,yB9B7PW;AH4wIf;;AiCvjIA;EA0CM,yB9B/PS;AHgxIf;;AKjxIE;E4BmQM,yB9BlQO;AHoxIf;;AiC3gIA;EAEI,W9BrRW;AHkyIf;;AKzxIE;E4B+QI,W9BxRS;AHsyIf;;AiCnhIA;EAWM,+B9B9RS;AH0yIf;;AKjyIE;E4BwRM,gC9BjSO;AH8yIf;;AiC3hIA;EAkBQ,gC9BrSO;AHkzIf;;AiC/hIA;;;;EA0BM,W9B7SS;AHyzIf;;AiCtiIA;EA+BI,+B9BlTW;E8BmTX,sC9BnTW;AH8zIf;;AiC3iIA;EAoCI,yRfjQ8E;AlB4wIlF;;AiC/iIA;EAwCI,+B9B3TW;AHs0If;;AiCnjIA;EA0CM,W9B7TS;AH00If;;AKj0IE;E4BuTM,W9BhUO;AH80If;;AkCj1IA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sB/BJa;E+BKb,2BAA2B;EAC3B,sC/BIa;EOCX,sBP6NgC;AHknIpC;;AkC71IA;EAaI,eAAe;EACf,cAAc;AlCo1IlB;;AkCl2IA;EAkBI,mBAAmB;EACnB,sBAAsB;AlCo1I1B;;AkCv2IA;EAsBM,mBAAmB;ExBCrB,2CQmH4D;ERlH5D,4CQkH4D;AlBmuIhE;;AkC72IA;EA2BM,sBAAsB;ExBUxB,+CQqG4D;ERpG5D,8CQoG4D;AlByuIhE;;AkCn3IA;;EAoCI,aAAa;AlCo1IjB;;AkCh1IA;EAGE,cAAc;EAGd,eAAe;EACf,gB/B8wByC;AHikH3C;;AkC30IA;EACE,sB/BwwBwC;AHskH1C;;AkC30IA;EACE,qBAA+B;EAC/B,gBAAgB;AlC80IlB;;AkC30IA;EACE,gBAAgB;AlC80IlB;;AKn4IE;E6B0DE,qBAAqB;AlC60IzB;;AkC/0IA;EAMI,oB/BuvBuC;AHslH3C;;AkCr0IA;EACE,wB/B8uByC;E+B7uBzC,gBAAgB;EAEhB,qC/BrEa;E+BsEb,6C/BtEa;AH64If;;AkC50IA;ExBhEI,0DwBwE8E;AlCw0IlF;;AkCp0IA;EACE,wB/BkuByC;E+BhuBzC,qC/BhFa;E+BiFb,0C/BjFa;AHu5If;;AkC10IA;ExB5EI,0DQ4H4D;AlB8xIhE;;AkC9zIA;EACE,uBAAiC;EACjC,uB/BgtBwC;E+B/sBxC,sBAAgC;EAChC,gBAAgB;AlCi0IlB;;AkC9zIA;EACE,uBAAiC;EACjC,sBAAgC;AlCi0IlC;;AkC7zIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/B2sByC;EO1zBvC,kCQ4H4D;AlBozIhE;;AkC7zIA;;;EAGE,cAAc;EACd,WAAW;AlCg0Ib;;AkC7zIA;;ExBjHI,2CQmH4D;ERlH5D,4CQkH4D;AlBi0IhE;;AkC9zIA;;ExBxGI,+CQqG4D;ERpG5D,8CQoG4D;AlBu0IhE;;AkC5zIA;EAEI,mB/BmrBsD;AH2oH1D;;Ac75II;EoB6FJ;IAMI,aAAa;IACb,mBAAmB;IACnB,mB/B6qBsD;I+B5qBtD,kB/B4qBsD;EHmpHxD;EkCx0IF;IAaM,YAAY;IACZ,kB/BuqBoD;I+BtqBpD,gBAAgB;IAChB,iB/BqqBoD;EHypHxD;AACF;;AkCrzIA;EAII,mB/BupBsD;AH8pH1D;;Ach7II;EoBuHJ;IAQI,aAAa;IACb,mBAAmB;ElCszIrB;EkC/zIF;IAcM,YAAY;IACZ,gBAAgB;ElCozIpB;EkCn0IF;IAkBQ,cAAc;IACd,cAAc;ElCozIpB;EkCv0IF;IxBjJI,0BwB0KoC;IxBzKpC,6BwByKoC;ElCkzItC;EkC30IF;;IA8BY,0BAA0B;ElCizIpC;EkC/0IF;;IAmCY,6BAA6B;ElCgzIvC;EkCn1IF;IxBnII,yBwB2KmC;IxB1KnC,4BwB0KmC;ElC+yIrC;EkCv1IF;;IA6CY,yBAAyB;ElC8yInC;EkC31IF;;IAkDY,4BAA4B;ElC6yItC;AACF;;AkCjyIA;EAEI,sB/B4kBsC;AHutH1C;;Ac39II;EoBsLJ;IAMI,oB/BylBiC;I+BzlBjC,e/BylBiC;I+BxlBjC,wB/BylBuC;I+BzlBvC,mB/BylBuC;I+BxlBvC,UAAU;IACV,SAAS;ElCoyIX;EkC7yIF;IAYM,qBAAqB;IACrB,WAAW;ElCoyIf;AACF;;AkC3xIA;EACE,qBAAqB;AlC8xIvB;;AkC/xIA;EAII,gBAAgB;AlC+xIpB;;AkCnyIA;EAOM,gBAAgB;ExBvOlB,6BwBwOiC;ExBvOjC,4BwBuOiC;AlCiyIrC;;AkCzyIA;ExB9OI,yBwB0P8B;ExBzP9B,0BwByP8B;AlCkyIlC;;AkC9yIA;ExBvPI,gBwBuQ0B;EACxB,mB/B9C2B;AHg1IjC;;AmC5jJA;EACE,aAAa;EACb,eAAe;EACf,qBhCiiCsC;EgChiCtC,mBhCmiCsC;EgCjiCtC,gBAAgB;EAChB,yBhCEgB;EOSd,sBP6NgC;AHu1IpC;;AmC3jJA;EAGI,oBhCuhCqC;AHqiHzC;;AmC/jJA;EAMM,WAAW;EACX,qBhCmhCmC;EgClhCnC,chCNY;EgCOZ,YhCwhCuC;AHqiH7C;;AmCtkJA;EAoBI,0BAA0B;AnCsjJ9B;;AmC1kJA;EAwBI,qBAAqB;AnCsjJzB;;AmC9kJA;EA4BI,chC1Bc;AHglJlB;;AoC7lJA;EACE,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGad,sBP6NgC;AHq3IpC;;AoC9lJA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjCgxBwC;EiC/wBxC,iBjCkO+B;EiCjO/B,iBjCmxBsC;EiClxBtC,cjCuBe;EiCrBf,sBjCPa;EiCQb,yBjCLgB;AHqmJlB;;AoCzmJA;EAYI,UAAU;EACV,cjC8J8D;EiC7J9D,qBAAqB;EACrB,yBjCZc;EiCad,qBjCZc;AH6mJlB;;AoCjnJA;EAoBI,UAAU;EACV,UjC2wBiC;EiC1wBjC,gDjCOa;AH0lJjB;;AoC7lJA;EAGM,cAAc;E1BahB,+BP+LgC;EO9LhC,kCP8LgC;AHo5IpC;;AoCnmJA;E1BEI,gCP6MgC;EO5MhC,mCP4MgC;AHy5IpC;;AoCxmJA;EAcI,UAAU;EACV,WjCxCW;EiCyCX,yBjCba;EiCcb,qBjCda;AH4mJjB;;AoC/mJA;EAqBI,cjCxCc;EiCyCd,oBAAoB;EAEpB,YAAY;EACZ,sBjClDW;EiCmDX,qBjChDc;AH6oJlB;;AqCppJE;EACE,uBlCyxBsC;EC9pBpC,kBAtCY;EiCnFd,gBlCmO6B;AHo7IjC;;AqClpJM;E3BqCF,8BPgM+B;EO/L/B,iCP+L+B;AHk7InC;;AqClpJM;E3BkBF,+BP8M+B;EO7M/B,kCP6M+B;AHu7InC;;AqCpqJE;EACE,uBlCuxBqC;EC5pBnC,mBAtCY;EiCnFd,gBlCoO6B;AHm8IjC;;AqClqJM;E3BqCF,8BPiM+B;EOhM/B,iCPgM+B;AHi8InC;;AqClqJM;E3BkBF,+BP+M+B;EO9M/B,kCP8M+B;AHs8InC;;AsClrJA;EACE,qBAAqB;EACrB,qBnC05BsC;ECz1BpC,cAAW;EkC/Db,gBnCuR+B;EmCtR/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BKtB,sBP6NgC;EiB/N9B,qIjBgb6I;AHowInJ;;AoBhrJM;EkBfN;IlBgBQ,gBAAgB;EpBorJtB;AACF;;AK1rJE;EiCGI,qBAAqB;AtC2rJ3B;;AsCzsJA;EAoBI,aAAa;AtCyrJjB;;AsCprJA;EACE,kBAAkB;EAClB,SAAS;AtCurJX;;AsChrJA;EACE,oBnC+3BsC;EmC93BtC,mBnC83BsC;EOr5BpC,oBPw5BqC;AHmzHzC;;AsC3qJE;ECjDA,WpCMa;EoCLb,yBpCiCe;AH+rJjB;;AKltJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCguJxC;;AuCnuJU;EAQJ,UAAU;EACV,+CpCsBW;AHysJjB;;AsC1rJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AHouJlB;;AKjuJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC+uJxC;;AuClvJU;EAQJ,UAAU;EACV,iDpCAY;AH8uJlB;;AsCzsJE;ECjDA,WpCMa;EoCLb,yBpCwCe;AHstJjB;;AKhvJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC8vJxC;;AuCjwJU;EAQJ,UAAU;EACV,+CpC6BW;AHguJjB;;AsCxtJE;ECjDA,WpCMa;EoCLb,yBpC0Ce;AHmuJjB;;AK/vJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC6wJxC;;AuChxJU;EAQJ,UAAU;EACV,gDpC+BW;AH6uJjB;;AsCvuJE;ECjDA,cpCegB;EoCdhB,yBpCuCe;AHqvJjB;;AK9wJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC4xJxC;;AuC/xJU;EAQJ,UAAU;EACV,+CpC4BW;AH+vJjB;;AsCtvJE;ECjDA,WpCMa;EoCLb,yBpCqCe;AHswJjB;;AK7xJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC2yJxC;;AuC9yJU;EAQJ,UAAU;EACV,+CpC0BW;AHgxJjB;;AsCrwJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AHozJlB;;AK5yJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC0zJxC;;AuC7zJU;EAQJ,UAAU;EACV,iDpCLY;AH8zJlB;;AsCpxJE;ECjDA,WpCMa;EoCLb,yBpCagB;AH4zJlB;;AK3zJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCy0JxC;;AuC50JU;EAQJ,UAAU;EACV,8CpCEY;AHs0JlB;;AwCr1JA;EACE,kBAAoD;EACpD,mBrCuzBsC;EqCrzBtC,yBrCKgB;EOSd,qBP8N+B;AH4mJnC;;AchyJI;E0B5DJ;IAQI,kBrCizBoC;EHwiItC;AACF;;AwCt1JA;EACE,gBAAgB;EAChB,eAAe;E9BIb,gB8BHsB;AxCy1J1B;;AyCp2JA;EACE,kBAAkB;EAClB,wBtCu9ByC;EsCt9BzC,mBtCu9BsC;EsCt9BtC,6BAA6C;E/BU3C,sBP6NgC;AHioJpC;;AyCn2JA;EAEE,cAAc;AzCq2JhB;;AyCj2JA;EACE,gBtC4Q+B;AHwlJjC;;AyC51JA;EACE,mBAAsD;AzC+1JxD;;AyCh2JA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,UAAU;EACV,wBtCw7BuC;EsCv7BvC,cAAc;AzC+1JlB;;AyCr1JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBkyJlE;;A0Ct4JE;EACE,yBAAqC;A1Cy4JzC;;A0Ct4JE;EACE,cAA0B;A1Cy4J9B;;AyCn2JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBgzJlE;;A0Cp5JE;EACE,yBAAqC;A1Cu5JzC;;A0Cp5JE;EACE,cAA0B;A1Cu5J9B;;AyCj3JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB8zJlE;;A0Cl6JE;EACE,yBAAqC;A1Cq6JzC;;A0Cl6JE;EACE,cAA0B;A1Cq6J9B;;AyC/3JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB40JlE;;A0Ch7JE;EACE,yBAAqC;A1Cm7JzC;;A0Ch7JE;EACE,cAA0B;A1Cm7J9B;;AyC74JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB01JlE;;A0C97JE;EACE,yBAAqC;A1Ci8JzC;;A0C97JE;EACE,cAA0B;A1Ci8J9B;;AyC35JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBw2JlE;;A0C58JE;EACE,yBAAqC;A1C+8JzC;;A0C58JE;EACE,cAA0B;A1C+8J9B;;AyCz6JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBs3JlE;;A0C19JE;EACE,yBAAqC;A1C69JzC;;A0C19JE;EACE,cAA0B;A1C69J9B;;AyCv7JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBo4JlE;;A0Cx+JE;EACE,yBAAqC;A1C2+JzC;;A0Cx+JE;EACE,cAA0B;A1C2+J9B;;A2Cn/JE;EACE;IAAO,2BAAuC;E3Cu/JhD;E2Ct/JE;IAAK,wBAAwB;E3Cy/J/B;AACF;;A2C5/JE;EACE;IAAO,2BAAuC;E3Cu/JhD;E2Ct/JE;IAAK,wBAAwB;E3Cy/J/B;AACF;;A2Ct/JA;EACE,aAAa;EACb,YxCg+BsC;EwC/9BtC,gBAAgB;EAChB,cAAc;EvCmHV,kBAtCY;EuC3EhB,yBxCLgB;EOSd,sBP6NgC;AHyxJpC;;A2Cr/JA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,WxCjBa;EwCkBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCQe;EiBnBX,2BjBk+B4C;AHkiIlD;;AoBhgKM;EuBDN;IvBEQ,gBAAgB;EpBogKtB;AACF;;A2C3/JA;ErBYE,qMAA6I;EqBV7I,0BxCy8BsC;AHqjIxC;;A2C1/JE;EACE,0DAA8D;EAA9D,kDAA8D;A3C6/JlE;;A2C1/JM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3C8/JrB;AACF;;A4CziKA;EACE,aAAa;EACb,uBAAuB;A5C4iKzB;;A4CziKA;EACE,OAAO;A5C4iKT;;A6C9iKA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;EnCQd,sBP6NgC;AH20JpC;;A6CtiKA;EACE,WAAW;EACX,c1CRgB;E0CShB,mBAAmB;A7CyiKrB;;AKhjKE;EwCWE,UAAU;EACV,c1Cdc;E0Ced,qBAAqB;EACrB,yB1CtBc;AH+jKlB;;A6CnjKA;EAcI,c1ClBc;E0CmBd,yB1C1Bc;AHmkKlB;;A6ChiKA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1C+8ByC;E0C58BzC,sB1C3Ca;E0C4Cb,sC1ClCa;AHmkKf;;A6CxiKA;EnCjBI,+BmC2BkC;EnC1BlC,gCmC0BkC;A7CmiKtC;;A6C7iKA;EnCHI,mCmCiBqC;EnChBrC,kCmCgBqC;A7CoiKzC;;A6CljKA;EAmBI,c1ClDc;E0CmDd,oBAAoB;EACpB,sB1C1DW;AH6lKf;;A6CxjKA;EA0BI,UAAU;EACV,W1ChEW;E0CiEX,yB1CrCa;E0CsCb,qB1CtCa;AHwkKjB;;A6C/jKA;EAiCI,mBAAmB;A7CkiKvB;;A6CnkKA;EAoCM,gB1C4J2B;E0C3J3B,qB1C2J2B;AHw4JjC;;A6CrhKI;EACE,mBAAmB;A7CwhKzB;;A6CzhKI;EnCtBA,kCPsKgC;EOlLhC,0BmCwCwC;A7CwhK5C;;A6C9hKI;EnClCA,gCPkLgC;EOtKhC,4BmCiC0C;A7CwhK9C;;A6CniKI;EAeM,aAAa;A7CwhKvB;;A6CviKI;EAmBM,qB1C0HuB;E0CzHvB,oBAAoB;A7CwhK9B;;A6C5iKI;EAuBQ,iB1CsHqB;E0CrHrB,sB1CqHqB;AHo6JjC;;AcplKI;E+BmCA;IACE,mBAAmB;E7CqjKvB;E6CtjKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CojK1C;E6C1jKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7CmjK5C;E6C9jKE;IAeM,aAAa;E7CkjKrB;E6CjkKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7CijK5B;E6CrkKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EH47J/B;AACF;;Ac7mKI;E+BmCA;IACE,mBAAmB;E7C8kKvB;E6C/kKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7C6kK1C;E6CnlKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7C4kK5C;E6CvlKE;IAeM,aAAa;E7C2kKrB;E6C1lKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7C0kK5B;E6C9lKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EHq9J/B;AACF;;ActoKI;E+BmCA;IACE,mBAAmB;E7CumKvB;E6CxmKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CsmK1C;E6C5mKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7CqmK5C;E6ChnKE;IAeM,aAAa;E7ComKrB;E6CnnKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7CmmK5B;E6CvnKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EH8+J/B;AACF;;Ac/pKI;E+BmCA;IACE,mBAAmB;E7CgoKvB;E6CjoKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7C+nK1C;E6CroKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7C8nK5C;E6CzoKE;IAeM,aAAa;E7C6nKrB;E6C5oKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7C4nK5B;E6ChpKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EHugK/B;AACF;;A6C/mKA;EnCnHI,gBmCoHsB;A7CknK1B;;A6CnnKA;EAII,qB1CmG6B;AHghKjC;;A6CvnKA;EAOM,sBAAsB;A7ConK5B;;A8C7vKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4pKlE;;AKrvKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CgwKjD;;A8CvwKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBuqKlE;;A8C7wKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4qKlE;;AKrwKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CgxKjD;;A8CvxKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBurKlE;;A8C7xKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4rKlE;;AKrxKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CgyKjD;;A8CvyKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBusKlE;;A8C7yKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4sKlE;;AKryKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CgzKjD;;A8CvzKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlButKlE;;A8C7zKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4tKlE;;AKrzKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cg0KjD;;A8Cv0KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBuuKlE;;A8C70KE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4uKlE;;AKr0KE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cg1KjD;;A8Cv1KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBuvKlE;;A8C71KE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4vKlE;;AKr1KE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cg2KjD;;A8Cv2KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBuwKlE;;A8C72KE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4wKlE;;AKr2KE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cg3KjD;;A8Cv3KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBuxKlE;;A+Ch4KA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5C6R+B;E4C5R/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/Cm4Kb;;AK93KE;E0CDE,W5CMW;E4CLX,qBAAqB;A/Cm4KzB;;AK/3KE;E0CCI,YAAY;A/Ck4KlB;;A+Cv3KA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;A/C03KX;;A+Cp3KA;EACE,oBAAoB;A/Cu3KtB;;AgD75KA;EAGE,iB7Cy4BuC;E6Cx4BvC,gB7Cw4BuC;EC7wBnC,mBAtCY;E4ClFhB,2C7CAa;E6CCb,4BAA4B;EAC5B,oC7C04BmD;E6Cz4BnD,gD7COa;E6CNb,UAAU;EtCOR,sBPk4BsC;AHqhJ1C;;AgDz6KA;EAeI,sB7C83BsC;AHgiJ1C;;AgD76KA;EAmBI,UAAU;AhD85Kd;;AgDj7KA;EAuBI,cAAc;EACd,UAAU;AhD85Kd;;AgDt7KA;EA4BI,aAAa;AhD85KjB;;AgD15KA;EACE,aAAa;EACb,mBAAmB;EACnB,wB7C02BwC;E6Cz2BxC,c7CvBgB;E6CwBhB,2C7C9Ba;E6C+Bb,4BAA4B;EAC5B,4C7Ck3BoD;EO93BlD,2CQmH4D;ERlH5D,4CQkH4D;AlBwzKhE;;AgD35KA;EACE,gB7Ci2BwC;AH6jJ1C;;AiDp8KA;EAEE,gBAAgB;AjDs8KlB;;AiDx8KA;EAKI,kBAAkB;EAClB,gBAAgB;AjDu8KpB;;AiDl8KA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C2pBsC;E8C1pBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjDm8KZ;;AiD57KA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C+4BuC;E8C74BvC,oBAAoB;AjD87KtB;;AiD37KE;E7B3BI,mCjBo8BoD;E8Cv6BtD,8B9Cq6BmD;AHyhJvD;;AoBv9KM;E6BuBJ;I7BtBM,gBAAgB;EpB29KtB;AACF;;AiDl8KE;EACE,e9Cm6BoC;AHkiJxC;;AiDj8KE;EACE,sB9Cg6B2C;AHoiJ/C;;AiDh8KA;EACE,aAAa;EACb,6B/BmF8D;AlBg3KhE;;AiDr8KA;EAKI,8B/BgF4D;E+B/E5D,gBAAgB;AjDo8KpB;;AiD18KA;;EAWI,cAAc;AjDo8KlB;;AiD/8KA;EAeI,gBAAgB;AjDo8KpB;;AiDh8KA;EACE,aAAa;EACb,mBAAmB;EACnB,6B/B+D8D;AlBo4KhE;;AiDt8KA;EAOI,cAAc;EACd,0B/B0D4D;E+BzD5D,2BAAmB;EAAnB,wBAAmB;EAAnB,mBAAmB;EACnB,WAAW;AjDm8Kf;;AiD78KA;EAeI,sBAAsB;EACtB,uBAAuB;EACvB,YAAY;AjDk8KhB;;AiDn9KA;EAoBM,gBAAgB;AjDm8KtB;;AiDv9KA;EAwBM,aAAa;AjDm8KnB;;AiD77KA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,WAAW;EAGX,oBAAoB;EACpB,sB9C3Ga;E8C4Gb,4BAA4B;EAC5B,oC9CnGa;EOCX,qBP8N+B;E8CxHjC,UAAU;AjD47KZ;;AiDx7KA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C+iBsC;E8C9iBtC,YAAY;EACZ,aAAa;EACb,sB9ClHa;AH6iLf;;AiDl8KA;EAUW,UAAU;AjD47KrB;;AiDt8KA;EAWW,Y9C6zB2B;AHkoJtC;;AiD17KA;EACE,aAAa;EACb,uBAAuB;EACvB,8BAA8B;EAC9B,kB9C0zBsC;E8CzzBtC,gC9CvIgB;EOiBd,0CQmH4D;ERlH5D,2CQkH4D;AlBk8KhE;;AiDp8KA;EASI,kB9CqzBoC;E8CnzBpC,8BAA6F;AjD87KjG;;AiDz7KA;EACE,gBAAgB;EAChB,gB9CsI+B;AHszKjC;;AiDv7KA;EACE,kBAAkB;EAGlB,cAAc;EACd,a9CwwBsC;AHgrJxC;;AiDp7KA;EACE,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,yBAAyB;EACzB,gBAAgE;EAChE,6B9CxKgB;EO+Bd,8CQqG4D;ERpG5D,6CQoG4D;AlB69KhE;;AiD/7KA;EAaI,eAAwC;AjDs7K5C;;AiDj7KA;EACE,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,gBAAgB;AjDo7KlB;;Ac3jLI;EmCzBJ;IAuKI,gB9CqwBqC;I8CpwBrC,oBAAyC;EjDk7K3C;EiDpkLF;IAsJI,+B/BjE4D;ElBk/K9D;EiDvkLF;IAyJM,gC/BpE0D;ElBq/K9D;EiDvjLF;IA2II,+B/BzE4D;ElBw/K9D;EiD1jLF;IA8IM,4B/B5E0D;I+B6E1D,2BAAmB;IAAnB,wBAAmB;IAAnB,mBAAmB;EjD+6KvB;EiDv6KA;IAAY,gB9C6uB2B;EH6rJvC;AACF;;AcllLI;EmC2KF;;IAEE,gB9CquBqC;EHssJvC;AACF;;AczlLI;EmCkLF;IAAY,iB9C+tB4B;EH6sJxC;AACF;;AkD1pLA;EACE,kBAAkB;EAClB,a/C+qBsC;E+C9qBtC,cAAc;EACd,S/C21BmC;EgD/1BnC,qNhDmRoO;EgDjRpO,kBAAkB;EAClB,gBhD2R+B;EgD1R/B,gBhD+R+B;EgD9R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;E8C9EhB,qBAAqB;EACrB,UAAU;AlDuqLZ;;AkDlrLA;EAaW,Y/C+0B2B;AH01JtC;;AkDtrLA;EAgBI,kBAAkB;EAClB,cAAc;EACd,a/C+0BqC;E+C90BrC,c/C+0BqC;AH21JzC;;AkD7rLA;EAsBM,kBAAkB;EAClB,WAAW;EACX,yBAAyB;EACzB,mBAAmB;AlD2qLzB;;AkDtqLA;EACE,iBAAgC;AlDyqLlC;;AkD1qLA;EAII,SAAS;AlD0qLb;;AkD9qLA;EAOM,MAAM;EACN,6BAAgE;EAChE,sB/CvBS;AHksLf;;AkDtqLA;EACE,iB/CqzBuC;AHo3JzC;;AkD1qLA;EAII,OAAO;EACP,a/CizBqC;E+ChzBrC,c/C+yBqC;AH23JzC;;AkDhrLA;EASM,QAAQ;EACR,oCAA2F;EAC3F,wB/CvCS;AHktLf;;AkDtqLA;EACE,iBAAgC;AlDyqLlC;;AkD1qLA;EAII,MAAM;AlD0qLV;;AkD9qLA;EAOM,SAAS;EACT,6B/C8xBmC;E+C7xBnC,yB/CrDS;AHguLf;;AkDtqLA;EACE,iB/CuxBuC;AHk5JzC;;AkD1qLA;EAII,QAAQ;EACR,a/CmxBqC;E+ClxBrC,c/CixBqC;AHy5JzC;;AkDhrLA;EASM,OAAO;EACP,oC/C8wBmC;E+C7wBnC,uB/CrES;AHgvLf;;AkDtpLA;EACE,gB/C6uBuC;E+C5uBvC,uB/CkvBuC;E+CjvBvC,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EOCX,sBP6NgC;AH2hLpC;;AoD1wLA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ajD6qBsC;EiD5qBtC,cAAc;EACd,gBjD62BuC;EgDl3BvC,qNhDmRoO;EgDjRpO,kBAAkB;EAClB,gBhD2R+B;EgD1R/B,gBhD+R+B;EgD9R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;EgD7EhB,qBAAqB;EACrB,sBjDNa;EiDOb,4BAA4B;EAC5B,oCjDEa;EOCX,qBP8N+B;AHujLnC;;AoDvyLA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjD62BoC;EiD52BpC,cjD62BqC;EiD52BrC,gBjDwN+B;AH+jLnC;;AoD/yLA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApDuxLzB;;AoDlxLA;EACE,qBjD81BuC;AHu7JzC;;AoDtxLA;EAII,2BlCqG4D;AlBirLhE;;AoD1xLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjDy1BiE;AH87JvE;;AoDhyLA;EAaM,WjD0L2B;EiDzL3B,6BAAgE;EAChE,sBjD7CS;AHo0Lf;;AoDlxLA;EACE,mBjD00BuC;AH28JzC;;AoDtxLA;EAII,yBlCiF4D;EkChF5D,ajDs0BqC;EiDr0BrC,YjDo0BoC;EiDn0BpC,gBAAgC;ApDsxLpC;;AoD7xLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjDk0BiE;AHq9JvE;;AoDnyLA;EAgBM,SjDmK2B;EiDlK3B,oCAA2F;EAC3F,wBjDpES;AH21Lf;;AoDlxLA;EACE,kBjDmzBuC;AHk+JzC;;AoDtxLA;EAII,wBlC0D4D;AlB4tLhE;;AoD1xLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjD8yBiE;AHy+JvE;;AoDhyLA;EAaM,QjD+I2B;EiD9I3B,oCAA2F;EAC3F,yBjDxFS;AH+2Lf;;AoDtyLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjD0xBoC;EiDzxBpC,oBAAsC;EACtC,WAAW;EACX,gCjD8wBuD;AHugK3D;;AoDjxLA;EACE,oBjDmxBuC;AHigKzC;;AoDrxLA;EAII,0BlC0B4D;EkCzB5D,ajD+wBqC;EiD9wBrC,YjD6wBoC;EiD5wBpC,gBAAgC;ApDqxLpC;;AoD5xLA;EAUM,QAAQ;EACR,oCjDywBmC;EiDxwBnC,sCjD2wBiE;AH2gKvE;;AoDlyLA;EAgBM,UjD4G2B;EiD3G3B,oCjDmwBmC;EiDlwBnC,uBjD3HS;AHi5Lf;;AoDhwLA;EACE,uBjDouBwC;EiDnuBxC,gBAAgB;EhD3BZ,eAtCY;EgDoEhB,yBjD6tByD;EiD5tBzD,gCAAyE;E1CnIvE,0CQmH4D;ERlH5D,2CQkH4D;AlBoxLhE;;AoD1wLA;EAUI,aAAa;ApDowLjB;;AoDhwLA;EACE,uBjDstBwC;EiDrtBxC,cjDxJgB;AH25LlB;;AqD95LA;EACE,kBAAkB;ArDi6LpB;;AqD95LA;EACE,mBAAmB;ArDi6LrB;;AqD95LA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDi6LlB;;AsDx7LE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtD27Lf;;AqDn6LA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EjClBvB,sCjByjCkF;AHg4JxF;;AoBr7LM;EiCQN;IjCPQ,gBAAgB;EpBy7LtB;AACF;;AqDz6LA;;;EAGE,cAAc;ArD46LhB;;AqDz6LA;;EAEE,2BAA2B;ArD46L7B;;AqDz6LA;;EAEE,4BAA4B;ArD46L9B;;AqDp6LA;EAEI,UAAU;EACV,4BAA4B;EAC5B,eAAe;ArDs6LnB;;AqD16LA;;;EAUI,UAAU;EACV,UAAU;ArDs6Ld;;AqDj7LA;;EAgBI,UAAU;EACV,UAAU;EjC5DR,2BjBwjCkC;AH26JxC;;AoB/9LM;EiCuCN;;IjCtCQ,gBAAgB;EpBo+LtB;AACF;;AqDp6LA;;EAEE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,UAAU;EAEV,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,UlDo9BsC;EkDn9BtC,WlD1Fa;EkD2Fb,kBAAkB;EAClB,YlDk9BqC;EiBriCjC,8BjBuiCgD;AHm9JtD;;AoBt/LM;EiCkEN;;IjCjEQ,gBAAgB;EpB2/LtB;AACF;;AKjgME;;;EgDwFE,WlDjGW;EkDkGX,qBAAqB;EACrB,UAAU;EACV,YlD28BmC;AHo+JvC;;AqD56LA;EACE,OAAO;ArD+6LT;;AqD16LA;EACE,QAAQ;ArD66LV;;AqDt6LA;;EAEE,qBAAqB;EACrB,WlDo8BuC;EkDn8BvC,YlDm8BuC;EkDl8BvC,qCAAqC;ArDy6LvC;;AqDv6LA;EACE,sNnCvEgF;AlBi/LlF;;AqDx6LA;EACE,uNnC1EgF;AlBq/LlF;;AqDl6LA;EACE,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,OAAO;EACP,WAAW;EACX,aAAa;EACb,uBAAuB;EACvB,eAAe;EAEf,iBlD05BsC;EkDz5BtC,gBlDy5BsC;EkDx5BtC,gBAAgB;ArDo6LlB;;AqDh7LA;EAeI,uBAAuB;EACvB,cAAc;EACd,WlDw5BqC;EkDv5BrC,WlDw5BoC;EkDv5BpC,iBlDy5BoC;EkDx5BpC,gBlDw5BoC;EkDv5BpC,mBAAmB;EACnB,eAAe;EACf,sBlDhKW;EkDiKX,4BAA4B;EAE5B,kCAAiE;EACjE,qCAAoE;EACpE,WAAW;EjC5JT,6BjB8iC+C;AHmhKrD;;AoB7jMM;EiC4HN;IjC3HQ,gBAAgB;EpBikMtB;AACF;;AqDv8LA;EAiCI,UAAU;ArD06Ld;;AqDj6LA;EACE,kBAAkB;EAClB,UAA2C;EAC3C,YAAY;EACZ,SAA0C;EAC1C,WAAW;EACX,iBAAiB;EACjB,oBAAoB;EACpB,WlD3La;EkD4Lb,kBAAkB;ArDo6LpB;;AuDnmMA;EACE;IAAK,yBAAyB;EvDumM9B;AACF;;AuDzmMA;EACE;IAAK,yBAAyB;EvDumM9B;AACF;;AuDrmMA;EACE,qBAAqB;EACrB,WpDokC0B;EoDnkC1B,YpDmkC0B;EoDlkC1B,2BAA2B;EAC3B,iCAAgD;EAChD,+BAA+B;EAE/B,kBAAkB;EAClB,sDAA8C;EAA9C,8CAA8C;AvDumMhD;;AuDpmMA;EACE,WpD6jC4B;EoD5jC5B,YpD4jC4B;EoD3jC5B,mBpD6jC4B;AH0iK9B;;AuDhmMA;EACE;IACE,mBAAmB;EvDmmMrB;EuDjmMA;IACE,UAAU;IACV,eAAe;EvDmmMjB;AACF;;AuD1mMA;EACE;IACE,mBAAmB;EvDmmMrB;EuDjmMA;IACE,UAAU;IACV,eAAe;EvDmmMjB;AACF;;AuDhmMA;EACE,qBAAqB;EACrB,WpDoiC0B;EoDniC1B,YpDmiC0B;EoDliC1B,2BAA2B;EAC3B,8BAA8B;EAE9B,kBAAkB;EAClB,UAAU;EACV,oDAA4C;EAA5C,4CAA4C;AvDkmM9C;;AuD/lMA;EACE,WpD6hC4B;EoD5hC5B,YpD4hC4B;AHskK9B;;AuD9lME;EACE;;IAEE,gCAAwB;IAAxB,wBAAwB;EvDimM5B;AACF;;AwD7pMA;EAAqB,mCAAmC;AxDiqMxD;;AwDhqMA;EAAqB,8BAA8B;AxDoqMnD;;AwDnqMA;EAAqB,iCAAiC;AxDuqMtD;;AwDtqMA;EAAqB,iCAAiC;AxD0qMtD;;AwDzqMA;EAAqB,sCAAsC;AxD6qM3D;;AwD5qMA;EAAqB,mCAAmC;AxDgrMxD;;AyDlrME;EACE,oCAAmC;AzDqrMvC;;AK3qME;;;EoDLI,oCAAgD;AzDsrMtD;;AyD5rME;EACE,oCAAmC;AzD+rMvC;;AKrrME;;;EoDLI,oCAAgD;AzDgsMtD;;AyDtsME;EACE,oCAAmC;AzDysMvC;;AK/rME;;;EoDLI,oCAAgD;AzD0sMtD;;AyDhtME;EACE,oCAAmC;AzDmtMvC;;AKzsME;;;EoDLI,oCAAgD;AzDotMtD;;AyD1tME;EACE,oCAAmC;AzD6tMvC;;AKntME;;;EoDLI,oCAAgD;AzD8tMtD;;AyDpuME;EACE,oCAAmC;AzDuuMvC;;AK7tME;;;EoDLI,oCAAgD;AzDwuMtD;;AyD9uME;EACE,oCAAmC;AzDivMvC;;AKvuME;;;EoDLI,oCAAgD;AzDkvMtD;;AyDxvME;EACE,oCAAmC;AzD2vMvC;;AKjvME;;;EoDLI,oCAAgD;AzD4vMtD;;A0D3vMA;EACE,iCAAmC;A1D8vMrC;;A0D3vMA;EACE,wCAAwC;A1D8vM1C;;A2DzwMA;EAAkB,oCAAoD;A3D6wMtE;;A2D5wMA;EAAkB,wCAAwD;A3DgxM1E;;A2D/wMA;EAAkB,0CAA0D;A3DmxM5E;;A2DlxMA;EAAkB,2CAA2D;A3DsxM7E;;A2DrxMA;EAAkB,yCAAyD;A3DyxM3E;;A2DvxMA;EAAmB,oBAAoB;A3D2xMvC;;A2D1xMA;EAAmB,wBAAwB;A3D8xM3C;;A2D7xMA;EAAmB,0BAA0B;A3DiyM7C;;A2DhyMA;EAAmB,2BAA2B;A3DoyM9C;;A2DnyMA;EAAmB,yBAAyB;A3DuyM5C;;A2DpyME;EACE,gCAA+B;A3DuyMnC;;A2DxyME;EACE,gCAA+B;A3D2yMnC;;A2D5yME;EACE,gCAA+B;A3D+yMnC;;A2DhzME;EACE,gCAA+B;A3DmzMnC;;A2DpzME;EACE,gCAA+B;A3DuzMnC;;A2DxzME;EACE,gCAA+B;A3D2zMnC;;A2D5zME;EACE,gCAA+B;A3D+zMnC;;A2Dh0ME;EACE,gCAA+B;A3Dm0MnC;;A2D/zMA;EACE,6BAA+B;A3Dk0MjC;;A2D3zMA;EACE,gCAA2C;A3D8zM7C;;A2D3zMA;EACE,iCAAwC;A3D8zM1C;;A2D3zMA;EACE,0CAAiD;EACjD,2CAAkD;A3D8zMpD;;A2D3zMA;EACE,2CAAkD;EAClD,8CAAqD;A3D8zMvD;;A2D3zMA;EACE,8CAAqD;EACrD,6CAAoD;A3D8zMtD;;A2D3zMA;EACE,0CAAiD;EACjD,6CAAoD;A3D8zMtD;;A2D3zMA;EACE,gCAA2C;A3D8zM7C;;A2D3zMA;EACE,6BAA6B;A3D8zM/B;;A2D3zMA;EACE,+BAAuC;A3D8zMzC;;A2D3zMA;EACE,2BAA2B;A3D8zM7B;;AsDt4ME;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDy4Mf;;A4Dl4MM;EAAwB,wBAA0B;A5Ds4MxD;;A4Dt4MM;EAAwB,0BAA0B;A5D04MxD;;A4D14MM;EAAwB,gCAA0B;A5D84MxD;;A4D94MM;EAAwB,yBAA0B;A5Dk5MxD;;A4Dl5MM;EAAwB,yBAA0B;A5Ds5MxD;;A4Dt5MM;EAAwB,6BAA0B;A5D05MxD;;A4D15MM;EAAwB,8BAA0B;A5D85MxD;;A4D95MM;EAAwB,wBAA0B;A5Dk6MxD;;A4Dl6MM;EAAwB,+BAA0B;A5Ds6MxD;;Acr3MI;E8CjDE;IAAwB,wBAA0B;E5D26MtD;E4D36MI;IAAwB,0BAA0B;E5D86MtD;E4D96MI;IAAwB,gCAA0B;E5Di7MtD;E4Dj7MI;IAAwB,yBAA0B;E5Do7MtD;E4Dp7MI;IAAwB,yBAA0B;E5Du7MtD;E4Dv7MI;IAAwB,6BAA0B;E5D07MtD;E4D17MI;IAAwB,8BAA0B;E5D67MtD;E4D77MI;IAAwB,wBAA0B;E5Dg8MtD;E4Dh8MI;IAAwB,+BAA0B;E5Dm8MtD;AACF;;Acn5MI;E8CjDE;IAAwB,wBAA0B;E5Dy8MtD;E4Dz8MI;IAAwB,0BAA0B;E5D48MtD;E4D58MI;IAAwB,gCAA0B;E5D+8MtD;E4D/8MI;IAAwB,yBAA0B;E5Dk9MtD;E4Dl9MI;IAAwB,yBAA0B;E5Dq9MtD;E4Dr9MI;IAAwB,6BAA0B;E5Dw9MtD;E4Dx9MI;IAAwB,8BAA0B;E5D29MtD;E4D39MI;IAAwB,wBAA0B;E5D89MtD;E4D99MI;IAAwB,+BAA0B;E5Di+MtD;AACF;;Acj7MI;E8CjDE;IAAwB,wBAA0B;E5Du+MtD;E4Dv+MI;IAAwB,0BAA0B;E5D0+MtD;E4D1+MI;IAAwB,gCAA0B;E5D6+MtD;E4D7+MI;IAAwB,yBAA0B;E5Dg/MtD;E4Dh/MI;IAAwB,yBAA0B;E5Dm/MtD;E4Dn/MI;IAAwB,6BAA0B;E5Ds/MtD;E4Dt/MI;IAAwB,8BAA0B;E5Dy/MtD;E4Dz/MI;IAAwB,wBAA0B;E5D4/MtD;E4D5/MI;IAAwB,+BAA0B;E5D+/MtD;AACF;;Ac/8MI;E8CjDE;IAAwB,wBAA0B;E5DqgNtD;E4DrgNI;IAAwB,0BAA0B;E5DwgNtD;E4DxgNI;IAAwB,gCAA0B;E5D2gNtD;E4D3gNI;IAAwB,yBAA0B;E5D8gNtD;E4D9gNI;IAAwB,yBAA0B;E5DihNtD;E4DjhNI;IAAwB,6BAA0B;E5DohNtD;E4DphNI;IAAwB,8BAA0B;E5DuhNtD;E4DvhNI;IAAwB,wBAA0B;E5D0hNtD;E4D1hNI;IAAwB,+BAA0B;E5D6hNtD;AACF;;A4DphNA;EAEI;IAAqB,wBAA0B;E5DuhNjD;E4DvhNE;IAAqB,0BAA0B;E5D0hNjD;E4D1hNE;IAAqB,gCAA0B;E5D6hNjD;E4D7hNE;IAAqB,yBAA0B;E5DgiNjD;E4DhiNE;IAAqB,yBAA0B;E5DmiNjD;E4DniNE;IAAqB,6BAA0B;E5DsiNjD;E4DtiNE;IAAqB,8BAA0B;E5DyiNjD;E4DziNE;IAAqB,wBAA0B;E5D4iNjD;E4D5iNE;IAAqB,+BAA0B;E5D+iNjD;AACF;;A6DrkNA;EACE,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,UAAU;EACV,gBAAgB;A7DwkNlB;;A6D7kNA;EAQI,cAAc;EACd,WAAW;A7DykNf;;A6DllNA;;;;;EAiBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,WAAW;EACX,YAAY;EACZ,SAAS;A7DykNb;;A6DjkNE;EAEI,uBAA4F;A7DmkNlG;;A6DrkNE;EAEI,mBAA4F;A7DukNlG;;A6DzkNE;EAEI,gBAA4F;A7D2kNlG;;A6D7kNE;EAEI,iBAA4F;A7D+kNlG;;A8DxmNI;EAAgC,8BAA8B;A9D4mNlE;;A8D3mNI;EAAgC,iCAAiC;A9D+mNrE;;A8D9mNI;EAAgC,sCAAsC;A9DknN1E;;A8DjnNI;EAAgC,yCAAyC;A9DqnN7E;;A8DnnNI;EAA8B,0BAA0B;A9DunN5D;;A8DtnNI;EAA8B,4BAA4B;A9D0nN9D;;A8DznNI;EAA8B,kCAAkC;A9D6nNpE;;A8D5nNI;EAA8B,yBAAyB;A9DgoN3D;;A8D/nNI;EAA8B,uBAAuB;A9DmoNzD;;A8DloNI;EAA8B,uBAAuB;A9DsoNzD;;A8DroNI;EAA8B,yBAAyB;A9DyoN3D;;A8DxoNI;EAA8B,yBAAyB;A9D4oN3D;;A8D1oNI;EAAoC,sCAAsC;A9D8oN9E;;A8D7oNI;EAAoC,oCAAoC;A9DipN5E;;A8DhpNI;EAAoC,kCAAkC;A9DopN1E;;A8DnpNI;EAAoC,yCAAyC;A9DupNjF;;A8DtpNI;EAAoC,wCAAwC;A9D0pNhF;;A8DxpNI;EAAiC,kCAAkC;A9D4pNvE;;A8D3pNI;EAAiC,gCAAgC;A9D+pNrE;;A8D9pNI;EAAiC,8BAA8B;A9DkqNnE;;A8DjqNI;EAAiC,gCAAgC;A9DqqNrE;;A8DpqNI;EAAiC,+BAA+B;A9DwqNpE;;A8DtqNI;EAAkC,oCAAoC;A9D0qN1E;;A8DzqNI;EAAkC,kCAAkC;A9D6qNxE;;A8D5qNI;EAAkC,gCAAgC;A9DgrNtE;;A8D/qNI;EAAkC,uCAAuC;A9DmrN7E;;A8DlrNI;EAAkC,sCAAsC;A9DsrN5E;;A8DrrNI;EAAkC,iCAAiC;A9DyrNvE;;A8DvrNI;EAAgC,2BAA2B;A9D2rN/D;;A8D1rNI;EAAgC,iCAAiC;A9D8rNrE;;A8D7rNI;EAAgC,+BAA+B;A9DisNnE;;A8DhsNI;EAAgC,6BAA6B;A9DosNjE;;A8DnsNI;EAAgC,+BAA+B;A9DusNnE;;A8DtsNI;EAAgC,8BAA8B;A9D0sNlE;;Ac9rNI;EgDlDA;IAAgC,8BAA8B;E9DqvNhE;E8DpvNE;IAAgC,iCAAiC;E9DuvNnE;E8DtvNE;IAAgC,sCAAsC;E9DyvNxE;E8DxvNE;IAAgC,yCAAyC;E9D2vN3E;E8DzvNE;IAA8B,0BAA0B;E9D4vN1D;E8D3vNE;IAA8B,4BAA4B;E9D8vN5D;E8D7vNE;IAA8B,kCAAkC;E9DgwNlE;E8D/vNE;IAA8B,yBAAyB;E9DkwNzD;E8DjwNE;IAA8B,uBAAuB;E9DowNvD;E8DnwNE;IAA8B,uBAAuB;E9DswNvD;E8DrwNE;IAA8B,yBAAyB;E9DwwNzD;E8DvwNE;IAA8B,yBAAyB;E9D0wNzD;E8DxwNE;IAAoC,sCAAsC;E9D2wN5E;E8D1wNE;IAAoC,oCAAoC;E9D6wN1E;E8D5wNE;IAAoC,kCAAkC;E9D+wNxE;E8D9wNE;IAAoC,yCAAyC;E9DixN/E;E8DhxNE;IAAoC,wCAAwC;E9DmxN9E;E8DjxNE;IAAiC,kCAAkC;E9DoxNrE;E8DnxNE;IAAiC,gCAAgC;E9DsxNnE;E8DrxNE;IAAiC,8BAA8B;E9DwxNjE;E8DvxNE;IAAiC,gCAAgC;E9D0xNnE;E8DzxNE;IAAiC,+BAA+B;E9D4xNlE;E8D1xNE;IAAkC,oCAAoC;E9D6xNxE;E8D5xNE;IAAkC,kCAAkC;E9D+xNtE;E8D9xNE;IAAkC,gCAAgC;E9DiyNpE;E8DhyNE;IAAkC,uCAAuC;E9DmyN3E;E8DlyNE;IAAkC,sCAAsC;E9DqyN1E;E8DpyNE;IAAkC,iCAAiC;E9DuyNrE;E8DryNE;IAAgC,2BAA2B;E9DwyN7D;E8DvyNE;IAAgC,iCAAiC;E9D0yNnE;E8DzyNE;IAAgC,+BAA+B;E9D4yNjE;E8D3yNE;IAAgC,6BAA6B;E9D8yN/D;E8D7yNE;IAAgC,+BAA+B;E9DgzNjE;E8D/yNE;IAAgC,8BAA8B;E9DkzNhE;AACF;;AcvyNI;EgDlDA;IAAgC,8BAA8B;E9D81NhE;E8D71NE;IAAgC,iCAAiC;E9Dg2NnE;E8D/1NE;IAAgC,sCAAsC;E9Dk2NxE;E8Dj2NE;IAAgC,yCAAyC;E9Do2N3E;E8Dl2NE;IAA8B,0BAA0B;E9Dq2N1D;E8Dp2NE;IAA8B,4BAA4B;E9Du2N5D;E8Dt2NE;IAA8B,kCAAkC;E9Dy2NlE;E8Dx2NE;IAA8B,yBAAyB;E9D22NzD;E8D12NE;IAA8B,uBAAuB;E9D62NvD;E8D52NE;IAA8B,uBAAuB;E9D+2NvD;E8D92NE;IAA8B,yBAAyB;E9Di3NzD;E8Dh3NE;IAA8B,yBAAyB;E9Dm3NzD;E8Dj3NE;IAAoC,sCAAsC;E9Do3N5E;E8Dn3NE;IAAoC,oCAAoC;E9Ds3N1E;E8Dr3NE;IAAoC,kCAAkC;E9Dw3NxE;E8Dv3NE;IAAoC,yCAAyC;E9D03N/E;E8Dz3NE;IAAoC,wCAAwC;E9D43N9E;E8D13NE;IAAiC,kCAAkC;E9D63NrE;E8D53NE;IAAiC,gCAAgC;E9D+3NnE;E8D93NE;IAAiC,8BAA8B;E9Di4NjE;E8Dh4NE;IAAiC,gCAAgC;E9Dm4NnE;E8Dl4NE;IAAiC,+BAA+B;E9Dq4NlE;E8Dn4NE;IAAkC,oCAAoC;E9Ds4NxE;E8Dr4NE;IAAkC,kCAAkC;E9Dw4NtE;E8Dv4NE;IAAkC,gCAAgC;E9D04NpE;E8Dz4NE;IAAkC,uCAAuC;E9D44N3E;E8D34NE;IAAkC,sCAAsC;E9D84N1E;E8D74NE;IAAkC,iCAAiC;E9Dg5NrE;E8D94NE;IAAgC,2BAA2B;E9Di5N7D;E8Dh5NE;IAAgC,iCAAiC;E9Dm5NnE;E8Dl5NE;IAAgC,+BAA+B;E9Dq5NjE;E8Dp5NE;IAAgC,6BAA6B;E9Du5N/D;E8Dt5NE;IAAgC,+BAA+B;E9Dy5NjE;E8Dx5NE;IAAgC,8BAA8B;E9D25NhE;AACF;;Ach5NI;EgDlDA;IAAgC,8BAA8B;E9Du8NhE;E8Dt8NE;IAAgC,iCAAiC;E9Dy8NnE;E8Dx8NE;IAAgC,sCAAsC;E9D28NxE;E8D18NE;IAAgC,yCAAyC;E9D68N3E;E8D38NE;IAA8B,0BAA0B;E9D88N1D;E8D78NE;IAA8B,4BAA4B;E9Dg9N5D;E8D/8NE;IAA8B,kCAAkC;E9Dk9NlE;E8Dj9NE;IAA8B,yBAAyB;E9Do9NzD;E8Dn9NE;IAA8B,uBAAuB;E9Ds9NvD;E8Dr9NE;IAA8B,uBAAuB;E9Dw9NvD;E8Dv9NE;IAA8B,yBAAyB;E9D09NzD;E8Dz9NE;IAA8B,yBAAyB;E9D49NzD;E8D19NE;IAAoC,sCAAsC;E9D69N5E;E8D59NE;IAAoC,oCAAoC;E9D+9N1E;E8D99NE;IAAoC,kCAAkC;E9Di+NxE;E8Dh+NE;IAAoC,yCAAyC;E9Dm+N/E;E8Dl+NE;IAAoC,wCAAwC;E9Dq+N9E;E8Dn+NE;IAAiC,kCAAkC;E9Ds+NrE;E8Dr+NE;IAAiC,gCAAgC;E9Dw+NnE;E8Dv+NE;IAAiC,8BAA8B;E9D0+NjE;E8Dz+NE;IAAiC,gCAAgC;E9D4+NnE;E8D3+NE;IAAiC,+BAA+B;E9D8+NlE;E8D5+NE;IAAkC,oCAAoC;E9D++NxE;E8D9+NE;IAAkC,kCAAkC;E9Di/NtE;E8Dh/NE;IAAkC,gCAAgC;E9Dm/NpE;E8Dl/NE;IAAkC,uCAAuC;E9Dq/N3E;E8Dp/NE;IAAkC,sCAAsC;E9Du/N1E;E8Dt/NE;IAAkC,iCAAiC;E9Dy/NrE;E8Dv/NE;IAAgC,2BAA2B;E9D0/N7D;E8Dz/NE;IAAgC,iCAAiC;E9D4/NnE;E8D3/NE;IAAgC,+BAA+B;E9D8/NjE;E8D7/NE;IAAgC,6BAA6B;E9DggO/D;E8D//NE;IAAgC,+BAA+B;E9DkgOjE;E8DjgOE;IAAgC,8BAA8B;E9DogOhE;AACF;;Acz/NI;EgDlDA;IAAgC,8BAA8B;E9DgjOhE;E8D/iOE;IAAgC,iCAAiC;E9DkjOnE;E8DjjOE;IAAgC,sCAAsC;E9DojOxE;E8DnjOE;IAAgC,yCAAyC;E9DsjO3E;E8DpjOE;IAA8B,0BAA0B;E9DujO1D;E8DtjOE;IAA8B,4BAA4B;E9DyjO5D;E8DxjOE;IAA8B,kCAAkC;E9D2jOlE;E8D1jOE;IAA8B,yBAAyB;E9D6jOzD;E8D5jOE;IAA8B,uBAAuB;E9D+jOvD;E8D9jOE;IAA8B,uBAAuB;E9DikOvD;E8DhkOE;IAA8B,yBAAyB;E9DmkOzD;E8DlkOE;IAA8B,yBAAyB;E9DqkOzD;E8DnkOE;IAAoC,sCAAsC;E9DskO5E;E8DrkOE;IAAoC,oCAAoC;E9DwkO1E;E8DvkOE;IAAoC,kCAAkC;E9D0kOxE;E8DzkOE;IAAoC,yCAAyC;E9D4kO/E;E8D3kOE;IAAoC,wCAAwC;E9D8kO9E;E8D5kOE;IAAiC,kCAAkC;E9D+kOrE;E8D9kOE;IAAiC,gCAAgC;E9DilOnE;E8DhlOE;IAAiC,8BAA8B;E9DmlOjE;E8DllOE;IAAiC,gCAAgC;E9DqlOnE;E8DplOE;IAAiC,+BAA+B;E9DulOlE;E8DrlOE;IAAkC,oCAAoC;E9DwlOxE;E8DvlOE;IAAkC,kCAAkC;E9D0lOtE;E8DzlOE;IAAkC,gCAAgC;E9D4lOpE;E8D3lOE;IAAkC,uCAAuC;E9D8lO3E;E8D7lOE;IAAkC,sCAAsC;E9DgmO1E;E8D/lOE;IAAkC,iCAAiC;E9DkmOrE;E8DhmOE;IAAgC,2BAA2B;E9DmmO7D;E8DlmOE;IAAgC,iCAAiC;E9DqmOnE;E8DpmOE;IAAgC,+BAA+B;E9DumOjE;E8DtmOE;IAAgC,6BAA6B;E9DymO/D;E8DxmOE;IAAgC,+BAA+B;E9D2mOjE;E8D1mOE;IAAgC,8BAA8B;E9D6mOhE;AACF;;A+DxpOI;EAAwB,sBAAsB;A/D4pOlD;;A+D3pOI;EAAwB,uBAAuB;A/D+pOnD;;A+D9pOI;EAAwB,sBAAsB;A/DkqOlD;;Ac9mOI;EiDtDA;IAAwB,sBAAsB;E/DyqOhD;E+DxqOE;IAAwB,uBAAuB;E/D2qOjD;E+D1qOE;IAAwB,sBAAsB;E/D6qOhD;AACF;;Ac1nOI;EiDtDA;IAAwB,sBAAsB;E/DqrOhD;E+DprOE;IAAwB,uBAAuB;E/DurOjD;E+DtrOE;IAAwB,sBAAsB;E/DyrOhD;AACF;;ActoOI;EiDtDA;IAAwB,sBAAsB;E/DisOhD;E+DhsOE;IAAwB,uBAAuB;E/DmsOjD;E+DlsOE;IAAwB,sBAAsB;E/DqsOhD;AACF;;AclpOI;EiDtDA;IAAwB,sBAAsB;E/D6sOhD;E+D5sOE;IAAwB,uBAAuB;E/D+sOjD;E+D9sOE;IAAwB,sBAAsB;E/DitOhD;AACF;;AgEvtOE;EAAyB,mCAA8B;EAA9B,gCAA8B;EAA9B,2BAA8B;AhE2tOzD;;AgE3tOE;EAAyB,oCAA8B;EAA9B,iCAA8B;EAA9B,gCAA8B;EAA9B,4BAA8B;AhE+tOzD;;AgE/tOE;EAAyB,oCAA8B;EAA9B,iCAA8B;EAA9B,gCAA8B;EAA9B,4BAA8B;AhEmuOzD;;AiEnuOE;EAAsB,yBAA2B;AjEuuOnD;;AiEvuOE;EAAsB,2BAA2B;AjE2uOnD;;AkE1uOE;EAAyB,2BAA8B;AlE8uOzD;;AkE9uOE;EAAyB,6BAA8B;AlEkvOzD;;AkElvOE;EAAyB,6BAA8B;AlEsvOzD;;AkEtvOE;EAAyB,0BAA8B;AlE0vOzD;;AkE1vOE;EAAyB,mCAA8B;EAA9B,2BAA8B;AlE8vOzD;;AkEzvOA;EACE,eAAe;EACf,MAAM;EACN,QAAQ;EACR,OAAO;EACP,a/DgqBsC;AH4lNxC;;AkEzvOA;EACE,eAAe;EACf,QAAQ;EACR,SAAS;EACT,OAAO;EACP,a/DwpBsC;AHomNxC;;AkExvO8B;EAD9B;IAEI,wBAAgB;IAAhB,gBAAgB;IAChB,MAAM;IACN,a/DgpBoC;EH4mNtC;AACF;;AmEtxOA;ECEE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;EACtB,mBAAmB;EACnB,SAAS;ApEwxOX;;AoE9wOE;EAEE,gBAAgB;EAChB,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,mBAAmB;ApEgxOvB;;AqE7yOA;EAAa,8DAAqC;ArEizOlD;;AqEhzOA;EAAU,wDAAkC;ArEozO5C;;AqEnzOA;EAAa,uDAAqC;ArEuzOlD;;AqEtzOA;EAAe,2BAA2B;ArE0zO1C;;AsEzzOI;EAAuB,qBAA4B;AtE6zOvD;;AsE7zOI;EAAuB,qBAA4B;AtEi0OvD;;AsEj0OI;EAAuB,qBAA4B;AtEq0OvD;;AsEr0OI;EAAuB,sBAA4B;AtEy0OvD;;AsEz0OI;EAAuB,sBAA4B;AtE60OvD;;AsE70OI;EAAuB,sBAA4B;AtEi1OvD;;AsEj1OI;EAAuB,sBAA4B;AtEq1OvD;;AsEr1OI;EAAuB,sBAA4B;AtEy1OvD;;AsEz1OI;EAAuB,uBAA4B;AtE61OvD;;AsE71OI;EAAuB,uBAA4B;AtEi2OvD;;AsE71OA;EAAU,0BAA0B;AtEi2OpC;;AsEh2OA;EAAU,2BAA2B;AtEo2OrC;;AsEh2OA;EAAc,2BAA2B;AtEo2OzC;;AsEn2OA;EAAc,4BAA4B;AtEu2O1C;;AsEr2OA;EAAU,uBAAuB;AtEy2OjC;;AsEx2OA;EAAU,wBAAwB;AtE42OlC;;AuEr3OQ;EAAgC,oBAA4B;AvEy3OpE;;AuEx3OQ;;EAEE,wBAAoC;AvE23O9C;;AuEz3OQ;;EAEE,0BAAwC;AvE43OlD;;AuE13OQ;;EAEE,2BAA0C;AvE63OpD;;AuE33OQ;;EAEE,yBAAsC;AvE83OhD;;AuE74OQ;EAAgC,0BAA4B;AvEi5OpE;;AuEh5OQ;;EAEE,8BAAoC;AvEm5O9C;;AuEj5OQ;;EAEE,gCAAwC;AvEo5OlD;;AuEl5OQ;;EAEE,iCAA0C;AvEq5OpD;;AuEn5OQ;;EAEE,+BAAsC;AvEs5OhD;;AuEr6OQ;EAAgC,yBAA4B;AvEy6OpE;;AuEx6OQ;;EAEE,6BAAoC;AvE26O9C;;AuEz6OQ;;EAEE,+BAAwC;AvE46OlD;;AuE16OQ;;EAEE,gCAA0C;AvE66OpD;;AuE36OQ;;EAEE,8BAAsC;AvE86OhD;;AuE77OQ;EAAgC,uBAA4B;AvEi8OpE;;AuEh8OQ;;EAEE,2BAAoC;AvEm8O9C;;AuEj8OQ;;EAEE,6BAAwC;AvEo8OlD;;AuEl8OQ;;EAEE,8BAA0C;AvEq8OpD;;AuEn8OQ;;EAEE,4BAAsC;AvEs8OhD;;AuEr9OQ;EAAgC,yBAA4B;AvEy9OpE;;AuEx9OQ;;EAEE,6BAAoC;AvE29O9C;;AuEz9OQ;;EAEE,+BAAwC;AvE49OlD;;AuE19OQ;;EAEE,gCAA0C;AvE69OpD;;AuE39OQ;;EAEE,8BAAsC;AvE89OhD;;AuE7+OQ;EAAgC,uBAA4B;AvEi/OpE;;AuEh/OQ;;EAEE,2BAAoC;AvEm/O9C;;AuEj/OQ;;EAEE,6BAAwC;AvEo/OlD;;AuEl/OQ;;EAEE,8BAA0C;AvEq/OpD;;AuEn/OQ;;EAEE,4BAAsC;AvEs/OhD;;AuErgPQ;EAAgC,qBAA4B;AvEygPpE;;AuExgPQ;;EAEE,yBAAoC;AvE2gP9C;;AuEzgPQ;;EAEE,2BAAwC;AvE4gPlD;;AuE1gPQ;;EAEE,4BAA0C;AvE6gPpD;;AuE3gPQ;;EAEE,0BAAsC;AvE8gPhD;;AuE7hPQ;EAAgC,2BAA4B;AvEiiPpE;;AuEhiPQ;;EAEE,+BAAoC;AvEmiP9C;;AuEjiPQ;;EAEE,iCAAwC;AvEoiPlD;;AuEliPQ;;EAEE,kCAA0C;AvEqiPpD;;AuEniPQ;;EAEE,gCAAsC;AvEsiPhD;;AuErjPQ;EAAgC,0BAA4B;AvEyjPpE;;AuExjPQ;;EAEE,8BAAoC;AvE2jP9C;;AuEzjPQ;;EAEE,gCAAwC;AvE4jPlD;;AuE1jPQ;;EAEE,iCAA0C;AvE6jPpD;;AuE3jPQ;;EAEE,+BAAsC;AvE8jPhD;;AuE7kPQ;EAAgC,wBAA4B;AvEilPpE;;AuEhlPQ;;EAEE,4BAAoC;AvEmlP9C;;AuEjlPQ;;EAEE,8BAAwC;AvEolPlD;;AuEllPQ;;EAEE,+BAA0C;AvEqlPpD;;AuEnlPQ;;EAEE,6BAAsC;AvEslPhD;;AuErmPQ;EAAgC,0BAA4B;AvEymPpE;;AuExmPQ;;EAEE,8BAAoC;AvE2mP9C;;AuEzmPQ;;EAEE,gCAAwC;AvE4mPlD;;AuE1mPQ;;EAEE,iCAA0C;AvE6mPpD;;AuE3mPQ;;EAEE,+BAAsC;AvE8mPhD;;AuE7nPQ;EAAgC,wBAA4B;AvEioPpE;;AuEhoPQ;;EAEE,4BAAoC;AvEmoP9C;;AuEjoPQ;;EAEE,8BAAwC;AvEooPlD;;AuEloPQ;;EAEE,+BAA0C;AvEqoPpD;;AuEnoPQ;;EAEE,6BAAsC;AvEsoPhD;;AuE9nPQ;EAAwB,2BAA2B;AvEkoP3D;;AuEjoPQ;;EAEE,+BAA+B;AvEooPzC;;AuEloPQ;;EAEE,iCAAiC;AvEqoP3C;;AuEnoPQ;;EAEE,kCAAkC;AvEsoP5C;;AuEpoPQ;;EAEE,gCAAgC;AvEuoP1C;;AuEtpPQ;EAAwB,0BAA2B;AvE0pP3D;;AuEzpPQ;;EAEE,8BAA+B;AvE4pPzC;;AuE1pPQ;;EAEE,gCAAiC;AvE6pP3C;;AuE3pPQ;;EAEE,iCAAkC;AvE8pP5C;;AuE5pPQ;;EAEE,+BAAgC;AvE+pP1C;;AuE9qPQ;EAAwB,wBAA2B;AvEkrP3D;;AuEjrPQ;;EAEE,4BAA+B;AvEorPzC;;AuElrPQ;;EAEE,8BAAiC;AvEqrP3C;;AuEnrPQ;;EAEE,+BAAkC;AvEsrP5C;;AuEprPQ;;EAEE,6BAAgC;AvEurP1C;;AuEtsPQ;EAAwB,0BAA2B;AvE0sP3D;;AuEzsPQ;;EAEE,8BAA+B;AvE4sPzC;;AuE1sPQ;;EAEE,gCAAiC;AvE6sP3C;;AuE3sPQ;;EAEE,iCAAkC;AvE8sP5C;;AuE5sPQ;;EAEE,+BAAgC;AvE+sP1C;;AuE9tPQ;EAAwB,wBAA2B;AvEkuP3D;;AuEjuPQ;;EAEE,4BAA+B;AvEouPzC;;AuEluPQ;;EAEE,8BAAiC;AvEquP3C;;AuEnuPQ;;EAEE,+BAAkC;AvEsuP5C;;AuEpuPQ;;EAEE,6BAAgC;AvEuuP1C;;AuEjuPI;EAAmB,uBAAuB;AvEquP9C;;AuEpuPI;;EAEE,2BAA2B;AvEuuPjC;;AuEruPI;;EAEE,6BAA6B;AvEwuPnC;;AuEtuPI;;EAEE,8BAA8B;AvEyuPpC;;AuEvuPI;;EAEE,4BAA4B;AvE0uPlC;;AcnvPI;EyDlDI;IAAgC,oBAA4B;EvE0yPlE;EuEzyPM;;IAEE,wBAAoC;EvE2yP5C;EuEzyPM;;IAEE,0BAAwC;EvE2yPhD;EuEzyPM;;IAEE,2BAA0C;EvE2yPlD;EuEzyPM;;IAEE,yBAAsC;EvE2yP9C;EuE1zPM;IAAgC,0BAA4B;EvE6zPlE;EuE5zPM;;IAEE,8BAAoC;EvE8zP5C;EuE5zPM;;IAEE,gCAAwC;EvE8zPhD;EuE5zPM;;IAEE,iCAA0C;EvE8zPlD;EuE5zPM;;IAEE,+BAAsC;EvE8zP9C;EuE70PM;IAAgC,yBAA4B;EvEg1PlE;EuE/0PM;;IAEE,6BAAoC;EvEi1P5C;EuE/0PM;;IAEE,+BAAwC;EvEi1PhD;EuE/0PM;;IAEE,gCAA0C;EvEi1PlD;EuE/0PM;;IAEE,8BAAsC;EvEi1P9C;EuEh2PM;IAAgC,uBAA4B;EvEm2PlE;EuEl2PM;;IAEE,2BAAoC;EvEo2P5C;EuEl2PM;;IAEE,6BAAwC;EvEo2PhD;EuEl2PM;;IAEE,8BAA0C;EvEo2PlD;EuEl2PM;;IAEE,4BAAsC;EvEo2P9C;EuEn3PM;IAAgC,yBAA4B;EvEs3PlE;EuEr3PM;;IAEE,6BAAoC;EvEu3P5C;EuEr3PM;;IAEE,+BAAwC;EvEu3PhD;EuEr3PM;;IAEE,gCAA0C;EvEu3PlD;EuEr3PM;;IAEE,8BAAsC;EvEu3P9C;EuEt4PM;IAAgC,uBAA4B;EvEy4PlE;EuEx4PM;;IAEE,2BAAoC;EvE04P5C;EuEx4PM;;IAEE,6BAAwC;EvE04PhD;EuEx4PM;;IAEE,8BAA0C;EvE04PlD;EuEx4PM;;IAEE,4BAAsC;EvE04P9C;EuEz5PM;IAAgC,qBAA4B;EvE45PlE;EuE35PM;;IAEE,yBAAoC;EvE65P5C;EuE35PM;;IAEE,2BAAwC;EvE65PhD;EuE35PM;;IAEE,4BAA0C;EvE65PlD;EuE35PM;;IAEE,0BAAsC;EvE65P9C;EuE56PM;IAAgC,2BAA4B;EvE+6PlE;EuE96PM;;IAEE,+BAAoC;EvEg7P5C;EuE96PM;;IAEE,iCAAwC;EvEg7PhD;EuE96PM;;IAEE,kCAA0C;EvEg7PlD;EuE96PM;;IAEE,gCAAsC;EvEg7P9C;EuE/7PM;IAAgC,0BAA4B;EvEk8PlE;EuEj8PM;;IAEE,8BAAoC;EvEm8P5C;EuEj8PM;;IAEE,gCAAwC;EvEm8PhD;EuEj8PM;;IAEE,iCAA0C;EvEm8PlD;EuEj8PM;;IAEE,+BAAsC;EvEm8P9C;EuEl9PM;IAAgC,wBAA4B;EvEq9PlE;EuEp9PM;;IAEE,4BAAoC;EvEs9P5C;EuEp9PM;;IAEE,8BAAwC;EvEs9PhD;EuEp9PM;;IAEE,+BAA0C;EvEs9PlD;EuEp9PM;;IAEE,6BAAsC;EvEs9P9C;EuEr+PM;IAAgC,0BAA4B;EvEw+PlE;EuEv+PM;;IAEE,8BAAoC;EvEy+P5C;EuEv+PM;;IAEE,gCAAwC;EvEy+PhD;EuEv+PM;;IAEE,iCAA0C;EvEy+PlD;EuEv+PM;;IAEE,+BAAsC;EvEy+P9C;EuEx/PM;IAAgC,wBAA4B;EvE2/PlE;EuE1/PM;;IAEE,4BAAoC;EvE4/P5C;EuE1/PM;;IAEE,8BAAwC;EvE4/PhD;EuE1/PM;;IAEE,+BAA0C;EvE4/PlD;EuE1/PM;;IAEE,6BAAsC;EvE4/P9C;EuEp/PM;IAAwB,2BAA2B;EvEu/PzD;EuEt/PM;;IAEE,+BAA+B;EvEw/PvC;EuEt/PM;;IAEE,iCAAiC;EvEw/PzC;EuEt/PM;;IAEE,kCAAkC;EvEw/P1C;EuEt/PM;;IAEE,gCAAgC;EvEw/PxC;EuEvgQM;IAAwB,0BAA2B;EvE0gQzD;EuEzgQM;;IAEE,8BAA+B;EvE2gQvC;EuEzgQM;;IAEE,gCAAiC;EvE2gQzC;EuEzgQM;;IAEE,iCAAkC;EvE2gQ1C;EuEzgQM;;IAEE,+BAAgC;EvE2gQxC;EuE1hQM;IAAwB,wBAA2B;EvE6hQzD;EuE5hQM;;IAEE,4BAA+B;EvE8hQvC;EuE5hQM;;IAEE,8BAAiC;EvE8hQzC;EuE5hQM;;IAEE,+BAAkC;EvE8hQ1C;EuE5hQM;;IAEE,6BAAgC;EvE8hQxC;EuE7iQM;IAAwB,0BAA2B;EvEgjQzD;EuE/iQM;;IAEE,8BAA+B;EvEijQvC;EuE/iQM;;IAEE,gCAAiC;EvEijQzC;EuE/iQM;;IAEE,iCAAkC;EvEijQ1C;EuE/iQM;;IAEE,+BAAgC;EvEijQxC;EuEhkQM;IAAwB,wBAA2B;EvEmkQzD;EuElkQM;;IAEE,4BAA+B;EvEokQvC;EuElkQM;;IAEE,8BAAiC;EvEokQzC;EuElkQM;;IAEE,+BAAkC;EvEokQ1C;EuElkQM;;IAEE,6BAAgC;EvEokQxC;EuE9jQE;IAAmB,uBAAuB;EvEikQ5C;EuEhkQE;;IAEE,2BAA2B;EvEkkQ/B;EuEhkQE;;IAEE,6BAA6B;EvEkkQjC;EuEhkQE;;IAEE,8BAA8B;EvEkkQlC;EuEhkQE;;IAEE,4BAA4B;EvEkkQhC;AACF;;Ac5kQI;EyDlDI;IAAgC,oBAA4B;EvEmoQlE;EuEloQM;;IAEE,wBAAoC;EvEooQ5C;EuEloQM;;IAEE,0BAAwC;EvEooQhD;EuEloQM;;IAEE,2BAA0C;EvEooQlD;EuEloQM;;IAEE,yBAAsC;EvEooQ9C;EuEnpQM;IAAgC,0BAA4B;EvEspQlE;EuErpQM;;IAEE,8BAAoC;EvEupQ5C;EuErpQM;;IAEE,gCAAwC;EvEupQhD;EuErpQM;;IAEE,iCAA0C;EvEupQlD;EuErpQM;;IAEE,+BAAsC;EvEupQ9C;EuEtqQM;IAAgC,yBAA4B;EvEyqQlE;EuExqQM;;IAEE,6BAAoC;EvE0qQ5C;EuExqQM;;IAEE,+BAAwC;EvE0qQhD;EuExqQM;;IAEE,gCAA0C;EvE0qQlD;EuExqQM;;IAEE,8BAAsC;EvE0qQ9C;EuEzrQM;IAAgC,uBAA4B;EvE4rQlE;EuE3rQM;;IAEE,2BAAoC;EvE6rQ5C;EuE3rQM;;IAEE,6BAAwC;EvE6rQhD;EuE3rQM;;IAEE,8BAA0C;EvE6rQlD;EuE3rQM;;IAEE,4BAAsC;EvE6rQ9C;EuE5sQM;IAAgC,yBAA4B;EvE+sQlE;EuE9sQM;;IAEE,6BAAoC;EvEgtQ5C;EuE9sQM;;IAEE,+BAAwC;EvEgtQhD;EuE9sQM;;IAEE,gCAA0C;EvEgtQlD;EuE9sQM;;IAEE,8BAAsC;EvEgtQ9C;EuE/tQM;IAAgC,uBAA4B;EvEkuQlE;EuEjuQM;;IAEE,2BAAoC;EvEmuQ5C;EuEjuQM;;IAEE,6BAAwC;EvEmuQhD;EuEjuQM;;IAEE,8BAA0C;EvEmuQlD;EuEjuQM;;IAEE,4BAAsC;EvEmuQ9C;EuElvQM;IAAgC,qBAA4B;EvEqvQlE;EuEpvQM;;IAEE,yBAAoC;EvEsvQ5C;EuEpvQM;;IAEE,2BAAwC;EvEsvQhD;EuEpvQM;;IAEE,4BAA0C;EvEsvQlD;EuEpvQM;;IAEE,0BAAsC;EvEsvQ9C;EuErwQM;IAAgC,2BAA4B;EvEwwQlE;EuEvwQM;;IAEE,+BAAoC;EvEywQ5C;EuEvwQM;;IAEE,iCAAwC;EvEywQhD;EuEvwQM;;IAEE,kCAA0C;EvEywQlD;EuEvwQM;;IAEE,gCAAsC;EvEywQ9C;EuExxQM;IAAgC,0BAA4B;EvE2xQlE;EuE1xQM;;IAEE,8BAAoC;EvE4xQ5C;EuE1xQM;;IAEE,gCAAwC;EvE4xQhD;EuE1xQM;;IAEE,iCAA0C;EvE4xQlD;EuE1xQM;;IAEE,+BAAsC;EvE4xQ9C;EuE3yQM;IAAgC,wBAA4B;EvE8yQlE;EuE7yQM;;IAEE,4BAAoC;EvE+yQ5C;EuE7yQM;;IAEE,8BAAwC;EvE+yQhD;EuE7yQM;;IAEE,+BAA0C;EvE+yQlD;EuE7yQM;;IAEE,6BAAsC;EvE+yQ9C;EuE9zQM;IAAgC,0BAA4B;EvEi0QlE;EuEh0QM;;IAEE,8BAAoC;EvEk0Q5C;EuEh0QM;;IAEE,gCAAwC;EvEk0QhD;EuEh0QM;;IAEE,iCAA0C;EvEk0QlD;EuEh0QM;;IAEE,+BAAsC;EvEk0Q9C;EuEj1QM;IAAgC,wBAA4B;EvEo1QlE;EuEn1QM;;IAEE,4BAAoC;EvEq1Q5C;EuEn1QM;;IAEE,8BAAwC;EvEq1QhD;EuEn1QM;;IAEE,+BAA0C;EvEq1QlD;EuEn1QM;;IAEE,6BAAsC;EvEq1Q9C;EuE70QM;IAAwB,2BAA2B;EvEg1QzD;EuE/0QM;;IAEE,+BAA+B;EvEi1QvC;EuE/0QM;;IAEE,iCAAiC;EvEi1QzC;EuE/0QM;;IAEE,kCAAkC;EvEi1Q1C;EuE/0QM;;IAEE,gCAAgC;EvEi1QxC;EuEh2QM;IAAwB,0BAA2B;EvEm2QzD;EuEl2QM;;IAEE,8BAA+B;EvEo2QvC;EuEl2QM;;IAEE,gCAAiC;EvEo2QzC;EuEl2QM;;IAEE,iCAAkC;EvEo2Q1C;EuEl2QM;;IAEE,+BAAgC;EvEo2QxC;EuEn3QM;IAAwB,wBAA2B;EvEs3QzD;EuEr3QM;;IAEE,4BAA+B;EvEu3QvC;EuEr3QM;;IAEE,8BAAiC;EvEu3QzC;EuEr3QM;;IAEE,+BAAkC;EvEu3Q1C;EuEr3QM;;IAEE,6BAAgC;EvEu3QxC;EuEt4QM;IAAwB,0BAA2B;EvEy4QzD;EuEx4QM;;IAEE,8BAA+B;EvE04QvC;EuEx4QM;;IAEE,gCAAiC;EvE04QzC;EuEx4QM;;IAEE,iCAAkC;EvE04Q1C;EuEx4QM;;IAEE,+BAAgC;EvE04QxC;EuEz5QM;IAAwB,wBAA2B;EvE45QzD;EuE35QM;;IAEE,4BAA+B;EvE65QvC;EuE35QM;;IAEE,8BAAiC;EvE65QzC;EuE35QM;;IAEE,+BAAkC;EvE65Q1C;EuE35QM;;IAEE,6BAAgC;EvE65QxC;EuEv5QE;IAAmB,uBAAuB;EvE05Q5C;EuEz5QE;;IAEE,2BAA2B;EvE25Q/B;EuEz5QE;;IAEE,6BAA6B;EvE25QjC;EuEz5QE;;IAEE,8BAA8B;EvE25QlC;EuEz5QE;;IAEE,4BAA4B;EvE25QhC;AACF;;Acr6QI;EyDlDI;IAAgC,oBAA4B;EvE49QlE;EuE39QM;;IAEE,wBAAoC;EvE69Q5C;EuE39QM;;IAEE,0BAAwC;EvE69QhD;EuE39QM;;IAEE,2BAA0C;EvE69QlD;EuE39QM;;IAEE,yBAAsC;EvE69Q9C;EuE5+QM;IAAgC,0BAA4B;EvE++QlE;EuE9+QM;;IAEE,8BAAoC;EvEg/Q5C;EuE9+QM;;IAEE,gCAAwC;EvEg/QhD;EuE9+QM;;IAEE,iCAA0C;EvEg/QlD;EuE9+QM;;IAEE,+BAAsC;EvEg/Q9C;EuE//QM;IAAgC,yBAA4B;EvEkgRlE;EuEjgRM;;IAEE,6BAAoC;EvEmgR5C;EuEjgRM;;IAEE,+BAAwC;EvEmgRhD;EuEjgRM;;IAEE,gCAA0C;EvEmgRlD;EuEjgRM;;IAEE,8BAAsC;EvEmgR9C;EuElhRM;IAAgC,uBAA4B;EvEqhRlE;EuEphRM;;IAEE,2BAAoC;EvEshR5C;EuEphRM;;IAEE,6BAAwC;EvEshRhD;EuEphRM;;IAEE,8BAA0C;EvEshRlD;EuEphRM;;IAEE,4BAAsC;EvEshR9C;EuEriRM;IAAgC,yBAA4B;EvEwiRlE;EuEviRM;;IAEE,6BAAoC;EvEyiR5C;EuEviRM;;IAEE,+BAAwC;EvEyiRhD;EuEviRM;;IAEE,gCAA0C;EvEyiRlD;EuEviRM;;IAEE,8BAAsC;EvEyiR9C;EuExjRM;IAAgC,uBAA4B;EvE2jRlE;EuE1jRM;;IAEE,2BAAoC;EvE4jR5C;EuE1jRM;;IAEE,6BAAwC;EvE4jRhD;EuE1jRM;;IAEE,8BAA0C;EvE4jRlD;EuE1jRM;;IAEE,4BAAsC;EvE4jR9C;EuE3kRM;IAAgC,qBAA4B;EvE8kRlE;EuE7kRM;;IAEE,yBAAoC;EvE+kR5C;EuE7kRM;;IAEE,2BAAwC;EvE+kRhD;EuE7kRM;;IAEE,4BAA0C;EvE+kRlD;EuE7kRM;;IAEE,0BAAsC;EvE+kR9C;EuE9lRM;IAAgC,2BAA4B;EvEimRlE;EuEhmRM;;IAEE,+BAAoC;EvEkmR5C;EuEhmRM;;IAEE,iCAAwC;EvEkmRhD;EuEhmRM;;IAEE,kCAA0C;EvEkmRlD;EuEhmRM;;IAEE,gCAAsC;EvEkmR9C;EuEjnRM;IAAgC,0BAA4B;EvEonRlE;EuEnnRM;;IAEE,8BAAoC;EvEqnR5C;EuEnnRM;;IAEE,gCAAwC;EvEqnRhD;EuEnnRM;;IAEE,iCAA0C;EvEqnRlD;EuEnnRM;;IAEE,+BAAsC;EvEqnR9C;EuEpoRM;IAAgC,wBAA4B;EvEuoRlE;EuEtoRM;;IAEE,4BAAoC;EvEwoR5C;EuEtoRM;;IAEE,8BAAwC;EvEwoRhD;EuEtoRM;;IAEE,+BAA0C;EvEwoRlD;EuEtoRM;;IAEE,6BAAsC;EvEwoR9C;EuEvpRM;IAAgC,0BAA4B;EvE0pRlE;EuEzpRM;;IAEE,8BAAoC;EvE2pR5C;EuEzpRM;;IAEE,gCAAwC;EvE2pRhD;EuEzpRM;;IAEE,iCAA0C;EvE2pRlD;EuEzpRM;;IAEE,+BAAsC;EvE2pR9C;EuE1qRM;IAAgC,wBAA4B;EvE6qRlE;EuE5qRM;;IAEE,4BAAoC;EvE8qR5C;EuE5qRM;;IAEE,8BAAwC;EvE8qRhD;EuE5qRM;;IAEE,+BAA0C;EvE8qRlD;EuE5qRM;;IAEE,6BAAsC;EvE8qR9C;EuEtqRM;IAAwB,2BAA2B;EvEyqRzD;EuExqRM;;IAEE,+BAA+B;EvE0qRvC;EuExqRM;;IAEE,iCAAiC;EvE0qRzC;EuExqRM;;IAEE,kCAAkC;EvE0qR1C;EuExqRM;;IAEE,gCAAgC;EvE0qRxC;EuEzrRM;IAAwB,0BAA2B;EvE4rRzD;EuE3rRM;;IAEE,8BAA+B;EvE6rRvC;EuE3rRM;;IAEE,gCAAiC;EvE6rRzC;EuE3rRM;;IAEE,iCAAkC;EvE6rR1C;EuE3rRM;;IAEE,+BAAgC;EvE6rRxC;EuE5sRM;IAAwB,wBAA2B;EvE+sRzD;EuE9sRM;;IAEE,4BAA+B;EvEgtRvC;EuE9sRM;;IAEE,8BAAiC;EvEgtRzC;EuE9sRM;;IAEE,+BAAkC;EvEgtR1C;EuE9sRM;;IAEE,6BAAgC;EvEgtRxC;EuE/tRM;IAAwB,0BAA2B;EvEkuRzD;EuEjuRM;;IAEE,8BAA+B;EvEmuRvC;EuEjuRM;;IAEE,gCAAiC;EvEmuRzC;EuEjuRM;;IAEE,iCAAkC;EvEmuR1C;EuEjuRM;;IAEE,+BAAgC;EvEmuRxC;EuElvRM;IAAwB,wBAA2B;EvEqvRzD;EuEpvRM;;IAEE,4BAA+B;EvEsvRvC;EuEpvRM;;IAEE,8BAAiC;EvEsvRzC;EuEpvRM;;IAEE,+BAAkC;EvEsvR1C;EuEpvRM;;IAEE,6BAAgC;EvEsvRxC;EuEhvRE;IAAmB,uBAAuB;EvEmvR5C;EuElvRE;;IAEE,2BAA2B;EvEovR/B;EuElvRE;;IAEE,6BAA6B;EvEovRjC;EuElvRE;;IAEE,8BAA8B;EvEovRlC;EuElvRE;;IAEE,4BAA4B;EvEovRhC;AACF;;Ac9vRI;EyDlDI;IAAgC,oBAA4B;EvEqzRlE;EuEpzRM;;IAEE,wBAAoC;EvEszR5C;EuEpzRM;;IAEE,0BAAwC;EvEszRhD;EuEpzRM;;IAEE,2BAA0C;EvEszRlD;EuEpzRM;;IAEE,yBAAsC;EvEszR9C;EuEr0RM;IAAgC,0BAA4B;EvEw0RlE;EuEv0RM;;IAEE,8BAAoC;EvEy0R5C;EuEv0RM;;IAEE,gCAAwC;EvEy0RhD;EuEv0RM;;IAEE,iCAA0C;EvEy0RlD;EuEv0RM;;IAEE,+BAAsC;EvEy0R9C;EuEx1RM;IAAgC,yBAA4B;EvE21RlE;EuE11RM;;IAEE,6BAAoC;EvE41R5C;EuE11RM;;IAEE,+BAAwC;EvE41RhD;EuE11RM;;IAEE,gCAA0C;EvE41RlD;EuE11RM;;IAEE,8BAAsC;EvE41R9C;EuE32RM;IAAgC,uBAA4B;EvE82RlE;EuE72RM;;IAEE,2BAAoC;EvE+2R5C;EuE72RM;;IAEE,6BAAwC;EvE+2RhD;EuE72RM;;IAEE,8BAA0C;EvE+2RlD;EuE72RM;;IAEE,4BAAsC;EvE+2R9C;EuE93RM;IAAgC,yBAA4B;EvEi4RlE;EuEh4RM;;IAEE,6BAAoC;EvEk4R5C;EuEh4RM;;IAEE,+BAAwC;EvEk4RhD;EuEh4RM;;IAEE,gCAA0C;EvEk4RlD;EuEh4RM;;IAEE,8BAAsC;EvEk4R9C;EuEj5RM;IAAgC,uBAA4B;EvEo5RlE;EuEn5RM;;IAEE,2BAAoC;EvEq5R5C;EuEn5RM;;IAEE,6BAAwC;EvEq5RhD;EuEn5RM;;IAEE,8BAA0C;EvEq5RlD;EuEn5RM;;IAEE,4BAAsC;EvEq5R9C;EuEp6RM;IAAgC,qBAA4B;EvEu6RlE;EuEt6RM;;IAEE,yBAAoC;EvEw6R5C;EuEt6RM;;IAEE,2BAAwC;EvEw6RhD;EuEt6RM;;IAEE,4BAA0C;EvEw6RlD;EuEt6RM;;IAEE,0BAAsC;EvEw6R9C;EuEv7RM;IAAgC,2BAA4B;EvE07RlE;EuEz7RM;;IAEE,+BAAoC;EvE27R5C;EuEz7RM;;IAEE,iCAAwC;EvE27RhD;EuEz7RM;;IAEE,kCAA0C;EvE27RlD;EuEz7RM;;IAEE,gCAAsC;EvE27R9C;EuE18RM;IAAgC,0BAA4B;EvE68RlE;EuE58RM;;IAEE,8BAAoC;EvE88R5C;EuE58RM;;IAEE,gCAAwC;EvE88RhD;EuE58RM;;IAEE,iCAA0C;EvE88RlD;EuE58RM;;IAEE,+BAAsC;EvE88R9C;EuE79RM;IAAgC,wBAA4B;EvEg+RlE;EuE/9RM;;IAEE,4BAAoC;EvEi+R5C;EuE/9RM;;IAEE,8BAAwC;EvEi+RhD;EuE/9RM;;IAEE,+BAA0C;EvEi+RlD;EuE/9RM;;IAEE,6BAAsC;EvEi+R9C;EuEh/RM;IAAgC,0BAA4B;EvEm/RlE;EuEl/RM;;IAEE,8BAAoC;EvEo/R5C;EuEl/RM;;IAEE,gCAAwC;EvEo/RhD;EuEl/RM;;IAEE,iCAA0C;EvEo/RlD;EuEl/RM;;IAEE,+BAAsC;EvEo/R9C;EuEngSM;IAAgC,wBAA4B;EvEsgSlE;EuErgSM;;IAEE,4BAAoC;EvEugS5C;EuErgSM;;IAEE,8BAAwC;EvEugShD;EuErgSM;;IAEE,+BAA0C;EvEugSlD;EuErgSM;;IAEE,6BAAsC;EvEugS9C;EuE//RM;IAAwB,2BAA2B;EvEkgSzD;EuEjgSM;;IAEE,+BAA+B;EvEmgSvC;EuEjgSM;;IAEE,iCAAiC;EvEmgSzC;EuEjgSM;;IAEE,kCAAkC;EvEmgS1C;EuEjgSM;;IAEE,gCAAgC;EvEmgSxC;EuElhSM;IAAwB,0BAA2B;EvEqhSzD;EuEphSM;;IAEE,8BAA+B;EvEshSvC;EuEphSM;;IAEE,gCAAiC;EvEshSzC;EuEphSM;;IAEE,iCAAkC;EvEshS1C;EuEphSM;;IAEE,+BAAgC;EvEshSxC;EuEriSM;IAAwB,wBAA2B;EvEwiSzD;EuEviSM;;IAEE,4BAA+B;EvEyiSvC;EuEviSM;;IAEE,8BAAiC;EvEyiSzC;EuEviSM;;IAEE,+BAAkC;EvEyiS1C;EuEviSM;;IAEE,6BAAgC;EvEyiSxC;EuExjSM;IAAwB,0BAA2B;EvE2jSzD;EuE1jSM;;IAEE,8BAA+B;EvE4jSvC;EuE1jSM;;IAEE,gCAAiC;EvE4jSzC;EuE1jSM;;IAEE,iCAAkC;EvE4jS1C;EuE1jSM;;IAEE,+BAAgC;EvE4jSxC;EuE3kSM;IAAwB,wBAA2B;EvE8kSzD;EuE7kSM;;IAEE,4BAA+B;EvE+kSvC;EuE7kSM;;IAEE,8BAAiC;EvE+kSzC;EuE7kSM;;IAEE,+BAAkC;EvE+kS1C;EuE7kSM;;IAEE,6BAAgC;EvE+kSxC;EuEzkSE;IAAmB,uBAAuB;EvE4kS5C;EuE3kSE;;IAEE,2BAA2B;EvE6kS/B;EuE3kSE;;IAEE,6BAA6B;EvE6kSjC;EuE3kSE;;IAEE,8BAA8B;EvE6kSlC;EuE3kSE;;IAEE,4BAA4B;EvE6kShC;AACF;;AwE/oSA;EAEI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,UAAU;EAEV,oBAAoB;EACpB,WAAW;EAEX,kCAAkC;AxE+oStC;;AyEzpSA;EAAkB,4GAA8C;AzE6pShE;;AyEzpSA;EAAiB,8BAA8B;AzE6pS/C;;AyE5pSA;EAAiB,8BAA8B;AzEgqS/C;;AyE/pSA;EAAiB,8BAA8B;AzEmqS/C;;AyElqSA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;A1E+qSrB;;AyEhqSI;EAAwB,2BAA2B;AzEoqSvD;;AyEnqSI;EAAwB,4BAA4B;AzEuqSxD;;AyEtqSI;EAAwB,6BAA6B;AzE0qSzD;;AcroSI;E2DvCA;IAAwB,2BAA2B;EzEirSrD;EyEhrSE;IAAwB,4BAA4B;EzEmrStD;EyElrSE;IAAwB,6BAA6B;EzEqrSvD;AACF;;AcjpSI;E2DvCA;IAAwB,2BAA2B;EzE6rSrD;EyE5rSE;IAAwB,4BAA4B;EzE+rStD;EyE9rSE;IAAwB,6BAA6B;EzEisSvD;AACF;;Ac7pSI;E2DvCA;IAAwB,2BAA2B;EzEysSrD;EyExsSE;IAAwB,4BAA4B;EzE2sStD;EyE1sSE;IAAwB,6BAA6B;EzE6sSvD;AACF;;AczqSI;E2DvCA;IAAwB,2BAA2B;EzEqtSrD;EyEptSE;IAAwB,4BAA4B;EzEutStD;EyEttSE;IAAwB,6BAA6B;EzEytSvD;AACF;;AyEptSA;EAAmB,oCAAoC;AzEwtSvD;;AyEvtSA;EAAmB,oCAAoC;AzE2tSvD;;AyE1tSA;EAAmB,qCAAqC;AzE8tSxD;;AyE1tSA;EAAuB,2BAA0C;AzE8tSjE;;AyE7tSA;EAAuB,+BAA4C;AzEiuSnE;;AyEhuSA;EAAuB,2BAA2C;AzEouSlE;;AyEnuSA;EAAuB,2BAAyC;AzEuuShE;;AyEtuSA;EAAuB,8BAA2C;AzE0uSlE;;AyEzuSA;EAAuB,6BAA6B;AzE6uSpD;;AyEzuSA;EAAc,sBAAwB;AzE6uStC;;A2EpxSE;EACE,yBAAwB;A3EuxS5B;;AK7wSE;EsELM,yBAA0E;A3EsxSlF;;A2E5xSE;EACE,yBAAwB;A3E+xS5B;;AKrxSE;EsELM,yBAA0E;A3E8xSlF;;A2EpySE;EACE,yBAAwB;A3EuyS5B;;AK7xSE;EsELM,yBAA0E;A3EsySlF;;A2E5ySE;EACE,yBAAwB;A3E+yS5B;;AKrySE;EsELM,yBAA0E;A3E8ySlF;;A2EpzSE;EACE,yBAAwB;A3EuzS5B;;AK7ySE;EsELM,yBAA0E;A3EszSlF;;A2E5zSE;EACE,yBAAwB;A3E+zS5B;;AKrzSE;EsELM,yBAA0E;A3E8zSlF;;A2Ep0SE;EACE,yBAAwB;A3Eu0S5B;;AK7zSE;EsELM,yBAA0E;A3Es0SlF;;A2E50SE;EACE,yBAAwB;A3E+0S5B;;AKr0SE;EsELM,yBAA0E;A3E80SlF;;AyEvySA;EAAa,yBAA6B;AzE2yS1C;;AyE1ySA;EAAc,yBAA6B;AzE8yS3C;;AyE5ySA;EAAiB,oCAAkC;AzEgzSnD;;AyE/ySA;EAAiB,0CAAkC;AzEmzSnD;;AyE/ySA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A5E02SX;;AyEnzSA;EAAwB,gCAAgC;AzEuzSxD;;AyErzSA;EACE,iCAAiC;EACjC,gCAAgC;AzEwzSlC;;AyEnzSA;EAAc,yBAAyB;AzEuzSvC;;A6Ex3SA;EACE,8BAA8B;A7E23ShC;;A6Ex3SA;EACE,6BAA6B;A7E23S/B;;A8E33SE;E5EOF;;;I4EDM,4BAA4B;IAE5B,2BAA2B;E9E23S/B;E8Ex3SE;IAEI,0BAA0B;E9Ey3ShC;E8Eh3SE;IACE,6BAA6B;E9Ek3SjC;EEprSF;I4E/KM,gCAAgC;E9Es2SpC;E8Ep2SE;;IAEE,yB3EzCY;I2E0CZ,wBAAwB;E9Es2S5B;E8E91SE;IACE,2BAA2B;E9Eg2S/B;E8E71SE;;IAEE,wBAAwB;E9E+1S5B;E8E51SE;;;IAGE,UAAU;IACV,SAAS;E9E81Sb;E8E31SE;;IAEE,uBAAuB;E9E61S3B;E8Er1SE;IACE,Q3E+hCgC;EHwzQpC;EEn4SF;I4E+CM,2BAA2C;E9Eu1S/C;E8Er1SE;IACE,2BAA2C;E9Eu1S/C;EiCr6SF;I6CmFM,aAAa;E9Eq1SjB;EsCp7SF;IwCkGM,sB3EtFS;EH26Sb;EgBx7SF;I8DuGM,oCAAoC;E9Eo1SxC;E8Er1SE;;IAKI,iCAAmC;E9Eo1SzC;EgBv5SF;;I8D0EQ,oCAAsC;E9Ei1S5C;EgBt0SF;I8DNM,cAAc;E9E+0SlB;EiBr8SA;;;;I6D4HM,qB3EvHU;EHs8ShB;EgBj2SF;I8DuBM,cAAc;IACd,qB3E7HY;EH08ShB;AACF;;A+Er9SA;;EAEE,iBAAiB;EACjB,c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AA+C;IAC/C,cAAc;E/EwlThB;E+E30TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E6lThB;E+Eh1TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EkmThB;E+Er1TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EumThB;E+E11TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E4mThB;E+E/1TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EinThB;E+Ep2TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EsnThB;E+Ez2TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E2nThB;E+E92TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EgoThB;E+En3TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EqoThB;AACF;;Ac7zTI;EiE5DJ;;IAkPI,eAA6B;IAC7B,cAAc;E/E6oThB;E+Eh4TF;;IAkPI,uBAA+C;IAC/C,cAAc;E/EkpThB;E+Er4TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EupThB;E+E14TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E4pThB;E+E/4TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EiqThB;E+Ep5TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EsqThB;E+Ez5TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E2qThB;E+E95TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EgrThB;E+En6TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EqrThB;E+Ex6TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E0rThB;E+E76TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/E+rThB;E+El7TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EosThB;AACF;;Ac53TI;EiE5DJ;;IAkPI,eAA6B;IAC7B,cAAc;E/E4sThB;E+E/7TF;;IAkPI,uBAA+C;IAC/C,cAAc;E/EitThB;E+Ep8TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EstThB;E+Ez8TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E2tThB;E+E98TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EguThB;E+En9TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EquThB;E+Ex9TF;;IAkPI,iBAA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","file":"bootstrap-rtl.css","sourcesContent":["/*!\n * Bootstrap v4.5.2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n @import \"functions\";\n @import \"variables\";\n @import \"mixins\";\n @import \"root\";\n @import \"reboot\";\n @import \"type\";\n @import \"images\";\n @import \"code\";\n @import \"grid\";\n @import \"tables\";\n @import \"forms\";\n @import \"buttons\";\n @import \"transitions\";\n @import \"dropdown\";\n @import \"button-group\";\n @import \"input-group\";\n @import \"custom-forms\";\n @import \"nav\";\n @import \"navbar\";\n @import \"card\";\n @import \"breadcrumb\";\n @import \"pagination\";\n @import \"badge\";\n @import \"jumbotron\";\n @import \"alert\";\n @import \"progress\";\n @import \"media\";\n @import \"list-group\";\n @import \"close\";\n @import \"toasts\";\n @import \"modal\";\n @import \"tooltip\";\n @import \"popover\";\n @import \"carousel\";\n @import \"spinners\";\n @import \"utilities\";\n @import \"print\";\n\n@import \"rtl\";\n","/*!\n * Bootstrap v4.5.2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.form-row > .col > .valid-tooltip,\n.form-row > [class*=\"col-\"] > .valid-tooltip {\n left: 5px;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat, #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.form-row > .col > .invalid-tooltip,\n.form-row > [class*=\"col-\"] > .invalid-tooltip {\n left: 5px;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat, #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #e9ecef;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #adb5bd;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group:not(.has-validation) > .form-control:not(:last-child),\n.input-group:not(.has-validation) > .custom-select:not(:last-child),\n.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group.has-validation > .form-control:nth-last-child(n + 3),\n.input-group.has-validation > .custom-select:nth-last-child(n + 3),\n.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n color-adjust: exact;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: 50% / 50% 50% no-repeat;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n overflow: hidden;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: 0;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: 50% / 100% 100% no-repeat;\n}\n\n.navbar-nav-scroll {\n max-height: 75vh;\n overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n flex-basis: 350px;\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: 50% / 100% 100% no-repeat;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: .75s linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: .75s linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: 1.5s;\n }\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n.rtl,\n[dir=\"rtl\"] {\n text-align: right;\n direction: rtl;\n}\n\n.rtl .nav,\n[dir=\"rtl\"] .nav {\n padding-right: 0;\n}\n\n.rtl .navbar-nav .nav-item,\n[dir=\"rtl\"] .navbar-nav .nav-item {\n float: right;\n}\n\n.rtl .navbar-nav .nav-item + .nav-item,\n[dir=\"rtl\"] .navbar-nav .nav-item + .nav-item {\n margin-right: inherit;\n margin-left: 1rem;\n}\n\n.rtl th,\n[dir=\"rtl\"] th {\n text-align: right;\n}\n\n.rtl .alert-dismissible,\n[dir=\"rtl\"] .alert-dismissible {\n padding-right: 1.25rem;\n padding-left: 4rem;\n}\n\n.rtl .dropdown-menu,\n[dir=\"rtl\"] .dropdown-menu {\n right: 0;\n left: inherit;\n text-align: right;\n}\n\n.rtl .checkbox label,\n[dir=\"rtl\"] .checkbox label {\n padding-right: 1.25rem;\n padding-left: inherit;\n}\n\n.rtl .btn-group > .btn:not(:first-child),\n.rtl .btn-group > .btn-group:not(:first-child),\n[dir=\"rtl\"] .btn-group > .btn:not(:first-child),\n[dir=\"rtl\"] .btn-group > .btn-group:not(:first-child) {\n margin-left: initial;\n margin-right: -1px;\n}\n\n.rtl .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle),\n[dir=\"rtl\"] .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.rtl .btn-group > .btn:last-child:not(:first-child),\n.rtl .btn-group > .dropdown-toggle:not(:first-child),\n[dir=\"rtl\"] .btn-group > .btn:last-child:not(:first-child),\n[dir=\"rtl\"] .btn-group > .dropdown-toggle:not(:first-child) {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child,\n[dir=\"rtl\"] .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .custom-control,\n[dir=\"rtl\"] .custom-control {\n padding-right: 1.5rem;\n padding-left: inherit;\n margin-right: inherit;\n margin-left: 1rem;\n}\n\n.rtl .custom-control-indicator,\n[dir=\"rtl\"] .custom-control-indicator {\n right: 0;\n left: inherit;\n}\n\n.rtl .custom-file-label::after,\n[dir=\"rtl\"] .custom-file-label::after {\n right: initial;\n left: -1px;\n border-radius: .25rem 0 0 .25rem;\n}\n\n.rtl .custom-control-label::after,\n.rtl .custom-control-label::before,\n[dir=\"rtl\"] .custom-control-label::after,\n[dir=\"rtl\"] .custom-control-label::before {\n right: -1.5rem;\n left: inherit;\n}\n\n.rtl .custom-select,\n[dir=\"rtl\"] .custom-select {\n padding: 0.375rem 0.75rem 0.375rem 1.75rem;\n background: #fff url(\"data:image/svg+xml,\") no-repeat left 0.75rem center;\n background-size: 8px 10px;\n}\n\n.rtl .custom-switch,\n[dir=\"rtl\"] .custom-switch {\n padding-right: 2.25rem;\n padding-left: inherit;\n}\n\n.rtl .custom-switch .custom-control-label::before,\n[dir=\"rtl\"] .custom-switch .custom-control-label::before {\n right: -2.25rem;\n}\n\n.rtl .custom-switch .custom-control-label::after,\n[dir=\"rtl\"] .custom-switch .custom-control-label::after {\n right: calc(-2.25rem + 2px);\n}\n\n.rtl .custom-switch .custom-control-input:checked ~ .custom-control-label::after,\n[dir=\"rtl\"] .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n transform: translateX(-0.75rem);\n}\n\n.rtl .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.rtl .input-group > .input-group-append:last-child > .input-group-text:not(:last-child),\n.rtl .input-group > .input-group-append:not(:last-child) > .btn,\n.rtl .input-group > .input-group-append:not(:last-child) > .input-group-text,\n.rtl .input-group > .input-group-prepend > .btn,\n.rtl .input-group > .input-group-prepend > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n[dir=\"rtl\"] .input-group > .input-group-append:last-child > .input-group-text:not(:last-child),\n[dir=\"rtl\"] .input-group > .input-group-append:not(:last-child) > .btn,\n[dir=\"rtl\"] .input-group > .input-group-append:not(:last-child) > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-prepend > .btn,\n[dir=\"rtl\"] .input-group > .input-group-prepend > .input-group-text {\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.rtl .input-group > .input-group-append > .btn,\n.rtl .input-group > .input-group-append > .input-group-text,\n.rtl .input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.rtl .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child),\n.rtl .input-group > .input-group-prepend:not(:first-child) > .btn,\n.rtl .input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-append > .btn,\n[dir=\"rtl\"] .input-group > .input-group-append > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n[dir=\"rtl\"] .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child),\n[dir=\"rtl\"] .input-group > .input-group-prepend:not(:first-child) > .btn,\n[dir=\"rtl\"] .input-group > .input-group-prepend:not(:first-child) > .input-group-text {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .input-group > .custom-select:not(:first-child),\n.rtl .input-group > .form-control:not(:first-child),\n[dir=\"rtl\"] .input-group > .custom-select:not(:first-child),\n[dir=\"rtl\"] .input-group > .form-control:not(:first-child) {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .input-group > .custom-select:not(:last-child),\n.rtl .input-group > .form-control:not(:last-child),\n[dir=\"rtl\"] .input-group > .custom-select:not(:last-child),\n[dir=\"rtl\"] .input-group > .form-control:not(:last-child) {\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.rtl .input-group > .custom-select:not(:last-child):not(:first-child),\n.rtl .input-group > .form-control:not(:last-child):not(:first-child),\n[dir=\"rtl\"] .input-group > .custom-select:not(:last-child):not(:first-child),\n[dir=\"rtl\"] .input-group > .form-control:not(:last-child):not(:first-child) {\n border-radius: 0;\n}\n\n.rtl .radio input,\n.rtl .radio-inline,\n.rtl .checkbox input,\n.rtl .checkbox-inline input,\n[dir=\"rtl\"] .radio input,\n[dir=\"rtl\"] .radio-inline,\n[dir=\"rtl\"] .checkbox input,\n[dir=\"rtl\"] .checkbox-inline input {\n margin-right: -1.25rem;\n margin-left: inherit;\n}\n\n.rtl .breadcrumb-item + .breadcrumb-item,\n[dir=\"rtl\"] .breadcrumb-item + .breadcrumb-item {\n padding-right: 0.5rem;\n padding-left: 0;\n color: #6c757d;\n content: \"/\";\n}\n\n.rtl .breadcrumb-item + .breadcrumb-item::before,\n[dir=\"rtl\"] .breadcrumb-item + .breadcrumb-item::before {\n padding-right: 0;\n padding-left: 0.5rem;\n}\n\n.rtl .list-group,\n[dir=\"rtl\"] .list-group {\n padding-right: 0;\n padding-left: 40px;\n}\n\n.rtl .close,\n[dir=\"rtl\"] .close {\n float: left;\n}\n\n.rtl .modal-header .close,\n[dir=\"rtl\"] .modal-header .close {\n margin: -15px auto -15px -15px;\n}\n\n.rtl .modal-footer > :not(:first-child),\n[dir=\"rtl\"] .modal-footer > :not(:first-child) {\n margin-right: .25rem;\n}\n\n.rtl .modal-footer > :not(:last-child),\n[dir=\"rtl\"] .modal-footer > :not(:last-child) {\n margin-left: .25rem;\n}\n\n.rtl .modal-footer > :first-child,\n[dir=\"rtl\"] .modal-footer > :first-child {\n margin-right: 0;\n}\n\n.rtl .modal-footer > :last-child,\n[dir=\"rtl\"] .modal-footer > :last-child {\n margin-left: 0;\n}\n\n.rtl .alert-dismissible .close,\n[dir=\"rtl\"] .alert-dismissible .close {\n right: inherit;\n left: 0;\n}\n\n.rtl .dropdown-toggle::after,\n[dir=\"rtl\"] .dropdown-toggle::after {\n margin-right: .255em;\n margin-left: 0;\n}\n\n.rtl .form-check-input,\n[dir=\"rtl\"] .form-check-input {\n margin-right: -1.25rem;\n margin-left: inherit;\n}\n\n.rtl .form-check-label,\n[dir=\"rtl\"] .form-check-label {\n padding-right: 1.25rem;\n padding-left: inherit;\n}\n\n.rtl .pagination,\n.rtl .list-unstyled,\n.rtl .list-inline,\n[dir=\"rtl\"] .pagination,\n[dir=\"rtl\"] .list-unstyled,\n[dir=\"rtl\"] .list-inline {\n padding-right: 0;\n padding-left: inherit;\n}\n\n.rtl .pagination .page-item:first-child .page-link,\n[dir=\"rtl\"] .pagination .page-item:first-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.rtl .pagination .page-item:last-child .page-link,\n[dir=\"rtl\"] .pagination .page-item:last-child .page-link {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rtl .offset-1,\n[dir=\"rtl\"] .offset-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-2,\n[dir=\"rtl\"] .offset-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n}\n\n.rtl .offset-3,\n[dir=\"rtl\"] .offset-3 {\n margin-right: 25%;\n margin-left: 0;\n}\n\n.rtl .offset-4,\n[dir=\"rtl\"] .offset-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-5,\n[dir=\"rtl\"] .offset-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n}\n\n.rtl .offset-6,\n[dir=\"rtl\"] .offset-6 {\n margin-right: 50%;\n margin-left: 0;\n}\n\n.rtl .offset-7,\n[dir=\"rtl\"] .offset-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-8,\n[dir=\"rtl\"] .offset-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n}\n\n.rtl .offset-9,\n[dir=\"rtl\"] .offset-9 {\n margin-right: 75%;\n margin-left: 0;\n}\n\n.rtl .offset-10,\n[dir=\"rtl\"] .offset-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-11,\n[dir=\"rtl\"] .offset-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n}\n\n@media (min-width: 576px) {\n .rtl .offset-sm-0,\n [dir=\"rtl\"] .offset-sm-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-sm-1,\n [dir=\"rtl\"] .offset-sm-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-2,\n [dir=\"rtl\"] .offset-sm-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-sm-3,\n [dir=\"rtl\"] .offset-sm-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-sm-4,\n [dir=\"rtl\"] .offset-sm-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-5,\n [dir=\"rtl\"] .offset-sm-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-sm-6,\n [dir=\"rtl\"] .offset-sm-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-sm-7,\n [dir=\"rtl\"] .offset-sm-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-8,\n [dir=\"rtl\"] .offset-sm-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-sm-9,\n [dir=\"rtl\"] .offset-sm-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-sm-10,\n [dir=\"rtl\"] .offset-sm-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-11,\n [dir=\"rtl\"] .offset-sm-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .rtl .offset-md-0,\n [dir=\"rtl\"] .offset-md-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-md-1,\n [dir=\"rtl\"] .offset-md-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-2,\n [dir=\"rtl\"] .offset-md-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-md-3,\n [dir=\"rtl\"] .offset-md-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-md-4,\n [dir=\"rtl\"] .offset-md-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-5,\n [dir=\"rtl\"] .offset-md-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-md-6,\n [dir=\"rtl\"] .offset-md-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-md-7,\n [dir=\"rtl\"] .offset-md-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-8,\n [dir=\"rtl\"] .offset-md-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-md-9,\n [dir=\"rtl\"] .offset-md-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-md-10,\n [dir=\"rtl\"] .offset-md-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-11,\n [dir=\"rtl\"] .offset-md-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .rtl .offset-lg-0,\n [dir=\"rtl\"] .offset-lg-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-lg-1,\n [dir=\"rtl\"] .offset-lg-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-2,\n [dir=\"rtl\"] .offset-lg-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-lg-3,\n [dir=\"rtl\"] .offset-lg-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-lg-4,\n [dir=\"rtl\"] .offset-lg-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-5,\n [dir=\"rtl\"] .offset-lg-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-lg-6,\n [dir=\"rtl\"] .offset-lg-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-lg-7,\n [dir=\"rtl\"] .offset-lg-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-8,\n [dir=\"rtl\"] .offset-lg-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-lg-9,\n [dir=\"rtl\"] .offset-lg-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-lg-10,\n [dir=\"rtl\"] .offset-lg-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-11,\n [dir=\"rtl\"] .offset-lg-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .rtl .offset-xl-0,\n [dir=\"rtl\"] .offset-xl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-xl-1,\n [dir=\"rtl\"] .offset-xl-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-2,\n [dir=\"rtl\"] .offset-xl-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-xl-3,\n [dir=\"rtl\"] .offset-xl-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-xl-4,\n [dir=\"rtl\"] .offset-xl-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-5,\n [dir=\"rtl\"] .offset-xl-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-xl-6,\n [dir=\"rtl\"] .offset-xl-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-xl-7,\n [dir=\"rtl\"] .offset-xl-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-8,\n [dir=\"rtl\"] .offset-xl-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-xl-9,\n [dir=\"rtl\"] .offset-xl-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-xl-10,\n [dir=\"rtl\"] .offset-xl-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-11,\n [dir=\"rtl\"] .offset-xl-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n.rtl .mr-0,\n[dir=\"rtl\"] .mr-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.rtl .ml-0,\n[dir=\"rtl\"] .ml-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.rtl mx-0,\n[dir=\"rtl\"] mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.rtl .mr-1,\n[dir=\"rtl\"] .mr-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n}\n\n.rtl .ml-1,\n[dir=\"rtl\"] .ml-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n}\n\n.rtl mx-1,\n[dir=\"rtl\"] mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.rtl .mr-2,\n[dir=\"rtl\"] .mr-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n}\n\n.rtl .ml-2,\n[dir=\"rtl\"] .ml-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n}\n\n.rtl mx-2,\n[dir=\"rtl\"] mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.rtl .mr-3,\n[dir=\"rtl\"] .mr-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n}\n\n.rtl .ml-3,\n[dir=\"rtl\"] .ml-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n}\n\n.rtl mx-3,\n[dir=\"rtl\"] mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.rtl .mr-4,\n[dir=\"rtl\"] .mr-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n}\n\n.rtl .ml-4,\n[dir=\"rtl\"] .ml-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n}\n\n.rtl mx-4,\n[dir=\"rtl\"] mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.rtl .mr-5,\n[dir=\"rtl\"] .mr-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n}\n\n.rtl .ml-5,\n[dir=\"rtl\"] .ml-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n}\n\n.rtl mx-5,\n[dir=\"rtl\"] mx-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.rtl .pr-0,\n[dir=\"rtl\"] .pr-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.rtl .pl-0,\n[dir=\"rtl\"] .pl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.rtl px-0,\n[dir=\"rtl\"] px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.rtl .pr-1,\n[dir=\"rtl\"] .pr-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n}\n\n.rtl .pl-1,\n[dir=\"rtl\"] .pl-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n}\n\n.rtl px-1,\n[dir=\"rtl\"] px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.rtl .pr-2,\n[dir=\"rtl\"] .pr-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n}\n\n.rtl .pl-2,\n[dir=\"rtl\"] .pl-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n}\n\n.rtl px-2,\n[dir=\"rtl\"] px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.rtl .pr-3,\n[dir=\"rtl\"] .pr-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n}\n\n.rtl .pl-3,\n[dir=\"rtl\"] .pl-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n}\n\n.rtl px-3,\n[dir=\"rtl\"] px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.rtl .pr-4,\n[dir=\"rtl\"] .pr-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n}\n\n.rtl .pl-4,\n[dir=\"rtl\"] .pl-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n}\n\n.rtl px-4,\n[dir=\"rtl\"] px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.rtl .pr-5,\n[dir=\"rtl\"] .pr-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n}\n\n.rtl .pl-5,\n[dir=\"rtl\"] .pl-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n}\n\n.rtl px-5,\n[dir=\"rtl\"] px-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.rtl .mr-auto,\n[dir=\"rtl\"] .mr-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n}\n\n.rtl .ml-auto,\n[dir=\"rtl\"] .ml-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n}\n\n.rtl .mx-auto,\n[dir=\"rtl\"] .mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .rtl .mr-sm-0,\n [dir=\"rtl\"] .mr-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-sm-0,\n [dir=\"rtl\"] .ml-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-sm-0,\n [dir=\"rtl\"] mx-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-sm-1,\n [dir=\"rtl\"] .mr-sm-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-sm-1,\n [dir=\"rtl\"] .ml-sm-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-sm-1,\n [dir=\"rtl\"] mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-sm-2,\n [dir=\"rtl\"] .mr-sm-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-sm-2,\n [dir=\"rtl\"] .ml-sm-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-sm-2,\n [dir=\"rtl\"] mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-sm-3,\n [dir=\"rtl\"] .mr-sm-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-sm-3,\n [dir=\"rtl\"] .ml-sm-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-sm-3,\n [dir=\"rtl\"] mx-sm-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-sm-4,\n [dir=\"rtl\"] .mr-sm-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-sm-4,\n [dir=\"rtl\"] .ml-sm-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-sm-4,\n [dir=\"rtl\"] mx-sm-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-sm-5,\n [dir=\"rtl\"] .mr-sm-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-sm-5,\n [dir=\"rtl\"] .ml-sm-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-sm-5,\n [dir=\"rtl\"] mx-sm-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-sm-0,\n [dir=\"rtl\"] .pr-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-sm-0,\n [dir=\"rtl\"] .pl-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-sm-0,\n [dir=\"rtl\"] px-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-sm-1,\n [dir=\"rtl\"] .pr-sm-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-sm-1,\n [dir=\"rtl\"] .pl-sm-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-sm-1,\n [dir=\"rtl\"] px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-sm-2,\n [dir=\"rtl\"] .pr-sm-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-sm-2,\n [dir=\"rtl\"] .pl-sm-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-sm-2,\n [dir=\"rtl\"] px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-sm-3,\n [dir=\"rtl\"] .pr-sm-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-sm-3,\n [dir=\"rtl\"] .pl-sm-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-sm-3,\n [dir=\"rtl\"] px-sm-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-sm-4,\n [dir=\"rtl\"] .pr-sm-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-sm-4,\n [dir=\"rtl\"] .pl-sm-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-sm-4,\n [dir=\"rtl\"] px-sm-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-sm-5,\n [dir=\"rtl\"] .pr-sm-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-sm-5,\n [dir=\"rtl\"] .pl-sm-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-sm-5,\n [dir=\"rtl\"] px-sm-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-sm-auto,\n [dir=\"rtl\"] .mr-sm-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-sm-auto,\n [dir=\"rtl\"] .ml-sm-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-sm-auto,\n [dir=\"rtl\"] .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .rtl .mr-md-0,\n [dir=\"rtl\"] .mr-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-md-0,\n [dir=\"rtl\"] .ml-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-md-0,\n [dir=\"rtl\"] mx-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-md-1,\n [dir=\"rtl\"] .mr-md-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-md-1,\n [dir=\"rtl\"] .ml-md-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-md-1,\n [dir=\"rtl\"] mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-md-2,\n [dir=\"rtl\"] .mr-md-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-md-2,\n [dir=\"rtl\"] .ml-md-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-md-2,\n [dir=\"rtl\"] mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-md-3,\n [dir=\"rtl\"] .mr-md-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-md-3,\n [dir=\"rtl\"] .ml-md-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-md-3,\n [dir=\"rtl\"] mx-md-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-md-4,\n [dir=\"rtl\"] .mr-md-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-md-4,\n [dir=\"rtl\"] .ml-md-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-md-4,\n [dir=\"rtl\"] mx-md-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-md-5,\n [dir=\"rtl\"] .mr-md-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-md-5,\n [dir=\"rtl\"] .ml-md-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-md-5,\n [dir=\"rtl\"] mx-md-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-md-0,\n [dir=\"rtl\"] .pr-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-md-0,\n [dir=\"rtl\"] .pl-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-md-0,\n [dir=\"rtl\"] px-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-md-1,\n [dir=\"rtl\"] .pr-md-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-md-1,\n [dir=\"rtl\"] .pl-md-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-md-1,\n [dir=\"rtl\"] px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-md-2,\n [dir=\"rtl\"] .pr-md-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-md-2,\n [dir=\"rtl\"] .pl-md-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-md-2,\n [dir=\"rtl\"] px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-md-3,\n [dir=\"rtl\"] .pr-md-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-md-3,\n [dir=\"rtl\"] .pl-md-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-md-3,\n [dir=\"rtl\"] px-md-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-md-4,\n [dir=\"rtl\"] .pr-md-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-md-4,\n [dir=\"rtl\"] .pl-md-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-md-4,\n [dir=\"rtl\"] px-md-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-md-5,\n [dir=\"rtl\"] .pr-md-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-md-5,\n [dir=\"rtl\"] .pl-md-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-md-5,\n [dir=\"rtl\"] px-md-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-md-auto,\n [dir=\"rtl\"] .mr-md-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-md-auto,\n [dir=\"rtl\"] .ml-md-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-md-auto,\n [dir=\"rtl\"] .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .rtl .mr-lg-0,\n [dir=\"rtl\"] .mr-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-lg-0,\n [dir=\"rtl\"] .ml-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-lg-0,\n [dir=\"rtl\"] mx-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-lg-1,\n [dir=\"rtl\"] .mr-lg-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-lg-1,\n [dir=\"rtl\"] .ml-lg-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-lg-1,\n [dir=\"rtl\"] mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-lg-2,\n [dir=\"rtl\"] .mr-lg-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-lg-2,\n [dir=\"rtl\"] .ml-lg-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-lg-2,\n [dir=\"rtl\"] mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-lg-3,\n [dir=\"rtl\"] .mr-lg-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-lg-3,\n [dir=\"rtl\"] .ml-lg-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-lg-3,\n [dir=\"rtl\"] mx-lg-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-lg-4,\n [dir=\"rtl\"] .mr-lg-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-lg-4,\n [dir=\"rtl\"] .ml-lg-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-lg-4,\n [dir=\"rtl\"] mx-lg-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-lg-5,\n [dir=\"rtl\"] .mr-lg-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-lg-5,\n [dir=\"rtl\"] .ml-lg-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-lg-5,\n [dir=\"rtl\"] mx-lg-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-lg-0,\n [dir=\"rtl\"] .pr-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-lg-0,\n [dir=\"rtl\"] .pl-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-lg-0,\n [dir=\"rtl\"] px-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-lg-1,\n [dir=\"rtl\"] .pr-lg-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-lg-1,\n [dir=\"rtl\"] .pl-lg-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-lg-1,\n [dir=\"rtl\"] px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-lg-2,\n [dir=\"rtl\"] .pr-lg-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-lg-2,\n [dir=\"rtl\"] .pl-lg-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-lg-2,\n [dir=\"rtl\"] px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-lg-3,\n [dir=\"rtl\"] .pr-lg-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-lg-3,\n [dir=\"rtl\"] .pl-lg-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-lg-3,\n [dir=\"rtl\"] px-lg-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-lg-4,\n [dir=\"rtl\"] .pr-lg-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-lg-4,\n [dir=\"rtl\"] .pl-lg-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-lg-4,\n [dir=\"rtl\"] px-lg-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-lg-5,\n [dir=\"rtl\"] .pr-lg-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-lg-5,\n [dir=\"rtl\"] .pl-lg-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-lg-5,\n [dir=\"rtl\"] px-lg-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-lg-auto,\n [dir=\"rtl\"] .mr-lg-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-lg-auto,\n [dir=\"rtl\"] .ml-lg-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-lg-auto,\n [dir=\"rtl\"] .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .rtl .mr-xl-0,\n [dir=\"rtl\"] .mr-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-xl-0,\n [dir=\"rtl\"] .ml-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-xl-0,\n [dir=\"rtl\"] mx-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-xl-1,\n [dir=\"rtl\"] .mr-xl-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-xl-1,\n [dir=\"rtl\"] .ml-xl-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-xl-1,\n [dir=\"rtl\"] mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-xl-2,\n [dir=\"rtl\"] .mr-xl-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-xl-2,\n [dir=\"rtl\"] .ml-xl-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-xl-2,\n [dir=\"rtl\"] mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-xl-3,\n [dir=\"rtl\"] .mr-xl-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-xl-3,\n [dir=\"rtl\"] .ml-xl-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-xl-3,\n [dir=\"rtl\"] mx-xl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-xl-4,\n [dir=\"rtl\"] .mr-xl-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-xl-4,\n [dir=\"rtl\"] .ml-xl-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-xl-4,\n [dir=\"rtl\"] mx-xl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-xl-5,\n [dir=\"rtl\"] .mr-xl-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-xl-5,\n [dir=\"rtl\"] .ml-xl-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-xl-5,\n [dir=\"rtl\"] mx-xl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-xl-0,\n [dir=\"rtl\"] .pr-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-xl-0,\n [dir=\"rtl\"] .pl-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-xl-0,\n [dir=\"rtl\"] px-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-xl-1,\n [dir=\"rtl\"] .pr-xl-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-xl-1,\n [dir=\"rtl\"] .pl-xl-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-xl-1,\n [dir=\"rtl\"] px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-xl-2,\n [dir=\"rtl\"] .pr-xl-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-xl-2,\n [dir=\"rtl\"] .pl-xl-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-xl-2,\n [dir=\"rtl\"] px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-xl-3,\n [dir=\"rtl\"] .pr-xl-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-xl-3,\n [dir=\"rtl\"] .pl-xl-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-xl-3,\n [dir=\"rtl\"] px-xl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-xl-4,\n [dir=\"rtl\"] .pr-xl-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-xl-4,\n [dir=\"rtl\"] .pl-xl-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-xl-4,\n [dir=\"rtl\"] px-xl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-xl-5,\n [dir=\"rtl\"] .pr-xl-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-xl-5,\n [dir=\"rtl\"] .pl-xl-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-xl-5,\n [dir=\"rtl\"] px-xl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-xl-auto,\n [dir=\"rtl\"] .mr-xl-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-xl-auto,\n [dir=\"rtl\"] .ml-xl-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-xl-auto,\n [dir=\"rtl\"] .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n.rtl .text-right,\n[dir=\"rtl\"] .text-right {\n text-align: left !important;\n}\n\n.rtl .text-left,\n[dir=\"rtl\"] .text-left {\n text-align: right !important;\n}\n\n@media (min-width: 576px) {\n .rtl .text-sm-right,\n [dir=\"rtl\"] .text-sm-right {\n text-align: left !important;\n }\n .rtl .text-sm-left,\n [dir=\"rtl\"] .text-sm-left {\n text-align: right !important;\n }\n}\n\n@media (min-width: 768px) {\n .rtl .text-md-right,\n [dir=\"rtl\"] .text-md-right {\n text-align: left !important;\n }\n .rtl .text-md-left,\n [dir=\"rtl\"] .text-md-left {\n text-align: right !important;\n }\n}\n\n@media (min-width: 992px) {\n .rtl .text-lg-right,\n [dir=\"rtl\"] .text-lg-right {\n text-align: left !important;\n }\n .rtl .text-lg-left,\n [dir=\"rtl\"] .text-lg-left {\n text-align: right !important;\n }\n}\n\n@media (min-width: 1200px) {\n .rtl .text-xl-right,\n [dir=\"rtl\"] .text-xl-right {\n text-align: left !important;\n }\n .rtl .text-xl-left,\n [dir=\"rtl\"] .text-xl-left {\n text-align: right !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-rtl.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

    `-`

    ` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

    `s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`

    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%0Dso|=I1OUj{o3V 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 + + + + +Created by FontForge 20190801 at Thu Jun 18 14:52:21 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf b/WebApiService/src/Win_in.Sfs.Scp.WebApi.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8adeea24eedc0d87282d26536cfd74df4694d970 GIT binary patch literal 204580 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