diff --git a/Directory.Packages.props b/Directory.Packages.props index cbb85c5..0f1be7c 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,18 +1,16 @@ - 8.2.0 - 8.3.0 - 0.9.6 - 5.5.0 - 8.0.0 - 8.0.4 - 8.0.4 + 9.0.0 + 1.0.1 + 5.5.8 + 9.0.0 + 9.0.0 + 9.0.0 true - - + @@ -214,20 +212,20 @@ - + - + - - + + @@ -237,42 +235,17 @@ - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -292,160 +265,210 @@ - + - - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + - - - - - + + + + - - - - + + + + \ No newline at end of file diff --git a/lsw.Abp.AntDesignUI.slnLaunch b/lsw.Abp.AntDesignUI.slnLaunch new file mode 100644 index 0000000..515f322 --- /dev/null +++ b/lsw.Abp.AntDesignUI.slnLaunch @@ -0,0 +1,15 @@ +[ + { + "Name": "New Profile", + "Projects": [ + { + "Path": "samples\\BookStore\\src\\BookStore.HttpApi.Host\\BookStore.HttpApi.Host.csproj", + "Action": "Start" + }, + { + "Path": "samples\\BookStore\\src\\BookStore.Blazor\\BookStore.Blazor.csproj", + "Action": "Start" + } + ] + } +] \ No newline at end of file diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.csproj b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.csproj index 8193229..199f6b8 100644 --- a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.csproj +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.csproj @@ -5,7 +5,7 @@ - net8.0 + net9.0 diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.csproj b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.csproj index 9a2b178..aa937be 100644 --- a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.csproj +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.csproj @@ -5,7 +5,7 @@ - net8.0 + net9.0 diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj index acb747e..ae91b35 100644 --- a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI.csproj b/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI.csproj index 1d34510..863448a 100644 --- a/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI.csproj +++ b/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI.csproj b/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI.csproj index c976553..de489e2 100644 --- a/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI.csproj +++ b/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI.csproj b/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI.csproj index f72aaa9..131e006 100644 --- a/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI.csproj +++ b/modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI.csproj b/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI.csproj index 46430b5..fb76b56 100644 --- a/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI.csproj +++ b/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI.csproj b/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI.csproj index 797c5fe..9deceac 100644 --- a/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI.csproj +++ b/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI.csproj b/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI.csproj index 00ab7b8..c350949 100644 --- a/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI.csproj +++ b/modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI.csproj b/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI.csproj index 6d25b34..ac1ee46 100644 --- a/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI.csproj +++ b/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI.csproj b/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI.csproj index 499bb84..ff468dc 100644 --- a/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI.csproj +++ b/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI.csproj b/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI.csproj index 0b5598f..438f7b2 100644 --- a/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI.csproj +++ b/modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.AntDesignUI.csproj b/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.AntDesignUI.csproj index b02a788..af63450 100644 --- a/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.AntDesignUI.csproj +++ b/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI.csproj b/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI.csproj index 93fe43e..842ff73 100644 --- a/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI.csproj +++ b/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI.csproj b/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI.csproj index df5e745..b6102a1 100644 --- a/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI.csproj +++ b/modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.AntDesignUI.csproj b/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.AntDesignUI.csproj index c880d12..1fba354 100644 --- a/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.AntDesignUI.csproj +++ b/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI.csproj b/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI.csproj index 5a97e0f..1f167d8 100644 --- a/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI.csproj +++ b/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI.csproj b/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI.csproj index 4d1724d..52a3cec 100644 --- a/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI.csproj +++ b/modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI.csproj @@ -4,7 +4,7 @@ - net8.0 + net9.0 diff --git a/samples/BookStore/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj b/samples/BookStore/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj index 6c93373..5baf74d 100644 --- a/samples/BookStore/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj +++ b/samples/BookStore/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj @@ -3,7 +3,7 @@ - net8.0 + net9.0 BookStore diff --git a/samples/BookStore/src/BookStore.Application/BookStore.Application.csproj b/samples/BookStore/src/BookStore.Application/BookStore.Application.csproj index df953a4..887b2ba 100644 --- a/samples/BookStore/src/BookStore.Application/BookStore.Application.csproj +++ b/samples/BookStore/src/BookStore.Application/BookStore.Application.csproj @@ -3,7 +3,7 @@ - net8.0 + net9.0 BookStore diff --git a/samples/BookStore/src/BookStore.Blazor/BookStore.Blazor.csproj b/samples/BookStore/src/BookStore.Blazor/BookStore.Blazor.csproj index c88b080..f20b7cb 100644 --- a/samples/BookStore/src/BookStore.Blazor/BookStore.Blazor.csproj +++ b/samples/BookStore/src/BookStore.Blazor/BookStore.Blazor.csproj @@ -3,7 +3,7 @@ - net8.0 + net9.0 true diff --git a/samples/BookStore/src/BookStore.Blazor/wwwroot/global.css b/samples/BookStore/src/BookStore.Blazor/wwwroot/global.css index 3e589f5..ef5f692 100644 --- a/samples/BookStore/src/BookStore.Blazor/wwwroot/global.css +++ b/samples/BookStore/src/BookStore.Blazor/wwwroot/global.css @@ -7028,6 +7028,10 @@ _:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-ce margin-right: 0; margin-left: 12px; } +body:has(.ant-drawer-open .ant-drawer-mask) { + overflow: hidden; + padding-right: var(--ant-scrollbar-width); +} .ant-dropdown-menu-item.ant-dropdown-menu-item-danger { color: #ff4d4f; } @@ -17267,6 +17271,19 @@ textarea.ant-mentions .rc-textarea { color: rgba(0, 0, 0, 0.75); text-decoration: none; } +.ant-modal-resizable .ant-modal-footer { + position: absolute; + bottom: 0; + right: 0; + width: 100%; +} +.ant-modal-wrap-rtl .ant-modal-resizable .ant-modal-footer { + left: 0; +} +body:has(.ant-modal-open .ant-modal-mask) { + overflow: hidden; + padding-right: var(--ant-scrollbar-width); +} .ant-notification { box-sizing: border-box; margin: 0; @@ -22561,6 +22578,13 @@ tr.ant-table-expanded-row .ant-descriptions-view table { border-right: 2px dashed #096dd9; z-index: 99; } +tr.ant-table-grouping-footer > td { + padding: 0; + line-height: inherit; +} +tr.ant-table-row-grouping > td { + padding: 8px 8px; +} .ant-tabs-small > .ant-tabs-nav .ant-tabs-tab { padding: 8px 0; font-size: 14px; @@ -23202,6 +23226,9 @@ a[antblazor-tab-link]::before { a[antblazor-tab-link] ~ * { position: relative; } +.ant-tabs > .ant-tabs-nav .ant-tabs-nav-operations + .ant-tabs-nav-add { + background: transparent; +} .antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu { max-height: 200px; margin: 0; @@ -26134,6 +26161,9 @@ div.ant-typography-edit-content.ant-typography-rtl { .ant-tree-child-tree { overflow: hidden; } +.ant-tree-indent { + font-size: 0; +} .ant-select-tree-checkbox { box-sizing: border-box; margin: 0; @@ -27099,6 +27129,10 @@ div.ant-typography-edit-content.ant-typography-rtl { .ant-image-preview-switch-right { right: 8px; } +body:has(.ant-image-preview-open .ant-image-preview-mask) { + overflow: hidden; + padding-right: var(--ant-scrollbar-width); +} .ant-flex { display: flex; } diff --git a/samples/BookStore/src/BookStore.Blazor/wwwroot/global.js b/samples/BookStore/src/BookStore.Blazor/wwwroot/global.js index 959d118..5ae7a22 100644 --- a/samples/BookStore/src/BookStore.Blazor/wwwroot/global.js +++ b/samples/BookStore/src/BookStore.Blazor/wwwroot/global.js @@ -1,13 +1,59 @@ -(()=>{"use strict";var e,t,n;!function(e){const t=[],n="__jsObjectId",r="__dotNetObject",o="__byte[]",i="__dotNetStream",s="__jsStreamReferenceLength";let a,c;class l{constructor(e){this._jsObject=e,this._cachedFunctions=new Map}findFunction(e){const t=this._cachedFunctions.get(e);if(t)return t;let n,r=this._jsObject;if(e.split(".").forEach((t=>{if(!(t in r))throw new Error(`Could not find '${e}' ('${t}' was undefined).`);n=r,r=r[t]})),r instanceof Function)return r=r.bind(n),this._cachedFunctions.set(e,r),r;throw new Error(`The value '${e}' is not a function.`)}getWrappedObject(){return this._jsObject}}const u={0:new l(window)};u[0]._cachedFunctions.set("import",(e=>("string"==typeof e&&e.startsWith("./")&&(e=new URL(e.substr(2),document.baseURI).toString()),import(e))));let d,f=1;function m(e){t.push(e)}function h(e){if(e&&"object"==typeof e){u[f]=new l(e);const t={[n]:f};return f++,t}throw new Error(`Cannot create a JSObjectReference from the value '${e}'.`)}function p(e){let t=-1;if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Blob)t=e.size;else{if(!(e.buffer instanceof ArrayBuffer))throw new Error("Supplied value is not a typed array or blob.");if(void 0===e.byteLength)throw new Error(`Cannot create a JSStreamReference from the value '${e}' as it doesn't have a byteLength.`);t=e.byteLength}const r={[s]:t};try{const t=h(e);r[n]=t[n]}catch(t){throw new Error(`Cannot create a JSStreamReference from the value '${e}'.`)}return r}function v(e,n){c=e;const r=n?JSON.parse(n,((e,n)=>t.reduce(((t,n)=>n(e,t)),n))):null;return c=void 0,r}function g(){if(void 0===a)throw new Error("No call dispatcher has been set.");if(null===a)throw new Error("There are multiple .NET runtimes present, so a default dispatcher could not be resolved. Use DotNetObject to invoke .NET instance methods.");return a}e.attachDispatcher=function(e){const t=new b(e);return void 0===a?a=t:a&&(a=null),t},e.attachReviver=m,e.invokeMethod=function(e,t,...n){return g().invokeDotNetStaticMethod(e,t,...n)},e.invokeMethodAsync=function(e,t,...n){return g().invokeDotNetStaticMethodAsync(e,t,...n)},e.createJSObjectReference=h,e.createJSStreamReference=p,e.disposeJSObjectReference=function(e){const t=e&&e[n];"number"==typeof t&&E(t)},function(e){e[e.Default=0]="Default",e[e.JSObjectReference=1]="JSObjectReference",e[e.JSStreamReference=2]="JSStreamReference",e[e.JSVoidResult=3]="JSVoidResult"}(d=e.JSCallResultType||(e.JSCallResultType={}));class b{constructor(e){this._dotNetCallDispatcher=e,this._byteArraysToBeRevived=new Map,this._pendingDotNetToJSStreams=new Map,this._pendingAsyncCalls={},this._nextAsyncCallId=1}getDotNetCallDispatcher(){return this._dotNetCallDispatcher}invokeJSFromDotNet(e,t,n,r){const o=v(this,t),i=I(w(e,r)(...o||[]),n);return null==i?null:_(this,i)}beginInvokeJSFromDotNet(e,t,n,r,o){const i=new Promise((e=>{const r=v(this,n);e(w(t,o)(...r||[]))}));e&&i.then((t=>_(this,[e,!0,I(t,r)]))).then((t=>this._dotNetCallDispatcher.endInvokeJSFromDotNet(e,!0,t)),(t=>this._dotNetCallDispatcher.endInvokeJSFromDotNet(e,!1,JSON.stringify([e,!1,y(t)]))))}endInvokeDotNetFromJS(e,t,n){const r=t?v(this,n):new Error(n);this.completePendingCall(parseInt(e,10),t,r)}invokeDotNetStaticMethod(e,t,...n){return this.invokeDotNetMethod(e,t,null,n)}invokeDotNetStaticMethodAsync(e,t,...n){return this.invokeDotNetMethodAsync(e,t,null,n)}invokeDotNetMethod(e,t,n,r){if(this._dotNetCallDispatcher.invokeDotNetFromJS){const o=_(this,r),i=this._dotNetCallDispatcher.invokeDotNetFromJS(e,t,n,o);return i?v(this,i):null}throw new Error("The current dispatcher does not support synchronous calls from JS to .NET. Use invokeDotNetMethodAsync instead.")}invokeDotNetMethodAsync(e,t,n,r){if(e&&n)throw new Error(`For instance method calls, assemblyName should be null. Received '${e}'.`);const o=this._nextAsyncCallId++,i=new Promise(((e,t)=>{this._pendingAsyncCalls[o]={resolve:e,reject:t}}));try{const i=_(this,r);this._dotNetCallDispatcher.beginInvokeDotNetFromJS(o,e,t,n,i)}catch(e){this.completePendingCall(o,!1,e)}return i}receiveByteArray(e,t){this._byteArraysToBeRevived.set(e,t)}processByteArray(e){const t=this._byteArraysToBeRevived.get(e);return t?(this._byteArraysToBeRevived.delete(e),t):null}supplyDotNetStream(e,t){if(this._pendingDotNetToJSStreams.has(e)){const n=this._pendingDotNetToJSStreams.get(e);this._pendingDotNetToJSStreams.delete(e),n.resolve(t)}else{const n=new C;n.resolve(t),this._pendingDotNetToJSStreams.set(e,n)}}getDotNetStreamPromise(e){let t;if(this._pendingDotNetToJSStreams.has(e))t=this._pendingDotNetToJSStreams.get(e).streamPromise,this._pendingDotNetToJSStreams.delete(e);else{const n=new C;this._pendingDotNetToJSStreams.set(e,n),t=n.streamPromise}return t}completePendingCall(e,t,n){if(!this._pendingAsyncCalls.hasOwnProperty(e))throw new Error(`There is no pending async call with ID ${e}.`);const r=this._pendingAsyncCalls[e];delete this._pendingAsyncCalls[e],t?r.resolve(n):r.reject(n)}}function y(e){return e instanceof Error?`${e.message}\n${e.stack}`:e?e.toString():"null"}function w(e,t){const n=u[t];if(n)return n.findFunction(e);throw new Error(`JS object instance with ID ${t} does not exist (has it been disposed?).`)}function E(e){delete u[e]}e.findJSFunction=w,e.disposeJSObjectReferenceById=E;class S{constructor(e,t){this._id=e,this._callDispatcher=t}invokeMethod(e,...t){return this._callDispatcher.invokeDotNetMethod(null,e,this._id,t)}invokeMethodAsync(e,...t){return this._callDispatcher.invokeDotNetMethodAsync(null,e,this._id,t)}dispose(){this._callDispatcher.invokeDotNetMethodAsync(null,"__Dispose",this._id,null).catch((e=>console.error(e)))}serializeAsArg(){return{[r]:this._id}}}e.DotNetObject=S,m((function(e,t){if(t&&"object"==typeof t){if(t.hasOwnProperty(r))return new S(t[r],c);if(t.hasOwnProperty(n)){const e=t[n],r=u[e];if(r)return r.getWrappedObject();throw new Error(`JS object instance with Id '${e}' does not exist. It may have been disposed.`)}if(t.hasOwnProperty(o)){const e=t[o],n=c.processByteArray(e);if(void 0===n)throw new Error(`Byte array index '${e}' does not exist.`);return n}if(t.hasOwnProperty(i)){const e=t[i],n=c.getDotNetStreamPromise(e);return new A(n)}}return t}));class A{constructor(e){this._streamPromise=e}stream(){return this._streamPromise}async arrayBuffer(){return new Response(await this.stream()).arrayBuffer()}}class C{constructor(){this.streamPromise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}function I(e,t){switch(t){case d.Default:return e;case d.JSObjectReference:return h(e);case d.JSStreamReference:return p(e);case d.JSVoidResult:return null;default:throw new Error(`Invalid JS call result type '${t}'.`)}}let N=0;function _(e,t){N=0,c=e;const n=JSON.stringify(t,R);return c=void 0,n}function R(e,t){if(t instanceof S)return t.serializeAsArg();if(t instanceof Uint8Array){c.getDotNetCallDispatcher().sendByteArray(N,t);const e={[o]:N};return N++,e}return t}}(e||(e={})),function(e){e[e.prependFrame=1]="prependFrame",e[e.removeFrame=2]="removeFrame",e[e.setAttribute=3]="setAttribute",e[e.removeAttribute=4]="removeAttribute",e[e.updateText=5]="updateText",e[e.stepIn=6]="stepIn",e[e.stepOut=7]="stepOut",e[e.updateMarkup=8]="updateMarkup",e[e.permutationListEntry=9]="permutationListEntry",e[e.permutationListEnd=10]="permutationListEnd"}(t||(t={})),function(e){e[e.element=1]="element",e[e.text=2]="text",e[e.attribute=3]="attribute",e[e.component=4]="component",e[e.region=5]="region",e[e.elementReferenceCapture=6]="elementReferenceCapture",e[e.markup=8]="markup",e[e.namedEvent=10]="namedEvent"}(n||(n={}));class r{constructor(e,t){this.componentId=e,this.fieldValue=t}static fromEvent(e,t){const n=t.target;if(n instanceof Element){const t=function(e){return e instanceof HTMLInputElement?e.type&&"checkbox"===e.type.toLowerCase()?{value:e.checked}:{value:e.value}:e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement?{value:e.value}:null}(n);if(t)return new r(e,t.value)}return null}}const o=new Map,i=new Map,s=[];function a(e){return o.get(e)}function c(e){const t=o.get(e);return(null==t?void 0:t.browserEventName)||e}function l(e,t){e.forEach((e=>o.set(e,t)))}function u(e){const t=[];for(let n=0;ne.selected)).map((e=>e.value))}}{const e=function(e){return!!e&&"INPUT"===e.tagName&&"checkbox"===e.getAttribute("type")}(t);return{value:e?!!t.checked:t.value}}}}),l(["copy","cut","paste"],{createEventArgs:e=>({type:e.type})}),l(["drag","dragend","dragenter","dragleave","dragover","dragstart","drop"],{createEventArgs:e=>{return{...d(t=e),dataTransfer:t.dataTransfer?{dropEffect:t.dataTransfer.dropEffect,effectAllowed:t.dataTransfer.effectAllowed,files:Array.from(t.dataTransfer.files).map((e=>e.name)),items:Array.from(t.dataTransfer.items).map((e=>({kind:e.kind,type:e.type}))),types:t.dataTransfer.types}:null};var t}}),l(["focus","blur","focusin","focusout"],{createEventArgs:e=>({type:e.type})}),l(["keydown","keyup","keypress"],{createEventArgs:e=>{return{key:(t=e).key,code:t.code,location:t.location,repeat:t.repeat,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type};var t}}),l(["contextmenu","click","mouseover","mouseout","mousemove","mousedown","mouseup","mouseleave","mouseenter","dblclick"],{createEventArgs:e=>d(e)}),l(["error"],{createEventArgs:e=>{return{message:(t=e).message,filename:t.filename,lineno:t.lineno,colno:t.colno,type:t.type};var t}}),l(["loadstart","timeout","abort","load","loadend","progress"],{createEventArgs:e=>{return{lengthComputable:(t=e).lengthComputable,loaded:t.loaded,total:t.total,type:t.type};var t}}),l(["touchcancel","touchend","touchmove","touchenter","touchleave","touchstart"],{createEventArgs:e=>{return{detail:(t=e).detail,touches:u(t.touches),targetTouches:u(t.targetTouches),changedTouches:u(t.changedTouches),ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type};var t}}),l(["gotpointercapture","lostpointercapture","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerup"],{createEventArgs:e=>{return{...d(t=e),pointerId:t.pointerId,width:t.width,height:t.height,pressure:t.pressure,tiltX:t.tiltX,tiltY:t.tiltY,pointerType:t.pointerType,isPrimary:t.isPrimary};var t}}),l(["wheel","mousewheel"],{createEventArgs:e=>{return{...d(t=e),deltaX:t.deltaX,deltaY:t.deltaY,deltaZ:t.deltaZ,deltaMode:t.deltaMode};var t}}),l(["cancel","close","toggle"],{createEventArgs:()=>({})});const f=["date","datetime-local","month","time","week"],m=new Map;let h,p,v=0;const g={async add(e,t,n){if(!n)throw new Error("initialParameters must be an object, even if empty.");const r="__bl-dynamic-root:"+(++v).toString();m.set(r,e);const o=await w().invokeMethodAsync("AddRootComponent",t,r),i=new y(o,p[t]);return await i.setParameters(n),i}};class b{invoke(e){return this._callback(e)}setCallback(t){this._selfJSObjectReference||(this._selfJSObjectReference=e.createJSObjectReference(this)),this._callback=t}getJSObjectReference(){return this._selfJSObjectReference}dispose(){this._selfJSObjectReference&&e.disposeJSObjectReference(this._selfJSObjectReference)}}class y{constructor(e,t){this._jsEventCallbackWrappers=new Map,this._componentId=e;for(const e of t)"eventcallback"===e.type&&this._jsEventCallbackWrappers.set(e.name.toLowerCase(),new b)}setParameters(e){const t={},n=Object.entries(e||{}),r=n.length;for(const[e,r]of n){const n=this._jsEventCallbackWrappers.get(e.toLowerCase());n&&r?(n.setCallback(r),t[e]=n.getJSObjectReference()):t[e]=r}return w().invokeMethodAsync("SetRootComponentParameters",this._componentId,r,t)}async dispose(){if(null!==this._componentId){await w().invokeMethodAsync("RemoveRootComponent",this._componentId),this._componentId=null;for(const e of this._jsEventCallbackWrappers.values())e.dispose()}}}function w(){if(!h)throw new Error("Dynamic root components have not been enabled in this application.");return h}const E=new Map,S=[],A=new Map;function C(e,t,n){return N(e,t.eventHandlerId,(()=>I(e).invokeMethodAsync("DispatchEventAsync",t,n)))}function I(e){const t=E.get(e);if(!t)throw new Error(`No interop methods are registered for renderer ${e}`);return t}let N=(e,t,n)=>n();const _=O(["abort","blur","cancel","canplay","canplaythrough","change","close","cuechange","durationchange","emptied","ended","error","focus","load","loadeddata","loadedmetadata","loadend","loadstart","mouseenter","mouseleave","pointerenter","pointerleave","pause","play","playing","progress","ratechange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeupdate","toggle","unload","volumechange","waiting","DOMNodeInsertedIntoDocument","DOMNodeRemovedFromDocument"]),R={submit:!0},k=O(["click","dblclick","mousedown","mousemove","mouseup"]);class D{constructor(e){this.browserRendererId=e,this.afterClickCallbacks=[];const t=++D.nextEventDelegatorId;this.eventsCollectionKey=`_blazorEvents_${t}`,this.eventInfoStore=new F(this.onGlobalEvent.bind(this))}setListener(e,t,n,r){const o=this.getEventHandlerInfosForElement(e,!0),i=o.getHandler(t);if(i)this.eventInfoStore.update(i.eventHandlerId,n);else{const i={element:e,eventName:t,eventHandlerId:n,renderingComponentId:r};this.eventInfoStore.add(i),o.setHandler(t,i)}}getHandler(e){return this.eventInfoStore.get(e)}removeListener(e){const t=this.eventInfoStore.remove(e);if(t){const e=t.element,n=this.getEventHandlerInfosForElement(e,!1);n&&n.removeHandler(t.eventName)}}notifyAfterClick(e){this.afterClickCallbacks.push(e),this.eventInfoStore.addGlobalListener("click")}setStopPropagation(e,t,n){this.getEventHandlerInfosForElement(e,!0).stopPropagation(t,n)}setPreventDefault(e,t,n){this.getEventHandlerInfosForElement(e,!0).preventDefault(t,n)}onGlobalEvent(e){if(!(e.target instanceof Element))return;this.dispatchGlobalEventToAllElements(e.type,e);const t=(n=e.type,i.get(n));var n;t&&t.forEach((t=>this.dispatchGlobalEventToAllElements(t,e))),"click"===e.type&&this.afterClickCallbacks.forEach((t=>t(e)))}dispatchGlobalEventToAllElements(e,t){const n=t.composedPath();let o=n.shift(),i=null,s=!1;const c=Object.prototype.hasOwnProperty.call(_,e);let l=!1;for(;o;){const f=o,m=this.getEventHandlerInfosForElement(f,!1);if(m){const n=m.getHandler(e);if(n&&(u=f,d=t.type,!((u instanceof HTMLButtonElement||u instanceof HTMLInputElement||u instanceof HTMLTextAreaElement||u instanceof HTMLSelectElement)&&Object.prototype.hasOwnProperty.call(k,d)&&u.disabled))){if(!s){const n=a(e);i=(null==n?void 0:n.createEventArgs)?n.createEventArgs(t):{},s=!0}Object.prototype.hasOwnProperty.call(R,t.type)&&t.preventDefault(),C(this.browserRendererId,{eventHandlerId:n.eventHandlerId,eventName:e,eventFieldInfo:r.fromEvent(n.renderingComponentId,t)},i)}m.stopPropagation(e)&&(l=!0),m.preventDefault(e)&&t.preventDefault()}o=c||l?void 0:n.shift()}var u,d}getEventHandlerInfosForElement(e,t){return Object.prototype.hasOwnProperty.call(e,this.eventsCollectionKey)?e[this.eventsCollectionKey]:t?e[this.eventsCollectionKey]=new T:null}}D.nextEventDelegatorId=0;class F{constructor(e){this.globalListener=e,this.infosByEventHandlerId={},this.countByEventName={},s.push(this.handleEventNameAliasAdded.bind(this))}add(e){if(this.infosByEventHandlerId[e.eventHandlerId])throw new Error(`Event ${e.eventHandlerId} is already tracked`);this.infosByEventHandlerId[e.eventHandlerId]=e,this.addGlobalListener(e.eventName)}get(e){return this.infosByEventHandlerId[e]}addGlobalListener(e){if(e=c(e),Object.prototype.hasOwnProperty.call(this.countByEventName,e))this.countByEventName[e]++;else{this.countByEventName[e]=1;const t=Object.prototype.hasOwnProperty.call(_,e);document.addEventListener(e,this.globalListener,t)}}update(e,t){if(Object.prototype.hasOwnProperty.call(this.infosByEventHandlerId,t))throw new Error(`Event ${t} is already tracked`);const n=this.infosByEventHandlerId[e];delete this.infosByEventHandlerId[e],n.eventHandlerId=t,this.infosByEventHandlerId[t]=n}remove(e){const t=this.infosByEventHandlerId[e];if(t){delete this.infosByEventHandlerId[e];const n=c(t.eventName);0==--this.countByEventName[n]&&(delete this.countByEventName[n],document.removeEventListener(n,this.globalListener))}return t}handleEventNameAliasAdded(e,t){if(Object.prototype.hasOwnProperty.call(this.countByEventName,e)){const n=this.countByEventName[e];delete this.countByEventName[e],document.removeEventListener(e,this.globalListener),this.addGlobalListener(t),this.countByEventName[t]+=n-1}}}class T{constructor(){this.handlers={},this.preventDefaultFlags=null,this.stopPropagationFlags=null}getHandler(e){return Object.prototype.hasOwnProperty.call(this.handlers,e)?this.handlers[e]:null}setHandler(e,t){this.handlers[e]=t}removeHandler(e){delete this.handlers[e]}preventDefault(e,t){return void 0!==t&&(this.preventDefaultFlags=this.preventDefaultFlags||{},this.preventDefaultFlags[e]=t),!!this.preventDefaultFlags&&this.preventDefaultFlags[e]}stopPropagation(e,t){return void 0!==t&&(this.stopPropagationFlags=this.stopPropagationFlags||{},this.stopPropagationFlags[e]=t),!!this.stopPropagationFlags&&this.stopPropagationFlags[e]}}function O(e){const t={};return e.forEach((e=>{t[e]=!0})),t}const L=Symbol(),M=Symbol(),x=Symbol();function P(e,t){if(L in e)return e;const n=[];if(e.childNodes.length>0){if(!t)throw new Error("New logical elements must start empty, or allowExistingContents must be true");e.childNodes.forEach((t=>{const r=P(t,!0);r[M]=e,n.push(r)}))}return e[L]=n,e}function B(e){const t=U(e);for(;t.length;)H(e,0)}function J(e,t){const n=document.createComment("!");return j(n,e,t),n}function j(e,t,n){const r=e;let o=e;if(e instanceof Comment){const t=U(r);if((null==t?void 0:t.length)>0){const t=G(r),n=new Range;n.setStartBefore(e),n.setEndAfter(t),o=n.extractContents()}}const i=$(r);if(i){const e=U(i),t=Array.prototype.indexOf.call(e,r);e.splice(t,1),delete r[M]}const s=U(t);if(n0;)H(n,0)}const r=n;r.parentNode.removeChild(r)}function $(e){return e[M]||null}function z(e,t){return U(e)[t]}function W(e){const t=X(e);return"http://www.w3.org/2000/svg"===t.namespaceURI&&"foreignObject"!==t.tagName}function U(e){return e[L]}function K(e){const t=U($(e));return t[Array.prototype.indexOf.call(t,e)+1]||null}function V(e,t){const n=U(e);t.forEach((e=>{e.moveRangeStart=n[e.fromSiblingIndex],e.moveRangeEnd=G(e.moveRangeStart)})),t.forEach((t=>{const r=document.createComment("marker");t.moveToBeforeMarker=r;const o=n[t.toSiblingIndex+1];o?o.parentNode.insertBefore(r,o):Y(r,e)})),t.forEach((e=>{const t=e.moveToBeforeMarker,n=t.parentNode,r=e.moveRangeStart,o=e.moveRangeEnd;let i=r;for(;i;){const e=i.nextSibling;if(n.insertBefore(i,t),i===o)break;i=e}n.removeChild(t)})),t.forEach((e=>{n[e.toSiblingIndex]=e.moveRangeStart}))}function X(e){if(e instanceof Element||e instanceof DocumentFragment)return e;if(e instanceof Comment)return e.parentNode;throw new Error("Not a valid logical element")}function Y(e,t){if(t instanceof Element||t instanceof DocumentFragment)t.appendChild(e);else{if(!(t instanceof Comment))throw new Error(`Cannot append node because the parent is not a valid logical element. Parent: ${t}`);{const n=K(t);n?n.parentNode.insertBefore(e,n):Y(e,$(t))}}}function G(e){if(e instanceof Element||e instanceof DocumentFragment)return e;const t=K(e);if(t)return t.previousSibling;{const t=$(e);return t instanceof Element||t instanceof DocumentFragment?t.lastChild:G(t)}}function q(e){return`_bl_${e}`}const Z="__internalId";e.attachReviver(((e,t)=>t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,Z)&&"string"==typeof t[Z]?function(e){const t=`[${q(e)}]`;return document.querySelector(t)}(t[Z]):t));const Q="_blazorDeferredValue";function ee(e){return"select-multiple"===e.type}function te(e,t){e.value=t||""}function ne(e,t){e instanceof HTMLSelectElement?ee(e)?function(e,t){t||(t=[]);for(let n=0;n{Ie()&&function(e,t){if(0!==e.button||function(e){return e.ctrlKey||e.shiftKey||e.altKey||e.metaKey}(e))return;if(e.defaultPrevented)return;const n=function(e){const t=e.composedPath&&e.composedPath();if(t)for(let e=0;e{const t=document.createElement("script");t.textContent=e.textContent,e.getAttributeNames().forEach((n=>{t.setAttribute(n,e.getAttribute(n))})),e.parentNode.replaceChild(t,e)})),oe.content));var s;let a=0;for(;i.firstChild;)j(i.firstChild,o,a++)}applyAttribute(e,t,n,r){const o=e.frameReader,i=o.attributeName(r),s=o.attributeEventHandlerId(r);if(s){const e=fe(i);return void this.eventDelegator.setListener(n,e,s,t)}const a=o.attributeValue(r);this.setOrRemoveAttributeOrProperty(n,i,a)}insertFrameRange(e,t,n,r,o,i,s){const a=r;for(let a=i;a{je(t,e)})},enableNavigationInterception:function(e){if(void 0!==he&&he!==e)throw new Error("Only one interactive runtime may enable navigation interception at a time.");he=e},setHasLocationChangingListeners:function(e,t){const n=De.get(e);if(!n)throw new Error(`Renderer with ID '${e}' is not listening for navigation events`);n.hasLocationChangingEventListeners=t},endLocationChanging:function(e,t){Te&&e===ke&&(Te(t),Te=null)},navigateTo:function(e,t){Le(e,t,!0)},refresh:function(e){!e&&Se()?Ae(location.href,!0):location.reload()},getBaseURI:()=>document.baseURI,getLocationHref:()=>location.href,scrollToElement:Ee};function Le(e,t,n=!1){const r=Ce(e),o=ze();if(t.forceLoad||!we(r)||"serverside-fullpageload"===o)!function(e,t){if(location.href===e){const t=e+"?";history.replaceState(null,"",t),location.replace(e)}else t?location.replace(e):location.href=e}(e,t.replaceHistoryEntry);else if("clientside-router"===o)Me(r,!1,t.replaceHistoryEntry,t.historyEntryState,n);else{if("serverside-enhanced"!==o)throw new Error(`Unsupported page load mechanism: ${o}`);Ae(r,t.replaceHistoryEntry)}}async function Me(e,t,n,r=void 0,o=!1){if(Be(),function(e){const t=new URL(e);return""!==t.hash&&location.origin===t.origin&&location.pathname===t.pathname&&location.search===t.search}(e))return xe(e,n,r),void function(e){const t=e.indexOf("#");t!==e.length-1&&Ee(e.substring(t+1))}(e);const i=$e();(o||!(null==i?void 0:i.hasLocationChangingEventListeners)||await Je(e,r,t,i))&&(be=!0,xe(e,n,r),await je(t))}function xe(e,t,n=void 0){t?history.replaceState({userState:n,_index:Re},"",e):(Re++,history.pushState({userState:n,_index:Re},"",e))}function Pe(e){return new Promise((t=>{const n=Fe;Fe=()=>{Fe=n,t()},history.go(e)}))}function Be(){Te&&(Te(!1),Te=null)}function Je(e,t,n,r){return new Promise((o=>{Be(),ke++,Te=o,r.locationChanging(ke,e,t,n)}))}async function je(e,t){const n=null!=t?t:location.href;await Promise.all(Array.from(De,(async([t,r])=>{var o,i;i=t,E.has(i)&&await r.locationChanged(n,null===(o=history.state)||void 0===o?void 0:o.userState,e)})))}async function He(e){var t,n;Fe&&"serverside-enhanced"!==ze()&&await Fe(e),Re=null!==(n=null===(t=history.state)||void 0===t?void 0:t._index)&&void 0!==n?n:0}function $e(){const e=Ne();if(void 0!==e)return De.get(e)}function ze(){return Ie()?"clientside-router":Se()?"serverside-enhanced":window.Blazor._internal.isBlazorWeb?"serverside-fullpageload":"clientside-router"}const We={focus:function(e,t){if(e instanceof HTMLElement)e.focus({preventScroll:t});else{if(!(e instanceof SVGElement))throw new Error("Unable to focus an invalid element.");if(!e.hasAttribute("tabindex"))throw new Error("Unable to focus an SVG element that does not have a tabindex.");e.focus({preventScroll:t})}},focusBySelector:function(e,t){const n=document.querySelector(e);n&&(n.hasAttribute("tabindex")||(n.tabIndex=-1),n.focus({preventScroll:!0}))}},Ue={init:function(e,t,n,r=50){const o=Ve(t);(o||document.documentElement).style.overflowAnchor="none";const i=document.createRange();f(n.parentElement)&&(t.style.display="table-row",n.style.display="table-row");const s=new IntersectionObserver((function(r){r.forEach((r=>{var o;if(!r.isIntersecting)return;i.setStartAfter(t),i.setEndBefore(n);const s=i.getBoundingClientRect().height,a=null===(o=r.rootBounds)||void 0===o?void 0:o.height;r.target===t?e.invokeMethodAsync("OnSpacerBeforeVisible",r.intersectionRect.top-r.boundingClientRect.top,s,a):r.target===n&&n.offsetHeight>0&&e.invokeMethodAsync("OnSpacerAfterVisible",r.boundingClientRect.bottom-r.intersectionRect.bottom,s,a)}))}),{root:o,rootMargin:`${r}px`});s.observe(t),s.observe(n);const a=d(t),c=d(n),{observersByDotNetObjectId:l,id:u}=Xe(e);function d(e){const t={attributes:!0},n=new MutationObserver(((n,r)=>{f(e.parentElement)&&(r.disconnect(),e.style.display="table-row",r.observe(e,t)),s.unobserve(e),s.observe(e)}));return n.observe(e,t),n}function f(e){return null!==e&&(e instanceof HTMLTableElement&&""===e.style.display||"table"===e.style.display||e instanceof HTMLTableSectionElement&&""===e.style.display||"table-row-group"===e.style.display)}l[u]={intersectionObserver:s,mutationObserverBefore:a,mutationObserverAfter:c}},dispose:function(e){const{observersByDotNetObjectId:t,id:n}=Xe(e),r=t[n];r&&(r.intersectionObserver.disconnect(),r.mutationObserverBefore.disconnect(),r.mutationObserverAfter.disconnect(),e.dispose(),delete t[n])}},Ke=Symbol();function Ve(e){return e&&e!==document.body&&e!==document.documentElement?"visible"!==getComputedStyle(e).overflowY?e:Ve(e.parentElement):null}function Xe(e){var t;const n=e._callDispatcher,r=e._id;return null!==(t=n[Ke])&&void 0!==t||(n[Ke]={}),{observersByDotNetObjectId:n[Ke],id:r}}const Ye={getAndRemoveExistingTitle:function(){var e;const t=document.head?document.head.getElementsByTagName("title"):[];if(0===t.length)return null;let n=null;for(let r=t.length-1;r>=0;r--){const o=t[r],i=o.previousSibling;i instanceof Comment&&null!==$(i)||(null===n&&(n=o.textContent),null===(e=o.parentNode)||void 0===e||e.removeChild(o))}return n}},Ge={init:function(e,t){t._blazorInputFileNextFileId=0,t.addEventListener("click",(function(){t.value=""})),t.addEventListener("change",(function(){t._blazorFilesById={};const n=Array.prototype.map.call(t.files,(function(e){const n={id:++t._blazorInputFileNextFileId,lastModified:new Date(e.lastModified).toISOString(),name:e.name,size:e.size,contentType:e.type,readPromise:void 0,arrayBuffer:void 0,blob:e};return t._blazorFilesById[n.id]=n,n}));e.invokeMethodAsync("NotifyChange",n)}))},toImageFile:async function(e,t,n,r,o){const i=qe(e,t),s=await new Promise((function(e){const t=new Image;t.onload=function(){URL.revokeObjectURL(t.src),e(t)},t.onerror=function(){t.onerror=null,URL.revokeObjectURL(t.src)},t.src=URL.createObjectURL(i.blob)})),a=await new Promise((function(e){var t;const i=Math.min(1,r/s.width),a=Math.min(1,o/s.height),c=Math.min(i,a),l=document.createElement("canvas");l.width=Math.round(s.width*c),l.height=Math.round(s.height*c),null===(t=l.getContext("2d"))||void 0===t||t.drawImage(s,0,0,l.width,l.height),l.toBlob(e,n)})),c={id:++e._blazorInputFileNextFileId,lastModified:i.lastModified,name:i.name,size:(null==a?void 0:a.size)||0,contentType:n,blob:a||i.blob};return e._blazorFilesById[c.id]=c,c},readFileData:async function(e,t){return qe(e,t).blob}};function qe(e,t){const n=e._blazorFilesById[t];if(!n)throw new Error(`There is no file with ID ${t}. The file list may have changed. See https://aka.ms/aspnet/blazor-input-file-multiple-selections.`);return n}const Ze=new Set,Qe={enableNavigationPrompt:function(e){0===Ze.size&&window.addEventListener("beforeunload",et),Ze.add(e)},disableNavigationPrompt:function(e){Ze.delete(e),0===Ze.size&&window.removeEventListener("beforeunload",et)}};function et(e){e.preventDefault(),e.returnValue=!0}const tt=new Map,nt={navigateTo:function(e,t,n=!1){Le(e,t instanceof Object?t:{forceLoad:t,replaceHistoryEntry:n})},registerCustomEventType:function(e,t){if(!t)throw new Error("The options parameter is required.");if(o.has(e))throw new Error(`The event '${e}' is already registered.`);if(t.browserEventName){const n=i.get(t.browserEventName);n?n.push(e):i.set(t.browserEventName,[e]),s.forEach((n=>n(e,t.browserEventName)))}o.set(e,t)},rootComponents:g,runtime:{},_internal:{navigationManager:Oe,domWrapper:We,Virtualize:Ue,PageTitle:Ye,InputFile:Ge,NavigationLock:Qe,getJSDataStreamChunk:async function(e,t,n){return e instanceof Blob?await async function(e,t,n){const r=e.slice(t,t+n),o=await r.arrayBuffer();return new Uint8Array(o)}(e,t,n):function(e,t,n){return new Uint8Array(e.buffer,e.byteOffset+t,n)}(e,t,n)},attachWebRendererInterop:function(t,n,r,o){var i,s;if(E.has(t))throw new Error(`Interop methods are already registered for renderer ${t}`);E.set(t,n),r&&o&&Object.keys(r).length>0&&function(t,n,r){if(h)throw new Error("Dynamic root components have already been enabled.");h=t,p=n;for(const[t,o]of Object.entries(r)){const r=e.findJSFunction(t,0);for(const e of o)r(e,n[e])}}(I(t),r,o),null===(s=null===(i=A.get(t))||void 0===i?void 0:i[0])||void 0===s||s.call(i),function(e){for(const t of S)t(e)}(t)}}};var rt,ot;window.Blazor=nt;const it=navigator,st=it.userAgentData&&it.userAgentData.brands,at=st&&st.length>0?st.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):window.chrome,ct=null!==(ot=null===(rt=it.userAgentData)||void 0===rt?void 0:rt.platform)&&void 0!==ot?ot:navigator.platform;function lt(e){return 0!==e.debugLevel&&(at||navigator.userAgent.includes("Firefox"))}let ut=!1;function dt(){const e=document.querySelector("#blazor-error-ui");e&&(e.style.display="block"),ut||(ut=!0,document.querySelectorAll("#blazor-error-ui .reload").forEach((e=>{e.onclick=function(e){location.reload(),e.preventDefault()}})),document.querySelectorAll("#blazor-error-ui .dismiss").forEach((e=>{e.onclick=function(e){const t=document.querySelector("#blazor-error-ui");t&&(t.style.display="none"),e.preventDefault()}})))}var ft,mt;!function(e){e[e.Default=0]="Default",e[e.Server=1]="Server",e[e.WebAssembly=2]="WebAssembly",e[e.WebView=3]="WebView"}(ft||(ft={})),function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(mt||(mt={}));class ht{constructor(e=!0,t,n,r=0){this.singleRuntime=e,this.logger=t,this.webRendererId=r,this.afterStartedCallbacks=[],n&&this.afterStartedCallbacks.push(...n)}async importInitializersAsync(e,t){await Promise.all(e.map((e=>async function(e,n){const r=function(e){const t=document.baseURI;return t.endsWith("/")?`${t}${e}`:`${t}/${e}`}(n),o=await import(r);if(void 0!==o){if(e.singleRuntime){const{beforeStart:n,afterStarted:r,beforeWebAssemblyStart:s,afterWebAssemblyStarted:a,beforeServerStart:c,afterServerStarted:l}=o;let u=n;e.webRendererId===ft.Server&&c&&(u=c),e.webRendererId===ft.WebAssembly&&s&&(u=s);let d=r;return e.webRendererId===ft.Server&&l&&(d=l),e.webRendererId===ft.WebAssembly&&a&&(d=a),i(e,u,d,t)}return function(e,t,n){var o;const s=n[0],{beforeStart:a,afterStarted:c,beforeWebStart:l,afterWebStarted:u,beforeWebAssemblyStart:d,afterWebAssemblyStarted:f,beforeServerStart:m,afterServerStarted:h}=t,p=!(l||u||d||f||m||h||!a&&!c),v=p&&s.enableClassicInitializers;if(p&&!s.enableClassicInitializers)null===(o=e.logger)||void 0===o||o.log(mt.Warning,`Initializer '${r}' will be ignored because multiple runtimes are available. use 'before(web|webAssembly|server)Start' and 'after(web|webAssembly|server)Started?' instead.)`);else if(v)return i(e,a,c,n);if(function(e){e.webAssembly?e.webAssembly.initializers||(e.webAssembly.initializers={beforeStart:[],afterStarted:[]}):e.webAssembly={initializers:{beforeStart:[],afterStarted:[]}},e.circuit?e.circuit.initializers||(e.circuit.initializers={beforeStart:[],afterStarted:[]}):e.circuit={initializers:{beforeStart:[],afterStarted:[]}}}(s),d&&s.webAssembly.initializers.beforeStart.push(d),f&&s.webAssembly.initializers.afterStarted.push(f),m&&s.circuit.initializers.beforeStart.push(m),h&&s.circuit.initializers.afterStarted.push(h),u&&e.afterStartedCallbacks.push(u),l)return l(s)}(e,o,t)}function i(e,t,n,r){if(n&&e.afterStartedCallbacks.push(n),t)return t(...r)}}(this,e))))}async invokeAfterStartedCallbacks(e){const t=function(e){var t;return null===(t=A.get(e))||void 0===t?void 0:t[1]}(this.webRendererId);t&&await t,await Promise.all(this.afterStartedCallbacks.map((t=>t(e))))}}let pt,vt,gt,bt,yt,wt,Et;const St=Math.pow(2,32),At=Math.pow(2,21)-1;let Ct=null;function It(e){return vt.getI32(e)}const Nt={load:function(e,t){return async function(e,t){const{dotnet:n}=await async function(e){if("undefined"==typeof WebAssembly||!WebAssembly.validate)throw new Error("This browser does not support WebAssembly.");let t="_framework/dotnet.js";if(e.loadBootResource){const n="dotnetjs",r=e.loadBootResource(n,"dotnet.js",t,"","js-module-dotnet");if("string"==typeof r)t=r;else if(r)throw new Error(`For a ${n} resource, custom loaders must supply a URI string.`)}const n=new URL(t,document.baseURI).toString();return await import(n)}(e),r=function(e,t){const n={maxParallelDownloads:1e6,enableDownloadRetry:!1,applicationEnvironment:e.environment},r={...window.Module||{},onConfigLoaded:async n=>{n.environmentVariables||(n.environmentVariables={}),"sharded"===n.globalizationMode&&(n.environmentVariables.__BLAZOR_SHARDED_ICU="1"),nt._internal.getApplicationEnvironment=()=>n.applicationEnvironment,null==t||t(n),Et=await async function(e,t){var n,r,o;if(e.initializers)return await Promise.all(e.initializers.beforeStart.map((t=>t(e)))),new ht(!1,void 0,e.initializers.afterStarted,ft.WebAssembly);{const i=[e,null!==(r=null===(n=t.resources)||void 0===n?void 0:n.extensions)&&void 0!==r?r:{}],s=new ht(!0,void 0,void 0,ft.WebAssembly),a=Object.keys((null===(o=null==t?void 0:t.resources)||void 0===o?void 0:o.libraryInitializers)||{});return await s.importInitializersAsync(a,i),s}}(e,n)},onDownloadResourceProgress:_t,config:n,disableDotnet6Compatibility:!1,out:kt,err:Dt};return r}(e,t);e.applicationCulture&&n.withApplicationCulture(e.applicationCulture),e.environment&&n.withApplicationEnvironment(e.environment),e.loadBootResource&&n.withResourceLoader(e.loadBootResource),n.withModuleConfig(r),e.configureRuntime&&e.configureRuntime(n),wt=await n.create()}(e,t)},start:function(){return async function(){if(!wt)throw new Error("The runtime must be loaded it gets configured.");const{MONO:t,BINDING:n,Module:r,setModuleImports:o,INTERNAL:i,getConfig:s,invokeLibraryInitializers:a}=wt;gt=r,pt=n,vt=t,yt=i,function(e){const t=ct.match(/^Mac/i)?"Cmd":"Alt";lt(e)&&console.info(`Debugging hotkey: Shift+${t}+D (when application has focus)`),document.addEventListener("keydown",(t=>{t.shiftKey&&(t.metaKey||t.altKey)&&"KeyD"===t.code&&(lt(e)?navigator.userAgent.includes("Firefox")?async function(){const e=await fetch(`_framework/debug?url=${encodeURIComponent(location.href)}&isFirefox=true`);200!==e.status&&console.warn(await e.text())}():at?function(){const e=document.createElement("a");e.href=`_framework/debug?url=${encodeURIComponent(location.href)}`,e.target="_blank",e.rel="noopener noreferrer",e.click()}():console.error("Currently, only Microsoft Edge (80+), Google Chrome, or Chromium, are supported for debugging."):console.error("Cannot start debugging, because the application was not compiled with debugging enabled."))}))}(s()),nt.runtime=wt,nt._internal.dotNetCriticalError=Dt,o("blazor-internal",{Blazor:{_internal:nt._internal}});const c=await wt.getAssemblyExports("Microsoft.AspNetCore.Components.WebAssembly");return Object.assign(nt._internal,{dotNetExports:{...c.Microsoft.AspNetCore.Components.WebAssembly.Services.DefaultWebAssemblyJSRuntime}}),bt=e.attachDispatcher({beginInvokeDotNetFromJS:(e,t,n,r,o)=>{if(Tt(),!r&&!t)throw new Error("Either assemblyName or dotNetObjectId must have a non null value.");const i=r?r.toString():t;nt._internal.dotNetExports.BeginInvokeDotNet(e?e.toString():null,i,n,o)},endInvokeJSFromDotNet:(e,t,n)=>{nt._internal.dotNetExports.EndInvokeJS(n)},sendByteArray:(e,t)=>{nt._internal.dotNetExports.ReceiveByteArrayFromJS(e,t)},invokeDotNetFromJS:(e,t,n,r)=>(Tt(),nt._internal.dotNetExports.InvokeDotNet(e||null,t,null!=n?n:0,r))}),{invokeLibraryInitializers:a}}()},callEntryPoint:async function(){try{await wt.runMain(wt.getConfig().mainAssemblyName,[])}catch(e){console.error(e),dt()}},toUint8Array:function(e){const t=Ft(e),n=It(t),r=new Uint8Array(n);return r.set(gt.HEAPU8.subarray(t+4,t+4+n)),r},getArrayLength:function(e){return It(Ft(e))},getArrayEntryPtr:function(e,t,n){return Ft(e)+4+t*n},getObjectFieldsBaseAddress:function(e){return e+8},readInt16Field:function(e,t){return n=e+(t||0),vt.getI16(n);var n},readInt32Field:function(e,t){return It(e+(t||0))},readUint64Field:function(e,t){return function(e){const t=e>>2,n=gt.HEAPU32[t+1];if(n>At)throw new Error(`Cannot read uint64 with high order part ${n}, because the result would exceed Number.MAX_SAFE_INTEGER.`);return n*St+gt.HEAPU32[t]}(e+(t||0))},readFloatField:function(e,t){return n=e+(t||0),vt.getF32(n);var n},readObjectField:function(e,t){return It(e+(t||0))},readStringField:function(e,t,n){const r=It(e+(t||0));if(0===r)return null;if(n){const e=pt.unbox_mono_obj(r);return"boolean"==typeof e?e?"":null:e}return pt.conv_string(r)},readStructField:function(e,t){return e+(t||0)},beginHeapLock:function(){return Tt(),Ct=Ot.create(),Ct},invokeWhenHeapUnlocked:function(e){Ct?Ct.enqueuePostReleaseAction(e):e()}};function _t(e,t){const n=e/t*100;document.documentElement.style.setProperty("--blazor-load-percentage",`${n}%`),document.documentElement.style.setProperty("--blazor-load-percentage-text",`"${Math.floor(n)}%"`)}const Rt=["DEBUGGING ENABLED"],kt=e=>Rt.indexOf(e)<0&&console.log(e),Dt=e=>{console.error(e||"(null)"),dt()};function Ft(e){return e+12}function Tt(){if(Ct)throw new Error("Assertion failed - heap is currently locked")}class Ot{enqueuePostReleaseAction(e){this.postReleaseActions||(this.postReleaseActions=[]),this.postReleaseActions.push(e)}release(){var e;if(Ct!==this)throw new Error("Trying to release a lock which isn't current");for(yt.mono_wasm_gc_unlock(),Ct=null;null===(e=this.postReleaseActions)||void 0===e?void 0:e.length;)this.postReleaseActions.shift()(),Tt()}static create(){return yt.mono_wasm_gc_lock(),new Ot}}let Lt;class Mt{constructor(e){this.batchAddress=e,this.arrayRangeReader=xt,this.arrayBuilderSegmentReader=Pt,this.diffReader=Bt,this.editReader=Jt,this.frameReader=jt}updatedComponents(){return Lt.readStructField(this.batchAddress,0)}referenceFrames(){return Lt.readStructField(this.batchAddress,xt.structLength)}disposedComponentIds(){return Lt.readStructField(this.batchAddress,2*xt.structLength)}disposedEventHandlerIds(){return Lt.readStructField(this.batchAddress,3*xt.structLength)}updatedComponentsEntry(e,t){return Ht(e,t,Bt.structLength)}referenceFramesEntry(e,t){return Ht(e,t,jt.structLength)}disposedComponentIdsEntry(e,t){const n=Ht(e,t,4);return Lt.readInt32Field(n)}disposedEventHandlerIdsEntry(e,t){const n=Ht(e,t,8);return Lt.readUint64Field(n)}}const xt={structLength:8,values:e=>Lt.readObjectField(e,0),count:e=>Lt.readInt32Field(e,4)},Pt={structLength:12,values:e=>{const t=Lt.readObjectField(e,0),n=Lt.getObjectFieldsBaseAddress(t);return Lt.readObjectField(n,0)},offset:e=>Lt.readInt32Field(e,4),count:e=>Lt.readInt32Field(e,8)},Bt={structLength:4+Pt.structLength,componentId:e=>Lt.readInt32Field(e,0),edits:e=>Lt.readStructField(e,4),editsEntry:(e,t)=>Ht(e,t,Jt.structLength)},Jt={structLength:20,editType:e=>Lt.readInt32Field(e,0),siblingIndex:e=>Lt.readInt32Field(e,4),newTreeIndex:e=>Lt.readInt32Field(e,8),moveToSiblingIndex:e=>Lt.readInt32Field(e,8),removedAttributeName:e=>Lt.readStringField(e,16)},jt={structLength:36,frameType:e=>Lt.readInt16Field(e,4),subtreeLength:e=>Lt.readInt32Field(e,8),elementReferenceCaptureId:e=>Lt.readStringField(e,16),componentId:e=>Lt.readInt32Field(e,12),elementName:e=>Lt.readStringField(e,16),textContent:e=>Lt.readStringField(e,16),markupContent:e=>Lt.readStringField(e,16),attributeName:e=>Lt.readStringField(e,16),attributeValue:e=>Lt.readStringField(e,24,!0),attributeEventHandlerId:e=>Lt.readUint64Field(e,8)};function Ht(e,t,n){return Lt.getArrayEntryPtr(e,t,n)}const $t=/^\s*Blazor-WebAssembly-Component-State:(?[a-zA-Z0-9+/=]+)$/;function zt(e,t,n="state"){var r;if(e.nodeType===Node.COMMENT_NODE){const o=e.textContent||"",i=t.exec(o),s=i&&i.groups&&i.groups[n];return s&&(null===(r=e.parentNode)||void 0===r||r.removeChild(e)),s}if(!e.hasChildNodes())return;const o=e.childNodes;for(let e=0;e.*)$/);function Kt(e,t){const n=e.currentElement;var r,o,i;if(n&&n.nodeType===Node.COMMENT_NODE&&n.textContent){const s=Ut.exec(n.textContent),a=s&&s.groups&&s.groups.descriptor;if(!a)return;!function(e){if(e.parentNode instanceof Document)throw new Error("Root components cannot be marked as interactive. The element must be rendered statically so that scripts are not evaluated multiple times.")}(n);try{const s=function(e){const t=JSON.parse(e),{type:n}=t;if("server"!==n&&"webassembly"!==n&&"auto"!==n)throw new Error(`Invalid component type '${n}'.`);return t}(a),c=function(e,t,n){const{prerenderId:r}=e;if(r){for(;n.next()&&n.currentElement;){const e=n.currentElement;if(e.nodeType!==Node.COMMENT_NODE)continue;if(!e.textContent)continue;const t=Ut.exec(e.textContent),o=t&&t[1];if(o)return Qt(o,r),e}throw new Error(`Could not find an end component comment for '${t}'.`)}}(s,n,e);if(t!==s.type)return;switch(s.type){case"webassembly":return o=n,i=c,Zt(r=s),{...r,uniqueId:Gt++,start:o,end:i};case"server":return function(e,t,n){return qt(e),{...e,uniqueId:Gt++,start:t,end:n}}(s,n,c);case"auto":return function(e,t,n){return qt(e),Zt(e),{...e,uniqueId:Gt++,start:t,end:n}}(s,n,c)}}catch(e){throw new Error(`Found malformed component comment at ${n.textContent}`)}}}let Vt,Xt,Yt,Gt=0;function qt(e){const{descriptor:t,sequence:n}=e;if(!t)throw new Error("descriptor must be defined when using a descriptor.");if(void 0===n)throw new Error("sequence must be defined when using a descriptor.");if(!Number.isInteger(n))throw new Error(`Error parsing the sequence '${n}' for component '${JSON.stringify(e)}'`)}function Zt(e){const{assembly:t,typeName:n}=e;if(!t)throw new Error("assembly must be defined when using a descriptor.");if(!n)throw new Error("typeName must be defined when using a descriptor.");e.parameterDefinitions=e.parameterDefinitions&&atob(e.parameterDefinitions),e.parameterValues=e.parameterValues&&atob(e.parameterValues)}function Qt(e,t){const n=JSON.parse(e);if(1!==Object.keys(n).length)throw new Error(`Invalid end of component comment: '${e}'`);const r=n.prerenderId;if(!r)throw new Error(`End of component comment must have a value for the prerendered property: '${e}'`);if(r!==t)throw new Error(`End of component comment prerendered property must match the start comment prerender id: '${t}', '${r}'`)}class en{constructor(e){this.childNodes=e,this.currentIndex=-1,this.length=e.length}next(){return this.currentIndex++,this.currentIndex{rn=e}));const ln=new Promise((e=>{on=e}));let un;function dn(e){if(Vt)throw new Error("WebAssembly options have already been configured.");!async function(e){const t=await e;Vt=t,un()}(e)}function fn(e){if(void 0!==nn)throw new Error("Blazor WebAssembly has already started.");return nn=new Promise(mn.bind(null,e)),nn}async function mn(e,t,n){(function(){if(window.parent!==window&&!window.opener&&window.frameElement){const e=window.sessionStorage&&window.sessionStorage["Microsoft.AspNetCore.Components.WebAssembly.Authentication.CachedAuthSettings"],t=e&&JSON.parse(e);return t&&t.redirect_uri&&location.href.startsWith(t.redirect_uri)}return!1})()&&await new Promise((()=>{}));const r=hn();!function(e){const t=N;N=(e,n,r)=>{((e,t,n)=>{const r=function(e){return me[e]}(e);(null==r?void 0:r.eventDelegator.getHandler(t))&&Nt.invokeWhenHeapUnlocked(n)})(e,n,(()=>t(e,n,r)))}}(),nt._internal.applyHotReload=(e,t,n,r)=>{bt.invokeDotNetStaticMethod("Microsoft.AspNetCore.Components.WebAssembly","ApplyHotReloadDelta",e,t,n,r)},nt._internal.getApplyUpdateCapabilities=()=>bt.invokeDotNetStaticMethod("Microsoft.AspNetCore.Components.WebAssembly","GetApplyUpdateCapabilities"),nt._internal.invokeJSFromDotNet=pn,nt._internal.invokeJSJson=vn,nt._internal.endInvokeDotNetFromJS=gn,nt._internal.receiveWebAssemblyDotNetDataStream=bn,nt._internal.receiveByteArray=yn;const o=(Lt=Nt,Lt);nt.platform=o,nt._internal.renderBatch=(e,t)=>{const n=Nt.beginHeapLock();try{!function(e,t){const n=me[e];if(!n)throw new Error(`There is no browser renderer with ID ${e}.`);const r=t.arrayRangeReader,o=t.updatedComponents(),i=r.values(o),s=r.count(o),a=t.referenceFrames(),c=r.values(a),l=t.diffReader;for(let e=0;e{await bt.invokeDotNetStaticMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChanged",e,t,n)}),(async(e,t,n,r)=>{const o=await bt.invokeDotNetStaticMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChangingAsync",t,n,r);nt._internal.navigationManager.endLocationChanging(e,o)}));const i=new tn(e);let s;nt._internal.registeredComponents={getRegisteredComponentsCount:()=>i.getCount(),getAssembly:e=>i.getAssembly(e),getTypeName:e=>i.getTypeName(e),getParameterDefinitions:e=>i.getParameterDefinitions(e)||"",getParameterValues:e=>i.getParameterValues(e)||""},nt._internal.getPersistedState=()=>zt(document,$t)||"",nt._internal.getInitialComponentsUpdate=()=>ln,nt._internal.updateRootComponents=e=>{var t;return null===(t=nt._internal.dotNetExports)||void 0===t?void 0:t.UpdateRootComponentsCore(e)},nt._internal.endUpdateRootComponents=t=>{var n;return null===(n=e.onAfterUpdateRootComponents)||void 0===n?void 0:n.call(e,t)},nt._internal.attachRootComponentToElement=(e,t,n)=>{const r=i.resolveRegisteredElement(e);r?ye(n,r,t,!1):function(e,t,n){const r="::before";let o=!1;if(e.endsWith("::after"))e=e.slice(0,-7),o=!0;else if(e.endsWith(r))throw new Error(`The '${r}' selector is not supported.`);const i=function(e){const t=m.get(e);if(t)return m.delete(e),t}(e)||document.querySelector(e);if(!i)throw new Error(`Could not find any element matching selector '${e}'.`);ye(n,P(i,!0),t,o)}(e,t,n)};try{await r,s=await o.start()}catch(e){throw new Error(`Failed to start platform. Reason: ${e}`)}o.callEntryPoint(),Et.invokeAfterStartedCallbacks(nt),an=!0,t()}function hn(){return null!=Yt||(Yt=(async()=>{await Xt;const e=null!=Vt?Vt:{},t=null==Vt?void 0:Vt.configureRuntime;e.configureRuntime=e=>{null==t||t(e),cn&&e.withEnvironmentVariable("__BLAZOR_WEBASSEMBLY_WAIT_FOR_ROOT_COMPONENTS","true")},await Nt.load(e,rn),sn=!0})()),Yt}function pn(t,n,r,o){const i=Nt.readStringField(t,0),s=Nt.readInt32Field(t,4),a=Nt.readStringField(t,8),c=Nt.readUint64Field(t,20);if(null!==a){const e=Nt.readUint64Field(t,12);if(0!==e)return bt.beginInvokeJSFromDotNet(e,i,a,s,c),0;{const e=bt.invokeJSFromDotNet(i,a,s,c);return null===e?0:pt.js_string_to_mono_string(e)}}{const t=e.findJSFunction(i,c).call(null,n,r,o);switch(s){case e.JSCallResultType.Default:return t;case e.JSCallResultType.JSObjectReference:return e.createJSObjectReference(t).__jsObjectId;case e.JSCallResultType.JSStreamReference:{const n=e.createJSStreamReference(t),r=JSON.stringify(n);return pt.js_string_to_mono_string(r)}case e.JSCallResultType.JSVoidResult:return null;default:throw new Error(`Invalid JS call result type '${s}'.`)}}}function vn(e,t,n,r,o){return 0!==o?(bt.beginInvokeJSFromDotNet(o,e,r,n,t),null):bt.invokeJSFromDotNet(e,r,n,t)}function gn(e,t,n){bt.endInvokeDotNetFromJS(e,t,n)}function bn(e,t,n,r){!function(e,t,n,r,o){let i=tt.get(t);if(!i){const n=new ReadableStream({start(e){tt.set(t,e),i=e}});e.supplyDotNetStream(t,n)}o?(i.error(o),tt.delete(t)):0===r?(i.close(),tt.delete(t)):i.enqueue(n.length===r?n:n.subarray(0,r))}(bt,e,t,n,r)}function yn(e,t){bt.receiveByteArray(e,t)}Xt=new Promise((e=>{un=e}));class wn{constructor(e){this.initialComponents=e}resolveRootComponent(e){return this.initialComponents[e]}}class En{constructor(){this._eventListeners=new Map}static create(e){const t=new En;return e.addEventListener=t.addEventListener.bind(t),e.removeEventListener=t.removeEventListener.bind(t),t}addEventListener(e,t){let n=this._eventListeners.get(e);n||(n=new Set,this._eventListeners.set(e,n)),n.add(t)}removeEventListener(e,t){var n;null===(n=this._eventListeners.get(e))||void 0===n||n.delete(t)}dispatchEvent(e,t){const n=this._eventListeners.get(e);if(!n)return;const r={...t,type:e};for(const e of n)e(r)}}let Sn=!1;async function An(e){if(Sn)throw new Error("Blazor has already started.");Sn=!0,dn(Promise.resolve(e||{})),En.create(nt);const t=Wt(document,"webassembly"),n=new wn(t);await fn(n)}nt.start=An,window.DotNet=e,document&&document.currentScript&&"false"!==document.currentScript.getAttribute("autostart")&&An().catch((e=>{void 0!==gt&>.err?gt.err(e):console.error(e)}))})(); +!function(){"use strict";var e;let t;var n,r;!function(e){const t=[],n="__jsObjectId",r="__dotNetObject",o="__byte[]",i="__dotNetStream",s="__jsStreamReferenceLength";let a,c;class l{constructor(e){this._jsObject=e,this._cachedFunctions=new Map}findFunction(e){const t=this._cachedFunctions.get(e);if(t)return t;let n,r=this._jsObject;if(e.split(".").forEach((t=>{if(!(t in r))throw new Error(`Could not find '${e}' ('${t}' was undefined).`);n=r,r=r[t]})),r instanceof Function)return r=r.bind(n),this._cachedFunctions.set(e,r),r;throw new Error(`The value '${e}' is not a function.`)}getWrappedObject(){return this._jsObject}}const u=0,d={[u]:new l(window)};d[0]._cachedFunctions.set("import",(e=>("string"==typeof e&&e.startsWith("./")&&(e=new URL(e.substr(2),document.baseURI).toString()),import(e))));let f,m=1;function h(e){t.push(e)}function p(e){if(e&&"object"==typeof e){d[m]=new l(e);const t={[n]:m};return m++,t}throw new Error(`Cannot create a JSObjectReference from the value '${e}'.`)}function g(e){let t=-1;if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Blob)t=e.size;else{if(!(e.buffer instanceof ArrayBuffer))throw new Error("Supplied value is not a typed array or blob.");if(void 0===e.byteLength)throw new Error(`Cannot create a JSStreamReference from the value '${e}' as it doesn't have a byteLength.`);t=e.byteLength}const r={[s]:t};try{const t=p(e);r[n]=t[n]}catch(t){throw new Error(`Cannot create a JSStreamReference from the value '${e}'.`)}return r}function b(e,n){c=e;const r=n?JSON.parse(n,((e,n)=>t.reduce(((t,n)=>n(e,t)),n))):null;return c=void 0,r}function y(){if(void 0===a)throw new Error("No call dispatcher has been set.");if(null===a)throw new Error("There are multiple .NET runtimes present, so a default dispatcher could not be resolved. Use DotNetObject to invoke .NET instance methods.");return a}e.attachDispatcher=function(e){const t=new v(e);return void 0===a?a=t:a&&(a=null),t},e.attachReviver=h,e.invokeMethod=function(e,t,...n){return y().invokeDotNetStaticMethod(e,t,...n)},e.invokeMethodAsync=function(e,t,...n){return y().invokeDotNetStaticMethodAsync(e,t,...n)},e.createJSObjectReference=p,e.createJSStreamReference=g,e.disposeJSObjectReference=function(e){const t=e&&e[n];"number"==typeof t&&S(t)},function(e){e[e.Default=0]="Default",e[e.JSObjectReference=1]="JSObjectReference",e[e.JSStreamReference=2]="JSStreamReference",e[e.JSVoidResult=3]="JSVoidResult"}(f=e.JSCallResultType||(e.JSCallResultType={}));class v{constructor(e){this._dotNetCallDispatcher=e,this._byteArraysToBeRevived=new Map,this._pendingDotNetToJSStreams=new Map,this._pendingAsyncCalls={},this._nextAsyncCallId=1}getDotNetCallDispatcher(){return this._dotNetCallDispatcher}invokeJSFromDotNet(e,t,n,r){const o=b(this,t),i=N(E(e,r)(...o||[]),n);return null==i?null:k(this,i)}beginInvokeJSFromDotNet(e,t,n,r,o){const i=new Promise((e=>{const r=b(this,n);e(E(t,o)(...r||[]))}));e&&i.then((t=>k(this,[e,!0,N(t,r)]))).then((t=>this._dotNetCallDispatcher.endInvokeJSFromDotNet(e,!0,t)),(t=>this._dotNetCallDispatcher.endInvokeJSFromDotNet(e,!1,JSON.stringify([e,!1,w(t)]))))}endInvokeDotNetFromJS(e,t,n){const r=t?b(this,n):new Error(n);this.completePendingCall(parseInt(e,10),t,r)}invokeDotNetStaticMethod(e,t,...n){return this.invokeDotNetMethod(e,t,null,n)}invokeDotNetStaticMethodAsync(e,t,...n){return this.invokeDotNetMethodAsync(e,t,null,n)}invokeDotNetMethod(e,t,n,r){if(this._dotNetCallDispatcher.invokeDotNetFromJS){const o=k(this,r),i=this._dotNetCallDispatcher.invokeDotNetFromJS(e,t,n,o);return i?b(this,i):null}throw new Error("The current dispatcher does not support synchronous calls from JS to .NET. Use invokeDotNetMethodAsync instead.")}invokeDotNetMethodAsync(e,t,n,r){if(e&&n)throw new Error(`For instance method calls, assemblyName should be null. Received '${e}'.`);const o=this._nextAsyncCallId++,i=new Promise(((e,t)=>{this._pendingAsyncCalls[o]={resolve:e,reject:t}}));try{const i=k(this,r);this._dotNetCallDispatcher.beginInvokeDotNetFromJS(o,e,t,n,i)}catch(e){this.completePendingCall(o,!1,e)}return i}receiveByteArray(e,t){this._byteArraysToBeRevived.set(e,t)}processByteArray(e){const t=this._byteArraysToBeRevived.get(e);return t?(this._byteArraysToBeRevived.delete(e),t):null}supplyDotNetStream(e,t){if(this._pendingDotNetToJSStreams.has(e)){const n=this._pendingDotNetToJSStreams.get(e);this._pendingDotNetToJSStreams.delete(e),n.resolve(t)}else{const n=new I;n.resolve(t),this._pendingDotNetToJSStreams.set(e,n)}}getDotNetStreamPromise(e){let t;if(this._pendingDotNetToJSStreams.has(e))t=this._pendingDotNetToJSStreams.get(e).streamPromise,this._pendingDotNetToJSStreams.delete(e);else{const n=new I;this._pendingDotNetToJSStreams.set(e,n),t=n.streamPromise}return t}completePendingCall(e,t,n){if(!this._pendingAsyncCalls.hasOwnProperty(e))throw new Error(`There is no pending async call with ID ${e}.`);const r=this._pendingAsyncCalls[e];delete this._pendingAsyncCalls[e],t?r.resolve(n):r.reject(n)}}function w(e){return e instanceof Error?`${e.message}\n${e.stack}`:e?e.toString():"null"}function E(e,t){const n=d[t];if(n)return n.findFunction(e);throw new Error(`JS object instance with ID ${t} does not exist (has it been disposed?).`)}function S(e){delete d[e]}e.findJSFunction=E,e.disposeJSObjectReferenceById=S;class C{constructor(e,t){this._id=e,this._callDispatcher=t}invokeMethod(e,...t){return this._callDispatcher.invokeDotNetMethod(null,e,this._id,t)}invokeMethodAsync(e,...t){return this._callDispatcher.invokeDotNetMethodAsync(null,e,this._id,t)}dispose(){this._callDispatcher.invokeDotNetMethodAsync(null,"__Dispose",this._id,null).catch((e=>console.error(e)))}serializeAsArg(){return{[r]:this._id}}}e.DotNetObject=C,h((function(e,t){if(t&&"object"==typeof t){if(t.hasOwnProperty(r))return new C(t[r],c);if(t.hasOwnProperty(n)){const e=t[n],r=d[e];if(r)return r.getWrappedObject();throw new Error(`JS object instance with Id '${e}' does not exist. It may have been disposed.`)}if(t.hasOwnProperty(o)){const e=t[o],n=c.processByteArray(e);if(void 0===n)throw new Error(`Byte array index '${e}' does not exist.`);return n}if(t.hasOwnProperty(i)){const e=t[i],n=c.getDotNetStreamPromise(e);return new A(n)}}return t}));class A{constructor(e){this._streamPromise=e}stream(){return this._streamPromise}async arrayBuffer(){return new Response(await this.stream()).arrayBuffer()}}class I{constructor(){this.streamPromise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}function N(e,t){switch(t){case f.Default:return e;case f.JSObjectReference:return p(e);case f.JSStreamReference:return g(e);case f.JSVoidResult:return null;default:throw new Error(`Invalid JS call result type '${t}'.`)}}let R=0;function k(e,t){R=0,c=e;const n=JSON.stringify(t,D);return c=void 0,n}function D(e,t){if(t instanceof C)return t.serializeAsArg();if(t instanceof Uint8Array){c.getDotNetCallDispatcher().sendByteArray(R,t);const e={[o]:R};return R++,e}return t}}(e||(e={})),function(e){e[e.prependFrame=1]="prependFrame",e[e.removeFrame=2]="removeFrame",e[e.setAttribute=3]="setAttribute",e[e.removeAttribute=4]="removeAttribute",e[e.updateText=5]="updateText",e[e.stepIn=6]="stepIn",e[e.stepOut=7]="stepOut",e[e.updateMarkup=8]="updateMarkup",e[e.permutationListEntry=9]="permutationListEntry",e[e.permutationListEnd=10]="permutationListEnd"}(n||(n={})),function(e){e[e.element=1]="element",e[e.text=2]="text",e[e.attribute=3]="attribute",e[e.component=4]="component",e[e.region=5]="region",e[e.elementReferenceCapture=6]="elementReferenceCapture",e[e.markup=8]="markup",e[e.namedEvent=10]="namedEvent"}(r||(r={}));class o{constructor(e,t){this.componentId=e,this.fieldValue=t}static fromEvent(e,t){const n=t.target;if(n instanceof Element){const t=function(e){return e instanceof HTMLInputElement?e.type&&"checkbox"===e.type.toLowerCase()?{value:e.checked}:{value:e.value}:e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement?{value:e.value}:null}(n);if(t)return new o(e,t.value)}return null}}const i=new Map,s=new Map,a=[];function c(e){return i.get(e)}function l(e){const t=i.get(e);return t?.browserEventName||e}function u(e,t){e.forEach((e=>i.set(e,t)))}function d(e){const t=[];for(let n=0;ne.selected)).map((e=>e.value))}}{const e=function(e){return!!e&&"INPUT"===e.tagName&&"checkbox"===e.getAttribute("type")}(t);return{value:e?!!t.checked:t.value}}}}),u(["copy","cut","paste"],{createEventArgs:e=>({type:e.type})}),u(["drag","dragend","dragenter","dragleave","dragover","dragstart","drop"],{createEventArgs:e=>{return{...f(t=e),dataTransfer:t.dataTransfer?{dropEffect:t.dataTransfer.dropEffect,effectAllowed:t.dataTransfer.effectAllowed,files:Array.from(t.dataTransfer.files).map((e=>e.name)),items:Array.from(t.dataTransfer.items).map((e=>({kind:e.kind,type:e.type}))),types:t.dataTransfer.types}:null};var t}}),u(["focus","blur","focusin","focusout"],{createEventArgs:e=>({type:e.type})}),u(["keydown","keyup","keypress"],{createEventArgs:e=>{return{key:(t=e).key,code:t.code,location:t.location,repeat:t.repeat,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type,isComposing:t.isComposing};var t}}),u(["contextmenu","click","mouseover","mouseout","mousemove","mousedown","mouseup","mouseleave","mouseenter","dblclick"],{createEventArgs:e=>f(e)}),u(["error"],{createEventArgs:e=>{return{message:(t=e).message,filename:t.filename,lineno:t.lineno,colno:t.colno,type:t.type};var t}}),u(["loadstart","timeout","abort","load","loadend","progress"],{createEventArgs:e=>{return{lengthComputable:(t=e).lengthComputable,loaded:t.loaded,total:t.total,type:t.type};var t}}),u(["touchcancel","touchend","touchmove","touchenter","touchleave","touchstart"],{createEventArgs:e=>{return{detail:(t=e).detail,touches:d(t.touches),targetTouches:d(t.targetTouches),changedTouches:d(t.changedTouches),ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type};var t}}),u(["gotpointercapture","lostpointercapture","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerup"],{createEventArgs:e=>{return{...f(t=e),pointerId:t.pointerId,width:t.width,height:t.height,pressure:t.pressure,tiltX:t.tiltX,tiltY:t.tiltY,pointerType:t.pointerType,isPrimary:t.isPrimary};var t}}),u(["wheel","mousewheel"],{createEventArgs:e=>{return{...f(t=e),deltaX:t.deltaX,deltaY:t.deltaY,deltaZ:t.deltaZ,deltaMode:t.deltaMode};var t}}),u(["cancel","close","toggle"],{createEventArgs:()=>({})});const m=["date","datetime-local","month","time","week"],h=new Map;let p,g,b=0;const y={async add(e,t,n){if(!n)throw new Error("initialParameters must be an object, even if empty.");const r="__bl-dynamic-root:"+(++b).toString();h.set(r,e);const o=await E().invokeMethodAsync("AddRootComponent",t,r),i=new w(o,g[t]);return await i.setParameters(n),i}};class v{invoke(e){return this._callback(e)}setCallback(t){this._selfJSObjectReference||(this._selfJSObjectReference=e.createJSObjectReference(this)),this._callback=t}getJSObjectReference(){return this._selfJSObjectReference}dispose(){this._selfJSObjectReference&&e.disposeJSObjectReference(this._selfJSObjectReference)}}class w{constructor(e,t){this._jsEventCallbackWrappers=new Map,this._componentId=e;for(const e of t)"eventcallback"===e.type&&this._jsEventCallbackWrappers.set(e.name.toLowerCase(),new v)}setParameters(e){const t={},n=Object.entries(e||{}),r=n.length;for(const[e,r]of n){const n=this._jsEventCallbackWrappers.get(e.toLowerCase());n&&r?(n.setCallback(r),t[e]=n.getJSObjectReference()):t[e]=r}return E().invokeMethodAsync("SetRootComponentParameters",this._componentId,r,t)}async dispose(){if(null!==this._componentId){await E().invokeMethodAsync("RemoveRootComponent",this._componentId),this._componentId=null;for(const e of this._jsEventCallbackWrappers.values())e.dispose()}}}function E(){if(!p)throw new Error("Dynamic root components have not been enabled in this application.");return p}const S=new Map,C=[],A=new Map;function I(e,t,n){return R(e,t.eventHandlerId,(()=>N(e).invokeMethodAsync("DispatchEventAsync",t,n)))}function N(e){const t=S.get(e);if(!t)throw new Error(`No interop methods are registered for renderer ${e}`);return t}let R=(e,t,n)=>n();const k=O(["abort","blur","cancel","canplay","canplaythrough","change","close","cuechange","durationchange","emptied","ended","error","focus","load","loadeddata","loadedmetadata","loadend","loadstart","mouseenter","mouseleave","pointerenter","pointerleave","pause","play","playing","progress","ratechange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeupdate","toggle","unload","volumechange","waiting","DOMNodeInsertedIntoDocument","DOMNodeRemovedFromDocument"]),D={submit:!0},_=O(["click","dblclick","mousedown","mousemove","mouseup"]);class T{static{this.nextEventDelegatorId=0}constructor(e){this.browserRendererId=e,this.afterClickCallbacks=[];const t=++T.nextEventDelegatorId;this.eventsCollectionKey=`_blazorEvents_${t}`,this.eventInfoStore=new F(this.onGlobalEvent.bind(this))}setListener(e,t,n,r){const o=this.getEventHandlerInfosForElement(e,!0),i=o.getHandler(t);if(i)this.eventInfoStore.update(i.eventHandlerId,n);else{const i={element:e,eventName:t,eventHandlerId:n,renderingComponentId:r};this.eventInfoStore.add(i),o.setHandler(t,i)}}getHandler(e){return this.eventInfoStore.get(e)}removeListener(e){const t=this.eventInfoStore.remove(e);if(t){const e=t.element,n=this.getEventHandlerInfosForElement(e,!1);n&&n.removeHandler(t.eventName)}}notifyAfterClick(e){this.afterClickCallbacks.push(e),this.eventInfoStore.addGlobalListener("click")}setStopPropagation(e,t,n){this.getEventHandlerInfosForElement(e,!0).stopPropagation(t,n)}setPreventDefault(e,t,n){this.getEventHandlerInfosForElement(e,!0).preventDefault(t,n)}onGlobalEvent(e){if(!(e.target instanceof Element))return;this.dispatchGlobalEventToAllElements(e.type,e);const t=(n=e.type,s.get(n));var n;t&&t.forEach((t=>this.dispatchGlobalEventToAllElements(t,e))),"click"===e.type&&this.afterClickCallbacks.forEach((t=>t(e)))}dispatchGlobalEventToAllElements(e,t){const n=t.composedPath();let r=n.shift(),i=null,s=!1;const a=Object.prototype.hasOwnProperty.call(k,e);let l=!1;for(;r;){const f=r,m=this.getEventHandlerInfosForElement(f,!1);if(m){const n=m.getHandler(e);if(n&&(u=f,d=t.type,!((u instanceof HTMLButtonElement||u instanceof HTMLInputElement||u instanceof HTMLTextAreaElement||u instanceof HTMLSelectElement)&&Object.prototype.hasOwnProperty.call(_,d)&&u.disabled))){if(!s){const n=c(e);i=n?.createEventArgs?n.createEventArgs(t):{},s=!0}Object.prototype.hasOwnProperty.call(D,t.type)&&t.preventDefault(),I(this.browserRendererId,{eventHandlerId:n.eventHandlerId,eventName:e,eventFieldInfo:o.fromEvent(n.renderingComponentId,t)},i)}m.stopPropagation(e)&&(l=!0),m.preventDefault(e)&&t.preventDefault()}r=a||l?void 0:n.shift()}var u,d}getEventHandlerInfosForElement(e,t){return Object.prototype.hasOwnProperty.call(e,this.eventsCollectionKey)?e[this.eventsCollectionKey]:t?e[this.eventsCollectionKey]=new L:null}}class F{constructor(e){this.globalListener=e,this.infosByEventHandlerId={},this.countByEventName={},a.push(this.handleEventNameAliasAdded.bind(this))}add(e){if(this.infosByEventHandlerId[e.eventHandlerId])throw new Error(`Event ${e.eventHandlerId} is already tracked`);this.infosByEventHandlerId[e.eventHandlerId]=e,this.addGlobalListener(e.eventName)}get(e){return this.infosByEventHandlerId[e]}addGlobalListener(e){if(e=l(e),Object.prototype.hasOwnProperty.call(this.countByEventName,e))this.countByEventName[e]++;else{this.countByEventName[e]=1;const t=Object.prototype.hasOwnProperty.call(k,e);document.addEventListener(e,this.globalListener,t)}}update(e,t){if(Object.prototype.hasOwnProperty.call(this.infosByEventHandlerId,t))throw new Error(`Event ${t} is already tracked`);const n=this.infosByEventHandlerId[e];delete this.infosByEventHandlerId[e],n.eventHandlerId=t,this.infosByEventHandlerId[t]=n}remove(e){const t=this.infosByEventHandlerId[e];if(t){delete this.infosByEventHandlerId[e];const n=l(t.eventName);0==--this.countByEventName[n]&&(delete this.countByEventName[n],document.removeEventListener(n,this.globalListener))}return t}handleEventNameAliasAdded(e,t){if(Object.prototype.hasOwnProperty.call(this.countByEventName,e)){const n=this.countByEventName[e];delete this.countByEventName[e],document.removeEventListener(e,this.globalListener),this.addGlobalListener(t),this.countByEventName[t]+=n-1}}}class L{constructor(){this.handlers={},this.preventDefaultFlags=null,this.stopPropagationFlags=null}getHandler(e){return Object.prototype.hasOwnProperty.call(this.handlers,e)?this.handlers[e]:null}setHandler(e,t){this.handlers[e]=t}removeHandler(e){delete this.handlers[e]}preventDefault(e,t){return void 0!==t&&(this.preventDefaultFlags=this.preventDefaultFlags||{},this.preventDefaultFlags[e]=t),!!this.preventDefaultFlags&&this.preventDefaultFlags[e]}stopPropagation(e,t){return void 0!==t&&(this.stopPropagationFlags=this.stopPropagationFlags||{},this.stopPropagationFlags[e]=t),!!this.stopPropagationFlags&&this.stopPropagationFlags[e]}}function O(e){const t={};return e.forEach((e=>{t[e]=!0})),t}const M=Symbol(),x=Symbol(),P=Symbol();function B(e,t){if(M in e)return e;const n=[];if(e.childNodes.length>0){if(!t)throw new Error("New logical elements must start empty, or allowExistingContents must be true");e.childNodes.forEach((t=>{const r=B(t,!0);r[x]=e,n.push(r)}))}return e[M]=n,e}function j(e){const t=K(e);for(;t.length;)z(e,0)}function H(e,t){const n=document.createComment("!");return J(n,e,t),n}function J(e,t,n){const r=e;let o=e;if(e instanceof Comment){const t=K(r);if(t?.length>0){const t=G(r),n=new Range;n.setStartBefore(e),n.setEndAfter(t),o=n.extractContents()}}const i=$(r);if(i){const e=K(i),t=Array.prototype.indexOf.call(e,r);e.splice(t,1),delete r[x]}const s=K(t);if(n0;)z(n,0)}const r=n;r.parentNode.removeChild(r)}function $(e){return e[x]||null}function W(e,t){return K(e)[t]}function U(e){const t=Y(e);return"http://www.w3.org/2000/svg"===t.namespaceURI&&"foreignObject"!==t.tagName}function K(e){return e[M]}function V(e){const t=K($(e));return t[Array.prototype.indexOf.call(t,e)+1]||null}function X(e,t){const n=K(e);t.forEach((e=>{e.moveRangeStart=n[e.fromSiblingIndex],e.moveRangeEnd=G(e.moveRangeStart)})),t.forEach((t=>{const r=document.createComment("marker");t.moveToBeforeMarker=r;const o=n[t.toSiblingIndex+1];o?o.parentNode.insertBefore(r,o):q(r,e)})),t.forEach((e=>{const t=e.moveToBeforeMarker,n=t.parentNode,r=e.moveRangeStart,o=e.moveRangeEnd;let i=r;for(;i;){const e=i.nextSibling;if(n.insertBefore(i,t),i===o)break;i=e}n.removeChild(t)})),t.forEach((e=>{n[e.toSiblingIndex]=e.moveRangeStart}))}function Y(e){if(e instanceof Element||e instanceof DocumentFragment)return e;if(e instanceof Comment)return e.parentNode;throw new Error("Not a valid logical element")}function q(e,t){if(t instanceof Element||t instanceof DocumentFragment)t.appendChild(e);else{if(!(t instanceof Comment))throw new Error(`Cannot append node because the parent is not a valid logical element. Parent: ${t}`);{const n=V(t);n?n.parentNode.insertBefore(e,n):q(e,$(t))}}}function G(e){if(e instanceof Element||e instanceof DocumentFragment)return e;const t=V(e);if(t)return t.previousSibling;{const t=$(e);return t instanceof Element||t instanceof DocumentFragment?t.lastChild:G(t)}}function Z(e){return`_bl_${e}`}const Q="__internalId";e.attachReviver(((e,t)=>t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,Q)&&"string"==typeof t[Q]?function(e){const t=`[${Z(e)}]`;return document.querySelector(t)}(t[Q]):t));const ee="_blazorDeferredValue";function te(e){return"select-multiple"===e.type}function ne(e,t){e.value=t||""}function re(e,t){e instanceof HTMLSelectElement?te(e)?function(e,t){t||=[];for(let n=0;n{Se()&&function(e){if(0!==e.button||function(e){return e.ctrlKey||e.shiftKey||e.altKey||e.metaKey}(e))return;if(e.defaultPrevented)return;const t=function(e){const t=e.composedPath&&e.composedPath();if(t)for(let e=0;e{const t=document.createElement("script");t.textContent=e.textContent,e.getAttributeNames().forEach((n=>{t.setAttribute(n,e.getAttribute(n))})),e.parentNode.replaceChild(t,e)})),ie.content));var s;let a=0;for(;i.firstChild;)J(i.firstChild,o,a++)}applyAttribute(e,t,n,r){const o=e.frameReader,i=o.attributeName(r),s=o.attributeEventHandlerId(r);if(s){const e=me(i);return void this.eventDelegator.setListener(n,e,s,t)}const a=o.attributeValue(r);this.setOrRemoveAttributeOrProperty(n,i,a)}insertFrameRange(e,t,n,r,o,i,s){const a=r;for(let a=i;adocument.baseURI,getLocationHref:()=>location.href,scrollToElement:we};function Te(e,t,n=!1){const r=Ee(e);!t.forceLoad&&ve(r)?He()?Fe(r,!1,t.replaceHistoryEntry,t.historyEntryState,n):function(){throw new Error("No enhanced programmatic navigation handler has been attached")}():function(e,t){if(location.href===e){const t=e+"?";history.replaceState(null,"",t),location.replace(e)}else t?location.replace(e):location.href=e}(e,t.replaceHistoryEntry)}async function Fe(e,t,n,r=void 0,o=!1){if(Me(),function(e){const t=new URL(e);return""!==t.hash&&location.origin===t.origin&&location.pathname===t.pathname&&location.search===t.search}(e))return Le(e,n,r),void function(e){const t=e.indexOf("#");t!==e.length-1&&we(e.substring(t+1))}(e);const i=je();(o||!i?.hasLocationChangingEventListeners||await xe(e,r,t,i))&&(be=!0,Le(e,n,r),await Pe(t))}function Le(e,t,n=void 0){t?history.replaceState({userState:n,_index:Ie},"",e):(Ie++,history.pushState({userState:n,_index:Ie},"",e))}function Oe(e){return new Promise((t=>{const n=ke;ke=()=>{ke=n,t()},history.go(e)}))}function Me(){De&&(De(!1),De=null)}function xe(e,t,n,r){return new Promise((o=>{Me(),Ne++,De=o,r.locationChanging(Ne,e,t,n)}))}async function Pe(e,t){const n=location.href;await Promise.all(Array.from(Re,(async([t,r])=>{var o;o=t,S.has(o)&&await r.locationChanged(n,history.state?.userState,e)})))}async function Be(e){ke&&He()&&await ke(e),Ie=history.state?._index??0}function je(){const e=Ce();if(void 0!==e)return Re.get(e)}function He(){return Se()||!0}const Je={focus:function(e,t){if(e instanceof HTMLElement)e.focus({preventScroll:t});else{if(!(e instanceof SVGElement))throw new Error("Unable to focus an invalid element.");if(!e.hasAttribute("tabindex"))throw new Error("Unable to focus an SVG element that does not have a tabindex.");e.focus({preventScroll:t})}},focusBySelector:function(e){const t=document.querySelector(e);t&&(t.hasAttribute("tabindex")||(t.tabIndex=-1),t.focus({preventScroll:!0}))}},ze={init:function(e,t,n,r=50){const o=We(t);(o||document.documentElement).style.overflowAnchor="none";const i=document.createRange();f(n.parentElement)&&(t.style.display="table-row",n.style.display="table-row");const s=new IntersectionObserver((function(r){r.forEach((r=>{if(!r.isIntersecting)return;i.setStartAfter(t),i.setEndBefore(n);const o=i.getBoundingClientRect().height,s=r.rootBounds?.height;r.target===t?e.invokeMethodAsync("OnSpacerBeforeVisible",r.intersectionRect.top-r.boundingClientRect.top,o,s):r.target===n&&n.offsetHeight>0&&e.invokeMethodAsync("OnSpacerAfterVisible",r.boundingClientRect.bottom-r.intersectionRect.bottom,o,s)}))}),{root:o,rootMargin:`${r}px`});s.observe(t),s.observe(n);const a=d(t),c=d(n),{observersByDotNetObjectId:l,id:u}=Ue(e);function d(e){const t={attributes:!0},n=new MutationObserver(((n,r)=>{f(e.parentElement)&&(r.disconnect(),e.style.display="table-row",r.observe(e,t)),s.unobserve(e),s.observe(e)}));return n.observe(e,t),n}function f(e){return null!==e&&(e instanceof HTMLTableElement&&""===e.style.display||"table"===e.style.display||e instanceof HTMLTableSectionElement&&""===e.style.display||"table-row-group"===e.style.display)}l[u]={intersectionObserver:s,mutationObserverBefore:a,mutationObserverAfter:c}},dispose:function(e){const{observersByDotNetObjectId:t,id:n}=Ue(e),r=t[n];r&&(r.intersectionObserver.disconnect(),r.mutationObserverBefore.disconnect(),r.mutationObserverAfter.disconnect(),e.dispose(),delete t[n])}},$e=Symbol();function We(e){return e&&e!==document.body&&e!==document.documentElement?"visible"!==getComputedStyle(e).overflowY?e:We(e.parentElement):null}function Ue(e){const t=e._callDispatcher,n=e._id;return t[$e]??={},{observersByDotNetObjectId:t[$e],id:n}}const Ke={getAndRemoveExistingTitle:function(){const e=document.head?document.head.getElementsByTagName("title"):[];if(0===e.length)return null;let t=null;for(let n=e.length-1;n>=0;n--){const r=e[n],o=r.previousSibling;o instanceof Comment&&null!==$(o)||(null===t&&(t=r.textContent),r.parentNode?.removeChild(r))}return t}},Ve={init:function(e,t){t._blazorInputFileNextFileId=0,t.addEventListener("click",(function(){t.value=""})),t.addEventListener("change",(function(){t._blazorFilesById={};const n=Array.prototype.map.call(t.files,(function(e){const n={id:++t._blazorInputFileNextFileId,lastModified:new Date(e.lastModified).toISOString(),name:e.name,size:e.size,contentType:e.type,readPromise:void 0,arrayBuffer:void 0,blob:e};return t._blazorFilesById[n.id]=n,n}));e.invokeMethodAsync("NotifyChange",n)}))},toImageFile:async function(e,t,n,r,o){const i=Xe(e,t),s=await new Promise((function(e){const t=new Image;t.onload=function(){URL.revokeObjectURL(t.src),e(t)},t.onerror=function(){t.onerror=null,URL.revokeObjectURL(t.src)},t.src=URL.createObjectURL(i.blob)})),a=await new Promise((function(e){const t=Math.min(1,r/s.width),i=Math.min(1,o/s.height),a=Math.min(t,i),c=document.createElement("canvas");c.width=Math.round(s.width*a),c.height=Math.round(s.height*a),c.getContext("2d")?.drawImage(s,0,0,c.width,c.height),c.toBlob(e,n)})),c={id:++e._blazorInputFileNextFileId,lastModified:i.lastModified,name:i.name,size:a?.size||0,contentType:n,blob:a||i.blob};return e._blazorFilesById[c.id]=c,c},readFileData:async function(e,t){return Xe(e,t).blob}};function Xe(e,t){const n=e._blazorFilesById[t];if(!n)throw new Error(`There is no file with ID ${t}. The file list may have changed. See https://aka.ms/aspnet/blazor-input-file-multiple-selections.`);return n}const Ye=new Set,qe={enableNavigationPrompt:function(e){0===Ye.size&&window.addEventListener("beforeunload",Ge),Ye.add(e)},disableNavigationPrompt:function(e){Ye.delete(e),0===Ye.size&&window.removeEventListener("beforeunload",Ge)}};function Ge(e){e.preventDefault(),e.returnValue=!0}const Ze=new Map,Qe={navigateTo:function(e,t,n=!1){Te(e,t instanceof Object?t:{forceLoad:t,replaceHistoryEntry:n})},registerCustomEventType:function(e,t){if(!t)throw new Error("The options parameter is required.");if(i.has(e))throw new Error(`The event '${e}' is already registered.`);if(t.browserEventName){const n=s.get(t.browserEventName);n?n.push(e):s.set(t.browserEventName,[e]),a.forEach((n=>n(e,t.browserEventName)))}i.set(e,t)},rootComponents:y,runtime:{},_internal:{navigationManager:_e,domWrapper:Je,Virtualize:ze,PageTitle:Ke,InputFile:Ve,NavigationLock:qe,getJSDataStreamChunk:async function(e,t,n){return e instanceof Blob?await async function(e,t,n){const r=e.slice(t,t+n),o=await r.arrayBuffer();return new Uint8Array(o)}(e,t,n):function(e,t,n){return new Uint8Array(e.buffer,e.byteOffset+t,n)}(e,t,n)},attachWebRendererInterop:function(t,n,r,o){if(S.has(t))throw new Error(`Interop methods are already registered for renderer ${t}`);S.set(t,n),r&&o&&Object.keys(r).length>0&&function(t,n,r){if(p)throw new Error("Dynamic root components have already been enabled.");p=t,g=n;for(const[t,o]of Object.entries(r)){const r=e.findJSFunction(t,0);for(const e of o)r(e,n[e])}}(N(t),r,o),A.get(t)?.[0]?.(),function(e){for(const t of C)t(e)}(t)}}};window.Blazor=Qe;const et=navigator,tt=et.userAgentData&&et.userAgentData.brands,nt=tt&&tt.length>0?tt.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):window.chrome,rt=et.userAgentData?.platform??navigator.platform;function ot(e){return 0!==e.debugLevel&&(nt||navigator.userAgent.includes("Firefox"))}let it=!1;function st(){const e=document.querySelector("#blazor-error-ui");e&&(e.style.display="block"),it||(it=!0,document.querySelectorAll("#blazor-error-ui .reload").forEach((e=>{e.onclick=function(e){location.reload(),e.preventDefault()}})),document.querySelectorAll("#blazor-error-ui .dismiss").forEach((e=>{e.onclick=function(e){const t=document.querySelector("#blazor-error-ui");t&&(t.style.display="none"),e.preventDefault()}})))}var at,ct;!function(e){e[e.Default=0]="Default",e[e.Server=1]="Server",e[e.WebAssembly=2]="WebAssembly",e[e.WebView=3]="WebView"}(at||(at={})),function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(ct||(ct={}));class lt{constructor(e=!0,t,n,r=0){this.singleRuntime=e,this.logger=t,this.webRendererId=r,this.afterStartedCallbacks=[],n&&this.afterStartedCallbacks.push(...n)}async importInitializersAsync(e,t){await Promise.all(e.map((e=>async function(e,n){const r=function(e){const t=document.baseURI;return t.endsWith("/")?`${t}${e}`:`${t}/${e}`}(n),o=await import(r);if(void 0!==o){if(e.singleRuntime){const{beforeStart:n,afterStarted:r,beforeWebAssemblyStart:s,afterWebAssemblyStarted:a,beforeServerStart:c,afterServerStarted:l}=o;let u=n;e.webRendererId===at.Server&&c&&(u=c),e.webRendererId===at.WebAssembly&&s&&(u=s);let d=r;return e.webRendererId===at.Server&&l&&(d=l),e.webRendererId===at.WebAssembly&&a&&(d=a),i(e,u,d,t)}return function(e,t,n){const o=n[0],{beforeStart:s,afterStarted:a,beforeWebStart:c,afterWebStarted:l,beforeWebAssemblyStart:u,afterWebAssemblyStarted:d,beforeServerStart:f,afterServerStarted:m}=t,h=!(c||l||u||d||f||m||!s&&!a),p=h&&o.enableClassicInitializers;if(h&&!o.enableClassicInitializers)e.logger?.log(ct.Warning,`Initializer '${r}' will be ignored because multiple runtimes are available. Use 'before(Web|WebAssembly|Server)Start' and 'after(Web|WebAssembly|Server)Started' instead.`);else if(p)return i(e,s,a,n);if(function(e){e.webAssembly?e.webAssembly.initializers||(e.webAssembly.initializers={beforeStart:[],afterStarted:[]}):e.webAssembly={initializers:{beforeStart:[],afterStarted:[]}},e.circuit?e.circuit.initializers||(e.circuit.initializers={beforeStart:[],afterStarted:[]}):e.circuit={initializers:{beforeStart:[],afterStarted:[]}}}(o),u&&o.webAssembly.initializers.beforeStart.push(u),d&&o.webAssembly.initializers.afterStarted.push(d),f&&o.circuit.initializers.beforeStart.push(f),m&&o.circuit.initializers.afterStarted.push(m),l&&e.afterStartedCallbacks.push(l),c)return c(o)}(e,o,t)}function i(e,t,n,r){if(n&&e.afterStartedCallbacks.push(n),t)return t(...r)}}(this,e))))}async invokeAfterStartedCallbacks(e){const t=(n=this.webRendererId,A.get(n)?.[1]);var n;t&&await t,await Promise.all(this.afterStartedCallbacks.map((t=>t(e))))}}let ut,dt,ft,mt,ht=null;const pt={load:function(e,t){return async function(e,t){const{dotnet:n}=await async function(e){if("undefined"==typeof WebAssembly||!WebAssembly.validate)throw new Error("This browser does not support WebAssembly.");let t="_framework/dotnet.js";if(e.loadBootResource){const n="dotnetjs",r=e.loadBootResource(n,"dotnet.js",t,"","js-module-dotnet");if("string"==typeof r)t=r;else if(r)throw new Error(`For a ${n} resource, custom loaders must supply a URI string.`)}const n=new URL(t,document.baseURI).toString();return await import(n)}(e),r=function(e,t){const n={maxParallelDownloads:1e6,enableDownloadRetry:!1,applicationEnvironment:e.environment},r={...window.Module||{},onConfigLoaded:async n=>{n.environmentVariables||(n.environmentVariables={}),"sharded"===n.globalizationMode&&(n.environmentVariables.__BLAZOR_SHARDED_ICU="1"),Qe._internal.getApplicationEnvironment=()=>n.applicationEnvironment,t?.(n),mt=await async function(e,t){if(e.initializers)return await Promise.all(e.initializers.beforeStart.map((t=>t(e)))),new lt(!1,void 0,e.initializers.afterStarted,at.WebAssembly);{const n=[e,t.resources?.extensions??{}],r=new lt(!0,void 0,void 0,at.WebAssembly),o=Object.keys(t?.resources?.libraryInitializers||{});return await r.importInitializersAsync(o,n),r}}(e,n)},onDownloadResourceProgress:gt,config:n,out:yt,err:vt};return r}(e,t);e.applicationCulture&&n.withApplicationCulture(e.applicationCulture),e.environment&&n.withApplicationEnvironment(e.environment),e.loadBootResource&&n.withResourceLoader(e.loadBootResource),n.withModuleConfig(r),e.configureRuntime&&e.configureRuntime(n),ft=await n.create()}(e,t)},start:function(){return async function(){if(!ft)throw new Error("The runtime must be loaded it gets configured.");const{setModuleImports:t,INTERNAL:n,getConfig:r,invokeLibraryInitializers:o}=ft;dt=n,function(e){const t=rt.match(/^Mac/i)?"Cmd":"Alt";ot(e)&&console.info(`Debugging hotkey: Shift+${t}+D (when application has focus)`),document.addEventListener("keydown",(t=>{t.shiftKey&&(t.metaKey||t.altKey)&&"KeyD"===t.code&&(ot(e)?navigator.userAgent.includes("Firefox")?async function(){const e=await fetch(`_framework/debug?url=${encodeURIComponent(location.href)}&isFirefox=true`);200!==e.status&&console.warn(await e.text())}():nt?function(){const e=document.createElement("a");e.href=`_framework/debug?url=${encodeURIComponent(location.href)}`,e.target="_blank",e.rel="noopener noreferrer",e.click()}():console.error("Currently, only Microsoft Edge (80+), Google Chrome, or Chromium, are supported for debugging."):console.error("Cannot start debugging, because the application was not compiled with debugging enabled."))}))}(r()),Qe.runtime=ft,Qe._internal.dotNetCriticalError=vt,t("blazor-internal",{Blazor:{_internal:Qe._internal}});const i=await ft.getAssemblyExports("Microsoft.AspNetCore.Components.WebAssembly");return Object.assign(Qe._internal,{dotNetExports:{...i.Microsoft.AspNetCore.Components.WebAssembly.Services.DefaultWebAssemblyJSRuntime}}),ut=e.attachDispatcher({beginInvokeDotNetFromJS:(e,t,n,r,o)=>{if(wt(),!r&&!t)throw new Error("Either assemblyName or dotNetObjectId must have a non null value.");const i=r?r.toString():t;Qe._internal.dotNetExports.BeginInvokeDotNet(e?e.toString():null,i,n,o)},endInvokeJSFromDotNet:(e,t,n)=>{Qe._internal.dotNetExports.EndInvokeJS(n)},sendByteArray:(e,t)=>{Qe._internal.dotNetExports.ReceiveByteArrayFromJS(e,t)},invokeDotNetFromJS:(e,t,n,r)=>(wt(),Qe._internal.dotNetExports.InvokeDotNet(e||null,t,n??0,r))}),{invokeLibraryInitializers:o}}()},callEntryPoint:async function(){try{await ft.runMain(ft.getConfig().mainAssemblyName,[])}catch(e){console.error(e),st()}},getArrayEntryPtr:function(e,t,n){const r=function(e){return e+12}(e)+4+t*n;return r},getObjectFieldsBaseAddress:function(e){return e+8},readInt16Field:function(e,t){return ft.getHeapI16(e+(t||0))},readInt32Field:function(e,t){return ft.getHeapI32(e+(t||0))},readUint64Field:function(e,t){return ft.getHeapU52(e+(t||0))},readObjectField:function(e,t){return ft.getHeapU32(e+(t||0))},readStringField:function(e,t,n){const r=ft.getHeapU32(e+(t||0));if(0===r)return null;if(n){const e=dt.monoObjectAsBoolOrNullUnsafe(r);if("boolean"==typeof e)return e?"":null}return dt.monoStringToStringUnsafe(r)},readStructField:function(e,t){return e+(t||0)},beginHeapLock:function(){return wt(),ht=Et.create(),ht},invokeWhenHeapUnlocked:function(e){ht?ht.enqueuePostReleaseAction(e):e()}};function gt(e,t){const n=e/t*100;document.documentElement.style.setProperty("--blazor-load-percentage",`${n}%`),document.documentElement.style.setProperty("--blazor-load-percentage-text",`"${Math.floor(n)}%"`)}const bt=["DEBUGGING ENABLED"],yt=e=>bt.indexOf(e)<0&&console.log(e),vt=e=>{console.error(e||"(null)"),st()};function wt(){if(ht)throw new Error("Assertion failed - heap is currently locked")}class Et{enqueuePostReleaseAction(e){this.postReleaseActions||(this.postReleaseActions=[]),this.postReleaseActions.push(e)}release(){if(ht!==this)throw new Error("Trying to release a lock which isn't current");for(dt.mono_wasm_gc_unlock(),ht=null;this.postReleaseActions?.length;)this.postReleaseActions.shift()(),wt()}static create(){return dt.mono_wasm_gc_lock(),new Et}}class St{constructor(e){this.batchAddress=e,this.arrayRangeReader=Ct,this.arrayBuilderSegmentReader=At,this.diffReader=It,this.editReader=Nt,this.frameReader=Rt}updatedComponents(){return t.readStructField(this.batchAddress,0)}referenceFrames(){return t.readStructField(this.batchAddress,Ct.structLength)}disposedComponentIds(){return t.readStructField(this.batchAddress,2*Ct.structLength)}disposedEventHandlerIds(){return t.readStructField(this.batchAddress,3*Ct.structLength)}updatedComponentsEntry(e,t){return kt(e,t,It.structLength)}referenceFramesEntry(e,t){return kt(e,t,Rt.structLength)}disposedComponentIdsEntry(e,n){const r=kt(e,n,4);return t.readInt32Field(r)}disposedEventHandlerIdsEntry(e,n){const r=kt(e,n,8);return t.readUint64Field(r)}}const Ct={structLength:8,values:e=>t.readObjectField(e,0),count:e=>t.readInt32Field(e,4)},At={structLength:12,values:e=>{const n=t.readObjectField(e,0),r=t.getObjectFieldsBaseAddress(n);return t.readObjectField(r,0)},offset:e=>t.readInt32Field(e,4),count:e=>t.readInt32Field(e,8)},It={structLength:4+At.structLength,componentId:e=>t.readInt32Field(e,0),edits:e=>t.readStructField(e,4),editsEntry:(e,t)=>kt(e,t,Nt.structLength)},Nt={structLength:20,editType:e=>t.readInt32Field(e,0),siblingIndex:e=>t.readInt32Field(e,4),newTreeIndex:e=>t.readInt32Field(e,8),moveToSiblingIndex:e=>t.readInt32Field(e,8),removedAttributeName:e=>t.readStringField(e,16)},Rt={structLength:36,frameType:e=>t.readInt16Field(e,4),subtreeLength:e=>t.readInt32Field(e,8),elementReferenceCaptureId:e=>t.readStringField(e,16),componentId:e=>t.readInt32Field(e,12),elementName:e=>t.readStringField(e,16),textContent:e=>t.readStringField(e,16),markupContent:e=>t.readStringField(e,16),attributeName:e=>t.readStringField(e,16),attributeValue:e=>t.readStringField(e,24,!0),attributeEventHandlerId:e=>t.readUint64Field(e,8)};function kt(e,n,r){return t.getArrayEntryPtr(e,n,r)}const Dt=/^\s*Blazor-WebAssembly-Component-State:(?[a-zA-Z0-9+/=]+)$/;function _t(e){return Tt(e,Dt)}function Tt(e,t,n="state"){if(e.nodeType===Node.COMMENT_NODE){const r=e.textContent||"",o=t.exec(r),i=o&&o.groups&&o.groups[n];return i&&e.parentNode?.removeChild(e),i}if(!e.hasChildNodes())return;const r=e.childNodes;for(let e=0;e.*)$/);function Ot(e,t){const n=e.currentElement;var r,o,i;if(n&&n.nodeType===Node.COMMENT_NODE&&n.textContent){const s=Lt.exec(n.textContent),a=s&&s.groups&&s.groups.descriptor;if(!a)return;!function(e){if(e.parentNode instanceof Document)throw new Error("Root components cannot be marked as interactive. The element must be rendered statically so that scripts are not evaluated multiple times.")}(n);try{const s=function(e){const t=JSON.parse(e),{type:n}=t;if("server"!==n&&"webassembly"!==n&&"auto"!==n)throw new Error(`Invalid component type '${n}'.`);return t}(a),c=function(e,t,n){const{prerenderId:r}=e;if(r){for(;n.next()&&n.currentElement;){const e=n.currentElement;if(e.nodeType!==Node.COMMENT_NODE)continue;if(!e.textContent)continue;const t=Lt.exec(e.textContent),o=t&&t[1];if(o)return zt(o,r),e}throw new Error(`Could not find an end component comment for '${t}'.`)}}(s,n,e);if(t!==s.type)return;switch(s.type){case"webassembly":return o=n,i=c,Jt(r=s),{...r,uniqueId:jt++,start:o,end:i};case"server":return function(e,t,n){return Ht(e),{...e,uniqueId:jt++,start:t,end:n}}(s,n,c);case"auto":return function(e,t,n){return Ht(e),Jt(e),{...e,uniqueId:jt++,start:t,end:n}}(s,n,c)}}catch(e){throw new Error(`Found malformed component comment at ${n.textContent}`)}}}let Mt,xt,Pt,Bt,jt=0;function Ht(e){const{descriptor:t,sequence:n}=e;if(!t)throw new Error("descriptor must be defined when using a descriptor.");if(void 0===n)throw new Error("sequence must be defined when using a descriptor.");if(!Number.isInteger(n))throw new Error(`Error parsing the sequence '${n}' for component '${JSON.stringify(e)}'`)}function Jt(e){const{assembly:t,typeName:n}=e;if(!t)throw new Error("assembly must be defined when using a descriptor.");if(!n)throw new Error("typeName must be defined when using a descriptor.");e.parameterDefinitions=e.parameterDefinitions&&atob(e.parameterDefinitions),e.parameterValues=e.parameterValues&&atob(e.parameterValues)}function zt(e,t){const n=JSON.parse(e);if(1!==Object.keys(n).length)throw new Error(`Invalid end of component comment: '${e}'`);const r=n.prerenderId;if(!r)throw new Error(`End of component comment must have a value for the prerendered property: '${e}'`);if(r!==t)throw new Error(`End of component comment prerendered property must match the start comment prerender id: '${t}', '${r}'`)}class $t{constructor(e){this.childNodes=e,this.currentIndex=-1,this.length=e.length}next(){return this.currentIndex++,this.currentIndex{Bt=e}));const Ut=new Promise((e=>{}));let Kt;const Vt=new Promise((e=>{Kt=e}));function Xt(e){if(Mt)throw new Error("WebAssembly options have already been configured.");!async function(e){const t=await e;Mt=t,Kt()}(e)}function Yt(e){if(void 0!==Pt)throw new Error("Blazor WebAssembly has already started.");return Pt=new Promise(qt.bind(null,e)),Pt}async function qt(e,n,r){(function(){if(window.parent!==window&&!window.opener&&window.frameElement){const e=window.sessionStorage&&window.sessionStorage["Microsoft.AspNetCore.Components.WebAssembly.Authentication.CachedAuthSettings"],t=e&&JSON.parse(e);return t&&t.redirect_uri&&location.href.startsWith(t.redirect_uri)}return!1})()&&await new Promise((()=>{}));const o=Gt();!function(){const e=R;R=(t,n,r)=>{((e,t,n)=>{const r=function(e){return he[e]}(e);r?.eventDelegator.getHandler(t)&&pt.invokeWhenHeapUnlocked(n)})(t,n,(()=>e(t,n,r)))}}(),Qe._internal.applyHotReload=(e,t,n,r,o)=>{ut.invokeDotNetStaticMethod("Microsoft.AspNetCore.Components.WebAssembly","ApplyHotReloadDelta",e,t,n,r,o??null)},Qe._internal.getApplyUpdateCapabilities=()=>ut.invokeDotNetStaticMethod("Microsoft.AspNetCore.Components.WebAssembly","GetApplyUpdateCapabilities"),Qe._internal.invokeJSJson=Zt,Qe._internal.endInvokeDotNetFromJS=Qt,Qe._internal.receiveWebAssemblyDotNetDataStream=en,Qe._internal.receiveByteArray=tn;const i=(t=pt,t);Qe.platform=i,Qe._internal.renderBatch=(e,t)=>{const n=pt.beginHeapLock();try{!function(e,t){const n=he[e];if(!n)throw new Error(`There is no browser renderer with ID ${e}.`);const r=t.arrayRangeReader,o=t.updatedComponents(),i=r.values(o),s=r.count(o),a=t.referenceFrames(),c=r.values(a),l=t.diffReader;for(let e=0;e{await ut.invokeDotNetStaticMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChanged",e,t,n)}),(async(e,t,n,r)=>{const o=await ut.invokeDotNetStaticMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChangingAsync",t,n,r);Qe._internal.navigationManager.endLocationChanging(e,o)}));const s=new Wt(e);Qe._internal.registeredComponents={getRegisteredComponentsCount:()=>s.getCount(),getAssembly:e=>s.getAssembly(e),getTypeName:e=>s.getTypeName(e),getParameterDefinitions:e=>s.getParameterDefinitions(e)||"",getParameterValues:e=>s.getParameterValues(e)||""},Qe._internal.getPersistedState=()=>_t(document)||"",Qe._internal.getInitialComponentsUpdate=()=>Ut,Qe._internal.updateRootComponents=e=>Qe._internal.dotNetExports?.UpdateRootComponentsCore(e),Qe._internal.endUpdateRootComponents=t=>e.onAfterUpdateRootComponents?.(t),Qe._internal.attachRootComponentToElement=(e,t,n)=>{const r=s.resolveRegisteredElement(e);r?ye(n,r,t,!1):function(e,t,n){const r="::before";let o=!1;if(e.endsWith("::after"))e=e.slice(0,-7),o=!0;else if(e.endsWith(r))throw new Error(`The '${r}' selector is not supported.`);const i=function(e){const t=h.get(e);if(t)return h.delete(e),t}(e)||document.querySelector(e);if(!i)throw new Error(`Could not find any element matching selector '${e}'.`);ye(n,B(i,!0),t,o)}(e,t,n)};try{await o,await i.start()}catch(e){throw new Error(`Failed to start platform. Reason: ${e}`)}i.callEntryPoint(),mt.invokeAfterStartedCallbacks(Qe),n()}function Gt(){return xt??=(async()=>{await Vt;const e=Mt??{},t=Mt?.configureRuntime;e.configureRuntime=e=>{t?.(e)},await pt.load(e,Bt)})(),xt}function Zt(e,t,n,r,o){return 0!==o?(ut.beginInvokeJSFromDotNet(o,e,r,n,t),null):ut.invokeJSFromDotNet(e,r,n,t)}function Qt(e,t,n){ut.endInvokeDotNetFromJS(e,t,n)}function en(e,t,n,r){!function(e,t,n,r,o){let i=Ze.get(t);if(!i){const n=new ReadableStream({start(e){Ze.set(t,e),i=e}});e.supplyDotNetStream(t,n)}o?(i.error(o),Ze.delete(t)):0===r?(i.close(),Ze.delete(t)):i.enqueue(n.length===r?n:n.subarray(0,r))}(ut,e,t,n,r)}function tn(e,t){ut.receiveByteArray(e,t)}class nn{constructor(e){this.initialComponents=e}resolveRootComponent(e){return this.initialComponents[e]}}class rn{constructor(){this._eventListeners=new Map}static create(e){const t=new rn;return e.addEventListener=t.addEventListener.bind(t),e.removeEventListener=t.removeEventListener.bind(t),t}addEventListener(e,t){let n=this._eventListeners.get(e);n||(n=new Set,this._eventListeners.set(e,n)),n.add(t)}removeEventListener(e,t){this._eventListeners.get(e)?.delete(t)}dispatchEvent(e,t){const n=this._eventListeners.get(e);if(!n)return;const r={...t,type:e};for(const e of n)e(r)}}let on=!1;async function sn(e){if(on)throw new Error("Blazor has already started.");on=!0,Xt(Promise.resolve(e||{})),rn.create(Qe);const t=Ft(document,"webassembly"),n=new nn(t);await Yt(n)}Qe.start=sn,window.DotNet=e,document&&document.currentScript&&"false"!==document.currentScript.getAttribute("autostart")&&sn().catch(vt)}(); +; -/*! For license information please see AuthenticationService.js.LICENSE.txt */ -var t,e;t={671:function(t){var e;e=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=22)}([function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r=4){for(var t=arguments.length,e=Array(t),r=0;r=3){for(var t=arguments.length,e=Array(t),r=0;r=2){for(var t=arguments.length,e=Array(t),r=0;r=1){for(var t=arguments.length,e=Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=e,this._jsonService=new r(["application/jwk-set+json"])}return t.prototype.resetSigningKeys=function(){this._settings=this._settings||{},this._settings.signingKeys=void 0},t.prototype.getMetadata=function(){var t=this;return this._settings.metadata?(i.Log.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(e){i.Log.debug("MetadataService.getMetadata: json received");var r=t._settings.metadataSeed||{};return t._settings.metadata=Object.assign({},r,e),t._settings.metadata}))):(i.Log.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))},t.prototype.getIssuer=function(){return this._getMetadataProperty("issuer")},t.prototype.getAuthorizationEndpoint=function(){return this._getMetadataProperty("authorization_endpoint")},t.prototype.getUserInfoEndpoint=function(){return this._getMetadataProperty("userinfo_endpoint")},t.prototype.getTokenEndpoint=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty("token_endpoint",t)},t.prototype.getCheckSessionIframe=function(){return this._getMetadataProperty("check_session_iframe",!0)},t.prototype.getEndSessionEndpoint=function(){return this._getMetadataProperty("end_session_endpoint",!0)},t.prototype.getRevocationEndpoint=function(){return this._getMetadataProperty("revocation_endpoint",!0)},t.prototype.getKeysEndpoint=function(){return this._getMetadataProperty("jwks_uri",!0)},t.prototype._getMetadataProperty=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug("MetadataService.getMetadataProperty for: "+t),this.getMetadata().then((function(r){if(i.Log.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===r[t]){if(!0===e)return void i.Log.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+t);throw i.Log.error("MetadataService.getMetadataProperty: Metadata does not contain property "+t),new Error("Metadata does not contain property "+t)}return r[t]}))},t.prototype.getSigningKeys=function(){var t=this;return this._settings.signingKeys?(i.Log.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then((function(e){return i.Log.debug("MetadataService.getSigningKeys: jwks_uri received",e),t._jsonService.getJson(e).then((function(e){if(i.Log.debug("MetadataService.getSigningKeys: key set received",e),!e.keys)throw i.Log.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return t._settings.signingKeys=e.keys,t._settings.signingKeys}))}))},n(t,[{key:"metadataUrl",get:function(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(s)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=s))),this._metadataUrl}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UrlUtility=void 0;var n=r(0),i=r(1);e.UrlUtility=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.addQueryParam=function(t,e,r){return t.indexOf("?")<0&&(t+="?"),"?"!==t[t.length-1]&&(t+="&"),t+=encodeURIComponent(e),(t+="=")+encodeURIComponent(r)},t.parseUrlFragment=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;"string"!=typeof t&&(t=r.location.href);var o=t.lastIndexOf(e);o>=0&&(t=t.substr(o+1)),"?"===e&&(o=t.indexOf("#"))>=0&&(t=t.substr(0,o));for(var s,a={},u=/([^&=]+)=([^&]*)/g,c=0;s=u.exec(t);)if(a[decodeURIComponent(s[1])]=decodeURIComponent(s[2].replace(/\+/g," ")),c++>50)return n.Log.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",t),{error:"Response exceeded expected number of parameters"};for(var h in a)return a;return{}},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JoseUtil=void 0;var n=r(26),i=function(t){return t&&t.__esModule?t:{default:t}}(r(33));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OidcClientSettings=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,h=e.signingKeys,l=e.metadataSeed,f=e.client_id,g=e.client_secret,d=e.response_type,p=void 0===d?"id_token":d,v=e.scope,y=void 0===v?"openid":v,m=e.redirect_uri,_=e.post_logout_redirect_uri,S=e.client_authentication,w=void 0===S?"client_secret_post":S,b=e.prompt,F=e.display,E=e.max_age,x=e.ui_locales,A=e.acr_values,k=e.resource,P=e.response_mode,C=e.filterProtocolClaims,T=void 0===C||C,R=e.loadUserInfo,I=void 0===R||R,D=e.staleStateAge,L=void 0===D?900:D,N=e.clockSkew,U=void 0===N?300:N,O=e.clockService,B=void 0===O?new s.ClockService:O,M=e.userInfoJwtIssuer,j=void 0===M?"OP":M,H=e.mergeClaims,K=void 0!==H&&H,V=e.stateStore,q=void 0===V?new a.WebStorageStateStore:V,J=e.ResponseValidatorCtor,W=void 0===J?u.ResponseValidator:J,z=e.MetadataServiceCtor,Y=void 0===z?c.MetadataService:z,G=e.extraQueryParams,$=void 0===G?{}:G,X=e.extraTokenParams,Q=void 0===X?{}:X;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=l,this._signingKeys=h,this._client_id=f,this._client_secret=g,this._response_type=p,this._scope=y,this._redirect_uri=m,this._post_logout_redirect_uri=_,this._client_authentication=w,this._prompt=b,this._display=F,this._max_age=E,this._ui_locales=x,this._acr_values=A,this._resource=k,this._response_mode=P,this._filterProtocolClaims=!!T,this._loadUserInfo=!!I,this._staleStateAge=L,this._clockSkew=U,this._clockService=B,this._userInfoJwtIssuer=j,this._mergeClaims=!!K,this._stateStore=q,this._validator=new W(this),this._metadataService=new Y(this),this._extraQueryParams="object"===(void 0===$?"undefined":n($))?$:{},this._extraTokenParams="object"===(void 0===Q?"undefined":n(Q))?Q:{}}return t.prototype.getEpochTime=function(){return this._clockService.getEpochTime()},i(t,[{key:"client_id",get:function(){return this._client_id},set:function(t){if(this._client_id)throw o.Log.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=t}},{key:"client_secret",get:function(){return this._client_secret}},{key:"response_type",get:function(){return this._response_type}},{key:"scope",get:function(){return this._scope}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"post_logout_redirect_uri",get:function(){return this._post_logout_redirect_uri}},{key:"client_authentication",get:function(){return this._client_authentication}},{key:"prompt",get:function(){return this._prompt}},{key:"display",get:function(){return this._display}},{key:"max_age",get:function(){return this._max_age}},{key:"ui_locales",get:function(){return this._ui_locales}},{key:"acr_values",get:function(){return this._acr_values}},{key:"resource",get:function(){return this._resource}},{key:"response_mode",get:function(){return this._response_mode}},{key:"authority",get:function(){return this._authority},set:function(t){if(this._authority)throw o.Log.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=t}},{key:"metadataUrl",get:function(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(h)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=h)),this._metadataUrl}},{key:"metadata",get:function(){return this._metadata},set:function(t){this._metadata=t}},{key:"metadataSeed",get:function(){return this._metadataSeed},set:function(t){this._metadataSeed=t}},{key:"signingKeys",get:function(){return this._signingKeys},set:function(t){this._signingKeys=t}},{key:"filterProtocolClaims",get:function(){return this._filterProtocolClaims}},{key:"loadUserInfo",get:function(){return this._loadUserInfo}},{key:"staleStateAge",get:function(){return this._staleStateAge}},{key:"clockSkew",get:function(){return this._clockSkew}},{key:"userInfoJwtIssuer",get:function(){return this._userInfoJwtIssuer}},{key:"mergeClaims",get:function(){return this._mergeClaims}},{key:"stateStore",get:function(){return this._stateStore}},{key:"validator",get:function(){return this._validator}},{key:"metadataService",get:function(){return this._metadataService}},{key:"extraQueryParams",get:function(){return this._extraQueryParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraQueryParams=t:this._extraQueryParams={}}},{key:"extraTokenParams",get:function(){return this._extraTokenParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraTokenParams=t:this._extraTokenParams={}}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WebStorageStateStore=void 0;var n=r(0),i=r(1);e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?"oidc.":r,o=e.store,s=void 0===o?i.Global.localStorage:o;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._store=s,this._prefix=n}return t.prototype.set=function(t,e){return n.Log.debug("WebStorageStateStore.set",t),t=this._prefix+t,this._store.setItem(t,e),Promise.resolve()},t.prototype.get=function(t){n.Log.debug("WebStorageStateStore.get",t),t=this._prefix+t;var e=this._store.getItem(t);return Promise.resolve(e)},t.prototype.remove=function(t){n.Log.debug("WebStorageStateStore.remove",t),t=this._prefix+t;var e=this._store.getItem(t);return this._store.removeItem(t),Promise.resolve(e)},t.prototype.getAllKeys=function(){n.Log.debug("WebStorageStateStore.getAllKeys");for(var t=[],e=0;e0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push("application/json"),n&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function(t,e){var r=this;if(!t)throw n.Log.error("JsonService.getJson: No url passed"),new Error("url");return n.Log.debug("JsonService.getJson, url: ",t),new Promise((function(i,o){var s=new r._XMLHttpRequest;s.open("GET",t);var a=r._contentTypes,u=r._jwtHandler;s.onload=function(){if(n.Log.debug("JsonService.getJson: HTTP response received, status",s.status),200===s.status){var e=s.getResponseHeader("Content-Type");if(e){var r=a.find((function(t){if(e.startsWith(t))return!0}));if("application/jwt"==r)return void u(s).then(i,o);if(r)try{return void i(JSON.parse(s.responseText))}catch(t){return n.Log.error("JsonService.getJson: Error parsing JSON response",t.message),void o(t)}}o(Error("Invalid response Content-Type: "+e+", from URL: "+t))}else o(Error(s.statusText+" ("+s.status+")"))},s.onerror=function(){n.Log.error("JsonService.getJson: network error"),o(Error("Network Error"))},e&&(n.Log.debug("JsonService.getJson: token passed, setting Authorization header"),s.setRequestHeader("Authorization","Bearer "+e)),s.send()}))},t.prototype.postForm=function(t,e,r){var i=this;if(!t)throw n.Log.error("JsonService.postForm: No url passed"),new Error("url");return n.Log.debug("JsonService.postForm, url: ",t),new Promise((function(o,s){var a=new i._XMLHttpRequest;a.open("POST",t);var u=i._contentTypes;a.onload=function(){if(n.Log.debug("JsonService.postForm: HTTP response received, status",a.status),200!==a.status){if(400===a.status&&(r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{var e=JSON.parse(a.responseText);if(e&&e.error)return n.Log.error("JsonService.postForm: Error from server: ",e.error),void s(new Error(e.error))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error(a.statusText+" ("+a.status+")"))}else{var r;if((r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{return void o(JSON.parse(a.responseText))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error("Invalid response Content-Type: "+r+", from URL: "+t))}},a.onerror=function(){n.Log.error("JsonService.postForm: network error"),s(Error("Network Error"))};var c="";for(var h in e){var l=e[h];l&&(c.length>0&&(c+="&"),c+=encodeURIComponent(h),c+="=",c+=encodeURIComponent(l))}a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void 0!==r&&a.setRequestHeader("Authorization","Basic "+btoa(r)),a.send(c)}))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,h=e.authority,l=e.data,f=e.prompt,g=e.display,d=e.max_age,p=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,w=e.request,b=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,k=e.skipUserInfo;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SigninRequest.ctor: No url passed"),new Error("url");if(!s)throw n.Log.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!a)throw n.Log.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!u)throw n.Log.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!c)throw n.Log.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!h)throw n.Log.error("SigninRequest.ctor: No authority passed"),new Error("authority");var P=t.isOidc(u),C=t.isCode(u);S||(S=t.isCode(u)?"query":null),this.state=new o.SigninState({nonce:P,data:l,client_id:s,authority:h,redirect_uri:a,code_verifier:C,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:k}),r=i.UrlUtility.addQueryParam(r,"client_id",s),r=i.UrlUtility.addQueryParam(r,"redirect_uri",a),r=i.UrlUtility.addQueryParam(r,"response_type",u),r=i.UrlUtility.addQueryParam(r,"scope",c),r=i.UrlUtility.addQueryParam(r,"state",this.state.id),P&&(r=i.UrlUtility.addQueryParam(r,"nonce",this.state.nonce)),C&&(r=i.UrlUtility.addQueryParam(r,"code_challenge",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,"code_challenge_method","S256"));var T={prompt:f,display:g,max_age:d,ui_locales:p,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:w,request_uri:b,response_mode:S};for(var R in T)T[R]&&(r=i.UrlUtility.addQueryParam(r,R,T[R]));for(var I in F)r=i.UrlUtility.addQueryParam(r,I,F[I]);this.url=r}return t.isOidc=function(t){return!!t.split(/\s+/g).filter((function(t){return"id_token"===t}))[0]},t.isOAuth=function(t){return!!t.split(/\s+/g).filter((function(t){return"token"===t}))[0]},t.isCode=function(t){return!!t.split(/\s+/g).filter((function(t){return"code"===t}))[0]},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._id=r||(0,o.default)(),this._data=n,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function(){return i.Log.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function(e){return i.Log.debug("State.fromStorageString"),new t(JSON.parse(e))},t.clearStaleState=function(e,r){var n=Date.now()/1e3-r;return e.getAllKeys().then((function(r){i.Log.debug("State.clearStaleState: got keys",r);for(var o=[],s=function(s){var a=r[s];u=e.get(a).then((function(r){var o=!1;if(r)try{var s=t.fromStorageString(r);i.Log.debug("State.clearStaleState: got item from key: ",a,s.created),s.created<=n&&(o=!0)}catch(t){i.Log.error("State.clearStaleState: Error parsing state for key",a,t.message),o=!0}else i.Log.debug("State.clearStaleState: no item in storage for key: ",a),o=!0;if(o)return i.Log.debug("State.clearStaleState: removed item for key: ",a),e.remove(a)})),o.push(u)},a=0;a0&&void 0!==arguments[0]?arguments[0]:{};(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.response_type,n=e.scope,o=e.redirect_uri,s=e.data,u=e.state,c=e.prompt,h=e.display,l=e.max_age,f=e.ui_locales,g=e.id_token_hint,d=e.login_hint,p=e.acr_values,v=e.resource,y=e.request,m=e.request_uri,_=e.response_mode,S=e.extraQueryParams,w=e.extraTokenParams,b=e.request_type,F=e.skipUserInfo,E=arguments[1];i.Log.debug("OidcClient.createSigninRequest");var x=this._settings.client_id;r=r||this._settings.response_type,n=n||this._settings.scope,o=o||this._settings.redirect_uri,c=c||this._settings.prompt,h=h||this._settings.display,l=l||this._settings.max_age,f=f||this._settings.ui_locales,p=p||this._settings.acr_values,v=v||this._settings.resource,_=_||this._settings.response_mode,S=S||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var A=this._settings.authority;return a.SigninRequest.isCode(r)&&"code"!==r?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then((function(e){i.Log.debug("OidcClient.createSigninRequest: Received authorization endpoint",e);var k=new a.SigninRequest({url:e,client_id:x,redirect_uri:o,response_type:r,scope:n,data:s||u,authority:A,prompt:c,display:h,max_age:l,ui_locales:f,id_token_hint:g,login_hint:d,acr_values:p,resource:v,request:y,request_uri:m,extraQueryParams:S,extraTokenParams:w,request_type:b,response_mode:_,client_secret:t._settings.client_secret,skipUserInfo:F}),P=k.state;return(E=E||t._stateStore).set(P.id,P.toStorageString()).then((function(){return k}))}))},t.prototype.readSigninResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSigninResponseState");var n="query"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type)?"?":"#",o=new u.SigninResponse(t,n);return o.state?(e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o.state).then((function(t){if(!t)throw i.Log.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:l.SigninState.fromStorageString(t),response:o}}))):(i.Log.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response")))},t.prototype.processSigninResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return i.Log.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),r._validator.validateSigninResponse(e,n)}))},t.prototype.createSignoutRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.id_token_hint,n=e.data,o=e.state,s=e.post_logout_redirect_uri,a=e.extraQueryParams,u=e.request_type,h=arguments[1];return i.Log.debug("OidcClient.createSignoutRequest"),s=s||this._settings.post_logout_redirect_uri,a=a||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(e){if(!e)throw i.Log.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");i.Log.debug("OidcClient.createSignoutRequest: Received end session endpoint",e);var l=new c.SignoutRequest({url:e,id_token_hint:r,post_logout_redirect_uri:s,data:n||o,extraQueryParams:a,request_type:u}),f=l.state;return f&&(i.Log.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(h=h||t._stateStore).set(f.id,f.toStorageString())),l}))},t.prototype.readSignoutResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSignoutResponseState");var n=new h.SignoutResponse(t);if(!n.state)return i.Log.debug("OidcClient.readSignoutResponseState: No state in response"),n.error?(i.Log.warn("OidcClient.readSignoutResponseState: Response was error: ",n.error),Promise.reject(new s.ErrorResponse(n))):Promise.resolve({state:void 0,response:n});var o=n.state;return e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o).then((function(t){if(!t)throw i.Log.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:f.State.fromStorageString(t),response:n}}))},t.prototype.processSignoutResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return e?(i.Log.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),r._validator.validateSignoutResponse(e,n)):(i.Log.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),n)}))},t.prototype.clearStaleState=function(t){return i.Log.debug("OidcClient.clearStaleState"),t=t||this._stateStore,f.State.clearStaleState(t,this.settings.staleStateAge)},n(t,[{key:"_stateStore",get:function(){return this.settings.stateStore}},{key:"_validator",get:function(){return this.settings.validator}},{key:"_metadataService",get:function(){return this.settings.metadataService}},{key:"settings",get:function(){return this._settings}},{key:"metadataService",get:function(){return this._metadataService}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r,this._metadataService=new s(this._settings)}return t.prototype.exchangeCode=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"authorization_code",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret,e.redirect_uri=e.redirect_uri||this._settings.redirect_uri;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.code?e.redirect_uri?e.code_verifier?e.client_id?e.client_secret||"client_secret_basic"!=n?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeCode: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeCode: response received"),t}))}))):(o.Log.error("TokenClient.exchangeCode: No client_secret passed"),Promise.reject(new Error("A client_secret is required"))):(o.Log.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(o.Log.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(o.Log.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))},t.prototype.exchangeRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"refresh_token",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.refresh_token?e.client_id?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeRefreshToken: response received"),t}))}))):(o.Log.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ErrorResponse=void 0;var n=r(0);e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.error,o=r.error_description,s=r.error_uri,a=r.state,u=r.session_state;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),!i)throw n.Log.error("No error passed to ErrorResponse"),new Error("error");var c=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,o||i));return c.name="ErrorResponse",c.error=i,c.error_description=o,c.error_uri=s,c.state=a,c.session_state=u,c}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,c=r.code_verifier,h=r.response_mode,l=r.client_secret,f=r.scope,g=r.extraTokenParams,d=r.skipUserInfo;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var p=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));if(!0===n?p._nonce=(0,a.default)():n&&(p._nonce=n),!0===c?p._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():c&&(p._code_verifier=c),p.code_verifier){var v=s.JoseUtil.hashString(p.code_verifier,"SHA256");p._code_challenge=s.JoseUtil.hexToBase64Url(v)}return p._redirect_uri=u,p._authority=i,p._client_id=o,p._response_mode=h,p._client_secret=l,p._scope=f,p._extraTokenParams=g,p._skipUserInfo=d,p}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function(){return i.Log.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function(t){return i.Log.debug("SigninState.fromStorageString"),new e(JSON.parse(t))},n(e,[{key:"nonce",get:function(){return this._nonce}},{key:"authority",get:function(){return this._authority}},{key:"client_id",get:function(){return this._client_id}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"code_verifier",get:function(){return this._code_verifier}},{key:"code_challenge",get:function(){return this._code_challenge}},{key:"response_mode",get:function(){return this._response_mode}},{key:"client_secret",get:function(){return this._client_secret}},{key:"scope",get:function(){return this._scope}},{key:"extraTokenParams",get:function(){return this._extraTokenParams}},{key:"skipUserInfo",get:function(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return("undefined"!=n&&null!==n&&void 0!==n.getRandomValues?i:o)().replace(/-/g,"")};var n="undefined"!=typeof window?window.crypto||window.msCrypto:null;function i(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^n.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^16*Math.random()>>t/4).toString(16)}))}t.exports=e.default},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessTokenEvents=void 0;var n=r(0),i=r(46);e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?60:r,o=e.accessTokenExpiringTimer,s=void 0===o?new i.Timer("Access token expiring"):o,a=e.accessTokenExpiredTimer,u=void 0===a?new i.Timer("Access token expired"):a;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=s,this._accessTokenExpired=u}return t.prototype.load=function(t){if(t.access_token&&void 0!==t.expires_in){var e=t.expires_in;if(n.Log.debug("AccessTokenEvents.load: access token present, remaining duration:",e),e>0){var r=e-this._accessTokenExpiringNotificationTime;r<=0&&(r=1),n.Log.debug("AccessTokenEvents.load: registering expiring timer in:",r),this._accessTokenExpiring.init(r)}else n.Log.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();var i=e+1;n.Log.debug("AccessTokenEvents.load: registering expired timer in:",i),this._accessTokenExpired.init(i)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function(){n.Log.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function(t){this._accessTokenExpiring.addHandler(t)},t.prototype.removeAccessTokenExpiring=function(t){this._accessTokenExpiring.removeHandler(t)},t.prototype.addAccessTokenExpired=function(t){this._accessTokenExpired.addHandler(t)},t.prototype.removeAccessTokenExpired=function(t){this._accessTokenExpired.removeHandler(t)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=r(0);e.Event=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function(t){this._callbacks.push(t)},t.prototype.removeHandler=function(t){var e=this._callbacks.findIndex((function(e){return e===t}));e>=0&&this._callbacks.splice(e,1)},t.prototype.raise=function(){n.Log.debug("Event: Raising event: "+this._name);for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=a,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)})).catch((function(t){i.Log.error("SessionMonitor ctor: error from querySessionStatus:",t.message)}))})).catch((function(t){i.Log.error("SessionMonitor ctor: error from getUser:",t.message)})))}return t.prototype._start=function(t){var e=this,r=t.session_state;r&&(t.profile?(this._sub=t.profile.sub,this._sid=t.profile.sid,i.Log.debug("SessionMonitor._start: session_state:",r,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug("SessionMonitor._start: session_state:",r,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(r):this._metadataService.getCheckSessionIframe().then((function(t){if(t){i.Log.debug("SessionMonitor._start: Initializing check session iframe");var n=e._client_id,o=e._checkSessionInterval,s=e._stopCheckSessionOnError;e._checkSessionIFrame=new e._CheckSessionIFrameCtor(e._callback.bind(e),n,t,o,s),e._checkSessionIFrame.load().then((function(){e._checkSessionIFrame.start(r)}))}else i.Log.warn("SessionMonitor._start: No check session iframe found in the metadata")})).catch((function(t){i.Log.error("SessionMonitor._start: Error from getCheckSessionIframe:",t.message)})))},t.prototype._stop=function(){var t=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var e=this._timer.setInterval((function(){t._timer.clearInterval(e),t._userManager.querySessionStatus().then((function(e){var r={session_state:e.session_state};e.sub&&e.sid&&(r.profile={sub:e.sub,sid:e.sid}),t._start(r)})).catch((function(t){i.Log.error("SessionMonitor: error from querySessionStatus:",t.message)}))}),1e3)},t.prototype._callback=function(){var t=this;this._userManager.querySessionStatus().then((function(e){var r=!0;e?e.sub===t._sub?(r=!1,t._checkSessionIFrame.start(e.session_state),e.sid===t._sid?i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",e.session_state):(i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",e.session_state),t._userManager.events._raiseUserSessionChanged())):i.Log.debug("SessionMonitor._callback: Different subject signed into OP:",e.sub):i.Log.debug("SessionMonitor._callback: Subject no longer signed into OP"),r&&(t._sub?(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),t._userManager.events._raiseUserSignedOut()):(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),t._userManager.events._raiseUserSignedIn()))})).catch((function(e){t._sub&&(i.Log.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",e.message),t._userManager.events._raiseUserSignedOut())}))},n(t,[{key:"_settings",get:function(){return this._userManager.settings}},{key:"_metadataService",get:function(){return this._userManager.metadataService}},{key:"_client_id",get:function(){return this._settings.client_id}},{key:"_checkSessionInterval",get:function(){return this._settings.checkSessionInterval}},{key:"_stopCheckSessionOnError",get:function(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(0);e.CheckSessionIFrame=function(){function t(e,r,n,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=i||2e3,this._stopOnError=o;var s=n.indexOf("/",n.indexOf("//")+2);this._frame_origin=n.substr(0,s),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.width=0,this._frame.height=0,this._frame.src=n}return t.prototype.load=function(){var t=this;return new Promise((function(e){t._frame.onload=function(){e()},window.document.body.appendChild(t._frame),t._boundMessageEvent=t._message.bind(t),window.addEventListener("message",t._boundMessageEvent,!1)}))},t.prototype._message=function(t){t.origin===this._frame_origin&&t.source===this._frame.contentWindow&&("error"===t.data?(n.Log.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===t.data?(n.Log.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):n.Log.debug("CheckSessionIFrame: "+t.data+" message from check session op iframe"))},t.prototype.start=function(t){var e=this;if(this._session_state!==t){n.Log.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=t;var r=function(){e._frame.contentWindow.postMessage(e._client_id+" "+e._session_state,e._frame_origin)};r(),this._timer=window.setInterval(r,this._interval)}},t.prototype.stop=function(){this._session_state=null,this._timer&&(n.Log.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1);e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw n.Log.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new s(this._settings)}return t.prototype.revoke=function(t,e){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"access_token";if(!t)throw n.Log.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if("access_token"!==i&&"refresh_token"!=i)throw n.Log.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then((function(o){if(o){n.Log.debug("TokenRevocationClient.revoke: Revoking "+i);var s=r._settings.client_id,a=r._settings.client_secret;return r._revoke(o,s,a,t,i)}if(e)throw n.Log.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")}))},t.prototype._revoke=function(t,e,r,i,o){var s=this;return new Promise((function(a,u){var c=new s._XMLHttpRequestCtor;c.open("POST",t),c.onload=function(){n.Log.debug("TokenRevocationClient.revoke: HTTP response received, status",c.status),200===c.status?a():u(Error(c.statusText+" ("+c.status+")"))},c.onerror=function(){n.Log.debug("TokenRevocationClient.revoke: Network Error."),u("Network Error")};var h="client_id="+encodeURIComponent(e);r&&(h+="&client_secret="+encodeURIComponent(r)),h+="&token_type_hint="+encodeURIComponent(o),h+="&token="+encodeURIComponent(i),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.send(h)}))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new h(this._settings)}return t.prototype.validateSigninResponse=function(t,e){var r=this;return i.Log.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: state processed"),r._validateTokens(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: tokens validated"),r._processClaims(t,e).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: claims processed"),t}))}))}))},t.prototype.validateSignoutResponse=function(t,e){return t.id!==e.state?(i.Log.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(i.Log.debug("ResponseValidator.validateSignoutResponse: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator.validateSignoutResponse: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):Promise.resolve(e))},t.prototype._processSigninParams=function(t,e){if(t.id!==e.state)return i.Log.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!t.client_id)return i.Log.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!t.authority)return i.Log.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==t.authority)return i.Log.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=t.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==t.client_id)return i.Log.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=t.client_id;return i.Log.debug("ResponseValidator._processSigninParams: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator._processSigninParams: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):t.nonce&&!e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!t.nonce&&e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):t.code_verifier&&!e.code?(i.Log.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!t.code_verifier&&e.code?(i.Log.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(e.scope||(e.scope=t.scope),Promise.resolve(e))},t.prototype._processClaims=function(t,e){var r=this;if(e.isOpenIdConnect){if(i.Log.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),e.profile=this._filterProtocolClaims(e.profile),!0!==t.skipUserInfo&&this._settings.loadUserInfo&&e.access_token)return i.Log.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(e.access_token).then((function(t){return i.Log.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),t.sub!==e.profile.sub?(i.Log.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in id_token"))):(e.profile=r._mergeClaims(e.profile,t),i.Log.debug("ResponseValidator._processClaims: user info claims received, updated profile:",e.profile),e)}));i.Log.debug("ResponseValidator._processClaims: not loading user info")}else i.Log.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(e)},t.prototype._mergeClaims=function(t,e){var r=Object.assign({},t);for(var i in e){var o=e[i];Array.isArray(o)||(o=[o]);for(var s=0;s1)return i.Log.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));o=r[0]}return Promise.resolve(o)}))},t.prototype._getSigningKeyForJwtWithSingleRetry=function(t){var e=this;return this._getSigningKeyForJwt(t).then((function(r){return r?Promise.resolve(r):(e._metadataService.resetSigningKeys(),e._getSigningKeyForJwt(t))}))},t.prototype._validateIdToken=function(t,e){var r=this;if(!t.nonce)return i.Log.error("ResponseValidator._validateIdToken: No nonce on state"),Promise.reject(new Error("No nonce on state"));var n=this._joseUtil.parseJwt(e.id_token);return n&&n.header&&n.payload?t.nonce!==n.payload.nonce?(i.Log.error("ResponseValidator._validateIdToken: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):this._metadataService.getIssuer().then((function(o){return i.Log.debug("ResponseValidator._validateIdToken: Received issuer"),r._getSigningKeyForJwtWithSingleRetry(n).then((function(s){if(!s)return i.Log.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var a=t.client_id,u=r._settings.clockSkew;return i.Log.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",u),r._joseUtil.validateJwt(e.id_token,s,o,a,u).then((function(){return i.Log.debug("ResponseValidator._validateIdToken: JWT validation successful"),n.payload.sub?(e.profile=n.payload,e):(i.Log.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))}))}))})):(i.Log.error("ResponseValidator._validateIdToken: Failed to parse id_token",n),Promise.reject(new Error("Failed to parse id_token")))},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return i.Log.debug("ResponseValidator._filterByAlg: alg not supported: ",e),[];r="EC"}return i.Log.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),i.Log.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",r,t.length),t},t.prototype._validateAccessToken=function(t){if(!t.profile)return i.Log.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!t.profile.at_hash)return i.Log.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!t.id_token)return i.Log.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));var e=this._joseUtil.parseJwt(t.id_token);if(!e||!e.header)return i.Log.error("ResponseValidator._validateAccessToken: Failed to parse id_token",e),Promise.reject(new Error("Failed to parse id_token"));var r=e.header.alg;if(!r||5!==r.length)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r),Promise.reject(new Error("Unsupported alg: "+r));var n=r.substr(2,3);if(!n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));if(256!==(n=parseInt(n))&&384!==n&&512!==n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));var o="sha"+n,s=this._joseUtil.hashString(t.access_token,o);if(!s)return i.Log.error("ResponseValidator._validateAccessToken: access_token hash failed:",o),Promise.reject(new Error("Failed to validate at_hash"));var a=s.substr(0,s.length/2),u=this._joseUtil.hexToBase64Url(a);return u!==t.profile.at_hash?(i.Log.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",u,t.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(i.Log.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(t))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),s=r(4);e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new a(this._settings),this._joseUtil=u}return t.prototype.getClaims=function(t){var e=this;return t?this._metadataService.getUserInfoEndpoint().then((function(r){return o.Log.debug("UserInfoService.getClaims: received userinfo url",r),e._jsonService.getJson(r,t).then((function(t){return o.Log.debug("UserInfoService.getClaims: claims received",t),t}))})):(o.Log.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",n),Promise.reject(new Error("Failed to parse id_token"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case"OP":s=this._metadataService.getIssuer();break;case"ANY":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then((function(t){return o.Log.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+t),r._metadataService.getSigningKeys().then((function(s){if(!s)return o.Log.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));o.Log.debug("UserInfoService._getClaimsFromJwt: Received signing keys");var a=void 0;if(i)a=s.filter((function(t){return t.kid===i}))[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));a=s[0]}if(!a)return o.Log.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then((function(){return o.Log.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),n.payload}))}))}))}catch(t){return o.Log.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",t.message),void reject(t)}},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return o.Log.debug("UserInfoService._filterByAlg: alg not supported: ",e),[];r="EC"}return o.Log.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),o.Log.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",r,t.length),t},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(27);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n={userAgent:!1},i={};if(void 0===o)var o={};o.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var i=function(){};if(i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),r){var o;for(o in r)t.prototype[o]=r[o];var s=function(){},a=["toString","valueOf"];try{/MSIE/.test(n.userAgent)&&(s=function(t,e){for(o=0;o>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,e=this.sigBytes;t[e>>>2]&=4294967295<<32-e%4*8,t.length=s.ceil(e/4)},clone:function(){var t=c.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],r=0;r>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new h.init(r,e/2)}},g=l.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new h.init(r,e)}},d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(g.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return g.parse(unescape(encodeURIComponent(t)))}},p=u.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new h.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var e=this._data,r=e.words,n=e.sigBytes,i=this.blockSize,o=n/(4*i),a=(o=t?s.ceil(o):s.max((0|o)-this._minBufferSize,0))*i,u=s.min(4*a,n);if(a){for(var c=0;c>>2]>>>24-i%4*8&255)<<16|(e[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|e[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;4>s&&i+.75*s>>6*(3-s)&63));if(e=n.charAt(64))for(;t.length%4;)t.push(e);return t.join("")},parse:function(t){var r=t.length,n=this._map;(i=n.charAt(64))&&-1!=(i=t.indexOf(i))&&(r=i);for(var i=[],o=0,s=0;s>>6-s%4*2;i[o>>>2]|=(a|u)<<24-o%4*8,o++}return e.create(i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(t){for(var e=y,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function(t){return 4294967296*(t-(0|t))|0},u=2,c=0;64>c;){var h;t:{h=u;for(var l=t.sqrt(h),f=2;f<=l;f++)if(!(h%f)){h=!1;break t}h=!0}h&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var g=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],u=r[4],c=r[5],h=r[6],l=r[7],f=0;64>f;f++){if(16>f)g[f]=0|t[e+f];else{var d=g[f-15],p=g[f-2];g[f]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+g[f-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+g[f-16]}d=l+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&h)+s[f]+g[f],p=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&o^i&o),l=h,h=c,c=u,u=a+d|0,a=o,o=i,i=n,n=d+p|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+u|0,r[5]=r[5]+c|0,r[6]=r[6]+h|0,r[7]=r[7]+l|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=y,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=(l=this._hash.words)[0],n=l[1],i=l[2],o=l[3],u=l[4],c=l[5],h=l[6],l=l[7],f=r.high,g=r.low,d=n.high,p=n.low,v=i.high,y=i.low,m=o.high,_=o.low,S=u.high,w=u.low,b=c.high,F=c.low,E=h.high,x=h.low,A=l.high,k=l.low,P=f,C=g,T=d,R=p,I=v,D=y,L=m,N=_,U=S,O=w,B=b,M=F,j=E,H=x,K=A,V=k,q=0;80>q;q++){var J=a[q];if(16>q)var W=J.high=0|t[e+2*q],z=J.low=0|t[e+2*q+1];else{W=((z=(W=a[q-15]).high)>>>1|(Y=W.low)<<31)^(z>>>8|Y<<24)^z>>>7;var Y=(Y>>>1|z<<31)^(Y>>>8|z<<24)^(Y>>>7|z<<25),G=((z=(G=a[q-2]).high)>>>19|($=G.low)<<13)^(z<<3|$>>>29)^z>>>6,$=($>>>19|z<<13)^($<<3|z>>>29)^($>>>6|z<<26),X=(z=a[q-7]).high,Q=(Z=a[q-16]).high,Z=Z.low;W=(W=(W=W+X+((z=Y+z.low)>>>0>>0?1:0))+G+((z+=$)>>>0<$>>>0?1:0))+Q+((z+=Z)>>>0>>0?1:0),J.high=W,J.low=z}X=U&B^~U&j,Z=O&M^~O&H,J=P&T^P&I^T&I;var tt=C&R^C&D^R&D,et=(Y=(P>>>28|C<<4)^(P<<30|C>>>2)^(P<<25|C>>>7),G=(C>>>28|P<<4)^(C<<30|P>>>2)^(C<<25|P>>>7),($=s[q]).high),rt=$.low;Q=K+((U>>>14|O<<18)^(U>>>18|O<<14)^(U<<23|O>>>9))+(($=V+((O>>>14|U<<18)^(O>>>18|U<<14)^(O<<23|U>>>9)))>>>0>>0?1:0),K=j,V=H,j=B,H=M,B=U,M=O,U=L+(Q=(Q=(Q=Q+X+(($+=Z)>>>0>>0?1:0))+et+(($+=rt)>>>0>>0?1:0))+W+(($+=z)>>>0>>0?1:0))+((O=N+$|0)>>>0>>0?1:0)|0,L=I,N=D,I=T,D=R,T=P,R=C,P=Q+(J=Y+J+((z=G+tt)>>>0>>0?1:0))+((C=$+z|0)>>>0<$>>>0?1:0)|0}g=r.low=g+C,r.high=f+P+(g>>>0>>0?1:0),p=n.low=p+R,n.high=d+T+(p>>>0>>0?1:0),y=i.low=y+D,i.high=v+I+(y>>>0>>0?1:0),_=o.low=_+N,o.high=m+L+(_>>>0>>0?1:0),w=u.low=w+O,u.high=S+U+(w>>>0>>0?1:0),F=c.low=F+M,c.high=b+B+(F>>>0>>0?1:0),x=h.low=x+H,h.high=E+j+(x>>>0>>0?1:0),k=l.low=k+V,l.high=A+K+(k>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),e[31+(n+128>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=y,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function(){var t=n._doFinalize.call(this);return t.sigBytes-=16,t}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}();var m,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function S(t){var e,r,n="";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=_.charAt(r>>6)+_.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=_.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=_.charAt(r>>2)+_.charAt((3&r)<<4));(3&n.length)>0;)n+="=";return n}function w(t){var e,r,n,i="",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=P(r<<2|n>>4),r=15&n,o=2):2==o?(i+=P(r),i+=P(n>>2),r=3&n,o=3):(i+=P(r<<2|n>>4),i+=P(15&n),o=0));return 1==o&&(i+=P(r<<2)),i}function b(t){var e,r=w(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,h=a*u+c*s;i=((u=s*u+((32767&h)<<15)+r[n]+(1073741823&i))>>>30)+(h>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},m=30):"Netscape"!=n.appName?(F.prototype.am=function(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},m=26):(F.prototype.am=function(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,h=a*u+c*s;i=((u=s*u+((16383&h)<<14)+r[n]+i)>>28)+(h>>14)+a*c,r[n++]=268435455&u}return i},m=28),F.prototype.DB=m,F.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function I(t){this.m=t}function D(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function M(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function j(){}function H(t){return t}function K(t){this.r2=E(),this.q3=E(),F.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}I.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},I.prototype.revert=function(t){return t},I.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},I.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},I.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},D.prototype.convert=function(t){var e=E();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(F.ZERO)>0&&this.m.subTo(e,e),e},D.prototype.revert=function(t){var e=E();return t.copyTo(e),this.reduce(e),e},D.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},D.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},D.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},F.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},F.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},F.prototype.fromString=function(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:C(t,n);s<0?"-"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},F.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},F.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},F.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},F.prototype.multiplyTo=function(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},F.prototype.divRemTo=function(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,h=o[c-1];if(0!=h){var l=h*(1<1?o[c-2]>>this.F2:0),f=this.FV/l,g=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),F.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--p]==h?this.DM:Math.floor(r[p]*f+(r[p-1]+d)*g);if((r[p]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&F.ZERO.subTo(r,r)}}},F.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},F.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},F.prototype.exp=function(t,e){if(t>4294967295||t<1)return F.ONE;var r=E(),n=E(),i=e.convert(this),o=R(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},F.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=P(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=P(r));return i?o:"0"},F.prototype.negate=function(){var t=E();return F.ZERO.subTo(this,t),t},F.prototype.abs=function(){return this.s<0?this.negate():this},F.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},F.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+R(this[this.t-1]^this.s&this.DM)},F.prototype.mod=function(t){var e=E();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(F.ZERO)>0&&t.subTo(e,e),e},F.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new I(e):new D(e),this.exp(t,r)},F.ZERO=T(0),F.ONE=T(1),j.prototype.convert=H,j.prototype.revert=H,j.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},j.prototype.sqrTo=function(t,e){t.squareTo(e)},K.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=E();return t.copyTo(e),this.reduce(e),e},K.prototype.revert=function(t){return t},K.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},K.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},K.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var V,q,J,W=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],z=(1<<26)/W[W.length-1];function Y(){this.i=0,this.j=0,this.S=new Array}function G(){!function(t){q[J++]^=255&t,q[J++]^=t>>8&255,q[J++]^=t>>16&255,q[J++]^=t>>24&255,J>=256&&(J-=256)}((new Date).getTime())}if(F.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},F.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=T(r),i=E(),o=E(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},F.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&F.ZERO.subTo(this,this)},F.prototype.fromNumber=function(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(F.ONE.shiftLeft(t-1),N,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(F.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},F.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},F.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},F.prototype.multiplyLowerTo=function(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},F.prototype.millerRabin=function(t){var e=this.subtract(F.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>W.length&&(t=W.length);for(var i=E(),o=0;o>24},F.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},F.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},F.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},F.prototype.equals=function(t){return 0==this.compareTo(t)},F.prototype.min=function(t){return this.compareTo(t)<0?this:t},F.prototype.max=function(t){return this.compareTo(t)>0?this:t},F.prototype.and=function(t){var e=E();return this.bitwiseTo(t,L,e),e},F.prototype.or=function(t){var e=E();return this.bitwiseTo(t,N,e),e},F.prototype.xor=function(t){var e=E();return this.bitwiseTo(t,U,e),e},F.prototype.andNot=function(t){var e=E();return this.bitwiseTo(t,O,e),e},F.prototype.not=function(){for(var t=E(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var h=E();for(n.sqrTo(s[1],h);a<=c;)s[a]=E(),n.mulTo(h,s[a-2],s[a]),a+=2}var l,f,g=t.t-1,d=!0,p=E();for(i=R(t[g])-1;g>=0;){for(i>=u?l=t[g]>>i-u&c:(l=(t[g]&(1<0&&(l|=t[g-1]>>this.DB+i-u)),a=r;0==(1&l);)l>>=1,--a;if((i-=a)<0&&(i+=this.DB,--g),d)s[l].copyTo(o),d=!1;else{for(;a>1;)n.sqrTo(o,p),n.sqrTo(p,o),a-=2;a>0?n.sqrTo(o,p):(f=o,o=p,p=f),n.mulTo(p,s[l],o)}for(;g>=0&&0==(t[g]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(F.ONE)?F.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},F.prototype.pow=function(t){return this.exp(t,new j)},F.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},F.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=W[W.length-1]){for(e=0;e>>8,q[J++]=255&$;J=0,G()}function tt(){if(null==V){for(G(),(V=new Y).init(q),J=0;J>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function it(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ot(t,e){this.x=e,this.q=t}function st(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?F.ONE:n,this.zinv=null}function at(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new st(this,null,null)}et.prototype.nextBytes=function(t){var e;for(e=0;e0&&e.length>0))throw"Invalid RSA public key";this.n=rt(t,16),this.e=parseInt(e,16)}},it.prototype.encrypt=function(t){var e=function(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new et,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new F(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var r=this.doPublic(e);if(null==r)return null;var n=r.toString(16);return 0==(1&n.length)?n:"0"+n},it.prototype.encryptOAEP=function(t,e,r){var n=function(t,e,r,n){var i=ct.crypto.MessageDigest,o=ct.crypto.Util,s=null;if(r||(r="sha1"),"string"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function(t){return Ft(o.hashHex(Et(t),s))}),t.length+2*n+2>e)throw"Message too long for RSA";var a,u="";for(a=0;a>3,e,r);if(null==n)return null;var i=this.doPublic(n);if(null==i)return null;var o=i.toString(16);return 0==(1&o.length)?o:"0"+o},it.prototype.type="RSA",ot.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},ot.prototype.toBigInteger=function(){return this.x},ot.prototype.negate=function(){return new ot(this.q,this.x.negate().mod(this.q))},ot.prototype.add=function(t){return new ot(this.q,this.x.add(t.toBigInteger()).mod(this.q))},ot.prototype.subtract=function(t){return new ot(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},ot.prototype.multiply=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},ot.prototype.square=function(){return new ot(this.q,this.x.square().mod(this.q))},ot.prototype.divide=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},st.prototype.getX=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.getY=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.equals=function(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO))},st.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(F.ZERO)&&!this.y.toBigInteger().equals(F.ZERO)},st.prototype.negate=function(){return new st(this.curve,this.x,this.y.negate(),this.z)},st.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(F.ZERO.equals(r))return F.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new F("3"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),h=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),l=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),f=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(h),this.curve.fromBigInteger(l),f)},st.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new F("3"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);F.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},st.prototype.multiply=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this,s=this.curve.q.subtract(t),a=s.multiply(new F("3")),u=new st(this.curve,this.x,this.y),c=u.negate();for(e=n.bitLength()-2;e>0;--e){o=o.twice();var h=n.testBit(e);h!=r.testBit(e)&&(o=o.add(h?this:i))}for(e=a.bitLength()-2;e>0;--e){u=u.twice();var l=a.testBit(e);l!=s.testBit(e)&&(u=u.add(l?u:c))}return o},st.prototype.multiplyTwo=function(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},at.prototype.getQ=function(){return this.q},at.prototype.getA=function(){return this.a},at.prototype.getB=function(){return this.b},at.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},at.prototype.getInfinity=function(){return this.infinity},at.prototype.fromBigInteger=function(t){return new ot(this.q,t)},at.prototype.decodePointHex=function(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new st(this,this.fromBigInteger(new F(r,16)),this.fromBigInteger(new F(n,16)))}},ot.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},st.prototype.getEncoded=function(t){var e=function(t,e){var r=t.toByteArrayUnsigned();if(er.length;)r.unshift(0);return r},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},st.decodeFrom=function(t,e){e[0];var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new F(n),s=new F(i);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new F(n,16),s=new F(i,16);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(F.valueOf(2)),e=this.curve.fromBigInteger(F.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},st.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},st.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},st.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(F.ONE)<0||e.compareTo(t.subtract(F.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(F.ONE)<0||r.compareTo(t.subtract(F.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(t).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var ut=function(){var t=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),e=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),n={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function i(t,e,r){return e?n[e]:String.fromCharCode(parseInt(r,16))}var o=new String(""),s=Object.hasOwnProperty;return function(n,a){var u,c,h=n.match(t),l=h[0],f=!1;"{"===l?u={}:"["===l?u=[]:(u=[],f=!0);for(var g=[u],d=1-f,p=h.length;d=0;)delete i[o[h]]}return a.call(e,n,i)}({"":u},"")),u}}();void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.asn1&&ct.asn1||(ct.asn1={}),ct.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},ct.asn1.DERAbstractString=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=wt(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},o.lang.extend(ct.asn1.DERAbstractString,ct.asn1.ASN1Object),ct.asn1.DERAbstractTime=function(t){ct.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());"utc"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+"."+(u=u.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=vt(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},o.lang.extend(ct.asn1.DERAbstractTime,ct.asn1.ASN1Object),ct.asn1.DERAbstractStructured=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},o.lang.extend(ct.asn1.DERAbstractStructured,ct.asn1.ASN1Object),ct.asn1.DERBoolean=function(t){ct.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==t?"010100":"0101ff"},o.lang.extend(ct.asn1.DERBoolean,ct.asn1.ASN1Object),ct.asn1.DERInteger=function(t){ct.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=ct.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new F(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},o.lang.extend(ct.asn1.DERInteger,ct.asn1.ASN1Object),ct.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=ct.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}ct.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,"::")).slice(1,-1)}function Ut(t){var e="malformed hex value";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?Nt(t):t;try{return parseInt(t.substr(0,2),16)+"."+parseInt(t.substr(2,2),16)+"."+parseInt(t.substr(4,2),16)+"."+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Ot(t){for(var e=encodeURIComponent(t),r="",n=0;n"7"?"00"+t:t}ft.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=n)break}return s},ft.getNthChildIdx=function(t,e,r){return ft.getChildIdx(t,e)[r]},ft.getIdxbyList=function(t,e,r,n){var i,o,s=ft;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[i],r,n)},ft.getIdxbyListEx=function(t,e,r,n){var i,o,s=ft;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u=t.length?null:i.getTLV(t,o)},ft.getTLVbyListEx=function(t,e,r,n){var i=ft,o=i.getIdxbyListEx(t,e,r,n);return-1==o?null:i.getTLV(t,o)},ft.getVbyList=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyList(t,e,r,n))||o>=t.length?null:(s=a.getV(t,o),!0===i&&(s=s.substr(2)),s)},ft.getVbyListEx=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyListEx(t,e,r,n))?null:(s=a.getV(t,o),"03"==t.substr(o,2)&&!1!==i&&(s=s.substr(2)),s)},ft.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if("02"!=n&&"03"!=n)return r;var i=ft.getV(t,e);return"02"==n?parseInt(i,16):function(t){try{var e=t.substr(0,2);if("00"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},ft.getOID=function(t,e,r){null==r&&(r=null);try{return"06"!=t.substr(e,2)?r:function(t){if(!Bt(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),o=[],s=0;s0&&(c=c+"."+a.join(".")),c}catch(t){return null}}(ft.getV(t,e))}catch(t){return r}},ft.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=ft.getOID(t,e,r);if(n==r)return r;var i=ct.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(t){return r}},ft.getString=function(t,e,r){null==r&&(r=null);try{return Ft(ft.getV(t,e))}catch(t){return r}},ft.hextooidstr=function(t){var e=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(h=h+"."+u.join(".")),h},ft.dump=function(t,e,r,n){var i=ft,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof ct.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function(t,e){return t.length<=2*e?t:t.substr(0,e)+"..(total "+t.length/2+"bytes).."+t.substr(t.length-e,e)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var h,l=e.ommit_long_octet;if("01"==(h=u.substr(r,2)))return"00"==(f=o(u,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==h)return n+"INTEGER "+c(f=o(u,r),l)+"\n";if("03"==h){var f=o(u,r);return i.isASN1HEX(f.substr(2))?(w=n+"BITSTRING, encapsulates\n")+s(f.substr(2),e,0,n+" "):n+"BITSTRING "+c(f,l)+"\n"}if("04"==h)return f=o(u,r),i.isASN1HEX(f)?(w=n+"OCTETSTRING, encapsulates\n")+s(f,e,0,n+" "):n+"OCTETSTRING "+c(f,l)+"\n";if("05"==h)return n+"NULL\n";if("06"==h){var g=o(u,r),d=ct.asn1.ASN1Util.oidHexToInt(g),p=ct.asn1.x509.OID.oid2name(d),v=d.replace(/\./g," ");return""!=p?n+"ObjectIdentifier "+p+" ("+v+")\n":n+"ObjectIdentifier ("+v+")\n"}if("0a"==h)return n+"ENUMERATED "+parseInt(o(u,r))+"\n";if("0c"==h)return n+"UTF8String '"+bt(o(u,r))+"'\n";if("13"==h)return n+"PrintableString '"+bt(o(u,r))+"'\n";if("14"==h)return n+"TeletexString '"+bt(o(u,r))+"'\n";if("16"==h)return n+"IA5String '"+bt(o(u,r))+"'\n";if("17"==h)return n+"UTCTime "+bt(o(u,r))+"\n";if("18"==h)return n+"GeneralizedTime "+bt(o(u,r))+"\n";if("1a"==h)return n+"VisualString '"+bt(o(u,r))+"'\n";if("1e"==h)return n+"BMPString '"+bt(o(u,r))+"'\n";if("30"==h){if("3000"==u.substr(r,4))return n+"SEQUENCE {}\n";w=n+"SEQUENCE\n";var y=e;if((2==(S=a(u,r)).length||3==S.length)&&"06"==u.substr(S[0],2)&&"04"==u.substr(S[S.length-1],2)){p=i.oidname(o(u,S[0]));var m=JSON.parse(JSON.stringify(e));m.x509ExtName=p,y=m}for(var _=0;_31)&&128==(192&r)&&(31&r)==n}catch(t){return!1}},ft.isASN1HEX=function(t){var e=ft;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},ft.checkStrictDER=function(t,e,r,n,i){var o=ft;if(void 0===r){if("string"!=typeof t)throw new Error("not hex string");if(t=t.toLowerCase(),!ct.lang.String.isHex(t))throw new Error("not hex string");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*i)throw new Error("L of TLV too long: idx="+e);var s=o.getVblen(t,e);if(s>n)throw new Error("value of L too long than hex: idx="+e);var a=o.getTLV(t,e),u=a.length-2-o.getL(t,e).length;if(u!==2*s)throw new Error("V string length and L's value not the same:"+u+"/"+2*s);if(0===e&&t.length!=a.length)throw new Error("total length and TLV length unmatch:"+t.length+"!="+a.length);var c=t.substr(e,2);if("02"===c){var h=o.getVidx(t,e);if("00"==t.substr(h,2)&&t.charCodeAt(h+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(c,16)){for(var l=o.getVblen(t,e),f=0,g=o.getChildIdx(t,e),d=0;d=e?t:new Array(e-t.length+1).join(r)+t};void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:y.algo.MD5,sha1:y.algo.SHA1,sha224:y.algo.SHA224,sha256:y.algo.SHA256,sha384:y.algo.SHA384,sha512:y.algo.SHA512,ripemd160:y.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw"alg not supported in Util.DIGESTINFOHEAD: "+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+e;for(var o="00"+n,s="",a=i-4-o.length,u=0;u=0)return!1;if(r.compareTo(n.ONE)<0||r.compareTo(o)>=0)return!1;var a=r.modInverse(o),u=t.multiply(a).mod(o),c=e.multiply(a).mod(o);return s.multiply(u).add(i.multiply(c)).getX().toBigInteger().mod(o).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error("Signature not a valid DERSequence");if(2!=t[e=2])throw new Error("First element in signature must be a DERInteger");var r=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error("Second element in signature must be a DERInteger");var i=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:n.fromByteArrayUnsigned(r),s:n.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(t){if(65!==t.length)throw"Signature has the wrong length";var e=t[0]-27;if(e<0||e>7)throw"Invalid signature type";var r=this.ecparams.n;return{r:n.fromByteArrayUnsigned(t.slice(1,33)).mod(r),s:n.fromByteArrayUnsigned(t.slice(33,65)).mod(r),i:e}},this.readPKCS5PrvKeyHex=function(t){if(!1===h(t))throw new Error("not ASN.1 hex string");var e,r,n;try{e=c(t,0,["[0]",0],"06"),r=c(t,0,[1],"04");try{n=c(t,0,["[1]",0],"03")}catch(t){}}catch(t){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=a(e),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n,i;try{c(t,0,[1,0],"06"),r=c(t,0,[1,1],"06"),n=c(t,0,[2,0,1],"04");try{i=c(t,0,[2,0,"[1]",0],"03")}catch(t){}}catch(t){throw new e("malformed PKCS#8 plain ECC private key")}if(this.curveName=a(r),void 0===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n;try{c(t,0,[0,0],"06"),r=c(t,0,[0,1],"06"),n=c(t,0,[1],"03")}catch(t){throw new e("malformed PKCS#8 ECC public key")}if(this.curveName=a(r),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(t,r){if(!1===h(t))throw new e("not ASN.1 hex string");var n,i;try{n=c(t,0,[0,5,0,1],"06"),i=c(t,0,[0,5,1],"03")}catch(t){throw new e("malformed X.509 certificate ECC public key")}if(this.curveName=a(n),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},ct.crypto.ECDSA.parseSigHex=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new F(e.r,16),s:new F(e.s,16)}},ct.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=ft,r=e.getChildIdx,n=e.getV;if(e.checkStrictDER(t,0),"30"!=t.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var i=r(t,0);if(2!=i.length)throw new Error("signature shall have two elements");var o=i[0],s=i[1];if("02"!=t.substr(o,2))throw new Error("1st item not ASN.1 integer");if("02"!=t.substr(s,2))throw new Error("2nd item not ASN.1 integer");return{r:n(t,o),s:n(t,s)}},ct.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if("00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return r+n},ct.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return ct.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},ct.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new F(t,16),n=new F(e,16);return ct.crypto.ECDSA.biRSSigToASN1Sig(r,n)},ct.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=ct.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},ct.crypto.ECDSA.getName=function(t){return"2b8104001f"===t?"secp192k1":"2a8648ce3d030107"===t?"secp256r1":"2b8104000a"===t?"secp256k1":"2b81040021"===t?"secp224r1":"2b81040022"===t?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(t)?"secp256r1":-1!=="|secp256k1|".indexOf(t)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(t)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(t)?"secp384r1":null},void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new F(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw"unregistered EC curve name: "+n},this.regist=function(n,i,o,s,a,u,c,h,l,f,g,d){t[n]={};var p=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new at(p,v,y),w=S.decodePointHex("04"+h+l);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=w,t[n].n=m,t[n].h=_,t[n].oid=g,t[n].info=d;for(var b=0;b=2*a)break}var l={};return l.keyhex=u.substr(0,2*i[t].keylen),l.ivhex=u.substr(2*i[t].keylen,2*i[t].ivlen),l},a=function(t,e,r,n){var o=y.enc.Base64.parse(t),s=y.enc.Hex.stringify(o);return(0,i[e].proc)(s,r,n)};return{version:"1.0.0",parsePKCS5PEM:function(t){return o(t)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(t,e,r){return s(t,e,r)},decryptKeyB64:function(t,e,r,n){return a(t,e,r,n)},getDecryptedKeyHex:function(t,e){var r=o(t),n=(r.type,r.cipher),i=r.ivsalt,u=r.data,c=s(n,e,i).keyhex;return a(u,n,c,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(t,e,r,n,o){var a="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===i[n])throw"KEYUTIL unsupported algorithm: "+n;void 0!==o&&null!=o||(o=function(t){var e=y.lib.WordArray.random(t);return y.enc.Hex.stringify(e)}(i[n].ivlen).toUpperCase());var u=function(t,e,r,n){return(0,i[e].eproc)(t,r,n)}(e,n,s(n,r,o).keyhex,o);return a="-----BEGIN "+t+" PRIVATE KEY-----\r\n",a+="Proc-Type: 4,ENCRYPTED\r\n",a+="DEK-Info: "+n+","+o+"\r\n",a+="\r\n",(a+=u.replace(/(.{64})/g,"$1\r\n"))+"\r\n-----END "+t+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={},o=r(t,0);if(2!=o.length)throw"malformed format: SEQUENCE(0).items != 2: "+o.length;i.ciphertext=n(t,o[1]);var s=r(t,o[0]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+s.length;if("2a864886f70d01050d"!=n(t,s[0]))throw"this only supports pkcs5PBES2";var a=r(t,s[1]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+a.length;var u=r(t,a[1]);if(2!=u.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+u.length;if("2a864886f70d0307"!=n(t,u[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(t,u[1]);var c=r(t,a[0]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+c.length;if("2a864886f70d01050c"!=n(t,c[0]))throw"this only supports pkcs5PBKDF2";var h=r(t,c[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;i.pbkdf2Salt=n(t,h[0]);var l=n(t,h[1]);try{i.pbkdf2Iter=parseInt(l,16)}catch(t){throw"malformed format pbkdf2Iter: "+l}return i},getPBKDF2KeyHexFromParam:function(t,e){var r=y.enc.Hex.parse(t.pbkdf2Salt),n=t.pbkdf2Iter,i=y.PBKDF2(e,r,{keySize:6,iterations:n});return y.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(t,e){var r=Ct(t,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=Ht.getPBKDF2KeyHexFromParam(n,e),o={};o.ciphertext=y.enc.Hex.parse(n.ciphertext);var s=y.enc.Hex.parse(i),a=y.enc.Hex.parse(n.encryptionSchemeIV),u=y.TripleDES.decrypt(o,s,{iv:a});return y.enc.Hex.stringify(u)},getKeyFromEncryptedPKCS8PEM:function(t,e){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(t,e);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null};if("30"!=t.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var o=r(t,0);if(3!=o.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=t.substr(o[1],2))throw"malformed PKCS8 private key(code:003)";var s=r(t,o[1]);if(2!=s.length)throw"malformed PKCS8 private key(code:004)";if("06"!=t.substr(s[0],2))throw"malformed PKCS8 private key(code:005)";if(i.algoid=n(t,s[0]),"06"==t.substr(s[1],2)&&(i.algparam=n(t,s[1])),"04"!=t.substr(o[2],2))throw"malformed PKCS8 private key(code:006)";return i.keyidx=e.getVidx(t,o[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(t){var e=Ct(t,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(e)},getKeyFromPlainPrivatePKCS8Hex:function(t){var e,r=this.parsePlainPrivatePKCS8Hex(t);if("2a864886f70d010101"==r.algoid)e=new it;else if("2a8648ce380401"==r.algoid)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!=r.algoid)throw"unsupported private key algorithm";e=new ct.crypto.ECDSA}return e.readPKCS8PrvKeyHex(t),e},_getKeyFromPublicPKCS8Hex:function(t){var e,r=ft.getVbyList(t,0,[0,0],"06");if("2a864886f70d010101"===r)e=new it;else if("2a8648ce380401"===r)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!==r)throw"unsupported PKCS#8 public key hex";e=new ct.crypto.ECDSA}return e.readPKCS8PubKeyHex(t),e},parsePublicRawRSAKeyHex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={};if("30"!=t.substr(0,2))throw"malformed RSA key(code:001)";var o=r(t,0);if(2!=o.length)throw"malformed RSA key(code:002)";if("02"!=t.substr(o[0],2))throw"malformed RSA key(code:003)";if(i.n=n(t,o[0]),"02"!=t.substr(o[1],2))throw"malformed RSA key(code:004)";return i.e=n(t,o[1]),i},parsePublicPKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null},o=r(t,0);if(2!=o.length)throw"outer DERSequence shall have 2 elements: "+o.length;var s=o[0];if("30"!=t.substr(s,2))throw"malformed PKCS8 public key(code:001)";var a=r(t,s);if(2!=a.length)throw"malformed PKCS8 public key(code:002)";if("06"!=t.substr(a[0],2))throw"malformed PKCS8 public key(code:003)";if(i.algoid=n(t,a[0]),"06"==t.substr(a[1],2)?i.algparam=n(t,a[1]):"30"==t.substr(a[1],2)&&(i.algparam={},i.algparam.p=e.getVbyList(t,a[1],[0],"02"),i.algparam.q=e.getVbyList(t,a[1],[1],"02"),i.algparam.g=e.getVbyList(t,a[1],[2],"02")),"03"!=t.substr(o[1],2))throw"malformed PKCS8 public key(code:004)";return i.key=n(t,o[1]).substr(2),i}}}();Ht.getKey=function(t,e,r){var n,i=(y=ft).getChildIdx,o=(y.getV,y.getVbyList),s=ct.crypto,a=s.ECDSA,u=s.DSA,c=it,h=Ct,l=Ht;if(void 0!==c&&t instanceof c)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==u&&t instanceof u)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new a({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new a({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(t.n,t.e),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(C=new c).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(C=new c).setPrivate(t.n,t.e,t.d),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(C=new u).setPublic(t.p,t.q,t.g,t.y),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(C=new u).setPrivate(t.p,t.q,t.g,t.y,t.x),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(St(t.n),St(t.e)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(C=new c).setPrivateEx(St(t.n),St(t.e),St(t.d),St(t.p),St(t.q),St(t.dp),St(t.dq),St(t.qi)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(C=new c).setPrivate(St(t.n),St(t.e),St(t.d)),C;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);return P.setPublicKeyHex(g),P}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);var d=("0000000000"+St(t.d)).slice(-f);return P.setPublicKeyHex(g),P.setPrivateKeyHex(d),P}if("pkcs5prv"===r){var p,v=t,y=ft;if(9===(p=i(v,0)).length)(C=new c).readPKCS5PrvKeyHex(v);else if(6===p.length)(C=new u).readPKCS5PrvKeyHex(v);else{if(!(p.length>2&&"04"===v.substr(p[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(C=new a).readPKCS5PrvKeyHex(v)}return C}if("pkcs8prv"===r)return l.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===r)return l._getKeyFromPublicPKCS8Hex(t);if("x509pub"===r)return Wt.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return Wt.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var m=Ct(t,"PUBLIC KEY");return l._getKeyFromPublicPKCS8Hex(m)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var _=h(t,"RSA PRIVATE KEY");return l.getKey(_,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var S=o(n=h(t,"DSA PRIVATE KEY"),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02");return(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED"))return _=h(t,"EC PRIVATE KEY"),l.getKey(_,null,"pkcs5prv");if(-1!=t.indexOf("-END PRIVATE KEY-"))return l.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var A=l.getDecryptedKeyHex(t,e),k=new it;return k.readPKCS5PrvKeyHex(A),k}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var P,C=o(n=l.getDecryptedKeyHex(t,e),0,[1],"04"),T=o(n,0,[2,0],"06"),R=o(n,0,[3,0],"03").substr(2);if(void 0===ct.crypto.OID.oidhex2name[T])throw"undefined OID(hex) in KJUR.crypto.OID: "+T;return(P=new a({curve:ct.crypto.OID.oidhex2name[T]})).setPublicKeyHex(R),P.setPrivateKeyHex(C),P.isPublic=!1,P}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED"))return S=o(n=l.getDecryptedKeyHex(t,e),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02"),(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C;if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return l.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error("not supported argument")},Ht.generateKeypair=function(t,e){if("RSA"==t){var r=e;(s=new it).generate(r,"10001"),s.isPrivate=!0,s.isPublic=!0;var n=new it,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if("EC"==t){var s,a,u=e,c=new ct.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw"unknown algorithm: "+t},Ht.getPEM=function(t,e,r,n,i,o){var s=ct,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,h=a.ASN1Util.newObject,l=a.x509.SubjectPublicKeyInfo,f=s.crypto,g=f.DSA,d=f.ECDSA,p=it;function v(t){return h({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function _(t){return h({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==p&&t instanceof p||void 0!==g&&t instanceof g||void 0!==d&&t instanceof d)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return Pt(F=new l(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=v(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),w=m(t).getEncodedHex(),b="";return(b+=Pt(S,"EC PARAMETERS"))+Pt(w,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=_(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){var F=v(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",F,r,n,o)}if("PKCS5PRV"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate)return F=m(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",F,r,n,o);if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate)return F=_(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",F,r,n,o);var E=function(t,e){var r=x(t,e);return new h({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:r.pbkdf2Salt}},{int:r.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:r.encryptionSchemeIV}}]}]}]},{octstr:{hex:r.ciphertext}}]}).getEncodedHex()},x=function(t,e){var r=y.lib.WordArray.random(8),n=y.lib.WordArray.random(8),i=y.PBKDF2(e,r,{keySize:6,iterations:100}),o=y.enc.Hex.parse(t),s=y.TripleDES.encrypt(o,i,{iv:n})+"",a={};return a.ciphertext=s,a.pbkdf2Salt=y.enc.Hex.stringify(r),a.pbkdf2Iter=100,a.encryptionSchemeAlg="DES-EDE3-CBC",a.encryptionSchemeIV=y.enc.Hex.stringify(n),a};if("PKCS8PRV"==e&&null!=p&&t instanceof p&&1==t.isPrivate){var A=v(t).getEncodedHex();return F=h({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==d&&t instanceof d&&1==t.isPrivate)return A=new h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate)return A=new c({bigint:t.x}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");throw new Error("unsupported object nor format")},Ht.getKeyFromCSRPEM=function(t){var e=Ct(t,"CERTIFICATE REQUEST");return Ht.getKeyFromCSRHex(e)},Ht.getKeyFromCSRHex=function(t){var e=Ht.parseCSRHex(t);return Ht.getKey(e.p8pubkeyhex,null,"pkcs8pub")},Ht.parseCSRHex=function(t){var e=ft,r=e.getChildIdx,n=e.getTLV,i={},o=t;if("30"!=o.substr(0,2))throw"malformed CSR(code:001)";var s=r(o,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=o.substr(s[0],2))throw"malformed CSR(code:003)";var a=r(o,s[0]);if(a.length<3)throw"malformed CSR(code:004)";return i.p8pubkeyhex=n(o,a[2]),i},Ht.getKeyID=function(t){var e=Ht,r=ft;"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&(t=e.getKey(t));var n=Ct(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return ct.crypto.Util.hashHex(o,"sha1")},Ht.getJWKFromKey=function(t){var e={};if(t instanceof it&&t.isPrivate)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e.d=_t(t.d.toString(16)),e.p=_t(t.p.toString(16)),e.q=_t(t.q.toString(16)),e.dp=_t(t.dmp1.toString(16)),e.dq=_t(t.dmq1.toString(16)),e.qi=_t(t.coeff.toString(16)),e;if(t instanceof it&&t.isPublic)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e;if(t instanceof ct.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e.d=_t(t.prvKeyHex),e}if(t instanceof ct.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;return r=t.getPublicKeyXYHex(),e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e}throw"not supported key object"},it.getPosArrayOfChildrenFromHex=function(t){return ft.getChildIdx(t,0)},it.getHexValueArrayOfChildrenFromHex=function(t){var e,r=ft.getV,n=r(t,(e=it.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),h=r(t,e[7]),l=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,h,l),e},it.prototype.readPrivateKeyFromPEMString=function(t){var e=Ct(t),r=it.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},it.prototype.readPKCS5PrvKeyHex=function(t){var e=it.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},it.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=ft,h=c.getVbyListEx;if(!1===c.isASN1HEX(t))throw new Error("not ASN.1 hex string");try{e=h(t,0,[2,0,1],"02"),r=h(t,0,[2,0,2],"02"),n=h(t,0,[2,0,3],"02"),i=h(t,0,[2,0,4],"02"),o=h(t,0,[2,0,5],"02"),s=h(t,0,[2,0,6],"02"),a=h(t,0,[2,0,7],"02"),u=h(t,0,[2,0,8],"02")}catch(t){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(e,r,n,i,o,s,a,u)},it.prototype.readPKCS5PubKeyHex=function(t){var e=ft,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error("keyHex is not ASN.1 hex string");var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},it.prototype.readPKCS8PubKeyHex=function(t){var e=ft;if(!1===e.isASN1HEX(t))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},it.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new Wt).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var Kt=new RegExp("[^0-9a-f]","gi");function Vt(t,e){for(var r="",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function Jt(t){for(var e in ct.crypto.Util.DIGESTINFOHEAD){var r=ct.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function Wt(t){var e,r=ft,n=r.getChildIdx,i=r.getV,o=r.getTLV,s=r.getVbyList,a=r.getVbyListEx,u=r.getTLVbyList,c=r.getTLVbyListEx,h=r.getIdxbyList,l=r.getIdxbyListEx,f=r.getVidx,g=r.oidname,d=r.hextooidstr,p=Wt,v=Ct;try{e=ct.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==u(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var t=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var r in e)if(t===e[r])return r;return g(a(t,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return p.hex2dn(this.getIssuerHex())},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return p.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return h(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return h(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return Ht.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var t=u(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=u(this.hex,0,[0],"30"),i=new ct.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=h(a,0,[0,7,0],"30"),o=n(a,e)}else{a=Ct(t);var u=h(a,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=i(a,u))return void(this.aExtInfo=new Array);e=h(a,0,[0,3,0,1,0],"30"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var c=0;c1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(s.length>2){var c=o(t,s[2]);"0101ff"==c&&(i.reqauth=!0),"010100"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&-1!=l(this.hex,0,[0,"[3]"])&&(t=c(this.hex,0,[0,"[3]",0],"30"));for(var e=[],r=n(t,0),i=0;i0&&(c=new Array(r),(new et).nextBytes(c),c=String.fromCharCode.apply(String,c));var h=Ft(u(Et("\0\0\0\0\0\0\0\0"+i+c))),l=[];for(n=0;n>8*a-s&255;for(d[0]&=~p,n=0;nthis.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;var i=n[0];return n[1]==function(t){return ct.crypto.Util.hashString(t,i)}(t)},it.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=rt(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==t)},it.prototype.verifyPSS=function(t,e,r,n){var i=function(t){return ct.crypto.Util.hashHex(t,r)}(Et(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},it.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new F(e,16),s=function(t){return ct.crypto.Util.hashHex(t,r)},a=Ft(t),u=a.length,c=this.n.bitLength()-1,h=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=h-u-2;else if(n<-2)throw new Error("invalid salt length");if(h>8*h-c&255;if(0!=(f.charCodeAt(0)&d))throw new Error("bits beyond keysize not zero");var p=qt(g,f.length,s),v=[];for(i=0;i0&&-1==(":"+n.join(":")+":").indexOf(":"+y+":"))throw"algorithm '"+y+"' not accepted in the list";if("none"!=y&&null===e)throw"key shall be specified to verify.";if("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&(e=Ht.getKey(e)),!("RS"!=g&&"PS"!=g||e instanceof i))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==g&&!(e instanceof c))throw"key shall be a ECDSA obj for ES* algs";var m=null;if(void 0===s.jwsalg2sigalg[v.alg])throw"unsupported alg name: "+y;if("none"==(m=s.jwsalg2sigalg[y]))throw"not supported";if("Hmac"==m.substr(0,4)){if(void 0===e)throw"hexadecimal key shall be specified for HMAC";var _=new h({alg:m,pass:e});return _.updateString(d),p==_.doFinal()}if(-1!=m.indexOf("withECDSA")){var S,w=null;try{w=c.concatSigToASN1Sig(p)}catch(t){return!1}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(w)}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(p)},ct.jws.JWS.parse=function(t){var e,r,n,i=t.split("."),o={};if(2!=i.length&&3!=i.length)throw"malformed sJWS: wrong number of '.' splitted elements";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=ct.jws.JWS.readSafeJSONString(lt(e)),o.payloadObj=ct.jws.JWS.readSafeJSONString(lt(r)),o.headerPP=JSON.stringify(o.headerObj,null," "),null==o.payloadObj?o.payloadPP=lt(r):o.payloadPP=JSON.stringify(o.payloadObj,null," "),void 0!==n&&(o.sigHex=St(n)),o},ct.jws.JWS.verifyJWT=function(t,e,n){var i=ct.jws,o=i.JWS,s=o.readSafeJSONString,a=o.inArray,u=o.includedArray,c=t.split("."),h=c[0],l=c[1],f=(St(c[2]),s(lt(h))),g=s(lt(l));if(void 0===f.alg)return!1;if(void 0===n.alg)throw"acceptField.alg shall be specified";if(!a(f.alg,n.alg))return!1;if(void 0!==g.iss&&"object"===r(n.iss)&&!a(g.iss,n.iss))return!1;if(void 0!==g.sub&&"object"===r(n.sub)&&!a(g.sub,n.sub))return!1;if(void 0!==g.aud&&"object"===r(n.aud))if("string"==typeof g.aud){if(!a(g.aud,n.aud))return!1}else if("object"==r(g.aud)&&!u(g.aud,n.aud))return!1;var d=i.IntDate.getNow();return void 0!==n.verifyAt&&"number"==typeof n.verifyAt&&(d=n.verifyAt),void 0!==n.gracePeriod&&"number"==typeof n.gracePeriod||(n.gracePeriod=0),!(void 0!==g.exp&&"number"==typeof g.exp&&g.exp+n.gracePeriode.length&&(r=e.length);for(var n=0;n=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return H(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return K(t).length;default:if(n)return H(t).length;e=(""+e).toLowerCase(),n=!0}}function p(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,r);case"utf8":case"utf-8":return A(this,e,r);case"ascii":return P(this,e,r);case"latin1":case"binary":return C(this,e,r);case"base64":return x(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var l=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function(t){var e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);for(var r="",n=0;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},u.prototype.compare=function(t,e,r,n,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),c=this.slice(n,i),h=t.slice(e,r),l=0;li)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return _(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":return w(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return F(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function P(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function L(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function N(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function U(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function O(t,e,r,n,o){return o||U(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function B(t,e,r,n,o){return o||U(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUInt8=function(t,e){return e||I(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||I(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||I(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||I(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){e||I(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,r,n){t=+t,e|=0,r|=0,n||D(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):N(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o>0)-a&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):N(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return B(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return B(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function K(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(M,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(29))},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){"use strict";e.byteLength=function(t){var e=u(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=u(t),s=n[0],a=n[1],c=new o(function(t,e,r){return 3*(e+r)/4-r}(0,s,a)),h=0,l=a>0?s-4:s;for(r=0;r>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===a&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,c[h++]=255&e),1===a&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],s=16383,a=0,u=r-i;au?u:a+s));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)n[a]=s[a],i[s.charCodeAt(a)]=a;function u(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,o,s=[],a=e;a>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,h=-7,l=r?i-1:0,f=r?-1:1,g=t[e+l];for(l+=f,o=g&(1<<-h)-1,g>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=f,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),o-=c}return(g?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:o-1,d=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?f/u:f*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+g]=255&a,g+=d,a/=256,i-=8);for(s=s<0;t[r+g]=255&s,g+=d,s/=256,c-=8);t[r+g-d]|=128*p}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=t.jws,r=t.KeyUtil,i=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.parseJwt=function t(r){n.Log.debug("JoseUtil.parseJwt");try{var i=e.JWS.parse(r);return{header:i.headerObj,payload:i.payloadObj}}catch(t){n.Log.error(t)}},t.validateJwt=function(e,o,s,u,c,h,l){n.Log.debug("JoseUtil.validateJwt");try{if("RSA"===o.kty)if(o.e&&o.n)o=r.getKey(o);else{if(!o.x5c||!o.x5c.length)return n.Log.error("JoseUtil.validateJwt: RSA key missing key material",o),Promise.reject(new Error("RSA key missing key material"));var f=a(o.x5c[0]);o=i.getPublicKeyFromCertHex(f)}else{if("EC"!==o.kty)return n.Log.error("JoseUtil.validateJwt: Unsupported key type",o&&o.kty),Promise.reject(new Error(o.kty));if(!(o.crv&&o.x&&o.y))return n.Log.error("JoseUtil.validateJwt: EC key missing key material",o),Promise.reject(new Error("EC key missing key material"));o=r.getKey(o)}return t._validateJwt(e,o,s,u,c,h,l)}catch(t){return n.Log.error(t&&t.message||t),Promise.reject("JWT validation failed")}},t.validateJwtAttributes=function(e,r,i,o,s,a){o||(o=0),s||(s=parseInt(Date.now()/1e3));var u=t.parseJwt(e).payload;if(!u.iss)return n.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(u.iss!==r)return n.Log.error("JoseUtil._validateJwt: Invalid issuer in token",u.iss),Promise.reject(new Error("Invalid issuer in token: "+u.iss));if(!u.aud)return n.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(u.aud===i||Array.isArray(u.aud)&&u.aud.indexOf(i)>=0))return n.Log.error("JoseUtil._validateJwt: Invalid audience in token",u.aud),Promise.reject(new Error("Invalid audience in token: "+u.aud));if(u.azp&&u.azp!==i)return n.Log.error("JoseUtil._validateJwt: Invalid azp in token",u.azp),Promise.reject(new Error("Invalid azp in token: "+u.azp));if(!a){var c=s+o,h=s-o;if(!u.iat)return n.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(c1&&void 0!==arguments[1]?arguments[1]:"#";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=i.UrlUtility.parseUrlFragment(e,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(t,[{key:"expires_in",get:function(){if(this.expires_at){var t=parseInt(Date.now()/1e3);return this.expires_at-t}},set:function(t){var e=parseInt(t);if("number"==typeof e&&e>0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,h=e.request_type;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(var l in s&&(r=i.UrlUtility.addQueryParam(r,"id_token_hint",s)),a&&(r=i.UrlUtility.addQueryParam(r,"post_logout_redirect_uri",a),u&&(this.state=new o.State({data:u,request_type:h}),r=i.UrlUtility.addQueryParam(r,"state",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,l,c[l]);this.url=r}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutResponse=void 0;var n=r(3);e.SignoutResponse=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var r=n.UrlUtility.parseUrlFragment(e,"?");this.error=r.error,this.error_description=r.error_description,this.error_uri=r.error_uri,this.state=r.state}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f.TokenRevocationClient,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.TokenClient,p=arguments.length>5&&void 0!==arguments[5]?arguments[5]:d.JoseUtil;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var v=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return v._events=new u.UserManagerEvents(r),v._silentRenewService=new n(v),v.settings.automaticSilentRenew&&(i.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),v.startSilentRenew()),v.settings.monitorSession&&(i.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),v._sessionMonitor=new o(v)),v._tokenRevocationClient=new a(v._settings),v._tokenClient=new l(v._settings),v._joseUtil=p,v}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function(){var t=this;return this._loadUser().then((function(e){return e?(i.Log.info("UserManager.getUser: user loaded"),t._events.load(e,!1),e):(i.Log.info("UserManager.getUser: user not found in storage"),null)}))},e.prototype.removeUser=function(){var t=this;return this.storeUser(null).then((function(){i.Log.info("UserManager.removeUser: user removed from storage"),t._events.unload()}))},e.prototype.signinRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:r";var e={useReplaceToNavigate:t.useReplaceToNavigate};return this._signinStart(t,this._redirectNavigator,e).then((function(){i.Log.info("UserManager.signinRedirect: successful")}))},e.prototype.signinRedirectCallback=function(t){return this._signinEnd(t||this._redirectNavigator.url).then((function(t){return t.profile&&t.profile.sub?i.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinRedirectCallback: no sub"),t}))},e.prototype.signinPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:p";var e=t.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.display="popup",this._signin(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopup: no sub")),t}))):(i.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},e.prototype.signinPopupCallback=function(t){return this._signinCallback(t,this._popupNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopupCallback: no sub")),t})).catch((function(t){i.Log.error(t.message)}))},e.prototype.signinSilent=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e=Object.assign({},e),this._loadUser().then((function(r){return r&&r.refresh_token?(e.refresh_token=r.refresh_token,t._useRefreshToken(e)):(e.request_type="si:s",e.id_token_hint=e.id_token_hint||t.settings.includeIdTokenInSilentRenew&&r&&r.id_token,r&&t._settings.validateSubOnSilentRenew&&(i.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",r.profile.sub),e.current_sub=r.profile.sub),t._signinSilentIframe(e))}))},e.prototype._useRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(e).then((function(e){return e?e.access_token?t._loadUser().then((function(r){if(r){var n=Promise.resolve();return e.id_token&&(n=t._validateIdTokenFromTokenRefreshToken(r.profile,e.id_token)),n.then((function(){return i.Log.debug("UserManager._useRefreshToken: refresh token response success"),r.id_token=e.id_token||r.id_token,r.access_token=e.access_token,r.refresh_token=e.refresh_token||r.refresh_token,r.expires_in=e.expires_in,t.storeUser(r).then((function(){return t._events.load(r),r}))}))}return null})):(i.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(i.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))}))},e.prototype._validateIdTokenFromTokenRefreshToken=function(t,e){var r=this;return this._metadataService.getIssuer().then((function(n){return r.settings.getEpochTime().then((function(o){return r._joseUtil.validateJwtAttributes(e,n,r._settings.client_id,r._settings.clockSkew,o).then((function(e){return e?e.sub!==t.sub?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):e.auth_time&&e.auth_time!==t.auth_time?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):e.azp&&e.azp!==t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!e.azp&&t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))}))}))}))},e.prototype._signinSilentIframe=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.prompt=t.prompt||"none",this._signin(t,this._iframeNavigator,{startUrl:e,silentRequestTimeout:t.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilent: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilent: no sub")),t}))):(i.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype.signinSilentCallback=function(t){return this._signinCallback(t,this._iframeNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilentCallback: no sub")),t}))},e.prototype.signinCallback=function(t){var e=this;return this.readSigninResponseState(t).then((function(r){var n=r.state;return r.response,"si:r"===n.request_type?e.signinRedirectCallback(t):"si:p"===n.request_type?e.signinPopupCallback(t):"si:s"===n.request_type?e.signinSilentCallback(t):Promise.reject(new Error("invalid response_type in state"))}))},e.prototype.signoutCallback=function(t,e){var r=this;return this.readSignoutResponseState(t).then((function(n){var i=n.state,o=n.response;return i?"so:r"===i.request_type?r.signoutRedirectCallback(t):"so:p"===i.request_type?r.signoutPopupCallback(t,e):Promise.reject(new Error("invalid response_type in state")):o}))},e.prototype.querySessionStatus=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:s";var r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt="none",e.response_type=e.response_type||this.settings.query_status_response_type,e.scope=e.scope||"openid",e.skipUserInfo=!0,this._signinStart(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(e){return t.processSigninResponse(e.url).then((function(t){if(i.Log.debug("UserManager.querySessionStatus: got signin response"),t.session_state&&t.profile.sub)return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info("querySessionStatus successful, user not authenticated")})).catch((function(e){if(e.session_state&&t.settings.monitorAnonymousSession&&("login_required"==e.message||"consent_required"==e.message||"interaction_required"==e.message||"account_selection_required"==e.message))return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:e.session_state};throw e}))}))):(i.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype._signin=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(t,e,n).then((function(e){return r._signinEnd(e.url,t)}))},e.prototype._signinStart=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.prepare(n).then((function(e){return i.Log.debug("UserManager._signinStart: got navigator window handle"),r.createSigninRequest(t).then((function(t){return i.Log.debug("UserManager._signinStart: got signin request"),n.url=t.url,n.id=t.state.id,e.navigate(n)})).catch((function(t){throw e.close&&(i.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),e.close()),t}))}))},e.prototype._signinEnd=function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(t).then((function(t){i.Log.debug("UserManager._signinEnd: got signin response");var n=new a.User(t);if(r.current_sub){if(r.current_sub!==n.profile.sub)return i.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",n.profile.sub),Promise.reject(new Error("login_required"));i.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return e.storeUser(n).then((function(){return i.Log.debug("UserManager._signinEnd: user stored"),e._events.load(n),n}))}))},e.prototype._signinCallback=function(t,e){i.Log.debug("UserManager._signinCallback");var r="query"===this._settings.response_mode||!this._settings.response_mode&&l.SigninRequest.isCode(this._settings.response_type)?"?":"#";return e.callback(t,void 0,r)},e.prototype.signoutRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:r";var e=t.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;e&&(t.post_logout_redirect_uri=e);var r={useReplaceToNavigate:t.useReplaceToNavigate};return this._signoutStart(t,this._redirectNavigator,r).then((function(){i.Log.info("UserManager.signoutRedirect: successful")}))},e.prototype.signoutRedirectCallback=function(t){return this._signoutEnd(t||this._redirectNavigator.url).then((function(t){return i.Log.info("UserManager.signoutRedirectCallback: successful"),t}))},e.prototype.signoutPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:p";var e=t.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return t.post_logout_redirect_uri=e,t.display="popup",t.post_logout_redirect_uri&&(t.state=t.state||{}),this._signout(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info("UserManager.signoutPopup: successful")}))},e.prototype.signoutPopupCallback=function(t,e){return void 0===e&&"boolean"==typeof t&&(e=t,t=null),this._popupNavigator.callback(t,e,"?").then((function(){i.Log.info("UserManager.signoutPopupCallback: successful")}))},e.prototype._signout=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(t,e,n).then((function(t){return r._signoutEnd(t.url)}))},e.prototype._signoutStart=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return arguments[1].prepare(r).then((function(n){return i.Log.debug("UserManager._signoutStart: got navigator window handle"),e._loadUser().then((function(o){return i.Log.debug("UserManager._signoutStart: loaded current user from storage"),(e._settings.revokeAccessTokenOnSignout?e._revokeInternal(o):Promise.resolve()).then((function(){var s=t.id_token_hint||o&&o.id_token;return s&&(i.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),t.id_token_hint=s),e.removeUser().then((function(){return i.Log.debug("UserManager._signoutStart: user removed, creating signout request"),e.createSignoutRequest(t).then((function(t){return i.Log.debug("UserManager._signoutStart: got signout request"),r.url=t.url,t.state&&(r.id=t.state.id),n.navigate(r)}))}))}))})).catch((function(t){throw n.close&&(i.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),n.close()),t}))}))},e.prototype._signoutEnd=function(t){return this.processSignoutResponse(t).then((function(t){return i.Log.debug("UserManager._signoutEnd: got signout response"),t}))},e.prototype.revokeAccessToken=function(){var t=this;return this._loadUser().then((function(e){return t._revokeInternal(e,!0).then((function(r){if(r)return i.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),e.access_token=null,e.refresh_token=null,e.expires_at=null,e.token_type=null,t.storeUser(e).then((function(){i.Log.debug("UserManager.revokeAccessToken: user stored"),t._events.load(e)}))}))})).then((function(){i.Log.info("UserManager.revokeAccessToken: access token revoked successfully")}))},e.prototype._revokeInternal=function(t,e){var r=this;if(t){var n=t.access_token,o=t.refresh_token;return this._revokeAccessTokenInternal(n,e).then((function(t){return r._revokeRefreshTokenInternal(o,e).then((function(e){return t||e||i.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),t||e}))}))}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function(t,e){return!t||t.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(t,e).then((function(){return!0}))},e.prototype._revokeRefreshTokenInternal=function(t,e){return t?this._tokenRevocationClient.revoke(t,e,"refresh_token").then((function(){return!0})):Promise.resolve(!1)},e.prototype.startSilentRenew=function(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function(){this._silentRenewService.stop()},e.prototype._loadUser=function(){return this._userStore.get(this._userStoreKey).then((function(t){return t?(i.Log.debug("UserManager._loadUser: user storageString loaded"),a.User.fromStorageString(t)):(i.Log.debug("UserManager._loadUser: no user storageString"),null)}))},e.prototype.storeUser=function(t){if(t){i.Log.debug("UserManager.storeUser: storing user");var e=t.toStorageString();return this._userStore.set(this._userStoreKey,e)}return i.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},n(e,[{key:"_redirectNavigator",get:function(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function(){return this.settings.iframeNavigator}},{key:"_userStore",get:function(){return this.settings.userStore}},{key:"events",get:function(){return this._events}},{key:"_userStoreKey",get:function(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,l=r.popupWindowFeatures,f=r.popupWindowTarget,g=r.silent_redirect_uri,d=r.silentRequestTimeout,p=r.automaticSilentRenew,v=void 0!==p&&p,y=r.validateSubOnSilentRenew,m=void 0!==y&&y,_=r.includeIdTokenInSilentRenew,S=void 0===_||_,w=r.monitorSession,b=void 0===w||w,F=r.monitorAnonymousSession,E=void 0!==F&&F,x=r.checkSessionInterval,A=void 0===x?2e3:x,k=r.stopCheckSessionOnError,P=void 0===k||k,C=r.query_status_response_type,T=r.revokeAccessTokenOnSignout,R=void 0!==T&&T,I=r.accessTokenExpiringNotificationTime,D=void 0===I?60:I,L=r.redirectNavigator,N=void 0===L?new o.RedirectNavigator:L,U=r.popupNavigator,O=void 0===U?new s.PopupNavigator:U,B=r.iframeNavigator,M=void 0===B?new a.IFrameNavigator:B,j=r.userStore,H=void 0===j?new u.WebStorageStateStore({store:c.Global.sessionStorage}):j;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var K=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));return K._popup_redirect_uri=n,K._popup_post_logout_redirect_uri=i,K._popupWindowFeatures=l,K._popupWindowTarget=f,K._silent_redirect_uri=g,K._silentRequestTimeout=d,K._automaticSilentRenew=v,K._validateSubOnSilentRenew=m,K._includeIdTokenInSilentRenew=S,K._accessTokenExpiringNotificationTime=D,K._monitorSession=b,K._monitorAnonymousSession=E,K._checkSessionInterval=A,K._stopCheckSessionOnError=P,C?K._query_status_response_type=C:arguments[0]&&arguments[0].response_type?K._query_status_response_type=h.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":K._query_status_response_type="id_token",K._revokeAccessTokenOnSignout=R,K._redirectNavigator=N,K._popupNavigator=O,K._iframeNavigator=M,K._userStore=H,K}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:"popup_redirect_uri",get:function(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function(){return this._redirectNavigator}},{key:"popupNavigator",get:function(){return this._popupNavigator}},{key:"iframeNavigator",get:function(){return this._iframeNavigator}},{key:"userStore",get:function(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug("UserManagerEvents.load"),t.prototype.load.call(this,e),r&&this._userLoaded.raise(e)},e.prototype.unload=function(){n.Log.debug("UserManagerEvents.unload"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function(t){this._userLoaded.addHandler(t)},e.prototype.removeUserLoaded=function(t){this._userLoaded.removeHandler(t)},e.prototype.addUserUnloaded=function(t){this._userUnloaded.addHandler(t)},e.prototype.removeUserUnloaded=function(t){this._userUnloaded.removeHandler(t)},e.prototype.addSilentRenewError=function(t){this._silentRenewError.addHandler(t)},e.prototype.removeSilentRenewError=function(t){this._silentRenewError.removeHandler(t)},e.prototype._raiseSilentRenewError=function(t){n.Log.debug("UserManagerEvents._raiseSilentRenewError",t.message),this._silentRenewError.raise(t)},e.prototype.addUserSignedIn=function(t){this._userSignedIn.addHandler(t)},e.prototype.removeUserSignedIn=function(t){this._userSignedIn.removeHandler(t)},e.prototype._raiseUserSignedIn=function(){n.Log.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function(t){this._userSignedOut.addHandler(t)},e.prototype.removeUserSignedOut=function(t){this._userSignedOut.removeHandler(t)},e.prototype._raiseUserSignedOut=function(){n.Log.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function(t){this._userSessionChanged.addHandler(t)},e.prototype.removeUserSessionChanged=function(t){this._userSessionChanged.removeHandler(t)},e.prototype._raiseUserSessionChanged=function(){n.Log.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var s=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return s._timer=n,s._nowFunc=i||function(){return Date.now()/1e3},s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function(t){t<=0&&(t=1),t=parseInt(t);var e=this.now+t;if(this.expiration===e&&this._timerHandle)i.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),i.Log.debug("Timer.init timer "+this._name+" for duration:",t),this._expiration=e;var r=5;t{"use strict";e.in=e.kO=e.Pd=void 0;const n=r(671);var i,o,s;!function(t){t.Success="Success",t.RequiresRedirect="RequiresRedirect"}(i=e.Pd||(e.Pd={})),function(t){t.Redirect="Redirect",t.Success="Success",t.Failure="Failure",t.OperationCompleted="OperationCompleted"}(o=e.kO||(e.kO={}));class a{constructor(t){this.debug=t.debugEnabled,this.trace=t.traceEnabled}log(t,e){if(t==s.Trace&&this.trace||t==s.Debug&&this.debug){const r=t==s.Trace?"trce":"dbug";console.debug(`${r}: Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService[0]\n ${e}`)}}}!function(t){t[t.Trace=0]="Trace",t[t.Debug=1]="Debug"}(s=e.in||(e.in={}));class u{constructor(t,e){this._userManager=t,this._logger=e}async trySilentSignIn(){return this._intialSilentSignIn||(this._intialSilentSignIn=(async()=>{try{this.debug("Beginning initial silent sign in."),await this._userManager.signinSilent(),this.debug("Initial silent sign in succeeded.")}catch(t){t instanceof Error&&this.debug(`Initial silent sign in failed '${t.message}'`)}})()),this._intialSilentSignIn}async getUser(){window.parent!==window||window.opener||window.frameElement||!this._userManager.settings.redirect_uri||location.href.startsWith(this._userManager.settings.redirect_uri)||await this.trySilentSignIn();const t=await this._userManager.getUser();return t&&t.profile}async getAccessToken(t){this.trace("getAccessToken",t);const e=await this._userManager.getUser();if(function(t){return!(!t||!t.access_token||t.expired||!t.scopes)}(e)&&function(t,e){const r=new Set(e);if(t&&t.scopes)for(const e of t.scopes)if(!r.has(e))return!1;return!0}(t,e.scopes))return this.debug(`Valid access token present expiring at '${r(e.expires_in).toISOString()}'`),{status:i.Success,token:{grantedScopes:e.scopes,expires:r(e.expires_in),value:e.access_token}};try{const e=t&&t.scopes?{scope:t.scopes.join(" ")}:void 0;this.debug(`Provisioning a token silently for scopes '${null==e?void 0:e.scope}'`),this.trace("userManager.signinSilent",e);const n=await this._userManager.signinSilent(e);this.debug(`Provisioned an access token expiring at '${r(n.expires_in).toISOString()}'`);const o={status:i.Success,token:{grantedScopes:n.scopes,expires:r(n.expires_in),value:n.access_token}};return this.trace("getAccessToken-result",o),o}catch(t){return t instanceof Error&&this.debug(`Failed to provision a token silently '${t.message}'`),{status:i.RequiresRedirect}}function r(t){const e=new Date;return e.setTime(e.getTime()+1e3*t),e}}async signIn(t){if(this.trace("signIn",t),t.interactiveRequest)return this.debug("Interactive sign in starting."),this.signInInteractive(t);try{return this.debug("Silent sign in starting"),await this._userManager.clearStaleState(),await this._userManager.signinSilent(this.createArguments(void 0,t.interactiveRequest)),this.debug("Silent sign in succeeded"),this.success(t.state)}catch(e){return e instanceof Error&&this.debug(`Silent sign in failed, redirecting to the identity provider '${e.message}'.`),await this.signInInteractive(t)}}async signInInteractive(t){this.trace("signInInteractive",t);try{return await this._userManager.clearStaleState(),await this._userManager.signinRedirect(this.createArguments(t.state,t.interactiveRequest)),this.debug("Redirect sign in succeeded"),this.redirect()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Redirect sign in failed '${e}'.`),this.error(e)}}async completeSignIn(t){this.trace("completeSignIn",t);const e=await this.loginRequired(t),r=await this.stateExists(t);try{const e=await this._userManager.signinCallback(t);return window.self!==window.top?this.operationCompleted():(this.trace("completeSignIn-result",e),this.success(e&&e.state))}catch(t){return e||window.self!==window.top||!r?this.operationCompleted():this.error("There was an error signing in.")}}async signOut(t){this.trace("signOut",t);try{return await this._userManager.metadataService.getEndSessionEndpoint()?(await this._userManager.signoutRedirect(this.createArguments(t.state,t.interactiveRequest)),this.redirect()):(await this._userManager.removeUser(),this.success(t.state))}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Sign out error '${e}'.`),this.error(e)}}async completeSignOut(t){this.trace("completeSignOut",t);try{if(await this.stateExists(t)){const e=await this._userManager.signoutCallback(t);return this.success(e&&e.state)}return this.operationCompleted()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Complete sign out error '${e}'`),this.error(e)}}getExceptionMessage(t){return function(t){return t&&t.error_description}(t)?t.error_description:function(t){return t&&t.message}(t)?t.message:t.toString()}async stateExists(t){const e=new URLSearchParams(new URL(t).search).get("state");return e&&this._userManager.settings.stateStore?await this._userManager.settings.stateStore.get(e):void 0}async loginRequired(t){const e=new URLSearchParams(new URL(t).search).get("error");return!(!e||!this._userManager.settings.stateStore)&&"login_required"===await this._userManager.settings.stateStore.get(e)}createArguments(t,e){return{useReplaceToNavigate:!0,data:t,scope:(null==e?void 0:e.scopes)?e.scopes.join(" "):void 0,...null==e?void 0:e.additionalRequestParameters}}error(t){return{status:o.Failure,errorMessage:t}}success(t){return{status:o.Success,state:t}}redirect(){return{status:o.Redirect}}operationCompleted(){return{status:o.OperationCompleted}}debug(t){var e;null===(e=this._logger)||void 0===e||e.log(s.Debug,t)}trace(t,e){var r;null===(r=this._logger)||void 0===r||r.log(s.Trace,`${t}: ${JSON.stringify(e)}`)}}class c{static init(t,e){return c._initialized||(c._initialized=c.initializeCore(t,new a(e))),c._initialized}static handleCallback(){return c.initializeCore()}static async initializeCore(t,e){const r=t||c.resolveCachedSettings(),n=c.resolveCachedLoggerOptions(),i=e||n&&new a(n);if(!t&&r&&!e&&i){const t=c.createUserManagerCore(r);window.parent!==window&&!window.opener&&window.frameElement&&t.settings.redirect_uri&&location.href.startsWith(t.settings.redirect_uri)&&(c.instance=new u(t,i),c._initialized=(async()=>{await c.instance.completeSignIn(location.href)})())}else if(t&&e){const r=await c.createUserManager(t);c.instance=new u(r,e),window.sessionStorage.setItem(`${c._infrastructureKey}.CachedJSLoggingOptions`,JSON.stringify({debugEnabled:e.debug,traceEnabled:e.trace}))}}static resolveCachedSettings(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedAuthSettings`);return t?JSON.parse(t):void 0}static resolveCachedLoggerOptions(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedJSLoggingOptions`);return t?JSON.parse(t):void 0}static getUser(){return c.instance.getUser()}static getAccessToken(t){return c.instance.getAccessToken(t)}static signIn(t){return c.instance.signIn(t)}static async completeSignIn(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignIn(t),await e,delete this._pendingOperations[t]),e}static signOut(t){return c.instance.signOut(t)}static async completeSignOut(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignOut(t),await e,delete this._pendingOperations[t]),e}static async createUserManager(t){let e;if(function(t){return t.hasOwnProperty("configurationEndpoint")}(t)){const r=await fetch(t.configurationEndpoint);if(!r.ok)throw new Error(`Could not load settings from '${t.configurationEndpoint}'`);e=await r.json()}else t.scope||(t.scope=t.defaultScopes.join(" ")),null===t.response_type&&delete t.response_type,e=t;return window.sessionStorage.setItem(`${c._infrastructureKey}.CachedAuthSettings`,JSON.stringify(e)),c.createUserManagerCore(e)}static createUserManagerCore(t){const e=new n.UserManager(t);return e.events.addUserSignedOut((async()=>{e.removeUser()})),e}}c._infrastructureKey="Microsoft.AspNetCore.Components.WebAssembly.Authentication",c._pendingOperations={},c.handleCallback(),window.AuthenticationService=c}},e={},function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}(981); +!function(t){"use strict";"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var e,r={exports:{}};e=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=22)}([function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r=4){for(var t=arguments.length,e=Array(t),r=0;r=3){for(var t=arguments.length,e=Array(t),r=0;r=2){for(var t=arguments.length,e=Array(t),r=0;r=1){for(var t=arguments.length,e=Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=e,this._jsonService=new r(["application/jwk-set+json"])}return t.prototype.resetSigningKeys=function(){this._settings=this._settings||{},this._settings.signingKeys=void 0},t.prototype.getMetadata=function(){var t=this;return this._settings.metadata?(i.Log.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(e){i.Log.debug("MetadataService.getMetadata: json received");var r=t._settings.metadataSeed||{};return t._settings.metadata=Object.assign({},r,e),t._settings.metadata}))):(i.Log.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))},t.prototype.getIssuer=function(){return this._getMetadataProperty("issuer")},t.prototype.getAuthorizationEndpoint=function(){return this._getMetadataProperty("authorization_endpoint")},t.prototype.getUserInfoEndpoint=function(){return this._getMetadataProperty("userinfo_endpoint")},t.prototype.getTokenEndpoint=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty("token_endpoint",t)},t.prototype.getCheckSessionIframe=function(){return this._getMetadataProperty("check_session_iframe",!0)},t.prototype.getEndSessionEndpoint=function(){return this._getMetadataProperty("end_session_endpoint",!0)},t.prototype.getRevocationEndpoint=function(){return this._getMetadataProperty("revocation_endpoint",!0)},t.prototype.getKeysEndpoint=function(){return this._getMetadataProperty("jwks_uri",!0)},t.prototype._getMetadataProperty=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug("MetadataService.getMetadataProperty for: "+t),this.getMetadata().then((function(r){if(i.Log.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===r[t]){if(!0===e)return void i.Log.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+t);throw i.Log.error("MetadataService.getMetadataProperty: Metadata does not contain property "+t),new Error("Metadata does not contain property "+t)}return r[t]}))},t.prototype.getSigningKeys=function(){var t=this;return this._settings.signingKeys?(i.Log.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then((function(e){return i.Log.debug("MetadataService.getSigningKeys: jwks_uri received",e),t._jsonService.getJson(e).then((function(e){if(i.Log.debug("MetadataService.getSigningKeys: key set received",e),!e.keys)throw i.Log.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return t._settings.signingKeys=e.keys,t._settings.signingKeys}))}))},n(t,[{key:"metadataUrl",get:function(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(s)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=s))),this._metadataUrl}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.UrlUtility=void 0;var n=r(0),i=r(1);e.UrlUtility=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.addQueryParam=function(t,e,r){return t.indexOf("?")<0&&(t+="?"),"?"!==t[t.length-1]&&(t+="&"),t+=encodeURIComponent(e),(t+="=")+encodeURIComponent(r)},t.parseUrlFragment=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;"string"!=typeof t&&(t=r.location.href);var o=t.lastIndexOf(e);o>=0&&(t=t.substr(o+1)),"?"===e&&(o=t.indexOf("#"))>=0&&(t=t.substr(0,o));for(var s,a={},u=/([^&=]+)=([^&]*)/g,c=0;s=u.exec(t);)if(a[decodeURIComponent(s[1])]=decodeURIComponent(s[2].replace(/\+/g," ")),c++>50)return n.Log.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",t),{error:"Response exceeded expected number of parameters"};for(var h in a)return a;return{}},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.JoseUtil=void 0;var n=r(26),i=function(t){return t&&t.__esModule?t:{default:t}}(r(33));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.OidcClientSettings=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,h=e.signingKeys,l=e.metadataSeed,f=e.client_id,g=e.client_secret,d=e.response_type,p=void 0===d?"id_token":d,v=e.scope,y=void 0===v?"openid":v,m=e.redirect_uri,_=e.post_logout_redirect_uri,S=e.client_authentication,w=void 0===S?"client_secret_post":S,b=e.prompt,F=e.display,E=e.max_age,x=e.ui_locales,A=e.acr_values,k=e.resource,P=e.response_mode,C=e.filterProtocolClaims,T=void 0===C||C,R=e.loadUserInfo,I=void 0===R||R,D=e.staleStateAge,L=void 0===D?900:D,N=e.clockSkew,U=void 0===N?300:N,O=e.clockService,B=void 0===O?new s.ClockService:O,M=e.userInfoJwtIssuer,j=void 0===M?"OP":M,H=e.mergeClaims,K=void 0!==H&&H,V=e.stateStore,q=void 0===V?new a.WebStorageStateStore:V,J=e.ResponseValidatorCtor,W=void 0===J?u.ResponseValidator:J,z=e.MetadataServiceCtor,Y=void 0===z?c.MetadataService:z,G=e.extraQueryParams,$=void 0===G?{}:G,X=e.extraTokenParams,Q=void 0===X?{}:X;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=l,this._signingKeys=h,this._client_id=f,this._client_secret=g,this._response_type=p,this._scope=y,this._redirect_uri=m,this._post_logout_redirect_uri=_,this._client_authentication=w,this._prompt=b,this._display=F,this._max_age=E,this._ui_locales=x,this._acr_values=A,this._resource=k,this._response_mode=P,this._filterProtocolClaims=!!T,this._loadUserInfo=!!I,this._staleStateAge=L,this._clockSkew=U,this._clockService=B,this._userInfoJwtIssuer=j,this._mergeClaims=!!K,this._stateStore=q,this._validator=new W(this),this._metadataService=new Y(this),this._extraQueryParams="object"===(void 0===$?"undefined":n($))?$:{},this._extraTokenParams="object"===(void 0===Q?"undefined":n(Q))?Q:{}}return t.prototype.getEpochTime=function(){return this._clockService.getEpochTime()},i(t,[{key:"client_id",get:function(){return this._client_id},set:function(t){if(this._client_id)throw o.Log.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=t}},{key:"client_secret",get:function(){return this._client_secret}},{key:"response_type",get:function(){return this._response_type}},{key:"scope",get:function(){return this._scope}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"post_logout_redirect_uri",get:function(){return this._post_logout_redirect_uri}},{key:"client_authentication",get:function(){return this._client_authentication}},{key:"prompt",get:function(){return this._prompt}},{key:"display",get:function(){return this._display}},{key:"max_age",get:function(){return this._max_age}},{key:"ui_locales",get:function(){return this._ui_locales}},{key:"acr_values",get:function(){return this._acr_values}},{key:"resource",get:function(){return this._resource}},{key:"response_mode",get:function(){return this._response_mode}},{key:"authority",get:function(){return this._authority},set:function(t){if(this._authority)throw o.Log.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=t}},{key:"metadataUrl",get:function(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(h)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=h)),this._metadataUrl}},{key:"metadata",get:function(){return this._metadata},set:function(t){this._metadata=t}},{key:"metadataSeed",get:function(){return this._metadataSeed},set:function(t){this._metadataSeed=t}},{key:"signingKeys",get:function(){return this._signingKeys},set:function(t){this._signingKeys=t}},{key:"filterProtocolClaims",get:function(){return this._filterProtocolClaims}},{key:"loadUserInfo",get:function(){return this._loadUserInfo}},{key:"staleStateAge",get:function(){return this._staleStateAge}},{key:"clockSkew",get:function(){return this._clockSkew}},{key:"userInfoJwtIssuer",get:function(){return this._userInfoJwtIssuer}},{key:"mergeClaims",get:function(){return this._mergeClaims}},{key:"stateStore",get:function(){return this._stateStore}},{key:"validator",get:function(){return this._validator}},{key:"metadataService",get:function(){return this._metadataService}},{key:"extraQueryParams",get:function(){return this._extraQueryParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraQueryParams=t:this._extraQueryParams={}}},{key:"extraTokenParams",get:function(){return this._extraTokenParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraTokenParams=t:this._extraTokenParams={}}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.WebStorageStateStore=void 0;var n=r(0),i=r(1);e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?"oidc.":r,o=e.store,s=void 0===o?i.Global.localStorage:o;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._store=s,this._prefix=n}return t.prototype.set=function(t,e){return n.Log.debug("WebStorageStateStore.set",t),t=this._prefix+t,this._store.setItem(t,e),Promise.resolve()},t.prototype.get=function(t){n.Log.debug("WebStorageStateStore.get",t),t=this._prefix+t;var e=this._store.getItem(t);return Promise.resolve(e)},t.prototype.remove=function(t){n.Log.debug("WebStorageStateStore.remove",t),t=this._prefix+t;var e=this._store.getItem(t);return this._store.removeItem(t),Promise.resolve(e)},t.prototype.getAllKeys=function(){n.Log.debug("WebStorageStateStore.getAllKeys");for(var t=[],e=0;e0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push("application/json"),n&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function(t,e){var r=this;if(!t)throw n.Log.error("JsonService.getJson: No url passed"),new Error("url");return n.Log.debug("JsonService.getJson, url: ",t),new Promise((function(i,o){var s=new r._XMLHttpRequest;s.open("GET",t);var a=r._contentTypes,u=r._jwtHandler;s.onload=function(){if(n.Log.debug("JsonService.getJson: HTTP response received, status",s.status),200===s.status){var e=s.getResponseHeader("Content-Type");if(e){var r=a.find((function(t){if(e.startsWith(t))return!0}));if("application/jwt"==r)return void u(s).then(i,o);if(r)try{return void i(JSON.parse(s.responseText))}catch(t){return n.Log.error("JsonService.getJson: Error parsing JSON response",t.message),void o(t)}}o(Error("Invalid response Content-Type: "+e+", from URL: "+t))}else o(Error(s.statusText+" ("+s.status+")"))},s.onerror=function(){n.Log.error("JsonService.getJson: network error"),o(Error("Network Error"))},e&&(n.Log.debug("JsonService.getJson: token passed, setting Authorization header"),s.setRequestHeader("Authorization","Bearer "+e)),s.send()}))},t.prototype.postForm=function(t,e,r){var i=this;if(!t)throw n.Log.error("JsonService.postForm: No url passed"),new Error("url");return n.Log.debug("JsonService.postForm, url: ",t),new Promise((function(o,s){var a=new i._XMLHttpRequest;a.open("POST",t);var u=i._contentTypes;a.onload=function(){if(n.Log.debug("JsonService.postForm: HTTP response received, status",a.status),200!==a.status){if(400===a.status&&(r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{var e=JSON.parse(a.responseText);if(e&&e.error)return n.Log.error("JsonService.postForm: Error from server: ",e.error),void s(new Error(e.error))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error(a.statusText+" ("+a.status+")"))}else{var r;if((r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{return void o(JSON.parse(a.responseText))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error("Invalid response Content-Type: "+r+", from URL: "+t))}},a.onerror=function(){n.Log.error("JsonService.postForm: network error"),s(Error("Network Error"))};var c="";for(var h in e){var l=e[h];l&&(c.length>0&&(c+="&"),c+=encodeURIComponent(h),c+="=",c+=encodeURIComponent(l))}a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void 0!==r&&a.setRequestHeader("Authorization","Basic "+btoa(r)),a.send(c)}))},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,h=e.authority,l=e.data,f=e.prompt,g=e.display,d=e.max_age,p=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,w=e.request,b=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,k=e.skipUserInfo;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SigninRequest.ctor: No url passed"),new Error("url");if(!s)throw n.Log.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!a)throw n.Log.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!u)throw n.Log.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!c)throw n.Log.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!h)throw n.Log.error("SigninRequest.ctor: No authority passed"),new Error("authority");var P=t.isOidc(u),C=t.isCode(u);S||(S=t.isCode(u)?"query":null),this.state=new o.SigninState({nonce:P,data:l,client_id:s,authority:h,redirect_uri:a,code_verifier:C,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:k}),r=i.UrlUtility.addQueryParam(r,"client_id",s),r=i.UrlUtility.addQueryParam(r,"redirect_uri",a),r=i.UrlUtility.addQueryParam(r,"response_type",u),r=i.UrlUtility.addQueryParam(r,"scope",c),r=i.UrlUtility.addQueryParam(r,"state",this.state.id),P&&(r=i.UrlUtility.addQueryParam(r,"nonce",this.state.nonce)),C&&(r=i.UrlUtility.addQueryParam(r,"code_challenge",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,"code_challenge_method","S256"));var T={prompt:f,display:g,max_age:d,ui_locales:p,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:w,request_uri:b,response_mode:S};for(var R in T)T[R]&&(r=i.UrlUtility.addQueryParam(r,R,T[R]));for(var I in F)r=i.UrlUtility.addQueryParam(r,I,F[I]);this.url=r}return t.isOidc=function(t){return!!t.split(/\s+/g).filter((function(t){return"id_token"===t}))[0]},t.isOAuth=function(t){return!!t.split(/\s+/g).filter((function(t){return"token"===t}))[0]},t.isCode=function(t){return!!t.split(/\s+/g).filter((function(t){return"code"===t}))[0]},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._id=r||(0,o.default)(),this._data=n,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function(){return i.Log.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function(e){return i.Log.debug("State.fromStorageString"),new t(JSON.parse(e))},t.clearStaleState=function(e,r){var n=Date.now()/1e3-r;return e.getAllKeys().then((function(r){i.Log.debug("State.clearStaleState: got keys",r);for(var o=[],s=function(s){var a=r[s];u=e.get(a).then((function(r){var o=!1;if(r)try{var s=t.fromStorageString(r);i.Log.debug("State.clearStaleState: got item from key: ",a,s.created),s.created<=n&&(o=!0)}catch(t){i.Log.error("State.clearStaleState: Error parsing state for key",a,t.message),o=!0}else i.Log.debug("State.clearStaleState: no item in storage for key: ",a),o=!0;if(o)return i.Log.debug("State.clearStaleState: removed item for key: ",a),e.remove(a)})),o.push(u)},a=0;a0&&void 0!==arguments[0]?arguments[0]:{};(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.response_type,n=e.scope,o=e.redirect_uri,s=e.data,u=e.state,c=e.prompt,h=e.display,l=e.max_age,f=e.ui_locales,g=e.id_token_hint,d=e.login_hint,p=e.acr_values,v=e.resource,y=e.request,m=e.request_uri,_=e.response_mode,S=e.extraQueryParams,w=e.extraTokenParams,b=e.request_type,F=e.skipUserInfo,E=arguments[1];i.Log.debug("OidcClient.createSigninRequest");var x=this._settings.client_id;r=r||this._settings.response_type,n=n||this._settings.scope,o=o||this._settings.redirect_uri,c=c||this._settings.prompt,h=h||this._settings.display,l=l||this._settings.max_age,f=f||this._settings.ui_locales,p=p||this._settings.acr_values,v=v||this._settings.resource,_=_||this._settings.response_mode,S=S||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var A=this._settings.authority;return a.SigninRequest.isCode(r)&&"code"!==r?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then((function(e){i.Log.debug("OidcClient.createSigninRequest: Received authorization endpoint",e);var k=new a.SigninRequest({url:e,client_id:x,redirect_uri:o,response_type:r,scope:n,data:s||u,authority:A,prompt:c,display:h,max_age:l,ui_locales:f,id_token_hint:g,login_hint:d,acr_values:p,resource:v,request:y,request_uri:m,extraQueryParams:S,extraTokenParams:w,request_type:b,response_mode:_,client_secret:t._settings.client_secret,skipUserInfo:F}),P=k.state;return(E=E||t._stateStore).set(P.id,P.toStorageString()).then((function(){return k}))}))},t.prototype.readSigninResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSigninResponseState");var n="query"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type)?"?":"#",o=new u.SigninResponse(t,n);return o.state?(e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o.state).then((function(t){if(!t)throw i.Log.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:l.SigninState.fromStorageString(t),response:o}}))):(i.Log.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response")))},t.prototype.processSigninResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return i.Log.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),r._validator.validateSigninResponse(e,n)}))},t.prototype.createSignoutRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.id_token_hint,n=e.data,o=e.state,s=e.post_logout_redirect_uri,a=e.extraQueryParams,u=e.request_type,h=arguments[1];return i.Log.debug("OidcClient.createSignoutRequest"),s=s||this._settings.post_logout_redirect_uri,a=a||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(e){if(!e)throw i.Log.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");i.Log.debug("OidcClient.createSignoutRequest: Received end session endpoint",e);var l=new c.SignoutRequest({url:e,id_token_hint:r,post_logout_redirect_uri:s,data:n||o,extraQueryParams:a,request_type:u}),f=l.state;return f&&(i.Log.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(h=h||t._stateStore).set(f.id,f.toStorageString())),l}))},t.prototype.readSignoutResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSignoutResponseState");var n=new h.SignoutResponse(t);if(!n.state)return i.Log.debug("OidcClient.readSignoutResponseState: No state in response"),n.error?(i.Log.warn("OidcClient.readSignoutResponseState: Response was error: ",n.error),Promise.reject(new s.ErrorResponse(n))):Promise.resolve({state:void 0,response:n});var o=n.state;return e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o).then((function(t){if(!t)throw i.Log.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:f.State.fromStorageString(t),response:n}}))},t.prototype.processSignoutResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return e?(i.Log.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),r._validator.validateSignoutResponse(e,n)):(i.Log.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),n)}))},t.prototype.clearStaleState=function(t){return i.Log.debug("OidcClient.clearStaleState"),t=t||this._stateStore,f.State.clearStaleState(t,this.settings.staleStateAge)},n(t,[{key:"_stateStore",get:function(){return this.settings.stateStore}},{key:"_validator",get:function(){return this.settings.validator}},{key:"_metadataService",get:function(){return this.settings.metadataService}},{key:"settings",get:function(){return this._settings}},{key:"metadataService",get:function(){return this._metadataService}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r,this._metadataService=new s(this._settings)}return t.prototype.exchangeCode=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"authorization_code",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret,e.redirect_uri=e.redirect_uri||this._settings.redirect_uri;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.code?e.redirect_uri?e.code_verifier?e.client_id?e.client_secret||"client_secret_basic"!=n?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeCode: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeCode: response received"),t}))}))):(o.Log.error("TokenClient.exchangeCode: No client_secret passed"),Promise.reject(new Error("A client_secret is required"))):(o.Log.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(o.Log.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(o.Log.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))},t.prototype.exchangeRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"refresh_token",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.refresh_token?e.client_id?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeRefreshToken: response received"),t}))}))):(o.Log.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ErrorResponse=void 0;var n=r(0);e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.error,o=r.error_description,s=r.error_uri,a=r.state,u=r.session_state;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),!i)throw n.Log.error("No error passed to ErrorResponse"),new Error("error");var c=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,o||i));return c.name="ErrorResponse",c.error=i,c.error_description=o,c.error_uri=s,c.state=a,c.session_state=u,c}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,c=r.code_verifier,h=r.response_mode,l=r.client_secret,f=r.scope,g=r.extraTokenParams,d=r.skipUserInfo;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var p=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));if(!0===n?p._nonce=(0,a.default)():n&&(p._nonce=n),!0===c?p._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():c&&(p._code_verifier=c),p.code_verifier){var v=s.JoseUtil.hashString(p.code_verifier,"SHA256");p._code_challenge=s.JoseUtil.hexToBase64Url(v)}return p._redirect_uri=u,p._authority=i,p._client_id=o,p._response_mode=h,p._client_secret=l,p._scope=f,p._extraTokenParams=g,p._skipUserInfo=d,p}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function(){return i.Log.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function(t){return i.Log.debug("SigninState.fromStorageString"),new e(JSON.parse(t))},n(e,[{key:"nonce",get:function(){return this._nonce}},{key:"authority",get:function(){return this._authority}},{key:"client_id",get:function(){return this._client_id}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"code_verifier",get:function(){return this._code_verifier}},{key:"code_challenge",get:function(){return this._code_challenge}},{key:"response_mode",get:function(){return this._response_mode}},{key:"client_secret",get:function(){return this._client_secret}},{key:"scope",get:function(){return this._scope}},{key:"extraTokenParams",get:function(){return this._extraTokenParams}},{key:"skipUserInfo",get:function(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return("undefined"!=n&&null!==n&&void 0!==n.getRandomValues?i:o)().replace(/-/g,"")};var n="undefined"!=typeof window?window.crypto||window.msCrypto:null;function i(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^n.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^16*Math.random()>>t/4).toString(16)}))}t.exports=e.default},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AccessTokenEvents=void 0;var n=r(0),i=r(46);e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?60:r,o=e.accessTokenExpiringTimer,s=void 0===o?new i.Timer("Access token expiring"):o,a=e.accessTokenExpiredTimer,u=void 0===a?new i.Timer("Access token expired"):a;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=s,this._accessTokenExpired=u}return t.prototype.load=function(t){if(t.access_token&&void 0!==t.expires_in){var e=t.expires_in;if(n.Log.debug("AccessTokenEvents.load: access token present, remaining duration:",e),e>0){var r=e-this._accessTokenExpiringNotificationTime;r<=0&&(r=1),n.Log.debug("AccessTokenEvents.load: registering expiring timer in:",r),this._accessTokenExpiring.init(r)}else n.Log.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();var i=e+1;n.Log.debug("AccessTokenEvents.load: registering expired timer in:",i),this._accessTokenExpired.init(i)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function(){n.Log.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function(t){this._accessTokenExpiring.addHandler(t)},t.prototype.removeAccessTokenExpiring=function(t){this._accessTokenExpiring.removeHandler(t)},t.prototype.addAccessTokenExpired=function(t){this._accessTokenExpired.addHandler(t)},t.prototype.removeAccessTokenExpired=function(t){this._accessTokenExpired.removeHandler(t)},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=r(0);e.Event=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function(t){this._callbacks.push(t)},t.prototype.removeHandler=function(t){var e=this._callbacks.findIndex((function(e){return e===t}));e>=0&&this._callbacks.splice(e,1)},t.prototype.raise=function(){n.Log.debug("Event: Raising event: "+this._name);for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=a,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)})).catch((function(t){i.Log.error("SessionMonitor ctor: error from querySessionStatus:",t.message)}))})).catch((function(t){i.Log.error("SessionMonitor ctor: error from getUser:",t.message)})))}return t.prototype._start=function(t){var e=this,r=t.session_state;r&&(t.profile?(this._sub=t.profile.sub,this._sid=t.profile.sid,i.Log.debug("SessionMonitor._start: session_state:",r,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug("SessionMonitor._start: session_state:",r,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(r):this._metadataService.getCheckSessionIframe().then((function(t){if(t){i.Log.debug("SessionMonitor._start: Initializing check session iframe");var n=e._client_id,o=e._checkSessionInterval,s=e._stopCheckSessionOnError;e._checkSessionIFrame=new e._CheckSessionIFrameCtor(e._callback.bind(e),n,t,o,s),e._checkSessionIFrame.load().then((function(){e._checkSessionIFrame.start(r)}))}else i.Log.warn("SessionMonitor._start: No check session iframe found in the metadata")})).catch((function(t){i.Log.error("SessionMonitor._start: Error from getCheckSessionIframe:",t.message)})))},t.prototype._stop=function(){var t=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var e=this._timer.setInterval((function(){t._timer.clearInterval(e),t._userManager.querySessionStatus().then((function(e){var r={session_state:e.session_state};e.sub&&e.sid&&(r.profile={sub:e.sub,sid:e.sid}),t._start(r)})).catch((function(t){i.Log.error("SessionMonitor: error from querySessionStatus:",t.message)}))}),1e3)},t.prototype._callback=function(){var t=this;this._userManager.querySessionStatus().then((function(e){var r=!0;e?e.sub===t._sub?(r=!1,t._checkSessionIFrame.start(e.session_state),e.sid===t._sid?i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",e.session_state):(i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",e.session_state),t._userManager.events._raiseUserSessionChanged())):i.Log.debug("SessionMonitor._callback: Different subject signed into OP:",e.sub):i.Log.debug("SessionMonitor._callback: Subject no longer signed into OP"),r&&(t._sub?(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),t._userManager.events._raiseUserSignedOut()):(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),t._userManager.events._raiseUserSignedIn()))})).catch((function(e){t._sub&&(i.Log.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",e.message),t._userManager.events._raiseUserSignedOut())}))},n(t,[{key:"_settings",get:function(){return this._userManager.settings}},{key:"_metadataService",get:function(){return this._userManager.metadataService}},{key:"_client_id",get:function(){return this._settings.client_id}},{key:"_checkSessionInterval",get:function(){return this._settings.checkSessionInterval}},{key:"_stopCheckSessionOnError",get:function(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(0);e.CheckSessionIFrame=function(){function t(e,r,n,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=i||2e3,this._stopOnError=o;var s=n.indexOf("/",n.indexOf("//")+2);this._frame_origin=n.substr(0,s),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.width=0,this._frame.height=0,this._frame.src=n}return t.prototype.load=function(){var t=this;return new Promise((function(e){t._frame.onload=function(){e()},window.document.body.appendChild(t._frame),t._boundMessageEvent=t._message.bind(t),window.addEventListener("message",t._boundMessageEvent,!1)}))},t.prototype._message=function(t){t.origin===this._frame_origin&&t.source===this._frame.contentWindow&&("error"===t.data?(n.Log.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===t.data?(n.Log.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):n.Log.debug("CheckSessionIFrame: "+t.data+" message from check session op iframe"))},t.prototype.start=function(t){var e=this;if(this._session_state!==t){n.Log.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=t;var r=function(){e._frame.contentWindow.postMessage(e._client_id+" "+e._session_state,e._frame_origin)};r(),this._timer=window.setInterval(r,this._interval)}},t.prototype.stop=function(){this._session_state=null,this._timer&&(n.Log.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1);e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw n.Log.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new s(this._settings)}return t.prototype.revoke=function(t,e){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"access_token";if(!t)throw n.Log.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if("access_token"!==i&&"refresh_token"!=i)throw n.Log.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then((function(o){if(o){n.Log.debug("TokenRevocationClient.revoke: Revoking "+i);var s=r._settings.client_id,a=r._settings.client_secret;return r._revoke(o,s,a,t,i)}if(e)throw n.Log.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")}))},t.prototype._revoke=function(t,e,r,i,o){var s=this;return new Promise((function(a,u){var c=new s._XMLHttpRequestCtor;c.open("POST",t),c.onload=function(){n.Log.debug("TokenRevocationClient.revoke: HTTP response received, status",c.status),200===c.status?a():u(Error(c.statusText+" ("+c.status+")"))},c.onerror=function(){n.Log.debug("TokenRevocationClient.revoke: Network Error."),u("Network Error")};var h="client_id="+encodeURIComponent(e);r&&(h+="&client_secret="+encodeURIComponent(r)),h+="&token_type_hint="+encodeURIComponent(o),h+="&token="+encodeURIComponent(i),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.send(h)}))},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new h(this._settings)}return t.prototype.validateSigninResponse=function(t,e){var r=this;return i.Log.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: state processed"),r._validateTokens(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: tokens validated"),r._processClaims(t,e).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: claims processed"),t}))}))}))},t.prototype.validateSignoutResponse=function(t,e){return t.id!==e.state?(i.Log.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(i.Log.debug("ResponseValidator.validateSignoutResponse: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator.validateSignoutResponse: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):Promise.resolve(e))},t.prototype._processSigninParams=function(t,e){if(t.id!==e.state)return i.Log.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!t.client_id)return i.Log.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!t.authority)return i.Log.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==t.authority)return i.Log.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=t.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==t.client_id)return i.Log.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=t.client_id;return i.Log.debug("ResponseValidator._processSigninParams: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator._processSigninParams: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):t.nonce&&!e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!t.nonce&&e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):t.code_verifier&&!e.code?(i.Log.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!t.code_verifier&&e.code?(i.Log.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(e.scope||(e.scope=t.scope),Promise.resolve(e))},t.prototype._processClaims=function(t,e){var r=this;if(e.isOpenIdConnect){if(i.Log.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),e.profile=this._filterProtocolClaims(e.profile),!0!==t.skipUserInfo&&this._settings.loadUserInfo&&e.access_token)return i.Log.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(e.access_token).then((function(t){return i.Log.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),t.sub!==e.profile.sub?(i.Log.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in id_token"))):(e.profile=r._mergeClaims(e.profile,t),i.Log.debug("ResponseValidator._processClaims: user info claims received, updated profile:",e.profile),e)}));i.Log.debug("ResponseValidator._processClaims: not loading user info")}else i.Log.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(e)},t.prototype._mergeClaims=function(t,e){var r=Object.assign({},t);for(var i in e){var o=e[i];Array.isArray(o)||(o=[o]);for(var s=0;s1)return i.Log.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));o=r[0]}return Promise.resolve(o)}))},t.prototype._getSigningKeyForJwtWithSingleRetry=function(t){var e=this;return this._getSigningKeyForJwt(t).then((function(r){return r?Promise.resolve(r):(e._metadataService.resetSigningKeys(),e._getSigningKeyForJwt(t))}))},t.prototype._validateIdToken=function(t,e){var r=this;if(!t.nonce)return i.Log.error("ResponseValidator._validateIdToken: No nonce on state"),Promise.reject(new Error("No nonce on state"));var n=this._joseUtil.parseJwt(e.id_token);return n&&n.header&&n.payload?t.nonce!==n.payload.nonce?(i.Log.error("ResponseValidator._validateIdToken: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):this._metadataService.getIssuer().then((function(o){return i.Log.debug("ResponseValidator._validateIdToken: Received issuer"),r._getSigningKeyForJwtWithSingleRetry(n).then((function(s){if(!s)return i.Log.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var a=t.client_id,u=r._settings.clockSkew;return i.Log.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",u),r._joseUtil.validateJwt(e.id_token,s,o,a,u).then((function(){return i.Log.debug("ResponseValidator._validateIdToken: JWT validation successful"),n.payload.sub?(e.profile=n.payload,e):(i.Log.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))}))}))})):(i.Log.error("ResponseValidator._validateIdToken: Failed to parse id_token",n),Promise.reject(new Error("Failed to parse id_token")))},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return i.Log.debug("ResponseValidator._filterByAlg: alg not supported: ",e),[];r="EC"}return i.Log.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),i.Log.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",r,t.length),t},t.prototype._validateAccessToken=function(t){if(!t.profile)return i.Log.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!t.profile.at_hash)return i.Log.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!t.id_token)return i.Log.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));var e=this._joseUtil.parseJwt(t.id_token);if(!e||!e.header)return i.Log.error("ResponseValidator._validateAccessToken: Failed to parse id_token",e),Promise.reject(new Error("Failed to parse id_token"));var r=e.header.alg;if(!r||5!==r.length)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r),Promise.reject(new Error("Unsupported alg: "+r));var n=r.substr(2,3);if(!n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));if(256!==(n=parseInt(n))&&384!==n&&512!==n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));var o="sha"+n,s=this._joseUtil.hashString(t.access_token,o);if(!s)return i.Log.error("ResponseValidator._validateAccessToken: access_token hash failed:",o),Promise.reject(new Error("Failed to validate at_hash"));var a=s.substr(0,s.length/2),u=this._joseUtil.hexToBase64Url(a);return u!==t.profile.at_hash?(i.Log.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",u,t.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(i.Log.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(t))},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),s=r(4);e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new a(this._settings),this._joseUtil=u}return t.prototype.getClaims=function(t){var e=this;return t?this._metadataService.getUserInfoEndpoint().then((function(r){return o.Log.debug("UserInfoService.getClaims: received userinfo url",r),e._jsonService.getJson(r,t).then((function(t){return o.Log.debug("UserInfoService.getClaims: claims received",t),t}))})):(o.Log.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",n),Promise.reject(new Error("Failed to parse id_token"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case"OP":s=this._metadataService.getIssuer();break;case"ANY":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then((function(t){return o.Log.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+t),r._metadataService.getSigningKeys().then((function(s){if(!s)return o.Log.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));o.Log.debug("UserInfoService._getClaimsFromJwt: Received signing keys");var a=void 0;if(i)a=s.filter((function(t){return t.kid===i}))[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));a=s[0]}if(!a)return o.Log.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then((function(){return o.Log.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),n.payload}))}))}))}catch(t){return o.Log.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",t.message),void reject(t)}},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return o.Log.debug("UserInfoService._filterByAlg: alg not supported: ",e),[];r="EC"}return o.Log.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),o.Log.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",r,t.length),t},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(27);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]},function(t,e,r){(function(t){Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n={userAgent:!1},i={}; +/*! + Copyright (c) 2011, Yahoo! Inc. All rights reserved. + Code licensed under the BSD License: + http://developer.yahoo.com/yui/license.html + version: 2.9.0 + */if(void 0===o)var o={};o.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var i=function(){};if(i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),r){var o;for(o in r)t.prototype[o]=r[o];var s=function(){},a=["toString","valueOf"];try{/MSIE/.test(n.userAgent)&&(s=function(t,e){for(o=0;o>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,e=this.sigBytes;t[e>>>2]&=4294967295<<32-e%4*8,t.length=s.ceil(e/4)},clone:function(){var t=c.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],r=0;r>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new h.init(r,e/2)}},g=l.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new h.init(r,e)}},d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(g.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return g.parse(unescape(encodeURIComponent(t)))}},p=u.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new h.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var e=this._data,r=e.words,n=e.sigBytes,i=this.blockSize,o=n/(4*i),a=(o=t?s.ceil(o):s.max((0|o)-this._minBufferSize,0))*i,u=s.min(4*a,n);if(a){for(var c=0;c>>2]>>>24-i%4*8&255)<<16|(e[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|e[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;4>s&&i+.75*s>>6*(3-s)&63));if(e=n.charAt(64))for(;t.length%4;)t.push(e);return t.join("")},parse:function(t){var r=t.length,n=this._map;(i=n.charAt(64))&&-1!=(i=t.indexOf(i))&&(r=i);for(var i=[],o=0,s=0;s>>6-s%4*2;i[o>>>2]|=(a|u)<<24-o%4*8,o++}return e.create(i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(t){for(var e=y,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function(t){return 4294967296*(t-(0|t))|0},u=2,c=0;64>c;){var h;t:{h=u;for(var l=t.sqrt(h),f=2;f<=l;f++)if(!(h%f)){h=!1;break t}h=!0}h&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var g=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],u=r[4],c=r[5],h=r[6],l=r[7],f=0;64>f;f++){if(16>f)g[f]=0|t[e+f];else{var d=g[f-15],p=g[f-2];g[f]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+g[f-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+g[f-16]}d=l+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&h)+s[f]+g[f],p=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&o^i&o),l=h,h=c,c=u,u=a+d|0,a=o,o=i,i=n,n=d+p|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+u|0,r[5]=r[5]+c|0,r[6]=r[6]+h|0,r[7]=r[7]+l|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=y,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=(l=this._hash.words)[0],n=l[1],i=l[2],o=l[3],u=l[4],c=l[5],h=l[6],l=l[7],f=r.high,g=r.low,d=n.high,p=n.low,v=i.high,y=i.low,m=o.high,_=o.low,S=u.high,w=u.low,b=c.high,F=c.low,E=h.high,x=h.low,A=l.high,k=l.low,P=f,C=g,T=d,R=p,I=v,D=y,L=m,N=_,U=S,O=w,B=b,M=F,j=E,H=x,K=A,V=k,q=0;80>q;q++){var J=a[q];if(16>q)var W=J.high=0|t[e+2*q],z=J.low=0|t[e+2*q+1];else{W=((z=(W=a[q-15]).high)>>>1|(Y=W.low)<<31)^(z>>>8|Y<<24)^z>>>7;var Y=(Y>>>1|z<<31)^(Y>>>8|z<<24)^(Y>>>7|z<<25),G=((z=(G=a[q-2]).high)>>>19|($=G.low)<<13)^(z<<3|$>>>29)^z>>>6,$=($>>>19|z<<13)^($<<3|z>>>29)^($>>>6|z<<26),X=(z=a[q-7]).high,Q=(Z=a[q-16]).high,Z=Z.low;W=(W=(W=W+X+((z=Y+z.low)>>>0>>0?1:0))+G+((z+=$)>>>0<$>>>0?1:0))+Q+((z+=Z)>>>0>>0?1:0),J.high=W,J.low=z}X=U&B^~U&j,Z=O&M^~O&H,J=P&T^P&I^T&I;var tt=C&R^C&D^R&D,et=(Y=(P>>>28|C<<4)^(P<<30|C>>>2)^(P<<25|C>>>7),G=(C>>>28|P<<4)^(C<<30|P>>>2)^(C<<25|P>>>7),($=s[q]).high),rt=$.low;Q=K+((U>>>14|O<<18)^(U>>>18|O<<14)^(U<<23|O>>>9))+(($=V+((O>>>14|U<<18)^(O>>>18|U<<14)^(O<<23|U>>>9)))>>>0>>0?1:0),K=j,V=H,j=B,H=M,B=U,M=O,U=L+(Q=(Q=(Q=Q+X+(($+=Z)>>>0>>0?1:0))+et+(($+=rt)>>>0>>0?1:0))+W+(($+=z)>>>0>>0?1:0))+((O=N+$|0)>>>0>>0?1:0)|0,L=I,N=D,I=T,D=R,T=P,R=C,P=Q+(J=Y+J+((z=G+tt)>>>0>>0?1:0))+((C=$+z|0)>>>0<$>>>0?1:0)|0}g=r.low=g+C,r.high=f+P+(g>>>0>>0?1:0),p=n.low=p+R,n.high=d+T+(p>>>0>>0?1:0),y=i.low=y+D,i.high=v+I+(y>>>0>>0?1:0),_=o.low=_+N,o.high=m+L+(_>>>0>>0?1:0),w=u.low=w+O,u.high=S+U+(w>>>0>>0?1:0),F=c.low=F+M,c.high=b+B+(F>>>0>>0?1:0),x=h.low=x+H,h.high=E+j+(x>>>0>>0?1:0),k=l.low=k+V,l.high=A+K+(k>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),e[31+(n+128>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=y,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function(){var t=n._doFinalize.call(this);return t.sigBytes-=16,t}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}(); +/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ + */ +var m,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function S(t){var e,r,n="";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=_.charAt(r>>6)+_.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=_.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=_.charAt(r>>2)+_.charAt((3&r)<<4));(3&n.length)>0;)n+="=";return n}function w(t){var e,r,n,i="",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=P(r<<2|n>>4),r=15&n,o=2):2==o?(i+=P(r),i+=P(n>>2),r=3&n,o=3):(i+=P(r<<2|n>>4),i+=P(15&n),o=0));return 1==o&&(i+=P(r<<2)),i}function b(t){var e,r=w(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,h=a*u+c*s;i=((u=s*u+((32767&h)<<15)+r[n]+(1073741823&i))>>>30)+(h>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},m=30):"Netscape"!=n.appName?(F.prototype.am=function(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},m=26):(F.prototype.am=function(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,h=a*u+c*s;i=((u=s*u+((16383&h)<<14)+r[n]+i)>>28)+(h>>14)+a*c,r[n++]=268435455&u}return i},m=28),F.prototype.DB=m,F.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function I(t){this.m=t}function D(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),!(255&t)&&(t>>=8,e+=8),!(15&t)&&(t>>=4,e+=4),!(3&t)&&(t>>=2,e+=2),!(1&t)&&++e,e}function M(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function j(){}function H(t){return t}function K(t){this.r2=E(),this.q3=E(),F.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}I.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},I.prototype.revert=function(t){return t},I.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},I.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},I.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},D.prototype.convert=function(t){var e=E();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(F.ZERO)>0&&this.m.subTo(e,e),e},D.prototype.revert=function(t){var e=E();return t.copyTo(e),this.reduce(e),e},D.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},D.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},D.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},F.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},F.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},F.prototype.fromString=function(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:C(t,n);s<0?"-"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&!!(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},F.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},F.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},F.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},F.prototype.multiplyTo=function(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},F.prototype.divRemTo=function(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,h=o[c-1];if(0!=h){var l=h*(1<1?o[c-2]>>this.F2:0),f=this.FV/l,g=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),F.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--p]==h?this.DM:Math.floor(r[p]*f+(r[p-1]+d)*g);if((r[p]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&F.ZERO.subTo(r,r)}}},F.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(!(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},F.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},F.prototype.exp=function(t,e){if(t>4294967295||t<1)return F.ONE;var r=E(),n=E(),i=e.convert(this),o=R(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},F.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=P(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=P(r));return i?o:"0"},F.prototype.negate=function(){var t=E();return F.ZERO.subTo(this,t),t},F.prototype.abs=function(){return this.s<0?this.negate():this},F.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},F.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+R(this[this.t-1]^this.s&this.DM)},F.prototype.mod=function(t){var e=E();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(F.ZERO)>0&&t.subTo(e,e),e},F.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new I(e):new D(e),this.exp(t,r)},F.ZERO=T(0),F.ONE=T(1),j.prototype.convert=H,j.prototype.revert=H,j.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},j.prototype.sqrTo=function(t,e){t.squareTo(e)},K.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=E();return t.copyTo(e),this.reduce(e),e},K.prototype.revert=function(t){return t},K.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},K.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},K.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var V,q,J,W=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],z=(1<<26)/W[W.length-1]; +/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ + */function Y(){this.i=0,this.j=0,this.S=new Array} +/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ + */ +function G(){!function(t){q[J++]^=255&t,q[J++]^=t>>8&255,q[J++]^=t>>16&255,q[J++]^=t>>24&255,J>=256&&(J-=256)}((new Date).getTime())}if(F.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},F.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=T(r),i=E(),o=E(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},F.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&F.ZERO.subTo(this,this)},F.prototype.fromNumber=function(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(F.ONE.shiftLeft(t-1),N,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(F.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},F.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},F.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},F.prototype.multiplyLowerTo=function(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},F.prototype.millerRabin=function(t){var e=this.subtract(F.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>W.length&&(t=W.length);for(var i=E(),o=0;o>24},F.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},F.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},F.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),!!(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},F.prototype.equals=function(t){return 0==this.compareTo(t)},F.prototype.min=function(t){return this.compareTo(t)<0?this:t},F.prototype.max=function(t){return this.compareTo(t)>0?this:t},F.prototype.and=function(t){var e=E();return this.bitwiseTo(t,L,e),e},F.prototype.or=function(t){var e=E();return this.bitwiseTo(t,N,e),e},F.prototype.xor=function(t){var e=E();return this.bitwiseTo(t,U,e),e},F.prototype.andNot=function(t){var e=E();return this.bitwiseTo(t,O,e),e},F.prototype.not=function(){for(var t=E(),e=0;e=this.t?0!=this.s:!!(this[e]&1<1){var h=E();for(n.sqrTo(s[1],h);a<=c;)s[a]=E(),n.mulTo(h,s[a-2],s[a]),a+=2}var l,f,g=t.t-1,d=!0,p=E();for(i=R(t[g])-1;g>=0;){for(i>=u?l=t[g]>>i-u&c:(l=(t[g]&(1<0&&(l|=t[g-1]>>this.DB+i-u)),a=r;!(1&l);)l>>=1,--a;if((i-=a)<0&&(i+=this.DB,--g),d)s[l].copyTo(o),d=!1;else{for(;a>1;)n.sqrTo(o,p),n.sqrTo(p,o),a-=2;a>0?n.sqrTo(o,p):(f=o,o=p,p=f),n.mulTo(p,s[l],o)}for(;g>=0&&!(t[g]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(F.ONE)?F.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},F.prototype.pow=function(t){return this.exp(t,new j)},F.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},F.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=W[W.length-1]){for(e=0;e>>8,q[J++]=255&$;J=0,G()}function tt(){if(null==V){for(G(),(V=new Y).init(q),J=0;J>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function it(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null +/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ + */}function ot(t,e){this.x=e,this.q=t}function st(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?F.ONE:n,this.zinv=null}function at(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new st(this,null,null)}et.prototype.nextBytes=function(t){var e;for(e=0;e0&&e.length>0))throw"Invalid RSA public key";this.n=rt(t,16),this.e=parseInt(e,16)}},it.prototype.encrypt=function(t){var e=function(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new et,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new F(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var r=this.doPublic(e);if(null==r)return null;var n=r.toString(16);return 1&n.length?"0"+n:n},it.prototype.encryptOAEP=function(t,e,r){var n=function(t,e,r,n){var i=ct.crypto.MessageDigest,o=ct.crypto.Util,s=null;if(r||(r="sha1"),"string"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function(t){return Ft(o.hashHex(Et(t),s))}),t.length+2*n+2>e)throw"Message too long for RSA";var a,u="";for(a=0;a>3,e,r);if(null==n)return null;var i=this.doPublic(n);if(null==i)return null;var o=i.toString(16);return 1&o.length?"0"+o:o},it.prototype.type="RSA",ot.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},ot.prototype.toBigInteger=function(){return this.x},ot.prototype.negate=function(){return new ot(this.q,this.x.negate().mod(this.q))},ot.prototype.add=function(t){return new ot(this.q,this.x.add(t.toBigInteger()).mod(this.q))},ot.prototype.subtract=function(t){return new ot(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},ot.prototype.multiply=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},ot.prototype.square=function(){return new ot(this.q,this.x.square().mod(this.q))},ot.prototype.divide=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},st.prototype.getX=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.getY=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.equals=function(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO))},st.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(F.ZERO)&&!this.y.toBigInteger().equals(F.ZERO)},st.prototype.negate=function(){return new st(this.curve,this.x,this.y.negate(),this.z)},st.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(F.ZERO.equals(r))return F.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new F("3"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),h=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),l=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),f=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(h),this.curve.fromBigInteger(l),f)},st.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new F("3"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);F.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},st.prototype.multiply=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this,s=this.curve.q.subtract(t),a=s.multiply(new F("3")),u=new st(this.curve,this.x,this.y),c=u.negate();for(e=n.bitLength()-2;e>0;--e){o=o.twice();var h=n.testBit(e);h!=r.testBit(e)&&(o=o.add(h?this:i))}for(e=a.bitLength()-2;e>0;--e){u=u.twice();var l=a.testBit(e);l!=s.testBit(e)&&(u=u.add(l?u:c))}return o},st.prototype.multiplyTwo=function(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},at.prototype.getQ=function(){return this.q},at.prototype.getA=function(){return this.a},at.prototype.getB=function(){return this.b},at.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},at.prototype.getInfinity=function(){return this.infinity},at.prototype.fromBigInteger=function(t){return new ot(this.q,t)},at.prototype.decodePointHex=function(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new st(this,this.fromBigInteger(new F(r,16)),this.fromBigInteger(new F(n,16)))}}, +/*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib + */ +ot.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},st.prototype.getEncoded=function(t){var e=function(t,e){var r=t.toByteArrayUnsigned();if(er.length;)r.unshift(0);return r},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},st.decodeFrom=function(t,e){var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new F(n),s=new F(i);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new F(n,16),s=new F(i,16);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(F.valueOf(2)),e=this.curve.fromBigInteger(F.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},st.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},st.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},st.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(F.ONE)<0||e.compareTo(t.subtract(F.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(F.ONE)<0||r.compareTo(t.subtract(F.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(t).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0}; +/*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval + */ +var ut=function(){var t=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),e=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),n={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function i(t,e,r){return e?n[e]:String.fromCharCode(parseInt(r,16))}var o=new String(""),s=Object.hasOwnProperty;return function(n,a){var u,c,h=n.match(t),l=h[0],f=!1;"{"===l?u={}:"["===l?u=[]:(u=[],f=!0);for(var g=[u],d=1-f,p=h.length;d=0;)delete i[o[h]]}return a.call(e,n,i)}({"":u},"")),u}}();void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.asn1&&ct.asn1||(ct.asn1={}),ct.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},ct.asn1.DERAbstractString=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=wt(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},o.lang.extend(ct.asn1.DERAbstractString,ct.asn1.ASN1Object),ct.asn1.DERAbstractTime=function(t){ct.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());"utc"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+"."+(u=u.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=vt(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},o.lang.extend(ct.asn1.DERAbstractTime,ct.asn1.ASN1Object),ct.asn1.DERAbstractStructured=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},o.lang.extend(ct.asn1.DERAbstractStructured,ct.asn1.ASN1Object),ct.asn1.DERBoolean=function(t){ct.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==t?"010100":"0101ff"},o.lang.extend(ct.asn1.DERBoolean,ct.asn1.ASN1Object),ct.asn1.DERInteger=function(t){ct.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=ct.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new F(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},o.lang.extend(ct.asn1.DERInteger,ct.asn1.ASN1Object),ct.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=ct.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}ct.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,"::")).slice(1,-1)}function Ut(t){var e="malformed hex value";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?Nt(t):t;try{return parseInt(t.substr(0,2),16)+"."+parseInt(t.substr(2,2),16)+"."+parseInt(t.substr(4,2),16)+"."+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Ot(t){for(var e=encodeURIComponent(t),r="",n=0;n"7"?"00"+t:t}ft.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=n)break}return s},ft.getNthChildIdx=function(t,e,r){return ft.getChildIdx(t,e)[r]},ft.getIdxbyList=function(t,e,r,n){var i,o,s=ft;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[i],r,n)},ft.getIdxbyListEx=function(t,e,r,n){var i,o,s=ft;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u=t.length?null:i.getTLV(t,o)},ft.getTLVbyListEx=function(t,e,r,n){var i=ft,o=i.getIdxbyListEx(t,e,r,n);return-1==o?null:i.getTLV(t,o)},ft.getVbyList=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyList(t,e,r,n))||o>=t.length?null:(s=a.getV(t,o),!0===i&&(s=s.substr(2)),s)},ft.getVbyListEx=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyListEx(t,e,r,n))?null:(s=a.getV(t,o),"03"==t.substr(o,2)&&!1!==i&&(s=s.substr(2)),s)},ft.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if("02"!=n&&"03"!=n)return r;var i=ft.getV(t,e);return"02"==n?parseInt(i,16):function(t){try{var e=t.substr(0,2);if("00"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},ft.getOID=function(t,e,r){null==r&&(r=null);try{return"06"!=t.substr(e,2)?r:function(t){if(!Bt(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),o=[],s=0;s0&&(c=c+"."+a.join(".")),c}catch(t){return null}}(ft.getV(t,e))}catch(t){return r}},ft.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=ft.getOID(t,e,r);if(n==r)return r;var i=ct.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(t){return r}},ft.getString=function(t,e,r){null==r&&(r=null);try{return Ft(ft.getV(t,e))}catch(t){return r}},ft.hextooidstr=function(t){var e=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(h=h+"."+u.join(".")),h},ft.dump=function(t,e,r,n){var i=ft,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof ct.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function(t,e){return t.length<=2*e?t:t.substr(0,e)+"..(total "+t.length/2+"bytes).."+t.substr(t.length-e,e)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var h,l=e.ommit_long_octet;if("01"==(h=u.substr(r,2)))return"00"==(f=o(u,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==h)return n+"INTEGER "+c(f=o(u,r),l)+"\n";if("03"==h){var f=o(u,r);return i.isASN1HEX(f.substr(2))?(w=n+"BITSTRING, encapsulates\n")+s(f.substr(2),e,0,n+" "):n+"BITSTRING "+c(f,l)+"\n"}if("04"==h)return f=o(u,r),i.isASN1HEX(f)?(w=n+"OCTETSTRING, encapsulates\n")+s(f,e,0,n+" "):n+"OCTETSTRING "+c(f,l)+"\n";if("05"==h)return n+"NULL\n";if("06"==h){var g=o(u,r),d=ct.asn1.ASN1Util.oidHexToInt(g),p=ct.asn1.x509.OID.oid2name(d),v=d.replace(/\./g," ");return""!=p?n+"ObjectIdentifier "+p+" ("+v+")\n":n+"ObjectIdentifier ("+v+")\n"}if("0a"==h)return n+"ENUMERATED "+parseInt(o(u,r))+"\n";if("0c"==h)return n+"UTF8String '"+bt(o(u,r))+"'\n";if("13"==h)return n+"PrintableString '"+bt(o(u,r))+"'\n";if("14"==h)return n+"TeletexString '"+bt(o(u,r))+"'\n";if("16"==h)return n+"IA5String '"+bt(o(u,r))+"'\n";if("17"==h)return n+"UTCTime "+bt(o(u,r))+"\n";if("18"==h)return n+"GeneralizedTime "+bt(o(u,r))+"\n";if("1a"==h)return n+"VisualString '"+bt(o(u,r))+"'\n";if("1e"==h)return n+"BMPString '"+bt(o(u,r))+"'\n";if("30"==h){if("3000"==u.substr(r,4))return n+"SEQUENCE {}\n";w=n+"SEQUENCE\n";var y=e;if((2==(S=a(u,r)).length||3==S.length)&&"06"==u.substr(S[0],2)&&"04"==u.substr(S[S.length-1],2)){p=i.oidname(o(u,S[0]));var m=JSON.parse(JSON.stringify(e));m.x509ExtName=p,y=m}for(var _=0;_31)&&128==(192&r)&&(31&r)==n}catch(t){return!1}},ft.isASN1HEX=function(t){var e=ft;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},ft.checkStrictDER=function(t,e,r,n,i){var o=ft;if(void 0===r){if("string"!=typeof t)throw new Error("not hex string");if(t=t.toLowerCase(),!ct.lang.String.isHex(t))throw new Error("not hex string");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*i)throw new Error("L of TLV too long: idx="+e);var s=o.getVblen(t,e);if(s>n)throw new Error("value of L too long than hex: idx="+e);var a=o.getTLV(t,e),u=a.length-2-o.getL(t,e).length;if(u!==2*s)throw new Error("V string length and L's value not the same:"+u+"/"+2*s);if(0===e&&t.length!=a.length)throw new Error("total length and TLV length unmatch:"+t.length+"!="+a.length);var c=t.substr(e,2);if("02"===c){var h=o.getVidx(t,e);if("00"==t.substr(h,2)&&t.charCodeAt(h+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(c,16)){for(var l=o.getVblen(t,e),f=0,g=o.getChildIdx(t,e),d=0;d=e?t:new Array(e-t.length+1).join(r)+t};void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:y.algo.MD5,sha1:y.algo.SHA1,sha224:y.algo.SHA224,sha256:y.algo.SHA256,sha384:y.algo.SHA384,sha512:y.algo.SHA512,ripemd160:y.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw"alg not supported in Util.DIGESTINFOHEAD: "+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+e;for(var o="00"+n,s="",a=i-4-o.length,u=0;u=0)return!1;if(r.compareTo(n.ONE)<0||r.compareTo(o)>=0)return!1;var a=r.modInverse(o),u=t.multiply(a).mod(o),c=e.multiply(a).mod(o);return s.multiply(u).add(i.multiply(c)).getX().toBigInteger().mod(o).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error("Signature not a valid DERSequence");if(2!=t[e=2])throw new Error("First element in signature must be a DERInteger");var r=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error("Second element in signature must be a DERInteger");var i=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:n.fromByteArrayUnsigned(r),s:n.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(t){if(65!==t.length)throw"Signature has the wrong length";var e=t[0]-27;if(e<0||e>7)throw"Invalid signature type";var r=this.ecparams.n;return{r:n.fromByteArrayUnsigned(t.slice(1,33)).mod(r),s:n.fromByteArrayUnsigned(t.slice(33,65)).mod(r),i:e}},this.readPKCS5PrvKeyHex=function(t){if(!1===h(t))throw new Error("not ASN.1 hex string");var e,r,n;try{e=c(t,0,["[0]",0],"06"),r=c(t,0,[1],"04");try{n=c(t,0,["[1]",0],"03")}catch(t){}}catch(t){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=a(e),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n,i;try{c(t,0,[1,0],"06"),r=c(t,0,[1,1],"06"),n=c(t,0,[2,0,1],"04");try{i=c(t,0,[2,0,"[1]",0],"03")}catch(t){}}catch(t){throw new e("malformed PKCS#8 plain ECC private key")}if(this.curveName=a(r),void 0===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n;try{c(t,0,[0,0],"06"),r=c(t,0,[0,1],"06"),n=c(t,0,[1],"03")}catch(t){throw new e("malformed PKCS#8 ECC public key")}if(this.curveName=a(r),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(t,r){if(!1===h(t))throw new e("not ASN.1 hex string");var n,i;try{n=c(t,0,[0,5,0,1],"06"),i=c(t,0,[0,5,1],"03")}catch(t){throw new e("malformed X.509 certificate ECC public key")}if(this.curveName=a(n),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},ct.crypto.ECDSA.parseSigHex=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new F(e.r,16),s:new F(e.s,16)}},ct.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=ft,r=e.getChildIdx,n=e.getV;if(e.checkStrictDER(t,0),"30"!=t.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var i=r(t,0);if(2!=i.length)throw new Error("signature shall have two elements");var o=i[0],s=i[1];if("02"!=t.substr(o,2))throw new Error("1st item not ASN.1 integer");if("02"!=t.substr(s,2))throw new Error("2nd item not ASN.1 integer");return{r:n(t,o),s:n(t,s)}},ct.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if("00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return r+n},ct.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return ct.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},ct.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new F(t,16),n=new F(e,16);return ct.crypto.ECDSA.biRSSigToASN1Sig(r,n)},ct.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=ct.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},ct.crypto.ECDSA.getName=function(t){return"2b8104001f"===t?"secp192k1":"2a8648ce3d030107"===t?"secp256r1":"2b8104000a"===t?"secp256k1":"2b81040021"===t?"secp224r1":"2b81040022"===t?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(t)?"secp256r1":-1!=="|secp256k1|".indexOf(t)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(t)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(t)?"secp384r1":null},void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new F(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw"unregistered EC curve name: "+n},this.regist=function(n,i,o,s,a,u,c,h,l,f,g,d){t[n]={};var p=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new at(p,v,y),w=S.decodePointHex("04"+h+l);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=w,t[n].n=m,t[n].h=_,t[n].oid=g,t[n].info=d;for(var b=0;b=2*a)break}var l={};return l.keyhex=u.substr(0,2*i[t].keylen),l.ivhex=u.substr(2*i[t].keylen,2*i[t].ivlen),l},a=function(t,e,r,n){var o=y.enc.Base64.parse(t),s=y.enc.Hex.stringify(o);return(0,i[e].proc)(s,r,n)};return{version:"1.0.0",parsePKCS5PEM:function(t){return o(t)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(t,e,r){return s(t,e,r)},decryptKeyB64:function(t,e,r,n){return a(t,e,r,n)},getDecryptedKeyHex:function(t,e){var r=o(t),n=r.cipher,i=r.ivsalt,u=r.data,c=s(n,e,i).keyhex;return a(u,n,c,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(t,e,r,n,o){var a="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===i[n])throw"KEYUTIL unsupported algorithm: "+n;void 0!==o&&null!=o||(o=function(t){var e=y.lib.WordArray.random(t);return y.enc.Hex.stringify(e)}(i[n].ivlen).toUpperCase());var u=function(t,e,r,n){return(0,i[e].eproc)(t,r,n)}(e,n,s(n,r,o).keyhex,o);return a="-----BEGIN "+t+" PRIVATE KEY-----\r\n",a+="Proc-Type: 4,ENCRYPTED\r\n",a+="DEK-Info: "+n+","+o+"\r\n",a+="\r\n",(a+=u.replace(/(.{64})/g,"$1\r\n"))+"\r\n-----END "+t+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={},o=r(t,0);if(2!=o.length)throw"malformed format: SEQUENCE(0).items != 2: "+o.length;i.ciphertext=n(t,o[1]);var s=r(t,o[0]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+s.length;if("2a864886f70d01050d"!=n(t,s[0]))throw"this only supports pkcs5PBES2";var a=r(t,s[1]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+a.length;var u=r(t,a[1]);if(2!=u.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+u.length;if("2a864886f70d0307"!=n(t,u[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(t,u[1]);var c=r(t,a[0]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+c.length;if("2a864886f70d01050c"!=n(t,c[0]))throw"this only supports pkcs5PBKDF2";var h=r(t,c[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;i.pbkdf2Salt=n(t,h[0]);var l=n(t,h[1]);try{i.pbkdf2Iter=parseInt(l,16)}catch(t){throw"malformed format pbkdf2Iter: "+l}return i},getPBKDF2KeyHexFromParam:function(t,e){var r=y.enc.Hex.parse(t.pbkdf2Salt),n=t.pbkdf2Iter,i=y.PBKDF2(e,r,{keySize:6,iterations:n});return y.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(t,e){var r=Ct(t,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=Ht.getPBKDF2KeyHexFromParam(n,e),o={};o.ciphertext=y.enc.Hex.parse(n.ciphertext);var s=y.enc.Hex.parse(i),a=y.enc.Hex.parse(n.encryptionSchemeIV),u=y.TripleDES.decrypt(o,s,{iv:a});return y.enc.Hex.stringify(u)},getKeyFromEncryptedPKCS8PEM:function(t,e){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(t,e);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null};if("30"!=t.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var o=r(t,0);if(3!=o.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=t.substr(o[1],2))throw"malformed PKCS8 private key(code:003)";var s=r(t,o[1]);if(2!=s.length)throw"malformed PKCS8 private key(code:004)";if("06"!=t.substr(s[0],2))throw"malformed PKCS8 private key(code:005)";if(i.algoid=n(t,s[0]),"06"==t.substr(s[1],2)&&(i.algparam=n(t,s[1])),"04"!=t.substr(o[2],2))throw"malformed PKCS8 private key(code:006)";return i.keyidx=e.getVidx(t,o[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(t){var e=Ct(t,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(e)},getKeyFromPlainPrivatePKCS8Hex:function(t){var e,r=this.parsePlainPrivatePKCS8Hex(t);if("2a864886f70d010101"==r.algoid)e=new it;else if("2a8648ce380401"==r.algoid)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!=r.algoid)throw"unsupported private key algorithm";e=new ct.crypto.ECDSA}return e.readPKCS8PrvKeyHex(t),e},_getKeyFromPublicPKCS8Hex:function(t){var e,r=ft.getVbyList(t,0,[0,0],"06");if("2a864886f70d010101"===r)e=new it;else if("2a8648ce380401"===r)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!==r)throw"unsupported PKCS#8 public key hex";e=new ct.crypto.ECDSA}return e.readPKCS8PubKeyHex(t),e},parsePublicRawRSAKeyHex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={};if("30"!=t.substr(0,2))throw"malformed RSA key(code:001)";var o=r(t,0);if(2!=o.length)throw"malformed RSA key(code:002)";if("02"!=t.substr(o[0],2))throw"malformed RSA key(code:003)";if(i.n=n(t,o[0]),"02"!=t.substr(o[1],2))throw"malformed RSA key(code:004)";return i.e=n(t,o[1]),i},parsePublicPKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null},o=r(t,0);if(2!=o.length)throw"outer DERSequence shall have 2 elements: "+o.length;var s=o[0];if("30"!=t.substr(s,2))throw"malformed PKCS8 public key(code:001)";var a=r(t,s);if(2!=a.length)throw"malformed PKCS8 public key(code:002)";if("06"!=t.substr(a[0],2))throw"malformed PKCS8 public key(code:003)";if(i.algoid=n(t,a[0]),"06"==t.substr(a[1],2)?i.algparam=n(t,a[1]):"30"==t.substr(a[1],2)&&(i.algparam={},i.algparam.p=e.getVbyList(t,a[1],[0],"02"),i.algparam.q=e.getVbyList(t,a[1],[1],"02"),i.algparam.g=e.getVbyList(t,a[1],[2],"02")),"03"!=t.substr(o[1],2))throw"malformed PKCS8 public key(code:004)";return i.key=n(t,o[1]).substr(2),i}}}();Ht.getKey=function(t,e,r){var n,i=(y=ft).getChildIdx,o=y.getVbyList,s=ct.crypto,a=s.ECDSA,u=s.DSA,c=it,h=Ct,l=Ht;if(void 0!==c&&t instanceof c)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==u&&t instanceof u)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new a({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new a({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(t.n,t.e),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(C=new c).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(C=new c).setPrivate(t.n,t.e,t.d),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(C=new u).setPublic(t.p,t.q,t.g,t.y),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(C=new u).setPrivate(t.p,t.q,t.g,t.y,t.x),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(St(t.n),St(t.e)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(C=new c).setPrivateEx(St(t.n),St(t.e),St(t.d),St(t.p),St(t.q),St(t.dp),St(t.dq),St(t.qi)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(C=new c).setPrivate(St(t.n),St(t.e),St(t.d)),C;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);return P.setPublicKeyHex(g),P}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);var d=("0000000000"+St(t.d)).slice(-f);return P.setPublicKeyHex(g),P.setPrivateKeyHex(d),P}if("pkcs5prv"===r){var p,v=t,y=ft;if(9===(p=i(v,0)).length)(C=new c).readPKCS5PrvKeyHex(v);else if(6===p.length)(C=new u).readPKCS5PrvKeyHex(v);else{if(!(p.length>2&&"04"===v.substr(p[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(C=new a).readPKCS5PrvKeyHex(v)}return C}if("pkcs8prv"===r)return l.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===r)return l._getKeyFromPublicPKCS8Hex(t);if("x509pub"===r)return Wt.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return Wt.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var m=Ct(t,"PUBLIC KEY");return l._getKeyFromPublicPKCS8Hex(m)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var _=h(t,"RSA PRIVATE KEY");return l.getKey(_,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var S=o(n=h(t,"DSA PRIVATE KEY"),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02");return(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED"))return _=h(t,"EC PRIVATE KEY"),l.getKey(_,null,"pkcs5prv");if(-1!=t.indexOf("-END PRIVATE KEY-"))return l.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var A=l.getDecryptedKeyHex(t,e),k=new it;return k.readPKCS5PrvKeyHex(A),k}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var P,C=o(n=l.getDecryptedKeyHex(t,e),0,[1],"04"),T=o(n,0,[2,0],"06"),R=o(n,0,[3,0],"03").substr(2);if(void 0===ct.crypto.OID.oidhex2name[T])throw"undefined OID(hex) in KJUR.crypto.OID: "+T;return(P=new a({curve:ct.crypto.OID.oidhex2name[T]})).setPublicKeyHex(R),P.setPrivateKeyHex(C),P.isPublic=!1,P}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED"))return S=o(n=l.getDecryptedKeyHex(t,e),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02"),(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C;if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return l.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error("not supported argument")},Ht.generateKeypair=function(t,e){if("RSA"==t){var r=e;(s=new it).generate(r,"10001"),s.isPrivate=!0,s.isPublic=!0;var n=new it,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if("EC"==t){var s,a,u=e,c=new ct.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw"unknown algorithm: "+t},Ht.getPEM=function(t,e,r,n,i,o){var s=ct,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,h=a.ASN1Util.newObject,l=a.x509.SubjectPublicKeyInfo,f=s.crypto,g=f.DSA,d=f.ECDSA,p=it;function v(t){return h({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function _(t){return h({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==p&&t instanceof p||void 0!==g&&t instanceof g||void 0!==d&&t instanceof d)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return Pt(F=new l(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=v(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),w=m(t).getEncodedHex(),b="";return(b+=Pt(S,"EC PARAMETERS"))+Pt(w,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=_(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){var F=v(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",F,r,n,o)}if("PKCS5PRV"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate)return F=m(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",F,r,n,o);if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate)return F=_(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",F,r,n,o);var E=function(t,e){var r=x(t,e);return new h({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:r.pbkdf2Salt}},{int:r.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:r.encryptionSchemeIV}}]}]}]},{octstr:{hex:r.ciphertext}}]}).getEncodedHex()},x=function(t,e){var r=y.lib.WordArray.random(8),n=y.lib.WordArray.random(8),i=y.PBKDF2(e,r,{keySize:6,iterations:100}),o=y.enc.Hex.parse(t),s=y.TripleDES.encrypt(o,i,{iv:n})+"",a={};return a.ciphertext=s,a.pbkdf2Salt=y.enc.Hex.stringify(r),a.pbkdf2Iter=100,a.encryptionSchemeAlg="DES-EDE3-CBC",a.encryptionSchemeIV=y.enc.Hex.stringify(n),a};if("PKCS8PRV"==e&&null!=p&&t instanceof p&&1==t.isPrivate){var A=v(t).getEncodedHex();return F=h({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==d&&t instanceof d&&1==t.isPrivate)return A=new h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate)return A=new c({bigint:t.x}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");throw new Error("unsupported object nor format")},Ht.getKeyFromCSRPEM=function(t){var e=Ct(t,"CERTIFICATE REQUEST");return Ht.getKeyFromCSRHex(e)},Ht.getKeyFromCSRHex=function(t){var e=Ht.parseCSRHex(t);return Ht.getKey(e.p8pubkeyhex,null,"pkcs8pub")},Ht.parseCSRHex=function(t){var e=ft,r=e.getChildIdx,n=e.getTLV,i={},o=t;if("30"!=o.substr(0,2))throw"malformed CSR(code:001)";var s=r(o,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=o.substr(s[0],2))throw"malformed CSR(code:003)";var a=r(o,s[0]);if(a.length<3)throw"malformed CSR(code:004)";return i.p8pubkeyhex=n(o,a[2]),i},Ht.getKeyID=function(t){var e=Ht,r=ft;"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&(t=e.getKey(t));var n=Ct(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return ct.crypto.Util.hashHex(o,"sha1")},Ht.getJWKFromKey=function(t){var e={};if(t instanceof it&&t.isPrivate)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e.d=_t(t.d.toString(16)),e.p=_t(t.p.toString(16)),e.q=_t(t.q.toString(16)),e.dp=_t(t.dmp1.toString(16)),e.dq=_t(t.dmq1.toString(16)),e.qi=_t(t.coeff.toString(16)),e;if(t instanceof it&&t.isPublic)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e;if(t instanceof ct.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e.d=_t(t.prvKeyHex),e}if(t instanceof ct.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;return r=t.getPublicKeyXYHex(),e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e}throw"not supported key object"},it.getPosArrayOfChildrenFromHex=function(t){return ft.getChildIdx(t,0)},it.getHexValueArrayOfChildrenFromHex=function(t){var e,r=ft.getV,n=r(t,(e=it.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),h=r(t,e[7]),l=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,h,l),e},it.prototype.readPrivateKeyFromPEMString=function(t){var e=Ct(t),r=it.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},it.prototype.readPKCS5PrvKeyHex=function(t){var e=it.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},it.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=ft,h=c.getVbyListEx;if(!1===c.isASN1HEX(t))throw new Error("not ASN.1 hex string");try{e=h(t,0,[2,0,1],"02"),r=h(t,0,[2,0,2],"02"),n=h(t,0,[2,0,3],"02"),i=h(t,0,[2,0,4],"02"),o=h(t,0,[2,0,5],"02"),s=h(t,0,[2,0,6],"02"),a=h(t,0,[2,0,7],"02"),u=h(t,0,[2,0,8],"02")}catch(t){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(e,r,n,i,o,s,a,u)},it.prototype.readPKCS5PubKeyHex=function(t){var e=ft,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error("keyHex is not ASN.1 hex string");var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},it.prototype.readPKCS8PubKeyHex=function(t){var e=ft;if(!1===e.isASN1HEX(t))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},it.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new Wt).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var Kt=new RegExp("[^0-9a-f]","gi");function Vt(t,e){for(var r="",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function Jt(t){for(var e in ct.crypto.Util.DIGESTINFOHEAD){var r=ct.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function Wt(t){var e,r=ft,n=r.getChildIdx,i=r.getV,o=r.getTLV,s=r.getVbyList,a=r.getVbyListEx,u=r.getTLVbyList,c=r.getTLVbyListEx,h=r.getIdxbyList,l=r.getIdxbyListEx,f=r.getVidx,g=r.oidname,d=r.hextooidstr,p=Wt,v=Ct;try{e=ct.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==u(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var t=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var r in e)if(t===e[r])return r;return g(a(t,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return p.hex2dn(this.getIssuerHex())},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return p.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return h(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return h(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return Ht.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var t=u(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=u(this.hex,0,[0],"30"),i=new ct.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=h(a,0,[0,7,0],"30"),o=n(a,e)}else{a=Ct(t);var u=h(a,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=i(a,u))return void(this.aExtInfo=new Array);e=h(a,0,[0,3,0,1,0],"30"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var c=0;c1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(s.length>2){var c=o(t,s[2]);"0101ff"==c&&(i.reqauth=!0),"010100"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&-1!=l(this.hex,0,[0,"[3]"])&&(t=c(this.hex,0,[0,"[3]",0],"30"));for(var e=[],r=n(t,0),i=0;i0&&(c=new Array(r),(new et).nextBytes(c),c=String.fromCharCode.apply(String,c));var h=Ft(u(Et("\0\0\0\0\0\0\0\0"+i+c))),l=[];for(n=0;n>8*a-s&255;for(d[0]&=~p,n=0;nthis.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;var i=n[0];return n[1]==function(t){return ct.crypto.Util.hashString(t,i)}(t)},it.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=rt(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&n[1]==t},it.prototype.verifyPSS=function(t,e,r,n){var i=function(t){return ct.crypto.Util.hashHex(t,r)}(Et(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},it.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new F(e,16),s=function(t){return ct.crypto.Util.hashHex(t,r)},a=Ft(t),u=a.length,c=this.n.bitLength()-1,h=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=h-u-2;else if(n<-2)throw new Error("invalid salt length");if(h>8*h-c&255;if(f.charCodeAt(0)&d)throw new Error("bits beyond keysize not zero");var p=qt(g,f.length,s),v=[];for(i=0;i0&&-1==(":"+n.join(":")+":").indexOf(":"+y+":"))throw"algorithm '"+y+"' not accepted in the list";if("none"!=y&&null===e)throw"key shall be specified to verify.";if("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&(e=Ht.getKey(e)),!("RS"!=g&&"PS"!=g||e instanceof i))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==g&&!(e instanceof c))throw"key shall be a ECDSA obj for ES* algs";var m=null;if(void 0===s.jwsalg2sigalg[v.alg])throw"unsupported alg name: "+y;if("none"==(m=s.jwsalg2sigalg[y]))throw"not supported";if("Hmac"==m.substr(0,4)){if(void 0===e)throw"hexadecimal key shall be specified for HMAC";var _=new h({alg:m,pass:e});return _.updateString(d),p==_.doFinal()}if(-1!=m.indexOf("withECDSA")){var S,w=null;try{w=c.concatSigToASN1Sig(p)}catch(t){return!1}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(w)}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(p)},ct.jws.JWS.parse=function(t){var e,r,n,i=t.split("."),o={};if(2!=i.length&&3!=i.length)throw"malformed sJWS: wrong number of '.' splitted elements";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=ct.jws.JWS.readSafeJSONString(lt(e)),o.payloadObj=ct.jws.JWS.readSafeJSONString(lt(r)),o.headerPP=JSON.stringify(o.headerObj,null," "),null==o.payloadObj?o.payloadPP=lt(r):o.payloadPP=JSON.stringify(o.payloadObj,null," "),void 0!==n&&(o.sigHex=St(n)),o},ct.jws.JWS.verifyJWT=function(t,e,n){var i=ct.jws,o=i.JWS,s=o.readSafeJSONString,a=o.inArray,u=o.includedArray,c=t.split("."),h=c[0],l=c[1],f=(St(c[2]),s(lt(h))),g=s(lt(l));if(void 0===f.alg)return!1;if(void 0===n.alg)throw"acceptField.alg shall be specified";if(!a(f.alg,n.alg))return!1;if(void 0!==g.iss&&"object"===r(n.iss)&&!a(g.iss,n.iss))return!1;if(void 0!==g.sub&&"object"===r(n.sub)&&!a(g.sub,n.sub))return!1;if(void 0!==g.aud&&"object"===r(n.aud))if("string"==typeof g.aud){if(!a(g.aud,n.aud))return!1}else if("object"==r(g.aud)&&!u(g.aud,n.aud))return!1;var d=i.IntDate.getNow();return void 0!==n.verifyAt&&"number"==typeof n.verifyAt&&(d=n.verifyAt),void 0!==n.gracePeriod&&"number"==typeof n.gracePeriod||(n.gracePeriod=0),!(void 0!==g.exp&&"number"==typeof g.exp&&g.exp+n.gracePeriode.length&&(r=e.length);for(var n=0;n + * @license MIT + */ +var n=r(30),i=r(31),o=r(32);function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return H(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return K(t).length;default:if(n)return H(t).length;e=(""+e).toLowerCase(),n=!0}}function p(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,r);case"utf8":case"utf-8":return A(this,e,r);case"ascii":return P(this,e,r);case"latin1":case"binary":return C(this,e,r);case"base64":return x(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var l=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function(t){var e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);for(var r="",n=0;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},u.prototype.compare=function(t,e,r,n,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),c=this.slice(n,i),h=t.slice(e,r),l=0;li)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return _(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":return w(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return F(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function P(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function L(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function N(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function U(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function O(t,e,r,n,o){return o||U(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function B(t,e,r,n,o){return o||U(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUInt8=function(t,e){return e||I(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||I(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||I(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||I(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){e||I(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,r,n){t=+t,e|=0,r|=0,n||D(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):N(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s|0)-a&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):N(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return B(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return B(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function K(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(M,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(29))},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){e.byteLength=function(t){var e=u(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=u(t),s=n[0],a=n[1],c=new o(function(t,e,r){return 3*(e+r)/4-r}(0,s,a)),h=0,l=a>0?s-4:s;for(r=0;r>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===a&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,c[h++]=255&e),1===a&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],s=16383,a=0,u=r-i;au?u:a+s));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)n[a]=s[a],i[s.charCodeAt(a)]=a;function u(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,o,s=[],a=e;a>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){ +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ +e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,h=-7,l=r?i-1:0,f=r?-1:1,g=t[e+l];for(l+=f,o=g&(1<<-h)-1,g>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=f,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),o-=c}return(g?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:o-1,d=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?f/u:f*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+g]=255&a,g+=d,a/=256,i-=8);for(s=s<0;t[r+g]=255&s,g+=d,s/=256,c-=8);t[r+g-d]|=128*p}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=t.jws,r=t.KeyUtil,i=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.parseJwt=function t(r){n.Log.debug("JoseUtil.parseJwt");try{var i=e.JWS.parse(r);return{header:i.headerObj,payload:i.payloadObj}}catch(t){n.Log.error(t)}},t.validateJwt=function(e,o,s,u,c,h,l){n.Log.debug("JoseUtil.validateJwt");try{if("RSA"===o.kty)if(o.e&&o.n)o=r.getKey(o);else{if(!o.x5c||!o.x5c.length)return n.Log.error("JoseUtil.validateJwt: RSA key missing key material",o),Promise.reject(new Error("RSA key missing key material"));var f=a(o.x5c[0]);o=i.getPublicKeyFromCertHex(f)}else{if("EC"!==o.kty)return n.Log.error("JoseUtil.validateJwt: Unsupported key type",o&&o.kty),Promise.reject(new Error(o.kty));if(!(o.crv&&o.x&&o.y))return n.Log.error("JoseUtil.validateJwt: EC key missing key material",o),Promise.reject(new Error("EC key missing key material"));o=r.getKey(o)}return t._validateJwt(e,o,s,u,c,h,l)}catch(t){return n.Log.error(t&&t.message||t),Promise.reject("JWT validation failed")}},t.validateJwtAttributes=function(e,r,i,o,s,a){o||(o=0),s||(s=parseInt(Date.now()/1e3));var u=t.parseJwt(e).payload;if(!u.iss)return n.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(u.iss!==r)return n.Log.error("JoseUtil._validateJwt: Invalid issuer in token",u.iss),Promise.reject(new Error("Invalid issuer in token: "+u.iss));if(!u.aud)return n.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(u.aud===i||Array.isArray(u.aud)&&u.aud.indexOf(i)>=0))return n.Log.error("JoseUtil._validateJwt: Invalid audience in token",u.aud),Promise.reject(new Error("Invalid audience in token: "+u.aud));if(u.azp&&u.azp!==i)return n.Log.error("JoseUtil._validateJwt: Invalid azp in token",u.azp),Promise.reject(new Error("Invalid azp in token: "+u.azp));if(!a){var c=s+o,h=s-o;if(!u.iat)return n.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(c1&&void 0!==arguments[1]?arguments[1]:"#";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=i.UrlUtility.parseUrlFragment(e,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(t,[{key:"expires_in",get:function(){if(this.expires_at){var t=parseInt(Date.now()/1e3);return this.expires_at-t}},set:function(t){var e=parseInt(t);if("number"==typeof e&&e>0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,h=e.request_type;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(var l in s&&(r=i.UrlUtility.addQueryParam(r,"id_token_hint",s)),a&&(r=i.UrlUtility.addQueryParam(r,"post_logout_redirect_uri",a),u&&(this.state=new o.State({data:u,request_type:h}),r=i.UrlUtility.addQueryParam(r,"state",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,l,c[l]);this.url=r}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutResponse=void 0;var n=r(3);e.SignoutResponse=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var r=n.UrlUtility.parseUrlFragment(e,"?");this.error=r.error,this.error_description=r.error_description,this.error_uri=r.error_uri,this.state=r.state}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f.TokenRevocationClient,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.TokenClient,p=arguments.length>5&&void 0!==arguments[5]?arguments[5]:d.JoseUtil;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var v=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return v._events=new u.UserManagerEvents(r),v._silentRenewService=new n(v),v.settings.automaticSilentRenew&&(i.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),v.startSilentRenew()),v.settings.monitorSession&&(i.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),v._sessionMonitor=new o(v)),v._tokenRevocationClient=new a(v._settings),v._tokenClient=new l(v._settings),v._joseUtil=p,v}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function(){var t=this;return this._loadUser().then((function(e){return e?(i.Log.info("UserManager.getUser: user loaded"),t._events.load(e,!1),e):(i.Log.info("UserManager.getUser: user not found in storage"),null)}))},e.prototype.removeUser=function(){var t=this;return this.storeUser(null).then((function(){i.Log.info("UserManager.removeUser: user removed from storage"),t._events.unload()}))},e.prototype.signinRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:r";var e={useReplaceToNavigate:t.useReplaceToNavigate};return this._signinStart(t,this._redirectNavigator,e).then((function(){i.Log.info("UserManager.signinRedirect: successful")}))},e.prototype.signinRedirectCallback=function(t){return this._signinEnd(t||this._redirectNavigator.url).then((function(t){return t.profile&&t.profile.sub?i.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinRedirectCallback: no sub"),t}))},e.prototype.signinPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:p";var e=t.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.display="popup",this._signin(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopup: no sub")),t}))):(i.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},e.prototype.signinPopupCallback=function(t){return this._signinCallback(t,this._popupNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopupCallback: no sub")),t})).catch((function(t){i.Log.error(t.message)}))},e.prototype.signinSilent=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e=Object.assign({},e),this._loadUser().then((function(r){return r&&r.refresh_token?(e.refresh_token=r.refresh_token,t._useRefreshToken(e)):(e.request_type="si:s",e.id_token_hint=e.id_token_hint||t.settings.includeIdTokenInSilentRenew&&r&&r.id_token,r&&t._settings.validateSubOnSilentRenew&&(i.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",r.profile.sub),e.current_sub=r.profile.sub),t._signinSilentIframe(e))}))},e.prototype._useRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(e).then((function(e){return e?e.access_token?t._loadUser().then((function(r){if(r){var n=Promise.resolve();return e.id_token&&(n=t._validateIdTokenFromTokenRefreshToken(r.profile,e.id_token)),n.then((function(){return i.Log.debug("UserManager._useRefreshToken: refresh token response success"),r.id_token=e.id_token||r.id_token,r.access_token=e.access_token,r.refresh_token=e.refresh_token||r.refresh_token,r.expires_in=e.expires_in,t.storeUser(r).then((function(){return t._events.load(r),r}))}))}return null})):(i.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(i.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))}))},e.prototype._validateIdTokenFromTokenRefreshToken=function(t,e){var r=this;return this._metadataService.getIssuer().then((function(n){return r.settings.getEpochTime().then((function(o){return r._joseUtil.validateJwtAttributes(e,n,r._settings.client_id,r._settings.clockSkew,o).then((function(e){return e?e.sub!==t.sub?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):e.auth_time&&e.auth_time!==t.auth_time?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):e.azp&&e.azp!==t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!e.azp&&t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))}))}))}))},e.prototype._signinSilentIframe=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.prompt=t.prompt||"none",this._signin(t,this._iframeNavigator,{startUrl:e,silentRequestTimeout:t.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilent: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilent: no sub")),t}))):(i.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype.signinSilentCallback=function(t){return this._signinCallback(t,this._iframeNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilentCallback: no sub")),t}))},e.prototype.signinCallback=function(t){var e=this;return this.readSigninResponseState(t).then((function(r){var n=r.state;return"si:r"===n.request_type?e.signinRedirectCallback(t):"si:p"===n.request_type?e.signinPopupCallback(t):"si:s"===n.request_type?e.signinSilentCallback(t):Promise.reject(new Error("invalid response_type in state"))}))},e.prototype.signoutCallback=function(t,e){var r=this;return this.readSignoutResponseState(t).then((function(n){var i=n.state,o=n.response;return i?"so:r"===i.request_type?r.signoutRedirectCallback(t):"so:p"===i.request_type?r.signoutPopupCallback(t,e):Promise.reject(new Error("invalid response_type in state")):o}))},e.prototype.querySessionStatus=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:s";var r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt="none",e.response_type=e.response_type||this.settings.query_status_response_type,e.scope=e.scope||"openid",e.skipUserInfo=!0,this._signinStart(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(e){return t.processSigninResponse(e.url).then((function(t){if(i.Log.debug("UserManager.querySessionStatus: got signin response"),t.session_state&&t.profile.sub)return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info("querySessionStatus successful, user not authenticated")})).catch((function(e){if(e.session_state&&t.settings.monitorAnonymousSession&&("login_required"==e.message||"consent_required"==e.message||"interaction_required"==e.message||"account_selection_required"==e.message))return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:e.session_state};throw e}))}))):(i.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype._signin=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(t,e,n).then((function(e){return r._signinEnd(e.url,t)}))},e.prototype._signinStart=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.prepare(n).then((function(e){return i.Log.debug("UserManager._signinStart: got navigator window handle"),r.createSigninRequest(t).then((function(t){return i.Log.debug("UserManager._signinStart: got signin request"),n.url=t.url,n.id=t.state.id,e.navigate(n)})).catch((function(t){throw e.close&&(i.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),e.close()),t}))}))},e.prototype._signinEnd=function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(t).then((function(t){i.Log.debug("UserManager._signinEnd: got signin response");var n=new a.User(t);if(r.current_sub){if(r.current_sub!==n.profile.sub)return i.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",n.profile.sub),Promise.reject(new Error("login_required"));i.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return e.storeUser(n).then((function(){return i.Log.debug("UserManager._signinEnd: user stored"),e._events.load(n),n}))}))},e.prototype._signinCallback=function(t,e){i.Log.debug("UserManager._signinCallback");var r="query"===this._settings.response_mode||!this._settings.response_mode&&l.SigninRequest.isCode(this._settings.response_type)?"?":"#";return e.callback(t,void 0,r)},e.prototype.signoutRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:r";var e=t.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;e&&(t.post_logout_redirect_uri=e);var r={useReplaceToNavigate:t.useReplaceToNavigate};return this._signoutStart(t,this._redirectNavigator,r).then((function(){i.Log.info("UserManager.signoutRedirect: successful")}))},e.prototype.signoutRedirectCallback=function(t){return this._signoutEnd(t||this._redirectNavigator.url).then((function(t){return i.Log.info("UserManager.signoutRedirectCallback: successful"),t}))},e.prototype.signoutPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:p";var e=t.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return t.post_logout_redirect_uri=e,t.display="popup",t.post_logout_redirect_uri&&(t.state=t.state||{}),this._signout(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info("UserManager.signoutPopup: successful")}))},e.prototype.signoutPopupCallback=function(t,e){return void 0===e&&"boolean"==typeof t&&(e=t,t=null),this._popupNavigator.callback(t,e,"?").then((function(){i.Log.info("UserManager.signoutPopupCallback: successful")}))},e.prototype._signout=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(t,e,n).then((function(t){return r._signoutEnd(t.url)}))},e.prototype._signoutStart=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return arguments[1].prepare(r).then((function(n){return i.Log.debug("UserManager._signoutStart: got navigator window handle"),e._loadUser().then((function(o){return i.Log.debug("UserManager._signoutStart: loaded current user from storage"),(e._settings.revokeAccessTokenOnSignout?e._revokeInternal(o):Promise.resolve()).then((function(){var s=t.id_token_hint||o&&o.id_token;return s&&(i.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),t.id_token_hint=s),e.removeUser().then((function(){return i.Log.debug("UserManager._signoutStart: user removed, creating signout request"),e.createSignoutRequest(t).then((function(t){return i.Log.debug("UserManager._signoutStart: got signout request"),r.url=t.url,t.state&&(r.id=t.state.id),n.navigate(r)}))}))}))})).catch((function(t){throw n.close&&(i.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),n.close()),t}))}))},e.prototype._signoutEnd=function(t){return this.processSignoutResponse(t).then((function(t){return i.Log.debug("UserManager._signoutEnd: got signout response"),t}))},e.prototype.revokeAccessToken=function(){var t=this;return this._loadUser().then((function(e){return t._revokeInternal(e,!0).then((function(r){if(r)return i.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),e.access_token=null,e.refresh_token=null,e.expires_at=null,e.token_type=null,t.storeUser(e).then((function(){i.Log.debug("UserManager.revokeAccessToken: user stored"),t._events.load(e)}))}))})).then((function(){i.Log.info("UserManager.revokeAccessToken: access token revoked successfully")}))},e.prototype._revokeInternal=function(t,e){var r=this;if(t){var n=t.access_token,o=t.refresh_token;return this._revokeAccessTokenInternal(n,e).then((function(t){return r._revokeRefreshTokenInternal(o,e).then((function(e){return t||e||i.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),t||e}))}))}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function(t,e){return!t||t.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(t,e).then((function(){return!0}))},e.prototype._revokeRefreshTokenInternal=function(t,e){return t?this._tokenRevocationClient.revoke(t,e,"refresh_token").then((function(){return!0})):Promise.resolve(!1)},e.prototype.startSilentRenew=function(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function(){this._silentRenewService.stop()},e.prototype._loadUser=function(){return this._userStore.get(this._userStoreKey).then((function(t){return t?(i.Log.debug("UserManager._loadUser: user storageString loaded"),a.User.fromStorageString(t)):(i.Log.debug("UserManager._loadUser: no user storageString"),null)}))},e.prototype.storeUser=function(t){if(t){i.Log.debug("UserManager.storeUser: storing user");var e=t.toStorageString();return this._userStore.set(this._userStoreKey,e)}return i.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},n(e,[{key:"_redirectNavigator",get:function(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function(){return this.settings.iframeNavigator}},{key:"_userStore",get:function(){return this.settings.userStore}},{key:"events",get:function(){return this._events}},{key:"_userStoreKey",get:function(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,l=r.popupWindowFeatures,f=r.popupWindowTarget,g=r.silent_redirect_uri,d=r.silentRequestTimeout,p=r.automaticSilentRenew,v=void 0!==p&&p,y=r.validateSubOnSilentRenew,m=void 0!==y&&y,_=r.includeIdTokenInSilentRenew,S=void 0===_||_,w=r.monitorSession,b=void 0===w||w,F=r.monitorAnonymousSession,E=void 0!==F&&F,x=r.checkSessionInterval,A=void 0===x?2e3:x,k=r.stopCheckSessionOnError,P=void 0===k||k,C=r.query_status_response_type,T=r.revokeAccessTokenOnSignout,R=void 0!==T&&T,I=r.accessTokenExpiringNotificationTime,D=void 0===I?60:I,L=r.redirectNavigator,N=void 0===L?new o.RedirectNavigator:L,U=r.popupNavigator,O=void 0===U?new s.PopupNavigator:U,B=r.iframeNavigator,M=void 0===B?new a.IFrameNavigator:B,j=r.userStore,H=void 0===j?new u.WebStorageStateStore({store:c.Global.sessionStorage}):j;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var K=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));return K._popup_redirect_uri=n,K._popup_post_logout_redirect_uri=i,K._popupWindowFeatures=l,K._popupWindowTarget=f,K._silent_redirect_uri=g,K._silentRequestTimeout=d,K._automaticSilentRenew=v,K._validateSubOnSilentRenew=m,K._includeIdTokenInSilentRenew=S,K._accessTokenExpiringNotificationTime=D,K._monitorSession=b,K._monitorAnonymousSession=E,K._checkSessionInterval=A,K._stopCheckSessionOnError=P,C?K._query_status_response_type=C:arguments[0]&&arguments[0].response_type?K._query_status_response_type=h.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":K._query_status_response_type="id_token",K._revokeAccessTokenOnSignout=R,K._redirectNavigator=N,K._popupNavigator=O,K._iframeNavigator=M,K._userStore=H,K}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:"popup_redirect_uri",get:function(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function(){return this._redirectNavigator}},{key:"popupNavigator",get:function(){return this._popupNavigator}},{key:"iframeNavigator",get:function(){return this._iframeNavigator}},{key:"userStore",get:function(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug("UserManagerEvents.load"),t.prototype.load.call(this,e),r&&this._userLoaded.raise(e)},e.prototype.unload=function(){n.Log.debug("UserManagerEvents.unload"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function(t){this._userLoaded.addHandler(t)},e.prototype.removeUserLoaded=function(t){this._userLoaded.removeHandler(t)},e.prototype.addUserUnloaded=function(t){this._userUnloaded.addHandler(t)},e.prototype.removeUserUnloaded=function(t){this._userUnloaded.removeHandler(t)},e.prototype.addSilentRenewError=function(t){this._silentRenewError.addHandler(t)},e.prototype.removeSilentRenewError=function(t){this._silentRenewError.removeHandler(t)},e.prototype._raiseSilentRenewError=function(t){n.Log.debug("UserManagerEvents._raiseSilentRenewError",t.message),this._silentRenewError.raise(t)},e.prototype.addUserSignedIn=function(t){this._userSignedIn.addHandler(t)},e.prototype.removeUserSignedIn=function(t){this._userSignedIn.removeHandler(t)},e.prototype._raiseUserSignedIn=function(){n.Log.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function(t){this._userSignedOut.addHandler(t)},e.prototype.removeUserSignedOut=function(t){this._userSignedOut.removeHandler(t)},e.prototype._raiseUserSignedOut=function(){n.Log.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function(t){this._userSessionChanged.addHandler(t)},e.prototype.removeUserSessionChanged=function(t){this._userSessionChanged.removeHandler(t)},e.prototype._raiseUserSessionChanged=function(){n.Log.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var s=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return s._timer=n,s._nowFunc=i||function(){return Date.now()/1e3},s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function(t){t<=0&&(t=1),t=parseInt(t);var e=this.now+t;if(this.expiration===e&&this._timerHandle)i.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),i.Log.debug("Timer.init timer "+this._name+" for duration:",t),this._expiration=e;var r=5;t{try{this.debug("Beginning initial silent sign in."),await this._userManager.signinSilent(),this.debug("Initial silent sign in succeeded.")}catch(t){t instanceof Error&&this.debug(`Initial silent sign in failed '${t.message}'`)}})()),this._intialSilentSignIn}async getUser(){window.parent!==window||window.opener||window.frameElement||!this._userManager.settings.redirect_uri||location.href.startsWith(this._userManager.settings.redirect_uri)||await this.trySilentSignIn();const t=await this._userManager.getUser();return t&&t.profile}async getAccessToken(e){this.trace("getAccessToken",e);const r=await this._userManager.getUser();if(function(t){return!(!t||!t.access_token||t.expired||!t.scopes)}(r)&&function(t,e){const r=new Set(e);if(t&&t.scopes)for(const e of t.scopes)if(!r.has(e))return!1;return!0}(e,r.scopes))return this.debug(`Valid access token present expiring at '${n(r.expires_in).toISOString()}'`),{status:t.AccessTokenResultStatus.Success,token:{grantedScopes:r.scopes,expires:n(r.expires_in),value:r.access_token}};try{const r=e&&e.scopes?{scope:e.scopes.join(" ")}:void 0;this.debug(`Provisioning a token silently for scopes '${r?.scope}'`),this.trace("userManager.signinSilent",r);const i=await this._userManager.signinSilent(r);this.debug(`Provisioned an access token expiring at '${n(i.expires_in).toISOString()}'`);const o={status:t.AccessTokenResultStatus.Success,token:{grantedScopes:i.scopes,expires:n(i.expires_in),value:i.access_token}};return this.trace("getAccessToken-result",o),o}catch(e){return e instanceof Error&&this.debug(`Failed to provision a token silently '${e.message}'`),{status:t.AccessTokenResultStatus.RequiresRedirect}}function n(t){const e=new Date;return e.setTime(e.getTime()+1e3*t),e}}async signIn(t){if(this.trace("signIn",t),t.interactiveRequest)return this.debug("Interactive sign in starting."),this.signInInteractive(t);try{return this.debug("Silent sign in starting"),await this._userManager.clearStaleState(),await this._userManager.signinSilent(this.createArguments(void 0,t.interactiveRequest)),this.debug("Silent sign in succeeded"),this.success(t.state)}catch(e){return e instanceof Error&&this.debug(`Silent sign in failed, redirecting to the identity provider '${e.message}'.`),await this.signInInteractive(t)}}async signInInteractive(t){this.trace("signInInteractive",t);try{return await this._userManager.clearStaleState(),await this._userManager.signinRedirect(this.createArguments(t.state,t.interactiveRequest)),this.debug("Redirect sign in succeeded"),this.redirect()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Redirect sign in failed '${e}'.`),this.error(e)}}async completeSignIn(t){this.trace("completeSignIn",t);const e=await this.loginRequired(t),r=await this.stateExists(t);try{const e=await this._userManager.signinCallback(t);return window.self!==window.top?this.operationCompleted():(this.trace("completeSignIn-result",e),this.success(e&&e.state))}catch(t){return e||window.self!==window.top||!r?this.operationCompleted():this.error("There was an error signing in.")}}async signOut(t){this.trace("signOut",t);try{return await this._userManager.metadataService.getEndSessionEndpoint()?(await this._userManager.signoutRedirect(this.createArguments(t.state,t.interactiveRequest)),this.redirect()):(await this._userManager.removeUser(),this.success(t.state))}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Sign out error '${e}'.`),this.error(e)}}async completeSignOut(t){this.trace("completeSignOut",t);try{if(await this.stateExists(t)){const e=await this._userManager.signoutCallback(t);return this.success(e&&e.state)}return this.operationCompleted()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Complete sign out error '${e}'`),this.error(e)}}getExceptionMessage(t){return function(t){return t&&t.error_description}(t)?t.error_description:function(t){return t&&t.message}(t)?t.message:t.toString()}async stateExists(t){const e=new URLSearchParams(new URL(t).search).get("state");return e&&this._userManager.settings.stateStore?await this._userManager.settings.stateStore.get(e):void 0}async loginRequired(t){const e=new URLSearchParams(new URL(t).search).get("error");return!(!e||!this._userManager.settings.stateStore)&&"login_required"===await this._userManager.settings.stateStore.get(e)}createArguments(t,e){return{useReplaceToNavigate:!0,data:t,scope:e?.scopes?e.scopes.join(" "):void 0,...e?.additionalRequestParameters}}error(e){return{status:t.AuthenticationResultStatus.Failure,errorMessage:e}}success(e){return{status:t.AuthenticationResultStatus.Success,state:e}}redirect(){return{status:t.AuthenticationResultStatus.Redirect}}operationCompleted(){return{status:t.AuthenticationResultStatus.OperationCompleted}}debug(e){this._logger?.log(t.LogLevel.Debug,e)}trace(e,r){this._logger?.log(t.LogLevel.Trace,`${e}: ${JSON.stringify(r)}`)}}class c{static _infrastructureKey="Microsoft.AspNetCore.Components.WebAssembly.Authentication";static _initialized;static instance;static _pendingOperations={};static init(t,e){return c._initialized||(c._initialized=c.initializeCore(t,new a(e))),c._initialized}static handleCallback(){return c.initializeCore()}static async initializeCore(t,e){const r=t||c.resolveCachedSettings(),n=c.resolveCachedLoggerOptions(),i=e||n&&new a(n);if(!t&&r&&!e&&i){const t=c.createUserManagerCore(r);window.parent!==window&&!window.opener&&window.frameElement&&t.settings.redirect_uri&&location.href.startsWith(t.settings.redirect_uri)&&(c.instance=new u(t,i),c._initialized=(async()=>{await c.instance.completeSignIn(location.href)})())}else if(t&&e){const r=await c.createUserManager(t);c.instance=new u(r,e),window.sessionStorage.setItem(`${c._infrastructureKey}.CachedJSLoggingOptions`,JSON.stringify({debugEnabled:e.debug,traceEnabled:e.trace}))}}static resolveCachedSettings(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedAuthSettings`);return t?JSON.parse(t):void 0}static resolveCachedLoggerOptions(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedJSLoggingOptions`);return t?JSON.parse(t):void 0}static getUser(){return c.instance.getUser()}static getAccessToken(t){return c.instance.getAccessToken(t)}static signIn(t){return c.instance.signIn(t)}static async completeSignIn(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignIn(t),await e,delete this._pendingOperations[t]),e}static signOut(t){return c.instance.signOut(t)}static async completeSignOut(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignOut(t),await e,delete this._pendingOperations[t]),e}static async createUserManager(t){let e;if(function(t){return t.hasOwnProperty("configurationEndpoint")}(t)){const r=await fetch(t.configurationEndpoint);if(!r.ok)throw new Error(`Could not load settings from '${t.configurationEndpoint}'`);e=await r.json()}else t.scope||(t.scope=t.defaultScopes.join(" ")),null===t.response_type&&delete t.response_type,e=t;return window.sessionStorage.setItem(`${c._infrastructureKey}.CachedAuthSettings`,JSON.stringify(e)),c.createUserManagerCore(e)}static createUserManagerCore(t){const e=new s.UserManager(t);return e.events.addUserSignedOut((async()=>{e.removeUser()})),e}}c.handleCallback(),window.AuthenticationService=c,t.AuthenticationService=c,t.ManagedLogger=a}({}); +; var abp=abp||{};(function(){abp.utils=abp.utils||{};abp.domReady=function(n){document.readyState==="complete"||document.readyState==="interactive"?setTimeout(n,1):document.addEventListener("DOMContentLoaded",n)};abp.utils.setCookieValue=function(n,t,i,r,u){var f=encodeURIComponent(n)+"=";t&&(f=f+encodeURIComponent(t));i&&(f=f+"; expires="+i);r&&(f=f+"; path="+r);u&&(f=f+"; secure");document.cookie=f};abp.utils.getCookieValue=function(n){for(var i,r=document.cookie.split("; "),t=0;ta[0]&&e[1]|`|"|&/g,"?")}var t=s.getTextarea(t),o=t.value,n=t.selectionStart,i=o.slice(0,n),o=(0@")+e(o),document.createElement("div")),o=(i.className="ant-mentions-measure",i.innerHTML=n,t.parentNode.append(i),i.querySelector("span")),n=o.offsetLeft-t.scrollLeft+16,o=o.offsetTop-t.scrollTop+16;return i.remove(),[n,o]},s);function s(){}o.mentionsHelper=n},{}],12:[function(t,e,o){"use strict";o.__esModule=!0,o.modalHelper=void 0;var r=t("../dom/exports"),n=t("../dom/manipulationHelper");function i(){}i.focusDialog=function(t,e){var o,n=this,i=(void 0===e&&(e=0),document.querySelector(t));i&&(i.hasAttribute("disabled")?null!=(o=document.activeElement)&&o.blur():setTimeout(function(){i.focus(),"#"+r.domInfoHelper.getActiveElement()!==t&&e<10&&n.focusDialog(t,e+1)},10))},i.destroyAllDialog=function(){document.querySelectorAll(".ant-modal-root").forEach(function(t){t=t.parentNode;t instanceof HTMLElement&&t.remove()}),n.manipulationHelper.enableBodyScroll(!0)},o.modalHelper=i},{"../dom/exports":20,"../dom/manipulationHelper":22}],13:[function(t,e,o){"use strict";var n,s,l=function(){return(l=Object.assign||function(t){for(var e,o=1,n=arguments.length;oo.bound.right&&(e=o.bound.right),to.bound.bottom&&(t=o.bound.bottom)),i._container.style.translate=e+"px "+t+"px")},10).bind(this),this.onResize=r(function(t){i._state.bound=c(i._container,i._draggedInContainer)},30).bind(this),this._trigger=t,this._container=e,this._draggedInContainer=n,this._options=Object.assign({},a,{inViewport:o}),this._state={isInDrag:!1,mouseDownX:0,mouseDownY:0,mouseDownXOffset:0,mouseDownYOffset:0,bound:{left:0,top:0,right:0,bottom:0}}}function c(t,e){var o=window.getComputedStyle(e),n=window.getComputedStyle(e);return{left:-t.offsetLeft+parseInt(o.marginLeft)+parseInt(n.paddingLeft),top:-t.offsetTop+parseInt(o.marginTop)+parseInt(n.paddingTop),right:function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientWidth;return t=(t-=parseInt(e.paddingLeft))-parseInt(e.paddingRight)}(e,n)-function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientWidth;return t=(t+=parseInt(e.borderLeftWidth))+parseInt(e.borderRightWidth)}(t,o)-t.offsetLeft+parseInt(n.paddingRight)-parseInt(o.marginRight),bottom:function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientHeight;return t=(t-=parseInt(e.paddingTop))-parseInt(e.paddingBottom)}(e,n)-function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientHeight;return t=(t+=parseInt(e.borderTopWidth))+parseInt(e.borderBottomWidth)}(t,o)-t.offsetTop+parseInt(n.paddingBottom)-parseInt(o.marginBottom)}}o.enableDraggable=function(t,e,o,n){void 0===o&&(o=!0),void 0===n&&(n=document.documentElement);var i=s.get(t);i||(i=new l(t,e,o,n),s.set(t,i)),i.bindDrag()},o.disableDraggable=function(t){(t=s.get(t))&&t.unbindDrag()},o.resetModalPosition=function(t){(t=s.get(t))&&t.resetContainerStyle()}},{}],19:[function(t,e,o){"use strict";var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=(o.__esModule=!0,o.eventHelper=void 0,t("./exports")),r=t("../stateProvider");function n(){}n.triggerEvent=function(t,e,o){e=document.createEvent(e);return e.initEvent(o),t.dispatchEvent(e)},n.addDomEventListener=function(t,e,r,s,a){void 0===a&&(a=!1);function o(t){var e,o={};for(e in t)"originalTarget"!==e&&(o[e]=t[e]);var n=new Set,i=JSON.stringify(o,function(t,e){if("object"===(void 0===e?"undefined":l(e))&&null!==e){if(n.has(e))return;n.add(e)}return e instanceof Node?"Node":e instanceof Window?"Window":e}," ");setTimeout(function(){s.invokeMethodAsync("Invoke",i)},0),!0===r&&t.preventDefault(),a&&t.stopPropagation()}var t=i.domInfoHelper.get(t),n=e+"-"+s._id;t["e_"+n]="resize"===e?this.debounce(function(){return o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})},200,!1):o,t["i_"+n]=s,t.addEventListener(e,t["e_"+n])},n.addDomEventListenerToFirstChild=function(t,e,o,n){t=i.domInfoHelper.get(t);t&&t.firstElementChild&&this.addDomEventListener(t.firstElementChild,e,o,n)},n.removeDomEventListener=function(t,e,o){t=i.domInfoHelper.get(t),o=e+"-"+o._id;t&&t.removeEventListener(e,t["e_"+o])},n.addPreventKeys=function(t,e){var o,n=this;t&&(o=i.domInfoHelper.get(t),e=e.map(function(t){return t.toUpperCase()}),r.state.eventCallbackRegistry[t.id+"keydown"]=function(t){return n.preventKeys(t,e)},o.addEventListener("keydown",r.state.eventCallbackRegistry[t.id+"keydown"],!1))},n.preventKeyOnCondition=function(t,e,o){if(t.key.toUpperCase()===e.toUpperCase()&&o())return t.preventDefault(),!1},n.removePreventKeys=function(t){var e;t&&(e=i.domInfoHelper.get(t))&&(e.removeEventListener("keydown",r.state.eventCallbackRegistry[t.id+"keydown"]),r.state.eventCallbackRegistry[t.id+"keydown"]=null)},n.debounce=function(i,r,s){var a,l=this;return function(){for(var t=[],e=0;e(window.innerHeight||document.documentElement.clientHeight)},c.getScrollBarSize=function(t){var e,o;return void 0===t&&(t=!1),"undefined"==typeof document?0:(!t&&void 0!==a||((t=document.createElement("div")).style.width="100%",t.style.height="200px",(o=(e=document.createElement("div")).style).position="absolute",o.top="0",o.left="0",o.pointerEvents="none",o.visibility="hidden",o.width="200px",o.height="150px",o.overflow="hidden",e.appendChild(t),document.body.appendChild(e),o=t.offsetWidth,e.style.overflow="scroll",o===(t=t.offsetWidth)&&(t=e.clientWidth),document.body.removeChild(e),a=o-t),a)},o.manipulationHelper=c},{"../enums":24,"../stateProvider":25,"../styleHelper":26,"./exports":20}],23:[function(t,e,o){"use strict";o.__esModule=!0},{}],24:[function(t,e,o){"use strict";o.__esModule=!0,o.FocusBehavior=void 0,(o=o.FocusBehavior||(o.FocusBehavior={}))[o.FocusAtLast=0]="FocusAtLast",o[o.FocusAtFirst=1]="FocusAtFirst",o[o.FocusAndSelectAll=2]="FocusAndSelectAll"},{}],25:[function(t,e,o){"use strict";o.__esModule=!0,o.state=o.State=void 0;i.prototype.disposeObj=function(t){delete this.objReferenceDict[t]},i.getInstance=function(){return this.instance||(this.instance=new i),this.instance};var n=i;function i(){this.objReferenceDict={},this.eventCallbackRegistry={},this.oldBodyCacheStack=[]}o.State=n,o.state=n.getInstance()},{}],26:[function(t,e,o){"use strict";o.__esModule=!0,o.styleHelper=void 0;var n=t("./dom/infoHelper");function i(){}i.addCls=function(t,e){var t=n.infoHelper.get(t);t&&("string"==typeof e?t.classList.add(e):(t=t.classList).add.apply(t,e))},i.removeCls=function(t,e){var t=n.infoHelper.get(t);t&&("string"==typeof e?t.classList.remove(e):(t=t.classList).remove.apply(t,e))},i.addClsToFirstChild=function(t,e){t=n.infoHelper.get(t);t&&t.firstElementChild&&t.firstElementChild.classList.add(e)},i.removeClsFromFirstChild=function(t,e){t=n.infoHelper.get(t);t&&t.firstElementChild&&t.firstElementChild.classList.remove(e)},i.matchMedia=function(t){return window.matchMedia(t).matches},i.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:window.getComputedStyle?document.defaultView.getComputedStyle(t,null).getPropertyValue(e):void 0},i.css=function(t,e,o){if(void 0===o&&(o=null),"string"==typeof e)if(null===o)for(var n=e.split(";"),i=0;i>16,g:(65280&t)>>8,b:255&t}}},{"./util":39}],30:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.names=void 0,o.names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},{}],31:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.isValidCSSUnit=o.stringInputToObject=o.inputToRGB=void 0;var a=t("./conversion"),n=t("./css-color-names"),l=t("./util");o.inputToRGB=function(t){var e,o={r:0,g:0,b:0},n=1,i=null,r=!1,s=!1;return"object"==typeof(t="string"==typeof t?c(t):t)&&(u(t.r)&&u(t.g)&&u(t.b)?(o=(0,a.rgbToRgb)(t.r,t.g,t.b),r=!0,s="%"===String(t.r).substr(-1)?"prgb":"rgb"):u(t.h)&&u(t.s)&&u(t.v)?(i=(0,l.convertToPercentage)(t.s),e=(0,l.convertToPercentage)(t.v),o=(0,a.hsvToRgb)(t.h,i,e),r=!0,s="hsv"):u(t.h)&&u(t.s)&&u(t.l)&&(i=(0,l.convertToPercentage)(t.s),e=(0,l.convertToPercentage)(t.l),o=(0,a.hslToRgb)(t.h,i,e),r=!0,s="hsl"),Object.prototype.hasOwnProperty.call(t,"a"))&&(n=t.a),n=(0,l.boundAlpha)(n),{ok:r,format:t.format||s,r:Math.min(255,Math.max(o.r,0)),g:Math.min(255,Math.max(o.g,0)),b:Math.min(255,Math.max(o.b,0)),a:n}};var t="(?:".concat("[-\\+]?\\d*\\.\\d+%?",")|(?:").concat("[-\\+]?\\d+%?",")"),i="[\\s|\\(]+(".concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")\\s*\\)?"),r="[\\s|\\(]+(".concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")\\s*\\)?"),s={CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+r),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+r),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+r),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function c(t){if(0===(t=t.trim().toLowerCase()).length)return!1;var e=!1;if(n.names[t])t=n.names[t],e=!0;else if("transparent"===t)return{r:0,g:0,b:0,a:0,format:"name"};var o=s.rgb.exec(t);return o?{r:o[1],g:o[2],b:o[3]}:(o=s.rgba.exec(t))?{r:o[1],g:o[2],b:o[3],a:o[4]}:(o=s.hsl.exec(t))?{h:o[1],s:o[2],l:o[3]}:(o=s.hsla.exec(t))?{h:o[1],s:o[2],l:o[3],a:o[4]}:(o=s.hsv.exec(t))?{h:o[1],s:o[2],v:o[3]}:(o=s.hsva.exec(t))?{h:o[1],s:o[2],v:o[3],a:o[4]}:(o=s.hex8.exec(t))?{r:(0,a.parseIntFromHex)(o[1]),g:(0,a.parseIntFromHex)(o[2]),b:(0,a.parseIntFromHex)(o[3]),a:(0,a.convertHexToDecimal)(o[4]),format:e?"name":"hex8"}:(o=s.hex6.exec(t))?{r:(0,a.parseIntFromHex)(o[1]),g:(0,a.parseIntFromHex)(o[2]),b:(0,a.parseIntFromHex)(o[3]),format:e?"name":"hex"}:(o=s.hex4.exec(t))?{r:(0,a.parseIntFromHex)(o[1]+o[1]),g:(0,a.parseIntFromHex)(o[2]+o[2]),b:(0,a.parseIntFromHex)(o[3]+o[3]),a:(0,a.convertHexToDecimal)(o[4]+o[4]),format:e?"name":"hex8"}:!!(o=s.hex3.exec(t))&&{r:(0,a.parseIntFromHex)(o[1]+o[1]),g:(0,a.parseIntFromHex)(o[2]+o[2]),b:(0,a.parseIntFromHex)(o[3]+o[3]),format:e?"name":"hex"}}function u(t){return Boolean(s.CSS_UNIT.exec(String(t)))}o.stringInputToObject=c,o.isValidCSSUnit=u},{"./conversion":29,"./css-color-names":30,"./util":39}],32:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.legacyRandom=o.fromRatio=void 0;var n=t("./index"),i=t("./util");o.fromRatio=function(t,e){var o={r:(0,i.convertToPercentage)(t.r),g:(0,i.convertToPercentage)(t.g),b:(0,i.convertToPercentage)(t.b)};return void 0!==t.a&&(o.a=Number(t.a)),new n.TinyColor(o,e)},o.legacyRandom=function(){return new n.TinyColor({r:Math.random(),g:Math.random(),b:Math.random()})}},{"./index":33,"./util":39}],33:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.tinycolor=o.TinyColor=void 0;var r=t("./conversion"),s=t("./css-color-names"),n=t("./format-input"),i=t("./util"),a=(l.prototype.isDark=function(){return this.getBrightness()<128},l.prototype.isLight=function(){return!this.isDark()},l.prototype.getBrightness=function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},l.prototype.getLuminance=function(){var t=this.toRgb(),e=t.r/255,o=t.g/255,t=t.b/255,e=e<=.03928?e/12.92:Math.pow((.055+e)/1.055,2.4),o=o<=.03928?o/12.92:Math.pow((.055+o)/1.055,2.4),t=t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4);return.2126*e+.7152*o+.0722*t},l.prototype.getAlpha=function(){return this.a},l.prototype.setAlpha=function(t){return this.a=(0,i.boundAlpha)(t),this.roundA=Math.round(100*this.a)/100,this},l.prototype.isMonochrome=function(){return 0===this.toHsl().s},l.prototype.toHsv=function(){var t=(0,r.rgbToHsv)(this.r,this.g,this.b);return{h:360*t.h,s:t.s,v:t.v,a:this.a}},l.prototype.toHsvString=function(){var t=(0,r.rgbToHsv)(this.r,this.g,this.b),e=Math.round(360*t.h),o=Math.round(100*t.s),t=Math.round(100*t.v);return 1===this.a?"hsv(".concat(e,", ").concat(o,"%, ").concat(t,"%)"):"hsva(".concat(e,", ").concat(o,"%, ").concat(t,"%, ").concat(this.roundA,")")},l.prototype.toHsl=function(){var t=(0,r.rgbToHsl)(this.r,this.g,this.b);return{h:360*t.h,s:t.s,l:t.l,a:this.a}},l.prototype.toHslString=function(){var t=(0,r.rgbToHsl)(this.r,this.g,this.b),e=Math.round(360*t.h),o=Math.round(100*t.s),t=Math.round(100*t.l);return 1===this.a?"hsl(".concat(e,", ").concat(o,"%, ").concat(t,"%)"):"hsla(".concat(e,", ").concat(o,"%, ").concat(t,"%, ").concat(this.roundA,")")},l.prototype.toHex=function(t){return(0,r.rgbToHex)(this.r,this.g,this.b,t=void 0===t?!1:t)},l.prototype.toHexString=function(t){return"#"+this.toHex(t=void 0===t?!1:t)},l.prototype.toHex8=function(t){return(0,r.rgbaToHex)(this.r,this.g,this.b,this.a,t=void 0===t?!1:t)},l.prototype.toHex8String=function(t){return"#"+this.toHex8(t=void 0===t?!1:t)},l.prototype.toHexShortString=function(t){return void 0===t&&(t=!1),1===this.a?this.toHexString(t):this.toHex8String(t)},l.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},l.prototype.toRgbString=function(){var t=Math.round(this.r),e=Math.round(this.g),o=Math.round(this.b);return 1===this.a?"rgb(".concat(t,", ").concat(e,", ").concat(o,")"):"rgba(".concat(t,", ").concat(e,", ").concat(o,", ").concat(this.roundA,")")},l.prototype.toPercentageRgb=function(){function t(t){return"".concat(Math.round(100*(0,i.bound01)(t,255)),"%")}return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},l.prototype.toPercentageRgbString=function(){function t(t){return Math.round(100*(0,i.bound01)(t,255))}return 1===this.a?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},l.prototype.toName=function(){if(0===this.a)return"transparent";if(!(this.a<1))for(var t="#"+(0,r.rgbToHex)(this.r,this.g,this.b,!1),e=0,o=Object.entries(s.names);e>1)+720)%360;--t;)o.h=(o.h+n)%360,i.push(new l(o));return i},l.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new l(t)},l.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var e=this.toHsv(),o=e.h,n=e.s,i=e.v,r=[],s=1/t;t--;)r.push(new l({h:o,s:n,v:i})),i=(i+s)%1;return r},l.prototype.splitcomplement=function(){var t=this.toHsl(),e=t.h;return[this,new l({h:(e+72)%360,s:t.s,l:t.l}),new l({h:(e+216)%360,s:t.s,l:t.l})]},l.prototype.onBackground=function(t){var e=this.toRgb(),t=new l(t).toRgb(),o=e.a+t.a*(1-e.a);return new l({r:(e.r*e.a+t.r*t.a*(1-e.a))/o,g:(e.g*e.a+t.g*t.a*(1-e.a))/o,b:(e.b*e.a+t.b*t.a*(1-e.a))/o,a:o})},l.prototype.triad=function(){return this.polyad(3)},l.prototype.tetrad=function(){return this.polyad(4)},l.prototype.polyad=function(t){for(var e=this.toHsl(),o=e.h,n=[this],i=360/t,r=1;r=n.hueRange[0]&&t<=n.hueRange[1])return n}throw Error("Color not found")}function c(t,e){var o;return void 0===e?Math.floor(t[0]+Math.random()*(t[1]+1-t[0])):(o=t[1]||1,t=t[0]||0,e=(e=(9301*e+49297)%233280)/233280,Math.floor(t+e*(o-t)))}function u(t){var e=t.lowerBounds[0][0],o=t.lowerBounds[t.lowerBounds.length-1][0],n=t.lowerBounds[t.lowerBounds.length-1][1],i=t.lowerBounds[0][1];return{name:t.name,hueRange:t.hueRange,lowerBounds:t.lowerBounds,saturationRange:[e,o],brightnessRange:[n,i]}}s.random=function t(e){if(void 0!==(e=void 0===e?{}:e).count&&null!==e.count){var o=e.count,n=[];for(e.count=void 0;n.lengtha[0]&&e[1]|`|"|&/g,"?")}var t=s.getTextarea(t),o=t.value,n=t.selectionStart,i=o.slice(0,n),o=(0@")+e(o),document.createElement("div")),o=(i.className="ant-mentions-measure",i.innerHTML=n,t.parentNode.append(i),i.querySelector("span")),n=o.offsetLeft-t.scrollLeft+16,o=o.offsetTop-t.scrollTop+16;return i.remove(),[n,o]},s);function s(){}o.mentionsHelper=n},{}],12:[function(t,e,o){"use strict";o.__esModule=!0,o.modalHelper=void 0;var r=t("../dom/exports"),n=t("../dom/manipulationHelper");function i(){}i.focusDialog=function(t,e){var o,n=this,i=(void 0===e&&(e=0),document.querySelector(t));i&&(i.hasAttribute("disabled")?null!=(o=document.activeElement)&&o.blur():setTimeout(function(){i.focus(),"#"+r.domInfoHelper.getActiveElement()!==t&&e<10&&n.focusDialog(t,e+1)},10))},i.destroyAllDialog=function(){document.querySelectorAll(".ant-modal-root").forEach(function(t){t=t.parentNode;t instanceof HTMLElement&&t.remove()}),n.manipulationHelper.enableBodyScroll(!0)},o.modalHelper=i},{"../dom/exports":20,"../dom/manipulationHelper":22}],13:[function(t,e,o){"use strict";var n,s,l=function(){return(l=Object.assign||function(t){for(var e,o=1,n=arguments.length;on||t.righto.bound.right&&(e=o.bound.right),to.bound.bottom&&(t=o.bound.bottom)),i._container.style.translate=e+"px "+t+"px")},10).bind(this),this.onResize=r(function(t){i._state.bound=c(i._container,i._draggedInContainer)},30).bind(this),this._trigger=t,this._container=e,this._draggedInContainer=n,this._options=Object.assign({},a,{inViewport:o}),this._state={isInDrag:!1,mouseDownX:0,mouseDownY:0,mouseDownXOffset:0,mouseDownYOffset:0,bound:{left:0,top:0,right:0,bottom:0}}}function c(t,e){var o=window.getComputedStyle(e),n=window.getComputedStyle(e);return{left:-t.offsetLeft+parseInt(o.marginLeft)+parseInt(n.paddingLeft),top:-t.offsetTop+parseInt(o.marginTop)+parseInt(n.paddingTop),right:function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientWidth;return t=(t-=parseInt(e.paddingLeft))-parseInt(e.paddingRight)}(e,n)-function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientWidth;return t=(t+=parseInt(e.borderLeftWidth))+parseInt(e.borderRightWidth)}(t,o)-t.offsetLeft+parseInt(n.paddingRight)-parseInt(o.marginRight),bottom:function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientHeight;return t=(t-=parseInt(e.paddingTop))-parseInt(e.paddingBottom)}(e,n)-function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientHeight;return t=(t+=parseInt(e.borderTopWidth))+parseInt(e.borderBottomWidth)}(t,o)-t.offsetTop+parseInt(n.paddingBottom)-parseInt(o.marginBottom)}}o.enableDraggable=function(t,e,o,n){void 0===o&&(o=!0),void 0===n&&(n=document.documentElement);var i=s.get(t);i||(i=new l(t,e,o,n),s.set(t,i)),i.bindDrag()},o.disableDraggable=function(t){(t=s.get(t))&&t.unbindDrag()},o.resetModalPosition=function(t){(t=s.get(t))&&t.resetContainerStyle()}},{}],19:[function(t,e,o){"use strict";var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=(o.__esModule=!0,o.eventHelper=void 0,t("./exports")),r=t("../stateProvider");function n(){}n.triggerEvent=function(t,e,o){e=document.createEvent(e);return e.initEvent(o),t.dispatchEvent(e)},n.addDomEventListener=function(t,e,r,s,a){void 0===a&&(a=!1);function o(t){var e,o={};for(e in t)"originalTarget"!==e&&(o[e]=t[e]);var n=new Set,i=JSON.stringify(o,function(t,e){if("object"===(void 0===e?"undefined":l(e))&&null!==e){if(n.has(e))return;n.add(e)}return e instanceof Node?"Node":e instanceof Window?"Window":e}," ");setTimeout(function(){s.invokeMethodAsync("Invoke",i)},0),!0===r&&t.preventDefault(),a&&t.stopPropagation()}var t=i.domInfoHelper.get(t),n=e+"-"+s._id;t["e_"+n]="resize"===e?this.debounce(function(){return o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})},200,!1):o,t["i_"+n]=s,t&&t.addEventListener&&t.addEventListener(e,t["e_"+n])},n.addDomEventListenerToFirstChild=function(t,e,o,n){t=i.domInfoHelper.get(t);t&&t.firstElementChild&&this.addDomEventListener(t.firstElementChild,e,o,n)},n.removeDomEventListener=function(t,e,o){t=i.domInfoHelper.get(t),o=e+"-"+o._id;t&&t.removeEventListener(e,t["e_"+o])},n.addPreventKeys=function(t,e){var o,n=this;t&&(o=i.domInfoHelper.get(t),e=e.map(function(t){return t.toUpperCase()}),r.state.eventCallbackRegistry[t.id+"keydown"]=function(t){return n.preventKeys(t,e)},o.addEventListener("keydown",r.state.eventCallbackRegistry[t.id+"keydown"],!1))},n.preventKeyOnCondition=function(t,e,o){if(t.key.toUpperCase()===e.toUpperCase()&&o())return t.preventDefault(),!1},n.removePreventKeys=function(t){var e;t&&(e=i.domInfoHelper.get(t))&&(e.removeEventListener("keydown",r.state.eventCallbackRegistry[t.id+"keydown"]),r.state.eventCallbackRegistry[t.id+"keydown"]=null)},n.debounce=function(i,r,s){var a,l=this;return function(){for(var t=[],e=0;e(window.innerHeight||document.documentElement.clientHeight)},c.getScrollBarSize=function(t){var e,o;return void 0===t&&(t=!1),"undefined"==typeof document?0:(!t&&void 0!==a||((t=document.createElement("div")).style.width="100%",t.style.height="200px",(o=(e=document.createElement("div")).style).position="absolute",o.top="0",o.left="0",o.pointerEvents="none",o.visibility="hidden",o.width="200px",o.height="150px",o.overflow="hidden",e.appendChild(t),document.body.appendChild(e),o=t.offsetWidth,e.style.overflow="scroll",o===(t=t.offsetWidth)&&(t=e.clientWidth),document.body.removeChild(e),a=o-t,document.documentElement.style.setProperty("--ant-scrollbar-width",a+"px")),a)},o.manipulationHelper=c},{"../enums":24,"../stateProvider":25,"../styleHelper":26,"./exports":20}],23:[function(t,e,o){"use strict";o.__esModule=!0},{}],24:[function(t,e,o){"use strict";o.__esModule=!0,o.FocusBehavior=void 0,(o=o.FocusBehavior||(o.FocusBehavior={}))[o.FocusAtLast=0]="FocusAtLast",o[o.FocusAtFirst=1]="FocusAtFirst",o[o.FocusAndSelectAll=2]="FocusAndSelectAll"},{}],25:[function(t,e,o){"use strict";o.__esModule=!0,o.state=o.State=void 0;i.prototype.disposeObj=function(t){delete this.objReferenceDict[t]},i.getInstance=function(){return this.instance||(this.instance=new i),this.instance};var n=i;function i(){this.objReferenceDict={},this.eventCallbackRegistry={},this.oldBodyCacheStack=[]}o.State=n,o.state=n.getInstance()},{}],26:[function(t,e,o){"use strict";o.__esModule=!0,o.styleHelper=void 0;var n=t("./dom/infoHelper");function i(){}i.addCls=function(t,e){var t=n.infoHelper.get(t);t&&("string"==typeof e?t.classList.add(e):(t=t.classList).add.apply(t,e))},i.removeCls=function(t,e){var t=n.infoHelper.get(t);t&&("string"==typeof e?t.classList.remove(e):(t=t.classList).remove.apply(t,e))},i.addClsToFirstChild=function(t,e){t=n.infoHelper.get(t);t&&t.firstElementChild&&t.firstElementChild.classList.add(e)},i.removeClsFromFirstChild=function(t,e){t=n.infoHelper.get(t);t&&t.firstElementChild&&t.firstElementChild.classList.remove(e)},i.matchMedia=function(t){return window.matchMedia(t).matches},i.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:window.getComputedStyle?document.defaultView.getComputedStyle(t,null).getPropertyValue(e):void 0},i.css=function(t,e,o){if(void 0===o&&(o=null),"string"==typeof e)if(null===o)for(var n=e.split(";"),i=0;i>16,g:(65280&t)>>8,b:255&t}}},{"./util":39}],30:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.names=void 0,o.names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},{}],31:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.isValidCSSUnit=o.stringInputToObject=o.inputToRGB=void 0;var a=t("./conversion"),n=t("./css-color-names"),l=t("./util");o.inputToRGB=function(t){var e,o={r:0,g:0,b:0},n=1,i=null,r=!1,s=!1;return"object"==typeof(t="string"==typeof t?c(t):t)&&(u(t.r)&&u(t.g)&&u(t.b)?(o=(0,a.rgbToRgb)(t.r,t.g,t.b),r=!0,s="%"===String(t.r).substr(-1)?"prgb":"rgb"):u(t.h)&&u(t.s)&&u(t.v)?(i=(0,l.convertToPercentage)(t.s),e=(0,l.convertToPercentage)(t.v),o=(0,a.hsvToRgb)(t.h,i,e),r=!0,s="hsv"):u(t.h)&&u(t.s)&&u(t.l)&&(i=(0,l.convertToPercentage)(t.s),e=(0,l.convertToPercentage)(t.l),o=(0,a.hslToRgb)(t.h,i,e),r=!0,s="hsl"),Object.prototype.hasOwnProperty.call(t,"a"))&&(n=t.a),n=(0,l.boundAlpha)(n),{ok:r,format:t.format||s,r:Math.min(255,Math.max(o.r,0)),g:Math.min(255,Math.max(o.g,0)),b:Math.min(255,Math.max(o.b,0)),a:n}};var t="(?:".concat("[-\\+]?\\d*\\.\\d+%?",")|(?:").concat("[-\\+]?\\d+%?",")"),i="[\\s|\\(]+(".concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")\\s*\\)?"),r="[\\s|\\(]+(".concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")\\s*\\)?"),s={CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+r),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+r),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+r),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function c(t){if(0===(t=t.trim().toLowerCase()).length)return!1;var e=!1;if(n.names[t])t=n.names[t],e=!0;else if("transparent"===t)return{r:0,g:0,b:0,a:0,format:"name"};var o=s.rgb.exec(t);return o?{r:o[1],g:o[2],b:o[3]}:(o=s.rgba.exec(t))?{r:o[1],g:o[2],b:o[3],a:o[4]}:(o=s.hsl.exec(t))?{h:o[1],s:o[2],l:o[3]}:(o=s.hsla.exec(t))?{h:o[1],s:o[2],l:o[3],a:o[4]}:(o=s.hsv.exec(t))?{h:o[1],s:o[2],v:o[3]}:(o=s.hsva.exec(t))?{h:o[1],s:o[2],v:o[3],a:o[4]}:(o=s.hex8.exec(t))?{r:(0,a.parseIntFromHex)(o[1]),g:(0,a.parseIntFromHex)(o[2]),b:(0,a.parseIntFromHex)(o[3]),a:(0,a.convertHexToDecimal)(o[4]),format:e?"name":"hex8"}:(o=s.hex6.exec(t))?{r:(0,a.parseIntFromHex)(o[1]),g:(0,a.parseIntFromHex)(o[2]),b:(0,a.parseIntFromHex)(o[3]),format:e?"name":"hex"}:(o=s.hex4.exec(t))?{r:(0,a.parseIntFromHex)(o[1]+o[1]),g:(0,a.parseIntFromHex)(o[2]+o[2]),b:(0,a.parseIntFromHex)(o[3]+o[3]),a:(0,a.convertHexToDecimal)(o[4]+o[4]),format:e?"name":"hex8"}:!!(o=s.hex3.exec(t))&&{r:(0,a.parseIntFromHex)(o[1]+o[1]),g:(0,a.parseIntFromHex)(o[2]+o[2]),b:(0,a.parseIntFromHex)(o[3]+o[3]),format:e?"name":"hex"}}function u(t){return Boolean(s.CSS_UNIT.exec(String(t)))}o.stringInputToObject=c,o.isValidCSSUnit=u},{"./conversion":29,"./css-color-names":30,"./util":39}],32:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.legacyRandom=o.fromRatio=void 0;var n=t("./index"),i=t("./util");o.fromRatio=function(t,e){var o={r:(0,i.convertToPercentage)(t.r),g:(0,i.convertToPercentage)(t.g),b:(0,i.convertToPercentage)(t.b)};return void 0!==t.a&&(o.a=Number(t.a)),new n.TinyColor(o,e)},o.legacyRandom=function(){return new n.TinyColor({r:Math.random(),g:Math.random(),b:Math.random()})}},{"./index":33,"./util":39}],33:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.tinycolor=o.TinyColor=void 0;var r=t("./conversion"),s=t("./css-color-names"),n=t("./format-input"),i=t("./util"),a=(l.prototype.isDark=function(){return this.getBrightness()<128},l.prototype.isLight=function(){return!this.isDark()},l.prototype.getBrightness=function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},l.prototype.getLuminance=function(){var t=this.toRgb(),e=t.r/255,o=t.g/255,t=t.b/255,e=e<=.03928?e/12.92:Math.pow((.055+e)/1.055,2.4),o=o<=.03928?o/12.92:Math.pow((.055+o)/1.055,2.4),t=t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4);return.2126*e+.7152*o+.0722*t},l.prototype.getAlpha=function(){return this.a},l.prototype.setAlpha=function(t){return this.a=(0,i.boundAlpha)(t),this.roundA=Math.round(100*this.a)/100,this},l.prototype.isMonochrome=function(){return 0===this.toHsl().s},l.prototype.toHsv=function(){var t=(0,r.rgbToHsv)(this.r,this.g,this.b);return{h:360*t.h,s:t.s,v:t.v,a:this.a}},l.prototype.toHsvString=function(){var t=(0,r.rgbToHsv)(this.r,this.g,this.b),e=Math.round(360*t.h),o=Math.round(100*t.s),t=Math.round(100*t.v);return 1===this.a?"hsv(".concat(e,", ").concat(o,"%, ").concat(t,"%)"):"hsva(".concat(e,", ").concat(o,"%, ").concat(t,"%, ").concat(this.roundA,")")},l.prototype.toHsl=function(){var t=(0,r.rgbToHsl)(this.r,this.g,this.b);return{h:360*t.h,s:t.s,l:t.l,a:this.a}},l.prototype.toHslString=function(){var t=(0,r.rgbToHsl)(this.r,this.g,this.b),e=Math.round(360*t.h),o=Math.round(100*t.s),t=Math.round(100*t.l);return 1===this.a?"hsl(".concat(e,", ").concat(o,"%, ").concat(t,"%)"):"hsla(".concat(e,", ").concat(o,"%, ").concat(t,"%, ").concat(this.roundA,")")},l.prototype.toHex=function(t){return(0,r.rgbToHex)(this.r,this.g,this.b,t=void 0===t?!1:t)},l.prototype.toHexString=function(t){return"#"+this.toHex(t=void 0===t?!1:t)},l.prototype.toHex8=function(t){return(0,r.rgbaToHex)(this.r,this.g,this.b,this.a,t=void 0===t?!1:t)},l.prototype.toHex8String=function(t){return"#"+this.toHex8(t=void 0===t?!1:t)},l.prototype.toHexShortString=function(t){return void 0===t&&(t=!1),1===this.a?this.toHexString(t):this.toHex8String(t)},l.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},l.prototype.toRgbString=function(){var t=Math.round(this.r),e=Math.round(this.g),o=Math.round(this.b);return 1===this.a?"rgb(".concat(t,", ").concat(e,", ").concat(o,")"):"rgba(".concat(t,", ").concat(e,", ").concat(o,", ").concat(this.roundA,")")},l.prototype.toPercentageRgb=function(){function t(t){return"".concat(Math.round(100*(0,i.bound01)(t,255)),"%")}return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},l.prototype.toPercentageRgbString=function(){function t(t){return Math.round(100*(0,i.bound01)(t,255))}return 1===this.a?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},l.prototype.toName=function(){if(0===this.a)return"transparent";if(!(this.a<1))for(var t="#"+(0,r.rgbToHex)(this.r,this.g,this.b,!1),e=0,o=Object.entries(s.names);e>1)+720)%360;--t;)o.h=(o.h+n)%360,i.push(new l(o));return i},l.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new l(t)},l.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var e=this.toHsv(),o=e.h,n=e.s,i=e.v,r=[],s=1/t;t--;)r.push(new l({h:o,s:n,v:i})),i=(i+s)%1;return r},l.prototype.splitcomplement=function(){var t=this.toHsl(),e=t.h;return[this,new l({h:(e+72)%360,s:t.s,l:t.l}),new l({h:(e+216)%360,s:t.s,l:t.l})]},l.prototype.onBackground=function(t){var e=this.toRgb(),t=new l(t).toRgb(),o=e.a+t.a*(1-e.a);return new l({r:(e.r*e.a+t.r*t.a*(1-e.a))/o,g:(e.g*e.a+t.g*t.a*(1-e.a))/o,b:(e.b*e.a+t.b*t.a*(1-e.a))/o,a:o})},l.prototype.triad=function(){return this.polyad(3)},l.prototype.tetrad=function(){return this.polyad(4)},l.prototype.polyad=function(t){for(var e=this.toHsl(),o=e.h,n=[this],i=360/t,r=1;r=n.hueRange[0]&&t<=n.hueRange[1])return n}throw Error("Color not found")}function c(t,e){var o;return void 0===e?Math.floor(t[0]+Math.random()*(t[1]+1-t[0])):(o=t[1]||1,t=t[0]||0,e=(e=(9301*e+49297)%233280)/233280,Math.floor(t+e*(o-t)))}function u(t){var e=t.lowerBounds[0][0],o=t.lowerBounds[t.lowerBounds.length-1][0],n=t.lowerBounds[t.lowerBounds.length-1][1],i=t.lowerBounds[0][1];return{name:t.name,hueRange:t.hueRange,lowerBounds:t.lowerBounds,saturationRange:[e,o],brightnessRange:[n,i]}}s.random=function t(e){if(void 0!==(e=void 0===e?{}:e).count&&null!==e.count){var o=e.count,n=[];for(e.count=void 0;n.length - + @@ -23,7 +23,7 @@ - + diff --git a/samples/BookStore/src/BookStore.BlazorServer/BookStore.BlazorServer.csproj b/samples/BookStore/src/BookStore.BlazorServer/BookStore.BlazorServer.csproj index 5257acb..09f4bb8 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/BookStore.BlazorServer.csproj +++ b/samples/BookStore/src/BookStore.BlazorServer/BookStore.BlazorServer.csproj @@ -3,7 +3,7 @@ - net8.0 + net9.0 true true true @@ -14,7 +14,9 @@ - + + + diff --git a/samples/BookStore/src/BookStore.BlazorServer/appsettings.json b/samples/BookStore/src/BookStore.BlazorServer/appsettings.json index f5a22bc..37b318f 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/appsettings.json +++ b/samples/BookStore/src/BookStore.BlazorServer/appsettings.json @@ -4,7 +4,7 @@ "RedirectAllowedUrls": "https://localhost:44313" }, "ConnectionStrings": { - "Default": "Server=LOCALHOST\\SQLEXPRESS;Initial Catalog=AntBlazorDemo;Trusted_Connection=True;TrustServerCertificate=True" + "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=AntBlazorDemo;Trusted_Connection=True" }, "AuthServer": { "Authority": "https://localhost:44313", diff --git a/samples/BookStore/src/BookStore.BlazorServer/package-lock.json b/samples/BookStore/src/BookStore.BlazorServer/package-lock.json index a640558..d5a61ed 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/package-lock.json +++ b/samples/BookStore/src/BookStore.BlazorServer/package-lock.json @@ -8,245 +8,245 @@ "name": "my-app", "version": "1.0.0", "dependencies": { - "@abp/aspnetcore.components.server.basictheme": "~8.3.0", - "@abp/aspnetcore.mvc.ui.theme.basic": "~8.3.0" + "@abp/aspnetcore.components.server.basictheme": "~9.0.0", + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } }, "node_modules/@abp/aspnetcore.components.server.basictheme": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.components.server.basictheme/-/aspnetcore.components.server.basictheme-8.3.2.tgz", - "integrity": "sha512-30iq9hCikAtFgn45Z7H0o0/16UOb0TUNwf3B731sEJkURMmz5fp8Br8s7p0wO3cqTLBkFcZRIeeEyQ4sTiJuoQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.components.server.basictheme/-/aspnetcore.components.server.basictheme-9.0.1.tgz", + "integrity": "sha512-9nRzZuHteVxUKwDdbKeOiU4j01S9lknZg+FpVeDGYnhJwLi6ssdyDvAi6uL8F+sWKhAh8JcmwfmPBqwzuwq9CQ==", "dependencies": { - "@abp/aspnetcore.components.server.theming": "~8.3.2" + "@abp/aspnetcore.components.server.theming": "~9.0.1" } }, "node_modules/@abp/aspnetcore.components.server.theming": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.components.server.theming/-/aspnetcore.components.server.theming-8.3.2.tgz", - "integrity": "sha512-qzMD4TuAGDPUnSYxSsFnr8HbDIJFmWWtg96yNxeXwbdhziuyeSVswFzugNsnedBWMsBgpHwfKUhPPsRkiYqwiw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.components.server.theming/-/aspnetcore.components.server.theming-9.0.1.tgz", + "integrity": "sha512-PEvkCxlL+pYS6wdzIznghN+t0tIpr8ipuVK0zTFK4yFIFWDw+LzOPADGv1UcmlO7nxC6DGUxye5JatjX61Cocg==", "dependencies": { - "@abp/bootstrap": "~8.3.2", - "@abp/font-awesome": "~8.3.2" + "@abp/bootstrap": "~9.0.1", + "@abp/font-awesome": "~9.0.1" } }, "node_modules/@abp/aspnetcore.mvc.ui": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.3.2.tgz", - "integrity": "sha512-og4n6CZFGSA9Oe5kxZfz5b0db6nBO8oEDdSkpwRO7t/g/WTNpz1gBps32tQbvKEO7FahZ36wvWlD8Or201MapA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.1.tgz", + "integrity": "sha512-KVbWCpBV7S1ViHYQP/hn4gSMzSiA2e8/zC0HND1fjE+1zXJqJyEWto1eg2DaKSOs/rmHD8WtFVMU4hCLQTCuIA==", "dependencies": { "ansi-colors": "^4.1.3" } }, "node_modules/@abp/aspnetcore.mvc.ui.theme.basic": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.3.2.tgz", - "integrity": "sha512-3Wu4KlbIP8VKR3Xy0twNl+aNtl6JUyrz5apaB8nGdegW+QJH39BnTL5juBn4z1Z8qNANVXYVS5Kteh0mmbDiBQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.1.tgz", + "integrity": "sha512-JaxuDH8WTnZYX6C7CX7ZVHfhTDR/SxfwRvtJaGGijSX8QKd1DXpfi9lYEF4Y9k5b48YT/0slBqU5g0sLmBd3+g==", "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~8.3.2" + "@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.1" } }, "node_modules/@abp/aspnetcore.mvc.ui.theme.shared": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.3.2.tgz", - "integrity": "sha512-p8d+kx9xCUuZS9CpDk2gCnC6L/Sd4oqt07zEsO4IGRV3Dd9eyYZhvk4GhtQa4/lGauwXrKr+YUMZU+2fJm8zUg==", - "dependencies": { - "@abp/aspnetcore.mvc.ui": "~8.3.2", - "@abp/bootstrap": "~8.3.2", - "@abp/bootstrap-datepicker": "~8.3.2", - "@abp/bootstrap-daterangepicker": "~8.3.2", - "@abp/datatables.net-bs5": "~8.3.2", - "@abp/font-awesome": "~8.3.2", - "@abp/jquery-form": "~8.3.2", - "@abp/jquery-validation-unobtrusive": "~8.3.2", - "@abp/lodash": "~8.3.2", - "@abp/luxon": "~8.3.2", - "@abp/malihu-custom-scrollbar-plugin": "~8.3.2", - "@abp/moment": "~8.3.2", - "@abp/select2": "~8.3.2", - "@abp/sweetalert2": "~8.3.2", - "@abp/timeago": "~8.3.2", - "@abp/toastr": "~8.3.2" + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.1.tgz", + "integrity": "sha512-vrgRYKNctdZYhPCQ2I6Z10gUI1S5ynDj+DgnV7x7a7G/juuHaOSbkRXgwrmJsmYLfGA7KFCoJcbpER8mmXQeHQ==", + "dependencies": { + "@abp/aspnetcore.mvc.ui": "~9.0.1", + "@abp/bootstrap": "~9.0.1", + "@abp/bootstrap-datepicker": "~9.0.1", + "@abp/bootstrap-daterangepicker": "~9.0.1", + "@abp/datatables.net-bs5": "~9.0.1", + "@abp/font-awesome": "~9.0.1", + "@abp/jquery-form": "~9.0.1", + "@abp/jquery-validation-unobtrusive": "~9.0.1", + "@abp/lodash": "~9.0.1", + "@abp/luxon": "~9.0.1", + "@abp/malihu-custom-scrollbar-plugin": "~9.0.1", + "@abp/moment": "~9.0.1", + "@abp/select2": "~9.0.1", + "@abp/sweetalert2": "~9.0.1", + "@abp/timeago": "~9.0.1", + "@abp/toastr": "~9.0.1" } }, "node_modules/@abp/bootstrap": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-8.3.2.tgz", - "integrity": "sha512-qlCt5xpoIH7l4WeJtZvottpOq/GonYIaOpw4PXf4wmpma+iE8IMW5SKD12ajTI46DvAUuJdJzn/HuZi09btQkw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-9.0.1.tgz", + "integrity": "sha512-uAfVNsUYSsRqgeO9JMnhJJlFoDmO3/lTvER/iYOqerF0X03KQnR8HZy2V3MD1D+fSh/4JuU6aAZFl6IQLinMKQ==", "dependencies": { - "@abp/core": "~8.3.2", + "@abp/core": "~9.0.1", "bootstrap": "^5.3.3" } }, "node_modules/@abp/bootstrap-datepicker": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.3.2.tgz", - "integrity": "sha512-Bdxc0SJ4/nC9BbBCz9hutgVtLBWQ2vkMLXFHqLrME7cQ0i8zg7XolEvY6IHt2/0V3omMCw/BA9oUc4JBsE76KQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.1.tgz", + "integrity": "sha512-LhgqBRr66x9gGTAyv1FuPAw8u8N77WQK2AfDkNgLueurM2+xMYQzH3pWWLhcN676/JXafxfALCfBoM8U7CfXLg==", "dependencies": { "bootstrap-datepicker": "^1.10.0" } }, "node_modules/@abp/bootstrap-daterangepicker": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.3.2.tgz", - "integrity": "sha512-+hSTVqvlYrdlQ5ajwVvjzQdAWj5U1eoRMHNKFLdddIHp27n5q6waz2kIhqvUe1TNHF98LksbFkylFcuj6v7aZg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.1.tgz", + "integrity": "sha512-SlBVgiYa75uQyaGt5EVjduren7Po5UP26A1tXEQQr0hDia1+1TK0qxmJ2YxjeJpB7FwtcmJiofv5fngvJqhxIA==", "dependencies": { "bootstrap-daterangepicker": "^3.1.0" } }, "node_modules/@abp/core": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/core/-/core-8.3.2.tgz", - "integrity": "sha512-sNAJZr7bRBYPzM5zR1a3B+ZAHUUPO1cZey38Vf4UtRZ5cTNnVuM7RovMQKvWZkUcD7S1vWgtKS8m/KWq4/tMQg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/core/-/core-9.0.1.tgz", + "integrity": "sha512-NWXDVCIJePbcKCrRvGxAlaA2MrOF2IZox37bQkW7/mTeOPpNoTa6lhowksNNcTpFq2YdD8bG0i0kfskkp3EZ2w==", "dependencies": { - "@abp/utils": "~8.3.2" + "@abp/utils": "~9.0.1" } }, "node_modules/@abp/datatables.net": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-8.3.2.tgz", - "integrity": "sha512-LI0AM5HYfMVdMZZ7VucyqFq/MxTt1Yh9klh2DB4B0lTeZTaXtjK4rJbV8B2A6MhSN04ZNqz5LF+xoKoUerNK5w==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-9.0.1.tgz", + "integrity": "sha512-JY53zVQPluRrBiKwtgk4gfSgD8VDs/VU8LWizhGCprXt3h9vXx0SQL4My6zvXVkv4hUjaq4+MYo84OI8EwFvsg==", "dependencies": { - "@abp/jquery": "~8.3.2", - "datatables.net": "^2.0.8" + "@abp/jquery": "~9.0.1", + "datatables.net": "^2.1.8" } }, "node_modules/@abp/datatables.net-bs5": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/datatables.net-bs5/-/datatables.net-bs5-8.3.2.tgz", - "integrity": "sha512-JrBtjsr4jWgG/8ZJYbyYWk65tCkjkU5UIrK1xdX8hFCHX+Rq4ioCXdswqRzNkLLIfXh6U4J96JurMLuJtinepA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.1.tgz", + "integrity": "sha512-tAHdf4TBAS0bVRcvovDKS0OHFyeRSPYbiSIwDn8AIWzW9Weav31jhZ5jL3HEtBKVdb7zqUQ8/3dYPufjDuDdDA==", "dependencies": { - "@abp/datatables.net": "~8.3.2", - "datatables.net-bs5": "^2.0.8" + "@abp/datatables.net": "~9.0.1", + "datatables.net-bs5": "^2.1.8" } }, "node_modules/@abp/font-awesome": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-8.3.2.tgz", - "integrity": "sha512-nhoyY/svGY5iaoU3M8q7MCIB5OGrFSpsyY5eoRROady+BrIww9msZwMFcyE08+uNQXbqL94BcrMIDAnUA/zdYg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-9.0.1.tgz", + "integrity": "sha512-7NnYBmk0plLVElUWR1zohul87vE9wKJItemWT5Kskf/IJirKOvXwSSu+7Jg1LmnVtIxcH6qgRpJMmzuAJgawnQ==", "dependencies": { - "@abp/core": "~8.3.2", - "@fortawesome/fontawesome-free": "^6.5.2" + "@abp/core": "~9.0.1", + "@fortawesome/fontawesome-free": "^6.6.0" } }, "node_modules/@abp/jquery": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery/-/jquery-8.3.2.tgz", - "integrity": "sha512-tCNNQJCVQmAmz2z5orBQNFWPD9MfvM3hkFM/TZSDEZMetFBfz1tJKwEjS7eLEOLeSDju3YbByG1PtWGKN1rsUQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/jquery/-/jquery-9.0.1.tgz", + "integrity": "sha512-z8EcnOveItAszbTsM9GFFDQSlcIg/ym6+WZME9uldLoetdxkmI9ij0knVeGj5eqMjQaHvTWwrVLObiBbZwYFWw==", "dependencies": { - "@abp/core": "~8.3.2", + "@abp/core": "~9.0.1", "jquery": "~3.7.1" } }, "node_modules/@abp/jquery-form": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-8.3.2.tgz", - "integrity": "sha512-cO9VTL2gO7dvd2FpYWHYgUfmzfTQkm90LE5CfEFJipXrq92alPV5FFB/DrTFOX1UoR9SCTdq6k0auEPNPnp6Dw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-9.0.1.tgz", + "integrity": "sha512-9co0+Cver+RUSOpfuukSWQhR+TCnO9Dly4RTVRIKFksGVfN8hA70NqRrVxaASNNFv42ynK88FQK+2bLPswz/iw==", "dependencies": { - "@abp/jquery": "~8.3.2", + "@abp/jquery": "~9.0.1", "jquery-form": "^4.3.0" } }, "node_modules/@abp/jquery-validation": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-8.3.2.tgz", - "integrity": "sha512-4l4D5cSJw75/dH81JagDcyV82q3+AEwyPcgNymAcxbe0N+8hvch2dWxW/WlxgdSt1Wj17MHRQyaOHJD299yB2Q==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-9.0.1.tgz", + "integrity": "sha512-uFSxiPMEkaPlcuyXIoKbeOIIRHo4IrgRbmnlHwI1uETrW60ENUdE2LJAVcYS77JROrjVtv8FPlaffWuva6sGeQ==", "dependencies": { - "@abp/jquery": "~8.3.2", - "jquery-validation": "^1.20.1" + "@abp/jquery": "~9.0.1", + "jquery-validation": "^1.21.0" } }, "node_modules/@abp/jquery-validation-unobtrusive": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.3.2.tgz", - "integrity": "sha512-KBKozSr7Q3+WZgvYDkpSmMHLikyl8tz9N1XXzkQTvHTI8LEIdP2wLCKqkjccP0IlivYFzcSamAHsuEK+mfg11Q==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.1.tgz", + "integrity": "sha512-Zpz48wIFjq7eIApG/sEVjkfaJWZhcyCnlCtDf5eU3vvh82nRetbiCEAVLpZ4LVjorlyp3VvVAxReUSeeWflu8A==", "dependencies": { - "@abp/jquery-validation": "~8.3.2", + "@abp/jquery-validation": "~9.0.1", "jquery-validation-unobtrusive": "^4.0.0" } }, "node_modules/@abp/lodash": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/lodash/-/lodash-8.3.2.tgz", - "integrity": "sha512-O5p6mchGaZHnge1tza3/uQfEqUvIuyWVhzMv+sRq//9FHnMyTThlHU0zriFsYb3wpBQfPf11uOtisv5F+wbuRw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/lodash/-/lodash-9.0.1.tgz", + "integrity": "sha512-D+/iOyh/O+jV80bK5vWxyn++IVmeRbZq/UaXanA4RKpzigxJUsgOiSD9lUj85BkfKn2YyFmoR39xwaAqkWoyRA==", "dependencies": { - "@abp/core": "~8.3.2", + "@abp/core": "~9.0.1", "lodash": "^4.17.21" } }, "node_modules/@abp/luxon": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/luxon/-/luxon-8.3.2.tgz", - "integrity": "sha512-GxjKfYAUu3YPW8oJq/APNvghG8a+PR2vgX13k4FTRi7o0ndLjqu1m4+oqfA9r4tpRgj4WLmoaVjGGJYrtaEBGQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/luxon/-/luxon-9.0.1.tgz", + "integrity": "sha512-1ZHXP5SGz05tQ1tzYmPcRiZwmkCKGX0KWFoV0zF3ATRaevzku9nXvSy7K6GIFkkgTb9f9XNx4/OBBF/GXkuRqw==", "dependencies": { - "@abp/core": "~8.3.2", - "luxon": "^3.4.4" + "@abp/core": "~9.0.1", + "luxon": "^3.5.0" } }, "node_modules/@abp/malihu-custom-scrollbar-plugin": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.3.2.tgz", - "integrity": "sha512-cyVeeKppYYYR93eyy20QFuwmhCf0k5B/+ZlslOqbm5E4NIoPN8oIVcg02wyq541jSmDINj1pOl71IZcMxt01hA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.1.tgz", + "integrity": "sha512-GkKPLg9Z9UTTSSpW2hYZYZ9IgCvDSOYJmyRSl/h4fG8cWMgGCPVpv8MPPu0+WtIfwW/mT4SPX9X+sjUlRL5XRQ==", "dependencies": { - "@abp/core": "~8.3.2", + "@abp/core": "~9.0.1", "malihu-custom-scrollbar-plugin": "^3.1.5" } }, "node_modules/@abp/moment": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/moment/-/moment-8.3.2.tgz", - "integrity": "sha512-2aFlq+sdXpcBS/nOEo1CQMlVl5/Qv0/wYKFez5KylyKic4CKGrmzFWvQWeqsR73Ns+Ayk8dX0Dabzseia1hdIQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/moment/-/moment-9.0.1.tgz", + "integrity": "sha512-bTuCc7pi/DCtgz7t96UBU0wn9UGt4b50JhDCVeTKquh+gP1sgWoI5hyvEBkmgE4dcffO0yzZU2opHYTKYGl/OQ==", "dependencies": { "moment": "^2.30.1" } }, "node_modules/@abp/select2": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/select2/-/select2-8.3.2.tgz", - "integrity": "sha512-q2pAsmF+J2Zs2+DqDgA63DBfkKUSgqqvSYdeEGVoGQqmr70o6BAvIvyaNSW7FNq/VzQca+zSQAoUI6F3opHiuQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/select2/-/select2-9.0.1.tgz", + "integrity": "sha512-epyYJH2gAOU2UvGn5FD6372hbW3fL7uZIgGpvfgEfa+l6HPdlV9B1OweU2xkONNCoylShAcP/y8qf+bUh8WDEA==", "dependencies": { - "@abp/core": "~8.3.2", + "@abp/core": "~9.0.1", "select2": "^4.0.13" } }, "node_modules/@abp/sweetalert2": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/sweetalert2/-/sweetalert2-8.3.2.tgz", - "integrity": "sha512-rQEU27H9Yj8IMQY5IzwgE6N4jvlE4lnCQno87NDDa6lYp1QO8Bp6VJi77TSj3/eXb/8mJSyyoO1QqLoyrql+tg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/sweetalert2/-/sweetalert2-9.0.1.tgz", + "integrity": "sha512-0RXR/lzy3qMJLisGUz4qrcA9Clu/Tt1ABGzB64ynG1t/l5XessQsIB5Hkt6MbSyOEsprRsq+ZtKH35CwTRPdAw==", "dependencies": { - "@abp/core": "~8.3.2", - "sweetalert2": "^11.3.6" + "@abp/core": "~9.0.1", + "sweetalert2": "^11.14.1" } }, "node_modules/@abp/timeago": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/timeago/-/timeago-8.3.2.tgz", - "integrity": "sha512-JZ9lo6AgDjpxs5AhhS+UoNIDpx1yN7bHxYdnEXg7wztVbV+V9U96Upp3rYhRHSjiCmx0xIMLfujElwjgBAhPDQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/timeago/-/timeago-9.0.1.tgz", + "integrity": "sha512-dNfUQwilrY+JHxL5lwJ++ixYDGAs5lF1EDxKMQMIXD/ak5L8rkdLns8Otta7FhgDDny9UJ7XWQjYsG8ZxxybRQ==", "dependencies": { - "@abp/jquery": "~8.3.2", + "@abp/jquery": "~9.0.1", "timeago": "^1.6.7" } }, "node_modules/@abp/toastr": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/toastr/-/toastr-8.3.2.tgz", - "integrity": "sha512-aFnSMojAPSIYkHV7tE3Uh00G+r07c6spW+tRqxEiooF11t6PXZyWayNGsol+8L43tXk9dQYj8GwnGau/yTxzRA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/toastr/-/toastr-9.0.1.tgz", + "integrity": "sha512-10KuHnSJOxkvzqs6Aim6GJp8xBuT+TsZqBE1KaXQnERPawmOo4+ME28kA/7lq8fvgFUNO3K41T2uuA1GPHVQcg==", "dependencies": { - "@abp/jquery": "~8.3.2", + "@abp/jquery": "~9.0.1", "toastr": "^2.1.4" } }, "node_modules/@abp/utils": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/utils/-/utils-8.3.2.tgz", - "integrity": "sha512-0i4yqwxSGnKKZJZwXNBvCPoT7nZ0/vnyNVBMeE12x3Y7MV3bZSza2CGTPUhVVvoWt2JfGiDpAfKzPq2eUKfisg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/utils/-/utils-9.0.1.tgz", + "integrity": "sha512-7eOKT0ciKNdtuASck1kifyc4dC6CeebgxV+rx/EAi3YwPMDkqie6YwLGUqKdGW2N/MZ15JuDR6gkuZxKHEb0NQ==", "dependencies": { "just-compare": "^2.3.0" } }, "node_modules/@fortawesome/fontawesome-free": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz", - "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.1.tgz", + "integrity": "sha512-ALIk/MOh5gYe1TG/ieS5mVUsk7VUIJTJKPMK9rFFqOgfp0Q3d5QiBXbcOMwUvs37fyZVCz46YjOE6IFeOAXCHA==", "engines": { "node": ">=6" } @@ -396,9 +396,9 @@ "integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==" }, "node_modules/sweetalert2": { - "version": "11.14.4", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.4.tgz", - "integrity": "sha512-8QMzjxCuinwm18EK5AtYvuhP+lRMRxTWVXy8om9wGlULsXSI4TD29kyih3VYrSXMMBlD4EShFvNC7slhTC7j0w==", + "version": "11.14.5", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.5.tgz", + "integrity": "sha512-8MWk5uc/r6bWhiJWkUXyEuApfXAhSCZT8FFX7pZXL7YwaPxq+9Ynhi2dUzWkOFn9jvLjKj22CXuccZ+IHcnjvQ==", "funding": { "type": "individual", "url": "https://github.com/sponsors/limonte" diff --git a/samples/BookStore/src/BookStore.BlazorServer/package.json b/samples/BookStore/src/BookStore.BlazorServer/package.json index 5cfdae6..aee6594 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/package.json +++ b/samples/BookStore/src/BookStore.BlazorServer/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~8.3.0", - "@abp/aspnetcore.components.server.basictheme": "~8.3.0" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0", + "@abp/aspnetcore.components.server.basictheme": "~9.0.0" } } \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.BlazorServer/yarn.lock b/samples/BookStore/src/BookStore.BlazorServer/yarn.lock index abd0155..c948dfe 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/yarn.lock +++ b/samples/BookStore/src/BookStore.BlazorServer/yarn.lock @@ -2,216 +2,216 @@ # yarn lockfile v1 -"@abp/aspnetcore.components.server.basictheme@~8.3.0": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/aspnetcore.components.server.basictheme/-/aspnetcore.components.server.basictheme-8.3.2.tgz" - integrity sha512-30iq9hCikAtFgn45Z7H0o0/16UOb0TUNwf3B731sEJkURMmz5fp8Br8s7p0wO3cqTLBkFcZRIeeEyQ4sTiJuoQ== - dependencies: - "@abp/aspnetcore.components.server.theming" "~8.3.2" - -"@abp/aspnetcore.components.server.theming@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/aspnetcore.components.server.theming/-/aspnetcore.components.server.theming-8.3.2.tgz" - integrity sha512-qzMD4TuAGDPUnSYxSsFnr8HbDIJFmWWtg96yNxeXwbdhziuyeSVswFzugNsnedBWMsBgpHwfKUhPPsRkiYqwiw== - dependencies: - "@abp/bootstrap" "~8.3.2" - "@abp/font-awesome" "~8.3.2" - -"@abp/aspnetcore.mvc.ui.theme.basic@~8.3.0": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.3.2.tgz" - integrity sha512-3Wu4KlbIP8VKR3Xy0twNl+aNtl6JUyrz5apaB8nGdegW+QJH39BnTL5juBn4z1Z8qNANVXYVS5Kteh0mmbDiBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~8.3.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.3.2.tgz" - integrity sha512-p8d+kx9xCUuZS9CpDk2gCnC6L/Sd4oqt07zEsO4IGRV3Dd9eyYZhvk4GhtQa4/lGauwXrKr+YUMZU+2fJm8zUg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~8.3.2" - "@abp/bootstrap" "~8.3.2" - "@abp/bootstrap-datepicker" "~8.3.2" - "@abp/bootstrap-daterangepicker" "~8.3.2" - "@abp/datatables.net-bs5" "~8.3.2" - "@abp/font-awesome" "~8.3.2" - "@abp/jquery-form" "~8.3.2" - "@abp/jquery-validation-unobtrusive" "~8.3.2" - "@abp/lodash" "~8.3.2" - "@abp/luxon" "~8.3.2" - "@abp/malihu-custom-scrollbar-plugin" "~8.3.2" - "@abp/moment" "~8.3.2" - "@abp/select2" "~8.3.2" - "@abp/sweetalert2" "~8.3.2" - "@abp/timeago" "~8.3.2" - "@abp/toastr" "~8.3.2" - -"@abp/aspnetcore.mvc.ui@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.3.2.tgz" - integrity sha512-og4n6CZFGSA9Oe5kxZfz5b0db6nBO8oEDdSkpwRO7t/g/WTNpz1gBps32tQbvKEO7FahZ36wvWlD8Or201MapA== +"@abp/aspnetcore.components.server.basictheme@~9.0.0": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/aspnetcore.components.server.basictheme/-/aspnetcore.components.server.basictheme-9.0.1.tgz" + integrity sha512-9nRzZuHteVxUKwDdbKeOiU4j01S9lknZg+FpVeDGYnhJwLi6ssdyDvAi6uL8F+sWKhAh8JcmwfmPBqwzuwq9CQ== + dependencies: + "@abp/aspnetcore.components.server.theming" "~9.0.1" + +"@abp/aspnetcore.components.server.theming@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/aspnetcore.components.server.theming/-/aspnetcore.components.server.theming-9.0.1.tgz" + integrity sha512-PEvkCxlL+pYS6wdzIznghN+t0tIpr8ipuVK0zTFK4yFIFWDw+LzOPADGv1UcmlO7nxC6DGUxye5JatjX61Cocg== + dependencies: + "@abp/bootstrap" "~9.0.1" + "@abp/font-awesome" "~9.0.1" + +"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.1.tgz" + integrity sha512-JaxuDH8WTnZYX6C7CX7ZVHfhTDR/SxfwRvtJaGGijSX8QKd1DXpfi9lYEF4Y9k5b48YT/0slBqU5g0sLmBd3+g== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.1" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.1.tgz" + integrity sha512-vrgRYKNctdZYhPCQ2I6Z10gUI1S5ynDj+DgnV7x7a7G/juuHaOSbkRXgwrmJsmYLfGA7KFCoJcbpER8mmXQeHQ== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.1" + "@abp/bootstrap" "~9.0.1" + "@abp/bootstrap-datepicker" "~9.0.1" + "@abp/bootstrap-daterangepicker" "~9.0.1" + "@abp/datatables.net-bs5" "~9.0.1" + "@abp/font-awesome" "~9.0.1" + "@abp/jquery-form" "~9.0.1" + "@abp/jquery-validation-unobtrusive" "~9.0.1" + "@abp/lodash" "~9.0.1" + "@abp/luxon" "~9.0.1" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.1" + "@abp/moment" "~9.0.1" + "@abp/select2" "~9.0.1" + "@abp/sweetalert2" "~9.0.1" + "@abp/timeago" "~9.0.1" + "@abp/toastr" "~9.0.1" + +"@abp/aspnetcore.mvc.ui@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.1.tgz" + integrity sha512-KVbWCpBV7S1ViHYQP/hn4gSMzSiA2e8/zC0HND1fjE+1zXJqJyEWto1eg2DaKSOs/rmHD8WtFVMU4hCLQTCuIA== dependencies: ansi-colors "^4.1.3" -"@abp/bootstrap-datepicker@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.3.2.tgz" - integrity sha512-Bdxc0SJ4/nC9BbBCz9hutgVtLBWQ2vkMLXFHqLrME7cQ0i8zg7XolEvY6IHt2/0V3omMCw/BA9oUc4JBsE76KQ== +"@abp/bootstrap-datepicker@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.1.tgz" + integrity sha512-LhgqBRr66x9gGTAyv1FuPAw8u8N77WQK2AfDkNgLueurM2+xMYQzH3pWWLhcN676/JXafxfALCfBoM8U7CfXLg== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.3.2.tgz" - integrity sha512-+hSTVqvlYrdlQ5ajwVvjzQdAWj5U1eoRMHNKFLdddIHp27n5q6waz2kIhqvUe1TNHF98LksbFkylFcuj6v7aZg== +"@abp/bootstrap-daterangepicker@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.1.tgz" + integrity sha512-SlBVgiYa75uQyaGt5EVjduren7Po5UP26A1tXEQQr0hDia1+1TK0qxmJ2YxjeJpB7FwtcmJiofv5fngvJqhxIA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-8.3.2.tgz" - integrity sha512-qlCt5xpoIH7l4WeJtZvottpOq/GonYIaOpw4PXf4wmpma+iE8IMW5SKD12ajTI46DvAUuJdJzn/HuZi09btQkw== +"@abp/bootstrap@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-9.0.1.tgz" + integrity sha512-uAfVNsUYSsRqgeO9JMnhJJlFoDmO3/lTvER/iYOqerF0X03KQnR8HZy2V3MD1D+fSh/4JuU6aAZFl6IQLinMKQ== dependencies: - "@abp/core" "~8.3.2" + "@abp/core" "~9.0.1" bootstrap "^5.3.3" -"@abp/core@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/core/-/core-8.3.2.tgz" - integrity sha512-sNAJZr7bRBYPzM5zR1a3B+ZAHUUPO1cZey38Vf4UtRZ5cTNnVuM7RovMQKvWZkUcD7S1vWgtKS8m/KWq4/tMQg== +"@abp/core@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/core/-/core-9.0.1.tgz" + integrity sha512-NWXDVCIJePbcKCrRvGxAlaA2MrOF2IZox37bQkW7/mTeOPpNoTa6lhowksNNcTpFq2YdD8bG0i0kfskkp3EZ2w== dependencies: - "@abp/utils" "~8.3.2" + "@abp/utils" "~9.0.1" -"@abp/datatables.net-bs5@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/datatables.net-bs5/-/datatables.net-bs5-8.3.2.tgz" - integrity sha512-JrBtjsr4jWgG/8ZJYbyYWk65tCkjkU5UIrK1xdX8hFCHX+Rq4ioCXdswqRzNkLLIfXh6U4J96JurMLuJtinepA== +"@abp/datatables.net-bs5@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.1.tgz" + integrity sha512-tAHdf4TBAS0bVRcvovDKS0OHFyeRSPYbiSIwDn8AIWzW9Weav31jhZ5jL3HEtBKVdb7zqUQ8/3dYPufjDuDdDA== dependencies: - "@abp/datatables.net" "~8.3.2" - datatables.net-bs5 "^2.0.8" + "@abp/datatables.net" "~9.0.1" + datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-8.3.2.tgz" - integrity sha512-LI0AM5HYfMVdMZZ7VucyqFq/MxTt1Yh9klh2DB4B0lTeZTaXtjK4rJbV8B2A6MhSN04ZNqz5LF+xoKoUerNK5w== +"@abp/datatables.net@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-9.0.1.tgz" + integrity sha512-JY53zVQPluRrBiKwtgk4gfSgD8VDs/VU8LWizhGCprXt3h9vXx0SQL4My6zvXVkv4hUjaq4+MYo84OI8EwFvsg== dependencies: - "@abp/jquery" "~8.3.2" - datatables.net "^2.0.8" + "@abp/jquery" "~9.0.1" + datatables.net "^2.1.8" -"@abp/font-awesome@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-8.3.2.tgz" - integrity sha512-nhoyY/svGY5iaoU3M8q7MCIB5OGrFSpsyY5eoRROady+BrIww9msZwMFcyE08+uNQXbqL94BcrMIDAnUA/zdYg== +"@abp/font-awesome@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-9.0.1.tgz" + integrity sha512-7NnYBmk0plLVElUWR1zohul87vE9wKJItemWT5Kskf/IJirKOvXwSSu+7Jg1LmnVtIxcH6qgRpJMmzuAJgawnQ== dependencies: - "@abp/core" "~8.3.2" - "@fortawesome/fontawesome-free" "^6.5.2" + "@abp/core" "~9.0.1" + "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/jquery-form@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-8.3.2.tgz" - integrity sha512-cO9VTL2gO7dvd2FpYWHYgUfmzfTQkm90LE5CfEFJipXrq92alPV5FFB/DrTFOX1UoR9SCTdq6k0auEPNPnp6Dw== +"@abp/jquery-form@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-9.0.1.tgz" + integrity sha512-9co0+Cver+RUSOpfuukSWQhR+TCnO9Dly4RTVRIKFksGVfN8hA70NqRrVxaASNNFv42ynK88FQK+2bLPswz/iw== dependencies: - "@abp/jquery" "~8.3.2" + "@abp/jquery" "~9.0.1" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.3.2.tgz" - integrity sha512-KBKozSr7Q3+WZgvYDkpSmMHLikyl8tz9N1XXzkQTvHTI8LEIdP2wLCKqkjccP0IlivYFzcSamAHsuEK+mfg11Q== +"@abp/jquery-validation-unobtrusive@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.1.tgz" + integrity sha512-Zpz48wIFjq7eIApG/sEVjkfaJWZhcyCnlCtDf5eU3vvh82nRetbiCEAVLpZ4LVjorlyp3VvVAxReUSeeWflu8A== dependencies: - "@abp/jquery-validation" "~8.3.2" + "@abp/jquery-validation" "~9.0.1" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-8.3.2.tgz" - integrity sha512-4l4D5cSJw75/dH81JagDcyV82q3+AEwyPcgNymAcxbe0N+8hvch2dWxW/WlxgdSt1Wj17MHRQyaOHJD299yB2Q== +"@abp/jquery-validation@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-9.0.1.tgz" + integrity sha512-uFSxiPMEkaPlcuyXIoKbeOIIRHo4IrgRbmnlHwI1uETrW60ENUdE2LJAVcYS77JROrjVtv8FPlaffWuva6sGeQ== dependencies: - "@abp/jquery" "~8.3.2" - jquery-validation "^1.20.1" + "@abp/jquery" "~9.0.1" + jquery-validation "^1.21.0" -"@abp/jquery@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/jquery/-/jquery-8.3.2.tgz" - integrity sha512-tCNNQJCVQmAmz2z5orBQNFWPD9MfvM3hkFM/TZSDEZMetFBfz1tJKwEjS7eLEOLeSDju3YbByG1PtWGKN1rsUQ== +"@abp/jquery@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/jquery/-/jquery-9.0.1.tgz" + integrity sha512-z8EcnOveItAszbTsM9GFFDQSlcIg/ym6+WZME9uldLoetdxkmI9ij0knVeGj5eqMjQaHvTWwrVLObiBbZwYFWw== dependencies: - "@abp/core" "~8.3.2" + "@abp/core" "~9.0.1" jquery "~3.7.1" -"@abp/lodash@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/lodash/-/lodash-8.3.2.tgz" - integrity sha512-O5p6mchGaZHnge1tza3/uQfEqUvIuyWVhzMv+sRq//9FHnMyTThlHU0zriFsYb3wpBQfPf11uOtisv5F+wbuRw== +"@abp/lodash@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/lodash/-/lodash-9.0.1.tgz" + integrity sha512-D+/iOyh/O+jV80bK5vWxyn++IVmeRbZq/UaXanA4RKpzigxJUsgOiSD9lUj85BkfKn2YyFmoR39xwaAqkWoyRA== dependencies: - "@abp/core" "~8.3.2" + "@abp/core" "~9.0.1" lodash "^4.17.21" -"@abp/luxon@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/luxon/-/luxon-8.3.2.tgz" - integrity sha512-GxjKfYAUu3YPW8oJq/APNvghG8a+PR2vgX13k4FTRi7o0ndLjqu1m4+oqfA9r4tpRgj4WLmoaVjGGJYrtaEBGQ== +"@abp/luxon@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/luxon/-/luxon-9.0.1.tgz" + integrity sha512-1ZHXP5SGz05tQ1tzYmPcRiZwmkCKGX0KWFoV0zF3ATRaevzku9nXvSy7K6GIFkkgTb9f9XNx4/OBBF/GXkuRqw== dependencies: - "@abp/core" "~8.3.2" - luxon "^3.4.4" + "@abp/core" "~9.0.1" + luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.3.2.tgz" - integrity sha512-cyVeeKppYYYR93eyy20QFuwmhCf0k5B/+ZlslOqbm5E4NIoPN8oIVcg02wyq541jSmDINj1pOl71IZcMxt01hA== +"@abp/malihu-custom-scrollbar-plugin@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.1.tgz" + integrity sha512-GkKPLg9Z9UTTSSpW2hYZYZ9IgCvDSOYJmyRSl/h4fG8cWMgGCPVpv8MPPu0+WtIfwW/mT4SPX9X+sjUlRL5XRQ== dependencies: - "@abp/core" "~8.3.2" + "@abp/core" "~9.0.1" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/moment/-/moment-8.3.2.tgz" - integrity sha512-2aFlq+sdXpcBS/nOEo1CQMlVl5/Qv0/wYKFez5KylyKic4CKGrmzFWvQWeqsR73Ns+Ayk8dX0Dabzseia1hdIQ== +"@abp/moment@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/moment/-/moment-9.0.1.tgz" + integrity sha512-bTuCc7pi/DCtgz7t96UBU0wn9UGt4b50JhDCVeTKquh+gP1sgWoI5hyvEBkmgE4dcffO0yzZU2opHYTKYGl/OQ== dependencies: moment "^2.30.1" -"@abp/select2@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/select2/-/select2-8.3.2.tgz" - integrity sha512-q2pAsmF+J2Zs2+DqDgA63DBfkKUSgqqvSYdeEGVoGQqmr70o6BAvIvyaNSW7FNq/VzQca+zSQAoUI6F3opHiuQ== +"@abp/select2@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/select2/-/select2-9.0.1.tgz" + integrity sha512-epyYJH2gAOU2UvGn5FD6372hbW3fL7uZIgGpvfgEfa+l6HPdlV9B1OweU2xkONNCoylShAcP/y8qf+bUh8WDEA== dependencies: - "@abp/core" "~8.3.2" + "@abp/core" "~9.0.1" select2 "^4.0.13" -"@abp/sweetalert2@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/sweetalert2/-/sweetalert2-8.3.2.tgz" - integrity sha512-rQEU27H9Yj8IMQY5IzwgE6N4jvlE4lnCQno87NDDa6lYp1QO8Bp6VJi77TSj3/eXb/8mJSyyoO1QqLoyrql+tg== +"@abp/sweetalert2@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/sweetalert2/-/sweetalert2-9.0.1.tgz" + integrity sha512-0RXR/lzy3qMJLisGUz4qrcA9Clu/Tt1ABGzB64ynG1t/l5XessQsIB5Hkt6MbSyOEsprRsq+ZtKH35CwTRPdAw== dependencies: - "@abp/core" "~8.3.2" - sweetalert2 "^11.3.6" + "@abp/core" "~9.0.1" + sweetalert2 "^11.14.1" -"@abp/timeago@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/timeago/-/timeago-8.3.2.tgz" - integrity sha512-JZ9lo6AgDjpxs5AhhS+UoNIDpx1yN7bHxYdnEXg7wztVbV+V9U96Upp3rYhRHSjiCmx0xIMLfujElwjgBAhPDQ== +"@abp/timeago@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/timeago/-/timeago-9.0.1.tgz" + integrity sha512-dNfUQwilrY+JHxL5lwJ++ixYDGAs5lF1EDxKMQMIXD/ak5L8rkdLns8Otta7FhgDDny9UJ7XWQjYsG8ZxxybRQ== dependencies: - "@abp/jquery" "~8.3.2" + "@abp/jquery" "~9.0.1" timeago "^1.6.7" -"@abp/toastr@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/toastr/-/toastr-8.3.2.tgz" - integrity sha512-aFnSMojAPSIYkHV7tE3Uh00G+r07c6spW+tRqxEiooF11t6PXZyWayNGsol+8L43tXk9dQYj8GwnGau/yTxzRA== +"@abp/toastr@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/toastr/-/toastr-9.0.1.tgz" + integrity sha512-10KuHnSJOxkvzqs6Aim6GJp8xBuT+TsZqBE1KaXQnERPawmOo4+ME28kA/7lq8fvgFUNO3K41T2uuA1GPHVQcg== dependencies: - "@abp/jquery" "~8.3.2" + "@abp/jquery" "~9.0.1" toastr "^2.1.4" -"@abp/utils@~8.3.2": - version "8.3.2" - resolved "https://registry.npmjs.org/@abp/utils/-/utils-8.3.2.tgz" - integrity sha512-0i4yqwxSGnKKZJZwXNBvCPoT7nZ0/vnyNVBMeE12x3Y7MV3bZSza2CGTPUhVVvoWt2JfGiDpAfKzPq2eUKfisg== +"@abp/utils@~9.0.1": + version "9.0.1" + resolved "https://registry.npmjs.org/@abp/utils/-/utils-9.0.1.tgz" + integrity sha512-7eOKT0ciKNdtuASck1kifyc4dC6CeebgxV+rx/EAi3YwPMDkqie6YwLGUqKdGW2N/MZ15JuDR6gkuZxKHEb0NQ== dependencies: just-compare "^2.3.0" -"@fortawesome/fontawesome-free@^6.5.2": - version "6.6.0" - resolved "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz" - integrity sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow== +"@fortawesome/fontawesome-free@^6.6.0": + version "6.7.1" + resolved "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.1.tgz" + integrity sha512-ALIk/MOh5gYe1TG/ieS5mVUsk7VUIJTJKPMK9rFFqOgfp0Q3d5QiBXbcOMwUvs37fyZVCz46YjOE6IFeOAXCHA== "@popperjs/core@^2.11.8": version "2.11.8" @@ -243,7 +243,7 @@ bootstrap@^5.3.3: resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz" integrity sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg== -datatables.net-bs5@^2.0.8: +datatables.net-bs5@^2.1.8: version "2.1.8" resolved "https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.1.8.tgz" integrity sha512-YlGws8eI3iw/1AmKJH18+YMzm/UgGb6o9s14KAC24QT1/8anolm8GnVAgGcwUcvHm3hn1i8A5QXqgbqeMRINeg== @@ -251,7 +251,7 @@ datatables.net-bs5@^2.0.8: datatables.net "2.1.8" jquery ">=1.7" -datatables.net@^2.0.8, datatables.net@2.1.8: +datatables.net@^2.1.8, datatables.net@2.1.8: version "2.1.8" resolved "https://registry.npmjs.org/datatables.net/-/datatables.net-2.1.8.tgz" integrity sha512-47ULt+U4bcjbuGTpTlT6SnCuSFVRBxxdWa6X3NfvTObBJ2BZU0o+JUIl05wQ6cABNIavjbAV51gpgvFsMHL9zA== @@ -278,7 +278,7 @@ jquery-validation-unobtrusive@^4.0.0: jquery "^3.6.0" jquery-validation ">=1.19" -jquery-validation@^1.20.1, jquery-validation@>=1.19: +jquery-validation@^1.21.0, jquery-validation@>=1.19: version "1.21.0" resolved "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.21.0.tgz" integrity sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w== @@ -298,7 +298,7 @@ lodash@^4.17.21: resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -luxon@^3.4.4: +luxon@^3.5.0: version "3.5.0" resolved "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz" integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ== @@ -320,10 +320,10 @@ select2@^4.0.13: resolved "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz" integrity sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw== -sweetalert2@^11.3.6: - version "11.14.4" - resolved "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.4.tgz" - integrity sha512-8QMzjxCuinwm18EK5AtYvuhP+lRMRxTWVXy8om9wGlULsXSI4TD29kyih3VYrSXMMBlD4EShFvNC7slhTC7j0w== +sweetalert2@^11.14.1: + version "11.14.5" + resolved "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.5.tgz" + integrity sha512-8MWk5uc/r6bWhiJWkUXyEuApfXAhSCZT8FFX7pZXL7YwaPxq+9Ynhi2dUzWkOFn9jvLjKj22CXuccZ+IHcnjvQ== timeago@^1.6.7: version "1.6.7" diff --git a/samples/BookStore/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj b/samples/BookStore/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj index 7831b06..fa51d6b 100644 --- a/samples/BookStore/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj +++ b/samples/BookStore/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj @@ -1,51 +1,53 @@  - - - - Exe - net8.0 - BookStore-4681b4fd-151f-4221-84a4-929d86723e4c - - - - - - PreserveNewest - Always - - - - PreserveNewest - Always - - - - - - - - - - - - - - - - - - - - - - - - - - true - Never - - + + + + Exe + net9.0 + BookStore-4681b4fd-151f-4221-84a4-929d86723e4c + + + + + + PreserveNewest + Always + + + + PreserveNewest + Always + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + Never + + diff --git a/samples/BookStore/src/BookStore.DbMigrator/appsettings.json b/samples/BookStore/src/BookStore.DbMigrator/appsettings.json index 9ae176a..55408f3 100644 --- a/samples/BookStore/src/BookStore.DbMigrator/appsettings.json +++ b/samples/BookStore/src/BookStore.DbMigrator/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "Default": "Server=LOCALHOST\\SQLEXPRESS;Initial Catalog=AntBlazorDemo;Trusted_Connection=True;TrustServerCertificate=True" + "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=AntBlazorDemo;Trusted_Connection=True" }, "IdentityServer": { "Clients": { diff --git a/samples/BookStore/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj b/samples/BookStore/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj index 23d16fd..d0d6a5a 100644 --- a/samples/BookStore/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj +++ b/samples/BookStore/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj @@ -3,7 +3,7 @@ - net8.0 + net9.0 BookStore true diff --git a/samples/BookStore/src/BookStore.Domain/BookStore.Domain.csproj b/samples/BookStore/src/BookStore.Domain/BookStore.Domain.csproj index b9cf685..c485695 100644 --- a/samples/BookStore/src/BookStore.Domain/BookStore.Domain.csproj +++ b/samples/BookStore/src/BookStore.Domain/BookStore.Domain.csproj @@ -3,7 +3,7 @@ - net8.0 + net9.0 BookStore diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/BookStore.EntityFrameworkCore.csproj b/samples/BookStore/src/BookStore.EntityFrameworkCore/BookStore.EntityFrameworkCore.csproj index 789e4b4..405db1b 100644 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/BookStore.EntityFrameworkCore.csproj +++ b/samples/BookStore/src/BookStore.EntityFrameworkCore/BookStore.EntityFrameworkCore.csproj @@ -3,7 +3,7 @@ - net8.0 + net9.0 BookStore diff --git a/samples/BookStore/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj b/samples/BookStore/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj index 788fa5c..3002b6d 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj +++ b/samples/BookStore/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj @@ -3,7 +3,7 @@ - net8.0 + net9.0 BookStore diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/BookStore.HttpApi.Host.csproj b/samples/BookStore/src/BookStore.HttpApi.Host/BookStore.HttpApi.Host.csproj index 0d523fc..96c6534 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Host/BookStore.HttpApi.Host.csproj +++ b/samples/BookStore/src/BookStore.HttpApi.Host/BookStore.HttpApi.Host.csproj @@ -1,37 +1,39 @@  - + - - net8.0 - BookStore - true - BookStore-4681b4fd-151f-4221-84a4-929d86723e4c - + + net9.0 + BookStore + true + BookStore-4681b4fd-151f-4221-84a4-929d86723e4c + - - - - - - - - - - - + + - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + + diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.json b/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.json index 0bffa1b..e093d9a 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.json +++ b/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.json @@ -5,7 +5,7 @@ "RedirectAllowedUrls": "http://localhost:4200,https://localhost:44307" }, "ConnectionStrings": { - "Default": "Server=LOCALHOST\\SQLEXPRESS;Initial Catalog=AntBlazorDemo;Trusted_Connection=True;TrustServerCertificate=True" + "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=AntBlazorDemo;Trusted_Connection=True" }, "AuthServer": { "Authority": "https://localhost:44306", diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/package-lock.json b/samples/BookStore/src/BookStore.HttpApi.Host/package-lock.json index 4f29a67..329c37f 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Host/package-lock.json +++ b/samples/BookStore/src/BookStore.HttpApi.Host/package-lock.json @@ -8,227 +8,227 @@ "name": "my-app", "version": "1.0.0", "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~8.3.0" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } }, "node_modules/@abp/aspnetcore.mvc.ui": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.3.2.tgz", - "integrity": "sha512-og4n6CZFGSA9Oe5kxZfz5b0db6nBO8oEDdSkpwRO7t/g/WTNpz1gBps32tQbvKEO7FahZ36wvWlD8Or201MapA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.1.tgz", + "integrity": "sha512-KVbWCpBV7S1ViHYQP/hn4gSMzSiA2e8/zC0HND1fjE+1zXJqJyEWto1eg2DaKSOs/rmHD8WtFVMU4hCLQTCuIA==", "dependencies": { "ansi-colors": "^4.1.3" } }, "node_modules/@abp/aspnetcore.mvc.ui.theme.basic": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.3.2.tgz", - "integrity": "sha512-3Wu4KlbIP8VKR3Xy0twNl+aNtl6JUyrz5apaB8nGdegW+QJH39BnTL5juBn4z1Z8qNANVXYVS5Kteh0mmbDiBQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.1.tgz", + "integrity": "sha512-JaxuDH8WTnZYX6C7CX7ZVHfhTDR/SxfwRvtJaGGijSX8QKd1DXpfi9lYEF4Y9k5b48YT/0slBqU5g0sLmBd3+g==", "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~8.3.2" + "@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.1" } }, "node_modules/@abp/aspnetcore.mvc.ui.theme.shared": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.3.2.tgz", - "integrity": "sha512-p8d+kx9xCUuZS9CpDk2gCnC6L/Sd4oqt07zEsO4IGRV3Dd9eyYZhvk4GhtQa4/lGauwXrKr+YUMZU+2fJm8zUg==", - "dependencies": { - "@abp/aspnetcore.mvc.ui": "~8.3.2", - "@abp/bootstrap": "~8.3.2", - "@abp/bootstrap-datepicker": "~8.3.2", - "@abp/bootstrap-daterangepicker": "~8.3.2", - "@abp/datatables.net-bs5": "~8.3.2", - "@abp/font-awesome": "~8.3.2", - "@abp/jquery-form": "~8.3.2", - "@abp/jquery-validation-unobtrusive": "~8.3.2", - "@abp/lodash": "~8.3.2", - "@abp/luxon": "~8.3.2", - "@abp/malihu-custom-scrollbar-plugin": "~8.3.2", - "@abp/moment": "~8.3.2", - "@abp/select2": "~8.3.2", - "@abp/sweetalert2": "~8.3.2", - "@abp/timeago": "~8.3.2", - "@abp/toastr": "~8.3.2" + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.1.tgz", + "integrity": "sha512-vrgRYKNctdZYhPCQ2I6Z10gUI1S5ynDj+DgnV7x7a7G/juuHaOSbkRXgwrmJsmYLfGA7KFCoJcbpER8mmXQeHQ==", + "dependencies": { + "@abp/aspnetcore.mvc.ui": "~9.0.1", + "@abp/bootstrap": "~9.0.1", + "@abp/bootstrap-datepicker": "~9.0.1", + "@abp/bootstrap-daterangepicker": "~9.0.1", + "@abp/datatables.net-bs5": "~9.0.1", + "@abp/font-awesome": "~9.0.1", + "@abp/jquery-form": "~9.0.1", + "@abp/jquery-validation-unobtrusive": "~9.0.1", + "@abp/lodash": "~9.0.1", + "@abp/luxon": "~9.0.1", + "@abp/malihu-custom-scrollbar-plugin": "~9.0.1", + "@abp/moment": "~9.0.1", + "@abp/select2": "~9.0.1", + "@abp/sweetalert2": "~9.0.1", + "@abp/timeago": "~9.0.1", + "@abp/toastr": "~9.0.1" } }, "node_modules/@abp/bootstrap": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-8.3.2.tgz", - "integrity": "sha512-qlCt5xpoIH7l4WeJtZvottpOq/GonYIaOpw4PXf4wmpma+iE8IMW5SKD12ajTI46DvAUuJdJzn/HuZi09btQkw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-9.0.1.tgz", + "integrity": "sha512-uAfVNsUYSsRqgeO9JMnhJJlFoDmO3/lTvER/iYOqerF0X03KQnR8HZy2V3MD1D+fSh/4JuU6aAZFl6IQLinMKQ==", "dependencies": { - "@abp/core": "~8.3.2", + "@abp/core": "~9.0.1", "bootstrap": "^5.3.3" } }, "node_modules/@abp/bootstrap-datepicker": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.3.2.tgz", - "integrity": "sha512-Bdxc0SJ4/nC9BbBCz9hutgVtLBWQ2vkMLXFHqLrME7cQ0i8zg7XolEvY6IHt2/0V3omMCw/BA9oUc4JBsE76KQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.1.tgz", + "integrity": "sha512-LhgqBRr66x9gGTAyv1FuPAw8u8N77WQK2AfDkNgLueurM2+xMYQzH3pWWLhcN676/JXafxfALCfBoM8U7CfXLg==", "dependencies": { "bootstrap-datepicker": "^1.10.0" } }, "node_modules/@abp/bootstrap-daterangepicker": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.3.2.tgz", - "integrity": "sha512-+hSTVqvlYrdlQ5ajwVvjzQdAWj5U1eoRMHNKFLdddIHp27n5q6waz2kIhqvUe1TNHF98LksbFkylFcuj6v7aZg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.1.tgz", + "integrity": "sha512-SlBVgiYa75uQyaGt5EVjduren7Po5UP26A1tXEQQr0hDia1+1TK0qxmJ2YxjeJpB7FwtcmJiofv5fngvJqhxIA==", "dependencies": { "bootstrap-daterangepicker": "^3.1.0" } }, "node_modules/@abp/core": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/core/-/core-8.3.2.tgz", - "integrity": "sha512-sNAJZr7bRBYPzM5zR1a3B+ZAHUUPO1cZey38Vf4UtRZ5cTNnVuM7RovMQKvWZkUcD7S1vWgtKS8m/KWq4/tMQg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/core/-/core-9.0.1.tgz", + "integrity": "sha512-NWXDVCIJePbcKCrRvGxAlaA2MrOF2IZox37bQkW7/mTeOPpNoTa6lhowksNNcTpFq2YdD8bG0i0kfskkp3EZ2w==", "dependencies": { - "@abp/utils": "~8.3.2" + "@abp/utils": "~9.0.1" } }, "node_modules/@abp/datatables.net": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-8.3.2.tgz", - "integrity": "sha512-LI0AM5HYfMVdMZZ7VucyqFq/MxTt1Yh9klh2DB4B0lTeZTaXtjK4rJbV8B2A6MhSN04ZNqz5LF+xoKoUerNK5w==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-9.0.1.tgz", + "integrity": "sha512-JY53zVQPluRrBiKwtgk4gfSgD8VDs/VU8LWizhGCprXt3h9vXx0SQL4My6zvXVkv4hUjaq4+MYo84OI8EwFvsg==", "dependencies": { - "@abp/jquery": "~8.3.2", - "datatables.net": "^2.0.8" + "@abp/jquery": "~9.0.1", + "datatables.net": "^2.1.8" } }, "node_modules/@abp/datatables.net-bs5": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/datatables.net-bs5/-/datatables.net-bs5-8.3.2.tgz", - "integrity": "sha512-JrBtjsr4jWgG/8ZJYbyYWk65tCkjkU5UIrK1xdX8hFCHX+Rq4ioCXdswqRzNkLLIfXh6U4J96JurMLuJtinepA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.1.tgz", + "integrity": "sha512-tAHdf4TBAS0bVRcvovDKS0OHFyeRSPYbiSIwDn8AIWzW9Weav31jhZ5jL3HEtBKVdb7zqUQ8/3dYPufjDuDdDA==", "dependencies": { - "@abp/datatables.net": "~8.3.2", - "datatables.net-bs5": "^2.0.8" + "@abp/datatables.net": "~9.0.1", + "datatables.net-bs5": "^2.1.8" } }, "node_modules/@abp/font-awesome": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-8.3.2.tgz", - "integrity": "sha512-nhoyY/svGY5iaoU3M8q7MCIB5OGrFSpsyY5eoRROady+BrIww9msZwMFcyE08+uNQXbqL94BcrMIDAnUA/zdYg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-9.0.1.tgz", + "integrity": "sha512-7NnYBmk0plLVElUWR1zohul87vE9wKJItemWT5Kskf/IJirKOvXwSSu+7Jg1LmnVtIxcH6qgRpJMmzuAJgawnQ==", "dependencies": { - "@abp/core": "~8.3.2", - "@fortawesome/fontawesome-free": "^6.5.2" + "@abp/core": "~9.0.1", + "@fortawesome/fontawesome-free": "^6.6.0" } }, "node_modules/@abp/jquery": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery/-/jquery-8.3.2.tgz", - "integrity": "sha512-tCNNQJCVQmAmz2z5orBQNFWPD9MfvM3hkFM/TZSDEZMetFBfz1tJKwEjS7eLEOLeSDju3YbByG1PtWGKN1rsUQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/jquery/-/jquery-9.0.1.tgz", + "integrity": "sha512-z8EcnOveItAszbTsM9GFFDQSlcIg/ym6+WZME9uldLoetdxkmI9ij0knVeGj5eqMjQaHvTWwrVLObiBbZwYFWw==", "dependencies": { - "@abp/core": "~8.3.2", + "@abp/core": "~9.0.1", "jquery": "~3.7.1" } }, "node_modules/@abp/jquery-form": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-8.3.2.tgz", - "integrity": "sha512-cO9VTL2gO7dvd2FpYWHYgUfmzfTQkm90LE5CfEFJipXrq92alPV5FFB/DrTFOX1UoR9SCTdq6k0auEPNPnp6Dw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-9.0.1.tgz", + "integrity": "sha512-9co0+Cver+RUSOpfuukSWQhR+TCnO9Dly4RTVRIKFksGVfN8hA70NqRrVxaASNNFv42ynK88FQK+2bLPswz/iw==", "dependencies": { - "@abp/jquery": "~8.3.2", + "@abp/jquery": "~9.0.1", "jquery-form": "^4.3.0" } }, "node_modules/@abp/jquery-validation": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-8.3.2.tgz", - "integrity": "sha512-4l4D5cSJw75/dH81JagDcyV82q3+AEwyPcgNymAcxbe0N+8hvch2dWxW/WlxgdSt1Wj17MHRQyaOHJD299yB2Q==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-9.0.1.tgz", + "integrity": "sha512-uFSxiPMEkaPlcuyXIoKbeOIIRHo4IrgRbmnlHwI1uETrW60ENUdE2LJAVcYS77JROrjVtv8FPlaffWuva6sGeQ==", "dependencies": { - "@abp/jquery": "~8.3.2", - "jquery-validation": "^1.20.1" + "@abp/jquery": "~9.0.1", + "jquery-validation": "^1.21.0" } }, "node_modules/@abp/jquery-validation-unobtrusive": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.3.2.tgz", - "integrity": "sha512-KBKozSr7Q3+WZgvYDkpSmMHLikyl8tz9N1XXzkQTvHTI8LEIdP2wLCKqkjccP0IlivYFzcSamAHsuEK+mfg11Q==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.1.tgz", + "integrity": "sha512-Zpz48wIFjq7eIApG/sEVjkfaJWZhcyCnlCtDf5eU3vvh82nRetbiCEAVLpZ4LVjorlyp3VvVAxReUSeeWflu8A==", "dependencies": { - "@abp/jquery-validation": "~8.3.2", + "@abp/jquery-validation": "~9.0.1", "jquery-validation-unobtrusive": "^4.0.0" } }, "node_modules/@abp/lodash": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/lodash/-/lodash-8.3.2.tgz", - "integrity": "sha512-O5p6mchGaZHnge1tza3/uQfEqUvIuyWVhzMv+sRq//9FHnMyTThlHU0zriFsYb3wpBQfPf11uOtisv5F+wbuRw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/lodash/-/lodash-9.0.1.tgz", + "integrity": "sha512-D+/iOyh/O+jV80bK5vWxyn++IVmeRbZq/UaXanA4RKpzigxJUsgOiSD9lUj85BkfKn2YyFmoR39xwaAqkWoyRA==", "dependencies": { - "@abp/core": "~8.3.2", + "@abp/core": "~9.0.1", "lodash": "^4.17.21" } }, "node_modules/@abp/luxon": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/luxon/-/luxon-8.3.2.tgz", - "integrity": "sha512-GxjKfYAUu3YPW8oJq/APNvghG8a+PR2vgX13k4FTRi7o0ndLjqu1m4+oqfA9r4tpRgj4WLmoaVjGGJYrtaEBGQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/luxon/-/luxon-9.0.1.tgz", + "integrity": "sha512-1ZHXP5SGz05tQ1tzYmPcRiZwmkCKGX0KWFoV0zF3ATRaevzku9nXvSy7K6GIFkkgTb9f9XNx4/OBBF/GXkuRqw==", "dependencies": { - "@abp/core": "~8.3.2", - "luxon": "^3.4.4" + "@abp/core": "~9.0.1", + "luxon": "^3.5.0" } }, "node_modules/@abp/malihu-custom-scrollbar-plugin": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.3.2.tgz", - "integrity": "sha512-cyVeeKppYYYR93eyy20QFuwmhCf0k5B/+ZlslOqbm5E4NIoPN8oIVcg02wyq541jSmDINj1pOl71IZcMxt01hA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.1.tgz", + "integrity": "sha512-GkKPLg9Z9UTTSSpW2hYZYZ9IgCvDSOYJmyRSl/h4fG8cWMgGCPVpv8MPPu0+WtIfwW/mT4SPX9X+sjUlRL5XRQ==", "dependencies": { - "@abp/core": "~8.3.2", + "@abp/core": "~9.0.1", "malihu-custom-scrollbar-plugin": "^3.1.5" } }, "node_modules/@abp/moment": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/moment/-/moment-8.3.2.tgz", - "integrity": "sha512-2aFlq+sdXpcBS/nOEo1CQMlVl5/Qv0/wYKFez5KylyKic4CKGrmzFWvQWeqsR73Ns+Ayk8dX0Dabzseia1hdIQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/moment/-/moment-9.0.1.tgz", + "integrity": "sha512-bTuCc7pi/DCtgz7t96UBU0wn9UGt4b50JhDCVeTKquh+gP1sgWoI5hyvEBkmgE4dcffO0yzZU2opHYTKYGl/OQ==", "dependencies": { "moment": "^2.30.1" } }, "node_modules/@abp/select2": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/select2/-/select2-8.3.2.tgz", - "integrity": "sha512-q2pAsmF+J2Zs2+DqDgA63DBfkKUSgqqvSYdeEGVoGQqmr70o6BAvIvyaNSW7FNq/VzQca+zSQAoUI6F3opHiuQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/select2/-/select2-9.0.1.tgz", + "integrity": "sha512-epyYJH2gAOU2UvGn5FD6372hbW3fL7uZIgGpvfgEfa+l6HPdlV9B1OweU2xkONNCoylShAcP/y8qf+bUh8WDEA==", "dependencies": { - "@abp/core": "~8.3.2", + "@abp/core": "~9.0.1", "select2": "^4.0.13" } }, "node_modules/@abp/sweetalert2": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/sweetalert2/-/sweetalert2-8.3.2.tgz", - "integrity": "sha512-rQEU27H9Yj8IMQY5IzwgE6N4jvlE4lnCQno87NDDa6lYp1QO8Bp6VJi77TSj3/eXb/8mJSyyoO1QqLoyrql+tg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/sweetalert2/-/sweetalert2-9.0.1.tgz", + "integrity": "sha512-0RXR/lzy3qMJLisGUz4qrcA9Clu/Tt1ABGzB64ynG1t/l5XessQsIB5Hkt6MbSyOEsprRsq+ZtKH35CwTRPdAw==", "dependencies": { - "@abp/core": "~8.3.2", - "sweetalert2": "^11.3.6" + "@abp/core": "~9.0.1", + "sweetalert2": "^11.14.1" } }, "node_modules/@abp/timeago": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/timeago/-/timeago-8.3.2.tgz", - "integrity": "sha512-JZ9lo6AgDjpxs5AhhS+UoNIDpx1yN7bHxYdnEXg7wztVbV+V9U96Upp3rYhRHSjiCmx0xIMLfujElwjgBAhPDQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/timeago/-/timeago-9.0.1.tgz", + "integrity": "sha512-dNfUQwilrY+JHxL5lwJ++ixYDGAs5lF1EDxKMQMIXD/ak5L8rkdLns8Otta7FhgDDny9UJ7XWQjYsG8ZxxybRQ==", "dependencies": { - "@abp/jquery": "~8.3.2", + "@abp/jquery": "~9.0.1", "timeago": "^1.6.7" } }, "node_modules/@abp/toastr": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/toastr/-/toastr-8.3.2.tgz", - "integrity": "sha512-aFnSMojAPSIYkHV7tE3Uh00G+r07c6spW+tRqxEiooF11t6PXZyWayNGsol+8L43tXk9dQYj8GwnGau/yTxzRA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/toastr/-/toastr-9.0.1.tgz", + "integrity": "sha512-10KuHnSJOxkvzqs6Aim6GJp8xBuT+TsZqBE1KaXQnERPawmOo4+ME28kA/7lq8fvgFUNO3K41T2uuA1GPHVQcg==", "dependencies": { - "@abp/jquery": "~8.3.2", + "@abp/jquery": "~9.0.1", "toastr": "^2.1.4" } }, "node_modules/@abp/utils": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/utils/-/utils-8.3.2.tgz", - "integrity": "sha512-0i4yqwxSGnKKZJZwXNBvCPoT7nZ0/vnyNVBMeE12x3Y7MV3bZSza2CGTPUhVVvoWt2JfGiDpAfKzPq2eUKfisg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@abp/utils/-/utils-9.0.1.tgz", + "integrity": "sha512-7eOKT0ciKNdtuASck1kifyc4dC6CeebgxV+rx/EAi3YwPMDkqie6YwLGUqKdGW2N/MZ15JuDR6gkuZxKHEb0NQ==", "dependencies": { "just-compare": "^2.3.0" } }, "node_modules/@fortawesome/fontawesome-free": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz", - "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.1.tgz", + "integrity": "sha512-ALIk/MOh5gYe1TG/ieS5mVUsk7VUIJTJKPMK9rFFqOgfp0Q3d5QiBXbcOMwUvs37fyZVCz46YjOE6IFeOAXCHA==", "engines": { "node": ">=6" } @@ -359,7 +359,7 @@ "node_modules/malihu-custom-scrollbar-plugin": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz", - "integrity": "sha1-MQzsxeWUFaHCnp37XStuAdZqKe8= sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ==", + "integrity": "sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ==", "dependencies": { "jquery-mousewheel": ">=3.0.6" } @@ -378,12 +378,12 @@ "integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==" }, "node_modules/sweetalert2": { - "version": "11.4.14", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.4.14.tgz", - "integrity": "sha512-Dh4XqfUSpCwhRsGM5zZFbtBRHujjcaf98DjVKXEs0ER4E/Zao0OtDHZRRQqvT9xxY7RA8WsiZ6FHJbyW+BBbDw==", + "version": "11.14.5", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.5.tgz", + "integrity": "sha512-8MWk5uc/r6bWhiJWkUXyEuApfXAhSCZT8FFX7pZXL7YwaPxq+9Ynhi2dUzWkOFn9jvLjKj22CXuccZ+IHcnjvQ==", "funding": { "type": "individual", - "url": "https://sweetalert2.github.io/#donations" + "url": "https://github.com/sponsors/limonte" } }, "node_modules/timeago": { diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/package.json b/samples/BookStore/src/BookStore.HttpApi.Host/package.json index d0de1d5..7219791 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Host/package.json +++ b/samples/BookStore/src/BookStore.HttpApi.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~8.3.0" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } } \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css index c093364..50d3cab 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css +++ b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css @@ -1,5 +1,5 @@ /*! - * Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com + * Font Awesome Free 6.7.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) * Copyright 2024 Fonticons, Inc. */ @@ -7,14 +7,12 @@ font-family: var(--fa-style-family, "Font Awesome 6 Free"); font-weight: var(--fa-style, 900); } -.fa-solid, -.fa-regular, -.fa-brands, .fas, .far, .fab, -.fa-sharp-solid, -.fa-classic, +.fa-solid, +.fa-regular, +.fa-brands, .fa { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; @@ -24,15 +22,24 @@ line-height: 1; text-rendering: auto; } -.fas, +.fas::before, +.far::before, +.fab::before, +.fa-solid::before, +.fa-regular::before, +.fa-brands::before, +.fa::before { + content: var(--fa); } + .fa-classic, +.fas, .fa-solid, .far, .fa-regular { font-family: 'Font Awesome 6 Free'; } -.fab, -.fa-brands { +.fa-brands, +.fab { font-family: 'Font Awesome 6 Brands'; } .fa-1x { @@ -325,5870 +332,7853 @@ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ -.fa-0::before { - content: "\30"; } +.fa-0 { + --fa: "\30"; + --fa--fa: "\30\30"; } + +.fa-1 { + --fa: "\31"; + --fa--fa: "\31\31"; } + +.fa-2 { + --fa: "\32"; + --fa--fa: "\32\32"; } + +.fa-3 { + --fa: "\33"; + --fa--fa: "\33\33"; } + +.fa-4 { + --fa: "\34"; + --fa--fa: "\34\34"; } + +.fa-5 { + --fa: "\35"; + --fa--fa: "\35\35"; } -.fa-1::before { - content: "\31"; } +.fa-6 { + --fa: "\36"; + --fa--fa: "\36\36"; } -.fa-2::before { - content: "\32"; } +.fa-7 { + --fa: "\37"; + --fa--fa: "\37\37"; } -.fa-3::before { - content: "\33"; } +.fa-8 { + --fa: "\38"; + --fa--fa: "\38\38"; } -.fa-4::before { - content: "\34"; } +.fa-9 { + --fa: "\39"; + --fa--fa: "\39\39"; } -.fa-5::before { - content: "\35"; } +.fa-fill-drip { + --fa: "\f576"; + --fa--fa: "\f576\f576"; } -.fa-6::before { - content: "\36"; } +.fa-arrows-to-circle { + --fa: "\e4bd"; + --fa--fa: "\e4bd\e4bd"; } -.fa-7::before { - content: "\37"; } +.fa-circle-chevron-right { + --fa: "\f138"; + --fa--fa: "\f138\f138"; } -.fa-8::before { - content: "\38"; } +.fa-chevron-circle-right { + --fa: "\f138"; + --fa--fa: "\f138\f138"; } -.fa-9::before { - content: "\39"; } +.fa-at { + --fa: "\40"; + --fa--fa: "\40\40"; } -.fa-fill-drip::before { - content: "\f576"; } +.fa-trash-can { + --fa: "\f2ed"; + --fa--fa: "\f2ed\f2ed"; } -.fa-arrows-to-circle::before { - content: "\e4bd"; } +.fa-trash-alt { + --fa: "\f2ed"; + --fa--fa: "\f2ed\f2ed"; } -.fa-circle-chevron-right::before { - content: "\f138"; } +.fa-text-height { + --fa: "\f034"; + --fa--fa: "\f034\f034"; } -.fa-chevron-circle-right::before { - content: "\f138"; } +.fa-user-xmark { + --fa: "\f235"; + --fa--fa: "\f235\f235"; } -.fa-at::before { - content: "\40"; } +.fa-user-times { + --fa: "\f235"; + --fa--fa: "\f235\f235"; } -.fa-trash-can::before { - content: "\f2ed"; } +.fa-stethoscope { + --fa: "\f0f1"; + --fa--fa: "\f0f1\f0f1"; } -.fa-trash-alt::before { - content: "\f2ed"; } +.fa-message { + --fa: "\f27a"; + --fa--fa: "\f27a\f27a"; } -.fa-text-height::before { - content: "\f034"; } +.fa-comment-alt { + --fa: "\f27a"; + --fa--fa: "\f27a\f27a"; } -.fa-user-xmark::before { - content: "\f235"; } +.fa-info { + --fa: "\f129"; + --fa--fa: "\f129\f129"; } -.fa-user-times::before { - content: "\f235"; } +.fa-down-left-and-up-right-to-center { + --fa: "\f422"; + --fa--fa: "\f422\f422"; } -.fa-stethoscope::before { - content: "\f0f1"; } +.fa-compress-alt { + --fa: "\f422"; + --fa--fa: "\f422\f422"; } -.fa-message::before { - content: "\f27a"; } +.fa-explosion { + --fa: "\e4e9"; + --fa--fa: "\e4e9\e4e9"; } -.fa-comment-alt::before { - content: "\f27a"; } +.fa-file-lines { + --fa: "\f15c"; + --fa--fa: "\f15c\f15c"; } -.fa-info::before { - content: "\f129"; } +.fa-file-alt { + --fa: "\f15c"; + --fa--fa: "\f15c\f15c"; } -.fa-down-left-and-up-right-to-center::before { - content: "\f422"; } +.fa-file-text { + --fa: "\f15c"; + --fa--fa: "\f15c\f15c"; } -.fa-compress-alt::before { - content: "\f422"; } +.fa-wave-square { + --fa: "\f83e"; + --fa--fa: "\f83e\f83e"; } -.fa-explosion::before { - content: "\e4e9"; } +.fa-ring { + --fa: "\f70b"; + --fa--fa: "\f70b\f70b"; } -.fa-file-lines::before { - content: "\f15c"; } +.fa-building-un { + --fa: "\e4d9"; + --fa--fa: "\e4d9\e4d9"; } -.fa-file-alt::before { - content: "\f15c"; } +.fa-dice-three { + --fa: "\f527"; + --fa--fa: "\f527\f527"; } -.fa-file-text::before { - content: "\f15c"; } +.fa-calendar-days { + --fa: "\f073"; + --fa--fa: "\f073\f073"; } -.fa-wave-square::before { - content: "\f83e"; } +.fa-calendar-alt { + --fa: "\f073"; + --fa--fa: "\f073\f073"; } -.fa-ring::before { - content: "\f70b"; } +.fa-anchor-circle-check { + --fa: "\e4aa"; + --fa--fa: "\e4aa\e4aa"; } -.fa-building-un::before { - content: "\e4d9"; } +.fa-building-circle-arrow-right { + --fa: "\e4d1"; + --fa--fa: "\e4d1\e4d1"; } -.fa-dice-three::before { - content: "\f527"; } +.fa-volleyball { + --fa: "\f45f"; + --fa--fa: "\f45f\f45f"; } -.fa-calendar-days::before { - content: "\f073"; } +.fa-volleyball-ball { + --fa: "\f45f"; + --fa--fa: "\f45f\f45f"; } -.fa-calendar-alt::before { - content: "\f073"; } +.fa-arrows-up-to-line { + --fa: "\e4c2"; + --fa--fa: "\e4c2\e4c2"; } -.fa-anchor-circle-check::before { - content: "\e4aa"; } +.fa-sort-down { + --fa: "\f0dd"; + --fa--fa: "\f0dd\f0dd"; } -.fa-building-circle-arrow-right::before { - content: "\e4d1"; } +.fa-sort-desc { + --fa: "\f0dd"; + --fa--fa: "\f0dd\f0dd"; } -.fa-volleyball::before { - content: "\f45f"; } +.fa-circle-minus { + --fa: "\f056"; + --fa--fa: "\f056\f056"; } -.fa-volleyball-ball::before { - content: "\f45f"; } +.fa-minus-circle { + --fa: "\f056"; + --fa--fa: "\f056\f056"; } -.fa-arrows-up-to-line::before { - content: "\e4c2"; } +.fa-door-open { + --fa: "\f52b"; + --fa--fa: "\f52b\f52b"; } -.fa-sort-down::before { - content: "\f0dd"; } +.fa-right-from-bracket { + --fa: "\f2f5"; + --fa--fa: "\f2f5\f2f5"; } -.fa-sort-desc::before { - content: "\f0dd"; } +.fa-sign-out-alt { + --fa: "\f2f5"; + --fa--fa: "\f2f5\f2f5"; } -.fa-circle-minus::before { - content: "\f056"; } +.fa-atom { + --fa: "\f5d2"; + --fa--fa: "\f5d2\f5d2"; } -.fa-minus-circle::before { - content: "\f056"; } +.fa-soap { + --fa: "\e06e"; + --fa--fa: "\e06e\e06e"; } -.fa-door-open::before { - content: "\f52b"; } +.fa-icons { + --fa: "\f86d"; + --fa--fa: "\f86d\f86d"; } -.fa-right-from-bracket::before { - content: "\f2f5"; } +.fa-heart-music-camera-bolt { + --fa: "\f86d"; + --fa--fa: "\f86d\f86d"; } -.fa-sign-out-alt::before { - content: "\f2f5"; } +.fa-microphone-lines-slash { + --fa: "\f539"; + --fa--fa: "\f539\f539"; } -.fa-atom::before { - content: "\f5d2"; } +.fa-microphone-alt-slash { + --fa: "\f539"; + --fa--fa: "\f539\f539"; } -.fa-soap::before { - content: "\e06e"; } +.fa-bridge-circle-check { + --fa: "\e4c9"; + --fa--fa: "\e4c9\e4c9"; } -.fa-icons::before { - content: "\f86d"; } +.fa-pump-medical { + --fa: "\e06a"; + --fa--fa: "\e06a\e06a"; } -.fa-heart-music-camera-bolt::before { - content: "\f86d"; } +.fa-fingerprint { + --fa: "\f577"; + --fa--fa: "\f577\f577"; } -.fa-microphone-lines-slash::before { - content: "\f539"; } +.fa-hand-point-right { + --fa: "\f0a4"; + --fa--fa: "\f0a4\f0a4"; } -.fa-microphone-alt-slash::before { - content: "\f539"; } +.fa-magnifying-glass-location { + --fa: "\f689"; + --fa--fa: "\f689\f689"; } -.fa-bridge-circle-check::before { - content: "\e4c9"; } +.fa-search-location { + --fa: "\f689"; + --fa--fa: "\f689\f689"; } -.fa-pump-medical::before { - content: "\e06a"; } +.fa-forward-step { + --fa: "\f051"; + --fa--fa: "\f051\f051"; } -.fa-fingerprint::before { - content: "\f577"; } +.fa-step-forward { + --fa: "\f051"; + --fa--fa: "\f051\f051"; } -.fa-hand-point-right::before { - content: "\f0a4"; } +.fa-face-smile-beam { + --fa: "\f5b8"; + --fa--fa: "\f5b8\f5b8"; } -.fa-magnifying-glass-location::before { - content: "\f689"; } +.fa-smile-beam { + --fa: "\f5b8"; + --fa--fa: "\f5b8\f5b8"; } -.fa-search-location::before { - content: "\f689"; } +.fa-flag-checkered { + --fa: "\f11e"; + --fa--fa: "\f11e\f11e"; } -.fa-forward-step::before { - content: "\f051"; } +.fa-football { + --fa: "\f44e"; + --fa--fa: "\f44e\f44e"; } -.fa-step-forward::before { - content: "\f051"; } +.fa-football-ball { + --fa: "\f44e"; + --fa--fa: "\f44e\f44e"; } -.fa-face-smile-beam::before { - content: "\f5b8"; } +.fa-school-circle-exclamation { + --fa: "\e56c"; + --fa--fa: "\e56c\e56c"; } -.fa-smile-beam::before { - content: "\f5b8"; } +.fa-crop { + --fa: "\f125"; + --fa--fa: "\f125\f125"; } -.fa-flag-checkered::before { - content: "\f11e"; } +.fa-angles-down { + --fa: "\f103"; + --fa--fa: "\f103\f103"; } -.fa-football::before { - content: "\f44e"; } +.fa-angle-double-down { + --fa: "\f103"; + --fa--fa: "\f103\f103"; } -.fa-football-ball::before { - content: "\f44e"; } +.fa-users-rectangle { + --fa: "\e594"; + --fa--fa: "\e594\e594"; } -.fa-school-circle-exclamation::before { - content: "\e56c"; } +.fa-people-roof { + --fa: "\e537"; + --fa--fa: "\e537\e537"; } -.fa-crop::before { - content: "\f125"; } +.fa-people-line { + --fa: "\e534"; + --fa--fa: "\e534\e534"; } -.fa-angles-down::before { - content: "\f103"; } +.fa-beer-mug-empty { + --fa: "\f0fc"; + --fa--fa: "\f0fc\f0fc"; } -.fa-angle-double-down::before { - content: "\f103"; } +.fa-beer { + --fa: "\f0fc"; + --fa--fa: "\f0fc\f0fc"; } -.fa-users-rectangle::before { - content: "\e594"; } +.fa-diagram-predecessor { + --fa: "\e477"; + --fa--fa: "\e477\e477"; } -.fa-people-roof::before { - content: "\e537"; } +.fa-arrow-up-long { + --fa: "\f176"; + --fa--fa: "\f176\f176"; } -.fa-people-line::before { - content: "\e534"; } +.fa-long-arrow-up { + --fa: "\f176"; + --fa--fa: "\f176\f176"; } -.fa-beer-mug-empty::before { - content: "\f0fc"; } +.fa-fire-flame-simple { + --fa: "\f46a"; + --fa--fa: "\f46a\f46a"; } -.fa-beer::before { - content: "\f0fc"; } +.fa-burn { + --fa: "\f46a"; + --fa--fa: "\f46a\f46a"; } -.fa-diagram-predecessor::before { - content: "\e477"; } +.fa-person { + --fa: "\f183"; + --fa--fa: "\f183\f183"; } -.fa-arrow-up-long::before { - content: "\f176"; } +.fa-male { + --fa: "\f183"; + --fa--fa: "\f183\f183"; } -.fa-long-arrow-up::before { - content: "\f176"; } +.fa-laptop { + --fa: "\f109"; + --fa--fa: "\f109\f109"; } -.fa-fire-flame-simple::before { - content: "\f46a"; } +.fa-file-csv { + --fa: "\f6dd"; + --fa--fa: "\f6dd\f6dd"; } -.fa-burn::before { - content: "\f46a"; } +.fa-menorah { + --fa: "\f676"; + --fa--fa: "\f676\f676"; } -.fa-person::before { - content: "\f183"; } +.fa-truck-plane { + --fa: "\e58f"; + --fa--fa: "\e58f\e58f"; } -.fa-male::before { - content: "\f183"; } +.fa-record-vinyl { + --fa: "\f8d9"; + --fa--fa: "\f8d9\f8d9"; } -.fa-laptop::before { - content: "\f109"; } +.fa-face-grin-stars { + --fa: "\f587"; + --fa--fa: "\f587\f587"; } -.fa-file-csv::before { - content: "\f6dd"; } +.fa-grin-stars { + --fa: "\f587"; + --fa--fa: "\f587\f587"; } -.fa-menorah::before { - content: "\f676"; } +.fa-bong { + --fa: "\f55c"; + --fa--fa: "\f55c\f55c"; } -.fa-truck-plane::before { - content: "\e58f"; } +.fa-spaghetti-monster-flying { + --fa: "\f67b"; + --fa--fa: "\f67b\f67b"; } -.fa-record-vinyl::before { - content: "\f8d9"; } +.fa-pastafarianism { + --fa: "\f67b"; + --fa--fa: "\f67b\f67b"; } -.fa-face-grin-stars::before { - content: "\f587"; } +.fa-arrow-down-up-across-line { + --fa: "\e4af"; + --fa--fa: "\e4af\e4af"; } -.fa-grin-stars::before { - content: "\f587"; } +.fa-spoon { + --fa: "\f2e5"; + --fa--fa: "\f2e5\f2e5"; } -.fa-bong::before { - content: "\f55c"; } +.fa-utensil-spoon { + --fa: "\f2e5"; + --fa--fa: "\f2e5\f2e5"; } -.fa-spaghetti-monster-flying::before { - content: "\f67b"; } +.fa-jar-wheat { + --fa: "\e517"; + --fa--fa: "\e517\e517"; } -.fa-pastafarianism::before { - content: "\f67b"; } +.fa-envelopes-bulk { + --fa: "\f674"; + --fa--fa: "\f674\f674"; } -.fa-arrow-down-up-across-line::before { - content: "\e4af"; } +.fa-mail-bulk { + --fa: "\f674"; + --fa--fa: "\f674\f674"; } -.fa-spoon::before { - content: "\f2e5"; } +.fa-file-circle-exclamation { + --fa: "\e4eb"; + --fa--fa: "\e4eb\e4eb"; } -.fa-utensil-spoon::before { - content: "\f2e5"; } +.fa-circle-h { + --fa: "\f47e"; + --fa--fa: "\f47e\f47e"; } -.fa-jar-wheat::before { - content: "\e517"; } +.fa-hospital-symbol { + --fa: "\f47e"; + --fa--fa: "\f47e\f47e"; } -.fa-envelopes-bulk::before { - content: "\f674"; } +.fa-pager { + --fa: "\f815"; + --fa--fa: "\f815\f815"; } -.fa-mail-bulk::before { - content: "\f674"; } +.fa-address-book { + --fa: "\f2b9"; + --fa--fa: "\f2b9\f2b9"; } -.fa-file-circle-exclamation::before { - content: "\e4eb"; } +.fa-contact-book { + --fa: "\f2b9"; + --fa--fa: "\f2b9\f2b9"; } -.fa-circle-h::before { - content: "\f47e"; } +.fa-strikethrough { + --fa: "\f0cc"; + --fa--fa: "\f0cc\f0cc"; } -.fa-hospital-symbol::before { - content: "\f47e"; } +.fa-k { + --fa: "\4b"; + --fa--fa: "\4b\4b"; } -.fa-pager::before { - content: "\f815"; } +.fa-landmark-flag { + --fa: "\e51c"; + --fa--fa: "\e51c\e51c"; } -.fa-address-book::before { - content: "\f2b9"; } +.fa-pencil { + --fa: "\f303"; + --fa--fa: "\f303\f303"; } -.fa-contact-book::before { - content: "\f2b9"; } +.fa-pencil-alt { + --fa: "\f303"; + --fa--fa: "\f303\f303"; } -.fa-strikethrough::before { - content: "\f0cc"; } +.fa-backward { + --fa: "\f04a"; + --fa--fa: "\f04a\f04a"; } -.fa-k::before { - content: "\4b"; } +.fa-caret-right { + --fa: "\f0da"; + --fa--fa: "\f0da\f0da"; } -.fa-landmark-flag::before { - content: "\e51c"; } +.fa-comments { + --fa: "\f086"; + --fa--fa: "\f086\f086"; } -.fa-pencil::before { - content: "\f303"; } +.fa-paste { + --fa: "\f0ea"; + --fa--fa: "\f0ea\f0ea"; } -.fa-pencil-alt::before { - content: "\f303"; } +.fa-file-clipboard { + --fa: "\f0ea"; + --fa--fa: "\f0ea\f0ea"; } -.fa-backward::before { - content: "\f04a"; } +.fa-code-pull-request { + --fa: "\e13c"; + --fa--fa: "\e13c\e13c"; } -.fa-caret-right::before { - content: "\f0da"; } +.fa-clipboard-list { + --fa: "\f46d"; + --fa--fa: "\f46d\f46d"; } -.fa-comments::before { - content: "\f086"; } +.fa-truck-ramp-box { + --fa: "\f4de"; + --fa--fa: "\f4de\f4de"; } -.fa-paste::before { - content: "\f0ea"; } +.fa-truck-loading { + --fa: "\f4de"; + --fa--fa: "\f4de\f4de"; } -.fa-file-clipboard::before { - content: "\f0ea"; } +.fa-user-check { + --fa: "\f4fc"; + --fa--fa: "\f4fc\f4fc"; } -.fa-code-pull-request::before { - content: "\e13c"; } +.fa-vial-virus { + --fa: "\e597"; + --fa--fa: "\e597\e597"; } -.fa-clipboard-list::before { - content: "\f46d"; } +.fa-sheet-plastic { + --fa: "\e571"; + --fa--fa: "\e571\e571"; } -.fa-truck-ramp-box::before { - content: "\f4de"; } +.fa-blog { + --fa: "\f781"; + --fa--fa: "\f781\f781"; } -.fa-truck-loading::before { - content: "\f4de"; } +.fa-user-ninja { + --fa: "\f504"; + --fa--fa: "\f504\f504"; } -.fa-user-check::before { - content: "\f4fc"; } +.fa-person-arrow-up-from-line { + --fa: "\e539"; + --fa--fa: "\e539\e539"; } -.fa-vial-virus::before { - content: "\e597"; } +.fa-scroll-torah { + --fa: "\f6a0"; + --fa--fa: "\f6a0\f6a0"; } -.fa-sheet-plastic::before { - content: "\e571"; } +.fa-torah { + --fa: "\f6a0"; + --fa--fa: "\f6a0\f6a0"; } -.fa-blog::before { - content: "\f781"; } +.fa-broom-ball { + --fa: "\f458"; + --fa--fa: "\f458\f458"; } -.fa-user-ninja::before { - content: "\f504"; } +.fa-quidditch { + --fa: "\f458"; + --fa--fa: "\f458\f458"; } -.fa-person-arrow-up-from-line::before { - content: "\e539"; } +.fa-quidditch-broom-ball { + --fa: "\f458"; + --fa--fa: "\f458\f458"; } -.fa-scroll-torah::before { - content: "\f6a0"; } +.fa-toggle-off { + --fa: "\f204"; + --fa--fa: "\f204\f204"; } -.fa-torah::before { - content: "\f6a0"; } +.fa-box-archive { + --fa: "\f187"; + --fa--fa: "\f187\f187"; } -.fa-broom-ball::before { - content: "\f458"; } +.fa-archive { + --fa: "\f187"; + --fa--fa: "\f187\f187"; } -.fa-quidditch::before { - content: "\f458"; } +.fa-person-drowning { + --fa: "\e545"; + --fa--fa: "\e545\e545"; } -.fa-quidditch-broom-ball::before { - content: "\f458"; } +.fa-arrow-down-9-1 { + --fa: "\f886"; + --fa--fa: "\f886\f886"; } -.fa-toggle-off::before { - content: "\f204"; } +.fa-sort-numeric-desc { + --fa: "\f886"; + --fa--fa: "\f886\f886"; } -.fa-box-archive::before { - content: "\f187"; } +.fa-sort-numeric-down-alt { + --fa: "\f886"; + --fa--fa: "\f886\f886"; } -.fa-archive::before { - content: "\f187"; } +.fa-face-grin-tongue-squint { + --fa: "\f58a"; + --fa--fa: "\f58a\f58a"; } -.fa-person-drowning::before { - content: "\e545"; } +.fa-grin-tongue-squint { + --fa: "\f58a"; + --fa--fa: "\f58a\f58a"; } -.fa-arrow-down-9-1::before { - content: "\f886"; } +.fa-spray-can { + --fa: "\f5bd"; + --fa--fa: "\f5bd\f5bd"; } -.fa-sort-numeric-desc::before { - content: "\f886"; } +.fa-truck-monster { + --fa: "\f63b"; + --fa--fa: "\f63b\f63b"; } -.fa-sort-numeric-down-alt::before { - content: "\f886"; } +.fa-w { + --fa: "\57"; + --fa--fa: "\57\57"; } -.fa-face-grin-tongue-squint::before { - content: "\f58a"; } +.fa-earth-africa { + --fa: "\f57c"; + --fa--fa: "\f57c\f57c"; } -.fa-grin-tongue-squint::before { - content: "\f58a"; } +.fa-globe-africa { + --fa: "\f57c"; + --fa--fa: "\f57c\f57c"; } -.fa-spray-can::before { - content: "\f5bd"; } +.fa-rainbow { + --fa: "\f75b"; + --fa--fa: "\f75b\f75b"; } -.fa-truck-monster::before { - content: "\f63b"; } +.fa-circle-notch { + --fa: "\f1ce"; + --fa--fa: "\f1ce\f1ce"; } -.fa-w::before { - content: "\57"; } +.fa-tablet-screen-button { + --fa: "\f3fa"; + --fa--fa: "\f3fa\f3fa"; } -.fa-earth-africa::before { - content: "\f57c"; } +.fa-tablet-alt { + --fa: "\f3fa"; + --fa--fa: "\f3fa\f3fa"; } -.fa-globe-africa::before { - content: "\f57c"; } +.fa-paw { + --fa: "\f1b0"; + --fa--fa: "\f1b0\f1b0"; } -.fa-rainbow::before { - content: "\f75b"; } +.fa-cloud { + --fa: "\f0c2"; + --fa--fa: "\f0c2\f0c2"; } -.fa-circle-notch::before { - content: "\f1ce"; } +.fa-trowel-bricks { + --fa: "\e58a"; + --fa--fa: "\e58a\e58a"; } -.fa-tablet-screen-button::before { - content: "\f3fa"; } +.fa-face-flushed { + --fa: "\f579"; + --fa--fa: "\f579\f579"; } -.fa-tablet-alt::before { - content: "\f3fa"; } +.fa-flushed { + --fa: "\f579"; + --fa--fa: "\f579\f579"; } -.fa-paw::before { - content: "\f1b0"; } +.fa-hospital-user { + --fa: "\f80d"; + --fa--fa: "\f80d\f80d"; } -.fa-cloud::before { - content: "\f0c2"; } +.fa-tent-arrow-left-right { + --fa: "\e57f"; + --fa--fa: "\e57f\e57f"; } -.fa-trowel-bricks::before { - content: "\e58a"; } +.fa-gavel { + --fa: "\f0e3"; + --fa--fa: "\f0e3\f0e3"; } -.fa-face-flushed::before { - content: "\f579"; } +.fa-legal { + --fa: "\f0e3"; + --fa--fa: "\f0e3\f0e3"; } -.fa-flushed::before { - content: "\f579"; } +.fa-binoculars { + --fa: "\f1e5"; + --fa--fa: "\f1e5\f1e5"; } -.fa-hospital-user::before { - content: "\f80d"; } +.fa-microphone-slash { + --fa: "\f131"; + --fa--fa: "\f131\f131"; } -.fa-tent-arrow-left-right::before { - content: "\e57f"; } +.fa-box-tissue { + --fa: "\e05b"; + --fa--fa: "\e05b\e05b"; } -.fa-gavel::before { - content: "\f0e3"; } +.fa-motorcycle { + --fa: "\f21c"; + --fa--fa: "\f21c\f21c"; } -.fa-legal::before { - content: "\f0e3"; } +.fa-bell-concierge { + --fa: "\f562"; + --fa--fa: "\f562\f562"; } -.fa-binoculars::before { - content: "\f1e5"; } +.fa-concierge-bell { + --fa: "\f562"; + --fa--fa: "\f562\f562"; } -.fa-microphone-slash::before { - content: "\f131"; } +.fa-pen-ruler { + --fa: "\f5ae"; + --fa--fa: "\f5ae\f5ae"; } -.fa-box-tissue::before { - content: "\e05b"; } +.fa-pencil-ruler { + --fa: "\f5ae"; + --fa--fa: "\f5ae\f5ae"; } -.fa-motorcycle::before { - content: "\f21c"; } +.fa-people-arrows { + --fa: "\e068"; + --fa--fa: "\e068\e068"; } -.fa-bell-concierge::before { - content: "\f562"; } +.fa-people-arrows-left-right { + --fa: "\e068"; + --fa--fa: "\e068\e068"; } -.fa-concierge-bell::before { - content: "\f562"; } +.fa-mars-and-venus-burst { + --fa: "\e523"; + --fa--fa: "\e523\e523"; } -.fa-pen-ruler::before { - content: "\f5ae"; } +.fa-square-caret-right { + --fa: "\f152"; + --fa--fa: "\f152\f152"; } -.fa-pencil-ruler::before { - content: "\f5ae"; } +.fa-caret-square-right { + --fa: "\f152"; + --fa--fa: "\f152\f152"; } -.fa-people-arrows::before { - content: "\e068"; } +.fa-scissors { + --fa: "\f0c4"; + --fa--fa: "\f0c4\f0c4"; } -.fa-people-arrows-left-right::before { - content: "\e068"; } +.fa-cut { + --fa: "\f0c4"; + --fa--fa: "\f0c4\f0c4"; } -.fa-mars-and-venus-burst::before { - content: "\e523"; } +.fa-sun-plant-wilt { + --fa: "\e57a"; + --fa--fa: "\e57a\e57a"; } -.fa-square-caret-right::before { - content: "\f152"; } +.fa-toilets-portable { + --fa: "\e584"; + --fa--fa: "\e584\e584"; } -.fa-caret-square-right::before { - content: "\f152"; } +.fa-hockey-puck { + --fa: "\f453"; + --fa--fa: "\f453\f453"; } -.fa-scissors::before { - content: "\f0c4"; } +.fa-table { + --fa: "\f0ce"; + --fa--fa: "\f0ce\f0ce"; } -.fa-cut::before { - content: "\f0c4"; } +.fa-magnifying-glass-arrow-right { + --fa: "\e521"; + --fa--fa: "\e521\e521"; } -.fa-sun-plant-wilt::before { - content: "\e57a"; } +.fa-tachograph-digital { + --fa: "\f566"; + --fa--fa: "\f566\f566"; } -.fa-toilets-portable::before { - content: "\e584"; } +.fa-digital-tachograph { + --fa: "\f566"; + --fa--fa: "\f566\f566"; } -.fa-hockey-puck::before { - content: "\f453"; } +.fa-users-slash { + --fa: "\e073"; + --fa--fa: "\e073\e073"; } -.fa-table::before { - content: "\f0ce"; } +.fa-clover { + --fa: "\e139"; + --fa--fa: "\e139\e139"; } -.fa-magnifying-glass-arrow-right::before { - content: "\e521"; } +.fa-reply { + --fa: "\f3e5"; + --fa--fa: "\f3e5\f3e5"; } -.fa-tachograph-digital::before { - content: "\f566"; } +.fa-mail-reply { + --fa: "\f3e5"; + --fa--fa: "\f3e5\f3e5"; } -.fa-digital-tachograph::before { - content: "\f566"; } +.fa-star-and-crescent { + --fa: "\f699"; + --fa--fa: "\f699\f699"; } -.fa-users-slash::before { - content: "\e073"; } +.fa-house-fire { + --fa: "\e50c"; + --fa--fa: "\e50c\e50c"; } -.fa-clover::before { - content: "\e139"; } +.fa-square-minus { + --fa: "\f146"; + --fa--fa: "\f146\f146"; } -.fa-reply::before { - content: "\f3e5"; } +.fa-minus-square { + --fa: "\f146"; + --fa--fa: "\f146\f146"; } -.fa-mail-reply::before { - content: "\f3e5"; } +.fa-helicopter { + --fa: "\f533"; + --fa--fa: "\f533\f533"; } -.fa-star-and-crescent::before { - content: "\f699"; } +.fa-compass { + --fa: "\f14e"; + --fa--fa: "\f14e\f14e"; } -.fa-house-fire::before { - content: "\e50c"; } +.fa-square-caret-down { + --fa: "\f150"; + --fa--fa: "\f150\f150"; } -.fa-square-minus::before { - content: "\f146"; } +.fa-caret-square-down { + --fa: "\f150"; + --fa--fa: "\f150\f150"; } -.fa-minus-square::before { - content: "\f146"; } +.fa-file-circle-question { + --fa: "\e4ef"; + --fa--fa: "\e4ef\e4ef"; } -.fa-helicopter::before { - content: "\f533"; } +.fa-laptop-code { + --fa: "\f5fc"; + --fa--fa: "\f5fc\f5fc"; } -.fa-compass::before { - content: "\f14e"; } +.fa-swatchbook { + --fa: "\f5c3"; + --fa--fa: "\f5c3\f5c3"; } -.fa-square-caret-down::before { - content: "\f150"; } +.fa-prescription-bottle { + --fa: "\f485"; + --fa--fa: "\f485\f485"; } -.fa-caret-square-down::before { - content: "\f150"; } +.fa-bars { + --fa: "\f0c9"; + --fa--fa: "\f0c9\f0c9"; } -.fa-file-circle-question::before { - content: "\e4ef"; } +.fa-navicon { + --fa: "\f0c9"; + --fa--fa: "\f0c9\f0c9"; } -.fa-laptop-code::before { - content: "\f5fc"; } +.fa-people-group { + --fa: "\e533"; + --fa--fa: "\e533\e533"; } -.fa-swatchbook::before { - content: "\f5c3"; } +.fa-hourglass-end { + --fa: "\f253"; + --fa--fa: "\f253\f253"; } -.fa-prescription-bottle::before { - content: "\f485"; } +.fa-hourglass-3 { + --fa: "\f253"; + --fa--fa: "\f253\f253"; } -.fa-bars::before { - content: "\f0c9"; } +.fa-heart-crack { + --fa: "\f7a9"; + --fa--fa: "\f7a9\f7a9"; } -.fa-navicon::before { - content: "\f0c9"; } +.fa-heart-broken { + --fa: "\f7a9"; + --fa--fa: "\f7a9\f7a9"; } -.fa-people-group::before { - content: "\e533"; } +.fa-square-up-right { + --fa: "\f360"; + --fa--fa: "\f360\f360"; } -.fa-hourglass-end::before { - content: "\f253"; } +.fa-external-link-square-alt { + --fa: "\f360"; + --fa--fa: "\f360\f360"; } -.fa-hourglass-3::before { - content: "\f253"; } +.fa-face-kiss-beam { + --fa: "\f597"; + --fa--fa: "\f597\f597"; } -.fa-heart-crack::before { - content: "\f7a9"; } +.fa-kiss-beam { + --fa: "\f597"; + --fa--fa: "\f597\f597"; } -.fa-heart-broken::before { - content: "\f7a9"; } +.fa-film { + --fa: "\f008"; + --fa--fa: "\f008\f008"; } -.fa-square-up-right::before { - content: "\f360"; } +.fa-ruler-horizontal { + --fa: "\f547"; + --fa--fa: "\f547\f547"; } -.fa-external-link-square-alt::before { - content: "\f360"; } +.fa-people-robbery { + --fa: "\e536"; + --fa--fa: "\e536\e536"; } -.fa-face-kiss-beam::before { - content: "\f597"; } +.fa-lightbulb { + --fa: "\f0eb"; + --fa--fa: "\f0eb\f0eb"; } -.fa-kiss-beam::before { - content: "\f597"; } +.fa-caret-left { + --fa: "\f0d9"; + --fa--fa: "\f0d9\f0d9"; } -.fa-film::before { - content: "\f008"; } +.fa-circle-exclamation { + --fa: "\f06a"; + --fa--fa: "\f06a\f06a"; } -.fa-ruler-horizontal::before { - content: "\f547"; } +.fa-exclamation-circle { + --fa: "\f06a"; + --fa--fa: "\f06a\f06a"; } -.fa-people-robbery::before { - content: "\e536"; } +.fa-school-circle-xmark { + --fa: "\e56d"; + --fa--fa: "\e56d\e56d"; } -.fa-lightbulb::before { - content: "\f0eb"; } +.fa-arrow-right-from-bracket { + --fa: "\f08b"; + --fa--fa: "\f08b\f08b"; } -.fa-caret-left::before { - content: "\f0d9"; } +.fa-sign-out { + --fa: "\f08b"; + --fa--fa: "\f08b\f08b"; } -.fa-circle-exclamation::before { - content: "\f06a"; } +.fa-circle-chevron-down { + --fa: "\f13a"; + --fa--fa: "\f13a\f13a"; } -.fa-exclamation-circle::before { - content: "\f06a"; } +.fa-chevron-circle-down { + --fa: "\f13a"; + --fa--fa: "\f13a\f13a"; } -.fa-school-circle-xmark::before { - content: "\e56d"; } +.fa-unlock-keyhole { + --fa: "\f13e"; + --fa--fa: "\f13e\f13e"; } -.fa-arrow-right-from-bracket::before { - content: "\f08b"; } +.fa-unlock-alt { + --fa: "\f13e"; + --fa--fa: "\f13e\f13e"; } -.fa-sign-out::before { - content: "\f08b"; } +.fa-cloud-showers-heavy { + --fa: "\f740"; + --fa--fa: "\f740\f740"; } -.fa-circle-chevron-down::before { - content: "\f13a"; } +.fa-headphones-simple { + --fa: "\f58f"; + --fa--fa: "\f58f\f58f"; } -.fa-chevron-circle-down::before { - content: "\f13a"; } +.fa-headphones-alt { + --fa: "\f58f"; + --fa--fa: "\f58f\f58f"; } -.fa-unlock-keyhole::before { - content: "\f13e"; } +.fa-sitemap { + --fa: "\f0e8"; + --fa--fa: "\f0e8\f0e8"; } -.fa-unlock-alt::before { - content: "\f13e"; } +.fa-circle-dollar-to-slot { + --fa: "\f4b9"; + --fa--fa: "\f4b9\f4b9"; } -.fa-cloud-showers-heavy::before { - content: "\f740"; } +.fa-donate { + --fa: "\f4b9"; + --fa--fa: "\f4b9\f4b9"; } -.fa-headphones-simple::before { - content: "\f58f"; } +.fa-memory { + --fa: "\f538"; + --fa--fa: "\f538\f538"; } -.fa-headphones-alt::before { - content: "\f58f"; } +.fa-road-spikes { + --fa: "\e568"; + --fa--fa: "\e568\e568"; } -.fa-sitemap::before { - content: "\f0e8"; } +.fa-fire-burner { + --fa: "\e4f1"; + --fa--fa: "\e4f1\e4f1"; } -.fa-circle-dollar-to-slot::before { - content: "\f4b9"; } +.fa-flag { + --fa: "\f024"; + --fa--fa: "\f024\f024"; } -.fa-donate::before { - content: "\f4b9"; } +.fa-hanukiah { + --fa: "\f6e6"; + --fa--fa: "\f6e6\f6e6"; } -.fa-memory::before { - content: "\f538"; } +.fa-feather { + --fa: "\f52d"; + --fa--fa: "\f52d\f52d"; } -.fa-road-spikes::before { - content: "\e568"; } +.fa-volume-low { + --fa: "\f027"; + --fa--fa: "\f027\f027"; } -.fa-fire-burner::before { - content: "\e4f1"; } +.fa-volume-down { + --fa: "\f027"; + --fa--fa: "\f027\f027"; } -.fa-flag::before { - content: "\f024"; } +.fa-comment-slash { + --fa: "\f4b3"; + --fa--fa: "\f4b3\f4b3"; } -.fa-hanukiah::before { - content: "\f6e6"; } +.fa-cloud-sun-rain { + --fa: "\f743"; + --fa--fa: "\f743\f743"; } -.fa-feather::before { - content: "\f52d"; } +.fa-compress { + --fa: "\f066"; + --fa--fa: "\f066\f066"; } -.fa-volume-low::before { - content: "\f027"; } +.fa-wheat-awn { + --fa: "\e2cd"; + --fa--fa: "\e2cd\e2cd"; } -.fa-volume-down::before { - content: "\f027"; } +.fa-wheat-alt { + --fa: "\e2cd"; + --fa--fa: "\e2cd\e2cd"; } -.fa-comment-slash::before { - content: "\f4b3"; } +.fa-ankh { + --fa: "\f644"; + --fa--fa: "\f644\f644"; } -.fa-cloud-sun-rain::before { - content: "\f743"; } +.fa-hands-holding-child { + --fa: "\e4fa"; + --fa--fa: "\e4fa\e4fa"; } -.fa-compress::before { - content: "\f066"; } +.fa-asterisk { + --fa: "\2a"; + --fa--fa: "\2a\2a"; } -.fa-wheat-awn::before { - content: "\e2cd"; } +.fa-square-check { + --fa: "\f14a"; + --fa--fa: "\f14a\f14a"; } -.fa-wheat-alt::before { - content: "\e2cd"; } +.fa-check-square { + --fa: "\f14a"; + --fa--fa: "\f14a\f14a"; } -.fa-ankh::before { - content: "\f644"; } +.fa-peseta-sign { + --fa: "\e221"; + --fa--fa: "\e221\e221"; } -.fa-hands-holding-child::before { - content: "\e4fa"; } +.fa-heading { + --fa: "\f1dc"; + --fa--fa: "\f1dc\f1dc"; } -.fa-asterisk::before { - content: "\2a"; } +.fa-header { + --fa: "\f1dc"; + --fa--fa: "\f1dc\f1dc"; } -.fa-square-check::before { - content: "\f14a"; } +.fa-ghost { + --fa: "\f6e2"; + --fa--fa: "\f6e2\f6e2"; } -.fa-check-square::before { - content: "\f14a"; } +.fa-list { + --fa: "\f03a"; + --fa--fa: "\f03a\f03a"; } -.fa-peseta-sign::before { - content: "\e221"; } +.fa-list-squares { + --fa: "\f03a"; + --fa--fa: "\f03a\f03a"; } -.fa-heading::before { - content: "\f1dc"; } +.fa-square-phone-flip { + --fa: "\f87b"; + --fa--fa: "\f87b\f87b"; } -.fa-header::before { - content: "\f1dc"; } +.fa-phone-square-alt { + --fa: "\f87b"; + --fa--fa: "\f87b\f87b"; } -.fa-ghost::before { - content: "\f6e2"; } +.fa-cart-plus { + --fa: "\f217"; + --fa--fa: "\f217\f217"; } -.fa-list::before { - content: "\f03a"; } +.fa-gamepad { + --fa: "\f11b"; + --fa--fa: "\f11b\f11b"; } -.fa-list-squares::before { - content: "\f03a"; } +.fa-circle-dot { + --fa: "\f192"; + --fa--fa: "\f192\f192"; } -.fa-square-phone-flip::before { - content: "\f87b"; } +.fa-dot-circle { + --fa: "\f192"; + --fa--fa: "\f192\f192"; } -.fa-phone-square-alt::before { - content: "\f87b"; } +.fa-face-dizzy { + --fa: "\f567"; + --fa--fa: "\f567\f567"; } -.fa-cart-plus::before { - content: "\f217"; } +.fa-dizzy { + --fa: "\f567"; + --fa--fa: "\f567\f567"; } -.fa-gamepad::before { - content: "\f11b"; } +.fa-egg { + --fa: "\f7fb"; + --fa--fa: "\f7fb\f7fb"; } -.fa-circle-dot::before { - content: "\f192"; } +.fa-house-medical-circle-xmark { + --fa: "\e513"; + --fa--fa: "\e513\e513"; } -.fa-dot-circle::before { - content: "\f192"; } +.fa-campground { + --fa: "\f6bb"; + --fa--fa: "\f6bb\f6bb"; } -.fa-face-dizzy::before { - content: "\f567"; } +.fa-folder-plus { + --fa: "\f65e"; + --fa--fa: "\f65e\f65e"; } -.fa-dizzy::before { - content: "\f567"; } +.fa-futbol { + --fa: "\f1e3"; + --fa--fa: "\f1e3\f1e3"; } -.fa-egg::before { - content: "\f7fb"; } +.fa-futbol-ball { + --fa: "\f1e3"; + --fa--fa: "\f1e3\f1e3"; } -.fa-house-medical-circle-xmark::before { - content: "\e513"; } +.fa-soccer-ball { + --fa: "\f1e3"; + --fa--fa: "\f1e3\f1e3"; } -.fa-campground::before { - content: "\f6bb"; } +.fa-paintbrush { + --fa: "\f1fc"; + --fa--fa: "\f1fc\f1fc"; } -.fa-folder-plus::before { - content: "\f65e"; } +.fa-paint-brush { + --fa: "\f1fc"; + --fa--fa: "\f1fc\f1fc"; } -.fa-futbol::before { - content: "\f1e3"; } +.fa-lock { + --fa: "\f023"; + --fa--fa: "\f023\f023"; } -.fa-futbol-ball::before { - content: "\f1e3"; } +.fa-gas-pump { + --fa: "\f52f"; + --fa--fa: "\f52f\f52f"; } -.fa-soccer-ball::before { - content: "\f1e3"; } +.fa-hot-tub-person { + --fa: "\f593"; + --fa--fa: "\f593\f593"; } -.fa-paintbrush::before { - content: "\f1fc"; } +.fa-hot-tub { + --fa: "\f593"; + --fa--fa: "\f593\f593"; } -.fa-paint-brush::before { - content: "\f1fc"; } +.fa-map-location { + --fa: "\f59f"; + --fa--fa: "\f59f\f59f"; } -.fa-lock::before { - content: "\f023"; } +.fa-map-marked { + --fa: "\f59f"; + --fa--fa: "\f59f\f59f"; } -.fa-gas-pump::before { - content: "\f52f"; } +.fa-house-flood-water { + --fa: "\e50e"; + --fa--fa: "\e50e\e50e"; } -.fa-hot-tub-person::before { - content: "\f593"; } +.fa-tree { + --fa: "\f1bb"; + --fa--fa: "\f1bb\f1bb"; } -.fa-hot-tub::before { - content: "\f593"; } +.fa-bridge-lock { + --fa: "\e4cc"; + --fa--fa: "\e4cc\e4cc"; } -.fa-map-location::before { - content: "\f59f"; } +.fa-sack-dollar { + --fa: "\f81d"; + --fa--fa: "\f81d\f81d"; } -.fa-map-marked::before { - content: "\f59f"; } +.fa-pen-to-square { + --fa: "\f044"; + --fa--fa: "\f044\f044"; } -.fa-house-flood-water::before { - content: "\e50e"; } +.fa-edit { + --fa: "\f044"; + --fa--fa: "\f044\f044"; } -.fa-tree::before { - content: "\f1bb"; } +.fa-car-side { + --fa: "\f5e4"; + --fa--fa: "\f5e4\f5e4"; } -.fa-bridge-lock::before { - content: "\e4cc"; } +.fa-share-nodes { + --fa: "\f1e0"; + --fa--fa: "\f1e0\f1e0"; } -.fa-sack-dollar::before { - content: "\f81d"; } +.fa-share-alt { + --fa: "\f1e0"; + --fa--fa: "\f1e0\f1e0"; } -.fa-pen-to-square::before { - content: "\f044"; } +.fa-heart-circle-minus { + --fa: "\e4ff"; + --fa--fa: "\e4ff\e4ff"; } -.fa-edit::before { - content: "\f044"; } +.fa-hourglass-half { + --fa: "\f252"; + --fa--fa: "\f252\f252"; } -.fa-car-side::before { - content: "\f5e4"; } +.fa-hourglass-2 { + --fa: "\f252"; + --fa--fa: "\f252\f252"; } -.fa-share-nodes::before { - content: "\f1e0"; } +.fa-microscope { + --fa: "\f610"; + --fa--fa: "\f610\f610"; } -.fa-share-alt::before { - content: "\f1e0"; } +.fa-sink { + --fa: "\e06d"; + --fa--fa: "\e06d\e06d"; } -.fa-heart-circle-minus::before { - content: "\e4ff"; } +.fa-bag-shopping { + --fa: "\f290"; + --fa--fa: "\f290\f290"; } -.fa-hourglass-half::before { - content: "\f252"; } +.fa-shopping-bag { + --fa: "\f290"; + --fa--fa: "\f290\f290"; } -.fa-hourglass-2::before { - content: "\f252"; } +.fa-arrow-down-z-a { + --fa: "\f881"; + --fa--fa: "\f881\f881"; } -.fa-microscope::before { - content: "\f610"; } +.fa-sort-alpha-desc { + --fa: "\f881"; + --fa--fa: "\f881\f881"; } -.fa-sink::before { - content: "\e06d"; } +.fa-sort-alpha-down-alt { + --fa: "\f881"; + --fa--fa: "\f881\f881"; } -.fa-bag-shopping::before { - content: "\f290"; } +.fa-mitten { + --fa: "\f7b5"; + --fa--fa: "\f7b5\f7b5"; } -.fa-shopping-bag::before { - content: "\f290"; } +.fa-person-rays { + --fa: "\e54d"; + --fa--fa: "\e54d\e54d"; } -.fa-arrow-down-z-a::before { - content: "\f881"; } +.fa-users { + --fa: "\f0c0"; + --fa--fa: "\f0c0\f0c0"; } -.fa-sort-alpha-desc::before { - content: "\f881"; } +.fa-eye-slash { + --fa: "\f070"; + --fa--fa: "\f070\f070"; } -.fa-sort-alpha-down-alt::before { - content: "\f881"; } +.fa-flask-vial { + --fa: "\e4f3"; + --fa--fa: "\e4f3\e4f3"; } -.fa-mitten::before { - content: "\f7b5"; } +.fa-hand { + --fa: "\f256"; + --fa--fa: "\f256\f256"; } -.fa-person-rays::before { - content: "\e54d"; } +.fa-hand-paper { + --fa: "\f256"; + --fa--fa: "\f256\f256"; } -.fa-users::before { - content: "\f0c0"; } +.fa-om { + --fa: "\f679"; + --fa--fa: "\f679\f679"; } -.fa-eye-slash::before { - content: "\f070"; } +.fa-worm { + --fa: "\e599"; + --fa--fa: "\e599\e599"; } -.fa-flask-vial::before { - content: "\e4f3"; } +.fa-house-circle-xmark { + --fa: "\e50b"; + --fa--fa: "\e50b\e50b"; } -.fa-hand::before { - content: "\f256"; } +.fa-plug { + --fa: "\f1e6"; + --fa--fa: "\f1e6\f1e6"; } -.fa-hand-paper::before { - content: "\f256"; } +.fa-chevron-up { + --fa: "\f077"; + --fa--fa: "\f077\f077"; } -.fa-om::before { - content: "\f679"; } +.fa-hand-spock { + --fa: "\f259"; + --fa--fa: "\f259\f259"; } -.fa-worm::before { - content: "\e599"; } +.fa-stopwatch { + --fa: "\f2f2"; + --fa--fa: "\f2f2\f2f2"; } -.fa-house-circle-xmark::before { - content: "\e50b"; } +.fa-face-kiss { + --fa: "\f596"; + --fa--fa: "\f596\f596"; } -.fa-plug::before { - content: "\f1e6"; } +.fa-kiss { + --fa: "\f596"; + --fa--fa: "\f596\f596"; } -.fa-chevron-up::before { - content: "\f077"; } +.fa-bridge-circle-xmark { + --fa: "\e4cb"; + --fa--fa: "\e4cb\e4cb"; } -.fa-hand-spock::before { - content: "\f259"; } +.fa-face-grin-tongue { + --fa: "\f589"; + --fa--fa: "\f589\f589"; } -.fa-stopwatch::before { - content: "\f2f2"; } +.fa-grin-tongue { + --fa: "\f589"; + --fa--fa: "\f589\f589"; } -.fa-face-kiss::before { - content: "\f596"; } +.fa-chess-bishop { + --fa: "\f43a"; + --fa--fa: "\f43a\f43a"; } -.fa-kiss::before { - content: "\f596"; } +.fa-face-grin-wink { + --fa: "\f58c"; + --fa--fa: "\f58c\f58c"; } -.fa-bridge-circle-xmark::before { - content: "\e4cb"; } +.fa-grin-wink { + --fa: "\f58c"; + --fa--fa: "\f58c\f58c"; } -.fa-face-grin-tongue::before { - content: "\f589"; } +.fa-ear-deaf { + --fa: "\f2a4"; + --fa--fa: "\f2a4\f2a4"; } -.fa-grin-tongue::before { - content: "\f589"; } +.fa-deaf { + --fa: "\f2a4"; + --fa--fa: "\f2a4\f2a4"; } -.fa-chess-bishop::before { - content: "\f43a"; } +.fa-deafness { + --fa: "\f2a4"; + --fa--fa: "\f2a4\f2a4"; } -.fa-face-grin-wink::before { - content: "\f58c"; } +.fa-hard-of-hearing { + --fa: "\f2a4"; + --fa--fa: "\f2a4\f2a4"; } -.fa-grin-wink::before { - content: "\f58c"; } +.fa-road-circle-check { + --fa: "\e564"; + --fa--fa: "\e564\e564"; } -.fa-ear-deaf::before { - content: "\f2a4"; } +.fa-dice-five { + --fa: "\f523"; + --fa--fa: "\f523\f523"; } -.fa-deaf::before { - content: "\f2a4"; } +.fa-square-rss { + --fa: "\f143"; + --fa--fa: "\f143\f143"; } -.fa-deafness::before { - content: "\f2a4"; } +.fa-rss-square { + --fa: "\f143"; + --fa--fa: "\f143\f143"; } -.fa-hard-of-hearing::before { - content: "\f2a4"; } +.fa-land-mine-on { + --fa: "\e51b"; + --fa--fa: "\e51b\e51b"; } -.fa-road-circle-check::before { - content: "\e564"; } +.fa-i-cursor { + --fa: "\f246"; + --fa--fa: "\f246\f246"; } -.fa-dice-five::before { - content: "\f523"; } +.fa-stamp { + --fa: "\f5bf"; + --fa--fa: "\f5bf\f5bf"; } -.fa-square-rss::before { - content: "\f143"; } +.fa-stairs { + --fa: "\e289"; + --fa--fa: "\e289\e289"; } -.fa-rss-square::before { - content: "\f143"; } +.fa-i { + --fa: "\49"; + --fa--fa: "\49\49"; } -.fa-land-mine-on::before { - content: "\e51b"; } +.fa-hryvnia-sign { + --fa: "\f6f2"; + --fa--fa: "\f6f2\f6f2"; } -.fa-i-cursor::before { - content: "\f246"; } +.fa-hryvnia { + --fa: "\f6f2"; + --fa--fa: "\f6f2\f6f2"; } -.fa-stamp::before { - content: "\f5bf"; } +.fa-pills { + --fa: "\f484"; + --fa--fa: "\f484\f484"; } -.fa-stairs::before { - content: "\e289"; } +.fa-face-grin-wide { + --fa: "\f581"; + --fa--fa: "\f581\f581"; } -.fa-i::before { - content: "\49"; } +.fa-grin-alt { + --fa: "\f581"; + --fa--fa: "\f581\f581"; } -.fa-hryvnia-sign::before { - content: "\f6f2"; } +.fa-tooth { + --fa: "\f5c9"; + --fa--fa: "\f5c9\f5c9"; } -.fa-hryvnia::before { - content: "\f6f2"; } +.fa-v { + --fa: "\56"; + --fa--fa: "\56\56"; } -.fa-pills::before { - content: "\f484"; } +.fa-bangladeshi-taka-sign { + --fa: "\e2e6"; + --fa--fa: "\e2e6\e2e6"; } -.fa-face-grin-wide::before { - content: "\f581"; } +.fa-bicycle { + --fa: "\f206"; + --fa--fa: "\f206\f206"; } -.fa-grin-alt::before { - content: "\f581"; } +.fa-staff-snake { + --fa: "\e579"; + --fa--fa: "\e579\e579"; } -.fa-tooth::before { - content: "\f5c9"; } +.fa-rod-asclepius { + --fa: "\e579"; + --fa--fa: "\e579\e579"; } -.fa-v::before { - content: "\56"; } +.fa-rod-snake { + --fa: "\e579"; + --fa--fa: "\e579\e579"; } -.fa-bangladeshi-taka-sign::before { - content: "\e2e6"; } +.fa-staff-aesculapius { + --fa: "\e579"; + --fa--fa: "\e579\e579"; } -.fa-bicycle::before { - content: "\f206"; } +.fa-head-side-cough-slash { + --fa: "\e062"; + --fa--fa: "\e062\e062"; } -.fa-staff-snake::before { - content: "\e579"; } +.fa-truck-medical { + --fa: "\f0f9"; + --fa--fa: "\f0f9\f0f9"; } -.fa-rod-asclepius::before { - content: "\e579"; } +.fa-ambulance { + --fa: "\f0f9"; + --fa--fa: "\f0f9\f0f9"; } -.fa-rod-snake::before { - content: "\e579"; } +.fa-wheat-awn-circle-exclamation { + --fa: "\e598"; + --fa--fa: "\e598\e598"; } -.fa-staff-aesculapius::before { - content: "\e579"; } +.fa-snowman { + --fa: "\f7d0"; + --fa--fa: "\f7d0\f7d0"; } -.fa-head-side-cough-slash::before { - content: "\e062"; } +.fa-mortar-pestle { + --fa: "\f5a7"; + --fa--fa: "\f5a7\f5a7"; } -.fa-truck-medical::before { - content: "\f0f9"; } +.fa-road-barrier { + --fa: "\e562"; + --fa--fa: "\e562\e562"; } -.fa-ambulance::before { - content: "\f0f9"; } +.fa-school { + --fa: "\f549"; + --fa--fa: "\f549\f549"; } -.fa-wheat-awn-circle-exclamation::before { - content: "\e598"; } +.fa-igloo { + --fa: "\f7ae"; + --fa--fa: "\f7ae\f7ae"; } -.fa-snowman::before { - content: "\f7d0"; } +.fa-joint { + --fa: "\f595"; + --fa--fa: "\f595\f595"; } -.fa-mortar-pestle::before { - content: "\f5a7"; } +.fa-angle-right { + --fa: "\f105"; + --fa--fa: "\f105\f105"; } -.fa-road-barrier::before { - content: "\e562"; } +.fa-horse { + --fa: "\f6f0"; + --fa--fa: "\f6f0\f6f0"; } -.fa-school::before { - content: "\f549"; } +.fa-q { + --fa: "\51"; + --fa--fa: "\51\51"; } -.fa-igloo::before { - content: "\f7ae"; } +.fa-g { + --fa: "\47"; + --fa--fa: "\47\47"; } -.fa-joint::before { - content: "\f595"; } +.fa-notes-medical { + --fa: "\f481"; + --fa--fa: "\f481\f481"; } -.fa-angle-right::before { - content: "\f105"; } +.fa-temperature-half { + --fa: "\f2c9"; + --fa--fa: "\f2c9\f2c9"; } -.fa-horse::before { - content: "\f6f0"; } +.fa-temperature-2 { + --fa: "\f2c9"; + --fa--fa: "\f2c9\f2c9"; } -.fa-q::before { - content: "\51"; } +.fa-thermometer-2 { + --fa: "\f2c9"; + --fa--fa: "\f2c9\f2c9"; } -.fa-g::before { - content: "\47"; } +.fa-thermometer-half { + --fa: "\f2c9"; + --fa--fa: "\f2c9\f2c9"; } -.fa-notes-medical::before { - content: "\f481"; } +.fa-dong-sign { + --fa: "\e169"; + --fa--fa: "\e169\e169"; } -.fa-temperature-half::before { - content: "\f2c9"; } +.fa-capsules { + --fa: "\f46b"; + --fa--fa: "\f46b\f46b"; } -.fa-temperature-2::before { - content: "\f2c9"; } +.fa-poo-storm { + --fa: "\f75a"; + --fa--fa: "\f75a\f75a"; } -.fa-thermometer-2::before { - content: "\f2c9"; } +.fa-poo-bolt { + --fa: "\f75a"; + --fa--fa: "\f75a\f75a"; } -.fa-thermometer-half::before { - content: "\f2c9"; } +.fa-face-frown-open { + --fa: "\f57a"; + --fa--fa: "\f57a\f57a"; } -.fa-dong-sign::before { - content: "\e169"; } +.fa-frown-open { + --fa: "\f57a"; + --fa--fa: "\f57a\f57a"; } -.fa-capsules::before { - content: "\f46b"; } +.fa-hand-point-up { + --fa: "\f0a6"; + --fa--fa: "\f0a6\f0a6"; } -.fa-poo-storm::before { - content: "\f75a"; } +.fa-money-bill { + --fa: "\f0d6"; + --fa--fa: "\f0d6\f0d6"; } -.fa-poo-bolt::before { - content: "\f75a"; } +.fa-bookmark { + --fa: "\f02e"; + --fa--fa: "\f02e\f02e"; } -.fa-face-frown-open::before { - content: "\f57a"; } +.fa-align-justify { + --fa: "\f039"; + --fa--fa: "\f039\f039"; } -.fa-frown-open::before { - content: "\f57a"; } +.fa-umbrella-beach { + --fa: "\f5ca"; + --fa--fa: "\f5ca\f5ca"; } -.fa-hand-point-up::before { - content: "\f0a6"; } +.fa-helmet-un { + --fa: "\e503"; + --fa--fa: "\e503\e503"; } -.fa-money-bill::before { - content: "\f0d6"; } +.fa-bullseye { + --fa: "\f140"; + --fa--fa: "\f140\f140"; } -.fa-bookmark::before { - content: "\f02e"; } +.fa-bacon { + --fa: "\f7e5"; + --fa--fa: "\f7e5\f7e5"; } -.fa-align-justify::before { - content: "\f039"; } +.fa-hand-point-down { + --fa: "\f0a7"; + --fa--fa: "\f0a7\f0a7"; } -.fa-umbrella-beach::before { - content: "\f5ca"; } +.fa-arrow-up-from-bracket { + --fa: "\e09a"; + --fa--fa: "\e09a\e09a"; } -.fa-helmet-un::before { - content: "\e503"; } +.fa-folder { + --fa: "\f07b"; + --fa--fa: "\f07b\f07b"; } -.fa-bullseye::before { - content: "\f140"; } +.fa-folder-blank { + --fa: "\f07b"; + --fa--fa: "\f07b\f07b"; } -.fa-bacon::before { - content: "\f7e5"; } +.fa-file-waveform { + --fa: "\f478"; + --fa--fa: "\f478\f478"; } -.fa-hand-point-down::before { - content: "\f0a7"; } +.fa-file-medical-alt { + --fa: "\f478"; + --fa--fa: "\f478\f478"; } -.fa-arrow-up-from-bracket::before { - content: "\e09a"; } +.fa-radiation { + --fa: "\f7b9"; + --fa--fa: "\f7b9\f7b9"; } -.fa-folder::before { - content: "\f07b"; } +.fa-chart-simple { + --fa: "\e473"; + --fa--fa: "\e473\e473"; } -.fa-folder-blank::before { - content: "\f07b"; } +.fa-mars-stroke { + --fa: "\f229"; + --fa--fa: "\f229\f229"; } -.fa-file-waveform::before { - content: "\f478"; } +.fa-vial { + --fa: "\f492"; + --fa--fa: "\f492\f492"; } -.fa-file-medical-alt::before { - content: "\f478"; } +.fa-gauge { + --fa: "\f624"; + --fa--fa: "\f624\f624"; } -.fa-radiation::before { - content: "\f7b9"; } +.fa-dashboard { + --fa: "\f624"; + --fa--fa: "\f624\f624"; } -.fa-chart-simple::before { - content: "\e473"; } +.fa-gauge-med { + --fa: "\f624"; + --fa--fa: "\f624\f624"; } -.fa-mars-stroke::before { - content: "\f229"; } +.fa-tachometer-alt-average { + --fa: "\f624"; + --fa--fa: "\f624\f624"; } -.fa-vial::before { - content: "\f492"; } +.fa-wand-magic-sparkles { + --fa: "\e2ca"; + --fa--fa: "\e2ca\e2ca"; } -.fa-gauge::before { - content: "\f624"; } +.fa-magic-wand-sparkles { + --fa: "\e2ca"; + --fa--fa: "\e2ca\e2ca"; } -.fa-dashboard::before { - content: "\f624"; } +.fa-e { + --fa: "\45"; + --fa--fa: "\45\45"; } -.fa-gauge-med::before { - content: "\f624"; } +.fa-pen-clip { + --fa: "\f305"; + --fa--fa: "\f305\f305"; } -.fa-tachometer-alt-average::before { - content: "\f624"; } +.fa-pen-alt { + --fa: "\f305"; + --fa--fa: "\f305\f305"; } -.fa-wand-magic-sparkles::before { - content: "\e2ca"; } +.fa-bridge-circle-exclamation { + --fa: "\e4ca"; + --fa--fa: "\e4ca\e4ca"; } -.fa-magic-wand-sparkles::before { - content: "\e2ca"; } +.fa-user { + --fa: "\f007"; + --fa--fa: "\f007\f007"; } -.fa-e::before { - content: "\45"; } +.fa-school-circle-check { + --fa: "\e56b"; + --fa--fa: "\e56b\e56b"; } -.fa-pen-clip::before { - content: "\f305"; } +.fa-dumpster { + --fa: "\f793"; + --fa--fa: "\f793\f793"; } -.fa-pen-alt::before { - content: "\f305"; } +.fa-van-shuttle { + --fa: "\f5b6"; + --fa--fa: "\f5b6\f5b6"; } -.fa-bridge-circle-exclamation::before { - content: "\e4ca"; } +.fa-shuttle-van { + --fa: "\f5b6"; + --fa--fa: "\f5b6\f5b6"; } -.fa-user::before { - content: "\f007"; } +.fa-building-user { + --fa: "\e4da"; + --fa--fa: "\e4da\e4da"; } -.fa-school-circle-check::before { - content: "\e56b"; } +.fa-square-caret-left { + --fa: "\f191"; + --fa--fa: "\f191\f191"; } -.fa-dumpster::before { - content: "\f793"; } +.fa-caret-square-left { + --fa: "\f191"; + --fa--fa: "\f191\f191"; } -.fa-van-shuttle::before { - content: "\f5b6"; } +.fa-highlighter { + --fa: "\f591"; + --fa--fa: "\f591\f591"; } -.fa-shuttle-van::before { - content: "\f5b6"; } +.fa-key { + --fa: "\f084"; + --fa--fa: "\f084\f084"; } -.fa-building-user::before { - content: "\e4da"; } +.fa-bullhorn { + --fa: "\f0a1"; + --fa--fa: "\f0a1\f0a1"; } -.fa-square-caret-left::before { - content: "\f191"; } +.fa-globe { + --fa: "\f0ac"; + --fa--fa: "\f0ac\f0ac"; } -.fa-caret-square-left::before { - content: "\f191"; } +.fa-synagogue { + --fa: "\f69b"; + --fa--fa: "\f69b\f69b"; } -.fa-highlighter::before { - content: "\f591"; } +.fa-person-half-dress { + --fa: "\e548"; + --fa--fa: "\e548\e548"; } -.fa-key::before { - content: "\f084"; } +.fa-road-bridge { + --fa: "\e563"; + --fa--fa: "\e563\e563"; } -.fa-bullhorn::before { - content: "\f0a1"; } +.fa-location-arrow { + --fa: "\f124"; + --fa--fa: "\f124\f124"; } -.fa-globe::before { - content: "\f0ac"; } +.fa-c { + --fa: "\43"; + --fa--fa: "\43\43"; } -.fa-synagogue::before { - content: "\f69b"; } +.fa-tablet-button { + --fa: "\f10a"; + --fa--fa: "\f10a\f10a"; } -.fa-person-half-dress::before { - content: "\e548"; } +.fa-building-lock { + --fa: "\e4d6"; + --fa--fa: "\e4d6\e4d6"; } -.fa-road-bridge::before { - content: "\e563"; } +.fa-pizza-slice { + --fa: "\f818"; + --fa--fa: "\f818\f818"; } -.fa-location-arrow::before { - content: "\f124"; } +.fa-money-bill-wave { + --fa: "\f53a"; + --fa--fa: "\f53a\f53a"; } -.fa-c::before { - content: "\43"; } +.fa-chart-area { + --fa: "\f1fe"; + --fa--fa: "\f1fe\f1fe"; } -.fa-tablet-button::before { - content: "\f10a"; } +.fa-area-chart { + --fa: "\f1fe"; + --fa--fa: "\f1fe\f1fe"; } -.fa-building-lock::before { - content: "\e4d6"; } +.fa-house-flag { + --fa: "\e50d"; + --fa--fa: "\e50d\e50d"; } -.fa-pizza-slice::before { - content: "\f818"; } +.fa-person-circle-minus { + --fa: "\e540"; + --fa--fa: "\e540\e540"; } -.fa-money-bill-wave::before { - content: "\f53a"; } +.fa-ban { + --fa: "\f05e"; + --fa--fa: "\f05e\f05e"; } -.fa-chart-area::before { - content: "\f1fe"; } +.fa-cancel { + --fa: "\f05e"; + --fa--fa: "\f05e\f05e"; } -.fa-area-chart::before { - content: "\f1fe"; } +.fa-camera-rotate { + --fa: "\e0d8"; + --fa--fa: "\e0d8\e0d8"; } -.fa-house-flag::before { - content: "\e50d"; } +.fa-spray-can-sparkles { + --fa: "\f5d0"; + --fa--fa: "\f5d0\f5d0"; } -.fa-person-circle-minus::before { - content: "\e540"; } +.fa-air-freshener { + --fa: "\f5d0"; + --fa--fa: "\f5d0\f5d0"; } -.fa-ban::before { - content: "\f05e"; } +.fa-star { + --fa: "\f005"; + --fa--fa: "\f005\f005"; } -.fa-cancel::before { - content: "\f05e"; } +.fa-repeat { + --fa: "\f363"; + --fa--fa: "\f363\f363"; } -.fa-camera-rotate::before { - content: "\e0d8"; } +.fa-cross { + --fa: "\f654"; + --fa--fa: "\f654\f654"; } -.fa-spray-can-sparkles::before { - content: "\f5d0"; } +.fa-box { + --fa: "\f466"; + --fa--fa: "\f466\f466"; } -.fa-air-freshener::before { - content: "\f5d0"; } +.fa-venus-mars { + --fa: "\f228"; + --fa--fa: "\f228\f228"; } -.fa-star::before { - content: "\f005"; } +.fa-arrow-pointer { + --fa: "\f245"; + --fa--fa: "\f245\f245"; } -.fa-repeat::before { - content: "\f363"; } +.fa-mouse-pointer { + --fa: "\f245"; + --fa--fa: "\f245\f245"; } -.fa-cross::before { - content: "\f654"; } +.fa-maximize { + --fa: "\f31e"; + --fa--fa: "\f31e\f31e"; } -.fa-box::before { - content: "\f466"; } +.fa-expand-arrows-alt { + --fa: "\f31e"; + --fa--fa: "\f31e\f31e"; } -.fa-venus-mars::before { - content: "\f228"; } +.fa-charging-station { + --fa: "\f5e7"; + --fa--fa: "\f5e7\f5e7"; } -.fa-arrow-pointer::before { - content: "\f245"; } +.fa-shapes { + --fa: "\f61f"; + --fa--fa: "\f61f\f61f"; } -.fa-mouse-pointer::before { - content: "\f245"; } +.fa-triangle-circle-square { + --fa: "\f61f"; + --fa--fa: "\f61f\f61f"; } -.fa-maximize::before { - content: "\f31e"; } +.fa-shuffle { + --fa: "\f074"; + --fa--fa: "\f074\f074"; } -.fa-expand-arrows-alt::before { - content: "\f31e"; } +.fa-random { + --fa: "\f074"; + --fa--fa: "\f074\f074"; } -.fa-charging-station::before { - content: "\f5e7"; } +.fa-person-running { + --fa: "\f70c"; + --fa--fa: "\f70c\f70c"; } -.fa-shapes::before { - content: "\f61f"; } +.fa-running { + --fa: "\f70c"; + --fa--fa: "\f70c\f70c"; } -.fa-triangle-circle-square::before { - content: "\f61f"; } +.fa-mobile-retro { + --fa: "\e527"; + --fa--fa: "\e527\e527"; } -.fa-shuffle::before { - content: "\f074"; } +.fa-grip-lines-vertical { + --fa: "\f7a5"; + --fa--fa: "\f7a5\f7a5"; } -.fa-random::before { - content: "\f074"; } +.fa-spider { + --fa: "\f717"; + --fa--fa: "\f717\f717"; } -.fa-person-running::before { - content: "\f70c"; } +.fa-hands-bound { + --fa: "\e4f9"; + --fa--fa: "\e4f9\e4f9"; } -.fa-running::before { - content: "\f70c"; } +.fa-file-invoice-dollar { + --fa: "\f571"; + --fa--fa: "\f571\f571"; } -.fa-mobile-retro::before { - content: "\e527"; } +.fa-plane-circle-exclamation { + --fa: "\e556"; + --fa--fa: "\e556\e556"; } -.fa-grip-lines-vertical::before { - content: "\f7a5"; } +.fa-x-ray { + --fa: "\f497"; + --fa--fa: "\f497\f497"; } -.fa-spider::before { - content: "\f717"; } +.fa-spell-check { + --fa: "\f891"; + --fa--fa: "\f891\f891"; } -.fa-hands-bound::before { - content: "\e4f9"; } +.fa-slash { + --fa: "\f715"; + --fa--fa: "\f715\f715"; } -.fa-file-invoice-dollar::before { - content: "\f571"; } +.fa-computer-mouse { + --fa: "\f8cc"; + --fa--fa: "\f8cc\f8cc"; } -.fa-plane-circle-exclamation::before { - content: "\e556"; } +.fa-mouse { + --fa: "\f8cc"; + --fa--fa: "\f8cc\f8cc"; } -.fa-x-ray::before { - content: "\f497"; } +.fa-arrow-right-to-bracket { + --fa: "\f090"; + --fa--fa: "\f090\f090"; } -.fa-spell-check::before { - content: "\f891"; } +.fa-sign-in { + --fa: "\f090"; + --fa--fa: "\f090\f090"; } -.fa-slash::before { - content: "\f715"; } +.fa-shop-slash { + --fa: "\e070"; + --fa--fa: "\e070\e070"; } -.fa-computer-mouse::before { - content: "\f8cc"; } +.fa-store-alt-slash { + --fa: "\e070"; + --fa--fa: "\e070\e070"; } -.fa-mouse::before { - content: "\f8cc"; } +.fa-server { + --fa: "\f233"; + --fa--fa: "\f233\f233"; } -.fa-arrow-right-to-bracket::before { - content: "\f090"; } +.fa-virus-covid-slash { + --fa: "\e4a9"; + --fa--fa: "\e4a9\e4a9"; } -.fa-sign-in::before { - content: "\f090"; } +.fa-shop-lock { + --fa: "\e4a5"; + --fa--fa: "\e4a5\e4a5"; } -.fa-shop-slash::before { - content: "\e070"; } +.fa-hourglass-start { + --fa: "\f251"; + --fa--fa: "\f251\f251"; } -.fa-store-alt-slash::before { - content: "\e070"; } +.fa-hourglass-1 { + --fa: "\f251"; + --fa--fa: "\f251\f251"; } -.fa-server::before { - content: "\f233"; } +.fa-blender-phone { + --fa: "\f6b6"; + --fa--fa: "\f6b6\f6b6"; } -.fa-virus-covid-slash::before { - content: "\e4a9"; } +.fa-building-wheat { + --fa: "\e4db"; + --fa--fa: "\e4db\e4db"; } -.fa-shop-lock::before { - content: "\e4a5"; } +.fa-person-breastfeeding { + --fa: "\e53a"; + --fa--fa: "\e53a\e53a"; } -.fa-hourglass-start::before { - content: "\f251"; } +.fa-right-to-bracket { + --fa: "\f2f6"; + --fa--fa: "\f2f6\f2f6"; } -.fa-hourglass-1::before { - content: "\f251"; } +.fa-sign-in-alt { + --fa: "\f2f6"; + --fa--fa: "\f2f6\f2f6"; } -.fa-blender-phone::before { - content: "\f6b6"; } +.fa-venus { + --fa: "\f221"; + --fa--fa: "\f221\f221"; } -.fa-building-wheat::before { - content: "\e4db"; } +.fa-passport { + --fa: "\f5ab"; + --fa--fa: "\f5ab\f5ab"; } -.fa-person-breastfeeding::before { - content: "\e53a"; } +.fa-thumbtack-slash { + --fa: "\e68f"; + --fa--fa: "\e68f\e68f"; } -.fa-right-to-bracket::before { - content: "\f2f6"; } +.fa-thumb-tack-slash { + --fa: "\e68f"; + --fa--fa: "\e68f\e68f"; } -.fa-sign-in-alt::before { - content: "\f2f6"; } +.fa-heart-pulse { + --fa: "\f21e"; + --fa--fa: "\f21e\f21e"; } -.fa-venus::before { - content: "\f221"; } +.fa-heartbeat { + --fa: "\f21e"; + --fa--fa: "\f21e\f21e"; } -.fa-passport::before { - content: "\f5ab"; } +.fa-people-carry-box { + --fa: "\f4ce"; + --fa--fa: "\f4ce\f4ce"; } -.fa-thumbtack-slash::before { - content: "\e68f"; } +.fa-people-carry { + --fa: "\f4ce"; + --fa--fa: "\f4ce\f4ce"; } -.fa-thumb-tack-slash::before { - content: "\e68f"; } +.fa-temperature-high { + --fa: "\f769"; + --fa--fa: "\f769\f769"; } -.fa-heart-pulse::before { - content: "\f21e"; } +.fa-microchip { + --fa: "\f2db"; + --fa--fa: "\f2db\f2db"; } -.fa-heartbeat::before { - content: "\f21e"; } +.fa-crown { + --fa: "\f521"; + --fa--fa: "\f521\f521"; } -.fa-people-carry-box::before { - content: "\f4ce"; } +.fa-weight-hanging { + --fa: "\f5cd"; + --fa--fa: "\f5cd\f5cd"; } -.fa-people-carry::before { - content: "\f4ce"; } +.fa-xmarks-lines { + --fa: "\e59a"; + --fa--fa: "\e59a\e59a"; } -.fa-temperature-high::before { - content: "\f769"; } +.fa-file-prescription { + --fa: "\f572"; + --fa--fa: "\f572\f572"; } -.fa-microchip::before { - content: "\f2db"; } +.fa-weight-scale { + --fa: "\f496"; + --fa--fa: "\f496\f496"; } -.fa-crown::before { - content: "\f521"; } +.fa-weight { + --fa: "\f496"; + --fa--fa: "\f496\f496"; } -.fa-weight-hanging::before { - content: "\f5cd"; } +.fa-user-group { + --fa: "\f500"; + --fa--fa: "\f500\f500"; } -.fa-xmarks-lines::before { - content: "\e59a"; } +.fa-user-friends { + --fa: "\f500"; + --fa--fa: "\f500\f500"; } -.fa-file-prescription::before { - content: "\f572"; } +.fa-arrow-up-a-z { + --fa: "\f15e"; + --fa--fa: "\f15e\f15e"; } -.fa-weight-scale::before { - content: "\f496"; } +.fa-sort-alpha-up { + --fa: "\f15e"; + --fa--fa: "\f15e\f15e"; } -.fa-weight::before { - content: "\f496"; } +.fa-chess-knight { + --fa: "\f441"; + --fa--fa: "\f441\f441"; } -.fa-user-group::before { - content: "\f500"; } +.fa-face-laugh-squint { + --fa: "\f59b"; + --fa--fa: "\f59b\f59b"; } -.fa-user-friends::before { - content: "\f500"; } +.fa-laugh-squint { + --fa: "\f59b"; + --fa--fa: "\f59b\f59b"; } -.fa-arrow-up-a-z::before { - content: "\f15e"; } +.fa-wheelchair { + --fa: "\f193"; + --fa--fa: "\f193\f193"; } -.fa-sort-alpha-up::before { - content: "\f15e"; } +.fa-circle-arrow-up { + --fa: "\f0aa"; + --fa--fa: "\f0aa\f0aa"; } -.fa-chess-knight::before { - content: "\f441"; } +.fa-arrow-circle-up { + --fa: "\f0aa"; + --fa--fa: "\f0aa\f0aa"; } -.fa-face-laugh-squint::before { - content: "\f59b"; } +.fa-toggle-on { + --fa: "\f205"; + --fa--fa: "\f205\f205"; } -.fa-laugh-squint::before { - content: "\f59b"; } +.fa-person-walking { + --fa: "\f554"; + --fa--fa: "\f554\f554"; } -.fa-wheelchair::before { - content: "\f193"; } +.fa-walking { + --fa: "\f554"; + --fa--fa: "\f554\f554"; } -.fa-circle-arrow-up::before { - content: "\f0aa"; } +.fa-l { + --fa: "\4c"; + --fa--fa: "\4c\4c"; } -.fa-arrow-circle-up::before { - content: "\f0aa"; } +.fa-fire { + --fa: "\f06d"; + --fa--fa: "\f06d\f06d"; } -.fa-toggle-on::before { - content: "\f205"; } +.fa-bed-pulse { + --fa: "\f487"; + --fa--fa: "\f487\f487"; } -.fa-person-walking::before { - content: "\f554"; } +.fa-procedures { + --fa: "\f487"; + --fa--fa: "\f487\f487"; } -.fa-walking::before { - content: "\f554"; } +.fa-shuttle-space { + --fa: "\f197"; + --fa--fa: "\f197\f197"; } -.fa-l::before { - content: "\4c"; } +.fa-space-shuttle { + --fa: "\f197"; + --fa--fa: "\f197\f197"; } -.fa-fire::before { - content: "\f06d"; } +.fa-face-laugh { + --fa: "\f599"; + --fa--fa: "\f599\f599"; } -.fa-bed-pulse::before { - content: "\f487"; } +.fa-laugh { + --fa: "\f599"; + --fa--fa: "\f599\f599"; } -.fa-procedures::before { - content: "\f487"; } +.fa-folder-open { + --fa: "\f07c"; + --fa--fa: "\f07c\f07c"; } -.fa-shuttle-space::before { - content: "\f197"; } +.fa-heart-circle-plus { + --fa: "\e500"; + --fa--fa: "\e500\e500"; } -.fa-space-shuttle::before { - content: "\f197"; } +.fa-code-fork { + --fa: "\e13b"; + --fa--fa: "\e13b\e13b"; } -.fa-face-laugh::before { - content: "\f599"; } +.fa-city { + --fa: "\f64f"; + --fa--fa: "\f64f\f64f"; } -.fa-laugh::before { - content: "\f599"; } +.fa-microphone-lines { + --fa: "\f3c9"; + --fa--fa: "\f3c9\f3c9"; } -.fa-folder-open::before { - content: "\f07c"; } +.fa-microphone-alt { + --fa: "\f3c9"; + --fa--fa: "\f3c9\f3c9"; } -.fa-heart-circle-plus::before { - content: "\e500"; } +.fa-pepper-hot { + --fa: "\f816"; + --fa--fa: "\f816\f816"; } -.fa-code-fork::before { - content: "\e13b"; } +.fa-unlock { + --fa: "\f09c"; + --fa--fa: "\f09c\f09c"; } -.fa-city::before { - content: "\f64f"; } +.fa-colon-sign { + --fa: "\e140"; + --fa--fa: "\e140\e140"; } -.fa-microphone-lines::before { - content: "\f3c9"; } +.fa-headset { + --fa: "\f590"; + --fa--fa: "\f590\f590"; } -.fa-microphone-alt::before { - content: "\f3c9"; } +.fa-store-slash { + --fa: "\e071"; + --fa--fa: "\e071\e071"; } -.fa-pepper-hot::before { - content: "\f816"; } +.fa-road-circle-xmark { + --fa: "\e566"; + --fa--fa: "\e566\e566"; } -.fa-unlock::before { - content: "\f09c"; } +.fa-user-minus { + --fa: "\f503"; + --fa--fa: "\f503\f503"; } -.fa-colon-sign::before { - content: "\e140"; } +.fa-mars-stroke-up { + --fa: "\f22a"; + --fa--fa: "\f22a\f22a"; } -.fa-headset::before { - content: "\f590"; } +.fa-mars-stroke-v { + --fa: "\f22a"; + --fa--fa: "\f22a\f22a"; } -.fa-store-slash::before { - content: "\e071"; } +.fa-champagne-glasses { + --fa: "\f79f"; + --fa--fa: "\f79f\f79f"; } -.fa-road-circle-xmark::before { - content: "\e566"; } +.fa-glass-cheers { + --fa: "\f79f"; + --fa--fa: "\f79f\f79f"; } -.fa-user-minus::before { - content: "\f503"; } +.fa-clipboard { + --fa: "\f328"; + --fa--fa: "\f328\f328"; } -.fa-mars-stroke-up::before { - content: "\f22a"; } +.fa-house-circle-exclamation { + --fa: "\e50a"; + --fa--fa: "\e50a\e50a"; } -.fa-mars-stroke-v::before { - content: "\f22a"; } +.fa-file-arrow-up { + --fa: "\f574"; + --fa--fa: "\f574\f574"; } -.fa-champagne-glasses::before { - content: "\f79f"; } +.fa-file-upload { + --fa: "\f574"; + --fa--fa: "\f574\f574"; } -.fa-glass-cheers::before { - content: "\f79f"; } +.fa-wifi { + --fa: "\f1eb"; + --fa--fa: "\f1eb\f1eb"; } -.fa-clipboard::before { - content: "\f328"; } +.fa-wifi-3 { + --fa: "\f1eb"; + --fa--fa: "\f1eb\f1eb"; } -.fa-house-circle-exclamation::before { - content: "\e50a"; } +.fa-wifi-strong { + --fa: "\f1eb"; + --fa--fa: "\f1eb\f1eb"; } -.fa-file-arrow-up::before { - content: "\f574"; } +.fa-bath { + --fa: "\f2cd"; + --fa--fa: "\f2cd\f2cd"; } -.fa-file-upload::before { - content: "\f574"; } +.fa-bathtub { + --fa: "\f2cd"; + --fa--fa: "\f2cd\f2cd"; } -.fa-wifi::before { - content: "\f1eb"; } +.fa-underline { + --fa: "\f0cd"; + --fa--fa: "\f0cd\f0cd"; } -.fa-wifi-3::before { - content: "\f1eb"; } +.fa-user-pen { + --fa: "\f4ff"; + --fa--fa: "\f4ff\f4ff"; } -.fa-wifi-strong::before { - content: "\f1eb"; } +.fa-user-edit { + --fa: "\f4ff"; + --fa--fa: "\f4ff\f4ff"; } -.fa-bath::before { - content: "\f2cd"; } +.fa-signature { + --fa: "\f5b7"; + --fa--fa: "\f5b7\f5b7"; } -.fa-bathtub::before { - content: "\f2cd"; } +.fa-stroopwafel { + --fa: "\f551"; + --fa--fa: "\f551\f551"; } -.fa-underline::before { - content: "\f0cd"; } +.fa-bold { + --fa: "\f032"; + --fa--fa: "\f032\f032"; } -.fa-user-pen::before { - content: "\f4ff"; } +.fa-anchor-lock { + --fa: "\e4ad"; + --fa--fa: "\e4ad\e4ad"; } -.fa-user-edit::before { - content: "\f4ff"; } +.fa-building-ngo { + --fa: "\e4d7"; + --fa--fa: "\e4d7\e4d7"; } -.fa-signature::before { - content: "\f5b7"; } +.fa-manat-sign { + --fa: "\e1d5"; + --fa--fa: "\e1d5\e1d5"; } -.fa-stroopwafel::before { - content: "\f551"; } +.fa-not-equal { + --fa: "\f53e"; + --fa--fa: "\f53e\f53e"; } -.fa-bold::before { - content: "\f032"; } +.fa-border-top-left { + --fa: "\f853"; + --fa--fa: "\f853\f853"; } -.fa-anchor-lock::before { - content: "\e4ad"; } +.fa-border-style { + --fa: "\f853"; + --fa--fa: "\f853\f853"; } -.fa-building-ngo::before { - content: "\e4d7"; } +.fa-map-location-dot { + --fa: "\f5a0"; + --fa--fa: "\f5a0\f5a0"; } -.fa-manat-sign::before { - content: "\e1d5"; } +.fa-map-marked-alt { + --fa: "\f5a0"; + --fa--fa: "\f5a0\f5a0"; } -.fa-not-equal::before { - content: "\f53e"; } +.fa-jedi { + --fa: "\f669"; + --fa--fa: "\f669\f669"; } -.fa-border-top-left::before { - content: "\f853"; } +.fa-square-poll-vertical { + --fa: "\f681"; + --fa--fa: "\f681\f681"; } -.fa-border-style::before { - content: "\f853"; } +.fa-poll { + --fa: "\f681"; + --fa--fa: "\f681\f681"; } -.fa-map-location-dot::before { - content: "\f5a0"; } +.fa-mug-hot { + --fa: "\f7b6"; + --fa--fa: "\f7b6\f7b6"; } -.fa-map-marked-alt::before { - content: "\f5a0"; } +.fa-car-battery { + --fa: "\f5df"; + --fa--fa: "\f5df\f5df"; } -.fa-jedi::before { - content: "\f669"; } +.fa-battery-car { + --fa: "\f5df"; + --fa--fa: "\f5df\f5df"; } -.fa-square-poll-vertical::before { - content: "\f681"; } +.fa-gift { + --fa: "\f06b"; + --fa--fa: "\f06b\f06b"; } -.fa-poll::before { - content: "\f681"; } +.fa-dice-two { + --fa: "\f528"; + --fa--fa: "\f528\f528"; } -.fa-mug-hot::before { - content: "\f7b6"; } +.fa-chess-queen { + --fa: "\f445"; + --fa--fa: "\f445\f445"; } -.fa-car-battery::before { - content: "\f5df"; } +.fa-glasses { + --fa: "\f530"; + --fa--fa: "\f530\f530"; } -.fa-battery-car::before { - content: "\f5df"; } +.fa-chess-board { + --fa: "\f43c"; + --fa--fa: "\f43c\f43c"; } -.fa-gift::before { - content: "\f06b"; } +.fa-building-circle-check { + --fa: "\e4d2"; + --fa--fa: "\e4d2\e4d2"; } -.fa-dice-two::before { - content: "\f528"; } +.fa-person-chalkboard { + --fa: "\e53d"; + --fa--fa: "\e53d\e53d"; } -.fa-chess-queen::before { - content: "\f445"; } +.fa-mars-stroke-right { + --fa: "\f22b"; + --fa--fa: "\f22b\f22b"; } -.fa-glasses::before { - content: "\f530"; } +.fa-mars-stroke-h { + --fa: "\f22b"; + --fa--fa: "\f22b\f22b"; } -.fa-chess-board::before { - content: "\f43c"; } +.fa-hand-back-fist { + --fa: "\f255"; + --fa--fa: "\f255\f255"; } -.fa-building-circle-check::before { - content: "\e4d2"; } +.fa-hand-rock { + --fa: "\f255"; + --fa--fa: "\f255\f255"; } -.fa-person-chalkboard::before { - content: "\e53d"; } +.fa-square-caret-up { + --fa: "\f151"; + --fa--fa: "\f151\f151"; } -.fa-mars-stroke-right::before { - content: "\f22b"; } +.fa-caret-square-up { + --fa: "\f151"; + --fa--fa: "\f151\f151"; } -.fa-mars-stroke-h::before { - content: "\f22b"; } +.fa-cloud-showers-water { + --fa: "\e4e4"; + --fa--fa: "\e4e4\e4e4"; } -.fa-hand-back-fist::before { - content: "\f255"; } +.fa-chart-bar { + --fa: "\f080"; + --fa--fa: "\f080\f080"; } -.fa-hand-rock::before { - content: "\f255"; } +.fa-bar-chart { + --fa: "\f080"; + --fa--fa: "\f080\f080"; } -.fa-square-caret-up::before { - content: "\f151"; } +.fa-hands-bubbles { + --fa: "\e05e"; + --fa--fa: "\e05e\e05e"; } -.fa-caret-square-up::before { - content: "\f151"; } +.fa-hands-wash { + --fa: "\e05e"; + --fa--fa: "\e05e\e05e"; } -.fa-cloud-showers-water::before { - content: "\e4e4"; } +.fa-less-than-equal { + --fa: "\f537"; + --fa--fa: "\f537\f537"; } -.fa-chart-bar::before { - content: "\f080"; } +.fa-train { + --fa: "\f238"; + --fa--fa: "\f238\f238"; } -.fa-bar-chart::before { - content: "\f080"; } +.fa-eye-low-vision { + --fa: "\f2a8"; + --fa--fa: "\f2a8\f2a8"; } -.fa-hands-bubbles::before { - content: "\e05e"; } +.fa-low-vision { + --fa: "\f2a8"; + --fa--fa: "\f2a8\f2a8"; } -.fa-hands-wash::before { - content: "\e05e"; } +.fa-crow { + --fa: "\f520"; + --fa--fa: "\f520\f520"; } -.fa-less-than-equal::before { - content: "\f537"; } +.fa-sailboat { + --fa: "\e445"; + --fa--fa: "\e445\e445"; } -.fa-train::before { - content: "\f238"; } +.fa-window-restore { + --fa: "\f2d2"; + --fa--fa: "\f2d2\f2d2"; } -.fa-eye-low-vision::before { - content: "\f2a8"; } +.fa-square-plus { + --fa: "\f0fe"; + --fa--fa: "\f0fe\f0fe"; } -.fa-low-vision::before { - content: "\f2a8"; } +.fa-plus-square { + --fa: "\f0fe"; + --fa--fa: "\f0fe\f0fe"; } -.fa-crow::before { - content: "\f520"; } +.fa-torii-gate { + --fa: "\f6a1"; + --fa--fa: "\f6a1\f6a1"; } -.fa-sailboat::before { - content: "\e445"; } +.fa-frog { + --fa: "\f52e"; + --fa--fa: "\f52e\f52e"; } -.fa-window-restore::before { - content: "\f2d2"; } +.fa-bucket { + --fa: "\e4cf"; + --fa--fa: "\e4cf\e4cf"; } -.fa-square-plus::before { - content: "\f0fe"; } +.fa-image { + --fa: "\f03e"; + --fa--fa: "\f03e\f03e"; } -.fa-plus-square::before { - content: "\f0fe"; } +.fa-microphone { + --fa: "\f130"; + --fa--fa: "\f130\f130"; } -.fa-torii-gate::before { - content: "\f6a1"; } +.fa-cow { + --fa: "\f6c8"; + --fa--fa: "\f6c8\f6c8"; } -.fa-frog::before { - content: "\f52e"; } +.fa-caret-up { + --fa: "\f0d8"; + --fa--fa: "\f0d8\f0d8"; } -.fa-bucket::before { - content: "\e4cf"; } +.fa-screwdriver { + --fa: "\f54a"; + --fa--fa: "\f54a\f54a"; } -.fa-image::before { - content: "\f03e"; } +.fa-folder-closed { + --fa: "\e185"; + --fa--fa: "\e185\e185"; } -.fa-microphone::before { - content: "\f130"; } +.fa-house-tsunami { + --fa: "\e515"; + --fa--fa: "\e515\e515"; } -.fa-cow::before { - content: "\f6c8"; } +.fa-square-nfi { + --fa: "\e576"; + --fa--fa: "\e576\e576"; } -.fa-caret-up::before { - content: "\f0d8"; } +.fa-arrow-up-from-ground-water { + --fa: "\e4b5"; + --fa--fa: "\e4b5\e4b5"; } -.fa-screwdriver::before { - content: "\f54a"; } +.fa-martini-glass { + --fa: "\f57b"; + --fa--fa: "\f57b\f57b"; } -.fa-folder-closed::before { - content: "\e185"; } +.fa-glass-martini-alt { + --fa: "\f57b"; + --fa--fa: "\f57b\f57b"; } -.fa-house-tsunami::before { - content: "\e515"; } +.fa-square-binary { + --fa: "\e69b"; + --fa--fa: "\e69b\e69b"; } -.fa-square-nfi::before { - content: "\e576"; } +.fa-rotate-left { + --fa: "\f2ea"; + --fa--fa: "\f2ea\f2ea"; } -.fa-arrow-up-from-ground-water::before { - content: "\e4b5"; } +.fa-rotate-back { + --fa: "\f2ea"; + --fa--fa: "\f2ea\f2ea"; } -.fa-martini-glass::before { - content: "\f57b"; } +.fa-rotate-backward { + --fa: "\f2ea"; + --fa--fa: "\f2ea\f2ea"; } -.fa-glass-martini-alt::before { - content: "\f57b"; } +.fa-undo-alt { + --fa: "\f2ea"; + --fa--fa: "\f2ea\f2ea"; } -.fa-rotate-left::before { - content: "\f2ea"; } +.fa-table-columns { + --fa: "\f0db"; + --fa--fa: "\f0db\f0db"; } -.fa-rotate-back::before { - content: "\f2ea"; } +.fa-columns { + --fa: "\f0db"; + --fa--fa: "\f0db\f0db"; } -.fa-rotate-backward::before { - content: "\f2ea"; } +.fa-lemon { + --fa: "\f094"; + --fa--fa: "\f094\f094"; } -.fa-undo-alt::before { - content: "\f2ea"; } +.fa-head-side-mask { + --fa: "\e063"; + --fa--fa: "\e063\e063"; } -.fa-table-columns::before { - content: "\f0db"; } +.fa-handshake { + --fa: "\f2b5"; + --fa--fa: "\f2b5\f2b5"; } -.fa-columns::before { - content: "\f0db"; } +.fa-gem { + --fa: "\f3a5"; + --fa--fa: "\f3a5\f3a5"; } -.fa-lemon::before { - content: "\f094"; } +.fa-dolly { + --fa: "\f472"; + --fa--fa: "\f472\f472"; } -.fa-head-side-mask::before { - content: "\e063"; } +.fa-dolly-box { + --fa: "\f472"; + --fa--fa: "\f472\f472"; } -.fa-handshake::before { - content: "\f2b5"; } +.fa-smoking { + --fa: "\f48d"; + --fa--fa: "\f48d\f48d"; } -.fa-gem::before { - content: "\f3a5"; } +.fa-minimize { + --fa: "\f78c"; + --fa--fa: "\f78c\f78c"; } -.fa-dolly::before { - content: "\f472"; } +.fa-compress-arrows-alt { + --fa: "\f78c"; + --fa--fa: "\f78c\f78c"; } -.fa-dolly-box::before { - content: "\f472"; } +.fa-monument { + --fa: "\f5a6"; + --fa--fa: "\f5a6\f5a6"; } -.fa-smoking::before { - content: "\f48d"; } +.fa-snowplow { + --fa: "\f7d2"; + --fa--fa: "\f7d2\f7d2"; } -.fa-minimize::before { - content: "\f78c"; } +.fa-angles-right { + --fa: "\f101"; + --fa--fa: "\f101\f101"; } -.fa-compress-arrows-alt::before { - content: "\f78c"; } +.fa-angle-double-right { + --fa: "\f101"; + --fa--fa: "\f101\f101"; } -.fa-monument::before { - content: "\f5a6"; } +.fa-cannabis { + --fa: "\f55f"; + --fa--fa: "\f55f\f55f"; } -.fa-snowplow::before { - content: "\f7d2"; } +.fa-circle-play { + --fa: "\f144"; + --fa--fa: "\f144\f144"; } -.fa-angles-right::before { - content: "\f101"; } +.fa-play-circle { + --fa: "\f144"; + --fa--fa: "\f144\f144"; } -.fa-angle-double-right::before { - content: "\f101"; } +.fa-tablets { + --fa: "\f490"; + --fa--fa: "\f490\f490"; } -.fa-cannabis::before { - content: "\f55f"; } +.fa-ethernet { + --fa: "\f796"; + --fa--fa: "\f796\f796"; } -.fa-circle-play::before { - content: "\f144"; } +.fa-euro-sign { + --fa: "\f153"; + --fa--fa: "\f153\f153"; } -.fa-play-circle::before { - content: "\f144"; } +.fa-eur { + --fa: "\f153"; + --fa--fa: "\f153\f153"; } -.fa-tablets::before { - content: "\f490"; } +.fa-euro { + --fa: "\f153"; + --fa--fa: "\f153\f153"; } -.fa-ethernet::before { - content: "\f796"; } +.fa-chair { + --fa: "\f6c0"; + --fa--fa: "\f6c0\f6c0"; } -.fa-euro-sign::before { - content: "\f153"; } +.fa-circle-check { + --fa: "\f058"; + --fa--fa: "\f058\f058"; } -.fa-eur::before { - content: "\f153"; } +.fa-check-circle { + --fa: "\f058"; + --fa--fa: "\f058\f058"; } -.fa-euro::before { - content: "\f153"; } +.fa-circle-stop { + --fa: "\f28d"; + --fa--fa: "\f28d\f28d"; } -.fa-chair::before { - content: "\f6c0"; } +.fa-stop-circle { + --fa: "\f28d"; + --fa--fa: "\f28d\f28d"; } -.fa-circle-check::before { - content: "\f058"; } +.fa-compass-drafting { + --fa: "\f568"; + --fa--fa: "\f568\f568"; } -.fa-check-circle::before { - content: "\f058"; } +.fa-drafting-compass { + --fa: "\f568"; + --fa--fa: "\f568\f568"; } -.fa-circle-stop::before { - content: "\f28d"; } +.fa-plate-wheat { + --fa: "\e55a"; + --fa--fa: "\e55a\e55a"; } -.fa-stop-circle::before { - content: "\f28d"; } +.fa-icicles { + --fa: "\f7ad"; + --fa--fa: "\f7ad\f7ad"; } -.fa-compass-drafting::before { - content: "\f568"; } +.fa-person-shelter { + --fa: "\e54f"; + --fa--fa: "\e54f\e54f"; } -.fa-drafting-compass::before { - content: "\f568"; } +.fa-neuter { + --fa: "\f22c"; + --fa--fa: "\f22c\f22c"; } -.fa-plate-wheat::before { - content: "\e55a"; } +.fa-id-badge { + --fa: "\f2c1"; + --fa--fa: "\f2c1\f2c1"; } -.fa-icicles::before { - content: "\f7ad"; } +.fa-marker { + --fa: "\f5a1"; + --fa--fa: "\f5a1\f5a1"; } -.fa-person-shelter::before { - content: "\e54f"; } +.fa-face-laugh-beam { + --fa: "\f59a"; + --fa--fa: "\f59a\f59a"; } -.fa-neuter::before { - content: "\f22c"; } +.fa-laugh-beam { + --fa: "\f59a"; + --fa--fa: "\f59a\f59a"; } -.fa-id-badge::before { - content: "\f2c1"; } +.fa-helicopter-symbol { + --fa: "\e502"; + --fa--fa: "\e502\e502"; } -.fa-marker::before { - content: "\f5a1"; } +.fa-universal-access { + --fa: "\f29a"; + --fa--fa: "\f29a\f29a"; } -.fa-face-laugh-beam::before { - content: "\f59a"; } +.fa-circle-chevron-up { + --fa: "\f139"; + --fa--fa: "\f139\f139"; } -.fa-laugh-beam::before { - content: "\f59a"; } +.fa-chevron-circle-up { + --fa: "\f139"; + --fa--fa: "\f139\f139"; } -.fa-helicopter-symbol::before { - content: "\e502"; } +.fa-lari-sign { + --fa: "\e1c8"; + --fa--fa: "\e1c8\e1c8"; } -.fa-universal-access::before { - content: "\f29a"; } +.fa-volcano { + --fa: "\f770"; + --fa--fa: "\f770\f770"; } -.fa-circle-chevron-up::before { - content: "\f139"; } +.fa-person-walking-dashed-line-arrow-right { + --fa: "\e553"; + --fa--fa: "\e553\e553"; } -.fa-chevron-circle-up::before { - content: "\f139"; } +.fa-sterling-sign { + --fa: "\f154"; + --fa--fa: "\f154\f154"; } -.fa-lari-sign::before { - content: "\e1c8"; } +.fa-gbp { + --fa: "\f154"; + --fa--fa: "\f154\f154"; } -.fa-volcano::before { - content: "\f770"; } +.fa-pound-sign { + --fa: "\f154"; + --fa--fa: "\f154\f154"; } -.fa-person-walking-dashed-line-arrow-right::before { - content: "\e553"; } +.fa-viruses { + --fa: "\e076"; + --fa--fa: "\e076\e076"; } -.fa-sterling-sign::before { - content: "\f154"; } +.fa-square-person-confined { + --fa: "\e577"; + --fa--fa: "\e577\e577"; } -.fa-gbp::before { - content: "\f154"; } +.fa-user-tie { + --fa: "\f508"; + --fa--fa: "\f508\f508"; } -.fa-pound-sign::before { - content: "\f154"; } +.fa-arrow-down-long { + --fa: "\f175"; + --fa--fa: "\f175\f175"; } -.fa-viruses::before { - content: "\e076"; } +.fa-long-arrow-down { + --fa: "\f175"; + --fa--fa: "\f175\f175"; } -.fa-square-person-confined::before { - content: "\e577"; } +.fa-tent-arrow-down-to-line { + --fa: "\e57e"; + --fa--fa: "\e57e\e57e"; } -.fa-user-tie::before { - content: "\f508"; } +.fa-certificate { + --fa: "\f0a3"; + --fa--fa: "\f0a3\f0a3"; } -.fa-arrow-down-long::before { - content: "\f175"; } +.fa-reply-all { + --fa: "\f122"; + --fa--fa: "\f122\f122"; } -.fa-long-arrow-down::before { - content: "\f175"; } +.fa-mail-reply-all { + --fa: "\f122"; + --fa--fa: "\f122\f122"; } -.fa-tent-arrow-down-to-line::before { - content: "\e57e"; } +.fa-suitcase { + --fa: "\f0f2"; + --fa--fa: "\f0f2\f0f2"; } -.fa-certificate::before { - content: "\f0a3"; } +.fa-person-skating { + --fa: "\f7c5"; + --fa--fa: "\f7c5\f7c5"; } -.fa-reply-all::before { - content: "\f122"; } +.fa-skating { + --fa: "\f7c5"; + --fa--fa: "\f7c5\f7c5"; } -.fa-mail-reply-all::before { - content: "\f122"; } +.fa-filter-circle-dollar { + --fa: "\f662"; + --fa--fa: "\f662\f662"; } -.fa-suitcase::before { - content: "\f0f2"; } +.fa-funnel-dollar { + --fa: "\f662"; + --fa--fa: "\f662\f662"; } -.fa-person-skating::before { - content: "\f7c5"; } +.fa-camera-retro { + --fa: "\f083"; + --fa--fa: "\f083\f083"; } -.fa-skating::before { - content: "\f7c5"; } +.fa-circle-arrow-down { + --fa: "\f0ab"; + --fa--fa: "\f0ab\f0ab"; } -.fa-filter-circle-dollar::before { - content: "\f662"; } +.fa-arrow-circle-down { + --fa: "\f0ab"; + --fa--fa: "\f0ab\f0ab"; } -.fa-funnel-dollar::before { - content: "\f662"; } +.fa-file-import { + --fa: "\f56f"; + --fa--fa: "\f56f\f56f"; } -.fa-camera-retro::before { - content: "\f083"; } +.fa-arrow-right-to-file { + --fa: "\f56f"; + --fa--fa: "\f56f\f56f"; } -.fa-circle-arrow-down::before { - content: "\f0ab"; } +.fa-square-arrow-up-right { + --fa: "\f14c"; + --fa--fa: "\f14c\f14c"; } -.fa-arrow-circle-down::before { - content: "\f0ab"; } +.fa-external-link-square { + --fa: "\f14c"; + --fa--fa: "\f14c\f14c"; } -.fa-file-import::before { - content: "\f56f"; } +.fa-box-open { + --fa: "\f49e"; + --fa--fa: "\f49e\f49e"; } -.fa-arrow-right-to-file::before { - content: "\f56f"; } +.fa-scroll { + --fa: "\f70e"; + --fa--fa: "\f70e\f70e"; } -.fa-square-arrow-up-right::before { - content: "\f14c"; } +.fa-spa { + --fa: "\f5bb"; + --fa--fa: "\f5bb\f5bb"; } -.fa-external-link-square::before { - content: "\f14c"; } +.fa-location-pin-lock { + --fa: "\e51f"; + --fa--fa: "\e51f\e51f"; } -.fa-box-open::before { - content: "\f49e"; } +.fa-pause { + --fa: "\f04c"; + --fa--fa: "\f04c\f04c"; } -.fa-scroll::before { - content: "\f70e"; } +.fa-hill-avalanche { + --fa: "\e507"; + --fa--fa: "\e507\e507"; } -.fa-spa::before { - content: "\f5bb"; } +.fa-temperature-empty { + --fa: "\f2cb"; + --fa--fa: "\f2cb\f2cb"; } -.fa-location-pin-lock::before { - content: "\e51f"; } +.fa-temperature-0 { + --fa: "\f2cb"; + --fa--fa: "\f2cb\f2cb"; } -.fa-pause::before { - content: "\f04c"; } +.fa-thermometer-0 { + --fa: "\f2cb"; + --fa--fa: "\f2cb\f2cb"; } -.fa-hill-avalanche::before { - content: "\e507"; } +.fa-thermometer-empty { + --fa: "\f2cb"; + --fa--fa: "\f2cb\f2cb"; } -.fa-temperature-empty::before { - content: "\f2cb"; } +.fa-bomb { + --fa: "\f1e2"; + --fa--fa: "\f1e2\f1e2"; } -.fa-temperature-0::before { - content: "\f2cb"; } +.fa-registered { + --fa: "\f25d"; + --fa--fa: "\f25d\f25d"; } -.fa-thermometer-0::before { - content: "\f2cb"; } +.fa-address-card { + --fa: "\f2bb"; + --fa--fa: "\f2bb\f2bb"; } -.fa-thermometer-empty::before { - content: "\f2cb"; } +.fa-contact-card { + --fa: "\f2bb"; + --fa--fa: "\f2bb\f2bb"; } -.fa-bomb::before { - content: "\f1e2"; } +.fa-vcard { + --fa: "\f2bb"; + --fa--fa: "\f2bb\f2bb"; } -.fa-registered::before { - content: "\f25d"; } +.fa-scale-unbalanced-flip { + --fa: "\f516"; + --fa--fa: "\f516\f516"; } -.fa-address-card::before { - content: "\f2bb"; } +.fa-balance-scale-right { + --fa: "\f516"; + --fa--fa: "\f516\f516"; } -.fa-contact-card::before { - content: "\f2bb"; } +.fa-subscript { + --fa: "\f12c"; + --fa--fa: "\f12c\f12c"; } -.fa-vcard::before { - content: "\f2bb"; } +.fa-diamond-turn-right { + --fa: "\f5eb"; + --fa--fa: "\f5eb\f5eb"; } -.fa-scale-unbalanced-flip::before { - content: "\f516"; } +.fa-directions { + --fa: "\f5eb"; + --fa--fa: "\f5eb\f5eb"; } -.fa-balance-scale-right::before { - content: "\f516"; } +.fa-burst { + --fa: "\e4dc"; + --fa--fa: "\e4dc\e4dc"; } -.fa-subscript::before { - content: "\f12c"; } +.fa-house-laptop { + --fa: "\e066"; + --fa--fa: "\e066\e066"; } -.fa-diamond-turn-right::before { - content: "\f5eb"; } +.fa-laptop-house { + --fa: "\e066"; + --fa--fa: "\e066\e066"; } -.fa-directions::before { - content: "\f5eb"; } +.fa-face-tired { + --fa: "\f5c8"; + --fa--fa: "\f5c8\f5c8"; } -.fa-burst::before { - content: "\e4dc"; } +.fa-tired { + --fa: "\f5c8"; + --fa--fa: "\f5c8\f5c8"; } -.fa-house-laptop::before { - content: "\e066"; } +.fa-money-bills { + --fa: "\e1f3"; + --fa--fa: "\e1f3\e1f3"; } -.fa-laptop-house::before { - content: "\e066"; } +.fa-smog { + --fa: "\f75f"; + --fa--fa: "\f75f\f75f"; } -.fa-face-tired::before { - content: "\f5c8"; } +.fa-crutch { + --fa: "\f7f7"; + --fa--fa: "\f7f7\f7f7"; } -.fa-tired::before { - content: "\f5c8"; } +.fa-cloud-arrow-up { + --fa: "\f0ee"; + --fa--fa: "\f0ee\f0ee"; } -.fa-money-bills::before { - content: "\e1f3"; } +.fa-cloud-upload { + --fa: "\f0ee"; + --fa--fa: "\f0ee\f0ee"; } -.fa-smog::before { - content: "\f75f"; } +.fa-cloud-upload-alt { + --fa: "\f0ee"; + --fa--fa: "\f0ee\f0ee"; } -.fa-crutch::before { - content: "\f7f7"; } +.fa-palette { + --fa: "\f53f"; + --fa--fa: "\f53f\f53f"; } -.fa-cloud-arrow-up::before { - content: "\f0ee"; } +.fa-arrows-turn-right { + --fa: "\e4c0"; + --fa--fa: "\e4c0\e4c0"; } -.fa-cloud-upload::before { - content: "\f0ee"; } +.fa-vest { + --fa: "\e085"; + --fa--fa: "\e085\e085"; } -.fa-cloud-upload-alt::before { - content: "\f0ee"; } +.fa-ferry { + --fa: "\e4ea"; + --fa--fa: "\e4ea\e4ea"; } -.fa-palette::before { - content: "\f53f"; } +.fa-arrows-down-to-people { + --fa: "\e4b9"; + --fa--fa: "\e4b9\e4b9"; } -.fa-arrows-turn-right::before { - content: "\e4c0"; } +.fa-seedling { + --fa: "\f4d8"; + --fa--fa: "\f4d8\f4d8"; } -.fa-vest::before { - content: "\e085"; } +.fa-sprout { + --fa: "\f4d8"; + --fa--fa: "\f4d8\f4d8"; } -.fa-ferry::before { - content: "\e4ea"; } +.fa-left-right { + --fa: "\f337"; + --fa--fa: "\f337\f337"; } -.fa-arrows-down-to-people::before { - content: "\e4b9"; } +.fa-arrows-alt-h { + --fa: "\f337"; + --fa--fa: "\f337\f337"; } -.fa-seedling::before { - content: "\f4d8"; } +.fa-boxes-packing { + --fa: "\e4c7"; + --fa--fa: "\e4c7\e4c7"; } -.fa-sprout::before { - content: "\f4d8"; } +.fa-circle-arrow-left { + --fa: "\f0a8"; + --fa--fa: "\f0a8\f0a8"; } -.fa-left-right::before { - content: "\f337"; } +.fa-arrow-circle-left { + --fa: "\f0a8"; + --fa--fa: "\f0a8\f0a8"; } -.fa-arrows-alt-h::before { - content: "\f337"; } +.fa-group-arrows-rotate { + --fa: "\e4f6"; + --fa--fa: "\e4f6\e4f6"; } -.fa-boxes-packing::before { - content: "\e4c7"; } +.fa-bowl-food { + --fa: "\e4c6"; + --fa--fa: "\e4c6\e4c6"; } -.fa-circle-arrow-left::before { - content: "\f0a8"; } +.fa-candy-cane { + --fa: "\f786"; + --fa--fa: "\f786\f786"; } -.fa-arrow-circle-left::before { - content: "\f0a8"; } +.fa-arrow-down-wide-short { + --fa: "\f160"; + --fa--fa: "\f160\f160"; } -.fa-group-arrows-rotate::before { - content: "\e4f6"; } +.fa-sort-amount-asc { + --fa: "\f160"; + --fa--fa: "\f160\f160"; } -.fa-bowl-food::before { - content: "\e4c6"; } +.fa-sort-amount-down { + --fa: "\f160"; + --fa--fa: "\f160\f160"; } -.fa-candy-cane::before { - content: "\f786"; } +.fa-cloud-bolt { + --fa: "\f76c"; + --fa--fa: "\f76c\f76c"; } -.fa-arrow-down-wide-short::before { - content: "\f160"; } +.fa-thunderstorm { + --fa: "\f76c"; + --fa--fa: "\f76c\f76c"; } -.fa-sort-amount-asc::before { - content: "\f160"; } +.fa-text-slash { + --fa: "\f87d"; + --fa--fa: "\f87d\f87d"; } -.fa-sort-amount-down::before { - content: "\f160"; } +.fa-remove-format { + --fa: "\f87d"; + --fa--fa: "\f87d\f87d"; } -.fa-cloud-bolt::before { - content: "\f76c"; } +.fa-face-smile-wink { + --fa: "\f4da"; + --fa--fa: "\f4da\f4da"; } -.fa-thunderstorm::before { - content: "\f76c"; } +.fa-smile-wink { + --fa: "\f4da"; + --fa--fa: "\f4da\f4da"; } -.fa-text-slash::before { - content: "\f87d"; } +.fa-file-word { + --fa: "\f1c2"; + --fa--fa: "\f1c2\f1c2"; } -.fa-remove-format::before { - content: "\f87d"; } +.fa-file-powerpoint { + --fa: "\f1c4"; + --fa--fa: "\f1c4\f1c4"; } -.fa-face-smile-wink::before { - content: "\f4da"; } +.fa-arrows-left-right { + --fa: "\f07e"; + --fa--fa: "\f07e\f07e"; } -.fa-smile-wink::before { - content: "\f4da"; } +.fa-arrows-h { + --fa: "\f07e"; + --fa--fa: "\f07e\f07e"; } -.fa-file-word::before { - content: "\f1c2"; } +.fa-house-lock { + --fa: "\e510"; + --fa--fa: "\e510\e510"; } -.fa-file-powerpoint::before { - content: "\f1c4"; } +.fa-cloud-arrow-down { + --fa: "\f0ed"; + --fa--fa: "\f0ed\f0ed"; } -.fa-arrows-left-right::before { - content: "\f07e"; } +.fa-cloud-download { + --fa: "\f0ed"; + --fa--fa: "\f0ed\f0ed"; } -.fa-arrows-h::before { - content: "\f07e"; } +.fa-cloud-download-alt { + --fa: "\f0ed"; + --fa--fa: "\f0ed\f0ed"; } -.fa-house-lock::before { - content: "\e510"; } +.fa-children { + --fa: "\e4e1"; + --fa--fa: "\e4e1\e4e1"; } -.fa-cloud-arrow-down::before { - content: "\f0ed"; } +.fa-chalkboard { + --fa: "\f51b"; + --fa--fa: "\f51b\f51b"; } -.fa-cloud-download::before { - content: "\f0ed"; } +.fa-blackboard { + --fa: "\f51b"; + --fa--fa: "\f51b\f51b"; } -.fa-cloud-download-alt::before { - content: "\f0ed"; } +.fa-user-large-slash { + --fa: "\f4fa"; + --fa--fa: "\f4fa\f4fa"; } -.fa-children::before { - content: "\e4e1"; } +.fa-user-alt-slash { + --fa: "\f4fa"; + --fa--fa: "\f4fa\f4fa"; } -.fa-chalkboard::before { - content: "\f51b"; } +.fa-envelope-open { + --fa: "\f2b6"; + --fa--fa: "\f2b6\f2b6"; } -.fa-blackboard::before { - content: "\f51b"; } +.fa-handshake-simple-slash { + --fa: "\e05f"; + --fa--fa: "\e05f\e05f"; } -.fa-user-large-slash::before { - content: "\f4fa"; } +.fa-handshake-alt-slash { + --fa: "\e05f"; + --fa--fa: "\e05f\e05f"; } -.fa-user-alt-slash::before { - content: "\f4fa"; } +.fa-mattress-pillow { + --fa: "\e525"; + --fa--fa: "\e525\e525"; } -.fa-envelope-open::before { - content: "\f2b6"; } +.fa-guarani-sign { + --fa: "\e19a"; + --fa--fa: "\e19a\e19a"; } -.fa-handshake-simple-slash::before { - content: "\e05f"; } +.fa-arrows-rotate { + --fa: "\f021"; + --fa--fa: "\f021\f021"; } -.fa-handshake-alt-slash::before { - content: "\e05f"; } +.fa-refresh { + --fa: "\f021"; + --fa--fa: "\f021\f021"; } -.fa-mattress-pillow::before { - content: "\e525"; } +.fa-sync { + --fa: "\f021"; + --fa--fa: "\f021\f021"; } -.fa-guarani-sign::before { - content: "\e19a"; } +.fa-fire-extinguisher { + --fa: "\f134"; + --fa--fa: "\f134\f134"; } -.fa-arrows-rotate::before { - content: "\f021"; } +.fa-cruzeiro-sign { + --fa: "\e152"; + --fa--fa: "\e152\e152"; } -.fa-refresh::before { - content: "\f021"; } +.fa-greater-than-equal { + --fa: "\f532"; + --fa--fa: "\f532\f532"; } -.fa-sync::before { - content: "\f021"; } +.fa-shield-halved { + --fa: "\f3ed"; + --fa--fa: "\f3ed\f3ed"; } -.fa-fire-extinguisher::before { - content: "\f134"; } +.fa-shield-alt { + --fa: "\f3ed"; + --fa--fa: "\f3ed\f3ed"; } -.fa-cruzeiro-sign::before { - content: "\e152"; } +.fa-book-atlas { + --fa: "\f558"; + --fa--fa: "\f558\f558"; } -.fa-greater-than-equal::before { - content: "\f532"; } +.fa-atlas { + --fa: "\f558"; + --fa--fa: "\f558\f558"; } -.fa-shield-halved::before { - content: "\f3ed"; } +.fa-virus { + --fa: "\e074"; + --fa--fa: "\e074\e074"; } -.fa-shield-alt::before { - content: "\f3ed"; } +.fa-envelope-circle-check { + --fa: "\e4e8"; + --fa--fa: "\e4e8\e4e8"; } -.fa-book-atlas::before { - content: "\f558"; } +.fa-layer-group { + --fa: "\f5fd"; + --fa--fa: "\f5fd\f5fd"; } -.fa-atlas::before { - content: "\f558"; } +.fa-arrows-to-dot { + --fa: "\e4be"; + --fa--fa: "\e4be\e4be"; } -.fa-virus::before { - content: "\e074"; } +.fa-archway { + --fa: "\f557"; + --fa--fa: "\f557\f557"; } -.fa-envelope-circle-check::before { - content: "\e4e8"; } +.fa-heart-circle-check { + --fa: "\e4fd"; + --fa--fa: "\e4fd\e4fd"; } -.fa-layer-group::before { - content: "\f5fd"; } +.fa-house-chimney-crack { + --fa: "\f6f1"; + --fa--fa: "\f6f1\f6f1"; } -.fa-arrows-to-dot::before { - content: "\e4be"; } +.fa-house-damage { + --fa: "\f6f1"; + --fa--fa: "\f6f1\f6f1"; } -.fa-archway::before { - content: "\f557"; } +.fa-file-zipper { + --fa: "\f1c6"; + --fa--fa: "\f1c6\f1c6"; } -.fa-heart-circle-check::before { - content: "\e4fd"; } +.fa-file-archive { + --fa: "\f1c6"; + --fa--fa: "\f1c6\f1c6"; } -.fa-house-chimney-crack::before { - content: "\f6f1"; } +.fa-square { + --fa: "\f0c8"; + --fa--fa: "\f0c8\f0c8"; } -.fa-house-damage::before { - content: "\f6f1"; } +.fa-martini-glass-empty { + --fa: "\f000"; + --fa--fa: "\f000\f000"; } -.fa-file-zipper::before { - content: "\f1c6"; } +.fa-glass-martini { + --fa: "\f000"; + --fa--fa: "\f000\f000"; } -.fa-file-archive::before { - content: "\f1c6"; } +.fa-couch { + --fa: "\f4b8"; + --fa--fa: "\f4b8\f4b8"; } -.fa-square::before { - content: "\f0c8"; } +.fa-cedi-sign { + --fa: "\e0df"; + --fa--fa: "\e0df\e0df"; } -.fa-martini-glass-empty::before { - content: "\f000"; } +.fa-italic { + --fa: "\f033"; + --fa--fa: "\f033\f033"; } -.fa-glass-martini::before { - content: "\f000"; } +.fa-table-cells-column-lock { + --fa: "\e678"; + --fa--fa: "\e678\e678"; } -.fa-couch::before { - content: "\f4b8"; } +.fa-church { + --fa: "\f51d"; + --fa--fa: "\f51d\f51d"; } -.fa-cedi-sign::before { - content: "\e0df"; } +.fa-comments-dollar { + --fa: "\f653"; + --fa--fa: "\f653\f653"; } -.fa-italic::before { - content: "\f033"; } +.fa-democrat { + --fa: "\f747"; + --fa--fa: "\f747\f747"; } -.fa-table-cells-column-lock::before { - content: "\e678"; } +.fa-z { + --fa: "\5a"; + --fa--fa: "\5a\5a"; } -.fa-church::before { - content: "\f51d"; } +.fa-person-skiing { + --fa: "\f7c9"; + --fa--fa: "\f7c9\f7c9"; } -.fa-comments-dollar::before { - content: "\f653"; } +.fa-skiing { + --fa: "\f7c9"; + --fa--fa: "\f7c9\f7c9"; } -.fa-democrat::before { - content: "\f747"; } +.fa-road-lock { + --fa: "\e567"; + --fa--fa: "\e567\e567"; } -.fa-z::before { - content: "\5a"; } +.fa-a { + --fa: "\41"; + --fa--fa: "\41\41"; } -.fa-person-skiing::before { - content: "\f7c9"; } +.fa-temperature-arrow-down { + --fa: "\e03f"; + --fa--fa: "\e03f\e03f"; } -.fa-skiing::before { - content: "\f7c9"; } +.fa-temperature-down { + --fa: "\e03f"; + --fa--fa: "\e03f\e03f"; } -.fa-road-lock::before { - content: "\e567"; } +.fa-feather-pointed { + --fa: "\f56b"; + --fa--fa: "\f56b\f56b"; } -.fa-a::before { - content: "\41"; } +.fa-feather-alt { + --fa: "\f56b"; + --fa--fa: "\f56b\f56b"; } -.fa-temperature-arrow-down::before { - content: "\e03f"; } +.fa-p { + --fa: "\50"; + --fa--fa: "\50\50"; } -.fa-temperature-down::before { - content: "\e03f"; } +.fa-snowflake { + --fa: "\f2dc"; + --fa--fa: "\f2dc\f2dc"; } -.fa-feather-pointed::before { - content: "\f56b"; } +.fa-newspaper { + --fa: "\f1ea"; + --fa--fa: "\f1ea\f1ea"; } -.fa-feather-alt::before { - content: "\f56b"; } +.fa-rectangle-ad { + --fa: "\f641"; + --fa--fa: "\f641\f641"; } -.fa-p::before { - content: "\50"; } +.fa-ad { + --fa: "\f641"; + --fa--fa: "\f641\f641"; } -.fa-snowflake::before { - content: "\f2dc"; } +.fa-circle-arrow-right { + --fa: "\f0a9"; + --fa--fa: "\f0a9\f0a9"; } -.fa-newspaper::before { - content: "\f1ea"; } +.fa-arrow-circle-right { + --fa: "\f0a9"; + --fa--fa: "\f0a9\f0a9"; } -.fa-rectangle-ad::before { - content: "\f641"; } +.fa-filter-circle-xmark { + --fa: "\e17b"; + --fa--fa: "\e17b\e17b"; } -.fa-ad::before { - content: "\f641"; } +.fa-locust { + --fa: "\e520"; + --fa--fa: "\e520\e520"; } -.fa-circle-arrow-right::before { - content: "\f0a9"; } +.fa-sort { + --fa: "\f0dc"; + --fa--fa: "\f0dc\f0dc"; } -.fa-arrow-circle-right::before { - content: "\f0a9"; } +.fa-unsorted { + --fa: "\f0dc"; + --fa--fa: "\f0dc\f0dc"; } -.fa-filter-circle-xmark::before { - content: "\e17b"; } +.fa-list-ol { + --fa: "\f0cb"; + --fa--fa: "\f0cb\f0cb"; } -.fa-locust::before { - content: "\e520"; } +.fa-list-1-2 { + --fa: "\f0cb"; + --fa--fa: "\f0cb\f0cb"; } -.fa-sort::before { - content: "\f0dc"; } +.fa-list-numeric { + --fa: "\f0cb"; + --fa--fa: "\f0cb\f0cb"; } -.fa-unsorted::before { - content: "\f0dc"; } +.fa-person-dress-burst { + --fa: "\e544"; + --fa--fa: "\e544\e544"; } -.fa-list-ol::before { - content: "\f0cb"; } +.fa-money-check-dollar { + --fa: "\f53d"; + --fa--fa: "\f53d\f53d"; } -.fa-list-1-2::before { - content: "\f0cb"; } +.fa-money-check-alt { + --fa: "\f53d"; + --fa--fa: "\f53d\f53d"; } -.fa-list-numeric::before { - content: "\f0cb"; } +.fa-vector-square { + --fa: "\f5cb"; + --fa--fa: "\f5cb\f5cb"; } -.fa-person-dress-burst::before { - content: "\e544"; } +.fa-bread-slice { + --fa: "\f7ec"; + --fa--fa: "\f7ec\f7ec"; } -.fa-money-check-dollar::before { - content: "\f53d"; } +.fa-language { + --fa: "\f1ab"; + --fa--fa: "\f1ab\f1ab"; } -.fa-money-check-alt::before { - content: "\f53d"; } +.fa-face-kiss-wink-heart { + --fa: "\f598"; + --fa--fa: "\f598\f598"; } -.fa-vector-square::before { - content: "\f5cb"; } +.fa-kiss-wink-heart { + --fa: "\f598"; + --fa--fa: "\f598\f598"; } -.fa-bread-slice::before { - content: "\f7ec"; } +.fa-filter { + --fa: "\f0b0"; + --fa--fa: "\f0b0\f0b0"; } -.fa-language::before { - content: "\f1ab"; } +.fa-question { + --fa: "\3f"; + --fa--fa: "\3f\3f"; } -.fa-face-kiss-wink-heart::before { - content: "\f598"; } +.fa-file-signature { + --fa: "\f573"; + --fa--fa: "\f573\f573"; } -.fa-kiss-wink-heart::before { - content: "\f598"; } +.fa-up-down-left-right { + --fa: "\f0b2"; + --fa--fa: "\f0b2\f0b2"; } -.fa-filter::before { - content: "\f0b0"; } +.fa-arrows-alt { + --fa: "\f0b2"; + --fa--fa: "\f0b2\f0b2"; } -.fa-question::before { - content: "\3f"; } +.fa-house-chimney-user { + --fa: "\e065"; + --fa--fa: "\e065\e065"; } -.fa-file-signature::before { - content: "\f573"; } +.fa-hand-holding-heart { + --fa: "\f4be"; + --fa--fa: "\f4be\f4be"; } -.fa-up-down-left-right::before { - content: "\f0b2"; } +.fa-puzzle-piece { + --fa: "\f12e"; + --fa--fa: "\f12e\f12e"; } -.fa-arrows-alt::before { - content: "\f0b2"; } +.fa-money-check { + --fa: "\f53c"; + --fa--fa: "\f53c\f53c"; } -.fa-house-chimney-user::before { - content: "\e065"; } +.fa-star-half-stroke { + --fa: "\f5c0"; + --fa--fa: "\f5c0\f5c0"; } -.fa-hand-holding-heart::before { - content: "\f4be"; } +.fa-star-half-alt { + --fa: "\f5c0"; + --fa--fa: "\f5c0\f5c0"; } -.fa-puzzle-piece::before { - content: "\f12e"; } +.fa-code { + --fa: "\f121"; + --fa--fa: "\f121\f121"; } -.fa-money-check::before { - content: "\f53c"; } +.fa-whiskey-glass { + --fa: "\f7a0"; + --fa--fa: "\f7a0\f7a0"; } -.fa-star-half-stroke::before { - content: "\f5c0"; } +.fa-glass-whiskey { + --fa: "\f7a0"; + --fa--fa: "\f7a0\f7a0"; } -.fa-star-half-alt::before { - content: "\f5c0"; } +.fa-building-circle-exclamation { + --fa: "\e4d3"; + --fa--fa: "\e4d3\e4d3"; } -.fa-code::before { - content: "\f121"; } +.fa-magnifying-glass-chart { + --fa: "\e522"; + --fa--fa: "\e522\e522"; } -.fa-whiskey-glass::before { - content: "\f7a0"; } +.fa-arrow-up-right-from-square { + --fa: "\f08e"; + --fa--fa: "\f08e\f08e"; } -.fa-glass-whiskey::before { - content: "\f7a0"; } +.fa-external-link { + --fa: "\f08e"; + --fa--fa: "\f08e\f08e"; } -.fa-building-circle-exclamation::before { - content: "\e4d3"; } +.fa-cubes-stacked { + --fa: "\e4e6"; + --fa--fa: "\e4e6\e4e6"; } -.fa-magnifying-glass-chart::before { - content: "\e522"; } +.fa-won-sign { + --fa: "\f159"; + --fa--fa: "\f159\f159"; } -.fa-arrow-up-right-from-square::before { - content: "\f08e"; } +.fa-krw { + --fa: "\f159"; + --fa--fa: "\f159\f159"; } -.fa-external-link::before { - content: "\f08e"; } +.fa-won { + --fa: "\f159"; + --fa--fa: "\f159\f159"; } -.fa-cubes-stacked::before { - content: "\e4e6"; } +.fa-virus-covid { + --fa: "\e4a8"; + --fa--fa: "\e4a8\e4a8"; } -.fa-won-sign::before { - content: "\f159"; } +.fa-austral-sign { + --fa: "\e0a9"; + --fa--fa: "\e0a9\e0a9"; } -.fa-krw::before { - content: "\f159"; } +.fa-f { + --fa: "\46"; + --fa--fa: "\46\46"; } -.fa-won::before { - content: "\f159"; } +.fa-leaf { + --fa: "\f06c"; + --fa--fa: "\f06c\f06c"; } -.fa-virus-covid::before { - content: "\e4a8"; } +.fa-road { + --fa: "\f018"; + --fa--fa: "\f018\f018"; } -.fa-austral-sign::before { - content: "\e0a9"; } +.fa-taxi { + --fa: "\f1ba"; + --fa--fa: "\f1ba\f1ba"; } -.fa-f::before { - content: "\46"; } +.fa-cab { + --fa: "\f1ba"; + --fa--fa: "\f1ba\f1ba"; } -.fa-leaf::before { - content: "\f06c"; } +.fa-person-circle-plus { + --fa: "\e541"; + --fa--fa: "\e541\e541"; } -.fa-road::before { - content: "\f018"; } +.fa-chart-pie { + --fa: "\f200"; + --fa--fa: "\f200\f200"; } -.fa-taxi::before { - content: "\f1ba"; } +.fa-pie-chart { + --fa: "\f200"; + --fa--fa: "\f200\f200"; } -.fa-cab::before { - content: "\f1ba"; } +.fa-bolt-lightning { + --fa: "\e0b7"; + --fa--fa: "\e0b7\e0b7"; } -.fa-person-circle-plus::before { - content: "\e541"; } +.fa-sack-xmark { + --fa: "\e56a"; + --fa--fa: "\e56a\e56a"; } -.fa-chart-pie::before { - content: "\f200"; } +.fa-file-excel { + --fa: "\f1c3"; + --fa--fa: "\f1c3\f1c3"; } -.fa-pie-chart::before { - content: "\f200"; } +.fa-file-contract { + --fa: "\f56c"; + --fa--fa: "\f56c\f56c"; } -.fa-bolt-lightning::before { - content: "\e0b7"; } +.fa-fish-fins { + --fa: "\e4f2"; + --fa--fa: "\e4f2\e4f2"; } -.fa-sack-xmark::before { - content: "\e56a"; } +.fa-building-flag { + --fa: "\e4d5"; + --fa--fa: "\e4d5\e4d5"; } -.fa-file-excel::before { - content: "\f1c3"; } +.fa-face-grin-beam { + --fa: "\f582"; + --fa--fa: "\f582\f582"; } -.fa-file-contract::before { - content: "\f56c"; } +.fa-grin-beam { + --fa: "\f582"; + --fa--fa: "\f582\f582"; } -.fa-fish-fins::before { - content: "\e4f2"; } +.fa-object-ungroup { + --fa: "\f248"; + --fa--fa: "\f248\f248"; } -.fa-building-flag::before { - content: "\e4d5"; } +.fa-poop { + --fa: "\f619"; + --fa--fa: "\f619\f619"; } -.fa-face-grin-beam::before { - content: "\f582"; } +.fa-location-pin { + --fa: "\f041"; + --fa--fa: "\f041\f041"; } -.fa-grin-beam::before { - content: "\f582"; } +.fa-map-marker { + --fa: "\f041"; + --fa--fa: "\f041\f041"; } -.fa-object-ungroup::before { - content: "\f248"; } +.fa-kaaba { + --fa: "\f66b"; + --fa--fa: "\f66b\f66b"; } -.fa-poop::before { - content: "\f619"; } +.fa-toilet-paper { + --fa: "\f71e"; + --fa--fa: "\f71e\f71e"; } -.fa-location-pin::before { - content: "\f041"; } +.fa-helmet-safety { + --fa: "\f807"; + --fa--fa: "\f807\f807"; } -.fa-map-marker::before { - content: "\f041"; } +.fa-hard-hat { + --fa: "\f807"; + --fa--fa: "\f807\f807"; } -.fa-kaaba::before { - content: "\f66b"; } +.fa-hat-hard { + --fa: "\f807"; + --fa--fa: "\f807\f807"; } -.fa-toilet-paper::before { - content: "\f71e"; } +.fa-eject { + --fa: "\f052"; + --fa--fa: "\f052\f052"; } -.fa-helmet-safety::before { - content: "\f807"; } +.fa-circle-right { + --fa: "\f35a"; + --fa--fa: "\f35a\f35a"; } -.fa-hard-hat::before { - content: "\f807"; } +.fa-arrow-alt-circle-right { + --fa: "\f35a"; + --fa--fa: "\f35a\f35a"; } -.fa-hat-hard::before { - content: "\f807"; } +.fa-plane-circle-check { + --fa: "\e555"; + --fa--fa: "\e555\e555"; } -.fa-eject::before { - content: "\f052"; } +.fa-face-rolling-eyes { + --fa: "\f5a5"; + --fa--fa: "\f5a5\f5a5"; } -.fa-circle-right::before { - content: "\f35a"; } +.fa-meh-rolling-eyes { + --fa: "\f5a5"; + --fa--fa: "\f5a5\f5a5"; } -.fa-arrow-alt-circle-right::before { - content: "\f35a"; } +.fa-object-group { + --fa: "\f247"; + --fa--fa: "\f247\f247"; } -.fa-plane-circle-check::before { - content: "\e555"; } +.fa-chart-line { + --fa: "\f201"; + --fa--fa: "\f201\f201"; } -.fa-face-rolling-eyes::before { - content: "\f5a5"; } +.fa-line-chart { + --fa: "\f201"; + --fa--fa: "\f201\f201"; } -.fa-meh-rolling-eyes::before { - content: "\f5a5"; } +.fa-mask-ventilator { + --fa: "\e524"; + --fa--fa: "\e524\e524"; } -.fa-object-group::before { - content: "\f247"; } +.fa-arrow-right { + --fa: "\f061"; + --fa--fa: "\f061\f061"; } -.fa-chart-line::before { - content: "\f201"; } +.fa-signs-post { + --fa: "\f277"; + --fa--fa: "\f277\f277"; } -.fa-line-chart::before { - content: "\f201"; } +.fa-map-signs { + --fa: "\f277"; + --fa--fa: "\f277\f277"; } -.fa-mask-ventilator::before { - content: "\e524"; } +.fa-cash-register { + --fa: "\f788"; + --fa--fa: "\f788\f788"; } -.fa-arrow-right::before { - content: "\f061"; } +.fa-person-circle-question { + --fa: "\e542"; + --fa--fa: "\e542\e542"; } -.fa-signs-post::before { - content: "\f277"; } +.fa-h { + --fa: "\48"; + --fa--fa: "\48\48"; } -.fa-map-signs::before { - content: "\f277"; } +.fa-tarp { + --fa: "\e57b"; + --fa--fa: "\e57b\e57b"; } -.fa-cash-register::before { - content: "\f788"; } +.fa-screwdriver-wrench { + --fa: "\f7d9"; + --fa--fa: "\f7d9\f7d9"; } -.fa-person-circle-question::before { - content: "\e542"; } +.fa-tools { + --fa: "\f7d9"; + --fa--fa: "\f7d9\f7d9"; } -.fa-h::before { - content: "\48"; } +.fa-arrows-to-eye { + --fa: "\e4bf"; + --fa--fa: "\e4bf\e4bf"; } -.fa-tarp::before { - content: "\e57b"; } +.fa-plug-circle-bolt { + --fa: "\e55b"; + --fa--fa: "\e55b\e55b"; } -.fa-screwdriver-wrench::before { - content: "\f7d9"; } +.fa-heart { + --fa: "\f004"; + --fa--fa: "\f004\f004"; } -.fa-tools::before { - content: "\f7d9"; } +.fa-mars-and-venus { + --fa: "\f224"; + --fa--fa: "\f224\f224"; } -.fa-arrows-to-eye::before { - content: "\e4bf"; } +.fa-house-user { + --fa: "\e1b0"; + --fa--fa: "\e1b0\e1b0"; } -.fa-plug-circle-bolt::before { - content: "\e55b"; } +.fa-home-user { + --fa: "\e1b0"; + --fa--fa: "\e1b0\e1b0"; } -.fa-heart::before { - content: "\f004"; } +.fa-dumpster-fire { + --fa: "\f794"; + --fa--fa: "\f794\f794"; } -.fa-mars-and-venus::before { - content: "\f224"; } +.fa-house-crack { + --fa: "\e3b1"; + --fa--fa: "\e3b1\e3b1"; } -.fa-house-user::before { - content: "\e1b0"; } +.fa-martini-glass-citrus { + --fa: "\f561"; + --fa--fa: "\f561\f561"; } -.fa-home-user::before { - content: "\e1b0"; } +.fa-cocktail { + --fa: "\f561"; + --fa--fa: "\f561\f561"; } -.fa-dumpster-fire::before { - content: "\f794"; } +.fa-face-surprise { + --fa: "\f5c2"; + --fa--fa: "\f5c2\f5c2"; } -.fa-house-crack::before { - content: "\e3b1"; } +.fa-surprise { + --fa: "\f5c2"; + --fa--fa: "\f5c2\f5c2"; } -.fa-martini-glass-citrus::before { - content: "\f561"; } +.fa-bottle-water { + --fa: "\e4c5"; + --fa--fa: "\e4c5\e4c5"; } -.fa-cocktail::before { - content: "\f561"; } +.fa-circle-pause { + --fa: "\f28b"; + --fa--fa: "\f28b\f28b"; } -.fa-face-surprise::before { - content: "\f5c2"; } +.fa-pause-circle { + --fa: "\f28b"; + --fa--fa: "\f28b\f28b"; } -.fa-surprise::before { - content: "\f5c2"; } +.fa-toilet-paper-slash { + --fa: "\e072"; + --fa--fa: "\e072\e072"; } -.fa-bottle-water::before { - content: "\e4c5"; } +.fa-apple-whole { + --fa: "\f5d1"; + --fa--fa: "\f5d1\f5d1"; } -.fa-circle-pause::before { - content: "\f28b"; } +.fa-apple-alt { + --fa: "\f5d1"; + --fa--fa: "\f5d1\f5d1"; } -.fa-pause-circle::before { - content: "\f28b"; } +.fa-kitchen-set { + --fa: "\e51a"; + --fa--fa: "\e51a\e51a"; } -.fa-toilet-paper-slash::before { - content: "\e072"; } +.fa-r { + --fa: "\52"; + --fa--fa: "\52\52"; } -.fa-apple-whole::before { - content: "\f5d1"; } +.fa-temperature-quarter { + --fa: "\f2ca"; + --fa--fa: "\f2ca\f2ca"; } -.fa-apple-alt::before { - content: "\f5d1"; } +.fa-temperature-1 { + --fa: "\f2ca"; + --fa--fa: "\f2ca\f2ca"; } -.fa-kitchen-set::before { - content: "\e51a"; } +.fa-thermometer-1 { + --fa: "\f2ca"; + --fa--fa: "\f2ca\f2ca"; } -.fa-r::before { - content: "\52"; } +.fa-thermometer-quarter { + --fa: "\f2ca"; + --fa--fa: "\f2ca\f2ca"; } -.fa-temperature-quarter::before { - content: "\f2ca"; } +.fa-cube { + --fa: "\f1b2"; + --fa--fa: "\f1b2\f1b2"; } -.fa-temperature-1::before { - content: "\f2ca"; } +.fa-bitcoin-sign { + --fa: "\e0b4"; + --fa--fa: "\e0b4\e0b4"; } -.fa-thermometer-1::before { - content: "\f2ca"; } +.fa-shield-dog { + --fa: "\e573"; + --fa--fa: "\e573\e573"; } -.fa-thermometer-quarter::before { - content: "\f2ca"; } +.fa-solar-panel { + --fa: "\f5ba"; + --fa--fa: "\f5ba\f5ba"; } -.fa-cube::before { - content: "\f1b2"; } +.fa-lock-open { + --fa: "\f3c1"; + --fa--fa: "\f3c1\f3c1"; } -.fa-bitcoin-sign::before { - content: "\e0b4"; } +.fa-elevator { + --fa: "\e16d"; + --fa--fa: "\e16d\e16d"; } -.fa-shield-dog::before { - content: "\e573"; } +.fa-money-bill-transfer { + --fa: "\e528"; + --fa--fa: "\e528\e528"; } -.fa-solar-panel::before { - content: "\f5ba"; } +.fa-money-bill-trend-up { + --fa: "\e529"; + --fa--fa: "\e529\e529"; } -.fa-lock-open::before { - content: "\f3c1"; } +.fa-house-flood-water-circle-arrow-right { + --fa: "\e50f"; + --fa--fa: "\e50f\e50f"; } -.fa-elevator::before { - content: "\e16d"; } +.fa-square-poll-horizontal { + --fa: "\f682"; + --fa--fa: "\f682\f682"; } -.fa-money-bill-transfer::before { - content: "\e528"; } +.fa-poll-h { + --fa: "\f682"; + --fa--fa: "\f682\f682"; } -.fa-money-bill-trend-up::before { - content: "\e529"; } +.fa-circle { + --fa: "\f111"; + --fa--fa: "\f111\f111"; } -.fa-house-flood-water-circle-arrow-right::before { - content: "\e50f"; } +.fa-backward-fast { + --fa: "\f049"; + --fa--fa: "\f049\f049"; } -.fa-square-poll-horizontal::before { - content: "\f682"; } +.fa-fast-backward { + --fa: "\f049"; + --fa--fa: "\f049\f049"; } -.fa-poll-h::before { - content: "\f682"; } +.fa-recycle { + --fa: "\f1b8"; + --fa--fa: "\f1b8\f1b8"; } -.fa-circle::before { - content: "\f111"; } +.fa-user-astronaut { + --fa: "\f4fb"; + --fa--fa: "\f4fb\f4fb"; } -.fa-backward-fast::before { - content: "\f049"; } +.fa-plane-slash { + --fa: "\e069"; + --fa--fa: "\e069\e069"; } -.fa-fast-backward::before { - content: "\f049"; } +.fa-trademark { + --fa: "\f25c"; + --fa--fa: "\f25c\f25c"; } -.fa-recycle::before { - content: "\f1b8"; } +.fa-basketball { + --fa: "\f434"; + --fa--fa: "\f434\f434"; } -.fa-user-astronaut::before { - content: "\f4fb"; } +.fa-basketball-ball { + --fa: "\f434"; + --fa--fa: "\f434\f434"; } -.fa-plane-slash::before { - content: "\e069"; } +.fa-satellite-dish { + --fa: "\f7c0"; + --fa--fa: "\f7c0\f7c0"; } -.fa-trademark::before { - content: "\f25c"; } +.fa-circle-up { + --fa: "\f35b"; + --fa--fa: "\f35b\f35b"; } -.fa-basketball::before { - content: "\f434"; } +.fa-arrow-alt-circle-up { + --fa: "\f35b"; + --fa--fa: "\f35b\f35b"; } -.fa-basketball-ball::before { - content: "\f434"; } +.fa-mobile-screen-button { + --fa: "\f3cd"; + --fa--fa: "\f3cd\f3cd"; } -.fa-satellite-dish::before { - content: "\f7c0"; } +.fa-mobile-alt { + --fa: "\f3cd"; + --fa--fa: "\f3cd\f3cd"; } -.fa-circle-up::before { - content: "\f35b"; } +.fa-volume-high { + --fa: "\f028"; + --fa--fa: "\f028\f028"; } -.fa-arrow-alt-circle-up::before { - content: "\f35b"; } +.fa-volume-up { + --fa: "\f028"; + --fa--fa: "\f028\f028"; } -.fa-mobile-screen-button::before { - content: "\f3cd"; } +.fa-users-rays { + --fa: "\e593"; + --fa--fa: "\e593\e593"; } -.fa-mobile-alt::before { - content: "\f3cd"; } +.fa-wallet { + --fa: "\f555"; + --fa--fa: "\f555\f555"; } -.fa-volume-high::before { - content: "\f028"; } +.fa-clipboard-check { + --fa: "\f46c"; + --fa--fa: "\f46c\f46c"; } -.fa-volume-up::before { - content: "\f028"; } +.fa-file-audio { + --fa: "\f1c7"; + --fa--fa: "\f1c7\f1c7"; } -.fa-users-rays::before { - content: "\e593"; } +.fa-burger { + --fa: "\f805"; + --fa--fa: "\f805\f805"; } -.fa-wallet::before { - content: "\f555"; } +.fa-hamburger { + --fa: "\f805"; + --fa--fa: "\f805\f805"; } -.fa-clipboard-check::before { - content: "\f46c"; } +.fa-wrench { + --fa: "\f0ad"; + --fa--fa: "\f0ad\f0ad"; } -.fa-file-audio::before { - content: "\f1c7"; } +.fa-bugs { + --fa: "\e4d0"; + --fa--fa: "\e4d0\e4d0"; } -.fa-burger::before { - content: "\f805"; } +.fa-rupee-sign { + --fa: "\f156"; + --fa--fa: "\f156\f156"; } -.fa-hamburger::before { - content: "\f805"; } +.fa-rupee { + --fa: "\f156"; + --fa--fa: "\f156\f156"; } -.fa-wrench::before { - content: "\f0ad"; } +.fa-file-image { + --fa: "\f1c5"; + --fa--fa: "\f1c5\f1c5"; } -.fa-bugs::before { - content: "\e4d0"; } +.fa-circle-question { + --fa: "\f059"; + --fa--fa: "\f059\f059"; } -.fa-rupee-sign::before { - content: "\f156"; } +.fa-question-circle { + --fa: "\f059"; + --fa--fa: "\f059\f059"; } -.fa-rupee::before { - content: "\f156"; } +.fa-plane-departure { + --fa: "\f5b0"; + --fa--fa: "\f5b0\f5b0"; } -.fa-file-image::before { - content: "\f1c5"; } +.fa-handshake-slash { + --fa: "\e060"; + --fa--fa: "\e060\e060"; } -.fa-circle-question::before { - content: "\f059"; } +.fa-book-bookmark { + --fa: "\e0bb"; + --fa--fa: "\e0bb\e0bb"; } -.fa-question-circle::before { - content: "\f059"; } +.fa-code-branch { + --fa: "\f126"; + --fa--fa: "\f126\f126"; } -.fa-plane-departure::before { - content: "\f5b0"; } +.fa-hat-cowboy { + --fa: "\f8c0"; + --fa--fa: "\f8c0\f8c0"; } -.fa-handshake-slash::before { - content: "\e060"; } +.fa-bridge { + --fa: "\e4c8"; + --fa--fa: "\e4c8\e4c8"; } -.fa-book-bookmark::before { - content: "\e0bb"; } +.fa-phone-flip { + --fa: "\f879"; + --fa--fa: "\f879\f879"; } -.fa-code-branch::before { - content: "\f126"; } +.fa-phone-alt { + --fa: "\f879"; + --fa--fa: "\f879\f879"; } -.fa-hat-cowboy::before { - content: "\f8c0"; } +.fa-truck-front { + --fa: "\e2b7"; + --fa--fa: "\e2b7\e2b7"; } -.fa-bridge::before { - content: "\e4c8"; } +.fa-cat { + --fa: "\f6be"; + --fa--fa: "\f6be\f6be"; } -.fa-phone-flip::before { - content: "\f879"; } +.fa-anchor-circle-exclamation { + --fa: "\e4ab"; + --fa--fa: "\e4ab\e4ab"; } -.fa-phone-alt::before { - content: "\f879"; } +.fa-truck-field { + --fa: "\e58d"; + --fa--fa: "\e58d\e58d"; } -.fa-truck-front::before { - content: "\e2b7"; } +.fa-route { + --fa: "\f4d7"; + --fa--fa: "\f4d7\f4d7"; } -.fa-cat::before { - content: "\f6be"; } +.fa-clipboard-question { + --fa: "\e4e3"; + --fa--fa: "\e4e3\e4e3"; } -.fa-anchor-circle-exclamation::before { - content: "\e4ab"; } +.fa-panorama { + --fa: "\e209"; + --fa--fa: "\e209\e209"; } -.fa-truck-field::before { - content: "\e58d"; } +.fa-comment-medical { + --fa: "\f7f5"; + --fa--fa: "\f7f5\f7f5"; } -.fa-route::before { - content: "\f4d7"; } +.fa-teeth-open { + --fa: "\f62f"; + --fa--fa: "\f62f\f62f"; } -.fa-clipboard-question::before { - content: "\e4e3"; } +.fa-file-circle-minus { + --fa: "\e4ed"; + --fa--fa: "\e4ed\e4ed"; } -.fa-panorama::before { - content: "\e209"; } +.fa-tags { + --fa: "\f02c"; + --fa--fa: "\f02c\f02c"; } -.fa-comment-medical::before { - content: "\f7f5"; } +.fa-wine-glass { + --fa: "\f4e3"; + --fa--fa: "\f4e3\f4e3"; } -.fa-teeth-open::before { - content: "\f62f"; } +.fa-forward-fast { + --fa: "\f050"; + --fa--fa: "\f050\f050"; } -.fa-file-circle-minus::before { - content: "\e4ed"; } +.fa-fast-forward { + --fa: "\f050"; + --fa--fa: "\f050\f050"; } -.fa-tags::before { - content: "\f02c"; } +.fa-face-meh-blank { + --fa: "\f5a4"; + --fa--fa: "\f5a4\f5a4"; } -.fa-wine-glass::before { - content: "\f4e3"; } +.fa-meh-blank { + --fa: "\f5a4"; + --fa--fa: "\f5a4\f5a4"; } -.fa-forward-fast::before { - content: "\f050"; } +.fa-square-parking { + --fa: "\f540"; + --fa--fa: "\f540\f540"; } -.fa-fast-forward::before { - content: "\f050"; } +.fa-parking { + --fa: "\f540"; + --fa--fa: "\f540\f540"; } -.fa-face-meh-blank::before { - content: "\f5a4"; } +.fa-house-signal { + --fa: "\e012"; + --fa--fa: "\e012\e012"; } -.fa-meh-blank::before { - content: "\f5a4"; } +.fa-bars-progress { + --fa: "\f828"; + --fa--fa: "\f828\f828"; } -.fa-square-parking::before { - content: "\f540"; } +.fa-tasks-alt { + --fa: "\f828"; + --fa--fa: "\f828\f828"; } -.fa-parking::before { - content: "\f540"; } +.fa-faucet-drip { + --fa: "\e006"; + --fa--fa: "\e006\e006"; } -.fa-house-signal::before { - content: "\e012"; } +.fa-cart-flatbed { + --fa: "\f474"; + --fa--fa: "\f474\f474"; } -.fa-bars-progress::before { - content: "\f828"; } +.fa-dolly-flatbed { + --fa: "\f474"; + --fa--fa: "\f474\f474"; } -.fa-tasks-alt::before { - content: "\f828"; } +.fa-ban-smoking { + --fa: "\f54d"; + --fa--fa: "\f54d\f54d"; } -.fa-faucet-drip::before { - content: "\e006"; } +.fa-smoking-ban { + --fa: "\f54d"; + --fa--fa: "\f54d\f54d"; } -.fa-cart-flatbed::before { - content: "\f474"; } +.fa-terminal { + --fa: "\f120"; + --fa--fa: "\f120\f120"; } -.fa-dolly-flatbed::before { - content: "\f474"; } +.fa-mobile-button { + --fa: "\f10b"; + --fa--fa: "\f10b\f10b"; } -.fa-ban-smoking::before { - content: "\f54d"; } +.fa-house-medical-flag { + --fa: "\e514"; + --fa--fa: "\e514\e514"; } -.fa-smoking-ban::before { - content: "\f54d"; } +.fa-basket-shopping { + --fa: "\f291"; + --fa--fa: "\f291\f291"; } -.fa-terminal::before { - content: "\f120"; } +.fa-shopping-basket { + --fa: "\f291"; + --fa--fa: "\f291\f291"; } -.fa-mobile-button::before { - content: "\f10b"; } +.fa-tape { + --fa: "\f4db"; + --fa--fa: "\f4db\f4db"; } -.fa-house-medical-flag::before { - content: "\e514"; } +.fa-bus-simple { + --fa: "\f55e"; + --fa--fa: "\f55e\f55e"; } -.fa-basket-shopping::before { - content: "\f291"; } +.fa-bus-alt { + --fa: "\f55e"; + --fa--fa: "\f55e\f55e"; } -.fa-shopping-basket::before { - content: "\f291"; } +.fa-eye { + --fa: "\f06e"; + --fa--fa: "\f06e\f06e"; } -.fa-tape::before { - content: "\f4db"; } +.fa-face-sad-cry { + --fa: "\f5b3"; + --fa--fa: "\f5b3\f5b3"; } -.fa-bus-simple::before { - content: "\f55e"; } +.fa-sad-cry { + --fa: "\f5b3"; + --fa--fa: "\f5b3\f5b3"; } -.fa-bus-alt::before { - content: "\f55e"; } +.fa-audio-description { + --fa: "\f29e"; + --fa--fa: "\f29e\f29e"; } -.fa-eye::before { - content: "\f06e"; } +.fa-person-military-to-person { + --fa: "\e54c"; + --fa--fa: "\e54c\e54c"; } -.fa-face-sad-cry::before { - content: "\f5b3"; } +.fa-file-shield { + --fa: "\e4f0"; + --fa--fa: "\e4f0\e4f0"; } -.fa-sad-cry::before { - content: "\f5b3"; } +.fa-user-slash { + --fa: "\f506"; + --fa--fa: "\f506\f506"; } -.fa-audio-description::before { - content: "\f29e"; } +.fa-pen { + --fa: "\f304"; + --fa--fa: "\f304\f304"; } -.fa-person-military-to-person::before { - content: "\e54c"; } +.fa-tower-observation { + --fa: "\e586"; + --fa--fa: "\e586\e586"; } -.fa-file-shield::before { - content: "\e4f0"; } +.fa-file-code { + --fa: "\f1c9"; + --fa--fa: "\f1c9\f1c9"; } -.fa-user-slash::before { - content: "\f506"; } +.fa-signal { + --fa: "\f012"; + --fa--fa: "\f012\f012"; } -.fa-pen::before { - content: "\f304"; } +.fa-signal-5 { + --fa: "\f012"; + --fa--fa: "\f012\f012"; } -.fa-tower-observation::before { - content: "\e586"; } +.fa-signal-perfect { + --fa: "\f012"; + --fa--fa: "\f012\f012"; } -.fa-file-code::before { - content: "\f1c9"; } +.fa-bus { + --fa: "\f207"; + --fa--fa: "\f207\f207"; } -.fa-signal::before { - content: "\f012"; } +.fa-heart-circle-xmark { + --fa: "\e501"; + --fa--fa: "\e501\e501"; } -.fa-signal-5::before { - content: "\f012"; } +.fa-house-chimney { + --fa: "\e3af"; + --fa--fa: "\e3af\e3af"; } -.fa-signal-perfect::before { - content: "\f012"; } +.fa-home-lg { + --fa: "\e3af"; + --fa--fa: "\e3af\e3af"; } -.fa-bus::before { - content: "\f207"; } +.fa-window-maximize { + --fa: "\f2d0"; + --fa--fa: "\f2d0\f2d0"; } -.fa-heart-circle-xmark::before { - content: "\e501"; } +.fa-face-frown { + --fa: "\f119"; + --fa--fa: "\f119\f119"; } -.fa-house-chimney::before { - content: "\e3af"; } +.fa-frown { + --fa: "\f119"; + --fa--fa: "\f119\f119"; } -.fa-home-lg::before { - content: "\e3af"; } +.fa-prescription { + --fa: "\f5b1"; + --fa--fa: "\f5b1\f5b1"; } -.fa-window-maximize::before { - content: "\f2d0"; } +.fa-shop { + --fa: "\f54f"; + --fa--fa: "\f54f\f54f"; } -.fa-face-frown::before { - content: "\f119"; } +.fa-store-alt { + --fa: "\f54f"; + --fa--fa: "\f54f\f54f"; } -.fa-frown::before { - content: "\f119"; } +.fa-floppy-disk { + --fa: "\f0c7"; + --fa--fa: "\f0c7\f0c7"; } -.fa-prescription::before { - content: "\f5b1"; } +.fa-save { + --fa: "\f0c7"; + --fa--fa: "\f0c7\f0c7"; } -.fa-shop::before { - content: "\f54f"; } +.fa-vihara { + --fa: "\f6a7"; + --fa--fa: "\f6a7\f6a7"; } -.fa-store-alt::before { - content: "\f54f"; } +.fa-scale-unbalanced { + --fa: "\f515"; + --fa--fa: "\f515\f515"; } -.fa-floppy-disk::before { - content: "\f0c7"; } +.fa-balance-scale-left { + --fa: "\f515"; + --fa--fa: "\f515\f515"; } -.fa-save::before { - content: "\f0c7"; } +.fa-sort-up { + --fa: "\f0de"; + --fa--fa: "\f0de\f0de"; } -.fa-vihara::before { - content: "\f6a7"; } +.fa-sort-asc { + --fa: "\f0de"; + --fa--fa: "\f0de\f0de"; } -.fa-scale-unbalanced::before { - content: "\f515"; } +.fa-comment-dots { + --fa: "\f4ad"; + --fa--fa: "\f4ad\f4ad"; } -.fa-balance-scale-left::before { - content: "\f515"; } +.fa-commenting { + --fa: "\f4ad"; + --fa--fa: "\f4ad\f4ad"; } -.fa-sort-up::before { - content: "\f0de"; } +.fa-plant-wilt { + --fa: "\e5aa"; + --fa--fa: "\e5aa\e5aa"; } -.fa-sort-asc::before { - content: "\f0de"; } +.fa-diamond { + --fa: "\f219"; + --fa--fa: "\f219\f219"; } -.fa-comment-dots::before { - content: "\f4ad"; } +.fa-face-grin-squint { + --fa: "\f585"; + --fa--fa: "\f585\f585"; } -.fa-commenting::before { - content: "\f4ad"; } +.fa-grin-squint { + --fa: "\f585"; + --fa--fa: "\f585\f585"; } -.fa-plant-wilt::before { - content: "\e5aa"; } +.fa-hand-holding-dollar { + --fa: "\f4c0"; + --fa--fa: "\f4c0\f4c0"; } -.fa-diamond::before { - content: "\f219"; } +.fa-hand-holding-usd { + --fa: "\f4c0"; + --fa--fa: "\f4c0\f4c0"; } -.fa-face-grin-squint::before { - content: "\f585"; } +.fa-chart-diagram { + --fa: "\e695"; + --fa--fa: "\e695\e695"; } -.fa-grin-squint::before { - content: "\f585"; } +.fa-bacterium { + --fa: "\e05a"; + --fa--fa: "\e05a\e05a"; } -.fa-hand-holding-dollar::before { - content: "\f4c0"; } +.fa-hand-pointer { + --fa: "\f25a"; + --fa--fa: "\f25a\f25a"; } -.fa-hand-holding-usd::before { - content: "\f4c0"; } +.fa-drum-steelpan { + --fa: "\f56a"; + --fa--fa: "\f56a\f56a"; } -.fa-bacterium::before { - content: "\e05a"; } +.fa-hand-scissors { + --fa: "\f257"; + --fa--fa: "\f257\f257"; } -.fa-hand-pointer::before { - content: "\f25a"; } +.fa-hands-praying { + --fa: "\f684"; + --fa--fa: "\f684\f684"; } -.fa-drum-steelpan::before { - content: "\f56a"; } +.fa-praying-hands { + --fa: "\f684"; + --fa--fa: "\f684\f684"; } -.fa-hand-scissors::before { - content: "\f257"; } +.fa-arrow-rotate-right { + --fa: "\f01e"; + --fa--fa: "\f01e\f01e"; } -.fa-hands-praying::before { - content: "\f684"; } +.fa-arrow-right-rotate { + --fa: "\f01e"; + --fa--fa: "\f01e\f01e"; } -.fa-praying-hands::before { - content: "\f684"; } +.fa-arrow-rotate-forward { + --fa: "\f01e"; + --fa--fa: "\f01e\f01e"; } -.fa-arrow-rotate-right::before { - content: "\f01e"; } +.fa-redo { + --fa: "\f01e"; + --fa--fa: "\f01e\f01e"; } -.fa-arrow-right-rotate::before { - content: "\f01e"; } +.fa-biohazard { + --fa: "\f780"; + --fa--fa: "\f780\f780"; } -.fa-arrow-rotate-forward::before { - content: "\f01e"; } +.fa-location-crosshairs { + --fa: "\f601"; + --fa--fa: "\f601\f601"; } -.fa-redo::before { - content: "\f01e"; } +.fa-location { + --fa: "\f601"; + --fa--fa: "\f601\f601"; } -.fa-biohazard::before { - content: "\f780"; } +.fa-mars-double { + --fa: "\f227"; + --fa--fa: "\f227\f227"; } -.fa-location-crosshairs::before { - content: "\f601"; } +.fa-child-dress { + --fa: "\e59c"; + --fa--fa: "\e59c\e59c"; } -.fa-location::before { - content: "\f601"; } +.fa-users-between-lines { + --fa: "\e591"; + --fa--fa: "\e591\e591"; } -.fa-mars-double::before { - content: "\f227"; } +.fa-lungs-virus { + --fa: "\e067"; + --fa--fa: "\e067\e067"; } -.fa-child-dress::before { - content: "\e59c"; } +.fa-face-grin-tears { + --fa: "\f588"; + --fa--fa: "\f588\f588"; } -.fa-users-between-lines::before { - content: "\e591"; } +.fa-grin-tears { + --fa: "\f588"; + --fa--fa: "\f588\f588"; } -.fa-lungs-virus::before { - content: "\e067"; } +.fa-phone { + --fa: "\f095"; + --fa--fa: "\f095\f095"; } -.fa-face-grin-tears::before { - content: "\f588"; } +.fa-calendar-xmark { + --fa: "\f273"; + --fa--fa: "\f273\f273"; } -.fa-grin-tears::before { - content: "\f588"; } +.fa-calendar-times { + --fa: "\f273"; + --fa--fa: "\f273\f273"; } -.fa-phone::before { - content: "\f095"; } +.fa-child-reaching { + --fa: "\e59d"; + --fa--fa: "\e59d\e59d"; } -.fa-calendar-xmark::before { - content: "\f273"; } +.fa-head-side-virus { + --fa: "\e064"; + --fa--fa: "\e064\e064"; } -.fa-calendar-times::before { - content: "\f273"; } +.fa-user-gear { + --fa: "\f4fe"; + --fa--fa: "\f4fe\f4fe"; } -.fa-child-reaching::before { - content: "\e59d"; } +.fa-user-cog { + --fa: "\f4fe"; + --fa--fa: "\f4fe\f4fe"; } -.fa-head-side-virus::before { - content: "\e064"; } +.fa-arrow-up-1-9 { + --fa: "\f163"; + --fa--fa: "\f163\f163"; } -.fa-user-gear::before { - content: "\f4fe"; } +.fa-sort-numeric-up { + --fa: "\f163"; + --fa--fa: "\f163\f163"; } -.fa-user-cog::before { - content: "\f4fe"; } +.fa-door-closed { + --fa: "\f52a"; + --fa--fa: "\f52a\f52a"; } -.fa-arrow-up-1-9::before { - content: "\f163"; } +.fa-shield-virus { + --fa: "\e06c"; + --fa--fa: "\e06c\e06c"; } -.fa-sort-numeric-up::before { - content: "\f163"; } +.fa-dice-six { + --fa: "\f526"; + --fa--fa: "\f526\f526"; } -.fa-door-closed::before { - content: "\f52a"; } +.fa-mosquito-net { + --fa: "\e52c"; + --fa--fa: "\e52c\e52c"; } -.fa-shield-virus::before { - content: "\e06c"; } +.fa-file-fragment { + --fa: "\e697"; + --fa--fa: "\e697\e697"; } -.fa-dice-six::before { - content: "\f526"; } +.fa-bridge-water { + --fa: "\e4ce"; + --fa--fa: "\e4ce\e4ce"; } -.fa-mosquito-net::before { - content: "\e52c"; } +.fa-person-booth { + --fa: "\f756"; + --fa--fa: "\f756\f756"; } -.fa-bridge-water::before { - content: "\e4ce"; } +.fa-text-width { + --fa: "\f035"; + --fa--fa: "\f035\f035"; } -.fa-person-booth::before { - content: "\f756"; } +.fa-hat-wizard { + --fa: "\f6e8"; + --fa--fa: "\f6e8\f6e8"; } -.fa-text-width::before { - content: "\f035"; } +.fa-pen-fancy { + --fa: "\f5ac"; + --fa--fa: "\f5ac\f5ac"; } -.fa-hat-wizard::before { - content: "\f6e8"; } +.fa-person-digging { + --fa: "\f85e"; + --fa--fa: "\f85e\f85e"; } -.fa-pen-fancy::before { - content: "\f5ac"; } +.fa-digging { + --fa: "\f85e"; + --fa--fa: "\f85e\f85e"; } -.fa-person-digging::before { - content: "\f85e"; } +.fa-trash { + --fa: "\f1f8"; + --fa--fa: "\f1f8\f1f8"; } -.fa-digging::before { - content: "\f85e"; } +.fa-gauge-simple { + --fa: "\f629"; + --fa--fa: "\f629\f629"; } -.fa-trash::before { - content: "\f1f8"; } +.fa-gauge-simple-med { + --fa: "\f629"; + --fa--fa: "\f629\f629"; } -.fa-gauge-simple::before { - content: "\f629"; } +.fa-tachometer-average { + --fa: "\f629"; + --fa--fa: "\f629\f629"; } -.fa-gauge-simple-med::before { - content: "\f629"; } +.fa-book-medical { + --fa: "\f7e6"; + --fa--fa: "\f7e6\f7e6"; } -.fa-tachometer-average::before { - content: "\f629"; } +.fa-poo { + --fa: "\f2fe"; + --fa--fa: "\f2fe\f2fe"; } -.fa-book-medical::before { - content: "\f7e6"; } +.fa-quote-right { + --fa: "\f10e"; + --fa--fa: "\f10e\f10e"; } -.fa-poo::before { - content: "\f2fe"; } +.fa-quote-right-alt { + --fa: "\f10e"; + --fa--fa: "\f10e\f10e"; } -.fa-quote-right::before { - content: "\f10e"; } +.fa-shirt { + --fa: "\f553"; + --fa--fa: "\f553\f553"; } -.fa-quote-right-alt::before { - content: "\f10e"; } +.fa-t-shirt { + --fa: "\f553"; + --fa--fa: "\f553\f553"; } -.fa-shirt::before { - content: "\f553"; } +.fa-tshirt { + --fa: "\f553"; + --fa--fa: "\f553\f553"; } -.fa-t-shirt::before { - content: "\f553"; } +.fa-cubes { + --fa: "\f1b3"; + --fa--fa: "\f1b3\f1b3"; } -.fa-tshirt::before { - content: "\f553"; } +.fa-divide { + --fa: "\f529"; + --fa--fa: "\f529\f529"; } -.fa-cubes::before { - content: "\f1b3"; } +.fa-tenge-sign { + --fa: "\f7d7"; + --fa--fa: "\f7d7\f7d7"; } -.fa-divide::before { - content: "\f529"; } +.fa-tenge { + --fa: "\f7d7"; + --fa--fa: "\f7d7\f7d7"; } -.fa-tenge-sign::before { - content: "\f7d7"; } +.fa-headphones { + --fa: "\f025"; + --fa--fa: "\f025\f025"; } -.fa-tenge::before { - content: "\f7d7"; } +.fa-hands-holding { + --fa: "\f4c2"; + --fa--fa: "\f4c2\f4c2"; } -.fa-headphones::before { - content: "\f025"; } +.fa-hands-clapping { + --fa: "\e1a8"; + --fa--fa: "\e1a8\e1a8"; } -.fa-hands-holding::before { - content: "\f4c2"; } +.fa-republican { + --fa: "\f75e"; + --fa--fa: "\f75e\f75e"; } -.fa-hands-clapping::before { - content: "\e1a8"; } +.fa-arrow-left { + --fa: "\f060"; + --fa--fa: "\f060\f060"; } -.fa-republican::before { - content: "\f75e"; } +.fa-person-circle-xmark { + --fa: "\e543"; + --fa--fa: "\e543\e543"; } -.fa-arrow-left::before { - content: "\f060"; } +.fa-ruler { + --fa: "\f545"; + --fa--fa: "\f545\f545"; } -.fa-person-circle-xmark::before { - content: "\e543"; } +.fa-align-left { + --fa: "\f036"; + --fa--fa: "\f036\f036"; } -.fa-ruler::before { - content: "\f545"; } +.fa-dice-d6 { + --fa: "\f6d1"; + --fa--fa: "\f6d1\f6d1"; } -.fa-align-left::before { - content: "\f036"; } +.fa-restroom { + --fa: "\f7bd"; + --fa--fa: "\f7bd\f7bd"; } -.fa-dice-d6::before { - content: "\f6d1"; } +.fa-j { + --fa: "\4a"; + --fa--fa: "\4a\4a"; } -.fa-restroom::before { - content: "\f7bd"; } +.fa-users-viewfinder { + --fa: "\e595"; + --fa--fa: "\e595\e595"; } -.fa-j::before { - content: "\4a"; } +.fa-file-video { + --fa: "\f1c8"; + --fa--fa: "\f1c8\f1c8"; } -.fa-users-viewfinder::before { - content: "\e595"; } +.fa-up-right-from-square { + --fa: "\f35d"; + --fa--fa: "\f35d\f35d"; } -.fa-file-video::before { - content: "\f1c8"; } +.fa-external-link-alt { + --fa: "\f35d"; + --fa--fa: "\f35d\f35d"; } -.fa-up-right-from-square::before { - content: "\f35d"; } +.fa-table-cells { + --fa: "\f00a"; + --fa--fa: "\f00a\f00a"; } -.fa-external-link-alt::before { - content: "\f35d"; } +.fa-th { + --fa: "\f00a"; + --fa--fa: "\f00a\f00a"; } -.fa-table-cells::before { - content: "\f00a"; } +.fa-file-pdf { + --fa: "\f1c1"; + --fa--fa: "\f1c1\f1c1"; } -.fa-th::before { - content: "\f00a"; } +.fa-book-bible { + --fa: "\f647"; + --fa--fa: "\f647\f647"; } -.fa-file-pdf::before { - content: "\f1c1"; } +.fa-bible { + --fa: "\f647"; + --fa--fa: "\f647\f647"; } -.fa-book-bible::before { - content: "\f647"; } +.fa-o { + --fa: "\4f"; + --fa--fa: "\4f\4f"; } -.fa-bible::before { - content: "\f647"; } +.fa-suitcase-medical { + --fa: "\f0fa"; + --fa--fa: "\f0fa\f0fa"; } -.fa-o::before { - content: "\4f"; } +.fa-medkit { + --fa: "\f0fa"; + --fa--fa: "\f0fa\f0fa"; } -.fa-suitcase-medical::before { - content: "\f0fa"; } +.fa-user-secret { + --fa: "\f21b"; + --fa--fa: "\f21b\f21b"; } -.fa-medkit::before { - content: "\f0fa"; } +.fa-otter { + --fa: "\f700"; + --fa--fa: "\f700\f700"; } -.fa-user-secret::before { - content: "\f21b"; } +.fa-person-dress { + --fa: "\f182"; + --fa--fa: "\f182\f182"; } -.fa-otter::before { - content: "\f700"; } +.fa-female { + --fa: "\f182"; + --fa--fa: "\f182\f182"; } -.fa-person-dress::before { - content: "\f182"; } +.fa-comment-dollar { + --fa: "\f651"; + --fa--fa: "\f651\f651"; } -.fa-female::before { - content: "\f182"; } +.fa-business-time { + --fa: "\f64a"; + --fa--fa: "\f64a\f64a"; } -.fa-comment-dollar::before { - content: "\f651"; } +.fa-briefcase-clock { + --fa: "\f64a"; + --fa--fa: "\f64a\f64a"; } -.fa-business-time::before { - content: "\f64a"; } +.fa-table-cells-large { + --fa: "\f009"; + --fa--fa: "\f009\f009"; } -.fa-briefcase-clock::before { - content: "\f64a"; } +.fa-th-large { + --fa: "\f009"; + --fa--fa: "\f009\f009"; } -.fa-table-cells-large::before { - content: "\f009"; } +.fa-book-tanakh { + --fa: "\f827"; + --fa--fa: "\f827\f827"; } -.fa-th-large::before { - content: "\f009"; } +.fa-tanakh { + --fa: "\f827"; + --fa--fa: "\f827\f827"; } -.fa-book-tanakh::before { - content: "\f827"; } +.fa-phone-volume { + --fa: "\f2a0"; + --fa--fa: "\f2a0\f2a0"; } -.fa-tanakh::before { - content: "\f827"; } +.fa-volume-control-phone { + --fa: "\f2a0"; + --fa--fa: "\f2a0\f2a0"; } -.fa-phone-volume::before { - content: "\f2a0"; } +.fa-hat-cowboy-side { + --fa: "\f8c1"; + --fa--fa: "\f8c1\f8c1"; } -.fa-volume-control-phone::before { - content: "\f2a0"; } +.fa-clipboard-user { + --fa: "\f7f3"; + --fa--fa: "\f7f3\f7f3"; } -.fa-hat-cowboy-side::before { - content: "\f8c1"; } +.fa-child { + --fa: "\f1ae"; + --fa--fa: "\f1ae\f1ae"; } -.fa-clipboard-user::before { - content: "\f7f3"; } +.fa-lira-sign { + --fa: "\f195"; + --fa--fa: "\f195\f195"; } -.fa-child::before { - content: "\f1ae"; } +.fa-satellite { + --fa: "\f7bf"; + --fa--fa: "\f7bf\f7bf"; } -.fa-lira-sign::before { - content: "\f195"; } +.fa-plane-lock { + --fa: "\e558"; + --fa--fa: "\e558\e558"; } -.fa-satellite::before { - content: "\f7bf"; } +.fa-tag { + --fa: "\f02b"; + --fa--fa: "\f02b\f02b"; } -.fa-plane-lock::before { - content: "\e558"; } +.fa-comment { + --fa: "\f075"; + --fa--fa: "\f075\f075"; } -.fa-tag::before { - content: "\f02b"; } +.fa-cake-candles { + --fa: "\f1fd"; + --fa--fa: "\f1fd\f1fd"; } -.fa-comment::before { - content: "\f075"; } +.fa-birthday-cake { + --fa: "\f1fd"; + --fa--fa: "\f1fd\f1fd"; } -.fa-cake-candles::before { - content: "\f1fd"; } +.fa-cake { + --fa: "\f1fd"; + --fa--fa: "\f1fd\f1fd"; } -.fa-birthday-cake::before { - content: "\f1fd"; } +.fa-envelope { + --fa: "\f0e0"; + --fa--fa: "\f0e0\f0e0"; } -.fa-cake::before { - content: "\f1fd"; } +.fa-angles-up { + --fa: "\f102"; + --fa--fa: "\f102\f102"; } -.fa-envelope::before { - content: "\f0e0"; } +.fa-angle-double-up { + --fa: "\f102"; + --fa--fa: "\f102\f102"; } -.fa-angles-up::before { - content: "\f102"; } +.fa-paperclip { + --fa: "\f0c6"; + --fa--fa: "\f0c6\f0c6"; } -.fa-angle-double-up::before { - content: "\f102"; } +.fa-arrow-right-to-city { + --fa: "\e4b3"; + --fa--fa: "\e4b3\e4b3"; } -.fa-paperclip::before { - content: "\f0c6"; } +.fa-ribbon { + --fa: "\f4d6"; + --fa--fa: "\f4d6\f4d6"; } -.fa-arrow-right-to-city::before { - content: "\e4b3"; } +.fa-lungs { + --fa: "\f604"; + --fa--fa: "\f604\f604"; } -.fa-ribbon::before { - content: "\f4d6"; } +.fa-arrow-up-9-1 { + --fa: "\f887"; + --fa--fa: "\f887\f887"; } -.fa-lungs::before { - content: "\f604"; } +.fa-sort-numeric-up-alt { + --fa: "\f887"; + --fa--fa: "\f887\f887"; } -.fa-arrow-up-9-1::before { - content: "\f887"; } +.fa-litecoin-sign { + --fa: "\e1d3"; + --fa--fa: "\e1d3\e1d3"; } -.fa-sort-numeric-up-alt::before { - content: "\f887"; } +.fa-border-none { + --fa: "\f850"; + --fa--fa: "\f850\f850"; } -.fa-litecoin-sign::before { - content: "\e1d3"; } +.fa-circle-nodes { + --fa: "\e4e2"; + --fa--fa: "\e4e2\e4e2"; } -.fa-border-none::before { - content: "\f850"; } +.fa-parachute-box { + --fa: "\f4cd"; + --fa--fa: "\f4cd\f4cd"; } -.fa-circle-nodes::before { - content: "\e4e2"; } +.fa-indent { + --fa: "\f03c"; + --fa--fa: "\f03c\f03c"; } -.fa-parachute-box::before { - content: "\f4cd"; } +.fa-truck-field-un { + --fa: "\e58e"; + --fa--fa: "\e58e\e58e"; } -.fa-indent::before { - content: "\f03c"; } +.fa-hourglass { + --fa: "\f254"; + --fa--fa: "\f254\f254"; } -.fa-truck-field-un::before { - content: "\e58e"; } +.fa-hourglass-empty { + --fa: "\f254"; + --fa--fa: "\f254\f254"; } -.fa-hourglass::before { - content: "\f254"; } +.fa-mountain { + --fa: "\f6fc"; + --fa--fa: "\f6fc\f6fc"; } -.fa-hourglass-empty::before { - content: "\f254"; } +.fa-user-doctor { + --fa: "\f0f0"; + --fa--fa: "\f0f0\f0f0"; } -.fa-mountain::before { - content: "\f6fc"; } +.fa-user-md { + --fa: "\f0f0"; + --fa--fa: "\f0f0\f0f0"; } -.fa-user-doctor::before { - content: "\f0f0"; } +.fa-circle-info { + --fa: "\f05a"; + --fa--fa: "\f05a\f05a"; } -.fa-user-md::before { - content: "\f0f0"; } +.fa-info-circle { + --fa: "\f05a"; + --fa--fa: "\f05a\f05a"; } -.fa-circle-info::before { - content: "\f05a"; } +.fa-cloud-meatball { + --fa: "\f73b"; + --fa--fa: "\f73b\f73b"; } -.fa-info-circle::before { - content: "\f05a"; } +.fa-camera { + --fa: "\f030"; + --fa--fa: "\f030\f030"; } -.fa-cloud-meatball::before { - content: "\f73b"; } +.fa-camera-alt { + --fa: "\f030"; + --fa--fa: "\f030\f030"; } -.fa-camera::before { - content: "\f030"; } +.fa-square-virus { + --fa: "\e578"; + --fa--fa: "\e578\e578"; } -.fa-camera-alt::before { - content: "\f030"; } +.fa-meteor { + --fa: "\f753"; + --fa--fa: "\f753\f753"; } -.fa-square-virus::before { - content: "\e578"; } +.fa-car-on { + --fa: "\e4dd"; + --fa--fa: "\e4dd\e4dd"; } -.fa-meteor::before { - content: "\f753"; } +.fa-sleigh { + --fa: "\f7cc"; + --fa--fa: "\f7cc\f7cc"; } -.fa-car-on::before { - content: "\e4dd"; } +.fa-arrow-down-1-9 { + --fa: "\f162"; + --fa--fa: "\f162\f162"; } -.fa-sleigh::before { - content: "\f7cc"; } +.fa-sort-numeric-asc { + --fa: "\f162"; + --fa--fa: "\f162\f162"; } -.fa-arrow-down-1-9::before { - content: "\f162"; } +.fa-sort-numeric-down { + --fa: "\f162"; + --fa--fa: "\f162\f162"; } -.fa-sort-numeric-asc::before { - content: "\f162"; } +.fa-hand-holding-droplet { + --fa: "\f4c1"; + --fa--fa: "\f4c1\f4c1"; } -.fa-sort-numeric-down::before { - content: "\f162"; } +.fa-hand-holding-water { + --fa: "\f4c1"; + --fa--fa: "\f4c1\f4c1"; } -.fa-hand-holding-droplet::before { - content: "\f4c1"; } +.fa-water { + --fa: "\f773"; + --fa--fa: "\f773\f773"; } -.fa-hand-holding-water::before { - content: "\f4c1"; } +.fa-calendar-check { + --fa: "\f274"; + --fa--fa: "\f274\f274"; } -.fa-water::before { - content: "\f773"; } +.fa-braille { + --fa: "\f2a1"; + --fa--fa: "\f2a1\f2a1"; } -.fa-calendar-check::before { - content: "\f274"; } +.fa-prescription-bottle-medical { + --fa: "\f486"; + --fa--fa: "\f486\f486"; } -.fa-braille::before { - content: "\f2a1"; } +.fa-prescription-bottle-alt { + --fa: "\f486"; + --fa--fa: "\f486\f486"; } -.fa-prescription-bottle-medical::before { - content: "\f486"; } +.fa-landmark { + --fa: "\f66f"; + --fa--fa: "\f66f\f66f"; } -.fa-prescription-bottle-alt::before { - content: "\f486"; } +.fa-truck { + --fa: "\f0d1"; + --fa--fa: "\f0d1\f0d1"; } -.fa-landmark::before { - content: "\f66f"; } +.fa-crosshairs { + --fa: "\f05b"; + --fa--fa: "\f05b\f05b"; } -.fa-truck::before { - content: "\f0d1"; } +.fa-person-cane { + --fa: "\e53c"; + --fa--fa: "\e53c\e53c"; } -.fa-crosshairs::before { - content: "\f05b"; } +.fa-tent { + --fa: "\e57d"; + --fa--fa: "\e57d\e57d"; } -.fa-person-cane::before { - content: "\e53c"; } +.fa-vest-patches { + --fa: "\e086"; + --fa--fa: "\e086\e086"; } -.fa-tent::before { - content: "\e57d"; } +.fa-check-double { + --fa: "\f560"; + --fa--fa: "\f560\f560"; } -.fa-vest-patches::before { - content: "\e086"; } +.fa-arrow-down-a-z { + --fa: "\f15d"; + --fa--fa: "\f15d\f15d"; } -.fa-check-double::before { - content: "\f560"; } +.fa-sort-alpha-asc { + --fa: "\f15d"; + --fa--fa: "\f15d\f15d"; } -.fa-arrow-down-a-z::before { - content: "\f15d"; } +.fa-sort-alpha-down { + --fa: "\f15d"; + --fa--fa: "\f15d\f15d"; } -.fa-sort-alpha-asc::before { - content: "\f15d"; } +.fa-money-bill-wheat { + --fa: "\e52a"; + --fa--fa: "\e52a\e52a"; } -.fa-sort-alpha-down::before { - content: "\f15d"; } +.fa-cookie { + --fa: "\f563"; + --fa--fa: "\f563\f563"; } -.fa-money-bill-wheat::before { - content: "\e52a"; } +.fa-arrow-rotate-left { + --fa: "\f0e2"; + --fa--fa: "\f0e2\f0e2"; } -.fa-cookie::before { - content: "\f563"; } +.fa-arrow-left-rotate { + --fa: "\f0e2"; + --fa--fa: "\f0e2\f0e2"; } -.fa-arrow-rotate-left::before { - content: "\f0e2"; } +.fa-arrow-rotate-back { + --fa: "\f0e2"; + --fa--fa: "\f0e2\f0e2"; } -.fa-arrow-left-rotate::before { - content: "\f0e2"; } +.fa-arrow-rotate-backward { + --fa: "\f0e2"; + --fa--fa: "\f0e2\f0e2"; } -.fa-arrow-rotate-back::before { - content: "\f0e2"; } +.fa-undo { + --fa: "\f0e2"; + --fa--fa: "\f0e2\f0e2"; } -.fa-arrow-rotate-backward::before { - content: "\f0e2"; } +.fa-hard-drive { + --fa: "\f0a0"; + --fa--fa: "\f0a0\f0a0"; } -.fa-undo::before { - content: "\f0e2"; } +.fa-hdd { + --fa: "\f0a0"; + --fa--fa: "\f0a0\f0a0"; } -.fa-hard-drive::before { - content: "\f0a0"; } +.fa-face-grin-squint-tears { + --fa: "\f586"; + --fa--fa: "\f586\f586"; } -.fa-hdd::before { - content: "\f0a0"; } +.fa-grin-squint-tears { + --fa: "\f586"; + --fa--fa: "\f586\f586"; } -.fa-face-grin-squint-tears::before { - content: "\f586"; } +.fa-dumbbell { + --fa: "\f44b"; + --fa--fa: "\f44b\f44b"; } -.fa-grin-squint-tears::before { - content: "\f586"; } +.fa-rectangle-list { + --fa: "\f022"; + --fa--fa: "\f022\f022"; } -.fa-dumbbell::before { - content: "\f44b"; } +.fa-list-alt { + --fa: "\f022"; + --fa--fa: "\f022\f022"; } -.fa-rectangle-list::before { - content: "\f022"; } +.fa-tarp-droplet { + --fa: "\e57c"; + --fa--fa: "\e57c\e57c"; } -.fa-list-alt::before { - content: "\f022"; } +.fa-house-medical-circle-check { + --fa: "\e511"; + --fa--fa: "\e511\e511"; } -.fa-tarp-droplet::before { - content: "\e57c"; } +.fa-person-skiing-nordic { + --fa: "\f7ca"; + --fa--fa: "\f7ca\f7ca"; } -.fa-house-medical-circle-check::before { - content: "\e511"; } +.fa-skiing-nordic { + --fa: "\f7ca"; + --fa--fa: "\f7ca\f7ca"; } -.fa-person-skiing-nordic::before { - content: "\f7ca"; } +.fa-calendar-plus { + --fa: "\f271"; + --fa--fa: "\f271\f271"; } -.fa-skiing-nordic::before { - content: "\f7ca"; } +.fa-plane-arrival { + --fa: "\f5af"; + --fa--fa: "\f5af\f5af"; } -.fa-calendar-plus::before { - content: "\f271"; } +.fa-circle-left { + --fa: "\f359"; + --fa--fa: "\f359\f359"; } -.fa-plane-arrival::before { - content: "\f5af"; } +.fa-arrow-alt-circle-left { + --fa: "\f359"; + --fa--fa: "\f359\f359"; } -.fa-circle-left::before { - content: "\f359"; } +.fa-train-subway { + --fa: "\f239"; + --fa--fa: "\f239\f239"; } -.fa-arrow-alt-circle-left::before { - content: "\f359"; } +.fa-subway { + --fa: "\f239"; + --fa--fa: "\f239\f239"; } -.fa-train-subway::before { - content: "\f239"; } +.fa-chart-gantt { + --fa: "\e0e4"; + --fa--fa: "\e0e4\e0e4"; } -.fa-subway::before { - content: "\f239"; } +.fa-indian-rupee-sign { + --fa: "\e1bc"; + --fa--fa: "\e1bc\e1bc"; } -.fa-chart-gantt::before { - content: "\e0e4"; } +.fa-indian-rupee { + --fa: "\e1bc"; + --fa--fa: "\e1bc\e1bc"; } -.fa-indian-rupee-sign::before { - content: "\e1bc"; } +.fa-inr { + --fa: "\e1bc"; + --fa--fa: "\e1bc\e1bc"; } -.fa-indian-rupee::before { - content: "\e1bc"; } +.fa-crop-simple { + --fa: "\f565"; + --fa--fa: "\f565\f565"; } -.fa-inr::before { - content: "\e1bc"; } +.fa-crop-alt { + --fa: "\f565"; + --fa--fa: "\f565\f565"; } -.fa-crop-simple::before { - content: "\f565"; } +.fa-money-bill-1 { + --fa: "\f3d1"; + --fa--fa: "\f3d1\f3d1"; } -.fa-crop-alt::before { - content: "\f565"; } +.fa-money-bill-alt { + --fa: "\f3d1"; + --fa--fa: "\f3d1\f3d1"; } -.fa-money-bill-1::before { - content: "\f3d1"; } +.fa-left-long { + --fa: "\f30a"; + --fa--fa: "\f30a\f30a"; } -.fa-money-bill-alt::before { - content: "\f3d1"; } +.fa-long-arrow-alt-left { + --fa: "\f30a"; + --fa--fa: "\f30a\f30a"; } -.fa-left-long::before { - content: "\f30a"; } +.fa-dna { + --fa: "\f471"; + --fa--fa: "\f471\f471"; } -.fa-long-arrow-alt-left::before { - content: "\f30a"; } +.fa-virus-slash { + --fa: "\e075"; + --fa--fa: "\e075\e075"; } -.fa-dna::before { - content: "\f471"; } +.fa-minus { + --fa: "\f068"; + --fa--fa: "\f068\f068"; } -.fa-virus-slash::before { - content: "\e075"; } +.fa-subtract { + --fa: "\f068"; + --fa--fa: "\f068\f068"; } -.fa-minus::before { - content: "\f068"; } +.fa-chess { + --fa: "\f439"; + --fa--fa: "\f439\f439"; } -.fa-subtract::before { - content: "\f068"; } +.fa-arrow-left-long { + --fa: "\f177"; + --fa--fa: "\f177\f177"; } -.fa-chess::before { - content: "\f439"; } +.fa-long-arrow-left { + --fa: "\f177"; + --fa--fa: "\f177\f177"; } -.fa-arrow-left-long::before { - content: "\f177"; } +.fa-plug-circle-check { + --fa: "\e55c"; + --fa--fa: "\e55c\e55c"; } -.fa-long-arrow-left::before { - content: "\f177"; } +.fa-street-view { + --fa: "\f21d"; + --fa--fa: "\f21d\f21d"; } -.fa-plug-circle-check::before { - content: "\e55c"; } +.fa-franc-sign { + --fa: "\e18f"; + --fa--fa: "\e18f\e18f"; } -.fa-street-view::before { - content: "\f21d"; } +.fa-volume-off { + --fa: "\f026"; + --fa--fa: "\f026\f026"; } -.fa-franc-sign::before { - content: "\e18f"; } +.fa-hands-asl-interpreting { + --fa: "\f2a3"; + --fa--fa: "\f2a3\f2a3"; } -.fa-volume-off::before { - content: "\f026"; } +.fa-american-sign-language-interpreting { + --fa: "\f2a3"; + --fa--fa: "\f2a3\f2a3"; } -.fa-hands-asl-interpreting::before { - content: "\f2a3"; } +.fa-asl-interpreting { + --fa: "\f2a3"; + --fa--fa: "\f2a3\f2a3"; } -.fa-american-sign-language-interpreting::before { - content: "\f2a3"; } +.fa-hands-american-sign-language-interpreting { + --fa: "\f2a3"; + --fa--fa: "\f2a3\f2a3"; } -.fa-asl-interpreting::before { - content: "\f2a3"; } +.fa-gear { + --fa: "\f013"; + --fa--fa: "\f013\f013"; } -.fa-hands-american-sign-language-interpreting::before { - content: "\f2a3"; } +.fa-cog { + --fa: "\f013"; + --fa--fa: "\f013\f013"; } -.fa-gear::before { - content: "\f013"; } +.fa-droplet-slash { + --fa: "\f5c7"; + --fa--fa: "\f5c7\f5c7"; } -.fa-cog::before { - content: "\f013"; } +.fa-tint-slash { + --fa: "\f5c7"; + --fa--fa: "\f5c7\f5c7"; } -.fa-droplet-slash::before { - content: "\f5c7"; } +.fa-mosque { + --fa: "\f678"; + --fa--fa: "\f678\f678"; } -.fa-tint-slash::before { - content: "\f5c7"; } +.fa-mosquito { + --fa: "\e52b"; + --fa--fa: "\e52b\e52b"; } -.fa-mosque::before { - content: "\f678"; } +.fa-star-of-david { + --fa: "\f69a"; + --fa--fa: "\f69a\f69a"; } -.fa-mosquito::before { - content: "\e52b"; } +.fa-person-military-rifle { + --fa: "\e54b"; + --fa--fa: "\e54b\e54b"; } -.fa-star-of-david::before { - content: "\f69a"; } +.fa-cart-shopping { + --fa: "\f07a"; + --fa--fa: "\f07a\f07a"; } -.fa-person-military-rifle::before { - content: "\e54b"; } +.fa-shopping-cart { + --fa: "\f07a"; + --fa--fa: "\f07a\f07a"; } -.fa-cart-shopping::before { - content: "\f07a"; } +.fa-vials { + --fa: "\f493"; + --fa--fa: "\f493\f493"; } -.fa-shopping-cart::before { - content: "\f07a"; } +.fa-plug-circle-plus { + --fa: "\e55f"; + --fa--fa: "\e55f\e55f"; } -.fa-vials::before { - content: "\f493"; } +.fa-place-of-worship { + --fa: "\f67f"; + --fa--fa: "\f67f\f67f"; } -.fa-plug-circle-plus::before { - content: "\e55f"; } +.fa-grip-vertical { + --fa: "\f58e"; + --fa--fa: "\f58e\f58e"; } -.fa-place-of-worship::before { - content: "\f67f"; } +.fa-hexagon-nodes { + --fa: "\e699"; + --fa--fa: "\e699\e699"; } -.fa-grip-vertical::before { - content: "\f58e"; } +.fa-arrow-turn-up { + --fa: "\f148"; + --fa--fa: "\f148\f148"; } -.fa-arrow-turn-up::before { - content: "\f148"; } +.fa-level-up { + --fa: "\f148"; + --fa--fa: "\f148\f148"; } -.fa-level-up::before { - content: "\f148"; } +.fa-u { + --fa: "\55"; + --fa--fa: "\55\55"; } -.fa-u::before { - content: "\55"; } +.fa-square-root-variable { + --fa: "\f698"; + --fa--fa: "\f698\f698"; } -.fa-square-root-variable::before { - content: "\f698"; } +.fa-square-root-alt { + --fa: "\f698"; + --fa--fa: "\f698\f698"; } -.fa-square-root-alt::before { - content: "\f698"; } +.fa-clock { + --fa: "\f017"; + --fa--fa: "\f017\f017"; } -.fa-clock::before { - content: "\f017"; } +.fa-clock-four { + --fa: "\f017"; + --fa--fa: "\f017\f017"; } -.fa-clock-four::before { - content: "\f017"; } +.fa-backward-step { + --fa: "\f048"; + --fa--fa: "\f048\f048"; } -.fa-backward-step::before { - content: "\f048"; } +.fa-step-backward { + --fa: "\f048"; + --fa--fa: "\f048\f048"; } -.fa-step-backward::before { - content: "\f048"; } +.fa-pallet { + --fa: "\f482"; + --fa--fa: "\f482\f482"; } -.fa-pallet::before { - content: "\f482"; } +.fa-faucet { + --fa: "\e005"; + --fa--fa: "\e005\e005"; } -.fa-faucet::before { - content: "\e005"; } +.fa-baseball-bat-ball { + --fa: "\f432"; + --fa--fa: "\f432\f432"; } -.fa-baseball-bat-ball::before { - content: "\f432"; } +.fa-s { + --fa: "\53"; + --fa--fa: "\53\53"; } -.fa-s::before { - content: "\53"; } +.fa-timeline { + --fa: "\e29c"; + --fa--fa: "\e29c\e29c"; } -.fa-timeline::before { - content: "\e29c"; } +.fa-keyboard { + --fa: "\f11c"; + --fa--fa: "\f11c\f11c"; } -.fa-keyboard::before { - content: "\f11c"; } +.fa-caret-down { + --fa: "\f0d7"; + --fa--fa: "\f0d7\f0d7"; } -.fa-caret-down::before { - content: "\f0d7"; } +.fa-house-chimney-medical { + --fa: "\f7f2"; + --fa--fa: "\f7f2\f7f2"; } -.fa-house-chimney-medical::before { - content: "\f7f2"; } +.fa-clinic-medical { + --fa: "\f7f2"; + --fa--fa: "\f7f2\f7f2"; } -.fa-clinic-medical::before { - content: "\f7f2"; } +.fa-temperature-three-quarters { + --fa: "\f2c8"; + --fa--fa: "\f2c8\f2c8"; } -.fa-temperature-three-quarters::before { - content: "\f2c8"; } +.fa-temperature-3 { + --fa: "\f2c8"; + --fa--fa: "\f2c8\f2c8"; } -.fa-temperature-3::before { - content: "\f2c8"; } +.fa-thermometer-3 { + --fa: "\f2c8"; + --fa--fa: "\f2c8\f2c8"; } -.fa-thermometer-3::before { - content: "\f2c8"; } +.fa-thermometer-three-quarters { + --fa: "\f2c8"; + --fa--fa: "\f2c8\f2c8"; } -.fa-thermometer-three-quarters::before { - content: "\f2c8"; } +.fa-mobile-screen { + --fa: "\f3cf"; + --fa--fa: "\f3cf\f3cf"; } -.fa-mobile-screen::before { - content: "\f3cf"; } +.fa-mobile-android-alt { + --fa: "\f3cf"; + --fa--fa: "\f3cf\f3cf"; } -.fa-mobile-android-alt::before { - content: "\f3cf"; } +.fa-plane-up { + --fa: "\e22d"; + --fa--fa: "\e22d\e22d"; } -.fa-plane-up::before { - content: "\e22d"; } +.fa-piggy-bank { + --fa: "\f4d3"; + --fa--fa: "\f4d3\f4d3"; } -.fa-piggy-bank::before { - content: "\f4d3"; } +.fa-battery-half { + --fa: "\f242"; + --fa--fa: "\f242\f242"; } -.fa-battery-half::before { - content: "\f242"; } +.fa-battery-3 { + --fa: "\f242"; + --fa--fa: "\f242\f242"; } -.fa-battery-3::before { - content: "\f242"; } +.fa-mountain-city { + --fa: "\e52e"; + --fa--fa: "\e52e\e52e"; } -.fa-mountain-city::before { - content: "\e52e"; } +.fa-coins { + --fa: "\f51e"; + --fa--fa: "\f51e\f51e"; } -.fa-coins::before { - content: "\f51e"; } +.fa-khanda { + --fa: "\f66d"; + --fa--fa: "\f66d\f66d"; } -.fa-khanda::before { - content: "\f66d"; } +.fa-sliders { + --fa: "\f1de"; + --fa--fa: "\f1de\f1de"; } -.fa-sliders::before { - content: "\f1de"; } +.fa-sliders-h { + --fa: "\f1de"; + --fa--fa: "\f1de\f1de"; } -.fa-sliders-h::before { - content: "\f1de"; } +.fa-folder-tree { + --fa: "\f802"; + --fa--fa: "\f802\f802"; } -.fa-folder-tree::before { - content: "\f802"; } +.fa-network-wired { + --fa: "\f6ff"; + --fa--fa: "\f6ff\f6ff"; } -.fa-network-wired::before { - content: "\f6ff"; } +.fa-map-pin { + --fa: "\f276"; + --fa--fa: "\f276\f276"; } -.fa-map-pin::before { - content: "\f276"; } +.fa-hamsa { + --fa: "\f665"; + --fa--fa: "\f665\f665"; } -.fa-hamsa::before { - content: "\f665"; } +.fa-cent-sign { + --fa: "\e3f5"; + --fa--fa: "\e3f5\e3f5"; } -.fa-cent-sign::before { - content: "\e3f5"; } +.fa-flask { + --fa: "\f0c3"; + --fa--fa: "\f0c3\f0c3"; } -.fa-flask::before { - content: "\f0c3"; } +.fa-person-pregnant { + --fa: "\e31e"; + --fa--fa: "\e31e\e31e"; } -.fa-person-pregnant::before { - content: "\e31e"; } +.fa-wand-sparkles { + --fa: "\f72b"; + --fa--fa: "\f72b\f72b"; } -.fa-wand-sparkles::before { - content: "\f72b"; } +.fa-ellipsis-vertical { + --fa: "\f142"; + --fa--fa: "\f142\f142"; } -.fa-ellipsis-vertical::before { - content: "\f142"; } +.fa-ellipsis-v { + --fa: "\f142"; + --fa--fa: "\f142\f142"; } -.fa-ellipsis-v::before { - content: "\f142"; } +.fa-ticket { + --fa: "\f145"; + --fa--fa: "\f145\f145"; } -.fa-ticket::before { - content: "\f145"; } +.fa-power-off { + --fa: "\f011"; + --fa--fa: "\f011\f011"; } -.fa-power-off::before { - content: "\f011"; } +.fa-right-long { + --fa: "\f30b"; + --fa--fa: "\f30b\f30b"; } -.fa-right-long::before { - content: "\f30b"; } +.fa-long-arrow-alt-right { + --fa: "\f30b"; + --fa--fa: "\f30b\f30b"; } -.fa-long-arrow-alt-right::before { - content: "\f30b"; } +.fa-flag-usa { + --fa: "\f74d"; + --fa--fa: "\f74d\f74d"; } -.fa-flag-usa::before { - content: "\f74d"; } +.fa-laptop-file { + --fa: "\e51d"; + --fa--fa: "\e51d\e51d"; } -.fa-laptop-file::before { - content: "\e51d"; } +.fa-tty { + --fa: "\f1e4"; + --fa--fa: "\f1e4\f1e4"; } -.fa-tty::before { - content: "\f1e4"; } +.fa-teletype { + --fa: "\f1e4"; + --fa--fa: "\f1e4\f1e4"; } -.fa-teletype::before { - content: "\f1e4"; } +.fa-diagram-next { + --fa: "\e476"; + --fa--fa: "\e476\e476"; } -.fa-diagram-next::before { - content: "\e476"; } +.fa-person-rifle { + --fa: "\e54e"; + --fa--fa: "\e54e\e54e"; } -.fa-person-rifle::before { - content: "\e54e"; } +.fa-house-medical-circle-exclamation { + --fa: "\e512"; + --fa--fa: "\e512\e512"; } -.fa-house-medical-circle-exclamation::before { - content: "\e512"; } +.fa-closed-captioning { + --fa: "\f20a"; + --fa--fa: "\f20a\f20a"; } -.fa-closed-captioning::before { - content: "\f20a"; } +.fa-person-hiking { + --fa: "\f6ec"; + --fa--fa: "\f6ec\f6ec"; } -.fa-person-hiking::before { - content: "\f6ec"; } +.fa-hiking { + --fa: "\f6ec"; + --fa--fa: "\f6ec\f6ec"; } -.fa-hiking::before { - content: "\f6ec"; } +.fa-venus-double { + --fa: "\f226"; + --fa--fa: "\f226\f226"; } -.fa-venus-double::before { - content: "\f226"; } +.fa-images { + --fa: "\f302"; + --fa--fa: "\f302\f302"; } -.fa-images::before { - content: "\f302"; } +.fa-calculator { + --fa: "\f1ec"; + --fa--fa: "\f1ec\f1ec"; } -.fa-calculator::before { - content: "\f1ec"; } +.fa-people-pulling { + --fa: "\e535"; + --fa--fa: "\e535\e535"; } -.fa-people-pulling::before { - content: "\e535"; } +.fa-n { + --fa: "\4e"; + --fa--fa: "\4e\4e"; } -.fa-n::before { - content: "\4e"; } +.fa-cable-car { + --fa: "\f7da"; + --fa--fa: "\f7da\f7da"; } -.fa-cable-car::before { - content: "\f7da"; } +.fa-tram { + --fa: "\f7da"; + --fa--fa: "\f7da\f7da"; } -.fa-tram::before { - content: "\f7da"; } +.fa-cloud-rain { + --fa: "\f73d"; + --fa--fa: "\f73d\f73d"; } -.fa-cloud-rain::before { - content: "\f73d"; } +.fa-building-circle-xmark { + --fa: "\e4d4"; + --fa--fa: "\e4d4\e4d4"; } -.fa-building-circle-xmark::before { - content: "\e4d4"; } +.fa-ship { + --fa: "\f21a"; + --fa--fa: "\f21a\f21a"; } -.fa-ship::before { - content: "\f21a"; } +.fa-arrows-down-to-line { + --fa: "\e4b8"; + --fa--fa: "\e4b8\e4b8"; } -.fa-arrows-down-to-line::before { - content: "\e4b8"; } +.fa-download { + --fa: "\f019"; + --fa--fa: "\f019\f019"; } -.fa-download::before { - content: "\f019"; } +.fa-face-grin { + --fa: "\f580"; + --fa--fa: "\f580\f580"; } -.fa-face-grin::before { - content: "\f580"; } +.fa-grin { + --fa: "\f580"; + --fa--fa: "\f580\f580"; } -.fa-grin::before { - content: "\f580"; } +.fa-delete-left { + --fa: "\f55a"; + --fa--fa: "\f55a\f55a"; } -.fa-delete-left::before { - content: "\f55a"; } +.fa-backspace { + --fa: "\f55a"; + --fa--fa: "\f55a\f55a"; } -.fa-backspace::before { - content: "\f55a"; } +.fa-eye-dropper { + --fa: "\f1fb"; + --fa--fa: "\f1fb\f1fb"; } -.fa-eye-dropper::before { - content: "\f1fb"; } +.fa-eye-dropper-empty { + --fa: "\f1fb"; + --fa--fa: "\f1fb\f1fb"; } -.fa-eye-dropper-empty::before { - content: "\f1fb"; } +.fa-eyedropper { + --fa: "\f1fb"; + --fa--fa: "\f1fb\f1fb"; } -.fa-eyedropper::before { - content: "\f1fb"; } +.fa-file-circle-check { + --fa: "\e5a0"; + --fa--fa: "\e5a0\e5a0"; } -.fa-file-circle-check::before { - content: "\e5a0"; } +.fa-forward { + --fa: "\f04e"; + --fa--fa: "\f04e\f04e"; } -.fa-forward::before { - content: "\f04e"; } +.fa-mobile { + --fa: "\f3ce"; + --fa--fa: "\f3ce\f3ce"; } -.fa-mobile::before { - content: "\f3ce"; } +.fa-mobile-android { + --fa: "\f3ce"; + --fa--fa: "\f3ce\f3ce"; } -.fa-mobile-android::before { - content: "\f3ce"; } +.fa-mobile-phone { + --fa: "\f3ce"; + --fa--fa: "\f3ce\f3ce"; } -.fa-mobile-phone::before { - content: "\f3ce"; } +.fa-face-meh { + --fa: "\f11a"; + --fa--fa: "\f11a\f11a"; } -.fa-face-meh::before { - content: "\f11a"; } +.fa-meh { + --fa: "\f11a"; + --fa--fa: "\f11a\f11a"; } -.fa-meh::before { - content: "\f11a"; } +.fa-align-center { + --fa: "\f037"; + --fa--fa: "\f037\f037"; } -.fa-align-center::before { - content: "\f037"; } +.fa-book-skull { + --fa: "\f6b7"; + --fa--fa: "\f6b7\f6b7"; } -.fa-book-skull::before { - content: "\f6b7"; } +.fa-book-dead { + --fa: "\f6b7"; + --fa--fa: "\f6b7\f6b7"; } -.fa-book-dead::before { - content: "\f6b7"; } +.fa-id-card { + --fa: "\f2c2"; + --fa--fa: "\f2c2\f2c2"; } -.fa-id-card::before { - content: "\f2c2"; } +.fa-drivers-license { + --fa: "\f2c2"; + --fa--fa: "\f2c2\f2c2"; } -.fa-drivers-license::before { - content: "\f2c2"; } +.fa-outdent { + --fa: "\f03b"; + --fa--fa: "\f03b\f03b"; } -.fa-outdent::before { - content: "\f03b"; } +.fa-dedent { + --fa: "\f03b"; + --fa--fa: "\f03b\f03b"; } -.fa-dedent::before { - content: "\f03b"; } +.fa-heart-circle-exclamation { + --fa: "\e4fe"; + --fa--fa: "\e4fe\e4fe"; } -.fa-heart-circle-exclamation::before { - content: "\e4fe"; } +.fa-house { + --fa: "\f015"; + --fa--fa: "\f015\f015"; } -.fa-house::before { - content: "\f015"; } +.fa-home { + --fa: "\f015"; + --fa--fa: "\f015\f015"; } -.fa-home::before { - content: "\f015"; } +.fa-home-alt { + --fa: "\f015"; + --fa--fa: "\f015\f015"; } -.fa-home-alt::before { - content: "\f015"; } +.fa-home-lg-alt { + --fa: "\f015"; + --fa--fa: "\f015\f015"; } -.fa-home-lg-alt::before { - content: "\f015"; } +.fa-calendar-week { + --fa: "\f784"; + --fa--fa: "\f784\f784"; } -.fa-calendar-week::before { - content: "\f784"; } +.fa-laptop-medical { + --fa: "\f812"; + --fa--fa: "\f812\f812"; } -.fa-laptop-medical::before { - content: "\f812"; } +.fa-b { + --fa: "\42"; + --fa--fa: "\42\42"; } -.fa-b::before { - content: "\42"; } +.fa-file-medical { + --fa: "\f477"; + --fa--fa: "\f477\f477"; } -.fa-file-medical::before { - content: "\f477"; } +.fa-dice-one { + --fa: "\f525"; + --fa--fa: "\f525\f525"; } -.fa-dice-one::before { - content: "\f525"; } +.fa-kiwi-bird { + --fa: "\f535"; + --fa--fa: "\f535\f535"; } -.fa-kiwi-bird::before { - content: "\f535"; } +.fa-arrow-right-arrow-left { + --fa: "\f0ec"; + --fa--fa: "\f0ec\f0ec"; } -.fa-arrow-right-arrow-left::before { - content: "\f0ec"; } +.fa-exchange { + --fa: "\f0ec"; + --fa--fa: "\f0ec\f0ec"; } -.fa-exchange::before { - content: "\f0ec"; } +.fa-rotate-right { + --fa: "\f2f9"; + --fa--fa: "\f2f9\f2f9"; } -.fa-rotate-right::before { - content: "\f2f9"; } +.fa-redo-alt { + --fa: "\f2f9"; + --fa--fa: "\f2f9\f2f9"; } -.fa-redo-alt::before { - content: "\f2f9"; } +.fa-rotate-forward { + --fa: "\f2f9"; + --fa--fa: "\f2f9\f2f9"; } -.fa-rotate-forward::before { - content: "\f2f9"; } +.fa-utensils { + --fa: "\f2e7"; + --fa--fa: "\f2e7\f2e7"; } -.fa-utensils::before { - content: "\f2e7"; } +.fa-cutlery { + --fa: "\f2e7"; + --fa--fa: "\f2e7\f2e7"; } -.fa-cutlery::before { - content: "\f2e7"; } +.fa-arrow-up-wide-short { + --fa: "\f161"; + --fa--fa: "\f161\f161"; } -.fa-arrow-up-wide-short::before { - content: "\f161"; } +.fa-sort-amount-up { + --fa: "\f161"; + --fa--fa: "\f161\f161"; } -.fa-sort-amount-up::before { - content: "\f161"; } +.fa-mill-sign { + --fa: "\e1ed"; + --fa--fa: "\e1ed\e1ed"; } -.fa-mill-sign::before { - content: "\e1ed"; } +.fa-bowl-rice { + --fa: "\e2eb"; + --fa--fa: "\e2eb\e2eb"; } -.fa-bowl-rice::before { - content: "\e2eb"; } +.fa-skull { + --fa: "\f54c"; + --fa--fa: "\f54c\f54c"; } -.fa-skull::before { - content: "\f54c"; } +.fa-tower-broadcast { + --fa: "\f519"; + --fa--fa: "\f519\f519"; } -.fa-tower-broadcast::before { - content: "\f519"; } +.fa-broadcast-tower { + --fa: "\f519"; + --fa--fa: "\f519\f519"; } -.fa-broadcast-tower::before { - content: "\f519"; } +.fa-truck-pickup { + --fa: "\f63c"; + --fa--fa: "\f63c\f63c"; } -.fa-truck-pickup::before { - content: "\f63c"; } +.fa-up-long { + --fa: "\f30c"; + --fa--fa: "\f30c\f30c"; } -.fa-up-long::before { - content: "\f30c"; } +.fa-long-arrow-alt-up { + --fa: "\f30c"; + --fa--fa: "\f30c\f30c"; } -.fa-long-arrow-alt-up::before { - content: "\f30c"; } +.fa-stop { + --fa: "\f04d"; + --fa--fa: "\f04d\f04d"; } -.fa-stop::before { - content: "\f04d"; } +.fa-code-merge { + --fa: "\f387"; + --fa--fa: "\f387\f387"; } -.fa-code-merge::before { - content: "\f387"; } +.fa-upload { + --fa: "\f093"; + --fa--fa: "\f093\f093"; } -.fa-upload::before { - content: "\f093"; } +.fa-hurricane { + --fa: "\f751"; + --fa--fa: "\f751\f751"; } -.fa-hurricane::before { - content: "\f751"; } +.fa-mound { + --fa: "\e52d"; + --fa--fa: "\e52d\e52d"; } -.fa-mound::before { - content: "\e52d"; } +.fa-toilet-portable { + --fa: "\e583"; + --fa--fa: "\e583\e583"; } -.fa-toilet-portable::before { - content: "\e583"; } +.fa-compact-disc { + --fa: "\f51f"; + --fa--fa: "\f51f\f51f"; } -.fa-compact-disc::before { - content: "\f51f"; } +.fa-file-arrow-down { + --fa: "\f56d"; + --fa--fa: "\f56d\f56d"; } -.fa-file-arrow-down::before { - content: "\f56d"; } +.fa-file-download { + --fa: "\f56d"; + --fa--fa: "\f56d\f56d"; } -.fa-file-download::before { - content: "\f56d"; } +.fa-caravan { + --fa: "\f8ff"; + --fa--fa: "\f8ff\f8ff"; } -.fa-caravan::before { - content: "\f8ff"; } +.fa-shield-cat { + --fa: "\e572"; + --fa--fa: "\e572\e572"; } -.fa-shield-cat::before { - content: "\e572"; } +.fa-bolt { + --fa: "\f0e7"; + --fa--fa: "\f0e7\f0e7"; } -.fa-bolt::before { - content: "\f0e7"; } +.fa-zap { + --fa: "\f0e7"; + --fa--fa: "\f0e7\f0e7"; } -.fa-zap::before { - content: "\f0e7"; } +.fa-glass-water { + --fa: "\e4f4"; + --fa--fa: "\e4f4\e4f4"; } -.fa-glass-water::before { - content: "\e4f4"; } +.fa-oil-well { + --fa: "\e532"; + --fa--fa: "\e532\e532"; } -.fa-oil-well::before { - content: "\e532"; } +.fa-vault { + --fa: "\e2c5"; + --fa--fa: "\e2c5\e2c5"; } -.fa-vault::before { - content: "\e2c5"; } +.fa-mars { + --fa: "\f222"; + --fa--fa: "\f222\f222"; } -.fa-mars::before { - content: "\f222"; } +.fa-toilet { + --fa: "\f7d8"; + --fa--fa: "\f7d8\f7d8"; } -.fa-toilet::before { - content: "\f7d8"; } +.fa-plane-circle-xmark { + --fa: "\e557"; + --fa--fa: "\e557\e557"; } -.fa-plane-circle-xmark::before { - content: "\e557"; } +.fa-yen-sign { + --fa: "\f157"; + --fa--fa: "\f157\f157"; } -.fa-yen-sign::before { - content: "\f157"; } +.fa-cny { + --fa: "\f157"; + --fa--fa: "\f157\f157"; } -.fa-cny::before { - content: "\f157"; } +.fa-jpy { + --fa: "\f157"; + --fa--fa: "\f157\f157"; } -.fa-jpy::before { - content: "\f157"; } +.fa-rmb { + --fa: "\f157"; + --fa--fa: "\f157\f157"; } -.fa-rmb::before { - content: "\f157"; } +.fa-yen { + --fa: "\f157"; + --fa--fa: "\f157\f157"; } -.fa-yen::before { - content: "\f157"; } +.fa-ruble-sign { + --fa: "\f158"; + --fa--fa: "\f158\f158"; } -.fa-ruble-sign::before { - content: "\f158"; } +.fa-rouble { + --fa: "\f158"; + --fa--fa: "\f158\f158"; } -.fa-rouble::before { - content: "\f158"; } +.fa-rub { + --fa: "\f158"; + --fa--fa: "\f158\f158"; } -.fa-rub::before { - content: "\f158"; } +.fa-ruble { + --fa: "\f158"; + --fa--fa: "\f158\f158"; } -.fa-ruble::before { - content: "\f158"; } +.fa-sun { + --fa: "\f185"; + --fa--fa: "\f185\f185"; } -.fa-sun::before { - content: "\f185"; } +.fa-guitar { + --fa: "\f7a6"; + --fa--fa: "\f7a6\f7a6"; } -.fa-guitar::before { - content: "\f7a6"; } +.fa-face-laugh-wink { + --fa: "\f59c"; + --fa--fa: "\f59c\f59c"; } -.fa-face-laugh-wink::before { - content: "\f59c"; } +.fa-laugh-wink { + --fa: "\f59c"; + --fa--fa: "\f59c\f59c"; } -.fa-laugh-wink::before { - content: "\f59c"; } +.fa-horse-head { + --fa: "\f7ab"; + --fa--fa: "\f7ab\f7ab"; } -.fa-horse-head::before { - content: "\f7ab"; } +.fa-bore-hole { + --fa: "\e4c3"; + --fa--fa: "\e4c3\e4c3"; } -.fa-bore-hole::before { - content: "\e4c3"; } +.fa-industry { + --fa: "\f275"; + --fa--fa: "\f275\f275"; } -.fa-industry::before { - content: "\f275"; } +.fa-circle-down { + --fa: "\f358"; + --fa--fa: "\f358\f358"; } -.fa-circle-down::before { - content: "\f358"; } +.fa-arrow-alt-circle-down { + --fa: "\f358"; + --fa--fa: "\f358\f358"; } -.fa-arrow-alt-circle-down::before { - content: "\f358"; } +.fa-arrows-turn-to-dots { + --fa: "\e4c1"; + --fa--fa: "\e4c1\e4c1"; } -.fa-arrows-turn-to-dots::before { - content: "\e4c1"; } +.fa-florin-sign { + --fa: "\e184"; + --fa--fa: "\e184\e184"; } -.fa-florin-sign::before { - content: "\e184"; } +.fa-arrow-down-short-wide { + --fa: "\f884"; + --fa--fa: "\f884\f884"; } -.fa-arrow-down-short-wide::before { - content: "\f884"; } +.fa-sort-amount-desc { + --fa: "\f884"; + --fa--fa: "\f884\f884"; } -.fa-sort-amount-desc::before { - content: "\f884"; } +.fa-sort-amount-down-alt { + --fa: "\f884"; + --fa--fa: "\f884\f884"; } -.fa-sort-amount-down-alt::before { - content: "\f884"; } +.fa-less-than { + --fa: "\3c"; + --fa--fa: "\3c\3c"; } -.fa-less-than::before { - content: "\3c"; } +.fa-angle-down { + --fa: "\f107"; + --fa--fa: "\f107\f107"; } -.fa-angle-down::before { - content: "\f107"; } +.fa-car-tunnel { + --fa: "\e4de"; + --fa--fa: "\e4de\e4de"; } -.fa-car-tunnel::before { - content: "\e4de"; } +.fa-head-side-cough { + --fa: "\e061"; + --fa--fa: "\e061\e061"; } -.fa-head-side-cough::before { - content: "\e061"; } +.fa-grip-lines { + --fa: "\f7a4"; + --fa--fa: "\f7a4\f7a4"; } -.fa-grip-lines::before { - content: "\f7a4"; } +.fa-thumbs-down { + --fa: "\f165"; + --fa--fa: "\f165\f165"; } -.fa-thumbs-down::before { - content: "\f165"; } +.fa-user-lock { + --fa: "\f502"; + --fa--fa: "\f502\f502"; } -.fa-user-lock::before { - content: "\f502"; } +.fa-arrow-right-long { + --fa: "\f178"; + --fa--fa: "\f178\f178"; } -.fa-arrow-right-long::before { - content: "\f178"; } +.fa-long-arrow-right { + --fa: "\f178"; + --fa--fa: "\f178\f178"; } -.fa-long-arrow-right::before { - content: "\f178"; } +.fa-anchor-circle-xmark { + --fa: "\e4ac"; + --fa--fa: "\e4ac\e4ac"; } -.fa-anchor-circle-xmark::before { - content: "\e4ac"; } +.fa-ellipsis { + --fa: "\f141"; + --fa--fa: "\f141\f141"; } -.fa-ellipsis::before { - content: "\f141"; } +.fa-ellipsis-h { + --fa: "\f141"; + --fa--fa: "\f141\f141"; } -.fa-ellipsis-h::before { - content: "\f141"; } +.fa-chess-pawn { + --fa: "\f443"; + --fa--fa: "\f443\f443"; } -.fa-chess-pawn::before { - content: "\f443"; } +.fa-kit-medical { + --fa: "\f479"; + --fa--fa: "\f479\f479"; } -.fa-kit-medical::before { - content: "\f479"; } +.fa-first-aid { + --fa: "\f479"; + --fa--fa: "\f479\f479"; } -.fa-first-aid::before { - content: "\f479"; } +.fa-person-through-window { + --fa: "\e5a9"; + --fa--fa: "\e5a9\e5a9"; } -.fa-person-through-window::before { - content: "\e5a9"; } +.fa-toolbox { + --fa: "\f552"; + --fa--fa: "\f552\f552"; } -.fa-toolbox::before { - content: "\f552"; } +.fa-hands-holding-circle { + --fa: "\e4fb"; + --fa--fa: "\e4fb\e4fb"; } -.fa-hands-holding-circle::before { - content: "\e4fb"; } +.fa-bug { + --fa: "\f188"; + --fa--fa: "\f188\f188"; } -.fa-bug::before { - content: "\f188"; } +.fa-credit-card { + --fa: "\f09d"; + --fa--fa: "\f09d\f09d"; } -.fa-credit-card::before { - content: "\f09d"; } +.fa-credit-card-alt { + --fa: "\f09d"; + --fa--fa: "\f09d\f09d"; } -.fa-credit-card-alt::before { - content: "\f09d"; } +.fa-car { + --fa: "\f1b9"; + --fa--fa: "\f1b9\f1b9"; } -.fa-car::before { - content: "\f1b9"; } +.fa-automobile { + --fa: "\f1b9"; + --fa--fa: "\f1b9\f1b9"; } -.fa-automobile::before { - content: "\f1b9"; } +.fa-hand-holding-hand { + --fa: "\e4f7"; + --fa--fa: "\e4f7\e4f7"; } -.fa-hand-holding-hand::before { - content: "\e4f7"; } +.fa-book-open-reader { + --fa: "\f5da"; + --fa--fa: "\f5da\f5da"; } -.fa-book-open-reader::before { - content: "\f5da"; } +.fa-book-reader { + --fa: "\f5da"; + --fa--fa: "\f5da\f5da"; } -.fa-book-reader::before { - content: "\f5da"; } +.fa-mountain-sun { + --fa: "\e52f"; + --fa--fa: "\e52f\e52f"; } -.fa-mountain-sun::before { - content: "\e52f"; } +.fa-arrows-left-right-to-line { + --fa: "\e4ba"; + --fa--fa: "\e4ba\e4ba"; } -.fa-arrows-left-right-to-line::before { - content: "\e4ba"; } +.fa-dice-d20 { + --fa: "\f6cf"; + --fa--fa: "\f6cf\f6cf"; } -.fa-dice-d20::before { - content: "\f6cf"; } +.fa-truck-droplet { + --fa: "\e58c"; + --fa--fa: "\e58c\e58c"; } -.fa-truck-droplet::before { - content: "\e58c"; } +.fa-file-circle-xmark { + --fa: "\e5a1"; + --fa--fa: "\e5a1\e5a1"; } -.fa-file-circle-xmark::before { - content: "\e5a1"; } +.fa-temperature-arrow-up { + --fa: "\e040"; + --fa--fa: "\e040\e040"; } -.fa-temperature-arrow-up::before { - content: "\e040"; } +.fa-temperature-up { + --fa: "\e040"; + --fa--fa: "\e040\e040"; } -.fa-temperature-up::before { - content: "\e040"; } +.fa-medal { + --fa: "\f5a2"; + --fa--fa: "\f5a2\f5a2"; } -.fa-medal::before { - content: "\f5a2"; } +.fa-bed { + --fa: "\f236"; + --fa--fa: "\f236\f236"; } -.fa-bed::before { - content: "\f236"; } +.fa-square-h { + --fa: "\f0fd"; + --fa--fa: "\f0fd\f0fd"; } -.fa-square-h::before { - content: "\f0fd"; } +.fa-h-square { + --fa: "\f0fd"; + --fa--fa: "\f0fd\f0fd"; } -.fa-h-square::before { - content: "\f0fd"; } +.fa-podcast { + --fa: "\f2ce"; + --fa--fa: "\f2ce\f2ce"; } -.fa-podcast::before { - content: "\f2ce"; } +.fa-temperature-full { + --fa: "\f2c7"; + --fa--fa: "\f2c7\f2c7"; } -.fa-temperature-full::before { - content: "\f2c7"; } +.fa-temperature-4 { + --fa: "\f2c7"; + --fa--fa: "\f2c7\f2c7"; } -.fa-temperature-4::before { - content: "\f2c7"; } +.fa-thermometer-4 { + --fa: "\f2c7"; + --fa--fa: "\f2c7\f2c7"; } -.fa-thermometer-4::before { - content: "\f2c7"; } +.fa-thermometer-full { + --fa: "\f2c7"; + --fa--fa: "\f2c7\f2c7"; } -.fa-thermometer-full::before { - content: "\f2c7"; } +.fa-bell { + --fa: "\f0f3"; + --fa--fa: "\f0f3\f0f3"; } -.fa-bell::before { - content: "\f0f3"; } +.fa-superscript { + --fa: "\f12b"; + --fa--fa: "\f12b\f12b"; } -.fa-superscript::before { - content: "\f12b"; } +.fa-plug-circle-xmark { + --fa: "\e560"; + --fa--fa: "\e560\e560"; } -.fa-plug-circle-xmark::before { - content: "\e560"; } +.fa-star-of-life { + --fa: "\f621"; + --fa--fa: "\f621\f621"; } -.fa-star-of-life::before { - content: "\f621"; } +.fa-phone-slash { + --fa: "\f3dd"; + --fa--fa: "\f3dd\f3dd"; } -.fa-phone-slash::before { - content: "\f3dd"; } +.fa-paint-roller { + --fa: "\f5aa"; + --fa--fa: "\f5aa\f5aa"; } -.fa-paint-roller::before { - content: "\f5aa"; } +.fa-handshake-angle { + --fa: "\f4c4"; + --fa--fa: "\f4c4\f4c4"; } -.fa-handshake-angle::before { - content: "\f4c4"; } +.fa-hands-helping { + --fa: "\f4c4"; + --fa--fa: "\f4c4\f4c4"; } -.fa-hands-helping::before { - content: "\f4c4"; } +.fa-location-dot { + --fa: "\f3c5"; + --fa--fa: "\f3c5\f3c5"; } -.fa-location-dot::before { - content: "\f3c5"; } +.fa-map-marker-alt { + --fa: "\f3c5"; + --fa--fa: "\f3c5\f3c5"; } -.fa-map-marker-alt::before { - content: "\f3c5"; } +.fa-file { + --fa: "\f15b"; + --fa--fa: "\f15b\f15b"; } -.fa-file::before { - content: "\f15b"; } +.fa-greater-than { + --fa: "\3e"; + --fa--fa: "\3e\3e"; } -.fa-greater-than::before { - content: "\3e"; } +.fa-person-swimming { + --fa: "\f5c4"; + --fa--fa: "\f5c4\f5c4"; } -.fa-person-swimming::before { - content: "\f5c4"; } +.fa-swimmer { + --fa: "\f5c4"; + --fa--fa: "\f5c4\f5c4"; } -.fa-swimmer::before { - content: "\f5c4"; } +.fa-arrow-down { + --fa: "\f063"; + --fa--fa: "\f063\f063"; } -.fa-arrow-down::before { - content: "\f063"; } +.fa-droplet { + --fa: "\f043"; + --fa--fa: "\f043\f043"; } -.fa-droplet::before { - content: "\f043"; } +.fa-tint { + --fa: "\f043"; + --fa--fa: "\f043\f043"; } -.fa-tint::before { - content: "\f043"; } +.fa-eraser { + --fa: "\f12d"; + --fa--fa: "\f12d\f12d"; } -.fa-eraser::before { - content: "\f12d"; } +.fa-earth-americas { + --fa: "\f57d"; + --fa--fa: "\f57d\f57d"; } -.fa-earth-americas::before { - content: "\f57d"; } +.fa-earth { + --fa: "\f57d"; + --fa--fa: "\f57d\f57d"; } -.fa-earth::before { - content: "\f57d"; } +.fa-earth-america { + --fa: "\f57d"; + --fa--fa: "\f57d\f57d"; } -.fa-earth-america::before { - content: "\f57d"; } +.fa-globe-americas { + --fa: "\f57d"; + --fa--fa: "\f57d\f57d"; } -.fa-globe-americas::before { - content: "\f57d"; } +.fa-person-burst { + --fa: "\e53b"; + --fa--fa: "\e53b\e53b"; } -.fa-person-burst::before { - content: "\e53b"; } +.fa-dove { + --fa: "\f4ba"; + --fa--fa: "\f4ba\f4ba"; } -.fa-dove::before { - content: "\f4ba"; } +.fa-battery-empty { + --fa: "\f244"; + --fa--fa: "\f244\f244"; } -.fa-battery-empty::before { - content: "\f244"; } +.fa-battery-0 { + --fa: "\f244"; + --fa--fa: "\f244\f244"; } -.fa-battery-0::before { - content: "\f244"; } +.fa-socks { + --fa: "\f696"; + --fa--fa: "\f696\f696"; } -.fa-socks::before { - content: "\f696"; } +.fa-inbox { + --fa: "\f01c"; + --fa--fa: "\f01c\f01c"; } -.fa-inbox::before { - content: "\f01c"; } +.fa-section { + --fa: "\e447"; + --fa--fa: "\e447\e447"; } -.fa-section::before { - content: "\e447"; } +.fa-gauge-high { + --fa: "\f625"; + --fa--fa: "\f625\f625"; } -.fa-gauge-high::before { - content: "\f625"; } +.fa-tachometer-alt { + --fa: "\f625"; + --fa--fa: "\f625\f625"; } -.fa-tachometer-alt::before { - content: "\f625"; } +.fa-tachometer-alt-fast { + --fa: "\f625"; + --fa--fa: "\f625\f625"; } -.fa-tachometer-alt-fast::before { - content: "\f625"; } +.fa-envelope-open-text { + --fa: "\f658"; + --fa--fa: "\f658\f658"; } -.fa-envelope-open-text::before { - content: "\f658"; } +.fa-hospital { + --fa: "\f0f8"; + --fa--fa: "\f0f8\f0f8"; } -.fa-hospital::before { - content: "\f0f8"; } +.fa-hospital-alt { + --fa: "\f0f8"; + --fa--fa: "\f0f8\f0f8"; } -.fa-hospital-alt::before { - content: "\f0f8"; } +.fa-hospital-wide { + --fa: "\f0f8"; + --fa--fa: "\f0f8\f0f8"; } -.fa-hospital-wide::before { - content: "\f0f8"; } +.fa-wine-bottle { + --fa: "\f72f"; + --fa--fa: "\f72f\f72f"; } -.fa-wine-bottle::before { - content: "\f72f"; } +.fa-chess-rook { + --fa: "\f447"; + --fa--fa: "\f447\f447"; } -.fa-chess-rook::before { - content: "\f447"; } +.fa-bars-staggered { + --fa: "\f550"; + --fa--fa: "\f550\f550"; } -.fa-bars-staggered::before { - content: "\f550"; } +.fa-reorder { + --fa: "\f550"; + --fa--fa: "\f550\f550"; } -.fa-reorder::before { - content: "\f550"; } +.fa-stream { + --fa: "\f550"; + --fa--fa: "\f550\f550"; } -.fa-stream::before { - content: "\f550"; } +.fa-dharmachakra { + --fa: "\f655"; + --fa--fa: "\f655\f655"; } -.fa-dharmachakra::before { - content: "\f655"; } +.fa-hotdog { + --fa: "\f80f"; + --fa--fa: "\f80f\f80f"; } -.fa-hotdog::before { - content: "\f80f"; } +.fa-person-walking-with-cane { + --fa: "\f29d"; + --fa--fa: "\f29d\f29d"; } -.fa-person-walking-with-cane::before { - content: "\f29d"; } +.fa-blind { + --fa: "\f29d"; + --fa--fa: "\f29d\f29d"; } -.fa-blind::before { - content: "\f29d"; } +.fa-drum { + --fa: "\f569"; + --fa--fa: "\f569\f569"; } -.fa-drum::before { - content: "\f569"; } +.fa-ice-cream { + --fa: "\f810"; + --fa--fa: "\f810\f810"; } -.fa-ice-cream::before { - content: "\f810"; } +.fa-heart-circle-bolt { + --fa: "\e4fc"; + --fa--fa: "\e4fc\e4fc"; } -.fa-heart-circle-bolt::before { - content: "\e4fc"; } +.fa-fax { + --fa: "\f1ac"; + --fa--fa: "\f1ac\f1ac"; } -.fa-fax::before { - content: "\f1ac"; } +.fa-paragraph { + --fa: "\f1dd"; + --fa--fa: "\f1dd\f1dd"; } -.fa-paragraph::before { - content: "\f1dd"; } +.fa-check-to-slot { + --fa: "\f772"; + --fa--fa: "\f772\f772"; } -.fa-check-to-slot::before { - content: "\f772"; } +.fa-vote-yea { + --fa: "\f772"; + --fa--fa: "\f772\f772"; } -.fa-vote-yea::before { - content: "\f772"; } +.fa-star-half { + --fa: "\f089"; + --fa--fa: "\f089\f089"; } -.fa-star-half::before { - content: "\f089"; } +.fa-boxes-stacked { + --fa: "\f468"; + --fa--fa: "\f468\f468"; } -.fa-boxes-stacked::before { - content: "\f468"; } +.fa-boxes { + --fa: "\f468"; + --fa--fa: "\f468\f468"; } -.fa-boxes::before { - content: "\f468"; } +.fa-boxes-alt { + --fa: "\f468"; + --fa--fa: "\f468\f468"; } -.fa-boxes-alt::before { - content: "\f468"; } +.fa-link { + --fa: "\f0c1"; + --fa--fa: "\f0c1\f0c1"; } -.fa-link::before { - content: "\f0c1"; } +.fa-chain { + --fa: "\f0c1"; + --fa--fa: "\f0c1\f0c1"; } -.fa-chain::before { - content: "\f0c1"; } +.fa-ear-listen { + --fa: "\f2a2"; + --fa--fa: "\f2a2\f2a2"; } -.fa-ear-listen::before { - content: "\f2a2"; } +.fa-assistive-listening-systems { + --fa: "\f2a2"; + --fa--fa: "\f2a2\f2a2"; } -.fa-assistive-listening-systems::before { - content: "\f2a2"; } +.fa-tree-city { + --fa: "\e587"; + --fa--fa: "\e587\e587"; } -.fa-tree-city::before { - content: "\e587"; } +.fa-play { + --fa: "\f04b"; + --fa--fa: "\f04b\f04b"; } -.fa-play::before { - content: "\f04b"; } +.fa-font { + --fa: "\f031"; + --fa--fa: "\f031\f031"; } -.fa-font::before { - content: "\f031"; } +.fa-table-cells-row-lock { + --fa: "\e67a"; + --fa--fa: "\e67a\e67a"; } -.fa-table-cells-row-lock::before { - content: "\e67a"; } +.fa-rupiah-sign { + --fa: "\e23d"; + --fa--fa: "\e23d\e23d"; } -.fa-rupiah-sign::before { - content: "\e23d"; } +.fa-magnifying-glass { + --fa: "\f002"; + --fa--fa: "\f002\f002"; } -.fa-magnifying-glass::before { - content: "\f002"; } +.fa-search { + --fa: "\f002"; + --fa--fa: "\f002\f002"; } -.fa-search::before { - content: "\f002"; } +.fa-table-tennis-paddle-ball { + --fa: "\f45d"; + --fa--fa: "\f45d\f45d"; } -.fa-table-tennis-paddle-ball::before { - content: "\f45d"; } +.fa-ping-pong-paddle-ball { + --fa: "\f45d"; + --fa--fa: "\f45d\f45d"; } -.fa-ping-pong-paddle-ball::before { - content: "\f45d"; } +.fa-table-tennis { + --fa: "\f45d"; + --fa--fa: "\f45d\f45d"; } -.fa-table-tennis::before { - content: "\f45d"; } +.fa-person-dots-from-line { + --fa: "\f470"; + --fa--fa: "\f470\f470"; } -.fa-person-dots-from-line::before { - content: "\f470"; } +.fa-diagnoses { + --fa: "\f470"; + --fa--fa: "\f470\f470"; } -.fa-diagnoses::before { - content: "\f470"; } +.fa-trash-can-arrow-up { + --fa: "\f82a"; + --fa--fa: "\f82a\f82a"; } -.fa-trash-can-arrow-up::before { - content: "\f82a"; } +.fa-trash-restore-alt { + --fa: "\f82a"; + --fa--fa: "\f82a\f82a"; } -.fa-trash-restore-alt::before { - content: "\f82a"; } +.fa-naira-sign { + --fa: "\e1f6"; + --fa--fa: "\e1f6\e1f6"; } -.fa-naira-sign::before { - content: "\e1f6"; } +.fa-cart-arrow-down { + --fa: "\f218"; + --fa--fa: "\f218\f218"; } -.fa-cart-arrow-down::before { - content: "\f218"; } +.fa-walkie-talkie { + --fa: "\f8ef"; + --fa--fa: "\f8ef\f8ef"; } -.fa-walkie-talkie::before { - content: "\f8ef"; } +.fa-file-pen { + --fa: "\f31c"; + --fa--fa: "\f31c\f31c"; } -.fa-file-pen::before { - content: "\f31c"; } +.fa-file-edit { + --fa: "\f31c"; + --fa--fa: "\f31c\f31c"; } -.fa-file-edit::before { - content: "\f31c"; } +.fa-receipt { + --fa: "\f543"; + --fa--fa: "\f543\f543"; } -.fa-receipt::before { - content: "\f543"; } +.fa-square-pen { + --fa: "\f14b"; + --fa--fa: "\f14b\f14b"; } -.fa-square-pen::before { - content: "\f14b"; } +.fa-pen-square { + --fa: "\f14b"; + --fa--fa: "\f14b\f14b"; } -.fa-pen-square::before { - content: "\f14b"; } +.fa-pencil-square { + --fa: "\f14b"; + --fa--fa: "\f14b\f14b"; } -.fa-pencil-square::before { - content: "\f14b"; } +.fa-suitcase-rolling { + --fa: "\f5c1"; + --fa--fa: "\f5c1\f5c1"; } -.fa-suitcase-rolling::before { - content: "\f5c1"; } +.fa-person-circle-exclamation { + --fa: "\e53f"; + --fa--fa: "\e53f\e53f"; } -.fa-person-circle-exclamation::before { - content: "\e53f"; } +.fa-chevron-down { + --fa: "\f078"; + --fa--fa: "\f078\f078"; } -.fa-chevron-down::before { - content: "\f078"; } +.fa-battery-full { + --fa: "\f240"; + --fa--fa: "\f240\f240"; } -.fa-battery-full::before { - content: "\f240"; } +.fa-battery { + --fa: "\f240"; + --fa--fa: "\f240\f240"; } -.fa-battery::before { - content: "\f240"; } +.fa-battery-5 { + --fa: "\f240"; + --fa--fa: "\f240\f240"; } -.fa-battery-5::before { - content: "\f240"; } +.fa-skull-crossbones { + --fa: "\f714"; + --fa--fa: "\f714\f714"; } -.fa-skull-crossbones::before { - content: "\f714"; } +.fa-code-compare { + --fa: "\e13a"; + --fa--fa: "\e13a\e13a"; } -.fa-code-compare::before { - content: "\e13a"; } +.fa-list-ul { + --fa: "\f0ca"; + --fa--fa: "\f0ca\f0ca"; } -.fa-list-ul::before { - content: "\f0ca"; } +.fa-list-dots { + --fa: "\f0ca"; + --fa--fa: "\f0ca\f0ca"; } -.fa-list-dots::before { - content: "\f0ca"; } +.fa-school-lock { + --fa: "\e56f"; + --fa--fa: "\e56f\e56f"; } -.fa-school-lock::before { - content: "\e56f"; } +.fa-tower-cell { + --fa: "\e585"; + --fa--fa: "\e585\e585"; } -.fa-tower-cell::before { - content: "\e585"; } +.fa-down-long { + --fa: "\f309"; + --fa--fa: "\f309\f309"; } -.fa-down-long::before { - content: "\f309"; } +.fa-long-arrow-alt-down { + --fa: "\f309"; + --fa--fa: "\f309\f309"; } -.fa-long-arrow-alt-down::before { - content: "\f309"; } +.fa-ranking-star { + --fa: "\e561"; + --fa--fa: "\e561\e561"; } -.fa-ranking-star::before { - content: "\e561"; } +.fa-chess-king { + --fa: "\f43f"; + --fa--fa: "\f43f\f43f"; } -.fa-chess-king::before { - content: "\f43f"; } +.fa-person-harassing { + --fa: "\e549"; + --fa--fa: "\e549\e549"; } -.fa-person-harassing::before { - content: "\e549"; } +.fa-brazilian-real-sign { + --fa: "\e46c"; + --fa--fa: "\e46c\e46c"; } -.fa-brazilian-real-sign::before { - content: "\e46c"; } +.fa-landmark-dome { + --fa: "\f752"; + --fa--fa: "\f752\f752"; } -.fa-landmark-dome::before { - content: "\f752"; } +.fa-landmark-alt { + --fa: "\f752"; + --fa--fa: "\f752\f752"; } -.fa-landmark-alt::before { - content: "\f752"; } +.fa-arrow-up { + --fa: "\f062"; + --fa--fa: "\f062\f062"; } -.fa-arrow-up::before { - content: "\f062"; } +.fa-tv { + --fa: "\f26c"; + --fa--fa: "\f26c\f26c"; } -.fa-tv::before { - content: "\f26c"; } +.fa-television { + --fa: "\f26c"; + --fa--fa: "\f26c\f26c"; } -.fa-television::before { - content: "\f26c"; } +.fa-tv-alt { + --fa: "\f26c"; + --fa--fa: "\f26c\f26c"; } -.fa-tv-alt::before { - content: "\f26c"; } +.fa-shrimp { + --fa: "\e448"; + --fa--fa: "\e448\e448"; } -.fa-shrimp::before { - content: "\e448"; } +.fa-list-check { + --fa: "\f0ae"; + --fa--fa: "\f0ae\f0ae"; } -.fa-list-check::before { - content: "\f0ae"; } +.fa-tasks { + --fa: "\f0ae"; + --fa--fa: "\f0ae\f0ae"; } -.fa-tasks::before { - content: "\f0ae"; } +.fa-jug-detergent { + --fa: "\e519"; + --fa--fa: "\e519\e519"; } -.fa-jug-detergent::before { - content: "\e519"; } +.fa-circle-user { + --fa: "\f2bd"; + --fa--fa: "\f2bd\f2bd"; } -.fa-circle-user::before { - content: "\f2bd"; } +.fa-user-circle { + --fa: "\f2bd"; + --fa--fa: "\f2bd\f2bd"; } -.fa-user-circle::before { - content: "\f2bd"; } +.fa-user-shield { + --fa: "\f505"; + --fa--fa: "\f505\f505"; } -.fa-user-shield::before { - content: "\f505"; } +.fa-wind { + --fa: "\f72e"; + --fa--fa: "\f72e\f72e"; } -.fa-wind::before { - content: "\f72e"; } +.fa-car-burst { + --fa: "\f5e1"; + --fa--fa: "\f5e1\f5e1"; } -.fa-car-burst::before { - content: "\f5e1"; } +.fa-car-crash { + --fa: "\f5e1"; + --fa--fa: "\f5e1\f5e1"; } -.fa-car-crash::before { - content: "\f5e1"; } +.fa-y { + --fa: "\59"; + --fa--fa: "\59\59"; } -.fa-y::before { - content: "\59"; } +.fa-person-snowboarding { + --fa: "\f7ce"; + --fa--fa: "\f7ce\f7ce"; } -.fa-person-snowboarding::before { - content: "\f7ce"; } +.fa-snowboarding { + --fa: "\f7ce"; + --fa--fa: "\f7ce\f7ce"; } -.fa-snowboarding::before { - content: "\f7ce"; } +.fa-truck-fast { + --fa: "\f48b"; + --fa--fa: "\f48b\f48b"; } -.fa-truck-fast::before { - content: "\f48b"; } +.fa-shipping-fast { + --fa: "\f48b"; + --fa--fa: "\f48b\f48b"; } -.fa-shipping-fast::before { - content: "\f48b"; } +.fa-fish { + --fa: "\f578"; + --fa--fa: "\f578\f578"; } -.fa-fish::before { - content: "\f578"; } +.fa-user-graduate { + --fa: "\f501"; + --fa--fa: "\f501\f501"; } -.fa-user-graduate::before { - content: "\f501"; } +.fa-circle-half-stroke { + --fa: "\f042"; + --fa--fa: "\f042\f042"; } -.fa-circle-half-stroke::before { - content: "\f042"; } +.fa-adjust { + --fa: "\f042"; + --fa--fa: "\f042\f042"; } -.fa-adjust::before { - content: "\f042"; } +.fa-clapperboard { + --fa: "\e131"; + --fa--fa: "\e131\e131"; } -.fa-clapperboard::before { - content: "\e131"; } +.fa-circle-radiation { + --fa: "\f7ba"; + --fa--fa: "\f7ba\f7ba"; } -.fa-circle-radiation::before { - content: "\f7ba"; } +.fa-radiation-alt { + --fa: "\f7ba"; + --fa--fa: "\f7ba\f7ba"; } -.fa-radiation-alt::before { - content: "\f7ba"; } +.fa-baseball { + --fa: "\f433"; + --fa--fa: "\f433\f433"; } -.fa-baseball::before { - content: "\f433"; } +.fa-baseball-ball { + --fa: "\f433"; + --fa--fa: "\f433\f433"; } -.fa-baseball-ball::before { - content: "\f433"; } +.fa-jet-fighter-up { + --fa: "\e518"; + --fa--fa: "\e518\e518"; } -.fa-jet-fighter-up::before { - content: "\e518"; } +.fa-diagram-project { + --fa: "\f542"; + --fa--fa: "\f542\f542"; } -.fa-diagram-project::before { - content: "\f542"; } +.fa-project-diagram { + --fa: "\f542"; + --fa--fa: "\f542\f542"; } -.fa-project-diagram::before { - content: "\f542"; } +.fa-copy { + --fa: "\f0c5"; + --fa--fa: "\f0c5\f0c5"; } -.fa-copy::before { - content: "\f0c5"; } +.fa-volume-xmark { + --fa: "\f6a9"; + --fa--fa: "\f6a9\f6a9"; } -.fa-volume-xmark::before { - content: "\f6a9"; } +.fa-volume-mute { + --fa: "\f6a9"; + --fa--fa: "\f6a9\f6a9"; } -.fa-volume-mute::before { - content: "\f6a9"; } +.fa-volume-times { + --fa: "\f6a9"; + --fa--fa: "\f6a9\f6a9"; } -.fa-volume-times::before { - content: "\f6a9"; } +.fa-hand-sparkles { + --fa: "\e05d"; + --fa--fa: "\e05d\e05d"; } -.fa-hand-sparkles::before { - content: "\e05d"; } +.fa-grip { + --fa: "\f58d"; + --fa--fa: "\f58d\f58d"; } -.fa-grip::before { - content: "\f58d"; } +.fa-grip-horizontal { + --fa: "\f58d"; + --fa--fa: "\f58d\f58d"; } -.fa-grip-horizontal::before { - content: "\f58d"; } +.fa-share-from-square { + --fa: "\f14d"; + --fa--fa: "\f14d\f14d"; } -.fa-share-from-square::before { - content: "\f14d"; } +.fa-share-square { + --fa: "\f14d"; + --fa--fa: "\f14d\f14d"; } -.fa-share-square::before { - content: "\f14d"; } +.fa-child-combatant { + --fa: "\e4e0"; + --fa--fa: "\e4e0\e4e0"; } -.fa-child-combatant::before { - content: "\e4e0"; } +.fa-child-rifle { + --fa: "\e4e0"; + --fa--fa: "\e4e0\e4e0"; } -.fa-child-rifle::before { - content: "\e4e0"; } +.fa-gun { + --fa: "\e19b"; + --fa--fa: "\e19b\e19b"; } -.fa-gun::before { - content: "\e19b"; } +.fa-square-phone { + --fa: "\f098"; + --fa--fa: "\f098\f098"; } -.fa-square-phone::before { - content: "\f098"; } +.fa-phone-square { + --fa: "\f098"; + --fa--fa: "\f098\f098"; } -.fa-phone-square::before { - content: "\f098"; } +.fa-plus { + --fa: "\2b"; + --fa--fa: "\2b\2b"; } -.fa-plus::before { - content: "\2b"; } +.fa-add { + --fa: "\2b"; + --fa--fa: "\2b\2b"; } -.fa-add::before { - content: "\2b"; } +.fa-expand { + --fa: "\f065"; + --fa--fa: "\f065\f065"; } -.fa-expand::before { - content: "\f065"; } +.fa-computer { + --fa: "\e4e5"; + --fa--fa: "\e4e5\e4e5"; } -.fa-computer::before { - content: "\e4e5"; } +.fa-xmark { + --fa: "\f00d"; + --fa--fa: "\f00d\f00d"; } -.fa-xmark::before { - content: "\f00d"; } +.fa-close { + --fa: "\f00d"; + --fa--fa: "\f00d\f00d"; } -.fa-close::before { - content: "\f00d"; } +.fa-multiply { + --fa: "\f00d"; + --fa--fa: "\f00d\f00d"; } -.fa-multiply::before { - content: "\f00d"; } +.fa-remove { + --fa: "\f00d"; + --fa--fa: "\f00d\f00d"; } -.fa-remove::before { - content: "\f00d"; } +.fa-times { + --fa: "\f00d"; + --fa--fa: "\f00d\f00d"; } -.fa-times::before { - content: "\f00d"; } +.fa-arrows-up-down-left-right { + --fa: "\f047"; + --fa--fa: "\f047\f047"; } -.fa-arrows-up-down-left-right::before { - content: "\f047"; } +.fa-arrows { + --fa: "\f047"; + --fa--fa: "\f047\f047"; } -.fa-arrows::before { - content: "\f047"; } +.fa-chalkboard-user { + --fa: "\f51c"; + --fa--fa: "\f51c\f51c"; } -.fa-chalkboard-user::before { - content: "\f51c"; } +.fa-chalkboard-teacher { + --fa: "\f51c"; + --fa--fa: "\f51c\f51c"; } -.fa-chalkboard-teacher::before { - content: "\f51c"; } +.fa-peso-sign { + --fa: "\e222"; + --fa--fa: "\e222\e222"; } -.fa-peso-sign::before { - content: "\e222"; } +.fa-building-shield { + --fa: "\e4d8"; + --fa--fa: "\e4d8\e4d8"; } -.fa-building-shield::before { - content: "\e4d8"; } +.fa-baby { + --fa: "\f77c"; + --fa--fa: "\f77c\f77c"; } -.fa-baby::before { - content: "\f77c"; } +.fa-users-line { + --fa: "\e592"; + --fa--fa: "\e592\e592"; } -.fa-users-line::before { - content: "\e592"; } +.fa-quote-left { + --fa: "\f10d"; + --fa--fa: "\f10d\f10d"; } -.fa-quote-left::before { - content: "\f10d"; } +.fa-quote-left-alt { + --fa: "\f10d"; + --fa--fa: "\f10d\f10d"; } -.fa-quote-left-alt::before { - content: "\f10d"; } +.fa-tractor { + --fa: "\f722"; + --fa--fa: "\f722\f722"; } -.fa-tractor::before { - content: "\f722"; } +.fa-trash-arrow-up { + --fa: "\f829"; + --fa--fa: "\f829\f829"; } -.fa-trash-arrow-up::before { - content: "\f829"; } +.fa-trash-restore { + --fa: "\f829"; + --fa--fa: "\f829\f829"; } -.fa-trash-restore::before { - content: "\f829"; } +.fa-arrow-down-up-lock { + --fa: "\e4b0"; + --fa--fa: "\e4b0\e4b0"; } -.fa-arrow-down-up-lock::before { - content: "\e4b0"; } +.fa-lines-leaning { + --fa: "\e51e"; + --fa--fa: "\e51e\e51e"; } -.fa-lines-leaning::before { - content: "\e51e"; } +.fa-ruler-combined { + --fa: "\f546"; + --fa--fa: "\f546\f546"; } -.fa-ruler-combined::before { - content: "\f546"; } +.fa-copyright { + --fa: "\f1f9"; + --fa--fa: "\f1f9\f1f9"; } -.fa-copyright::before { - content: "\f1f9"; } +.fa-equals { + --fa: "\3d"; + --fa--fa: "\3d\3d"; } -.fa-equals::before { - content: "\3d"; } +.fa-blender { + --fa: "\f517"; + --fa--fa: "\f517\f517"; } -.fa-blender::before { - content: "\f517"; } +.fa-teeth { + --fa: "\f62e"; + --fa--fa: "\f62e\f62e"; } -.fa-teeth::before { - content: "\f62e"; } +.fa-shekel-sign { + --fa: "\f20b"; + --fa--fa: "\f20b\f20b"; } -.fa-shekel-sign::before { - content: "\f20b"; } +.fa-ils { + --fa: "\f20b"; + --fa--fa: "\f20b\f20b"; } -.fa-ils::before { - content: "\f20b"; } +.fa-shekel { + --fa: "\f20b"; + --fa--fa: "\f20b\f20b"; } -.fa-shekel::before { - content: "\f20b"; } +.fa-sheqel { + --fa: "\f20b"; + --fa--fa: "\f20b\f20b"; } -.fa-sheqel::before { - content: "\f20b"; } +.fa-sheqel-sign { + --fa: "\f20b"; + --fa--fa: "\f20b\f20b"; } -.fa-sheqel-sign::before { - content: "\f20b"; } +.fa-map { + --fa: "\f279"; + --fa--fa: "\f279\f279"; } -.fa-map::before { - content: "\f279"; } +.fa-rocket { + --fa: "\f135"; + --fa--fa: "\f135\f135"; } -.fa-rocket::before { - content: "\f135"; } +.fa-photo-film { + --fa: "\f87c"; + --fa--fa: "\f87c\f87c"; } -.fa-photo-film::before { - content: "\f87c"; } +.fa-photo-video { + --fa: "\f87c"; + --fa--fa: "\f87c\f87c"; } -.fa-photo-video::before { - content: "\f87c"; } +.fa-folder-minus { + --fa: "\f65d"; + --fa--fa: "\f65d\f65d"; } -.fa-folder-minus::before { - content: "\f65d"; } +.fa-hexagon-nodes-bolt { + --fa: "\e69a"; + --fa--fa: "\e69a\e69a"; } -.fa-store::before { - content: "\f54e"; } +.fa-store { + --fa: "\f54e"; + --fa--fa: "\f54e\f54e"; } -.fa-arrow-trend-up::before { - content: "\e098"; } +.fa-arrow-trend-up { + --fa: "\e098"; + --fa--fa: "\e098\e098"; } -.fa-plug-circle-minus::before { - content: "\e55e"; } +.fa-plug-circle-minus { + --fa: "\e55e"; + --fa--fa: "\e55e\e55e"; } -.fa-sign-hanging::before { - content: "\f4d9"; } +.fa-sign-hanging { + --fa: "\f4d9"; + --fa--fa: "\f4d9\f4d9"; } -.fa-sign::before { - content: "\f4d9"; } +.fa-sign { + --fa: "\f4d9"; + --fa--fa: "\f4d9\f4d9"; } -.fa-bezier-curve::before { - content: "\f55b"; } +.fa-bezier-curve { + --fa: "\f55b"; + --fa--fa: "\f55b\f55b"; } -.fa-bell-slash::before { - content: "\f1f6"; } +.fa-bell-slash { + --fa: "\f1f6"; + --fa--fa: "\f1f6\f1f6"; } -.fa-tablet::before { - content: "\f3fb"; } +.fa-tablet { + --fa: "\f3fb"; + --fa--fa: "\f3fb\f3fb"; } -.fa-tablet-android::before { - content: "\f3fb"; } +.fa-tablet-android { + --fa: "\f3fb"; + --fa--fa: "\f3fb\f3fb"; } -.fa-school-flag::before { - content: "\e56e"; } +.fa-school-flag { + --fa: "\e56e"; + --fa--fa: "\e56e\e56e"; } -.fa-fill::before { - content: "\f575"; } +.fa-fill { + --fa: "\f575"; + --fa--fa: "\f575\f575"; } -.fa-angle-up::before { - content: "\f106"; } +.fa-angle-up { + --fa: "\f106"; + --fa--fa: "\f106\f106"; } -.fa-drumstick-bite::before { - content: "\f6d7"; } +.fa-drumstick-bite { + --fa: "\f6d7"; + --fa--fa: "\f6d7\f6d7"; } -.fa-holly-berry::before { - content: "\f7aa"; } +.fa-holly-berry { + --fa: "\f7aa"; + --fa--fa: "\f7aa\f7aa"; } -.fa-chevron-left::before { - content: "\f053"; } +.fa-chevron-left { + --fa: "\f053"; + --fa--fa: "\f053\f053"; } -.fa-bacteria::before { - content: "\e059"; } +.fa-bacteria { + --fa: "\e059"; + --fa--fa: "\e059\e059"; } -.fa-hand-lizard::before { - content: "\f258"; } +.fa-hand-lizard { + --fa: "\f258"; + --fa--fa: "\f258\f258"; } -.fa-notdef::before { - content: "\e1fe"; } +.fa-notdef { + --fa: "\e1fe"; + --fa--fa: "\e1fe\e1fe"; } -.fa-disease::before { - content: "\f7fa"; } +.fa-disease { + --fa: "\f7fa"; + --fa--fa: "\f7fa\f7fa"; } -.fa-briefcase-medical::before { - content: "\f469"; } +.fa-briefcase-medical { + --fa: "\f469"; + --fa--fa: "\f469\f469"; } -.fa-genderless::before { - content: "\f22d"; } +.fa-genderless { + --fa: "\f22d"; + --fa--fa: "\f22d\f22d"; } -.fa-chevron-right::before { - content: "\f054"; } +.fa-chevron-right { + --fa: "\f054"; + --fa--fa: "\f054\f054"; } -.fa-retweet::before { - content: "\f079"; } +.fa-retweet { + --fa: "\f079"; + --fa--fa: "\f079\f079"; } -.fa-car-rear::before { - content: "\f5de"; } +.fa-car-rear { + --fa: "\f5de"; + --fa--fa: "\f5de\f5de"; } -.fa-car-alt::before { - content: "\f5de"; } +.fa-car-alt { + --fa: "\f5de"; + --fa--fa: "\f5de\f5de"; } -.fa-pump-soap::before { - content: "\e06b"; } +.fa-pump-soap { + --fa: "\e06b"; + --fa--fa: "\e06b\e06b"; } -.fa-video-slash::before { - content: "\f4e2"; } +.fa-video-slash { + --fa: "\f4e2"; + --fa--fa: "\f4e2\f4e2"; } -.fa-battery-quarter::before { - content: "\f243"; } +.fa-battery-quarter { + --fa: "\f243"; + --fa--fa: "\f243\f243"; } -.fa-battery-2::before { - content: "\f243"; } +.fa-battery-2 { + --fa: "\f243"; + --fa--fa: "\f243\f243"; } -.fa-radio::before { - content: "\f8d7"; } +.fa-radio { + --fa: "\f8d7"; + --fa--fa: "\f8d7\f8d7"; } -.fa-baby-carriage::before { - content: "\f77d"; } +.fa-baby-carriage { + --fa: "\f77d"; + --fa--fa: "\f77d\f77d"; } -.fa-carriage-baby::before { - content: "\f77d"; } +.fa-carriage-baby { + --fa: "\f77d"; + --fa--fa: "\f77d\f77d"; } -.fa-traffic-light::before { - content: "\f637"; } +.fa-traffic-light { + --fa: "\f637"; + --fa--fa: "\f637\f637"; } -.fa-thermometer::before { - content: "\f491"; } +.fa-thermometer { + --fa: "\f491"; + --fa--fa: "\f491\f491"; } -.fa-vr-cardboard::before { - content: "\f729"; } +.fa-vr-cardboard { + --fa: "\f729"; + --fa--fa: "\f729\f729"; } -.fa-hand-middle-finger::before { - content: "\f806"; } +.fa-hand-middle-finger { + --fa: "\f806"; + --fa--fa: "\f806\f806"; } -.fa-percent::before { - content: "\25"; } +.fa-percent { + --fa: "\25"; + --fa--fa: "\25\25"; } -.fa-percentage::before { - content: "\25"; } +.fa-percentage { + --fa: "\25"; + --fa--fa: "\25\25"; } -.fa-truck-moving::before { - content: "\f4df"; } +.fa-truck-moving { + --fa: "\f4df"; + --fa--fa: "\f4df\f4df"; } -.fa-glass-water-droplet::before { - content: "\e4f5"; } +.fa-glass-water-droplet { + --fa: "\e4f5"; + --fa--fa: "\e4f5\e4f5"; } -.fa-display::before { - content: "\e163"; } +.fa-display { + --fa: "\e163"; + --fa--fa: "\e163\e163"; } -.fa-face-smile::before { - content: "\f118"; } +.fa-face-smile { + --fa: "\f118"; + --fa--fa: "\f118\f118"; } -.fa-smile::before { - content: "\f118"; } +.fa-smile { + --fa: "\f118"; + --fa--fa: "\f118\f118"; } -.fa-thumbtack::before { - content: "\f08d"; } +.fa-thumbtack { + --fa: "\f08d"; + --fa--fa: "\f08d\f08d"; } -.fa-thumb-tack::before { - content: "\f08d"; } +.fa-thumb-tack { + --fa: "\f08d"; + --fa--fa: "\f08d\f08d"; } -.fa-trophy::before { - content: "\f091"; } +.fa-trophy { + --fa: "\f091"; + --fa--fa: "\f091\f091"; } -.fa-person-praying::before { - content: "\f683"; } +.fa-person-praying { + --fa: "\f683"; + --fa--fa: "\f683\f683"; } -.fa-pray::before { - content: "\f683"; } +.fa-pray { + --fa: "\f683"; + --fa--fa: "\f683\f683"; } -.fa-hammer::before { - content: "\f6e3"; } +.fa-hammer { + --fa: "\f6e3"; + --fa--fa: "\f6e3\f6e3"; } -.fa-hand-peace::before { - content: "\f25b"; } +.fa-hand-peace { + --fa: "\f25b"; + --fa--fa: "\f25b\f25b"; } -.fa-rotate::before { - content: "\f2f1"; } +.fa-rotate { + --fa: "\f2f1"; + --fa--fa: "\f2f1\f2f1"; } -.fa-sync-alt::before { - content: "\f2f1"; } +.fa-sync-alt { + --fa: "\f2f1"; + --fa--fa: "\f2f1\f2f1"; } -.fa-spinner::before { - content: "\f110"; } +.fa-spinner { + --fa: "\f110"; + --fa--fa: "\f110\f110"; } -.fa-robot::before { - content: "\f544"; } +.fa-robot { + --fa: "\f544"; + --fa--fa: "\f544\f544"; } -.fa-peace::before { - content: "\f67c"; } +.fa-peace { + --fa: "\f67c"; + --fa--fa: "\f67c\f67c"; } -.fa-gears::before { - content: "\f085"; } +.fa-gears { + --fa: "\f085"; + --fa--fa: "\f085\f085"; } -.fa-cogs::before { - content: "\f085"; } +.fa-cogs { + --fa: "\f085"; + --fa--fa: "\f085\f085"; } -.fa-warehouse::before { - content: "\f494"; } +.fa-warehouse { + --fa: "\f494"; + --fa--fa: "\f494\f494"; } -.fa-arrow-up-right-dots::before { - content: "\e4b7"; } +.fa-arrow-up-right-dots { + --fa: "\e4b7"; + --fa--fa: "\e4b7\e4b7"; } -.fa-splotch::before { - content: "\f5bc"; } +.fa-splotch { + --fa: "\f5bc"; + --fa--fa: "\f5bc\f5bc"; } -.fa-face-grin-hearts::before { - content: "\f584"; } +.fa-face-grin-hearts { + --fa: "\f584"; + --fa--fa: "\f584\f584"; } -.fa-grin-hearts::before { - content: "\f584"; } +.fa-grin-hearts { + --fa: "\f584"; + --fa--fa: "\f584\f584"; } -.fa-dice-four::before { - content: "\f524"; } +.fa-dice-four { + --fa: "\f524"; + --fa--fa: "\f524\f524"; } -.fa-sim-card::before { - content: "\f7c4"; } +.fa-sim-card { + --fa: "\f7c4"; + --fa--fa: "\f7c4\f7c4"; } -.fa-transgender::before { - content: "\f225"; } +.fa-transgender { + --fa: "\f225"; + --fa--fa: "\f225\f225"; } -.fa-transgender-alt::before { - content: "\f225"; } +.fa-transgender-alt { + --fa: "\f225"; + --fa--fa: "\f225\f225"; } -.fa-mercury::before { - content: "\f223"; } +.fa-mercury { + --fa: "\f223"; + --fa--fa: "\f223\f223"; } -.fa-arrow-turn-down::before { - content: "\f149"; } +.fa-arrow-turn-down { + --fa: "\f149"; + --fa--fa: "\f149\f149"; } -.fa-level-down::before { - content: "\f149"; } +.fa-level-down { + --fa: "\f149"; + --fa--fa: "\f149\f149"; } -.fa-person-falling-burst::before { - content: "\e547"; } +.fa-person-falling-burst { + --fa: "\e547"; + --fa--fa: "\e547\e547"; } -.fa-award::before { - content: "\f559"; } +.fa-award { + --fa: "\f559"; + --fa--fa: "\f559\f559"; } -.fa-ticket-simple::before { - content: "\f3ff"; } +.fa-ticket-simple { + --fa: "\f3ff"; + --fa--fa: "\f3ff\f3ff"; } -.fa-ticket-alt::before { - content: "\f3ff"; } +.fa-ticket-alt { + --fa: "\f3ff"; + --fa--fa: "\f3ff\f3ff"; } -.fa-building::before { - content: "\f1ad"; } +.fa-building { + --fa: "\f1ad"; + --fa--fa: "\f1ad\f1ad"; } -.fa-angles-left::before { - content: "\f100"; } +.fa-angles-left { + --fa: "\f100"; + --fa--fa: "\f100\f100"; } -.fa-angle-double-left::before { - content: "\f100"; } +.fa-angle-double-left { + --fa: "\f100"; + --fa--fa: "\f100\f100"; } -.fa-qrcode::before { - content: "\f029"; } +.fa-qrcode { + --fa: "\f029"; + --fa--fa: "\f029\f029"; } -.fa-clock-rotate-left::before { - content: "\f1da"; } +.fa-clock-rotate-left { + --fa: "\f1da"; + --fa--fa: "\f1da\f1da"; } -.fa-history::before { - content: "\f1da"; } +.fa-history { + --fa: "\f1da"; + --fa--fa: "\f1da\f1da"; } -.fa-face-grin-beam-sweat::before { - content: "\f583"; } +.fa-face-grin-beam-sweat { + --fa: "\f583"; + --fa--fa: "\f583\f583"; } -.fa-grin-beam-sweat::before { - content: "\f583"; } +.fa-grin-beam-sweat { + --fa: "\f583"; + --fa--fa: "\f583\f583"; } -.fa-file-export::before { - content: "\f56e"; } +.fa-file-export { + --fa: "\f56e"; + --fa--fa: "\f56e\f56e"; } -.fa-arrow-right-from-file::before { - content: "\f56e"; } +.fa-arrow-right-from-file { + --fa: "\f56e"; + --fa--fa: "\f56e\f56e"; } -.fa-shield::before { - content: "\f132"; } +.fa-shield { + --fa: "\f132"; + --fa--fa: "\f132\f132"; } -.fa-shield-blank::before { - content: "\f132"; } +.fa-shield-blank { + --fa: "\f132"; + --fa--fa: "\f132\f132"; } -.fa-arrow-up-short-wide::before { - content: "\f885"; } +.fa-arrow-up-short-wide { + --fa: "\f885"; + --fa--fa: "\f885\f885"; } -.fa-sort-amount-up-alt::before { - content: "\f885"; } +.fa-sort-amount-up-alt { + --fa: "\f885"; + --fa--fa: "\f885\f885"; } -.fa-house-medical::before { - content: "\e3b2"; } +.fa-comment-nodes { + --fa: "\e696"; + --fa--fa: "\e696\e696"; } -.fa-golf-ball-tee::before { - content: "\f450"; } +.fa-house-medical { + --fa: "\e3b2"; + --fa--fa: "\e3b2\e3b2"; } -.fa-golf-ball::before { - content: "\f450"; } +.fa-golf-ball-tee { + --fa: "\f450"; + --fa--fa: "\f450\f450"; } -.fa-circle-chevron-left::before { - content: "\f137"; } +.fa-golf-ball { + --fa: "\f450"; + --fa--fa: "\f450\f450"; } -.fa-chevron-circle-left::before { - content: "\f137"; } +.fa-circle-chevron-left { + --fa: "\f137"; + --fa--fa: "\f137\f137"; } -.fa-house-chimney-window::before { - content: "\e00d"; } +.fa-chevron-circle-left { + --fa: "\f137"; + --fa--fa: "\f137\f137"; } -.fa-pen-nib::before { - content: "\f5ad"; } +.fa-house-chimney-window { + --fa: "\e00d"; + --fa--fa: "\e00d\e00d"; } -.fa-tent-arrow-turn-left::before { - content: "\e580"; } +.fa-pen-nib { + --fa: "\f5ad"; + --fa--fa: "\f5ad\f5ad"; } -.fa-tents::before { - content: "\e582"; } +.fa-tent-arrow-turn-left { + --fa: "\e580"; + --fa--fa: "\e580\e580"; } -.fa-wand-magic::before { - content: "\f0d0"; } +.fa-tents { + --fa: "\e582"; + --fa--fa: "\e582\e582"; } -.fa-magic::before { - content: "\f0d0"; } +.fa-wand-magic { + --fa: "\f0d0"; + --fa--fa: "\f0d0\f0d0"; } -.fa-dog::before { - content: "\f6d3"; } +.fa-magic { + --fa: "\f0d0"; + --fa--fa: "\f0d0\f0d0"; } -.fa-carrot::before { - content: "\f787"; } +.fa-dog { + --fa: "\f6d3"; + --fa--fa: "\f6d3\f6d3"; } -.fa-moon::before { - content: "\f186"; } +.fa-carrot { + --fa: "\f787"; + --fa--fa: "\f787\f787"; } -.fa-wine-glass-empty::before { - content: "\f5ce"; } +.fa-moon { + --fa: "\f186"; + --fa--fa: "\f186\f186"; } -.fa-wine-glass-alt::before { - content: "\f5ce"; } +.fa-wine-glass-empty { + --fa: "\f5ce"; + --fa--fa: "\f5ce\f5ce"; } -.fa-cheese::before { - content: "\f7ef"; } +.fa-wine-glass-alt { + --fa: "\f5ce"; + --fa--fa: "\f5ce\f5ce"; } -.fa-yin-yang::before { - content: "\f6ad"; } +.fa-cheese { + --fa: "\f7ef"; + --fa--fa: "\f7ef\f7ef"; } -.fa-music::before { - content: "\f001"; } +.fa-yin-yang { + --fa: "\f6ad"; + --fa--fa: "\f6ad\f6ad"; } -.fa-code-commit::before { - content: "\f386"; } +.fa-music { + --fa: "\f001"; + --fa--fa: "\f001\f001"; } -.fa-temperature-low::before { - content: "\f76b"; } +.fa-code-commit { + --fa: "\f386"; + --fa--fa: "\f386\f386"; } -.fa-person-biking::before { - content: "\f84a"; } +.fa-temperature-low { + --fa: "\f76b"; + --fa--fa: "\f76b\f76b"; } -.fa-biking::before { - content: "\f84a"; } +.fa-person-biking { + --fa: "\f84a"; + --fa--fa: "\f84a\f84a"; } -.fa-broom::before { - content: "\f51a"; } +.fa-biking { + --fa: "\f84a"; + --fa--fa: "\f84a\f84a"; } -.fa-shield-heart::before { - content: "\e574"; } +.fa-broom { + --fa: "\f51a"; + --fa--fa: "\f51a\f51a"; } -.fa-gopuram::before { - content: "\f664"; } +.fa-shield-heart { + --fa: "\e574"; + --fa--fa: "\e574\e574"; } -.fa-earth-oceania::before { - content: "\e47b"; } +.fa-gopuram { + --fa: "\f664"; + --fa--fa: "\f664\f664"; } -.fa-globe-oceania::before { - content: "\e47b"; } +.fa-earth-oceania { + --fa: "\e47b"; + --fa--fa: "\e47b\e47b"; } -.fa-square-xmark::before { - content: "\f2d3"; } +.fa-globe-oceania { + --fa: "\e47b"; + --fa--fa: "\e47b\e47b"; } -.fa-times-square::before { - content: "\f2d3"; } +.fa-square-xmark { + --fa: "\f2d3"; + --fa--fa: "\f2d3\f2d3"; } -.fa-xmark-square::before { - content: "\f2d3"; } +.fa-times-square { + --fa: "\f2d3"; + --fa--fa: "\f2d3\f2d3"; } -.fa-hashtag::before { - content: "\23"; } +.fa-xmark-square { + --fa: "\f2d3"; + --fa--fa: "\f2d3\f2d3"; } -.fa-up-right-and-down-left-from-center::before { - content: "\f424"; } +.fa-hashtag { + --fa: "\23"; + --fa--fa: "\23\23"; } -.fa-expand-alt::before { - content: "\f424"; } +.fa-up-right-and-down-left-from-center { + --fa: "\f424"; + --fa--fa: "\f424\f424"; } -.fa-oil-can::before { - content: "\f613"; } +.fa-expand-alt { + --fa: "\f424"; + --fa--fa: "\f424\f424"; } -.fa-t::before { - content: "\54"; } +.fa-oil-can { + --fa: "\f613"; + --fa--fa: "\f613\f613"; } -.fa-hippo::before { - content: "\f6ed"; } +.fa-t { + --fa: "\54"; + --fa--fa: "\54\54"; } -.fa-chart-column::before { - content: "\e0e3"; } +.fa-hippo { + --fa: "\f6ed"; + --fa--fa: "\f6ed\f6ed"; } -.fa-infinity::before { - content: "\f534"; } +.fa-chart-column { + --fa: "\e0e3"; + --fa--fa: "\e0e3\e0e3"; } -.fa-vial-circle-check::before { - content: "\e596"; } +.fa-infinity { + --fa: "\f534"; + --fa--fa: "\f534\f534"; } -.fa-person-arrow-down-to-line::before { - content: "\e538"; } +.fa-vial-circle-check { + --fa: "\e596"; + --fa--fa: "\e596\e596"; } -.fa-voicemail::before { - content: "\f897"; } +.fa-person-arrow-down-to-line { + --fa: "\e538"; + --fa--fa: "\e538\e538"; } -.fa-fan::before { - content: "\f863"; } +.fa-voicemail { + --fa: "\f897"; + --fa--fa: "\f897\f897"; } -.fa-person-walking-luggage::before { - content: "\e554"; } +.fa-fan { + --fa: "\f863"; + --fa--fa: "\f863\f863"; } -.fa-up-down::before { - content: "\f338"; } +.fa-person-walking-luggage { + --fa: "\e554"; + --fa--fa: "\e554\e554"; } -.fa-arrows-alt-v::before { - content: "\f338"; } +.fa-up-down { + --fa: "\f338"; + --fa--fa: "\f338\f338"; } -.fa-cloud-moon-rain::before { - content: "\f73c"; } +.fa-arrows-alt-v { + --fa: "\f338"; + --fa--fa: "\f338\f338"; } -.fa-calendar::before { - content: "\f133"; } +.fa-cloud-moon-rain { + --fa: "\f73c"; + --fa--fa: "\f73c\f73c"; } -.fa-trailer::before { - content: "\e041"; } +.fa-calendar { + --fa: "\f133"; + --fa--fa: "\f133\f133"; } -.fa-bahai::before { - content: "\f666"; } +.fa-trailer { + --fa: "\e041"; + --fa--fa: "\e041\e041"; } -.fa-haykal::before { - content: "\f666"; } +.fa-bahai { + --fa: "\f666"; + --fa--fa: "\f666\f666"; } -.fa-sd-card::before { - content: "\f7c2"; } +.fa-haykal { + --fa: "\f666"; + --fa--fa: "\f666\f666"; } -.fa-dragon::before { - content: "\f6d5"; } +.fa-sd-card { + --fa: "\f7c2"; + --fa--fa: "\f7c2\f7c2"; } -.fa-shoe-prints::before { - content: "\f54b"; } +.fa-dragon { + --fa: "\f6d5"; + --fa--fa: "\f6d5\f6d5"; } -.fa-circle-plus::before { - content: "\f055"; } +.fa-shoe-prints { + --fa: "\f54b"; + --fa--fa: "\f54b\f54b"; } -.fa-plus-circle::before { - content: "\f055"; } +.fa-circle-plus { + --fa: "\f055"; + --fa--fa: "\f055\f055"; } -.fa-face-grin-tongue-wink::before { - content: "\f58b"; } +.fa-plus-circle { + --fa: "\f055"; + --fa--fa: "\f055\f055"; } -.fa-grin-tongue-wink::before { - content: "\f58b"; } +.fa-face-grin-tongue-wink { + --fa: "\f58b"; + --fa--fa: "\f58b\f58b"; } -.fa-hand-holding::before { - content: "\f4bd"; } +.fa-grin-tongue-wink { + --fa: "\f58b"; + --fa--fa: "\f58b\f58b"; } -.fa-plug-circle-exclamation::before { - content: "\e55d"; } +.fa-hand-holding { + --fa: "\f4bd"; + --fa--fa: "\f4bd\f4bd"; } -.fa-link-slash::before { - content: "\f127"; } +.fa-plug-circle-exclamation { + --fa: "\e55d"; + --fa--fa: "\e55d\e55d"; } -.fa-chain-broken::before { - content: "\f127"; } +.fa-link-slash { + --fa: "\f127"; + --fa--fa: "\f127\f127"; } -.fa-chain-slash::before { - content: "\f127"; } +.fa-chain-broken { + --fa: "\f127"; + --fa--fa: "\f127\f127"; } -.fa-unlink::before { - content: "\f127"; } +.fa-chain-slash { + --fa: "\f127"; + --fa--fa: "\f127\f127"; } -.fa-clone::before { - content: "\f24d"; } +.fa-unlink { + --fa: "\f127"; + --fa--fa: "\f127\f127"; } -.fa-person-walking-arrow-loop-left::before { - content: "\e551"; } +.fa-clone { + --fa: "\f24d"; + --fa--fa: "\f24d\f24d"; } -.fa-arrow-up-z-a::before { - content: "\f882"; } +.fa-person-walking-arrow-loop-left { + --fa: "\e551"; + --fa--fa: "\e551\e551"; } -.fa-sort-alpha-up-alt::before { - content: "\f882"; } +.fa-arrow-up-z-a { + --fa: "\f882"; + --fa--fa: "\f882\f882"; } -.fa-fire-flame-curved::before { - content: "\f7e4"; } +.fa-sort-alpha-up-alt { + --fa: "\f882"; + --fa--fa: "\f882\f882"; } -.fa-fire-alt::before { - content: "\f7e4"; } +.fa-fire-flame-curved { + --fa: "\f7e4"; + --fa--fa: "\f7e4\f7e4"; } -.fa-tornado::before { - content: "\f76f"; } +.fa-fire-alt { + --fa: "\f7e4"; + --fa--fa: "\f7e4\f7e4"; } -.fa-file-circle-plus::before { - content: "\e494"; } +.fa-tornado { + --fa: "\f76f"; + --fa--fa: "\f76f\f76f"; } -.fa-book-quran::before { - content: "\f687"; } +.fa-file-circle-plus { + --fa: "\e494"; + --fa--fa: "\e494\e494"; } -.fa-quran::before { - content: "\f687"; } +.fa-book-quran { + --fa: "\f687"; + --fa--fa: "\f687\f687"; } -.fa-anchor::before { - content: "\f13d"; } +.fa-quran { + --fa: "\f687"; + --fa--fa: "\f687\f687"; } -.fa-border-all::before { - content: "\f84c"; } +.fa-anchor { + --fa: "\f13d"; + --fa--fa: "\f13d\f13d"; } -.fa-face-angry::before { - content: "\f556"; } +.fa-border-all { + --fa: "\f84c"; + --fa--fa: "\f84c\f84c"; } -.fa-angry::before { - content: "\f556"; } +.fa-face-angry { + --fa: "\f556"; + --fa--fa: "\f556\f556"; } -.fa-cookie-bite::before { - content: "\f564"; } +.fa-angry { + --fa: "\f556"; + --fa--fa: "\f556\f556"; } -.fa-arrow-trend-down::before { - content: "\e097"; } +.fa-cookie-bite { + --fa: "\f564"; + --fa--fa: "\f564\f564"; } -.fa-rss::before { - content: "\f09e"; } +.fa-arrow-trend-down { + --fa: "\e097"; + --fa--fa: "\e097\e097"; } -.fa-feed::before { - content: "\f09e"; } +.fa-rss { + --fa: "\f09e"; + --fa--fa: "\f09e\f09e"; } -.fa-draw-polygon::before { - content: "\f5ee"; } +.fa-feed { + --fa: "\f09e"; + --fa--fa: "\f09e\f09e"; } -.fa-scale-balanced::before { - content: "\f24e"; } +.fa-draw-polygon { + --fa: "\f5ee"; + --fa--fa: "\f5ee\f5ee"; } -.fa-balance-scale::before { - content: "\f24e"; } +.fa-scale-balanced { + --fa: "\f24e"; + --fa--fa: "\f24e\f24e"; } -.fa-gauge-simple-high::before { - content: "\f62a"; } +.fa-balance-scale { + --fa: "\f24e"; + --fa--fa: "\f24e\f24e"; } -.fa-tachometer::before { - content: "\f62a"; } +.fa-gauge-simple-high { + --fa: "\f62a"; + --fa--fa: "\f62a\f62a"; } -.fa-tachometer-fast::before { - content: "\f62a"; } +.fa-tachometer { + --fa: "\f62a"; + --fa--fa: "\f62a\f62a"; } -.fa-shower::before { - content: "\f2cc"; } +.fa-tachometer-fast { + --fa: "\f62a"; + --fa--fa: "\f62a\f62a"; } -.fa-desktop::before { - content: "\f390"; } +.fa-shower { + --fa: "\f2cc"; + --fa--fa: "\f2cc\f2cc"; } -.fa-desktop-alt::before { - content: "\f390"; } +.fa-desktop { + --fa: "\f390"; + --fa--fa: "\f390\f390"; } -.fa-m::before { - content: "\4d"; } +.fa-desktop-alt { + --fa: "\f390"; + --fa--fa: "\f390\f390"; } -.fa-table-list::before { - content: "\f00b"; } +.fa-m { + --fa: "\4d"; + --fa--fa: "\4d\4d"; } -.fa-th-list::before { - content: "\f00b"; } +.fa-table-list { + --fa: "\f00b"; + --fa--fa: "\f00b\f00b"; } -.fa-comment-sms::before { - content: "\f7cd"; } +.fa-th-list { + --fa: "\f00b"; + --fa--fa: "\f00b\f00b"; } -.fa-sms::before { - content: "\f7cd"; } +.fa-comment-sms { + --fa: "\f7cd"; + --fa--fa: "\f7cd\f7cd"; } -.fa-book::before { - content: "\f02d"; } +.fa-sms { + --fa: "\f7cd"; + --fa--fa: "\f7cd\f7cd"; } -.fa-user-plus::before { - content: "\f234"; } +.fa-book { + --fa: "\f02d"; + --fa--fa: "\f02d\f02d"; } -.fa-check::before { - content: "\f00c"; } +.fa-user-plus { + --fa: "\f234"; + --fa--fa: "\f234\f234"; } -.fa-battery-three-quarters::before { - content: "\f241"; } +.fa-check { + --fa: "\f00c"; + --fa--fa: "\f00c\f00c"; } -.fa-battery-4::before { - content: "\f241"; } +.fa-battery-three-quarters { + --fa: "\f241"; + --fa--fa: "\f241\f241"; } -.fa-house-circle-check::before { - content: "\e509"; } +.fa-battery-4 { + --fa: "\f241"; + --fa--fa: "\f241\f241"; } -.fa-angle-left::before { - content: "\f104"; } +.fa-house-circle-check { + --fa: "\e509"; + --fa--fa: "\e509\e509"; } -.fa-diagram-successor::before { - content: "\e47a"; } +.fa-angle-left { + --fa: "\f104"; + --fa--fa: "\f104\f104"; } -.fa-truck-arrow-right::before { - content: "\e58b"; } +.fa-diagram-successor { + --fa: "\e47a"; + --fa--fa: "\e47a\e47a"; } -.fa-arrows-split-up-and-left::before { - content: "\e4bc"; } +.fa-truck-arrow-right { + --fa: "\e58b"; + --fa--fa: "\e58b\e58b"; } -.fa-hand-fist::before { - content: "\f6de"; } +.fa-arrows-split-up-and-left { + --fa: "\e4bc"; + --fa--fa: "\e4bc\e4bc"; } -.fa-fist-raised::before { - content: "\f6de"; } +.fa-hand-fist { + --fa: "\f6de"; + --fa--fa: "\f6de\f6de"; } -.fa-cloud-moon::before { - content: "\f6c3"; } +.fa-fist-raised { + --fa: "\f6de"; + --fa--fa: "\f6de\f6de"; } -.fa-briefcase::before { - content: "\f0b1"; } +.fa-cloud-moon { + --fa: "\f6c3"; + --fa--fa: "\f6c3\f6c3"; } -.fa-person-falling::before { - content: "\e546"; } +.fa-briefcase { + --fa: "\f0b1"; + --fa--fa: "\f0b1\f0b1"; } -.fa-image-portrait::before { - content: "\f3e0"; } +.fa-person-falling { + --fa: "\e546"; + --fa--fa: "\e546\e546"; } -.fa-portrait::before { - content: "\f3e0"; } +.fa-image-portrait { + --fa: "\f3e0"; + --fa--fa: "\f3e0\f3e0"; } -.fa-user-tag::before { - content: "\f507"; } +.fa-portrait { + --fa: "\f3e0"; + --fa--fa: "\f3e0\f3e0"; } -.fa-rug::before { - content: "\e569"; } +.fa-user-tag { + --fa: "\f507"; + --fa--fa: "\f507\f507"; } -.fa-earth-europe::before { - content: "\f7a2"; } +.fa-rug { + --fa: "\e569"; + --fa--fa: "\e569\e569"; } -.fa-globe-europe::before { - content: "\f7a2"; } +.fa-earth-europe { + --fa: "\f7a2"; + --fa--fa: "\f7a2\f7a2"; } -.fa-cart-flatbed-suitcase::before { - content: "\f59d"; } +.fa-globe-europe { + --fa: "\f7a2"; + --fa--fa: "\f7a2\f7a2"; } -.fa-luggage-cart::before { - content: "\f59d"; } +.fa-cart-flatbed-suitcase { + --fa: "\f59d"; + --fa--fa: "\f59d\f59d"; } -.fa-rectangle-xmark::before { - content: "\f410"; } +.fa-luggage-cart { + --fa: "\f59d"; + --fa--fa: "\f59d\f59d"; } -.fa-rectangle-times::before { - content: "\f410"; } +.fa-rectangle-xmark { + --fa: "\f410"; + --fa--fa: "\f410\f410"; } -.fa-times-rectangle::before { - content: "\f410"; } +.fa-rectangle-times { + --fa: "\f410"; + --fa--fa: "\f410\f410"; } -.fa-window-close::before { - content: "\f410"; } +.fa-times-rectangle { + --fa: "\f410"; + --fa--fa: "\f410\f410"; } -.fa-baht-sign::before { - content: "\e0ac"; } +.fa-window-close { + --fa: "\f410"; + --fa--fa: "\f410\f410"; } -.fa-book-open::before { - content: "\f518"; } +.fa-baht-sign { + --fa: "\e0ac"; + --fa--fa: "\e0ac\e0ac"; } -.fa-book-journal-whills::before { - content: "\f66a"; } +.fa-book-open { + --fa: "\f518"; + --fa--fa: "\f518\f518"; } -.fa-journal-whills::before { - content: "\f66a"; } +.fa-book-journal-whills { + --fa: "\f66a"; + --fa--fa: "\f66a\f66a"; } -.fa-handcuffs::before { - content: "\e4f8"; } +.fa-journal-whills { + --fa: "\f66a"; + --fa--fa: "\f66a\f66a"; } -.fa-triangle-exclamation::before { - content: "\f071"; } +.fa-handcuffs { + --fa: "\e4f8"; + --fa--fa: "\e4f8\e4f8"; } -.fa-exclamation-triangle::before { - content: "\f071"; } +.fa-triangle-exclamation { + --fa: "\f071"; + --fa--fa: "\f071\f071"; } -.fa-warning::before { - content: "\f071"; } +.fa-exclamation-triangle { + --fa: "\f071"; + --fa--fa: "\f071\f071"; } -.fa-database::before { - content: "\f1c0"; } +.fa-warning { + --fa: "\f071"; + --fa--fa: "\f071\f071"; } -.fa-share::before { - content: "\f064"; } +.fa-database { + --fa: "\f1c0"; + --fa--fa: "\f1c0\f1c0"; } -.fa-mail-forward::before { - content: "\f064"; } +.fa-share { + --fa: "\f064"; + --fa--fa: "\f064\f064"; } -.fa-bottle-droplet::before { - content: "\e4c4"; } +.fa-mail-forward { + --fa: "\f064"; + --fa--fa: "\f064\f064"; } -.fa-mask-face::before { - content: "\e1d7"; } +.fa-bottle-droplet { + --fa: "\e4c4"; + --fa--fa: "\e4c4\e4c4"; } -.fa-hill-rockslide::before { - content: "\e508"; } +.fa-mask-face { + --fa: "\e1d7"; + --fa--fa: "\e1d7\e1d7"; } -.fa-right-left::before { - content: "\f362"; } +.fa-hill-rockslide { + --fa: "\e508"; + --fa--fa: "\e508\e508"; } -.fa-exchange-alt::before { - content: "\f362"; } +.fa-right-left { + --fa: "\f362"; + --fa--fa: "\f362\f362"; } -.fa-paper-plane::before { - content: "\f1d8"; } +.fa-exchange-alt { + --fa: "\f362"; + --fa--fa: "\f362\f362"; } -.fa-road-circle-exclamation::before { - content: "\e565"; } +.fa-paper-plane { + --fa: "\f1d8"; + --fa--fa: "\f1d8\f1d8"; } -.fa-dungeon::before { - content: "\f6d9"; } +.fa-road-circle-exclamation { + --fa: "\e565"; + --fa--fa: "\e565\e565"; } -.fa-align-right::before { - content: "\f038"; } +.fa-dungeon { + --fa: "\f6d9"; + --fa--fa: "\f6d9\f6d9"; } -.fa-money-bill-1-wave::before { - content: "\f53b"; } +.fa-align-right { + --fa: "\f038"; + --fa--fa: "\f038\f038"; } -.fa-money-bill-wave-alt::before { - content: "\f53b"; } +.fa-money-bill-1-wave { + --fa: "\f53b"; + --fa--fa: "\f53b\f53b"; } -.fa-life-ring::before { - content: "\f1cd"; } +.fa-money-bill-wave-alt { + --fa: "\f53b"; + --fa--fa: "\f53b\f53b"; } -.fa-hands::before { - content: "\f2a7"; } +.fa-life-ring { + --fa: "\f1cd"; + --fa--fa: "\f1cd\f1cd"; } -.fa-sign-language::before { - content: "\f2a7"; } +.fa-hands { + --fa: "\f2a7"; + --fa--fa: "\f2a7\f2a7"; } -.fa-signing::before { - content: "\f2a7"; } +.fa-sign-language { + --fa: "\f2a7"; + --fa--fa: "\f2a7\f2a7"; } -.fa-calendar-day::before { - content: "\f783"; } +.fa-signing { + --fa: "\f2a7"; + --fa--fa: "\f2a7\f2a7"; } -.fa-water-ladder::before { - content: "\f5c5"; } +.fa-calendar-day { + --fa: "\f783"; + --fa--fa: "\f783\f783"; } -.fa-ladder-water::before { - content: "\f5c5"; } +.fa-water-ladder { + --fa: "\f5c5"; + --fa--fa: "\f5c5\f5c5"; } -.fa-swimming-pool::before { - content: "\f5c5"; } +.fa-ladder-water { + --fa: "\f5c5"; + --fa--fa: "\f5c5\f5c5"; } -.fa-arrows-up-down::before { - content: "\f07d"; } +.fa-swimming-pool { + --fa: "\f5c5"; + --fa--fa: "\f5c5\f5c5"; } -.fa-arrows-v::before { - content: "\f07d"; } +.fa-arrows-up-down { + --fa: "\f07d"; + --fa--fa: "\f07d\f07d"; } -.fa-face-grimace::before { - content: "\f57f"; } +.fa-arrows-v { + --fa: "\f07d"; + --fa--fa: "\f07d\f07d"; } -.fa-grimace::before { - content: "\f57f"; } +.fa-face-grimace { + --fa: "\f57f"; + --fa--fa: "\f57f\f57f"; } -.fa-wheelchair-move::before { - content: "\e2ce"; } +.fa-grimace { + --fa: "\f57f"; + --fa--fa: "\f57f\f57f"; } -.fa-wheelchair-alt::before { - content: "\e2ce"; } +.fa-wheelchair-move { + --fa: "\e2ce"; + --fa--fa: "\e2ce\e2ce"; } -.fa-turn-down::before { - content: "\f3be"; } +.fa-wheelchair-alt { + --fa: "\e2ce"; + --fa--fa: "\e2ce\e2ce"; } -.fa-level-down-alt::before { - content: "\f3be"; } +.fa-turn-down { + --fa: "\f3be"; + --fa--fa: "\f3be\f3be"; } -.fa-person-walking-arrow-right::before { - content: "\e552"; } +.fa-level-down-alt { + --fa: "\f3be"; + --fa--fa: "\f3be\f3be"; } -.fa-square-envelope::before { - content: "\f199"; } +.fa-person-walking-arrow-right { + --fa: "\e552"; + --fa--fa: "\e552\e552"; } -.fa-envelope-square::before { - content: "\f199"; } +.fa-square-envelope { + --fa: "\f199"; + --fa--fa: "\f199\f199"; } -.fa-dice::before { - content: "\f522"; } +.fa-envelope-square { + --fa: "\f199"; + --fa--fa: "\f199\f199"; } -.fa-bowling-ball::before { - content: "\f436"; } +.fa-dice { + --fa: "\f522"; + --fa--fa: "\f522\f522"; } -.fa-brain::before { - content: "\f5dc"; } +.fa-bowling-ball { + --fa: "\f436"; + --fa--fa: "\f436\f436"; } -.fa-bandage::before { - content: "\f462"; } +.fa-brain { + --fa: "\f5dc"; + --fa--fa: "\f5dc\f5dc"; } -.fa-band-aid::before { - content: "\f462"; } +.fa-bandage { + --fa: "\f462"; + --fa--fa: "\f462\f462"; } -.fa-calendar-minus::before { - content: "\f272"; } +.fa-band-aid { + --fa: "\f462"; + --fa--fa: "\f462\f462"; } -.fa-circle-xmark::before { - content: "\f057"; } +.fa-calendar-minus { + --fa: "\f272"; + --fa--fa: "\f272\f272"; } -.fa-times-circle::before { - content: "\f057"; } +.fa-circle-xmark { + --fa: "\f057"; + --fa--fa: "\f057\f057"; } -.fa-xmark-circle::before { - content: "\f057"; } +.fa-times-circle { + --fa: "\f057"; + --fa--fa: "\f057\f057"; } -.fa-gifts::before { - content: "\f79c"; } +.fa-xmark-circle { + --fa: "\f057"; + --fa--fa: "\f057\f057"; } -.fa-hotel::before { - content: "\f594"; } +.fa-gifts { + --fa: "\f79c"; + --fa--fa: "\f79c\f79c"; } -.fa-earth-asia::before { - content: "\f57e"; } +.fa-hotel { + --fa: "\f594"; + --fa--fa: "\f594\f594"; } -.fa-globe-asia::before { - content: "\f57e"; } +.fa-earth-asia { + --fa: "\f57e"; + --fa--fa: "\f57e\f57e"; } -.fa-id-card-clip::before { - content: "\f47f"; } +.fa-globe-asia { + --fa: "\f57e"; + --fa--fa: "\f57e\f57e"; } -.fa-id-card-alt::before { - content: "\f47f"; } +.fa-id-card-clip { + --fa: "\f47f"; + --fa--fa: "\f47f\f47f"; } -.fa-magnifying-glass-plus::before { - content: "\f00e"; } +.fa-id-card-alt { + --fa: "\f47f"; + --fa--fa: "\f47f\f47f"; } -.fa-search-plus::before { - content: "\f00e"; } +.fa-magnifying-glass-plus { + --fa: "\f00e"; + --fa--fa: "\f00e\f00e"; } -.fa-thumbs-up::before { - content: "\f164"; } +.fa-search-plus { + --fa: "\f00e"; + --fa--fa: "\f00e\f00e"; } -.fa-user-clock::before { - content: "\f4fd"; } +.fa-thumbs-up { + --fa: "\f164"; + --fa--fa: "\f164\f164"; } -.fa-hand-dots::before { - content: "\f461"; } +.fa-user-clock { + --fa: "\f4fd"; + --fa--fa: "\f4fd\f4fd"; } -.fa-allergies::before { - content: "\f461"; } +.fa-hand-dots { + --fa: "\f461"; + --fa--fa: "\f461\f461"; } -.fa-file-invoice::before { - content: "\f570"; } +.fa-allergies { + --fa: "\f461"; + --fa--fa: "\f461\f461"; } -.fa-window-minimize::before { - content: "\f2d1"; } +.fa-file-invoice { + --fa: "\f570"; + --fa--fa: "\f570\f570"; } -.fa-mug-saucer::before { - content: "\f0f4"; } +.fa-window-minimize { + --fa: "\f2d1"; + --fa--fa: "\f2d1\f2d1"; } -.fa-coffee::before { - content: "\f0f4"; } +.fa-mug-saucer { + --fa: "\f0f4"; + --fa--fa: "\f0f4\f0f4"; } -.fa-brush::before { - content: "\f55d"; } +.fa-coffee { + --fa: "\f0f4"; + --fa--fa: "\f0f4\f0f4"; } -.fa-mask::before { - content: "\f6fa"; } +.fa-brush { + --fa: "\f55d"; + --fa--fa: "\f55d\f55d"; } -.fa-magnifying-glass-minus::before { - content: "\f010"; } +.fa-file-half-dashed { + --fa: "\e698"; + --fa--fa: "\e698\e698"; } -.fa-search-minus::before { - content: "\f010"; } +.fa-mask { + --fa: "\f6fa"; + --fa--fa: "\f6fa\f6fa"; } -.fa-ruler-vertical::before { - content: "\f548"; } +.fa-magnifying-glass-minus { + --fa: "\f010"; + --fa--fa: "\f010\f010"; } -.fa-user-large::before { - content: "\f406"; } +.fa-search-minus { + --fa: "\f010"; + --fa--fa: "\f010\f010"; } -.fa-user-alt::before { - content: "\f406"; } +.fa-ruler-vertical { + --fa: "\f548"; + --fa--fa: "\f548\f548"; } -.fa-train-tram::before { - content: "\e5b4"; } +.fa-user-large { + --fa: "\f406"; + --fa--fa: "\f406\f406"; } -.fa-user-nurse::before { - content: "\f82f"; } +.fa-user-alt { + --fa: "\f406"; + --fa--fa: "\f406\f406"; } -.fa-syringe::before { - content: "\f48e"; } +.fa-train-tram { + --fa: "\e5b4"; + --fa--fa: "\e5b4\e5b4"; } -.fa-cloud-sun::before { - content: "\f6c4"; } +.fa-user-nurse { + --fa: "\f82f"; + --fa--fa: "\f82f\f82f"; } -.fa-stopwatch-20::before { - content: "\e06f"; } +.fa-syringe { + --fa: "\f48e"; + --fa--fa: "\f48e\f48e"; } -.fa-square-full::before { - content: "\f45c"; } +.fa-cloud-sun { + --fa: "\f6c4"; + --fa--fa: "\f6c4\f6c4"; } -.fa-magnet::before { - content: "\f076"; } +.fa-stopwatch-20 { + --fa: "\e06f"; + --fa--fa: "\e06f\e06f"; } -.fa-jar::before { - content: "\e516"; } +.fa-square-full { + --fa: "\f45c"; + --fa--fa: "\f45c\f45c"; } -.fa-note-sticky::before { - content: "\f249"; } +.fa-magnet { + --fa: "\f076"; + --fa--fa: "\f076\f076"; } -.fa-sticky-note::before { - content: "\f249"; } +.fa-jar { + --fa: "\e516"; + --fa--fa: "\e516\e516"; } -.fa-bug-slash::before { - content: "\e490"; } +.fa-note-sticky { + --fa: "\f249"; + --fa--fa: "\f249\f249"; } -.fa-arrow-up-from-water-pump::before { - content: "\e4b6"; } +.fa-sticky-note { + --fa: "\f249"; + --fa--fa: "\f249\f249"; } -.fa-bone::before { - content: "\f5d7"; } +.fa-bug-slash { + --fa: "\e490"; + --fa--fa: "\e490\e490"; } -.fa-table-cells-row-unlock::before { - content: "\e691"; } +.fa-arrow-up-from-water-pump { + --fa: "\e4b6"; + --fa--fa: "\e4b6\e4b6"; } -.fa-user-injured::before { - content: "\f728"; } +.fa-bone { + --fa: "\f5d7"; + --fa--fa: "\f5d7\f5d7"; } -.fa-face-sad-tear::before { - content: "\f5b4"; } +.fa-table-cells-row-unlock { + --fa: "\e691"; + --fa--fa: "\e691\e691"; } -.fa-sad-tear::before { - content: "\f5b4"; } +.fa-user-injured { + --fa: "\f728"; + --fa--fa: "\f728\f728"; } -.fa-plane::before { - content: "\f072"; } +.fa-face-sad-tear { + --fa: "\f5b4"; + --fa--fa: "\f5b4\f5b4"; } -.fa-tent-arrows-down::before { - content: "\e581"; } +.fa-sad-tear { + --fa: "\f5b4"; + --fa--fa: "\f5b4\f5b4"; } -.fa-exclamation::before { - content: "\21"; } +.fa-plane { + --fa: "\f072"; + --fa--fa: "\f072\f072"; } -.fa-arrows-spin::before { - content: "\e4bb"; } +.fa-tent-arrows-down { + --fa: "\e581"; + --fa--fa: "\e581\e581"; } -.fa-print::before { - content: "\f02f"; } +.fa-exclamation { + --fa: "\21"; + --fa--fa: "\21\21"; } -.fa-turkish-lira-sign::before { - content: "\e2bb"; } +.fa-arrows-spin { + --fa: "\e4bb"; + --fa--fa: "\e4bb\e4bb"; } -.fa-try::before { - content: "\e2bb"; } +.fa-print { + --fa: "\f02f"; + --fa--fa: "\f02f\f02f"; } -.fa-turkish-lira::before { - content: "\e2bb"; } +.fa-turkish-lira-sign { + --fa: "\e2bb"; + --fa--fa: "\e2bb\e2bb"; } -.fa-dollar-sign::before { - content: "\24"; } +.fa-try { + --fa: "\e2bb"; + --fa--fa: "\e2bb\e2bb"; } -.fa-dollar::before { - content: "\24"; } +.fa-turkish-lira { + --fa: "\e2bb"; + --fa--fa: "\e2bb\e2bb"; } -.fa-usd::before { - content: "\24"; } +.fa-dollar-sign { + --fa: "\24"; + --fa--fa: "\24\24"; } -.fa-x::before { - content: "\58"; } +.fa-dollar { + --fa: "\24"; + --fa--fa: "\24\24"; } -.fa-magnifying-glass-dollar::before { - content: "\f688"; } +.fa-usd { + --fa: "\24"; + --fa--fa: "\24\24"; } -.fa-search-dollar::before { - content: "\f688"; } +.fa-x { + --fa: "\58"; + --fa--fa: "\58\58"; } -.fa-users-gear::before { - content: "\f509"; } +.fa-magnifying-glass-dollar { + --fa: "\f688"; + --fa--fa: "\f688\f688"; } -.fa-users-cog::before { - content: "\f509"; } +.fa-search-dollar { + --fa: "\f688"; + --fa--fa: "\f688\f688"; } -.fa-person-military-pointing::before { - content: "\e54a"; } +.fa-users-gear { + --fa: "\f509"; + --fa--fa: "\f509\f509"; } -.fa-building-columns::before { - content: "\f19c"; } +.fa-users-cog { + --fa: "\f509"; + --fa--fa: "\f509\f509"; } -.fa-bank::before { - content: "\f19c"; } +.fa-person-military-pointing { + --fa: "\e54a"; + --fa--fa: "\e54a\e54a"; } -.fa-institution::before { - content: "\f19c"; } +.fa-building-columns { + --fa: "\f19c"; + --fa--fa: "\f19c\f19c"; } -.fa-museum::before { - content: "\f19c"; } +.fa-bank { + --fa: "\f19c"; + --fa--fa: "\f19c\f19c"; } -.fa-university::before { - content: "\f19c"; } +.fa-institution { + --fa: "\f19c"; + --fa--fa: "\f19c\f19c"; } -.fa-umbrella::before { - content: "\f0e9"; } +.fa-museum { + --fa: "\f19c"; + --fa--fa: "\f19c\f19c"; } -.fa-trowel::before { - content: "\e589"; } +.fa-university { + --fa: "\f19c"; + --fa--fa: "\f19c\f19c"; } -.fa-d::before { - content: "\44"; } +.fa-umbrella { + --fa: "\f0e9"; + --fa--fa: "\f0e9\f0e9"; } -.fa-stapler::before { - content: "\e5af"; } +.fa-trowel { + --fa: "\e589"; + --fa--fa: "\e589\e589"; } -.fa-masks-theater::before { - content: "\f630"; } +.fa-d { + --fa: "\44"; + --fa--fa: "\44\44"; } -.fa-theater-masks::before { - content: "\f630"; } +.fa-stapler { + --fa: "\e5af"; + --fa--fa: "\e5af\e5af"; } -.fa-kip-sign::before { - content: "\e1c4"; } +.fa-masks-theater { + --fa: "\f630"; + --fa--fa: "\f630\f630"; } -.fa-hand-point-left::before { - content: "\f0a5"; } +.fa-theater-masks { + --fa: "\f630"; + --fa--fa: "\f630\f630"; } -.fa-handshake-simple::before { - content: "\f4c6"; } +.fa-kip-sign { + --fa: "\e1c4"; + --fa--fa: "\e1c4\e1c4"; } -.fa-handshake-alt::before { - content: "\f4c6"; } +.fa-hand-point-left { + --fa: "\f0a5"; + --fa--fa: "\f0a5\f0a5"; } -.fa-jet-fighter::before { - content: "\f0fb"; } +.fa-handshake-simple { + --fa: "\f4c6"; + --fa--fa: "\f4c6\f4c6"; } -.fa-fighter-jet::before { - content: "\f0fb"; } +.fa-handshake-alt { + --fa: "\f4c6"; + --fa--fa: "\f4c6\f4c6"; } -.fa-square-share-nodes::before { - content: "\f1e1"; } +.fa-jet-fighter { + --fa: "\f0fb"; + --fa--fa: "\f0fb\f0fb"; } -.fa-share-alt-square::before { - content: "\f1e1"; } +.fa-fighter-jet { + --fa: "\f0fb"; + --fa--fa: "\f0fb\f0fb"; } -.fa-barcode::before { - content: "\f02a"; } +.fa-square-share-nodes { + --fa: "\f1e1"; + --fa--fa: "\f1e1\f1e1"; } -.fa-plus-minus::before { - content: "\e43c"; } +.fa-share-alt-square { + --fa: "\f1e1"; + --fa--fa: "\f1e1\f1e1"; } -.fa-video::before { - content: "\f03d"; } +.fa-barcode { + --fa: "\f02a"; + --fa--fa: "\f02a\f02a"; } -.fa-video-camera::before { - content: "\f03d"; } +.fa-plus-minus { + --fa: "\e43c"; + --fa--fa: "\e43c\e43c"; } -.fa-graduation-cap::before { - content: "\f19d"; } +.fa-video { + --fa: "\f03d"; + --fa--fa: "\f03d\f03d"; } -.fa-mortar-board::before { - content: "\f19d"; } +.fa-video-camera { + --fa: "\f03d"; + --fa--fa: "\f03d\f03d"; } -.fa-hand-holding-medical::before { - content: "\e05c"; } +.fa-graduation-cap { + --fa: "\f19d"; + --fa--fa: "\f19d\f19d"; } -.fa-person-circle-check::before { - content: "\e53e"; } +.fa-mortar-board { + --fa: "\f19d"; + --fa--fa: "\f19d\f19d"; } -.fa-turn-up::before { - content: "\f3bf"; } +.fa-hand-holding-medical { + --fa: "\e05c"; + --fa--fa: "\e05c\e05c"; } -.fa-level-up-alt::before { - content: "\f3bf"; } +.fa-person-circle-check { + --fa: "\e53e"; + --fa--fa: "\e53e\e53e"; } + +.fa-turn-up { + --fa: "\f3bf"; + --fa--fa: "\f3bf\f3bf"; } + +.fa-level-up-alt { + --fa: "\f3bf"; + --fa--fa: "\f3bf\f3bf"; } .sr-only, .fa-sr-only { @@ -6228,1586 +8218,1595 @@ readers do not read off random characters that represent icons */ .fa-brands { font-weight: 400; } -.fa-monero:before { - content: "\f3d0"; } +.fa-monero { + --fa: "\f3d0"; } + +.fa-hooli { + --fa: "\f427"; } + +.fa-yelp { + --fa: "\f1e9"; } + +.fa-cc-visa { + --fa: "\f1f0"; } -.fa-hooli:before { - content: "\f427"; } +.fa-lastfm { + --fa: "\f202"; } -.fa-yelp:before { - content: "\f1e9"; } +.fa-shopware { + --fa: "\f5b5"; } -.fa-cc-visa:before { - content: "\f1f0"; } +.fa-creative-commons-nc { + --fa: "\f4e8"; } -.fa-lastfm:before { - content: "\f202"; } +.fa-aws { + --fa: "\f375"; } -.fa-shopware:before { - content: "\f5b5"; } +.fa-redhat { + --fa: "\f7bc"; } -.fa-creative-commons-nc:before { - content: "\f4e8"; } +.fa-yoast { + --fa: "\f2b1"; } -.fa-aws:before { - content: "\f375"; } +.fa-cloudflare { + --fa: "\e07d"; } -.fa-redhat:before { - content: "\f7bc"; } +.fa-ups { + --fa: "\f7e0"; } -.fa-yoast:before { - content: "\f2b1"; } +.fa-pixiv { + --fa: "\e640"; } -.fa-cloudflare:before { - content: "\e07d"; } +.fa-wpexplorer { + --fa: "\f2de"; } -.fa-ups:before { - content: "\f7e0"; } +.fa-dyalog { + --fa: "\f399"; } -.fa-pixiv:before { - content: "\e640"; } +.fa-bity { + --fa: "\f37a"; } -.fa-wpexplorer:before { - content: "\f2de"; } +.fa-stackpath { + --fa: "\f842"; } -.fa-dyalog:before { - content: "\f399"; } +.fa-buysellads { + --fa: "\f20d"; } -.fa-bity:before { - content: "\f37a"; } +.fa-first-order { + --fa: "\f2b0"; } -.fa-stackpath:before { - content: "\f842"; } +.fa-modx { + --fa: "\f285"; } -.fa-buysellads:before { - content: "\f20d"; } +.fa-guilded { + --fa: "\e07e"; } -.fa-first-order:before { - content: "\f2b0"; } +.fa-vnv { + --fa: "\f40b"; } -.fa-modx:before { - content: "\f285"; } +.fa-square-js { + --fa: "\f3b9"; } -.fa-guilded:before { - content: "\e07e"; } +.fa-js-square { + --fa: "\f3b9"; } -.fa-vnv:before { - content: "\f40b"; } +.fa-microsoft { + --fa: "\f3ca"; } -.fa-square-js:before { - content: "\f3b9"; } +.fa-qq { + --fa: "\f1d6"; } -.fa-js-square:before { - content: "\f3b9"; } +.fa-orcid { + --fa: "\f8d2"; } -.fa-microsoft:before { - content: "\f3ca"; } +.fa-java { + --fa: "\f4e4"; } -.fa-qq:before { - content: "\f1d6"; } +.fa-invision { + --fa: "\f7b0"; } -.fa-orcid:before { - content: "\f8d2"; } +.fa-creative-commons-pd-alt { + --fa: "\f4ed"; } -.fa-java:before { - content: "\f4e4"; } +.fa-centercode { + --fa: "\f380"; } -.fa-invision:before { - content: "\f7b0"; } +.fa-glide-g { + --fa: "\f2a6"; } -.fa-creative-commons-pd-alt:before { - content: "\f4ed"; } +.fa-drupal { + --fa: "\f1a9"; } -.fa-centercode:before { - content: "\f380"; } +.fa-jxl { + --fa: "\e67b"; } -.fa-glide-g:before { - content: "\f2a6"; } +.fa-dart-lang { + --fa: "\e693"; } -.fa-drupal:before { - content: "\f1a9"; } +.fa-hire-a-helper { + --fa: "\f3b0"; } -.fa-jxl:before { - content: "\e67b"; } +.fa-creative-commons-by { + --fa: "\f4e7"; } -.fa-dart-lang:before { - content: "\e693"; } +.fa-unity { + --fa: "\e049"; } -.fa-hire-a-helper:before { - content: "\f3b0"; } +.fa-whmcs { + --fa: "\f40d"; } -.fa-creative-commons-by:before { - content: "\f4e7"; } +.fa-rocketchat { + --fa: "\f3e8"; } -.fa-unity:before { - content: "\e049"; } +.fa-vk { + --fa: "\f189"; } -.fa-whmcs:before { - content: "\f40d"; } +.fa-untappd { + --fa: "\f405"; } -.fa-rocketchat:before { - content: "\f3e8"; } +.fa-mailchimp { + --fa: "\f59e"; } -.fa-vk:before { - content: "\f189"; } +.fa-css3-alt { + --fa: "\f38b"; } -.fa-untappd:before { - content: "\f405"; } +.fa-square-reddit { + --fa: "\f1a2"; } -.fa-mailchimp:before { - content: "\f59e"; } +.fa-reddit-square { + --fa: "\f1a2"; } -.fa-css3-alt:before { - content: "\f38b"; } +.fa-vimeo-v { + --fa: "\f27d"; } -.fa-square-reddit:before { - content: "\f1a2"; } +.fa-contao { + --fa: "\f26d"; } -.fa-reddit-square:before { - content: "\f1a2"; } +.fa-square-font-awesome { + --fa: "\e5ad"; } -.fa-vimeo-v:before { - content: "\f27d"; } +.fa-deskpro { + --fa: "\f38f"; } -.fa-contao:before { - content: "\f26d"; } +.fa-brave { + --fa: "\e63c"; } -.fa-square-font-awesome:before { - content: "\e5ad"; } +.fa-sistrix { + --fa: "\f3ee"; } -.fa-deskpro:before { - content: "\f38f"; } +.fa-square-instagram { + --fa: "\e055"; } -.fa-brave:before { - content: "\e63c"; } +.fa-instagram-square { + --fa: "\e055"; } -.fa-sistrix:before { - content: "\f3ee"; } +.fa-battle-net { + --fa: "\f835"; } -.fa-square-instagram:before { - content: "\e055"; } +.fa-the-red-yeti { + --fa: "\f69d"; } -.fa-instagram-square:before { - content: "\e055"; } +.fa-square-hacker-news { + --fa: "\f3af"; } -.fa-battle-net:before { - content: "\f835"; } +.fa-hacker-news-square { + --fa: "\f3af"; } -.fa-the-red-yeti:before { - content: "\f69d"; } +.fa-edge { + --fa: "\f282"; } -.fa-square-hacker-news:before { - content: "\f3af"; } +.fa-threads { + --fa: "\e618"; } -.fa-hacker-news-square:before { - content: "\f3af"; } +.fa-napster { + --fa: "\f3d2"; } -.fa-edge:before { - content: "\f282"; } +.fa-square-snapchat { + --fa: "\f2ad"; } -.fa-threads:before { - content: "\e618"; } +.fa-snapchat-square { + --fa: "\f2ad"; } -.fa-napster:before { - content: "\f3d2"; } +.fa-google-plus-g { + --fa: "\f0d5"; } -.fa-square-snapchat:before { - content: "\f2ad"; } +.fa-artstation { + --fa: "\f77a"; } -.fa-snapchat-square:before { - content: "\f2ad"; } +.fa-markdown { + --fa: "\f60f"; } -.fa-google-plus-g:before { - content: "\f0d5"; } +.fa-sourcetree { + --fa: "\f7d3"; } -.fa-artstation:before { - content: "\f77a"; } +.fa-google-plus { + --fa: "\f2b3"; } -.fa-markdown:before { - content: "\f60f"; } +.fa-diaspora { + --fa: "\f791"; } -.fa-sourcetree:before { - content: "\f7d3"; } +.fa-foursquare { + --fa: "\f180"; } -.fa-google-plus:before { - content: "\f2b3"; } +.fa-stack-overflow { + --fa: "\f16c"; } -.fa-diaspora:before { - content: "\f791"; } +.fa-github-alt { + --fa: "\f113"; } -.fa-foursquare:before { - content: "\f180"; } +.fa-phoenix-squadron { + --fa: "\f511"; } -.fa-stack-overflow:before { - content: "\f16c"; } +.fa-pagelines { + --fa: "\f18c"; } -.fa-github-alt:before { - content: "\f113"; } +.fa-algolia { + --fa: "\f36c"; } -.fa-phoenix-squadron:before { - content: "\f511"; } +.fa-red-river { + --fa: "\f3e3"; } -.fa-pagelines:before { - content: "\f18c"; } +.fa-creative-commons-sa { + --fa: "\f4ef"; } -.fa-algolia:before { - content: "\f36c"; } +.fa-safari { + --fa: "\f267"; } -.fa-red-river:before { - content: "\f3e3"; } +.fa-google { + --fa: "\f1a0"; } -.fa-creative-commons-sa:before { - content: "\f4ef"; } +.fa-square-font-awesome-stroke { + --fa: "\f35c"; } -.fa-safari:before { - content: "\f267"; } +.fa-font-awesome-alt { + --fa: "\f35c"; } -.fa-google:before { - content: "\f1a0"; } +.fa-atlassian { + --fa: "\f77b"; } -.fa-square-font-awesome-stroke:before { - content: "\f35c"; } +.fa-linkedin-in { + --fa: "\f0e1"; } -.fa-font-awesome-alt:before { - content: "\f35c"; } +.fa-digital-ocean { + --fa: "\f391"; } -.fa-atlassian:before { - content: "\f77b"; } +.fa-nimblr { + --fa: "\f5a8"; } -.fa-linkedin-in:before { - content: "\f0e1"; } +.fa-chromecast { + --fa: "\f838"; } -.fa-digital-ocean:before { - content: "\f391"; } +.fa-evernote { + --fa: "\f839"; } -.fa-nimblr:before { - content: "\f5a8"; } +.fa-hacker-news { + --fa: "\f1d4"; } -.fa-chromecast:before { - content: "\f838"; } +.fa-creative-commons-sampling { + --fa: "\f4f0"; } -.fa-evernote:before { - content: "\f839"; } +.fa-adversal { + --fa: "\f36a"; } -.fa-hacker-news:before { - content: "\f1d4"; } +.fa-creative-commons { + --fa: "\f25e"; } -.fa-creative-commons-sampling:before { - content: "\f4f0"; } +.fa-watchman-monitoring { + --fa: "\e087"; } -.fa-adversal:before { - content: "\f36a"; } +.fa-fonticons { + --fa: "\f280"; } -.fa-creative-commons:before { - content: "\f25e"; } +.fa-weixin { + --fa: "\f1d7"; } -.fa-watchman-monitoring:before { - content: "\e087"; } +.fa-shirtsinbulk { + --fa: "\f214"; } -.fa-fonticons:before { - content: "\f280"; } +.fa-codepen { + --fa: "\f1cb"; } -.fa-weixin:before { - content: "\f1d7"; } +.fa-git-alt { + --fa: "\f841"; } -.fa-shirtsinbulk:before { - content: "\f214"; } +.fa-lyft { + --fa: "\f3c3"; } -.fa-codepen:before { - content: "\f1cb"; } +.fa-rev { + --fa: "\f5b2"; } -.fa-git-alt:before { - content: "\f841"; } +.fa-windows { + --fa: "\f17a"; } -.fa-lyft:before { - content: "\f3c3"; } +.fa-wizards-of-the-coast { + --fa: "\f730"; } -.fa-rev:before { - content: "\f5b2"; } +.fa-square-viadeo { + --fa: "\f2aa"; } -.fa-windows:before { - content: "\f17a"; } +.fa-viadeo-square { + --fa: "\f2aa"; } -.fa-wizards-of-the-coast:before { - content: "\f730"; } +.fa-meetup { + --fa: "\f2e0"; } -.fa-square-viadeo:before { - content: "\f2aa"; } +.fa-centos { + --fa: "\f789"; } -.fa-viadeo-square:before { - content: "\f2aa"; } +.fa-adn { + --fa: "\f170"; } -.fa-meetup:before { - content: "\f2e0"; } +.fa-cloudsmith { + --fa: "\f384"; } -.fa-centos:before { - content: "\f789"; } +.fa-opensuse { + --fa: "\e62b"; } -.fa-adn:before { - content: "\f170"; } +.fa-pied-piper-alt { + --fa: "\f1a8"; } -.fa-cloudsmith:before { - content: "\f384"; } +.fa-square-dribbble { + --fa: "\f397"; } -.fa-opensuse:before { - content: "\e62b"; } +.fa-dribbble-square { + --fa: "\f397"; } -.fa-pied-piper-alt:before { - content: "\f1a8"; } +.fa-codiepie { + --fa: "\f284"; } -.fa-square-dribbble:before { - content: "\f397"; } +.fa-node { + --fa: "\f419"; } -.fa-dribbble-square:before { - content: "\f397"; } +.fa-mix { + --fa: "\f3cb"; } -.fa-codiepie:before { - content: "\f284"; } +.fa-steam { + --fa: "\f1b6"; } -.fa-node:before { - content: "\f419"; } +.fa-cc-apple-pay { + --fa: "\f416"; } -.fa-mix:before { - content: "\f3cb"; } +.fa-scribd { + --fa: "\f28a"; } -.fa-steam:before { - content: "\f1b6"; } +.fa-debian { + --fa: "\e60b"; } -.fa-cc-apple-pay:before { - content: "\f416"; } +.fa-openid { + --fa: "\f19b"; } -.fa-scribd:before { - content: "\f28a"; } +.fa-instalod { + --fa: "\e081"; } -.fa-debian:before { - content: "\e60b"; } +.fa-files-pinwheel { + --fa: "\e69f"; } -.fa-openid:before { - content: "\f19b"; } +.fa-expeditedssl { + --fa: "\f23e"; } -.fa-instalod:before { - content: "\e081"; } +.fa-sellcast { + --fa: "\f2da"; } -.fa-expeditedssl:before { - content: "\f23e"; } +.fa-square-twitter { + --fa: "\f081"; } -.fa-sellcast:before { - content: "\f2da"; } +.fa-twitter-square { + --fa: "\f081"; } -.fa-square-twitter:before { - content: "\f081"; } +.fa-r-project { + --fa: "\f4f7"; } -.fa-twitter-square:before { - content: "\f081"; } +.fa-delicious { + --fa: "\f1a5"; } -.fa-r-project:before { - content: "\f4f7"; } +.fa-freebsd { + --fa: "\f3a4"; } -.fa-delicious:before { - content: "\f1a5"; } +.fa-vuejs { + --fa: "\f41f"; } -.fa-freebsd:before { - content: "\f3a4"; } +.fa-accusoft { + --fa: "\f369"; } -.fa-vuejs:before { - content: "\f41f"; } +.fa-ioxhost { + --fa: "\f208"; } -.fa-accusoft:before { - content: "\f369"; } +.fa-fonticons-fi { + --fa: "\f3a2"; } -.fa-ioxhost:before { - content: "\f208"; } +.fa-app-store { + --fa: "\f36f"; } -.fa-fonticons-fi:before { - content: "\f3a2"; } +.fa-cc-mastercard { + --fa: "\f1f1"; } -.fa-app-store:before { - content: "\f36f"; } +.fa-itunes-note { + --fa: "\f3b5"; } -.fa-cc-mastercard:before { - content: "\f1f1"; } +.fa-golang { + --fa: "\e40f"; } -.fa-itunes-note:before { - content: "\f3b5"; } +.fa-kickstarter { + --fa: "\f3bb"; } -.fa-golang:before { - content: "\e40f"; } +.fa-square-kickstarter { + --fa: "\f3bb"; } -.fa-kickstarter:before { - content: "\f3bb"; } +.fa-grav { + --fa: "\f2d6"; } -.fa-square-kickstarter:before { - content: "\f3bb"; } +.fa-weibo { + --fa: "\f18a"; } -.fa-grav:before { - content: "\f2d6"; } +.fa-uncharted { + --fa: "\e084"; } -.fa-weibo:before { - content: "\f18a"; } +.fa-firstdraft { + --fa: "\f3a1"; } -.fa-uncharted:before { - content: "\e084"; } +.fa-square-youtube { + --fa: "\f431"; } -.fa-firstdraft:before { - content: "\f3a1"; } +.fa-youtube-square { + --fa: "\f431"; } -.fa-square-youtube:before { - content: "\f431"; } +.fa-wikipedia-w { + --fa: "\f266"; } -.fa-youtube-square:before { - content: "\f431"; } +.fa-wpressr { + --fa: "\f3e4"; } -.fa-wikipedia-w:before { - content: "\f266"; } +.fa-rendact { + --fa: "\f3e4"; } -.fa-wpressr:before { - content: "\f3e4"; } +.fa-angellist { + --fa: "\f209"; } -.fa-rendact:before { - content: "\f3e4"; } +.fa-galactic-republic { + --fa: "\f50c"; } -.fa-angellist:before { - content: "\f209"; } +.fa-nfc-directional { + --fa: "\e530"; } -.fa-galactic-republic:before { - content: "\f50c"; } +.fa-skype { + --fa: "\f17e"; } -.fa-nfc-directional:before { - content: "\e530"; } +.fa-joget { + --fa: "\f3b7"; } -.fa-skype:before { - content: "\f17e"; } +.fa-fedora { + --fa: "\f798"; } -.fa-joget:before { - content: "\f3b7"; } +.fa-stripe-s { + --fa: "\f42a"; } -.fa-fedora:before { - content: "\f798"; } +.fa-meta { + --fa: "\e49b"; } -.fa-stripe-s:before { - content: "\f42a"; } +.fa-laravel { + --fa: "\f3bd"; } -.fa-meta:before { - content: "\e49b"; } +.fa-hotjar { + --fa: "\f3b1"; } -.fa-laravel:before { - content: "\f3bd"; } +.fa-bluetooth-b { + --fa: "\f294"; } -.fa-hotjar:before { - content: "\f3b1"; } +.fa-square-letterboxd { + --fa: "\e62e"; } -.fa-bluetooth-b:before { - content: "\f294"; } +.fa-sticker-mule { + --fa: "\f3f7"; } -.fa-square-letterboxd:before { - content: "\e62e"; } +.fa-creative-commons-zero { + --fa: "\f4f3"; } -.fa-sticker-mule:before { - content: "\f3f7"; } +.fa-hips { + --fa: "\f452"; } -.fa-creative-commons-zero:before { - content: "\f4f3"; } +.fa-css { + --fa: "\e6a2"; } -.fa-hips:before { - content: "\f452"; } +.fa-behance { + --fa: "\f1b4"; } -.fa-behance:before { - content: "\f1b4"; } +.fa-reddit { + --fa: "\f1a1"; } -.fa-reddit:before { - content: "\f1a1"; } +.fa-discord { + --fa: "\f392"; } -.fa-discord:before { - content: "\f392"; } +.fa-chrome { + --fa: "\f268"; } -.fa-chrome:before { - content: "\f268"; } +.fa-app-store-ios { + --fa: "\f370"; } -.fa-app-store-ios:before { - content: "\f370"; } +.fa-cc-discover { + --fa: "\f1f2"; } -.fa-cc-discover:before { - content: "\f1f2"; } +.fa-wpbeginner { + --fa: "\f297"; } -.fa-wpbeginner:before { - content: "\f297"; } +.fa-confluence { + --fa: "\f78d"; } -.fa-confluence:before { - content: "\f78d"; } +.fa-shoelace { + --fa: "\e60c"; } -.fa-shoelace:before { - content: "\e60c"; } +.fa-mdb { + --fa: "\f8ca"; } -.fa-mdb:before { - content: "\f8ca"; } +.fa-dochub { + --fa: "\f394"; } -.fa-dochub:before { - content: "\f394"; } +.fa-accessible-icon { + --fa: "\f368"; } -.fa-accessible-icon:before { - content: "\f368"; } +.fa-ebay { + --fa: "\f4f4"; } -.fa-ebay:before { - content: "\f4f4"; } +.fa-amazon { + --fa: "\f270"; } -.fa-amazon:before { - content: "\f270"; } +.fa-unsplash { + --fa: "\e07c"; } -.fa-unsplash:before { - content: "\e07c"; } +.fa-yarn { + --fa: "\f7e3"; } -.fa-yarn:before { - content: "\f7e3"; } +.fa-square-steam { + --fa: "\f1b7"; } -.fa-square-steam:before { - content: "\f1b7"; } +.fa-steam-square { + --fa: "\f1b7"; } -.fa-steam-square:before { - content: "\f1b7"; } +.fa-500px { + --fa: "\f26e"; } -.fa-500px:before { - content: "\f26e"; } +.fa-square-vimeo { + --fa: "\f194"; } -.fa-square-vimeo:before { - content: "\f194"; } +.fa-vimeo-square { + --fa: "\f194"; } -.fa-vimeo-square:before { - content: "\f194"; } +.fa-asymmetrik { + --fa: "\f372"; } -.fa-asymmetrik:before { - content: "\f372"; } +.fa-font-awesome { + --fa: "\f2b4"; } -.fa-font-awesome:before { - content: "\f2b4"; } +.fa-font-awesome-flag { + --fa: "\f2b4"; } -.fa-font-awesome-flag:before { - content: "\f2b4"; } +.fa-font-awesome-logo-full { + --fa: "\f2b4"; } -.fa-font-awesome-logo-full:before { - content: "\f2b4"; } +.fa-gratipay { + --fa: "\f184"; } -.fa-gratipay:before { - content: "\f184"; } +.fa-apple { + --fa: "\f179"; } -.fa-apple:before { - content: "\f179"; } +.fa-hive { + --fa: "\e07f"; } -.fa-hive:before { - content: "\e07f"; } +.fa-gitkraken { + --fa: "\f3a6"; } -.fa-gitkraken:before { - content: "\f3a6"; } +.fa-keybase { + --fa: "\f4f5"; } -.fa-keybase:before { - content: "\f4f5"; } +.fa-apple-pay { + --fa: "\f415"; } -.fa-apple-pay:before { - content: "\f415"; } +.fa-padlet { + --fa: "\e4a0"; } -.fa-padlet:before { - content: "\e4a0"; } +.fa-amazon-pay { + --fa: "\f42c"; } -.fa-amazon-pay:before { - content: "\f42c"; } +.fa-square-github { + --fa: "\f092"; } -.fa-square-github:before { - content: "\f092"; } +.fa-github-square { + --fa: "\f092"; } -.fa-github-square:before { - content: "\f092"; } +.fa-stumbleupon { + --fa: "\f1a4"; } -.fa-stumbleupon:before { - content: "\f1a4"; } +.fa-fedex { + --fa: "\f797"; } -.fa-fedex:before { - content: "\f797"; } +.fa-phoenix-framework { + --fa: "\f3dc"; } -.fa-phoenix-framework:before { - content: "\f3dc"; } +.fa-shopify { + --fa: "\e057"; } -.fa-shopify:before { - content: "\e057"; } +.fa-neos { + --fa: "\f612"; } -.fa-neos:before { - content: "\f612"; } +.fa-square-threads { + --fa: "\e619"; } -.fa-square-threads:before { - content: "\e619"; } +.fa-hackerrank { + --fa: "\f5f7"; } -.fa-hackerrank:before { - content: "\f5f7"; } +.fa-researchgate { + --fa: "\f4f8"; } -.fa-researchgate:before { - content: "\f4f8"; } +.fa-swift { + --fa: "\f8e1"; } -.fa-swift:before { - content: "\f8e1"; } +.fa-angular { + --fa: "\f420"; } -.fa-angular:before { - content: "\f420"; } +.fa-speakap { + --fa: "\f3f3"; } -.fa-speakap:before { - content: "\f3f3"; } +.fa-angrycreative { + --fa: "\f36e"; } -.fa-angrycreative:before { - content: "\f36e"; } +.fa-y-combinator { + --fa: "\f23b"; } -.fa-y-combinator:before { - content: "\f23b"; } +.fa-empire { + --fa: "\f1d1"; } -.fa-empire:before { - content: "\f1d1"; } +.fa-envira { + --fa: "\f299"; } -.fa-envira:before { - content: "\f299"; } +.fa-google-scholar { + --fa: "\e63b"; } -.fa-google-scholar:before { - content: "\e63b"; } +.fa-square-gitlab { + --fa: "\e5ae"; } -.fa-square-gitlab:before { - content: "\e5ae"; } +.fa-gitlab-square { + --fa: "\e5ae"; } -.fa-gitlab-square:before { - content: "\e5ae"; } +.fa-studiovinari { + --fa: "\f3f8"; } -.fa-studiovinari:before { - content: "\f3f8"; } +.fa-pied-piper { + --fa: "\f2ae"; } -.fa-pied-piper:before { - content: "\f2ae"; } +.fa-wordpress { + --fa: "\f19a"; } -.fa-wordpress:before { - content: "\f19a"; } +.fa-product-hunt { + --fa: "\f288"; } -.fa-product-hunt:before { - content: "\f288"; } +.fa-firefox { + --fa: "\f269"; } -.fa-firefox:before { - content: "\f269"; } +.fa-linode { + --fa: "\f2b8"; } -.fa-linode:before { - content: "\f2b8"; } +.fa-goodreads { + --fa: "\f3a8"; } -.fa-goodreads:before { - content: "\f3a8"; } +.fa-square-odnoklassniki { + --fa: "\f264"; } -.fa-square-odnoklassniki:before { - content: "\f264"; } +.fa-odnoklassniki-square { + --fa: "\f264"; } -.fa-odnoklassniki-square:before { - content: "\f264"; } +.fa-jsfiddle { + --fa: "\f1cc"; } -.fa-jsfiddle:before { - content: "\f1cc"; } +.fa-sith { + --fa: "\f512"; } -.fa-sith:before { - content: "\f512"; } +.fa-themeisle { + --fa: "\f2b2"; } -.fa-themeisle:before { - content: "\f2b2"; } +.fa-page4 { + --fa: "\f3d7"; } -.fa-page4:before { - content: "\f3d7"; } +.fa-hashnode { + --fa: "\e499"; } -.fa-hashnode:before { - content: "\e499"; } +.fa-react { + --fa: "\f41b"; } -.fa-react:before { - content: "\f41b"; } +.fa-cc-paypal { + --fa: "\f1f4"; } -.fa-cc-paypal:before { - content: "\f1f4"; } +.fa-squarespace { + --fa: "\f5be"; } -.fa-squarespace:before { - content: "\f5be"; } +.fa-cc-stripe { + --fa: "\f1f5"; } -.fa-cc-stripe:before { - content: "\f1f5"; } +.fa-creative-commons-share { + --fa: "\f4f2"; } -.fa-creative-commons-share:before { - content: "\f4f2"; } +.fa-bitcoin { + --fa: "\f379"; } -.fa-bitcoin:before { - content: "\f379"; } +.fa-keycdn { + --fa: "\f3ba"; } -.fa-keycdn:before { - content: "\f3ba"; } +.fa-opera { + --fa: "\f26a"; } -.fa-opera:before { - content: "\f26a"; } +.fa-itch-io { + --fa: "\f83a"; } -.fa-itch-io:before { - content: "\f83a"; } +.fa-umbraco { + --fa: "\f8e8"; } -.fa-umbraco:before { - content: "\f8e8"; } +.fa-galactic-senate { + --fa: "\f50d"; } -.fa-galactic-senate:before { - content: "\f50d"; } +.fa-ubuntu { + --fa: "\f7df"; } -.fa-ubuntu:before { - content: "\f7df"; } +.fa-draft2digital { + --fa: "\f396"; } -.fa-draft2digital:before { - content: "\f396"; } +.fa-stripe { + --fa: "\f429"; } -.fa-stripe:before { - content: "\f429"; } +.fa-houzz { + --fa: "\f27c"; } -.fa-houzz:before { - content: "\f27c"; } +.fa-gg { + --fa: "\f260"; } -.fa-gg:before { - content: "\f260"; } +.fa-dhl { + --fa: "\f790"; } -.fa-dhl:before { - content: "\f790"; } +.fa-square-pinterest { + --fa: "\f0d3"; } -.fa-square-pinterest:before { - content: "\f0d3"; } +.fa-pinterest-square { + --fa: "\f0d3"; } -.fa-pinterest-square:before { - content: "\f0d3"; } +.fa-xing { + --fa: "\f168"; } -.fa-xing:before { - content: "\f168"; } +.fa-blackberry { + --fa: "\f37b"; } -.fa-blackberry:before { - content: "\f37b"; } +.fa-creative-commons-pd { + --fa: "\f4ec"; } -.fa-creative-commons-pd:before { - content: "\f4ec"; } +.fa-playstation { + --fa: "\f3df"; } -.fa-playstation:before { - content: "\f3df"; } +.fa-quinscape { + --fa: "\f459"; } -.fa-quinscape:before { - content: "\f459"; } +.fa-less { + --fa: "\f41d"; } -.fa-less:before { - content: "\f41d"; } +.fa-blogger-b { + --fa: "\f37d"; } -.fa-blogger-b:before { - content: "\f37d"; } +.fa-opencart { + --fa: "\f23d"; } -.fa-opencart:before { - content: "\f23d"; } +.fa-vine { + --fa: "\f1ca"; } -.fa-vine:before { - content: "\f1ca"; } +.fa-signal-messenger { + --fa: "\e663"; } -.fa-signal-messenger:before { - content: "\e663"; } +.fa-paypal { + --fa: "\f1ed"; } -.fa-paypal:before { - content: "\f1ed"; } +.fa-gitlab { + --fa: "\f296"; } -.fa-gitlab:before { - content: "\f296"; } +.fa-typo3 { + --fa: "\f42b"; } -.fa-typo3:before { - content: "\f42b"; } +.fa-reddit-alien { + --fa: "\f281"; } -.fa-reddit-alien:before { - content: "\f281"; } +.fa-yahoo { + --fa: "\f19e"; } -.fa-yahoo:before { - content: "\f19e"; } +.fa-dailymotion { + --fa: "\e052"; } -.fa-dailymotion:before { - content: "\e052"; } +.fa-affiliatetheme { + --fa: "\f36b"; } -.fa-affiliatetheme:before { - content: "\f36b"; } +.fa-pied-piper-pp { + --fa: "\f1a7"; } -.fa-pied-piper-pp:before { - content: "\f1a7"; } +.fa-bootstrap { + --fa: "\f836"; } -.fa-bootstrap:before { - content: "\f836"; } +.fa-odnoklassniki { + --fa: "\f263"; } -.fa-odnoklassniki:before { - content: "\f263"; } +.fa-nfc-symbol { + --fa: "\e531"; } -.fa-nfc-symbol:before { - content: "\e531"; } +.fa-mintbit { + --fa: "\e62f"; } -.fa-mintbit:before { - content: "\e62f"; } +.fa-ethereum { + --fa: "\f42e"; } -.fa-ethereum:before { - content: "\f42e"; } +.fa-speaker-deck { + --fa: "\f83c"; } -.fa-speaker-deck:before { - content: "\f83c"; } +.fa-creative-commons-nc-eu { + --fa: "\f4e9"; } -.fa-creative-commons-nc-eu:before { - content: "\f4e9"; } +.fa-patreon { + --fa: "\f3d9"; } -.fa-patreon:before { - content: "\f3d9"; } +.fa-avianex { + --fa: "\f374"; } -.fa-avianex:before { - content: "\f374"; } +.fa-ello { + --fa: "\f5f1"; } -.fa-ello:before { - content: "\f5f1"; } +.fa-gofore { + --fa: "\f3a7"; } -.fa-gofore:before { - content: "\f3a7"; } +.fa-bimobject { + --fa: "\f378"; } -.fa-bimobject:before { - content: "\f378"; } +.fa-brave-reverse { + --fa: "\e63d"; } -.fa-brave-reverse:before { - content: "\e63d"; } +.fa-facebook-f { + --fa: "\f39e"; } -.fa-facebook-f:before { - content: "\f39e"; } +.fa-square-google-plus { + --fa: "\f0d4"; } -.fa-square-google-plus:before { - content: "\f0d4"; } +.fa-google-plus-square { + --fa: "\f0d4"; } -.fa-google-plus-square:before { - content: "\f0d4"; } +.fa-web-awesome { + --fa: "\e682"; } -.fa-web-awesome:before { - content: "\e682"; } +.fa-mandalorian { + --fa: "\f50f"; } -.fa-mandalorian:before { - content: "\f50f"; } +.fa-first-order-alt { + --fa: "\f50a"; } -.fa-first-order-alt:before { - content: "\f50a"; } +.fa-osi { + --fa: "\f41a"; } -.fa-osi:before { - content: "\f41a"; } +.fa-google-wallet { + --fa: "\f1ee"; } -.fa-google-wallet:before { - content: "\f1ee"; } +.fa-d-and-d-beyond { + --fa: "\f6ca"; } -.fa-d-and-d-beyond:before { - content: "\f6ca"; } +.fa-periscope { + --fa: "\f3da"; } -.fa-periscope:before { - content: "\f3da"; } +.fa-fulcrum { + --fa: "\f50b"; } -.fa-fulcrum:before { - content: "\f50b"; } +.fa-cloudscale { + --fa: "\f383"; } -.fa-cloudscale:before { - content: "\f383"; } +.fa-forumbee { + --fa: "\f211"; } -.fa-forumbee:before { - content: "\f211"; } +.fa-mizuni { + --fa: "\f3cc"; } -.fa-mizuni:before { - content: "\f3cc"; } +.fa-schlix { + --fa: "\f3ea"; } -.fa-schlix:before { - content: "\f3ea"; } +.fa-square-xing { + --fa: "\f169"; } -.fa-square-xing:before { - content: "\f169"; } +.fa-xing-square { + --fa: "\f169"; } -.fa-xing-square:before { - content: "\f169"; } +.fa-bandcamp { + --fa: "\f2d5"; } -.fa-bandcamp:before { - content: "\f2d5"; } +.fa-wpforms { + --fa: "\f298"; } -.fa-wpforms:before { - content: "\f298"; } +.fa-cloudversify { + --fa: "\f385"; } -.fa-cloudversify:before { - content: "\f385"; } +.fa-usps { + --fa: "\f7e1"; } -.fa-usps:before { - content: "\f7e1"; } +.fa-megaport { + --fa: "\f5a3"; } -.fa-megaport:before { - content: "\f5a3"; } +.fa-magento { + --fa: "\f3c4"; } -.fa-magento:before { - content: "\f3c4"; } +.fa-spotify { + --fa: "\f1bc"; } -.fa-spotify:before { - content: "\f1bc"; } +.fa-optin-monster { + --fa: "\f23c"; } -.fa-optin-monster:before { - content: "\f23c"; } +.fa-fly { + --fa: "\f417"; } -.fa-fly:before { - content: "\f417"; } +.fa-square-bluesky { + --fa: "\e6a3"; } -.fa-aviato:before { - content: "\f421"; } +.fa-aviato { + --fa: "\f421"; } -.fa-itunes:before { - content: "\f3b4"; } +.fa-itunes { + --fa: "\f3b4"; } -.fa-cuttlefish:before { - content: "\f38c"; } +.fa-cuttlefish { + --fa: "\f38c"; } -.fa-blogger:before { - content: "\f37c"; } +.fa-blogger { + --fa: "\f37c"; } -.fa-flickr:before { - content: "\f16e"; } +.fa-flickr { + --fa: "\f16e"; } -.fa-viber:before { - content: "\f409"; } +.fa-viber { + --fa: "\f409"; } -.fa-soundcloud:before { - content: "\f1be"; } +.fa-soundcloud { + --fa: "\f1be"; } -.fa-digg:before { - content: "\f1a6"; } +.fa-digg { + --fa: "\f1a6"; } -.fa-tencent-weibo:before { - content: "\f1d5"; } +.fa-tencent-weibo { + --fa: "\f1d5"; } -.fa-letterboxd:before { - content: "\e62d"; } +.fa-letterboxd { + --fa: "\e62d"; } -.fa-symfony:before { - content: "\f83d"; } +.fa-symfony { + --fa: "\f83d"; } -.fa-maxcdn:before { - content: "\f136"; } +.fa-maxcdn { + --fa: "\f136"; } -.fa-etsy:before { - content: "\f2d7"; } +.fa-etsy { + --fa: "\f2d7"; } -.fa-facebook-messenger:before { - content: "\f39f"; } +.fa-facebook-messenger { + --fa: "\f39f"; } -.fa-audible:before { - content: "\f373"; } +.fa-audible { + --fa: "\f373"; } -.fa-think-peaks:before { - content: "\f731"; } +.fa-think-peaks { + --fa: "\f731"; } -.fa-bilibili:before { - content: "\e3d9"; } +.fa-bilibili { + --fa: "\e3d9"; } -.fa-erlang:before { - content: "\f39d"; } +.fa-erlang { + --fa: "\f39d"; } -.fa-x-twitter:before { - content: "\e61b"; } +.fa-x-twitter { + --fa: "\e61b"; } -.fa-cotton-bureau:before { - content: "\f89e"; } +.fa-cotton-bureau { + --fa: "\f89e"; } -.fa-dashcube:before { - content: "\f210"; } +.fa-dashcube { + --fa: "\f210"; } -.fa-42-group:before { - content: "\e080"; } +.fa-42-group { + --fa: "\e080"; } -.fa-innosoft:before { - content: "\e080"; } +.fa-innosoft { + --fa: "\e080"; } -.fa-stack-exchange:before { - content: "\f18d"; } +.fa-stack-exchange { + --fa: "\f18d"; } -.fa-elementor:before { - content: "\f430"; } +.fa-elementor { + --fa: "\f430"; } -.fa-square-pied-piper:before { - content: "\e01e"; } +.fa-square-pied-piper { + --fa: "\e01e"; } -.fa-pied-piper-square:before { - content: "\e01e"; } +.fa-pied-piper-square { + --fa: "\e01e"; } -.fa-creative-commons-nd:before { - content: "\f4eb"; } +.fa-creative-commons-nd { + --fa: "\f4eb"; } -.fa-palfed:before { - content: "\f3d8"; } +.fa-palfed { + --fa: "\f3d8"; } -.fa-superpowers:before { - content: "\f2dd"; } +.fa-superpowers { + --fa: "\f2dd"; } -.fa-resolving:before { - content: "\f3e7"; } +.fa-resolving { + --fa: "\f3e7"; } -.fa-xbox:before { - content: "\f412"; } +.fa-xbox { + --fa: "\f412"; } -.fa-square-web-awesome-stroke:before { - content: "\e684"; } +.fa-square-web-awesome-stroke { + --fa: "\e684"; } -.fa-searchengin:before { - content: "\f3eb"; } +.fa-searchengin { + --fa: "\f3eb"; } -.fa-tiktok:before { - content: "\e07b"; } +.fa-tiktok { + --fa: "\e07b"; } -.fa-square-facebook:before { - content: "\f082"; } +.fa-square-facebook { + --fa: "\f082"; } -.fa-facebook-square:before { - content: "\f082"; } +.fa-facebook-square { + --fa: "\f082"; } -.fa-renren:before { - content: "\f18b"; } +.fa-renren { + --fa: "\f18b"; } -.fa-linux:before { - content: "\f17c"; } +.fa-linux { + --fa: "\f17c"; } -.fa-glide:before { - content: "\f2a5"; } +.fa-glide { + --fa: "\f2a5"; } -.fa-linkedin:before { - content: "\f08c"; } +.fa-linkedin { + --fa: "\f08c"; } -.fa-hubspot:before { - content: "\f3b2"; } +.fa-hubspot { + --fa: "\f3b2"; } -.fa-deploydog:before { - content: "\f38e"; } +.fa-deploydog { + --fa: "\f38e"; } -.fa-twitch:before { - content: "\f1e8"; } +.fa-twitch { + --fa: "\f1e8"; } -.fa-flutter:before { - content: "\e694"; } +.fa-flutter { + --fa: "\e694"; } -.fa-ravelry:before { - content: "\f2d9"; } +.fa-ravelry { + --fa: "\f2d9"; } -.fa-mixer:before { - content: "\e056"; } +.fa-mixer { + --fa: "\e056"; } -.fa-square-lastfm:before { - content: "\f203"; } +.fa-square-lastfm { + --fa: "\f203"; } -.fa-lastfm-square:before { - content: "\f203"; } +.fa-lastfm-square { + --fa: "\f203"; } -.fa-vimeo:before { - content: "\f40a"; } +.fa-vimeo { + --fa: "\f40a"; } -.fa-mendeley:before { - content: "\f7b3"; } +.fa-mendeley { + --fa: "\f7b3"; } -.fa-uniregistry:before { - content: "\f404"; } +.fa-uniregistry { + --fa: "\f404"; } -.fa-figma:before { - content: "\f799"; } +.fa-figma { + --fa: "\f799"; } -.fa-creative-commons-remix:before { - content: "\f4ee"; } +.fa-creative-commons-remix { + --fa: "\f4ee"; } -.fa-cc-amazon-pay:before { - content: "\f42d"; } +.fa-cc-amazon-pay { + --fa: "\f42d"; } -.fa-dropbox:before { - content: "\f16b"; } +.fa-dropbox { + --fa: "\f16b"; } -.fa-instagram:before { - content: "\f16d"; } +.fa-instagram { + --fa: "\f16d"; } -.fa-cmplid:before { - content: "\e360"; } +.fa-cmplid { + --fa: "\e360"; } -.fa-upwork:before { - content: "\e641"; } +.fa-upwork { + --fa: "\e641"; } -.fa-facebook:before { - content: "\f09a"; } +.fa-facebook { + --fa: "\f09a"; } -.fa-gripfire:before { - content: "\f3ac"; } +.fa-gripfire { + --fa: "\f3ac"; } -.fa-jedi-order:before { - content: "\f50e"; } +.fa-jedi-order { + --fa: "\f50e"; } -.fa-uikit:before { - content: "\f403"; } +.fa-uikit { + --fa: "\f403"; } -.fa-fort-awesome-alt:before { - content: "\f3a3"; } +.fa-fort-awesome-alt { + --fa: "\f3a3"; } -.fa-phabricator:before { - content: "\f3db"; } +.fa-phabricator { + --fa: "\f3db"; } -.fa-ussunnah:before { - content: "\f407"; } +.fa-ussunnah { + --fa: "\f407"; } -.fa-earlybirds:before { - content: "\f39a"; } +.fa-earlybirds { + --fa: "\f39a"; } -.fa-trade-federation:before { - content: "\f513"; } +.fa-trade-federation { + --fa: "\f513"; } -.fa-autoprefixer:before { - content: "\f41c"; } +.fa-autoprefixer { + --fa: "\f41c"; } -.fa-whatsapp:before { - content: "\f232"; } +.fa-whatsapp { + --fa: "\f232"; } -.fa-square-upwork:before { - content: "\e67c"; } +.fa-square-upwork { + --fa: "\e67c"; } -.fa-slideshare:before { - content: "\f1e7"; } +.fa-slideshare { + --fa: "\f1e7"; } -.fa-google-play:before { - content: "\f3ab"; } +.fa-google-play { + --fa: "\f3ab"; } -.fa-viadeo:before { - content: "\f2a9"; } +.fa-viadeo { + --fa: "\f2a9"; } -.fa-line:before { - content: "\f3c0"; } +.fa-line { + --fa: "\f3c0"; } -.fa-google-drive:before { - content: "\f3aa"; } +.fa-google-drive { + --fa: "\f3aa"; } -.fa-servicestack:before { - content: "\f3ec"; } +.fa-servicestack { + --fa: "\f3ec"; } -.fa-simplybuilt:before { - content: "\f215"; } +.fa-simplybuilt { + --fa: "\f215"; } -.fa-bitbucket:before { - content: "\f171"; } +.fa-bitbucket { + --fa: "\f171"; } -.fa-imdb:before { - content: "\f2d8"; } +.fa-imdb { + --fa: "\f2d8"; } -.fa-deezer:before { - content: "\e077"; } +.fa-deezer { + --fa: "\e077"; } -.fa-raspberry-pi:before { - content: "\f7bb"; } +.fa-raspberry-pi { + --fa: "\f7bb"; } -.fa-jira:before { - content: "\f7b1"; } +.fa-jira { + --fa: "\f7b1"; } -.fa-docker:before { - content: "\f395"; } +.fa-docker { + --fa: "\f395"; } -.fa-screenpal:before { - content: "\e570"; } +.fa-screenpal { + --fa: "\e570"; } -.fa-bluetooth:before { - content: "\f293"; } +.fa-bluetooth { + --fa: "\f293"; } -.fa-gitter:before { - content: "\f426"; } +.fa-gitter { + --fa: "\f426"; } -.fa-d-and-d:before { - content: "\f38d"; } +.fa-d-and-d { + --fa: "\f38d"; } -.fa-microblog:before { - content: "\e01a"; } +.fa-microblog { + --fa: "\e01a"; } -.fa-cc-diners-club:before { - content: "\f24c"; } +.fa-cc-diners-club { + --fa: "\f24c"; } -.fa-gg-circle:before { - content: "\f261"; } +.fa-gg-circle { + --fa: "\f261"; } -.fa-pied-piper-hat:before { - content: "\f4e5"; } +.fa-pied-piper-hat { + --fa: "\f4e5"; } -.fa-kickstarter-k:before { - content: "\f3bc"; } +.fa-kickstarter-k { + --fa: "\f3bc"; } -.fa-yandex:before { - content: "\f413"; } +.fa-yandex { + --fa: "\f413"; } -.fa-readme:before { - content: "\f4d5"; } +.fa-readme { + --fa: "\f4d5"; } -.fa-html5:before { - content: "\f13b"; } +.fa-html5 { + --fa: "\f13b"; } -.fa-sellsy:before { - content: "\f213"; } +.fa-sellsy { + --fa: "\f213"; } -.fa-square-web-awesome:before { - content: "\e683"; } +.fa-square-web-awesome { + --fa: "\e683"; } -.fa-sass:before { - content: "\f41e"; } +.fa-sass { + --fa: "\f41e"; } -.fa-wirsindhandwerk:before { - content: "\e2d0"; } +.fa-wirsindhandwerk { + --fa: "\e2d0"; } -.fa-wsh:before { - content: "\e2d0"; } +.fa-wsh { + --fa: "\e2d0"; } -.fa-buromobelexperte:before { - content: "\f37f"; } +.fa-buromobelexperte { + --fa: "\f37f"; } -.fa-salesforce:before { - content: "\f83b"; } +.fa-salesforce { + --fa: "\f83b"; } -.fa-octopus-deploy:before { - content: "\e082"; } +.fa-octopus-deploy { + --fa: "\e082"; } -.fa-medapps:before { - content: "\f3c6"; } +.fa-medapps { + --fa: "\f3c6"; } -.fa-ns8:before { - content: "\f3d5"; } +.fa-ns8 { + --fa: "\f3d5"; } -.fa-pinterest-p:before { - content: "\f231"; } +.fa-pinterest-p { + --fa: "\f231"; } -.fa-apper:before { - content: "\f371"; } +.fa-apper { + --fa: "\f371"; } -.fa-fort-awesome:before { - content: "\f286"; } +.fa-fort-awesome { + --fa: "\f286"; } -.fa-waze:before { - content: "\f83f"; } +.fa-waze { + --fa: "\f83f"; } -.fa-bluesky:before { - content: "\e671"; } +.fa-bluesky { + --fa: "\e671"; } -.fa-cc-jcb:before { - content: "\f24b"; } +.fa-cc-jcb { + --fa: "\f24b"; } -.fa-snapchat:before { - content: "\f2ab"; } +.fa-snapchat { + --fa: "\f2ab"; } -.fa-snapchat-ghost:before { - content: "\f2ab"; } +.fa-snapchat-ghost { + --fa: "\f2ab"; } -.fa-fantasy-flight-games:before { - content: "\f6dc"; } +.fa-fantasy-flight-games { + --fa: "\f6dc"; } -.fa-rust:before { - content: "\e07a"; } +.fa-rust { + --fa: "\e07a"; } -.fa-wix:before { - content: "\f5cf"; } +.fa-wix { + --fa: "\f5cf"; } -.fa-square-behance:before { - content: "\f1b5"; } +.fa-square-behance { + --fa: "\f1b5"; } -.fa-behance-square:before { - content: "\f1b5"; } +.fa-behance-square { + --fa: "\f1b5"; } -.fa-supple:before { - content: "\f3f9"; } +.fa-supple { + --fa: "\f3f9"; } -.fa-webflow:before { - content: "\e65c"; } +.fa-webflow { + --fa: "\e65c"; } -.fa-rebel:before { - content: "\f1d0"; } +.fa-rebel { + --fa: "\f1d0"; } -.fa-css3:before { - content: "\f13c"; } +.fa-css3 { + --fa: "\f13c"; } -.fa-staylinked:before { - content: "\f3f5"; } +.fa-staylinked { + --fa: "\f3f5"; } -.fa-kaggle:before { - content: "\f5fa"; } +.fa-kaggle { + --fa: "\f5fa"; } -.fa-space-awesome:before { - content: "\e5ac"; } +.fa-space-awesome { + --fa: "\e5ac"; } -.fa-deviantart:before { - content: "\f1bd"; } +.fa-deviantart { + --fa: "\f1bd"; } -.fa-cpanel:before { - content: "\f388"; } +.fa-cpanel { + --fa: "\f388"; } -.fa-goodreads-g:before { - content: "\f3a9"; } +.fa-goodreads-g { + --fa: "\f3a9"; } -.fa-square-git:before { - content: "\f1d2"; } +.fa-square-git { + --fa: "\f1d2"; } -.fa-git-square:before { - content: "\f1d2"; } +.fa-git-square { + --fa: "\f1d2"; } -.fa-square-tumblr:before { - content: "\f174"; } +.fa-square-tumblr { + --fa: "\f174"; } -.fa-tumblr-square:before { - content: "\f174"; } +.fa-tumblr-square { + --fa: "\f174"; } -.fa-trello:before { - content: "\f181"; } +.fa-trello { + --fa: "\f181"; } -.fa-creative-commons-nc-jp:before { - content: "\f4ea"; } +.fa-creative-commons-nc-jp { + --fa: "\f4ea"; } -.fa-get-pocket:before { - content: "\f265"; } +.fa-get-pocket { + --fa: "\f265"; } -.fa-perbyte:before { - content: "\e083"; } +.fa-perbyte { + --fa: "\e083"; } -.fa-grunt:before { - content: "\f3ad"; } +.fa-grunt { + --fa: "\f3ad"; } -.fa-weebly:before { - content: "\f5cc"; } +.fa-weebly { + --fa: "\f5cc"; } -.fa-connectdevelop:before { - content: "\f20e"; } +.fa-connectdevelop { + --fa: "\f20e"; } -.fa-leanpub:before { - content: "\f212"; } +.fa-leanpub { + --fa: "\f212"; } -.fa-black-tie:before { - content: "\f27e"; } +.fa-black-tie { + --fa: "\f27e"; } -.fa-themeco:before { - content: "\f5c6"; } +.fa-themeco { + --fa: "\f5c6"; } -.fa-python:before { - content: "\f3e2"; } +.fa-python { + --fa: "\f3e2"; } -.fa-android:before { - content: "\f17b"; } +.fa-android { + --fa: "\f17b"; } -.fa-bots:before { - content: "\e340"; } +.fa-bots { + --fa: "\e340"; } -.fa-free-code-camp:before { - content: "\f2c5"; } +.fa-free-code-camp { + --fa: "\f2c5"; } -.fa-hornbill:before { - content: "\f592"; } +.fa-hornbill { + --fa: "\f592"; } -.fa-js:before { - content: "\f3b8"; } +.fa-js { + --fa: "\f3b8"; } -.fa-ideal:before { - content: "\e013"; } +.fa-ideal { + --fa: "\e013"; } -.fa-git:before { - content: "\f1d3"; } +.fa-git { + --fa: "\f1d3"; } -.fa-dev:before { - content: "\f6cc"; } +.fa-dev { + --fa: "\f6cc"; } -.fa-sketch:before { - content: "\f7c6"; } +.fa-sketch { + --fa: "\f7c6"; } -.fa-yandex-international:before { - content: "\f414"; } +.fa-yandex-international { + --fa: "\f414"; } -.fa-cc-amex:before { - content: "\f1f3"; } +.fa-cc-amex { + --fa: "\f1f3"; } -.fa-uber:before { - content: "\f402"; } +.fa-uber { + --fa: "\f402"; } -.fa-github:before { - content: "\f09b"; } +.fa-github { + --fa: "\f09b"; } -.fa-php:before { - content: "\f457"; } +.fa-php { + --fa: "\f457"; } -.fa-alipay:before { - content: "\f642"; } +.fa-alipay { + --fa: "\f642"; } -.fa-youtube:before { - content: "\f167"; } +.fa-youtube { + --fa: "\f167"; } -.fa-skyatlas:before { - content: "\f216"; } +.fa-skyatlas { + --fa: "\f216"; } -.fa-firefox-browser:before { - content: "\e007"; } +.fa-firefox-browser { + --fa: "\e007"; } -.fa-replyd:before { - content: "\f3e6"; } +.fa-replyd { + --fa: "\f3e6"; } -.fa-suse:before { - content: "\f7d6"; } +.fa-suse { + --fa: "\f7d6"; } -.fa-jenkins:before { - content: "\f3b6"; } +.fa-jenkins { + --fa: "\f3b6"; } -.fa-twitter:before { - content: "\f099"; } +.fa-twitter { + --fa: "\f099"; } -.fa-rockrms:before { - content: "\f3e9"; } +.fa-rockrms { + --fa: "\f3e9"; } -.fa-pinterest:before { - content: "\f0d2"; } +.fa-pinterest { + --fa: "\f0d2"; } -.fa-buffer:before { - content: "\f837"; } +.fa-buffer { + --fa: "\f837"; } -.fa-npm:before { - content: "\f3d4"; } +.fa-npm { + --fa: "\f3d4"; } -.fa-yammer:before { - content: "\f840"; } +.fa-yammer { + --fa: "\f840"; } -.fa-btc:before { - content: "\f15a"; } +.fa-btc { + --fa: "\f15a"; } -.fa-dribbble:before { - content: "\f17d"; } +.fa-dribbble { + --fa: "\f17d"; } -.fa-stumbleupon-circle:before { - content: "\f1a3"; } +.fa-stumbleupon-circle { + --fa: "\f1a3"; } -.fa-internet-explorer:before { - content: "\f26b"; } +.fa-internet-explorer { + --fa: "\f26b"; } -.fa-stubber:before { - content: "\e5c7"; } +.fa-stubber { + --fa: "\e5c7"; } -.fa-telegram:before { - content: "\f2c6"; } +.fa-telegram { + --fa: "\f2c6"; } -.fa-telegram-plane:before { - content: "\f2c6"; } +.fa-telegram-plane { + --fa: "\f2c6"; } -.fa-old-republic:before { - content: "\f510"; } +.fa-old-republic { + --fa: "\f510"; } -.fa-odysee:before { - content: "\e5c6"; } +.fa-odysee { + --fa: "\e5c6"; } -.fa-square-whatsapp:before { - content: "\f40c"; } +.fa-square-whatsapp { + --fa: "\f40c"; } -.fa-whatsapp-square:before { - content: "\f40c"; } +.fa-whatsapp-square { + --fa: "\f40c"; } -.fa-node-js:before { - content: "\f3d3"; } +.fa-node-js { + --fa: "\f3d3"; } -.fa-edge-legacy:before { - content: "\e078"; } +.fa-edge-legacy { + --fa: "\e078"; } -.fa-slack:before { - content: "\f198"; } +.fa-slack { + --fa: "\f198"; } -.fa-slack-hash:before { - content: "\f198"; } +.fa-slack-hash { + --fa: "\f198"; } -.fa-medrt:before { - content: "\f3c8"; } +.fa-medrt { + --fa: "\f3c8"; } -.fa-usb:before { - content: "\f287"; } +.fa-usb { + --fa: "\f287"; } -.fa-tumblr:before { - content: "\f173"; } +.fa-tumblr { + --fa: "\f173"; } -.fa-vaadin:before { - content: "\f408"; } +.fa-vaadin { + --fa: "\f408"; } -.fa-quora:before { - content: "\f2c4"; } +.fa-quora { + --fa: "\f2c4"; } -.fa-square-x-twitter:before { - content: "\e61a"; } +.fa-square-x-twitter { + --fa: "\e61a"; } -.fa-reacteurope:before { - content: "\f75d"; } +.fa-reacteurope { + --fa: "\f75d"; } -.fa-medium:before { - content: "\f23a"; } +.fa-medium { + --fa: "\f23a"; } -.fa-medium-m:before { - content: "\f23a"; } +.fa-medium-m { + --fa: "\f23a"; } -.fa-amilia:before { - content: "\f36d"; } +.fa-amilia { + --fa: "\f36d"; } -.fa-mixcloud:before { - content: "\f289"; } +.fa-mixcloud { + --fa: "\f289"; } -.fa-flipboard:before { - content: "\f44d"; } +.fa-flipboard { + --fa: "\f44d"; } -.fa-viacoin:before { - content: "\f237"; } +.fa-viacoin { + --fa: "\f237"; } -.fa-critical-role:before { - content: "\f6c9"; } +.fa-critical-role { + --fa: "\f6c9"; } -.fa-sitrox:before { - content: "\e44a"; } +.fa-sitrox { + --fa: "\e44a"; } -.fa-discourse:before { - content: "\f393"; } +.fa-discourse { + --fa: "\f393"; } -.fa-joomla:before { - content: "\f1aa"; } +.fa-joomla { + --fa: "\f1aa"; } -.fa-mastodon:before { - content: "\f4f6"; } +.fa-mastodon { + --fa: "\f4f6"; } -.fa-airbnb:before { - content: "\f834"; } +.fa-airbnb { + --fa: "\f834"; } -.fa-wolf-pack-battalion:before { - content: "\f514"; } +.fa-wolf-pack-battalion { + --fa: "\f514"; } -.fa-buy-n-large:before { - content: "\f8a6"; } +.fa-buy-n-large { + --fa: "\f8a6"; } -.fa-gulp:before { - content: "\f3ae"; } +.fa-gulp { + --fa: "\f3ae"; } -.fa-creative-commons-sampling-plus:before { - content: "\f4f1"; } +.fa-creative-commons-sampling-plus { + --fa: "\f4f1"; } -.fa-strava:before { - content: "\f428"; } +.fa-strava { + --fa: "\f428"; } -.fa-ember:before { - content: "\f423"; } +.fa-ember { + --fa: "\f423"; } -.fa-canadian-maple-leaf:before { - content: "\f785"; } +.fa-canadian-maple-leaf { + --fa: "\f785"; } -.fa-teamspeak:before { - content: "\f4f9"; } +.fa-teamspeak { + --fa: "\f4f9"; } -.fa-pushed:before { - content: "\f3e1"; } +.fa-pushed { + --fa: "\f3e1"; } -.fa-wordpress-simple:before { - content: "\f411"; } +.fa-wordpress-simple { + --fa: "\f411"; } -.fa-nutritionix:before { - content: "\f3d6"; } +.fa-nutritionix { + --fa: "\f3d6"; } -.fa-wodu:before { - content: "\e088"; } +.fa-wodu { + --fa: "\e088"; } -.fa-google-pay:before { - content: "\e079"; } +.fa-google-pay { + --fa: "\e079"; } -.fa-intercom:before { - content: "\f7af"; } +.fa-intercom { + --fa: "\f7af"; } -.fa-zhihu:before { - content: "\f63f"; } +.fa-zhihu { + --fa: "\f63f"; } -.fa-korvue:before { - content: "\f42f"; } +.fa-korvue { + --fa: "\f42f"; } -.fa-pix:before { - content: "\e43a"; } +.fa-pix { + --fa: "\e43a"; } -.fa-steam-symbol:before { - content: "\f3f6"; } +.fa-steam-symbol { + --fa: "\f3f6"; } :root, :host { --fa-style-family-classic: 'Font Awesome 6 Free'; --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; } diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css index 239be56..f6546f5 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css +++ b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css @@ -1,174 +1,174 @@ /*! - * Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com + * Font Awesome Free 6.7.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) * Copyright 2024 Fonticons, Inc. */ -.fa.fa-glass:before { - content: "\f000"; } +.fa.fa-glass { + --fa: "\f000"; } .fa.fa-envelope-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-envelope-o:before { - content: "\f0e0"; } +.fa.fa-envelope-o { + --fa: "\f0e0"; } .fa.fa-star-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-star-o:before { - content: "\f005"; } +.fa.fa-star-o { + --fa: "\f005"; } -.fa.fa-remove:before { - content: "\f00d"; } +.fa.fa-remove { + --fa: "\f00d"; } -.fa.fa-close:before { - content: "\f00d"; } +.fa.fa-close { + --fa: "\f00d"; } -.fa.fa-gear:before { - content: "\f013"; } +.fa.fa-gear { + --fa: "\f013"; } .fa.fa-trash-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-trash-o:before { - content: "\f2ed"; } +.fa.fa-trash-o { + --fa: "\f2ed"; } -.fa.fa-home:before { - content: "\f015"; } +.fa.fa-home { + --fa: "\f015"; } .fa.fa-file-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-o:before { - content: "\f15b"; } +.fa.fa-file-o { + --fa: "\f15b"; } .fa.fa-clock-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-clock-o:before { - content: "\f017"; } +.fa.fa-clock-o { + --fa: "\f017"; } .fa.fa-arrow-circle-o-down { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-arrow-circle-o-down:before { - content: "\f358"; } +.fa.fa-arrow-circle-o-down { + --fa: "\f358"; } .fa.fa-arrow-circle-o-up { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-arrow-circle-o-up:before { - content: "\f35b"; } +.fa.fa-arrow-circle-o-up { + --fa: "\f35b"; } .fa.fa-play-circle-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-play-circle-o:before { - content: "\f144"; } +.fa.fa-play-circle-o { + --fa: "\f144"; } -.fa.fa-repeat:before { - content: "\f01e"; } +.fa.fa-repeat { + --fa: "\f01e"; } -.fa.fa-rotate-right:before { - content: "\f01e"; } +.fa.fa-rotate-right { + --fa: "\f01e"; } -.fa.fa-refresh:before { - content: "\f021"; } +.fa.fa-refresh { + --fa: "\f021"; } .fa.fa-list-alt { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-list-alt:before { - content: "\f022"; } +.fa.fa-list-alt { + --fa: "\f022"; } -.fa.fa-dedent:before { - content: "\f03b"; } +.fa.fa-dedent { + --fa: "\f03b"; } -.fa.fa-video-camera:before { - content: "\f03d"; } +.fa.fa-video-camera { + --fa: "\f03d"; } .fa.fa-picture-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-picture-o:before { - content: "\f03e"; } +.fa.fa-picture-o { + --fa: "\f03e"; } .fa.fa-photo { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-photo:before { - content: "\f03e"; } +.fa.fa-photo { + --fa: "\f03e"; } .fa.fa-image { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-image:before { - content: "\f03e"; } +.fa.fa-image { + --fa: "\f03e"; } -.fa.fa-map-marker:before { - content: "\f3c5"; } +.fa.fa-map-marker { + --fa: "\f3c5"; } .fa.fa-pencil-square-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-pencil-square-o:before { - content: "\f044"; } +.fa.fa-pencil-square-o { + --fa: "\f044"; } .fa.fa-edit { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-edit:before { - content: "\f044"; } +.fa.fa-edit { + --fa: "\f044"; } -.fa.fa-share-square-o:before { - content: "\f14d"; } +.fa.fa-share-square-o { + --fa: "\f14d"; } .fa.fa-check-square-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-check-square-o:before { - content: "\f14a"; } +.fa.fa-check-square-o { + --fa: "\f14a"; } -.fa.fa-arrows:before { - content: "\f0b2"; } +.fa.fa-arrows { + --fa: "\f0b2"; } .fa.fa-times-circle-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-times-circle-o:before { - content: "\f057"; } +.fa.fa-times-circle-o { + --fa: "\f057"; } .fa.fa-check-circle-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-check-circle-o:before { - content: "\f058"; } +.fa.fa-check-circle-o { + --fa: "\f058"; } -.fa.fa-mail-forward:before { - content: "\f064"; } +.fa.fa-mail-forward { + --fa: "\f064"; } -.fa.fa-expand:before { - content: "\f424"; } +.fa.fa-expand { + --fa: "\f424"; } -.fa.fa-compress:before { - content: "\f422"; } +.fa.fa-compress { + --fa: "\f422"; } .fa.fa-eye { font-family: 'Font Awesome 6 Free'; @@ -178,108 +178,108 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-warning:before { - content: "\f071"; } +.fa.fa-warning { + --fa: "\f071"; } -.fa.fa-calendar:before { - content: "\f073"; } +.fa.fa-calendar { + --fa: "\f073"; } -.fa.fa-arrows-v:before { - content: "\f338"; } +.fa.fa-arrows-v { + --fa: "\f338"; } -.fa.fa-arrows-h:before { - content: "\f337"; } +.fa.fa-arrows-h { + --fa: "\f337"; } -.fa.fa-bar-chart:before { - content: "\e0e3"; } +.fa.fa-bar-chart { + --fa: "\e0e3"; } -.fa.fa-bar-chart-o:before { - content: "\e0e3"; } +.fa.fa-bar-chart-o { + --fa: "\e0e3"; } .fa.fa-twitter-square { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-twitter-square:before { - content: "\f081"; } +.fa.fa-twitter-square { + --fa: "\f081"; } .fa.fa-facebook-square { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-facebook-square:before { - content: "\f082"; } +.fa.fa-facebook-square { + --fa: "\f082"; } -.fa.fa-gears:before { - content: "\f085"; } +.fa.fa-gears { + --fa: "\f085"; } .fa.fa-thumbs-o-up { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-thumbs-o-up:before { - content: "\f164"; } +.fa.fa-thumbs-o-up { + --fa: "\f164"; } .fa.fa-thumbs-o-down { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-thumbs-o-down:before { - content: "\f165"; } +.fa.fa-thumbs-o-down { + --fa: "\f165"; } .fa.fa-heart-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-heart-o:before { - content: "\f004"; } +.fa.fa-heart-o { + --fa: "\f004"; } -.fa.fa-sign-out:before { - content: "\f2f5"; } +.fa.fa-sign-out { + --fa: "\f2f5"; } .fa.fa-linkedin-square { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-linkedin-square:before { - content: "\f08c"; } +.fa.fa-linkedin-square { + --fa: "\f08c"; } -.fa.fa-thumb-tack:before { - content: "\f08d"; } +.fa.fa-thumb-tack { + --fa: "\f08d"; } -.fa.fa-external-link:before { - content: "\f35d"; } +.fa.fa-external-link { + --fa: "\f35d"; } -.fa.fa-sign-in:before { - content: "\f2f6"; } +.fa.fa-sign-in { + --fa: "\f2f6"; } .fa.fa-github-square { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-github-square:before { - content: "\f092"; } +.fa.fa-github-square { + --fa: "\f092"; } .fa.fa-lemon-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-lemon-o:before { - content: "\f094"; } +.fa.fa-lemon-o { + --fa: "\f094"; } .fa.fa-square-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-square-o:before { - content: "\f0c8"; } +.fa.fa-square-o { + --fa: "\f0c8"; } .fa.fa-bookmark-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-bookmark-o:before { - content: "\f02e"; } +.fa.fa-bookmark-o { + --fa: "\f02e"; } .fa.fa-twitter { font-family: 'Font Awesome 6 Brands'; @@ -289,15 +289,15 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-facebook:before { - content: "\f39e"; } +.fa.fa-facebook { + --fa: "\f39e"; } .fa.fa-facebook-f { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-facebook-f:before { - content: "\f39e"; } +.fa.fa-facebook-f { + --fa: "\f39e"; } .fa.fa-github { font-family: 'Font Awesome 6 Brands'; @@ -307,91 +307,91 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-feed:before { - content: "\f09e"; } +.fa.fa-feed { + --fa: "\f09e"; } .fa.fa-hdd-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hdd-o:before { - content: "\f0a0"; } +.fa.fa-hdd-o { + --fa: "\f0a0"; } .fa.fa-hand-o-right { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-o-right:before { - content: "\f0a4"; } +.fa.fa-hand-o-right { + --fa: "\f0a4"; } .fa.fa-hand-o-left { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-o-left:before { - content: "\f0a5"; } +.fa.fa-hand-o-left { + --fa: "\f0a5"; } .fa.fa-hand-o-up { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-o-up:before { - content: "\f0a6"; } +.fa.fa-hand-o-up { + --fa: "\f0a6"; } .fa.fa-hand-o-down { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-o-down:before { - content: "\f0a7"; } +.fa.fa-hand-o-down { + --fa: "\f0a7"; } -.fa.fa-globe:before { - content: "\f57d"; } +.fa.fa-globe { + --fa: "\f57d"; } -.fa.fa-tasks:before { - content: "\f828"; } +.fa.fa-tasks { + --fa: "\f828"; } -.fa.fa-arrows-alt:before { - content: "\f31e"; } +.fa.fa-arrows-alt { + --fa: "\f31e"; } -.fa.fa-group:before { - content: "\f0c0"; } +.fa.fa-group { + --fa: "\f0c0"; } -.fa.fa-chain:before { - content: "\f0c1"; } +.fa.fa-chain { + --fa: "\f0c1"; } -.fa.fa-cut:before { - content: "\f0c4"; } +.fa.fa-cut { + --fa: "\f0c4"; } .fa.fa-files-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-files-o:before { - content: "\f0c5"; } +.fa.fa-files-o { + --fa: "\f0c5"; } .fa.fa-floppy-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-floppy-o:before { - content: "\f0c7"; } +.fa.fa-floppy-o { + --fa: "\f0c7"; } .fa.fa-save { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-save:before { - content: "\f0c7"; } +.fa.fa-save { + --fa: "\f0c7"; } -.fa.fa-navicon:before { - content: "\f0c9"; } +.fa.fa-navicon { + --fa: "\f0c9"; } -.fa.fa-reorder:before { - content: "\f0c9"; } +.fa.fa-reorder { + --fa: "\f0c9"; } -.fa.fa-magic:before { - content: "\e2ca"; } +.fa.fa-magic { + --fa: "\e2ca"; } .fa.fa-pinterest { font-family: 'Font Awesome 6 Brands'; @@ -401,139 +401,139 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-pinterest-square:before { - content: "\f0d3"; } +.fa.fa-pinterest-square { + --fa: "\f0d3"; } .fa.fa-google-plus-square { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-google-plus-square:before { - content: "\f0d4"; } +.fa.fa-google-plus-square { + --fa: "\f0d4"; } .fa.fa-google-plus { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-google-plus:before { - content: "\f0d5"; } +.fa.fa-google-plus { + --fa: "\f0d5"; } -.fa.fa-money:before { - content: "\f3d1"; } +.fa.fa-money { + --fa: "\f3d1"; } -.fa.fa-unsorted:before { - content: "\f0dc"; } +.fa.fa-unsorted { + --fa: "\f0dc"; } -.fa.fa-sort-desc:before { - content: "\f0dd"; } +.fa.fa-sort-desc { + --fa: "\f0dd"; } -.fa.fa-sort-asc:before { - content: "\f0de"; } +.fa.fa-sort-asc { + --fa: "\f0de"; } .fa.fa-linkedin { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-linkedin:before { - content: "\f0e1"; } +.fa.fa-linkedin { + --fa: "\f0e1"; } -.fa.fa-rotate-left:before { - content: "\f0e2"; } +.fa.fa-rotate-left { + --fa: "\f0e2"; } -.fa.fa-legal:before { - content: "\f0e3"; } +.fa.fa-legal { + --fa: "\f0e3"; } -.fa.fa-tachometer:before { - content: "\f625"; } +.fa.fa-tachometer { + --fa: "\f625"; } -.fa.fa-dashboard:before { - content: "\f625"; } +.fa.fa-dashboard { + --fa: "\f625"; } .fa.fa-comment-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-comment-o:before { - content: "\f075"; } +.fa.fa-comment-o { + --fa: "\f075"; } .fa.fa-comments-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-comments-o:before { - content: "\f086"; } +.fa.fa-comments-o { + --fa: "\f086"; } -.fa.fa-flash:before { - content: "\f0e7"; } +.fa.fa-flash { + --fa: "\f0e7"; } -.fa.fa-clipboard:before { - content: "\f0ea"; } +.fa.fa-clipboard { + --fa: "\f0ea"; } .fa.fa-lightbulb-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-lightbulb-o:before { - content: "\f0eb"; } +.fa.fa-lightbulb-o { + --fa: "\f0eb"; } -.fa.fa-exchange:before { - content: "\f362"; } +.fa.fa-exchange { + --fa: "\f362"; } -.fa.fa-cloud-download:before { - content: "\f0ed"; } +.fa.fa-cloud-download { + --fa: "\f0ed"; } -.fa.fa-cloud-upload:before { - content: "\f0ee"; } +.fa.fa-cloud-upload { + --fa: "\f0ee"; } .fa.fa-bell-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-bell-o:before { - content: "\f0f3"; } +.fa.fa-bell-o { + --fa: "\f0f3"; } -.fa.fa-cutlery:before { - content: "\f2e7"; } +.fa.fa-cutlery { + --fa: "\f2e7"; } .fa.fa-file-text-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-text-o:before { - content: "\f15c"; } +.fa.fa-file-text-o { + --fa: "\f15c"; } .fa.fa-building-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-building-o:before { - content: "\f1ad"; } +.fa.fa-building-o { + --fa: "\f1ad"; } .fa.fa-hospital-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hospital-o:before { - content: "\f0f8"; } +.fa.fa-hospital-o { + --fa: "\f0f8"; } -.fa.fa-tablet:before { - content: "\f3fa"; } +.fa.fa-tablet { + --fa: "\f3fa"; } -.fa.fa-mobile:before { - content: "\f3cd"; } +.fa.fa-mobile { + --fa: "\f3cd"; } -.fa.fa-mobile-phone:before { - content: "\f3cd"; } +.fa.fa-mobile-phone { + --fa: "\f3cd"; } .fa.fa-circle-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-circle-o:before { - content: "\f111"; } +.fa.fa-circle-o { + --fa: "\f111"; } -.fa.fa-mail-reply:before { - content: "\f3e5"; } +.fa.fa-mail-reply { + --fa: "\f3e5"; } .fa.fa-github-alt { font-family: 'Font Awesome 6 Brands'; @@ -543,90 +543,90 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-folder-o:before { - content: "\f07b"; } +.fa.fa-folder-o { + --fa: "\f07b"; } .fa.fa-folder-open-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-folder-open-o:before { - content: "\f07c"; } +.fa.fa-folder-open-o { + --fa: "\f07c"; } .fa.fa-smile-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-smile-o:before { - content: "\f118"; } +.fa.fa-smile-o { + --fa: "\f118"; } .fa.fa-frown-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-frown-o:before { - content: "\f119"; } +.fa.fa-frown-o { + --fa: "\f119"; } .fa.fa-meh-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-meh-o:before { - content: "\f11a"; } +.fa.fa-meh-o { + --fa: "\f11a"; } .fa.fa-keyboard-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-keyboard-o:before { - content: "\f11c"; } +.fa.fa-keyboard-o { + --fa: "\f11c"; } .fa.fa-flag-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-flag-o:before { - content: "\f024"; } +.fa.fa-flag-o { + --fa: "\f024"; } -.fa.fa-mail-reply-all:before { - content: "\f122"; } +.fa.fa-mail-reply-all { + --fa: "\f122"; } .fa.fa-star-half-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-star-half-o:before { - content: "\f5c0"; } +.fa.fa-star-half-o { + --fa: "\f5c0"; } .fa.fa-star-half-empty { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-star-half-empty:before { - content: "\f5c0"; } +.fa.fa-star-half-empty { + --fa: "\f5c0"; } .fa.fa-star-half-full { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-star-half-full:before { - content: "\f5c0"; } +.fa.fa-star-half-full { + --fa: "\f5c0"; } -.fa.fa-code-fork:before { - content: "\f126"; } +.fa.fa-code-fork { + --fa: "\f126"; } -.fa.fa-chain-broken:before { - content: "\f127"; } +.fa.fa-chain-broken { + --fa: "\f127"; } -.fa.fa-unlink:before { - content: "\f127"; } +.fa.fa-unlink { + --fa: "\f127"; } .fa.fa-calendar-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-calendar-o:before { - content: "\f133"; } +.fa.fa-calendar-o { + --fa: "\f133"; } .fa.fa-maxcdn { font-family: 'Font Awesome 6 Brands'; @@ -640,27 +640,27 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-unlock-alt:before { - content: "\f09c"; } +.fa.fa-unlock-alt { + --fa: "\f09c"; } .fa.fa-minus-square-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-minus-square-o:before { - content: "\f146"; } +.fa.fa-minus-square-o { + --fa: "\f146"; } -.fa.fa-level-up:before { - content: "\f3bf"; } +.fa.fa-level-up { + --fa: "\f3bf"; } -.fa.fa-level-down:before { - content: "\f3be"; } +.fa.fa-level-down { + --fa: "\f3be"; } -.fa.fa-pencil-square:before { - content: "\f14b"; } +.fa.fa-pencil-square { + --fa: "\f14b"; } -.fa.fa-external-link-square:before { - content: "\f360"; } +.fa.fa-external-link-square { + --fa: "\f360"; } .fa.fa-compass { font-family: 'Font Awesome 6 Free'; @@ -670,91 +670,91 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-caret-square-o-down:before { - content: "\f150"; } +.fa.fa-caret-square-o-down { + --fa: "\f150"; } .fa.fa-toggle-down { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-toggle-down:before { - content: "\f150"; } +.fa.fa-toggle-down { + --fa: "\f150"; } .fa.fa-caret-square-o-up { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-caret-square-o-up:before { - content: "\f151"; } +.fa.fa-caret-square-o-up { + --fa: "\f151"; } .fa.fa-toggle-up { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-toggle-up:before { - content: "\f151"; } +.fa.fa-toggle-up { + --fa: "\f151"; } .fa.fa-caret-square-o-right { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-caret-square-o-right:before { - content: "\f152"; } +.fa.fa-caret-square-o-right { + --fa: "\f152"; } .fa.fa-toggle-right { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-toggle-right:before { - content: "\f152"; } +.fa.fa-toggle-right { + --fa: "\f152"; } -.fa.fa-eur:before { - content: "\f153"; } +.fa.fa-eur { + --fa: "\f153"; } -.fa.fa-euro:before { - content: "\f153"; } +.fa.fa-euro { + --fa: "\f153"; } -.fa.fa-gbp:before { - content: "\f154"; } +.fa.fa-gbp { + --fa: "\f154"; } -.fa.fa-usd:before { - content: "\24"; } +.fa.fa-usd { + --fa: "\24"; } -.fa.fa-dollar:before { - content: "\24"; } +.fa.fa-dollar { + --fa: "\24"; } -.fa.fa-inr:before { - content: "\e1bc"; } +.fa.fa-inr { + --fa: "\e1bc"; } -.fa.fa-rupee:before { - content: "\e1bc"; } +.fa.fa-rupee { + --fa: "\e1bc"; } -.fa.fa-jpy:before { - content: "\f157"; } +.fa.fa-jpy { + --fa: "\f157"; } -.fa.fa-cny:before { - content: "\f157"; } +.fa.fa-cny { + --fa: "\f157"; } -.fa.fa-rmb:before { - content: "\f157"; } +.fa.fa-rmb { + --fa: "\f157"; } -.fa.fa-yen:before { - content: "\f157"; } +.fa.fa-yen { + --fa: "\f157"; } -.fa.fa-rub:before { - content: "\f158"; } +.fa.fa-rub { + --fa: "\f158"; } -.fa.fa-ruble:before { - content: "\f158"; } +.fa.fa-ruble { + --fa: "\f158"; } -.fa.fa-rouble:before { - content: "\f158"; } +.fa.fa-rouble { + --fa: "\f158"; } -.fa.fa-krw:before { - content: "\f159"; } +.fa.fa-krw { + --fa: "\f159"; } -.fa.fa-won:before { - content: "\f159"; } +.fa.fa-won { + --fa: "\f159"; } .fa.fa-btc { font-family: 'Font Awesome 6 Brands'; @@ -764,36 +764,36 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-bitcoin:before { - content: "\f15a"; } +.fa.fa-bitcoin { + --fa: "\f15a"; } -.fa.fa-file-text:before { - content: "\f15c"; } +.fa.fa-file-text { + --fa: "\f15c"; } -.fa.fa-sort-alpha-asc:before { - content: "\f15d"; } +.fa.fa-sort-alpha-asc { + --fa: "\f15d"; } -.fa.fa-sort-alpha-desc:before { - content: "\f881"; } +.fa.fa-sort-alpha-desc { + --fa: "\f881"; } -.fa.fa-sort-amount-asc:before { - content: "\f884"; } +.fa.fa-sort-amount-asc { + --fa: "\f884"; } -.fa.fa-sort-amount-desc:before { - content: "\f160"; } +.fa.fa-sort-amount-desc { + --fa: "\f160"; } -.fa.fa-sort-numeric-asc:before { - content: "\f162"; } +.fa.fa-sort-numeric-asc { + --fa: "\f162"; } -.fa.fa-sort-numeric-desc:before { - content: "\f886"; } +.fa.fa-sort-numeric-desc { + --fa: "\f886"; } .fa.fa-youtube-square { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-youtube-square:before { - content: "\f431"; } +.fa.fa-youtube-square { + --fa: "\f431"; } .fa.fa-youtube { font-family: 'Font Awesome 6 Brands'; @@ -807,15 +807,15 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-xing-square:before { - content: "\f169"; } +.fa.fa-xing-square { + --fa: "\f169"; } .fa.fa-youtube-play { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-youtube-play:before { - content: "\f167"; } +.fa.fa-youtube-play { + --fa: "\f167"; } .fa.fa-dropbox { font-family: 'Font Awesome 6 Brands'; @@ -845,8 +845,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-bitbucket-square:before { - content: "\f171"; } +.fa.fa-bitbucket-square { + --fa: "\f171"; } .fa.fa-tumblr { font-family: 'Font Awesome 6 Brands'; @@ -856,20 +856,20 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-tumblr-square:before { - content: "\f174"; } +.fa.fa-tumblr-square { + --fa: "\f174"; } -.fa.fa-long-arrow-down:before { - content: "\f309"; } +.fa.fa-long-arrow-down { + --fa: "\f309"; } -.fa.fa-long-arrow-up:before { - content: "\f30c"; } +.fa.fa-long-arrow-up { + --fa: "\f30c"; } -.fa.fa-long-arrow-left:before { - content: "\f30a"; } +.fa.fa-long-arrow-left { + --fa: "\f30a"; } -.fa.fa-long-arrow-right:before { - content: "\f30b"; } +.fa.fa-long-arrow-right { + --fa: "\f30b"; } .fa.fa-apple { font-family: 'Font Awesome 6 Brands'; @@ -911,22 +911,22 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-gittip:before { - content: "\f184"; } +.fa.fa-gittip { + --fa: "\f184"; } .fa.fa-sun-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-sun-o:before { - content: "\f185"; } +.fa.fa-sun-o { + --fa: "\f185"; } .fa.fa-moon-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-moon-o:before { - content: "\f186"; } +.fa.fa-moon-o { + --fa: "\f186"; } .fa.fa-vk { font-family: 'Font Awesome 6 Brands'; @@ -952,56 +952,56 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-arrow-circle-o-right:before { - content: "\f35a"; } +.fa.fa-arrow-circle-o-right { + --fa: "\f35a"; } .fa.fa-arrow-circle-o-left { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-arrow-circle-o-left:before { - content: "\f359"; } +.fa.fa-arrow-circle-o-left { + --fa: "\f359"; } .fa.fa-caret-square-o-left { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-caret-square-o-left:before { - content: "\f191"; } +.fa.fa-caret-square-o-left { + --fa: "\f191"; } .fa.fa-toggle-left { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-toggle-left:before { - content: "\f191"; } +.fa.fa-toggle-left { + --fa: "\f191"; } .fa.fa-dot-circle-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-dot-circle-o:before { - content: "\f192"; } +.fa.fa-dot-circle-o { + --fa: "\f192"; } .fa.fa-vimeo-square { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-vimeo-square:before { - content: "\f194"; } +.fa.fa-vimeo-square { + --fa: "\f194"; } -.fa.fa-try:before { - content: "\e2bb"; } +.fa.fa-try { + --fa: "\e2bb"; } -.fa.fa-turkish-lira:before { - content: "\e2bb"; } +.fa.fa-turkish-lira { + --fa: "\e2bb"; } .fa.fa-plus-square-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-plus-square-o:before { - content: "\f0fe"; } +.fa.fa-plus-square-o { + --fa: "\f0fe"; } .fa.fa-slack { font-family: 'Font Awesome 6 Brands'; @@ -1015,14 +1015,14 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-institution:before { - content: "\f19c"; } +.fa.fa-institution { + --fa: "\f19c"; } -.fa.fa-bank:before { - content: "\f19c"; } +.fa.fa-bank { + --fa: "\f19c"; } -.fa.fa-mortar-board:before { - content: "\f19d"; } +.fa.fa-mortar-board { + --fa: "\f19d"; } .fa.fa-yahoo { font-family: 'Font Awesome 6 Brands'; @@ -1040,8 +1040,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-reddit-square:before { - content: "\f1a2"; } +.fa.fa-reddit-square { + --fa: "\f1a2"; } .fa.fa-stumbleupon-circle { font-family: 'Font Awesome 6 Brands'; @@ -1083,8 +1083,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-behance-square:before { - content: "\f1b5"; } +.fa.fa-behance-square { + --fa: "\f1b5"; } .fa.fa-steam { font-family: 'Font Awesome 6 Brands'; @@ -1094,14 +1094,14 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-steam-square:before { - content: "\f1b7"; } +.fa.fa-steam-square { + --fa: "\f1b7"; } -.fa.fa-automobile:before { - content: "\f1b9"; } +.fa.fa-automobile { + --fa: "\f1b9"; } -.fa.fa-cab:before { - content: "\f1ba"; } +.fa.fa-cab { + --fa: "\f1ba"; } .fa.fa-spotify { font-family: 'Font Awesome 6 Brands'; @@ -1119,99 +1119,99 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-pdf-o:before { - content: "\f1c1"; } +.fa.fa-file-pdf-o { + --fa: "\f1c1"; } .fa.fa-file-word-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-word-o:before { - content: "\f1c2"; } +.fa.fa-file-word-o { + --fa: "\f1c2"; } .fa.fa-file-excel-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-excel-o:before { - content: "\f1c3"; } +.fa.fa-file-excel-o { + --fa: "\f1c3"; } .fa.fa-file-powerpoint-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-powerpoint-o:before { - content: "\f1c4"; } +.fa.fa-file-powerpoint-o { + --fa: "\f1c4"; } .fa.fa-file-image-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-image-o:before { - content: "\f1c5"; } +.fa.fa-file-image-o { + --fa: "\f1c5"; } .fa.fa-file-photo-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-photo-o:before { - content: "\f1c5"; } +.fa.fa-file-photo-o { + --fa: "\f1c5"; } .fa.fa-file-picture-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-picture-o:before { - content: "\f1c5"; } +.fa.fa-file-picture-o { + --fa: "\f1c5"; } .fa.fa-file-archive-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-archive-o:before { - content: "\f1c6"; } +.fa.fa-file-archive-o { + --fa: "\f1c6"; } .fa.fa-file-zip-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-zip-o:before { - content: "\f1c6"; } +.fa.fa-file-zip-o { + --fa: "\f1c6"; } .fa.fa-file-audio-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-audio-o:before { - content: "\f1c7"; } +.fa.fa-file-audio-o { + --fa: "\f1c7"; } .fa.fa-file-sound-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-sound-o:before { - content: "\f1c7"; } +.fa.fa-file-sound-o { + --fa: "\f1c7"; } .fa.fa-file-video-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-video-o:before { - content: "\f1c8"; } +.fa.fa-file-video-o { + --fa: "\f1c8"; } .fa.fa-file-movie-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-movie-o:before { - content: "\f1c8"; } +.fa.fa-file-movie-o { + --fa: "\f1c8"; } .fa.fa-file-code-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-file-code-o:before { - content: "\f1c9"; } +.fa.fa-file-code-o { + --fa: "\f1c9"; } .fa.fa-vine { font-family: 'Font Awesome 6 Brands'; @@ -1225,20 +1225,20 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-life-bouy:before { - content: "\f1cd"; } +.fa.fa-life-bouy { + --fa: "\f1cd"; } -.fa.fa-life-buoy:before { - content: "\f1cd"; } +.fa.fa-life-buoy { + --fa: "\f1cd"; } -.fa.fa-life-saver:before { - content: "\f1cd"; } +.fa.fa-life-saver { + --fa: "\f1cd"; } -.fa.fa-support:before { - content: "\f1cd"; } +.fa.fa-support { + --fa: "\f1cd"; } -.fa.fa-circle-o-notch:before { - content: "\f1ce"; } +.fa.fa-circle-o-notch { + --fa: "\f1ce"; } .fa.fa-rebel { font-family: 'Font Awesome 6 Brands'; @@ -1248,15 +1248,15 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-ra:before { - content: "\f1d0"; } +.fa.fa-ra { + --fa: "\f1d0"; } .fa.fa-resistance { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-resistance:before { - content: "\f1d0"; } +.fa.fa-resistance { + --fa: "\f1d0"; } .fa.fa-empire { font-family: 'Font Awesome 6 Brands'; @@ -1266,15 +1266,15 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-ge:before { - content: "\f1d1"; } +.fa.fa-ge { + --fa: "\f1d1"; } .fa.fa-git-square { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-git-square:before { - content: "\f1d2"; } +.fa.fa-git-square { + --fa: "\f1d2"; } .fa.fa-git { font-family: 'Font Awesome 6 Brands'; @@ -1288,15 +1288,15 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-y-combinator-square:before { - content: "\f1d4"; } +.fa.fa-y-combinator-square { + --fa: "\f1d4"; } .fa.fa-yc-square { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-yc-square:before { - content: "\f1d4"; } +.fa.fa-yc-square { + --fa: "\f1d4"; } .fa.fa-tencent-weibo { font-family: 'Font Awesome 6 Brands'; @@ -1314,49 +1314,49 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-wechat:before { - content: "\f1d7"; } +.fa.fa-wechat { + --fa: "\f1d7"; } -.fa.fa-send:before { - content: "\f1d8"; } +.fa.fa-send { + --fa: "\f1d8"; } .fa.fa-paper-plane-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-paper-plane-o:before { - content: "\f1d8"; } +.fa.fa-paper-plane-o { + --fa: "\f1d8"; } .fa.fa-send-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-send-o:before { - content: "\f1d8"; } +.fa.fa-send-o { + --fa: "\f1d8"; } .fa.fa-circle-thin { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-circle-thin:before { - content: "\f111"; } +.fa.fa-circle-thin { + --fa: "\f111"; } -.fa.fa-header:before { - content: "\f1dc"; } +.fa.fa-header { + --fa: "\f1dc"; } .fa.fa-futbol-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-futbol-o:before { - content: "\f1e3"; } +.fa.fa-futbol-o { + --fa: "\f1e3"; } .fa.fa-soccer-ball-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-soccer-ball-o:before { - content: "\f1e3"; } +.fa.fa-soccer-ball-o { + --fa: "\f1e3"; } .fa.fa-slideshare { font-family: 'Font Awesome 6 Brands'; @@ -1374,8 +1374,8 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-newspaper-o:before { - content: "\f1ea"; } +.fa.fa-newspaper-o { + --fa: "\f1ea"; } .fa.fa-paypal { font-family: 'Font Awesome 6 Brands'; @@ -1413,27 +1413,27 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-bell-slash-o:before { - content: "\f1f6"; } +.fa.fa-bell-slash-o { + --fa: "\f1f6"; } -.fa.fa-trash:before { - content: "\f2ed"; } +.fa.fa-trash { + --fa: "\f2ed"; } .fa.fa-copyright { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-eyedropper:before { - content: "\f1fb"; } +.fa.fa-eyedropper { + --fa: "\f1fb"; } -.fa.fa-area-chart:before { - content: "\f1fe"; } +.fa.fa-area-chart { + --fa: "\f1fe"; } -.fa.fa-pie-chart:before { - content: "\f200"; } +.fa.fa-pie-chart { + --fa: "\f200"; } -.fa.fa-line-chart:before { - content: "\f201"; } +.fa.fa-line-chart { + --fa: "\f201"; } .fa.fa-lastfm { font-family: 'Font Awesome 6 Brands'; @@ -1443,8 +1443,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-lastfm-square:before { - content: "\f203"; } +.fa.fa-lastfm-square { + --fa: "\f203"; } .fa.fa-ioxhost { font-family: 'Font Awesome 6 Brands'; @@ -1458,17 +1458,17 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-cc:before { - content: "\f20a"; } +.fa.fa-cc { + --fa: "\f20a"; } -.fa.fa-ils:before { - content: "\f20b"; } +.fa.fa-ils { + --fa: "\f20b"; } -.fa.fa-shekel:before { - content: "\f20b"; } +.fa.fa-shekel { + --fa: "\f20b"; } -.fa.fa-sheqel:before { - content: "\f20b"; } +.fa.fa-sheqel { + --fa: "\f20b"; } .fa.fa-buysellads { font-family: 'Font Awesome 6 Brands'; @@ -1510,24 +1510,24 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-diamond:before { - content: "\f3a5"; } +.fa.fa-diamond { + --fa: "\f3a5"; } -.fa.fa-transgender:before { - content: "\f224"; } +.fa.fa-transgender { + --fa: "\f224"; } -.fa.fa-intersex:before { - content: "\f224"; } +.fa.fa-intersex { + --fa: "\f224"; } -.fa.fa-transgender-alt:before { - content: "\f225"; } +.fa.fa-transgender-alt { + --fa: "\f225"; } .fa.fa-facebook-official { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-facebook-official:before { - content: "\f09a"; } +.fa.fa-facebook-official { + --fa: "\f09a"; } .fa.fa-pinterest-p { font-family: 'Font Awesome 6 Brands'; @@ -1537,8 +1537,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-hotel:before { - content: "\f236"; } +.fa.fa-hotel { + --fa: "\f236"; } .fa.fa-viacoin { font-family: 'Font Awesome 6 Brands'; @@ -1556,8 +1556,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-yc:before { - content: "\f23b"; } +.fa.fa-yc { + --fa: "\f23b"; } .fa.fa-optin-monster { font-family: 'Font Awesome 6 Brands'; @@ -1571,23 +1571,23 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-battery-4:before { - content: "\f240"; } +.fa.fa-battery-4 { + --fa: "\f240"; } -.fa.fa-battery:before { - content: "\f240"; } +.fa.fa-battery { + --fa: "\f240"; } -.fa.fa-battery-3:before { - content: "\f241"; } +.fa.fa-battery-3 { + --fa: "\f241"; } -.fa.fa-battery-2:before { - content: "\f242"; } +.fa.fa-battery-2 { + --fa: "\f242"; } -.fa.fa-battery-1:before { - content: "\f243"; } +.fa.fa-battery-1 { + --fa: "\f243"; } -.fa.fa-battery-0:before { - content: "\f244"; } +.fa.fa-battery-0 { + --fa: "\f244"; } .fa.fa-object-group { font-family: 'Font Awesome 6 Free'; @@ -1601,8 +1601,8 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-sticky-note-o:before { - content: "\f249"; } +.fa.fa-sticky-note-o { + --fa: "\f249"; } .fa.fa-cc-jcb { font-family: 'Font Awesome 6 Brands'; @@ -1616,80 +1616,80 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hourglass-o:before { - content: "\f254"; } +.fa.fa-hourglass-o { + --fa: "\f254"; } -.fa.fa-hourglass-1:before { - content: "\f251"; } +.fa.fa-hourglass-1 { + --fa: "\f251"; } -.fa.fa-hourglass-2:before { - content: "\f252"; } +.fa.fa-hourglass-2 { + --fa: "\f252"; } -.fa.fa-hourglass-3:before { - content: "\f253"; } +.fa.fa-hourglass-3 { + --fa: "\f253"; } .fa.fa-hand-rock-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-rock-o:before { - content: "\f255"; } +.fa.fa-hand-rock-o { + --fa: "\f255"; } .fa.fa-hand-grab-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-grab-o:before { - content: "\f255"; } +.fa.fa-hand-grab-o { + --fa: "\f255"; } .fa.fa-hand-paper-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-paper-o:before { - content: "\f256"; } +.fa.fa-hand-paper-o { + --fa: "\f256"; } .fa.fa-hand-stop-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-stop-o:before { - content: "\f256"; } +.fa.fa-hand-stop-o { + --fa: "\f256"; } .fa.fa-hand-scissors-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-scissors-o:before { - content: "\f257"; } +.fa.fa-hand-scissors-o { + --fa: "\f257"; } .fa.fa-hand-lizard-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-lizard-o:before { - content: "\f258"; } +.fa.fa-hand-lizard-o { + --fa: "\f258"; } .fa.fa-hand-spock-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-spock-o:before { - content: "\f259"; } +.fa.fa-hand-spock-o { + --fa: "\f259"; } .fa.fa-hand-pointer-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-pointer-o:before { - content: "\f25a"; } +.fa.fa-hand-pointer-o { + --fa: "\f25a"; } .fa.fa-hand-peace-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-hand-peace-o:before { - content: "\f25b"; } +.fa.fa-hand-peace-o { + --fa: "\f25b"; } .fa.fa-registered { font-family: 'Font Awesome 6 Free'; @@ -1715,8 +1715,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-odnoklassniki-square:before { - content: "\f264"; } +.fa.fa-odnoklassniki-square { + --fa: "\f264"; } .fa.fa-get-pocket { font-family: 'Font Awesome 6 Brands'; @@ -1746,8 +1746,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-television:before { - content: "\f26c"; } +.fa.fa-television { + --fa: "\f26c"; } .fa.fa-contao { font-family: 'Font Awesome 6 Brands'; @@ -1765,46 +1765,46 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-calendar-plus-o:before { - content: "\f271"; } +.fa.fa-calendar-plus-o { + --fa: "\f271"; } .fa.fa-calendar-minus-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-calendar-minus-o:before { - content: "\f272"; } +.fa.fa-calendar-minus-o { + --fa: "\f272"; } .fa.fa-calendar-times-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-calendar-times-o:before { - content: "\f273"; } +.fa.fa-calendar-times-o { + --fa: "\f273"; } .fa.fa-calendar-check-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-calendar-check-o:before { - content: "\f274"; } +.fa.fa-calendar-check-o { + --fa: "\f274"; } .fa.fa-map-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-map-o:before { - content: "\f279"; } +.fa.fa-map-o { + --fa: "\f279"; } -.fa.fa-commenting:before { - content: "\f4ad"; } +.fa.fa-commenting { + --fa: "\f4ad"; } .fa.fa-commenting-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-commenting-o:before { - content: "\f4ad"; } +.fa.fa-commenting-o { + --fa: "\f4ad"; } .fa.fa-houzz { font-family: 'Font Awesome 6 Brands'; @@ -1814,8 +1814,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-vimeo:before { - content: "\f27d"; } +.fa.fa-vimeo { + --fa: "\f27d"; } .fa.fa-black-tie { font-family: 'Font Awesome 6 Brands'; @@ -1833,8 +1833,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-credit-card-alt:before { - content: "\f09d"; } +.fa.fa-credit-card-alt { + --fa: "\f09d"; } .fa.fa-codiepie { font-family: 'Font Awesome 6 Brands'; @@ -1868,15 +1868,15 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-pause-circle-o:before { - content: "\f28b"; } +.fa.fa-pause-circle-o { + --fa: "\f28b"; } .fa.fa-stop-circle-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-stop-circle-o:before { - content: "\f28d"; } +.fa.fa-stop-circle-o { + --fa: "\f28d"; } .fa.fa-bluetooth { font-family: 'Font Awesome 6 Brands'; @@ -1906,27 +1906,27 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-wheelchair-alt:before { - content: "\f368"; } +.fa.fa-wheelchair-alt { + --fa: "\f368"; } .fa.fa-question-circle-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-question-circle-o:before { - content: "\f059"; } +.fa.fa-question-circle-o { + --fa: "\f059"; } -.fa.fa-volume-control-phone:before { - content: "\f2a0"; } +.fa.fa-volume-control-phone { + --fa: "\f2a0"; } -.fa.fa-asl-interpreting:before { - content: "\f2a3"; } +.fa.fa-asl-interpreting { + --fa: "\f2a3"; } -.fa.fa-deafness:before { - content: "\f2a4"; } +.fa.fa-deafness { + --fa: "\f2a4"; } -.fa.fa-hard-of-hearing:before { - content: "\f2a4"; } +.fa.fa-hard-of-hearing { + --fa: "\f2a4"; } .fa.fa-glide { font-family: 'Font Awesome 6 Brands'; @@ -1936,8 +1936,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-signing:before { - content: "\f2a7"; } +.fa.fa-signing { + --fa: "\f2a7"; } .fa.fa-viadeo { font-family: 'Font Awesome 6 Brands'; @@ -1947,8 +1947,8 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-viadeo-square:before { - content: "\f2aa"; } +.fa.fa-viadeo-square { + --fa: "\f2aa"; } .fa.fa-snapchat { font-family: 'Font Awesome 6 Brands'; @@ -1958,15 +1958,15 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-snapchat-ghost:before { - content: "\f2ab"; } +.fa.fa-snapchat-ghost { + --fa: "\f2ab"; } .fa.fa-snapchat-square { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-snapchat-square:before { - content: "\f2ad"; } +.fa.fa-snapchat-square { + --fa: "\f2ad"; } .fa.fa-pied-piper { font-family: 'Font Awesome 6 Brands'; @@ -1988,15 +1988,15 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-google-plus-official:before { - content: "\f2b3"; } +.fa.fa-google-plus-official { + --fa: "\f2b3"; } .fa.fa-google-plus-circle { font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-google-plus-circle:before { - content: "\f2b3"; } +.fa.fa-google-plus-circle { + --fa: "\f2b3"; } .fa.fa-font-awesome { font-family: 'Font Awesome 6 Brands'; @@ -2006,22 +2006,22 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-fa:before { - content: "\f2b4"; } +.fa.fa-fa { + --fa: "\f2b4"; } .fa.fa-handshake-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-handshake-o:before { - content: "\f2b5"; } +.fa.fa-handshake-o { + --fa: "\f2b5"; } .fa.fa-envelope-open-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-envelope-open-o:before { - content: "\f2b6"; } +.fa.fa-envelope-open-o { + --fa: "\f2b6"; } .fa.fa-linode { font-family: 'Font Awesome 6 Brands'; @@ -2031,60 +2031,60 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-address-book-o:before { - content: "\f2b9"; } +.fa.fa-address-book-o { + --fa: "\f2b9"; } -.fa.fa-vcard:before { - content: "\f2bb"; } +.fa.fa-vcard { + --fa: "\f2bb"; } .fa.fa-address-card-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-address-card-o:before { - content: "\f2bb"; } +.fa.fa-address-card-o { + --fa: "\f2bb"; } .fa.fa-vcard-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-vcard-o:before { - content: "\f2bb"; } +.fa.fa-vcard-o { + --fa: "\f2bb"; } .fa.fa-user-circle-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-user-circle-o:before { - content: "\f2bd"; } +.fa.fa-user-circle-o { + --fa: "\f2bd"; } .fa.fa-user-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-user-o:before { - content: "\f007"; } +.fa.fa-user-o { + --fa: "\f007"; } .fa.fa-id-badge { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-drivers-license:before { - content: "\f2c2"; } +.fa.fa-drivers-license { + --fa: "\f2c2"; } .fa.fa-id-card-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-id-card-o:before { - content: "\f2c2"; } +.fa.fa-id-card-o { + --fa: "\f2c2"; } .fa.fa-drivers-license-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-drivers-license-o:before { - content: "\f2c2"; } +.fa.fa-drivers-license-o { + --fa: "\f2c2"; } .fa.fa-quora { font-family: 'Font Awesome 6 Brands'; @@ -2098,29 +2098,29 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-thermometer-4:before { - content: "\f2c7"; } +.fa.fa-thermometer-4 { + --fa: "\f2c7"; } -.fa.fa-thermometer:before { - content: "\f2c7"; } +.fa.fa-thermometer { + --fa: "\f2c7"; } -.fa.fa-thermometer-3:before { - content: "\f2c8"; } +.fa.fa-thermometer-3 { + --fa: "\f2c8"; } -.fa.fa-thermometer-2:before { - content: "\f2c9"; } +.fa.fa-thermometer-2 { + --fa: "\f2c9"; } -.fa.fa-thermometer-1:before { - content: "\f2ca"; } +.fa.fa-thermometer-1 { + --fa: "\f2ca"; } -.fa.fa-thermometer-0:before { - content: "\f2cb"; } +.fa.fa-thermometer-0 { + --fa: "\f2cb"; } -.fa.fa-bathtub:before { - content: "\f2cd"; } +.fa.fa-bathtub { + --fa: "\f2cd"; } -.fa.fa-s15:before { - content: "\f2cd"; } +.fa.fa-s15 { + --fa: "\f2cd"; } .fa.fa-window-maximize { font-family: 'Font Awesome 6 Free'; @@ -2130,22 +2130,22 @@ font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-times-rectangle:before { - content: "\f410"; } +.fa.fa-times-rectangle { + --fa: "\f410"; } .fa.fa-window-close-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-window-close-o:before { - content: "\f410"; } +.fa.fa-window-close-o { + --fa: "\f410"; } .fa.fa-times-rectangle-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-times-rectangle-o:before { - content: "\f410"; } +.fa.fa-times-rectangle-o { + --fa: "\f410"; } .fa.fa-bandcamp { font-family: 'Font Awesome 6 Brands'; @@ -2171,15 +2171,15 @@ font-family: 'Font Awesome 6 Brands'; font-weight: 400; } -.fa.fa-eercast:before { - content: "\f2da"; } +.fa.fa-eercast { + --fa: "\f2da"; } .fa.fa-snowflake-o { font-family: 'Font Awesome 6 Free'; font-weight: 400; } -.fa.fa-snowflake-o:before { - content: "\f2dc"; } +.fa.fa-snowflake-o { + --fa: "\f2dc"; } .fa.fa-superpowers { font-family: 'Font Awesome 6 Brands'; diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf index 08362f3..c739a39 100644 Binary files a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf and b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf differ diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 index d84512f..cb88862 100644 Binary files a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 and b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 differ diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf index 7f9b53c..3140409 100644 Binary files a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf and b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf differ diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 index 452b49c..fc0a216 100644 Binary files a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 and b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 differ diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf index e7e2ecf..f3b468e 100644 Binary files a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf and b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf differ diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 index fec1fae..42eaaa6 100644 Binary files a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 and b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 differ diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-v4compatibility.ttf b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-v4compatibility.ttf index 577b7a0..ba780aa 100644 Binary files a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-v4compatibility.ttf and b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-v4compatibility.ttf differ diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-v4compatibility.woff2 b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-v4compatibility.woff2 index 7393168..bb61b58 100644 Binary files a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-v4compatibility.woff2 and b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-v4compatibility.woff2 differ diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/abp/core/abp.js b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/abp/core/abp.js index 7a82f58..45b8ac3 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/abp/core/abp.js +++ b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/abp/core/abp.js @@ -480,7 +480,11 @@ var abp = abp || {}; var args = Array.prototype.slice.call(arguments, 1); for (var i = 0; i < callbacks.length; i++) { - callbacks[i].apply(this, args); + try { + callbacks[i].apply(this, args); + } catch(e) { + console.error(e); + } } }; diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/bootstrap-daterangepicker/daterangepicker.js b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/bootstrap-daterangepicker/daterangepicker.js index 4048310..6a49382 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/bootstrap-daterangepicker/daterangepicker.js +++ b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/bootstrap-daterangepicker/daterangepicker.js @@ -305,8 +305,8 @@ end = moment(val, this.locale.format); } if (start !== null && end !== null) { - this.setStartDate(start); - this.setEndDate(end); + this.setStartDate(start.startOf('day')); + this.setEndDate(end.startOf('day')); } } } @@ -370,10 +370,6 @@ this.container.find('.calendar-time').hide(); } - //can't be used together for now - if (this.timePicker && this.autoApply) - this.autoApply = false; - if (this.autoApply) { this.container.addClass('auto-apply'); } @@ -386,9 +382,7 @@ this.container.find('.drp-calendar.left').addClass('single'); this.container.find('.drp-calendar.left').show(); this.container.find('.drp-calendar.right').hide(); - if (!this.timePicker && this.autoApply) { - this.container.addClass('auto-apply'); - } + } if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) { @@ -898,6 +892,7 @@ // hours // + html = '\n \n
\n \n \n
\n \n
\n \n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n").replace(/(^|\n)\s*/g, ''); + const sweetHTML = ` +
+ +
    +
    + +

    +
    + + +
    + + +
    + +
    + + +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    +`.replace(/(^|\n)\s*/g, ''); + /** + * @returns {boolean} + */ const resetOldContainer = () => { const oldContainer = getContainer(); - if (!oldContainer) { return false; } - oldContainer.remove(); removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['toast-shown'], swalClasses['has-column']]); return true; }; - - const resetValidationMessage = () => { + const resetValidationMessage$1 = () => { globalState.currentInstance.resetValidationMessage(); }; - const addInputChangeListeners = () => { const popup = getPopup(); const input = getDirectChildByClass(popup, swalClasses.input); const file = getDirectChildByClass(popup, swalClasses.file); - const range = popup.querySelector(".".concat(swalClasses.range, " input")); - const rangeOutput = popup.querySelector(".".concat(swalClasses.range, " output")); + /** @type {HTMLInputElement} */ + const range = popup.querySelector(`.${swalClasses.range} input`); + /** @type {HTMLOutputElement} */ + const rangeOutput = popup.querySelector(`.${swalClasses.range} output`); const select = getDirectChildByClass(popup, swalClasses.select); - const checkbox = popup.querySelector(".".concat(swalClasses.checkbox, " input")); + /** @type {HTMLInputElement} */ + const checkbox = popup.querySelector(`.${swalClasses.checkbox} input`); const textarea = getDirectChildByClass(popup, swalClasses.textarea); - input.oninput = resetValidationMessage; - file.onchange = resetValidationMessage; - select.onchange = resetValidationMessage; - checkbox.onchange = resetValidationMessage; - textarea.oninput = resetValidationMessage; - + input.oninput = resetValidationMessage$1; + file.onchange = resetValidationMessage$1; + select.onchange = resetValidationMessage$1; + checkbox.onchange = resetValidationMessage$1; + textarea.oninput = resetValidationMessage$1; range.oninput = () => { - resetValidationMessage(); + resetValidationMessage$1(); rangeOutput.value = range.value; }; - range.onchange = () => { - resetValidationMessage(); - range.nextSibling.value = range.value; + resetValidationMessage$1(); + rangeOutput.value = range.value; }; }; + /** + * @param {string | HTMLElement} target + * @returns {HTMLElement} + */ const getTarget = target => typeof target === 'string' ? document.querySelector(target) : target; + /** + * @param {SweetAlertOptions} params + */ const setupAccessibility = params => { const popup = getPopup(); popup.setAttribute('role', params.toast ? 'alert' : 'dialog'); popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive'); - if (!params.toast) { popup.setAttribute('aria-modal', 'true'); } }; + /** + * @param {HTMLElement} targetElement + */ const setupRTL = targetElement => { if (window.getComputedStyle(targetElement).direction === 'rtl') { addClass(getContainer(), swalClasses.rtl); } }; - /* + + /** * Add modal + backdrop + no-war message for Russians to DOM + * + * @param {SweetAlertOptions} params */ - - const init = params => { // Clean up the old popup container if it exists const oldContainerExisted = resetOldContainer(); - /* istanbul ignore if */ - if (isNodeEnv()) { error('SweetAlert2 requires document to initialize'); return; } - const container = document.createElement('div'); container.className = swalClasses.container; - if (oldContainerExisted) { addClass(container, swalClasses['no-transition']); } - setInnerHtml(container, sweetHTML); const targetElement = getTarget(params.target); targetElement.appendChild(container); setupAccessibility(params); setupRTL(targetElement); addInputChangeListeners(); - noWarMessageForRussians(container, params); - }; - - const noWarMessageForRussians = (container, params) => { - if (params.toast) { - return; - } // This message is targeted at people who are corrupted by propaganda, everybody else - // is already against war either silently or actively. - // - // The point is to wrap the truth-bomb into a patriotic title so they will actually click it - // and listen to the uncomfortable truth about the war from the people they love or respect. - - - const message = getRandomElement([{ - text: 'ШВАРЦЕНЕГГЕР обратился
    к РУССКОМУ НАРОДУ о войне', - // Arnold is loved in Russia by all people including those who are for this war - // His speech might change the mind of those who are brainwashed by propaganda - youtubeId: 'fWClXZd9c78' - }, { - text: 'РУССКИЙ ПАТРИОТ
    открыл главную тайну спецоперации', - // In this video one of the most famous Russian nationalist leaders, Dmitry Demushkin, - // explains that this war has no sense and produces the exact opposite result of what - // it was intended to do. - youtubeId: '_RjBNkn88yA' - }, { - text: 'ГЕРОЙ НОВОРОССИИ СТРЕЛКОВ
    дал оценку ходу спецоперации', - // In this video Igor Girkin, who played a key role in the annexation of Crimea, - // explains that this war has failed already and all possible outcomes are bad for Russia. - youtubeId: 'yUmzQT4C8JY' - }, { - text: 'ФИНСКИЙ ДРУГ РОССИИ
    говорит ПО-РУССКИ о спецоперации', - youtubeId: 'hkCYb6edUrQ' - }]); // The message will only be shown to Russian users visiting Russian sites - - if (navigator.language === 'ru' && location.host.match(/\.(ru|su|xn--p1ai)$/)) { - const noWar = document.createElement('div'); - noWar.className = swalClasses['no-war']; - setInnerHtml(noWar, "").concat(message.text, "")); - container.appendChild(noWar); - container.style.paddingTop = '4em'; - } }; /** * @param {HTMLElement | object | string} param * @param {HTMLElement} target */ - const parseHtmlToContainer = (param, target) => { // DOM element if (param instanceof HTMLElement) { target.appendChild(param); - } // Object + } + + // Object else if (typeof param === 'object') { handleObject(param, target); - } // Plain string + } + + // Plain string else if (param) { setInnerHtml(target, param); } }; + /** - * @param {object} param + * @param {any} param * @param {HTMLElement} target */ - const handleObject = (param, target) => { // JQuery element(s) if (param.jquery) { handleJqueryElem(target, param); - } // For other objects use their string representation + } + + // For other objects use their string representation else { setInnerHtml(target, param.toString()); } }; + /** + * @param {HTMLElement} target + * @param {any} elem + */ const handleJqueryElem = (target, elem) => { target.textContent = ''; - if (0 in elem) { - for (let i = 0; (i in elem); i++) { + for (let i = 0; i in elem; i++) { target.appendChild(elem[i].cloneNode(true)); } } else { @@ -785,71 +878,53 @@ } }; - const animationEndEvent = (() => { - // Prevent run in Node env - - /* istanbul ignore if */ - if (isNodeEnv()) { - return false; - } - - const testEl = document.createElement('div'); - const transEndEventNames = { - WebkitAnimation: 'webkitAnimationEnd', - // Chrome, Safari and Opera - animation: 'animationend' // Standard syntax - - }; - - for (const i in transEndEventNames) { - if (Object.prototype.hasOwnProperty.call(transEndEventNames, i) && typeof testEl.style[i] !== 'undefined') { - return transEndEventNames[i]; - } - } - - return false; - })(); - - // https://github.com/twbs/bootstrap/blob/master/js/src/modal.js - - const measureScrollbar = () => { - const scrollDiv = document.createElement('div'); - scrollDiv.className = swalClasses['scrollbar-measure']; - document.body.appendChild(scrollDiv); - const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; - }; - + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params + */ const renderActions = (instance, params) => { const actions = getActions(); - const loader = getLoader(); // Actions (buttons) wrapper + const loader = getLoader(); + if (!actions || !loader) { + return; + } + // Actions (buttons) wrapper if (!params.showConfirmButton && !params.showDenyButton && !params.showCancelButton) { hide(actions); } else { show(actions); - } // Custom class - + } - applyCustomClass(actions, params, 'actions'); // Render all the buttons + // Custom class + applyCustomClass(actions, params, 'actions'); - renderButtons(actions, loader, params); // Loader + // Render all the buttons + renderButtons(actions, loader, params); - setInnerHtml(loader, params.loaderHtml); + // Loader + setInnerHtml(loader, params.loaderHtml || ''); applyCustomClass(loader, params, 'loader'); }; + /** + * @param {HTMLElement} actions + * @param {HTMLElement} loader + * @param {SweetAlertOptions} params + */ function renderButtons(actions, loader, params) { const confirmButton = getConfirmButton(); const denyButton = getDenyButton(); - const cancelButton = getCancelButton(); // Render buttons + const cancelButton = getCancelButton(); + if (!confirmButton || !denyButton || !cancelButton) { + return; + } + // Render buttons renderButton(confirmButton, 'confirm', params); renderButton(denyButton, 'deny', params); renderButton(cancelButton, 'cancel', params); handleButtonsStyling(confirmButton, denyButton, cancelButton, params); - if (params.reverseButtons) { if (params.toast) { actions.insertBefore(cancelButton, confirmButton); @@ -862,41 +937,88 @@ } } + /** + * @param {HTMLElement} confirmButton + * @param {HTMLElement} denyButton + * @param {HTMLElement} cancelButton + * @param {SweetAlertOptions} params + */ function handleButtonsStyling(confirmButton, denyButton, cancelButton, params) { if (!params.buttonsStyling) { - return removeClass([confirmButton, denyButton, cancelButton], swalClasses.styled); + removeClass([confirmButton, denyButton, cancelButton], swalClasses.styled); + return; } + addClass([confirmButton, denyButton, cancelButton], swalClasses.styled); - addClass([confirmButton, denyButton, cancelButton], swalClasses.styled); // Buttons background colors - + // Buttons background colors if (params.confirmButtonColor) { confirmButton.style.backgroundColor = params.confirmButtonColor; addClass(confirmButton, swalClasses['default-outline']); } - if (params.denyButtonColor) { denyButton.style.backgroundColor = params.denyButtonColor; addClass(denyButton, swalClasses['default-outline']); } - if (params.cancelButtonColor) { cancelButton.style.backgroundColor = params.cancelButtonColor; addClass(cancelButton, swalClasses['default-outline']); } } + /** + * @param {HTMLElement} button + * @param {'confirm' | 'deny' | 'cancel'} buttonType + * @param {SweetAlertOptions} params + */ function renderButton(button, buttonType, params) { - toggle(button, params["show".concat(capitalizeFirstLetter(buttonType), "Button")], 'inline-block'); - setInnerHtml(button, params["".concat(buttonType, "ButtonText")]); // Set caption text + const buttonName = /** @type {'Confirm' | 'Deny' | 'Cancel'} */capitalizeFirstLetter(buttonType); + toggle(button, params[`show${buttonName}Button`], 'inline-block'); + setInnerHtml(button, params[`${buttonType}ButtonText`] || ''); // Set caption text + button.setAttribute('aria-label', params[`${buttonType}ButtonAriaLabel`] || ''); // ARIA label - button.setAttribute('aria-label', params["".concat(buttonType, "ButtonAriaLabel")]); // ARIA label // Add buttons custom classes - button.className = swalClasses[buttonType]; - applyCustomClass(button, params, "".concat(buttonType, "Button")); - addClass(button, params["".concat(buttonType, "ButtonClass")]); + applyCustomClass(button, params, `${buttonType}Button`); } + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params + */ + const renderCloseButton = (instance, params) => { + const closeButton = getCloseButton(); + if (!closeButton) { + return; + } + setInnerHtml(closeButton, params.closeButtonHtml || ''); + + // Custom class + applyCustomClass(closeButton, params, 'closeButton'); + toggle(closeButton, params.showCloseButton); + closeButton.setAttribute('aria-label', params.closeButtonAriaLabel || ''); + }; + + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params + */ + const renderContainer = (instance, params) => { + const container = getContainer(); + if (!container) { + return; + } + handleBackdropParam(container, params.backdrop); + handlePositionParam(container, params.position); + handleGrowParam(container, params.grow); + + // Custom class + applyCustomClass(container, params, 'container'); + }; + + /** + * @param {HTMLElement} container + * @param {SweetAlertOptions['backdrop']} backdrop + */ function handleBackdropParam(container, backdrop) { if (typeof backdrop === 'string') { container.style.background = backdrop; @@ -905,7 +1027,14 @@ } } + /** + * @param {HTMLElement} container + * @param {SweetAlertOptions['position']} position + */ function handlePositionParam(container, position) { + if (!position) { + return; + } if (position in swalClasses) { addClass(container, swalClasses[position]); } else { @@ -914,29 +1043,16 @@ } } + /** + * @param {HTMLElement} container + * @param {SweetAlertOptions['grow']} grow + */ function handleGrowParam(container, grow) { - if (grow && typeof grow === 'string') { - const growClass = "grow-".concat(grow); - - if (growClass in swalClasses) { - addClass(container, swalClasses[growClass]); - } - } - } - - const renderContainer = (instance, params) => { - const container = getContainer(); - - if (!container) { + if (!grow) { return; } - - handleBackdropParam(container, params.backdrop); - handlePositionParam(container, params.position); - handleGrowParam(container, params.grow); // Custom class - - applyCustomClass(container, params, 'container'); - }; + addClass(container, swalClasses[`grow-${grow}`]); + } /** * This module contains `WeakMap`s for each effectively-"private property" that a `Swal` has. @@ -947,201 +1063,209 @@ * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module* * then we can use that language feature. */ + var privateProps = { - awaitingPromise: new WeakMap(), - promise: new WeakMap(), innerParams: new WeakMap(), domCache: new WeakMap() }; /// - /** @type {InputClass[]} */ + + /** @type {InputClass[]} */ const inputClasses = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea']; + /** - * @param {SweetAlert2} instance + * @param {SweetAlert} instance * @param {SweetAlertOptions} params */ - const renderInput = (instance, params) => { const popup = getPopup(); + if (!popup) { + return; + } const innerParams = privateProps.innerParams.get(instance); const rerender = !innerParams || params.input !== innerParams.input; inputClasses.forEach(inputClass => { - const inputContainer = getDirectChildByClass(popup, swalClasses[inputClass]); // set attributes + const inputContainer = getDirectChildByClass(popup, swalClasses[inputClass]); + if (!inputContainer) { + return; + } - setAttributes(inputClass, params.inputAttributes); // set class + // set attributes + setAttributes(inputClass, params.inputAttributes); + // set class inputContainer.className = swalClasses[inputClass]; - if (rerender) { hide(inputContainer); } }); - if (params.input) { if (rerender) { showInput(params); - } // set custom class - - + } + // set custom class setCustomClass(params); } }; + /** * @param {SweetAlertOptions} params */ - const showInput = params => { + if (!params.input) { + return; + } if (!renderInputType[params.input]) { - return error("Unexpected type of input! Expected \"text\", \"email\", \"password\", \"number\", \"tel\", \"select\", \"radio\", \"checkbox\", \"textarea\", \"file\" or \"url\", got \"".concat(params.input, "\"")); + error(`Unexpected type of input! Expected ${Object.keys(renderInputType).join(' | ')}, got "${params.input}"`); + return; } - const inputContainer = getInputContainer(params.input); + if (!inputContainer) { + return; + } const input = renderInputType[params.input](inputContainer, params); - show(inputContainer); // input autofocus + show(inputContainer); - setTimeout(() => { - focusInput(input); - }); + // input autofocus + if (params.inputAutoFocus) { + setTimeout(() => { + focusInput(input); + }); + } }; + /** * @param {HTMLInputElement} input */ - - const removeAttributes = input => { for (let i = 0; i < input.attributes.length; i++) { const attrName = input.attributes[i].name; - - if (!['type', 'value', 'style'].includes(attrName)) { + if (!['id', 'type', 'value', 'style'].includes(attrName)) { input.removeAttribute(attrName); } } }; + /** * @param {InputClass} inputClass * @param {SweetAlertOptions['inputAttributes']} inputAttributes */ - - const setAttributes = (inputClass, inputAttributes) => { - const input = getInput(getPopup(), inputClass); - + const popup = getPopup(); + if (!popup) { + return; + } + const input = getInput$1(popup, inputClass); if (!input) { return; } - removeAttributes(input); - for (const attr in inputAttributes) { input.setAttribute(attr, inputAttributes[attr]); } }; + /** * @param {SweetAlertOptions} params */ - - const setCustomClass = params => { + if (!params.input) { + return; + } const inputContainer = getInputContainer(params.input); - - if (typeof params.customClass === 'object') { - addClass(inputContainer, params.customClass.input); + if (inputContainer) { + applyCustomClass(inputContainer, params, 'input'); } }; + /** * @param {HTMLInputElement | HTMLTextAreaElement} input * @param {SweetAlertOptions} params */ - - const setInputPlaceholder = (input, params) => { - if (!input.placeholder || params.inputPlaceholder) { + if (!input.placeholder && params.inputPlaceholder) { input.placeholder = params.inputPlaceholder; } }; + /** * @param {Input} input * @param {Input} prependTo * @param {SweetAlertOptions} params */ - - const setInputLabel = (input, prependTo, params) => { if (params.inputLabel) { - input.id = swalClasses.input; const label = document.createElement('label'); const labelClass = swalClasses['input-label']; label.setAttribute('for', input.id); label.className = labelClass; - if (typeof params.customClass === 'object') { addClass(label, params.customClass.inputLabel); } - label.innerText = params.inputLabel; prependTo.insertAdjacentElement('beforebegin', label); } }; + /** - * @param {SweetAlertOptions['input']} inputType - * @returns {HTMLElement} + * @param {SweetAlertInput} inputType + * @returns {HTMLElement | undefined} */ - - const getInputContainer = inputType => { - return getDirectChildByClass(getPopup(), swalClasses[inputType] || swalClasses.input); + const popup = getPopup(); + if (!popup) { + return; + } + return getDirectChildByClass(popup, swalClasses[(/** @type {SwalClass} */inputType)] || swalClasses.input); }; + /** * @param {HTMLInputElement | HTMLOutputElement | HTMLTextAreaElement} input * @param {SweetAlertOptions['inputValue']} inputValue */ - - const checkAndSetInputValue = (input, inputValue) => { if (['string', 'number'].includes(typeof inputValue)) { - input.value = "".concat(inputValue); + input.value = `${inputValue}`; } else if (!isPromise(inputValue)) { - warn("Unexpected type of inputValue! Expected \"string\", \"number\" or \"Promise\", got \"".concat(typeof inputValue, "\"")); + warn(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof inputValue}"`); } }; - /** @type Record Input> */ - + /** @type {Record Input>} */ const renderInputType = {}; + /** * @param {HTMLInputElement} input * @param {SweetAlertOptions} params * @returns {HTMLInputElement} */ - - renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = (input, params) => { + renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = renderInputType.search = renderInputType.date = renderInputType['datetime-local'] = renderInputType.time = renderInputType.week = renderInputType.month = /** @type {(input: Input | HTMLElement, params: SweetAlertOptions) => Input} */ + (input, params) => { checkAndSetInputValue(input, params.inputValue); setInputLabel(input, input, params); setInputPlaceholder(input, params); input.type = params.input; return input; }; + /** * @param {HTMLInputElement} input * @param {SweetAlertOptions} params * @returns {HTMLInputElement} */ - - renderInputType.file = (input, params) => { setInputLabel(input, input, params); setInputPlaceholder(input, params); return input; }; + /** * @param {HTMLInputElement} range * @param {SweetAlertOptions} params * @returns {HTMLInputElement} */ - - renderInputType.range = (range, params) => { const rangeInput = range.querySelector('input'); const rangeOutput = range.querySelector('output'); @@ -1151,16 +1275,14 @@ setInputLabel(rangeInput, range, params); return range; }; + /** * @param {HTMLSelectElement} select * @param {SweetAlertOptions} params * @returns {HTMLSelectElement} */ - - renderInputType.select = (select, params) => { select.textContent = ''; - if (params.inputPlaceholder) { const placeholder = document.createElement('option'); setInnerHtml(placeholder, params.inputPlaceholder); @@ -1169,70 +1291,66 @@ placeholder.selected = true; select.appendChild(placeholder); } - setInputLabel(select, select, params); return select; }; + /** * @param {HTMLInputElement} radio * @returns {HTMLInputElement} */ - - renderInputType.radio = radio => { radio.textContent = ''; return radio; }; + /** * @param {HTMLLabelElement} checkboxContainer * @param {SweetAlertOptions} params * @returns {HTMLInputElement} */ - - renderInputType.checkbox = (checkboxContainer, params) => { - const checkbox = getInput(getPopup(), 'checkbox'); + const checkbox = getInput$1(getPopup(), 'checkbox'); checkbox.value = '1'; - checkbox.id = swalClasses.checkbox; checkbox.checked = Boolean(params.inputValue); const label = checkboxContainer.querySelector('span'); - setInnerHtml(label, params.inputPlaceholder); + setInnerHtml(label, params.inputPlaceholder || params.inputLabel); return checkbox; }; + /** * @param {HTMLTextAreaElement} textarea * @param {SweetAlertOptions} params * @returns {HTMLTextAreaElement} */ - - renderInputType.textarea = (textarea, params) => { checkAndSetInputValue(textarea, params.inputValue); setInputPlaceholder(textarea, params); setInputLabel(textarea, textarea, params); + /** * @param {HTMLElement} el * @returns {number} */ + const getMargin = el => parseInt(window.getComputedStyle(el).marginLeft) + parseInt(window.getComputedStyle(el).marginRight); - const getMargin = el => parseInt(window.getComputedStyle(el).marginLeft) + parseInt(window.getComputedStyle(el).marginRight); // https://github.com/sweetalert2/sweetalert2/issues/2291 - - + // https://github.com/sweetalert2/sweetalert2/issues/2291 setTimeout(() => { // https://github.com/sweetalert2/sweetalert2/issues/1699 if ('MutationObserver' in window) { const initialPopupWidth = parseInt(window.getComputedStyle(getPopup()).width); - const textareaResizeHandler = () => { + // check if texarea is still in document (i.e. popup wasn't closed in the meantime) + if (!document.body.contains(textarea)) { + return; + } const textareaWidth = textarea.offsetWidth + getMargin(textarea); - if (textareaWidth > initialPopupWidth) { - getPopup().style.width = "".concat(textareaWidth, "px"); + getPopup().style.width = `${textareaWidth}px`; } else { - getPopup().style.width = null; + applyNumericalStyle(getPopup(), 'width', params.width); } }; - new MutationObserver(textareaResizeHandler).observe(textarea, { attributes: true, attributeFilter: ['style'] @@ -1242,346 +1360,376 @@ return textarea; }; + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params + */ const renderContent = (instance, params) => { const htmlContainer = getHtmlContainer(); - applyCustomClass(htmlContainer, params, 'htmlContainer'); // Content as HTML + if (!htmlContainer) { + return; + } + showWhenInnerHtmlPresent(htmlContainer); + applyCustomClass(htmlContainer, params, 'htmlContainer'); + // Content as HTML if (params.html) { parseHtmlToContainer(params.html, htmlContainer); show(htmlContainer, 'block'); - } // Content as plain text + } + + // Content as plain text else if (params.text) { htmlContainer.textContent = params.text; show(htmlContainer, 'block'); - } // No content + } + + // No content else { hide(htmlContainer); } - renderInput(instance, params); }; + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params + */ const renderFooter = (instance, params) => { const footer = getFooter(); - toggle(footer, params.footer); - + if (!footer) { + return; + } + showWhenInnerHtmlPresent(footer); + toggle(footer, params.footer, 'block'); if (params.footer) { parseHtmlToContainer(params.footer, footer); - } // Custom class - + } + // Custom class applyCustomClass(footer, params, 'footer'); }; - const renderCloseButton = (instance, params) => { - const closeButton = getCloseButton(); - setInnerHtml(closeButton, params.closeButtonHtml); // Custom class - - applyCustomClass(closeButton, params, 'closeButton'); - toggle(closeButton, params.showCloseButton); - closeButton.setAttribute('aria-label', params.closeButtonAriaLabel); - }; - - /** - * @typedef { import('sweetalert2') } SweetAlert2 - * @typedef { import('sweetalert2').SweetAlertOptions } SweetAlertOptions - */ - /** - * @param {SweetAlert2} instance + * @param {SweetAlert} instance * @param {SweetAlertOptions} params */ - const renderIcon = (instance, params) => { const innerParams = privateProps.innerParams.get(instance); - const icon = getIcon(); // if the given icon already rendered, apply the styling without re-rendering the icon + const icon = getIcon(); + if (!icon) { + return; + } + // if the given icon already rendered, apply the styling without re-rendering the icon if (innerParams && params.icon === innerParams.icon) { // Custom or default content setContent(icon, params); applyStyles(icon, params); return; } - if (!params.icon && !params.iconHtml) { - return hide(icon); + hide(icon); + return; } - if (params.icon && Object.keys(iconTypes).indexOf(params.icon) === -1) { - error("Unknown icon! Expected \"success\", \"error\", \"warning\", \"info\" or \"question\", got \"".concat(params.icon, "\"")); - return hide(icon); + error(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${params.icon}"`); + hide(icon); + return; } + show(icon); - show(icon); // Custom or default content - + // Custom or default content setContent(icon, params); - applyStyles(icon, params); // Animate icon + applyStyles(icon, params); - addClass(icon, params.showClass.icon); + // Animate icon + addClass(icon, params.showClass && params.showClass.icon); }; + /** * @param {HTMLElement} icon * @param {SweetAlertOptions} params */ - const applyStyles = (icon, params) => { - for (const iconType in iconTypes) { + for (const [iconType, iconClassName] of Object.entries(iconTypes)) { if (params.icon !== iconType) { - removeClass(icon, iconTypes[iconType]); + removeClass(icon, iconClassName); } } + addClass(icon, params.icon && iconTypes[params.icon]); - addClass(icon, iconTypes[params.icon]); // Icon color + // Icon color + setColor(icon, params); - setColor(icon, params); // Success icon background color - - adjustSuccessIconBackgroundColor(); // Custom class + // Success icon background color + adjustSuccessIconBackgroundColor(); + // Custom class applyCustomClass(icon, params, 'icon'); - }; // Adjust success icon background color to match the popup background color - + }; + // Adjust success icon background color to match the popup background color const adjustSuccessIconBackgroundColor = () => { const popup = getPopup(); + if (!popup) { + return; + } const popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color'); + /** @type {NodeListOf} */ const successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix'); - for (let i = 0; i < successIconParts.length; i++) { successIconParts[i].style.backgroundColor = popupBackgroundColor; } }; + const successIconHtml = ` +
    + +
    +
    +`; + const errorIconHtml = ` + + + + +`; - const successIconHtml = "\n
    \n \n
    \n
    \n"; - const errorIconHtml = "\n \n \n \n \n"; /** * @param {HTMLElement} icon * @param {SweetAlertOptions} params */ - const setContent = (icon, params) => { - icon.textContent = ''; - - if (params.iconHtml) { - setInnerHtml(icon, iconContent(params.iconHtml)); + if (!params.icon && !params.iconHtml) { + return; + } + let oldContent = icon.innerHTML; + let newContent = ''; + if (params.iconHtml) { + newContent = iconContent(params.iconHtml); } else if (params.icon === 'success') { - setInnerHtml(icon, successIconHtml); + newContent = successIconHtml; + oldContent = oldContent.replace(/ style=".*?"/g, ''); // undo adjustSuccessIconBackgroundColor() } else if (params.icon === 'error') { - setInnerHtml(icon, errorIconHtml); - } else { + newContent = errorIconHtml; + } else if (params.icon) { const defaultIconHtml = { question: '?', warning: '!', info: 'i' }; - setInnerHtml(icon, iconContent(defaultIconHtml[params.icon])); + newContent = iconContent(defaultIconHtml[params.icon]); + } + if (oldContent.trim() !== newContent.trim()) { + setInnerHtml(icon, newContent); } }; + /** * @param {HTMLElement} icon * @param {SweetAlertOptions} params */ - - const setColor = (icon, params) => { if (!params.iconColor) { return; } - icon.style.color = params.iconColor; icon.style.borderColor = params.iconColor; - for (const sel of ['.swal2-success-line-tip', '.swal2-success-line-long', '.swal2-x-mark-line-left', '.swal2-x-mark-line-right']) { - setStyle(icon, sel, 'backgroundColor', params.iconColor); + setStyle(icon, sel, 'background-color', params.iconColor); } - - setStyle(icon, '.swal2-success-ring', 'borderColor', params.iconColor); + setStyle(icon, '.swal2-success-ring', 'border-color', params.iconColor); }; - /** - * @param {string} content - */ - - - const iconContent = content => "
    ").concat(content, "
    "); /** - * @typedef { import('sweetalert2') } SweetAlert2 - * @typedef { import('sweetalert2').SweetAlertOptions } SweetAlertOptions + * @param {string} content + * @returns {string} */ + const iconContent = content => `
    ${content}
    `; /** - * @param {SweetAlert2} instance + * @param {SweetAlert} instance * @param {SweetAlertOptions} params */ - const renderImage = (instance, params) => { const image = getImage(); - + if (!image) { + return; + } if (!params.imageUrl) { - return hide(image); + hide(image); + return; } + show(image, ''); - show(image, ''); // Src, alt - + // Src, alt image.setAttribute('src', params.imageUrl); - image.setAttribute('alt', params.imageAlt); // Width, height + image.setAttribute('alt', params.imageAlt || ''); + // Width, height applyNumericalStyle(image, 'width', params.imageWidth); - applyNumericalStyle(image, 'height', params.imageHeight); // Class + applyNumericalStyle(image, 'height', params.imageHeight); + // Class image.className = swalClasses.image; applyCustomClass(image, params, 'image'); }; /** - * @typedef { import('sweetalert2') } SweetAlert2 - * @typedef { import('sweetalert2').SweetAlertOptions } SweetAlertOptions + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params */ + const renderPopup = (instance, params) => { + const container = getContainer(); + const popup = getPopup(); + if (!container || !popup) { + return; + } + + // Width + // https://github.com/sweetalert2/sweetalert2/issues/2170 + if (params.toast) { + applyNumericalStyle(container, 'width', params.width); + popup.style.width = '100%'; + const loader = getLoader(); + if (loader) { + popup.insertBefore(loader, getIcon()); + } + } else { + applyNumericalStyle(popup, 'width', params.width); + } + + // Padding + applyNumericalStyle(popup, 'padding', params.padding); + + // Color + if (params.color) { + popup.style.color = params.color; + } + + // Background + if (params.background) { + popup.style.background = params.background; + } + hide(getValidationMessage()); + + // Classes + addClasses$1(popup, params); + }; /** - * @param {SweetAlert2} instance + * @param {HTMLElement} popup * @param {SweetAlertOptions} params */ + const addClasses$1 = (popup, params) => { + const showClass = params.showClass || {}; + // Default Class + showClass when updating Swal.update({}) + popup.className = `${swalClasses.popup} ${isVisible$1(popup) ? showClass.popup : ''}`; + if (params.toast) { + addClass([document.documentElement, document.body], swalClasses['toast-shown']); + addClass(popup, swalClasses.toast); + } else { + addClass(popup, swalClasses.modal); + } - const renderProgressSteps = (instance, params) => { - const progressStepsContainer = getProgressSteps(); + // Custom class + applyCustomClass(popup, params, 'popup'); + // TODO: remove in the next major + if (typeof params.customClass === 'string') { + addClass(popup, params.customClass); + } - if (!params.progressSteps || params.progressSteps.length === 0) { - return hide(progressStepsContainer); + // Icon class (#1842) + if (params.icon) { + addClass(popup, swalClasses[`icon-${params.icon}`]); } + }; + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params + */ + const renderProgressSteps = (instance, params) => { + const progressStepsContainer = getProgressSteps(); + if (!progressStepsContainer) { + return; + } + const { + progressSteps, + currentProgressStep + } = params; + if (!progressSteps || progressSteps.length === 0 || currentProgressStep === undefined) { + hide(progressStepsContainer); + return; + } show(progressStepsContainer); progressStepsContainer.textContent = ''; - - if (params.currentProgressStep >= params.progressSteps.length) { + if (currentProgressStep >= progressSteps.length) { warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)'); } - - params.progressSteps.forEach((step, index) => { + progressSteps.forEach((step, index) => { const stepEl = createStepElement(step); progressStepsContainer.appendChild(stepEl); - - if (index === params.currentProgressStep) { + if (index === currentProgressStep) { addClass(stepEl, swalClasses['active-progress-step']); } - - if (index !== params.progressSteps.length - 1) { + if (index !== progressSteps.length - 1) { const lineEl = createLineElement(params); progressStepsContainer.appendChild(lineEl); } }); }; + /** * @param {string} step * @returns {HTMLLIElement} */ - const createStepElement = step => { const stepEl = document.createElement('li'); addClass(stepEl, swalClasses['progress-step']); setInnerHtml(stepEl, step); return stepEl; }; + /** * @param {SweetAlertOptions} params * @returns {HTMLLIElement} */ - - const createLineElement = params => { const lineEl = document.createElement('li'); addClass(lineEl, swalClasses['progress-step-line']); - if (params.progressStepsDistance) { applyNumericalStyle(lineEl, 'width', params.progressStepsDistance); } - return lineEl; }; + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params + */ const renderTitle = (instance, params) => { const title = getTitle(); + if (!title) { + return; + } + showWhenInnerHtmlPresent(title); toggle(title, params.title || params.titleText, 'block'); - if (params.title) { parseHtmlToContainer(params.title, title); } - if (params.titleText) { title.innerText = params.titleText; - } // Custom class - + } + // Custom class applyCustomClass(title, params, 'title'); }; /** - * @typedef { import('sweetalert2') } SweetAlert2 - * @typedef { import('sweetalert2').SweetAlertOptions } SweetAlertOptions - */ - - /** - * @param {SweetAlert2} instance - * @param {SweetAlertOptions} params - */ - - const renderPopup = (instance, params) => { - const container = getContainer(); - const popup = getPopup(); // Width - // https://github.com/sweetalert2/sweetalert2/issues/2170 - - if (params.toast) { - applyNumericalStyle(container, 'width', params.width); - popup.style.width = '100%'; - popup.insertBefore(getLoader(), getIcon()); - } else { - applyNumericalStyle(popup, 'width', params.width); - } // Padding - - - applyNumericalStyle(popup, 'padding', params.padding); // Color - - if (params.color) { - popup.style.color = params.color; - } // Background - - - if (params.background) { - popup.style.background = params.background; - } - - hide(getValidationMessage()); // Classes - - addClasses(popup, params); - }; - /** - * @param {HTMLElement} popup + * @param {SweetAlert} instance * @param {SweetAlertOptions} params */ - - const addClasses = (popup, params) => { - // Default Class + showClass when updating Swal.update({}) - popup.className = "".concat(swalClasses.popup, " ").concat(isVisible(popup) ? params.showClass.popup : ''); - - if (params.toast) { - addClass([document.documentElement, document.body], swalClasses['toast-shown']); - addClass(popup, swalClasses.toast); - } else { - addClass(popup, swalClasses.modal); - } // Custom class - - - applyCustomClass(popup, params, 'popup'); - - if (typeof params.customClass === 'string') { - addClass(popup, params.customClass); - } // Icon class (#1842) - - - if (params.icon) { - addClass(popup, swalClasses["icon-".concat(params.icon)]); - } - }; - const render = (instance, params) => { renderPopup(instance, params); renderContainer(instance, params); @@ -1593,12 +1741,47 @@ renderContent(instance, params); renderActions(instance, params); renderFooter(instance, params); - - if (typeof params.didRender === 'function') { - params.didRender(getPopup()); + const popup = getPopup(); + if (typeof params.didRender === 'function' && popup) { + params.didRender(popup); } + globalState.eventEmitter.emit('didRender', popup); + }; + + /* + * Global function to determine if SweetAlert2 popup is shown + */ + const isVisible = () => { + return isVisible$1(getPopup()); + }; + + /* + * Global function to click 'Confirm' button + */ + const clickConfirm = () => { + var _dom$getConfirmButton; + return (_dom$getConfirmButton = getConfirmButton()) === null || _dom$getConfirmButton === void 0 ? void 0 : _dom$getConfirmButton.click(); + }; + + /* + * Global function to click 'Deny' button + */ + const clickDeny = () => { + var _dom$getDenyButton; + return (_dom$getDenyButton = getDenyButton()) === null || _dom$getDenyButton === void 0 ? void 0 : _dom$getDenyButton.click(); + }; + + /* + * Global function to click 'Cancel' button + */ + const clickCancel = () => { + var _dom$getCancelButton; + return (_dom$getCancelButton = getCancelButton()) === null || _dom$getCancelButton === void 0 ? void 0 : _dom$getCancelButton.click(); }; + /** @typedef {'cancel' | 'backdrop' | 'close' | 'esc' | 'timer'} DismissReason */ + + /** @type {Record} */ const DismissReason = Object.freeze({ cancel: 'cancel', backdrop: 'backdrop', @@ -1607,476 +1790,335 @@ timer: 'timer' }); - // Adding aria-hidden="true" to elements outside of the active modal dialog ensures that - // elements not within the active modal dialog will not be surfaced if a user opens a screen - // reader’s list of elements (headings, form controls, landmarks, etc.) in the document. - - const setAriaHidden = () => { - const bodyChildren = toArray(document.body.children); - bodyChildren.forEach(el => { - if (el === getContainer() || el.contains(getContainer())) { - return; - } - - if (el.hasAttribute('aria-hidden')) { - el.setAttribute('data-previous-aria-hidden', el.getAttribute('aria-hidden')); - } - - el.setAttribute('aria-hidden', 'true'); - }); - }; - const unsetAriaHidden = () => { - const bodyChildren = toArray(document.body.children); - bodyChildren.forEach(el => { - if (el.hasAttribute('data-previous-aria-hidden')) { - el.setAttribute('aria-hidden', el.getAttribute('data-previous-aria-hidden')); - el.removeAttribute('data-previous-aria-hidden'); - } else { - el.removeAttribute('aria-hidden'); - } - }); + /** + * @param {GlobalState} globalState + */ + const removeKeydownHandler = globalState => { + if (globalState.keydownTarget && globalState.keydownHandlerAdded) { + globalState.keydownTarget.removeEventListener('keydown', globalState.keydownHandler, { + capture: globalState.keydownListenerCapture + }); + globalState.keydownHandlerAdded = false; + } }; - const swalStringParams = ['swal-title', 'swal-html', 'swal-footer']; - const getTemplateParams = params => { - const template = typeof params.template === 'string' ? document.querySelector(params.template) : params.template; - - if (!template) { - return {}; + /** + * @param {GlobalState} globalState + * @param {SweetAlertOptions} innerParams + * @param {*} dismissWith + */ + const addKeydownHandler = (globalState, innerParams, dismissWith) => { + removeKeydownHandler(globalState); + if (!innerParams.toast) { + globalState.keydownHandler = e => keydownHandler(innerParams, e, dismissWith); + globalState.keydownTarget = innerParams.keydownListenerCapture ? window : getPopup(); + globalState.keydownListenerCapture = innerParams.keydownListenerCapture; + globalState.keydownTarget.addEventListener('keydown', globalState.keydownHandler, { + capture: globalState.keydownListenerCapture + }); + globalState.keydownHandlerAdded = true; } - /** @type {DocumentFragment} */ - - - const templateContent = template.content; - showWarningsForElements(templateContent); - const result = Object.assign(getSwalParams(templateContent), getSwalButtons(templateContent), getSwalImage(templateContent), getSwalIcon(templateContent), getSwalInput(templateContent), getSwalStringParams(templateContent, swalStringParams)); - return result; }; + /** - * @param {DocumentFragment} templateContent + * @param {number} index + * @param {number} increment */ + const setFocus = (index, increment) => { + var _dom$getPopup; + const focusableElements = getFocusableElements(); + // search for visible elements and select the next possible match + if (focusableElements.length) { + index = index + increment; - const getSwalParams = templateContent => { - const result = {}; - toArray(templateContent.querySelectorAll('swal-param')).forEach(param => { - showWarningsForAttributes(param, ['name', 'value']); - const paramName = param.getAttribute('name'); - const value = param.getAttribute('value'); - - if (typeof defaultParams[paramName] === 'boolean' && value === 'false') { - result[paramName] = false; - } + // rollover to first item + if (index === focusableElements.length) { + index = 0; - if (typeof defaultParams[paramName] === 'object') { - result[paramName] = JSON.parse(value); + // go to last item + } else if (index === -1) { + index = focusableElements.length - 1; } - }); - return result; + focusableElements[index].focus(); + return; + } + // no visible focusable elements, focus the popup + (_dom$getPopup = getPopup()) === null || _dom$getPopup === void 0 || _dom$getPopup.focus(); }; + const arrowKeysNextButton = ['ArrowRight', 'ArrowDown']; + const arrowKeysPreviousButton = ['ArrowLeft', 'ArrowUp']; + /** - * @param {DocumentFragment} templateContent + * @param {SweetAlertOptions} innerParams + * @param {KeyboardEvent} event + * @param {Function} dismissWith */ + const keydownHandler = (innerParams, event, dismissWith) => { + if (!innerParams) { + return; // This instance has already been destroyed + } + // Ignore keydown during IME composition + // https://developer.mozilla.org/en-US/docs/Web/API/Document/keydown_event#ignoring_keydown_during_ime_composition + // https://github.com/sweetalert2/sweetalert2/issues/720 + // https://github.com/sweetalert2/sweetalert2/issues/2406 + if (event.isComposing || event.keyCode === 229) { + return; + } + if (innerParams.stopKeydownPropagation) { + event.stopPropagation(); + } - const getSwalButtons = templateContent => { - const result = {}; - toArray(templateContent.querySelectorAll('swal-button')).forEach(button => { - showWarningsForAttributes(button, ['type', 'color', 'aria-label']); - const type = button.getAttribute('type'); - result["".concat(type, "ButtonText")] = button.innerHTML; - result["show".concat(capitalizeFirstLetter(type), "Button")] = true; + // ENTER + if (event.key === 'Enter') { + handleEnter(event, innerParams); + } - if (button.hasAttribute('color')) { - result["".concat(type, "ButtonColor")] = button.getAttribute('color'); - } + // TAB + else if (event.key === 'Tab') { + handleTab(event); + } - if (button.hasAttribute('aria-label')) { - result["".concat(type, "ButtonAriaLabel")] = button.getAttribute('aria-label'); - } - }); - return result; + // ARROWS - switch focus between buttons + else if ([...arrowKeysNextButton, ...arrowKeysPreviousButton].includes(event.key)) { + handleArrows(event.key); + } + + // ESC + else if (event.key === 'Escape') { + handleEsc(event, innerParams, dismissWith); + } }; + /** - * @param {DocumentFragment} templateContent + * @param {KeyboardEvent} event + * @param {SweetAlertOptions} innerParams */ - - - const getSwalImage = templateContent => { - const result = {}; - /** @type {HTMLElement} */ - - const image = templateContent.querySelector('swal-image'); - - if (image) { - showWarningsForAttributes(image, ['src', 'width', 'height', 'alt']); - - if (image.hasAttribute('src')) { - result.imageUrl = image.getAttribute('src'); - } - - if (image.hasAttribute('width')) { - result.imageWidth = image.getAttribute('width'); - } - - if (image.hasAttribute('height')) { - result.imageHeight = image.getAttribute('height'); - } - - if (image.hasAttribute('alt')) { - result.imageAlt = image.getAttribute('alt'); + const handleEnter = (event, innerParams) => { + // https://github.com/sweetalert2/sweetalert2/issues/2386 + if (!callIfFunction(innerParams.allowEnterKey)) { + return; + } + const input = getInput$1(getPopup(), innerParams.input); + if (event.target && input && event.target instanceof HTMLElement && event.target.outerHTML === input.outerHTML) { + if (['textarea', 'file'].includes(innerParams.input)) { + return; // do not submit } + clickConfirm(); + event.preventDefault(); } - - return result; }; + /** - * @param {DocumentFragment} templateContent + * @param {KeyboardEvent} event */ - - - const getSwalIcon = templateContent => { - const result = {}; - /** @type {HTMLElement} */ - - const icon = templateContent.querySelector('swal-icon'); - - if (icon) { - showWarningsForAttributes(icon, ['type', 'color']); - - if (icon.hasAttribute('type')) { - result.icon = icon.getAttribute('type'); - } - - if (icon.hasAttribute('color')) { - result.iconColor = icon.getAttribute('color'); + const handleTab = event => { + const targetElement = event.target; + const focusableElements = getFocusableElements(); + let btnIndex = -1; + for (let i = 0; i < focusableElements.length; i++) { + if (targetElement === focusableElements[i]) { + btnIndex = i; + break; } + } - result.iconHtml = icon.innerHTML; + // Cycle to the next button + if (!event.shiftKey) { + setFocus(btnIndex, 1); } - return result; + // Cycle to the prev button + else { + setFocus(btnIndex, -1); + } + event.stopPropagation(); + event.preventDefault(); }; + /** - * @param {DocumentFragment} templateContent + * @param {string} key */ - - - const getSwalInput = templateContent => { - const result = {}; - /** @type {HTMLElement} */ - - const input = templateContent.querySelector('swal-input'); - - if (input) { - showWarningsForAttributes(input, ['type', 'label', 'placeholder', 'value']); - result.input = input.getAttribute('type') || 'text'; - - if (input.hasAttribute('label')) { - result.inputLabel = input.getAttribute('label'); - } - - if (input.hasAttribute('placeholder')) { - result.inputPlaceholder = input.getAttribute('placeholder'); + const handleArrows = key => { + const actions = getActions(); + const confirmButton = getConfirmButton(); + const denyButton = getDenyButton(); + const cancelButton = getCancelButton(); + if (!actions || !confirmButton || !denyButton || !cancelButton) { + return; + } + /** @type HTMLElement[] */ + const buttons = [confirmButton, denyButton, cancelButton]; + if (document.activeElement instanceof HTMLElement && !buttons.includes(document.activeElement)) { + return; + } + const sibling = arrowKeysNextButton.includes(key) ? 'nextElementSibling' : 'previousElementSibling'; + let buttonToFocus = document.activeElement; + if (!buttonToFocus) { + return; + } + for (let i = 0; i < actions.children.length; i++) { + buttonToFocus = buttonToFocus[sibling]; + if (!buttonToFocus) { + return; } - - if (input.hasAttribute('value')) { - result.inputValue = input.getAttribute('value'); + if (buttonToFocus instanceof HTMLButtonElement && isVisible$1(buttonToFocus)) { + break; } } - - const inputOptions = templateContent.querySelectorAll('swal-input-option'); - - if (inputOptions.length) { - result.inputOptions = {}; - toArray(inputOptions).forEach(option => { - showWarningsForAttributes(option, ['value']); - const optionValue = option.getAttribute('value'); - const optionName = option.innerHTML; - result.inputOptions[optionValue] = optionName; - }); + if (buttonToFocus instanceof HTMLButtonElement) { + buttonToFocus.focus(); } - - return result; }; + /** - * @param {DocumentFragment} templateContent - * @param {string[]} paramNames + * @param {KeyboardEvent} event + * @param {SweetAlertOptions} innerParams + * @param {Function} dismissWith */ - - - const getSwalStringParams = (templateContent, paramNames) => { - const result = {}; - - for (const i in paramNames) { - const paramName = paramNames[i]; - /** @type {HTMLElement} */ - - const tag = templateContent.querySelector(paramName); - - if (tag) { - showWarningsForAttributes(tag, []); - result[paramName.replace(/^swal-/, '')] = tag.innerHTML.trim(); - } + const handleEsc = (event, innerParams, dismissWith) => { + if (callIfFunction(innerParams.allowEscapeKey)) { + event.preventDefault(); + dismissWith(DismissReason.esc); } - - return result; }; + /** - * @param {DocumentFragment} templateContent + * This module contains `WeakMap`s for each effectively-"private property" that a `Swal` has. + * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')` + * This is the approach that Babel will probably take to implement private methods/fields + * https://github.com/tc39/proposal-private-methods + * https://github.com/babel/babel/pull/7555 + * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module* + * then we can use that language feature. */ + var privateMethods = { + swalPromiseResolve: new WeakMap(), + swalPromiseReject: new WeakMap() + }; - const showWarningsForElements = templateContent => { - const allowedElements = swalStringParams.concat(['swal-param', 'swal-button', 'swal-image', 'swal-icon', 'swal-input', 'swal-input-option']); - toArray(templateContent.children).forEach(el => { - const tagName = el.tagName.toLowerCase(); + // From https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/ + // Adding aria-hidden="true" to elements outside of the active modal dialog ensures that + // elements not within the active modal dialog will not be surfaced if a user opens a screen + // reader’s list of elements (headings, form controls, landmarks, etc.) in the document. - if (allowedElements.indexOf(tagName) === -1) { - warn("Unrecognized element <".concat(tagName, ">")); + const setAriaHidden = () => { + const container = getContainer(); + const bodyChildren = Array.from(document.body.children); + bodyChildren.forEach(el => { + if (el.contains(container)) { + return; } + if (el.hasAttribute('aria-hidden')) { + el.setAttribute('data-previous-aria-hidden', el.getAttribute('aria-hidden') || ''); + } + el.setAttribute('aria-hidden', 'true'); }); }; - /** - * @param {HTMLElement} el - * @param {string[]} allowedAttributes - */ - - - const showWarningsForAttributes = (el, allowedAttributes) => { - toArray(el.attributes).forEach(attribute => { - if (allowedAttributes.indexOf(attribute.name) === -1) { - warn(["Unrecognized attribute \"".concat(attribute.name, "\" on <").concat(el.tagName.toLowerCase(), ">."), "".concat(allowedAttributes.length ? "Allowed attributes are: ".concat(allowedAttributes.join(', ')) : 'To set the value, use HTML within the element.')]); + const unsetAriaHidden = () => { + const bodyChildren = Array.from(document.body.children); + bodyChildren.forEach(el => { + if (el.hasAttribute('data-previous-aria-hidden')) { + el.setAttribute('aria-hidden', el.getAttribute('data-previous-aria-hidden') || ''); + el.removeAttribute('data-previous-aria-hidden'); + } else { + el.removeAttribute('aria-hidden'); } }); }; - var defaultInputValidators = { - email: (string, validationMessage) => { - return /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(string) ? Promise.resolve() : Promise.resolve(validationMessage || 'Invalid email address'); - }, - url: (string, validationMessage) => { - // taken from https://stackoverflow.com/a/3809435 with a small change from #1306 and #2013 - return /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(string) ? Promise.resolve() : Promise.resolve(validationMessage || 'Invalid URL'); + // @ts-ignore + const isSafariOrIOS = typeof window !== 'undefined' && !!window.GestureEvent; // true for Safari desktop + all iOS browsers https://stackoverflow.com/a/70585394 + + /** + * Fix iOS scrolling + * http://stackoverflow.com/q/39626302 + */ + const iOSfix = () => { + if (isSafariOrIOS && !hasClass(document.body, swalClasses.iosfix)) { + const offset = document.body.scrollTop; + document.body.style.top = `${offset * -1}px`; + addClass(document.body, swalClasses.iosfix); + lockBodyScroll(); } }; - function setDefaultInputValidators(params) { - // Use default `inputValidator` for supported input types if not provided - if (!params.inputValidator) { - Object.keys(defaultInputValidators).forEach(key => { - if (params.input === key) { - params.inputValidator = defaultInputValidators[key]; - } - }); + /** + * https://github.com/sweetalert2/sweetalert2/issues/1246 + */ + const lockBodyScroll = () => { + const container = getContainer(); + if (!container) { + return; } - } + /** @type {boolean} */ + let preventTouchMove; + /** + * @param {TouchEvent} event + */ + container.ontouchstart = event => { + preventTouchMove = shouldPreventTouchMove(event); + }; + /** + * @param {TouchEvent} event + */ + container.ontouchmove = event => { + if (preventTouchMove) { + event.preventDefault(); + event.stopPropagation(); + } + }; + }; - function validateCustomTargetElement(params) { - // Determine if the custom target element is valid - if (!params.target || typeof params.target === 'string' && !document.querySelector(params.target) || typeof params.target !== 'string' && !params.target.appendChild) { - warn('Target parameter is not valid, defaulting to "body"'); - params.target = 'body'; - } - } /** - * Set type, text and actions on popup - * - * @param params + * @param {TouchEvent} event + * @returns {boolean} */ - - - function setParameters(params) { - setDefaultInputValidators(params); // showLoaderOnConfirm && preConfirm - - if (params.showLoaderOnConfirm && !params.preConfirm) { - warn('showLoaderOnConfirm is set to true, but preConfirm is not defined.\n' + 'showLoaderOnConfirm should be used together with preConfirm, see usage example:\n' + 'https://sweetalert2.github.io/#ajax-request'); + const shouldPreventTouchMove = event => { + const target = event.target; + const container = getContainer(); + const htmlContainer = getHtmlContainer(); + if (!container || !htmlContainer) { + return false; } - - validateCustomTargetElement(params); // Replace newlines with
    in title - - if (typeof params.title === 'string') { - params.title = params.title.split('\n').join('
    '); + if (isStylus(event) || isZoom(event)) { + return false; } + if (target === container) { + return true; + } + if (!isScrollable(container) && target instanceof HTMLElement && target.tagName !== 'INPUT' && + // #1603 + target.tagName !== 'TEXTAREA' && + // #2266 + !(isScrollable(htmlContainer) && + // #1944 + htmlContainer.contains(target))) { + return true; + } + return false; + }; - init(params); - } - - class Timer { - constructor(callback, delay) { - this.callback = callback; - this.remaining = delay; - this.running = false; - this.start(); - } - - start() { - if (!this.running) { - this.running = true; - this.started = new Date(); - this.id = setTimeout(this.callback, this.remaining); - } - - return this.remaining; - } - - stop() { - if (this.running) { - this.running = false; - clearTimeout(this.id); - this.remaining -= new Date().getTime() - this.started.getTime(); - } - - return this.remaining; - } - - increase(n) { - const running = this.running; - - if (running) { - this.stop(); - } - - this.remaining += n; - - if (running) { - this.start(); - } - - return this.remaining; - } - - getTimerLeft() { - if (this.running) { - this.stop(); - this.start(); - } - - return this.remaining; - } - - isRunning() { - return this.running; - } - - } - - const fixScrollbar = () => { - // for queues, do not do this more than once - if (states.previousBodyPadding !== null) { - return; - } // if the body has overflow - - - if (document.body.scrollHeight > window.innerHeight) { - // add padding so the content doesn't shift after removal of scrollbar - states.previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right')); - document.body.style.paddingRight = "".concat(states.previousBodyPadding + measureScrollbar(), "px"); - } - }; - const undoScrollbar = () => { - if (states.previousBodyPadding !== null) { - document.body.style.paddingRight = "".concat(states.previousBodyPadding, "px"); - states.previousBodyPadding = null; - } - }; - - /* istanbul ignore file */ - - const iOSfix = () => { - const iOS = // @ts-ignore - /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream || navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1; - - if (iOS && !hasClass(document.body, swalClasses.iosfix)) { - const offset = document.body.scrollTop; - document.body.style.top = "".concat(offset * -1, "px"); - addClass(document.body, swalClasses.iosfix); - lockBodyScroll(); - addBottomPaddingForTallPopups(); - } - }; - /** - * https://github.com/sweetalert2/sweetalert2/issues/1948 - */ - - const addBottomPaddingForTallPopups = () => { - const ua = navigator.userAgent; - const iOS = !!ua.match(/iPad/i) || !!ua.match(/iPhone/i); - const webkit = !!ua.match(/WebKit/i); - const iOSSafari = iOS && webkit && !ua.match(/CriOS/i); - - if (iOSSafari) { - const bottomPanelHeight = 44; - - if (getPopup().scrollHeight > window.innerHeight - bottomPanelHeight) { - getContainer().style.paddingBottom = "".concat(bottomPanelHeight, "px"); - } - } - }; - /** - * https://github.com/sweetalert2/sweetalert2/issues/1246 - */ - - - const lockBodyScroll = () => { - const container = getContainer(); - let preventTouchMove; - - container.ontouchstart = e => { - preventTouchMove = shouldPreventTouchMove(e); - }; - - container.ontouchmove = e => { - if (preventTouchMove) { - e.preventDefault(); - e.stopPropagation(); - } - }; - }; - - const shouldPreventTouchMove = event => { - const target = event.target; - const container = getContainer(); - - if (isStylus(event) || isZoom(event)) { - return false; - } - - if (target === container) { - return true; - } - - if (!isScrollable(container) && target.tagName !== 'INPUT' && // #1603 - target.tagName !== 'TEXTAREA' && // #2266 - !(isScrollable(getHtmlContainer()) && // #1944 - getHtmlContainer().contains(target))) { - return true; - } - - return false; - }; /** * https://github.com/sweetalert2/sweetalert2/issues/1786 * * @param {*} event * @returns {boolean} */ - - const isStylus = event => { return event.touches && event.touches.length && event.touches[0].touchType === 'stylus'; }; + /** * https://github.com/sweetalert2/sweetalert2/issues/1891 * * @param {TouchEvent} event * @returns {boolean} */ - - const isZoom = event => { return event.touches && event.touches.length > 1; }; - const undoIOSfix = () => { if (hasClass(document.body, swalClasses.iosfix)) { const offset = parseInt(document.body.style.top, 10); @@ -2086,185 +2128,357 @@ } }; - const SHOW_CLASS_TIMEOUT = 10; /** - * Open popup, add necessary classes and styles, fix scrollbar + * Measure scrollbar width for padding body during modal show/hide + * https://github.com/twbs/bootstrap/blob/master/js/src/modal.js * - * @param params + * @returns {number} */ - - const openPopup = params => { - const container = getContainer(); - const popup = getPopup(); - - if (typeof params.willOpen === 'function') { - params.willOpen(popup); - } - - const bodyStyles = window.getComputedStyle(document.body); - const initialBodyOverflow = bodyStyles.overflowY; - addClasses$1(container, popup, params); // scrolling is 'hidden' until animation is done, after that 'auto' - - setTimeout(() => { - setScrollingVisibility(container, popup); - }, SHOW_CLASS_TIMEOUT); - - if (isModal()) { - fixScrollContainer(container, params.scrollbarPadding, initialBodyOverflow); - setAriaHidden(); - } - - if (!isToast() && !globalState.previousActiveElement) { - globalState.previousActiveElement = document.activeElement; - } - - if (typeof params.didOpen === 'function') { - setTimeout(() => params.didOpen(popup)); - } - - removeClass(container, swalClasses['no-transition']); + const measureScrollbar = () => { + const scrollDiv = document.createElement('div'); + scrollDiv.className = swalClasses['scrollbar-measure']; + document.body.appendChild(scrollDiv); + const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; }; - const swalOpenAnimationFinished = event => { - const popup = getPopup(); + /** + * Remember state in cases where opening and handling a modal will fiddle with it. + * @type {number | null} + */ + let previousBodyPadding = null; - if (event.target !== popup) { + /** + * @param {string} initialBodyOverflow + */ + const replaceScrollbarWithPadding = initialBodyOverflow => { + // for queues, do not do this more than once + if (previousBodyPadding !== null) { return; } - - const container = getContainer(); - popup.removeEventListener(animationEndEvent, swalOpenAnimationFinished); - container.style.overflowY = 'auto'; - }; - - const setScrollingVisibility = (container, popup) => { - if (animationEndEvent && hasCssAnimation(popup)) { - container.style.overflowY = 'hidden'; - popup.addEventListener(animationEndEvent, swalOpenAnimationFinished); - } else { - container.style.overflowY = 'auto'; + // if the body has overflow + if (document.body.scrollHeight > window.innerHeight || initialBodyOverflow === 'scroll' // https://github.com/sweetalert2/sweetalert2/issues/2663 + ) { + // add padding so the content doesn't shift after removal of scrollbar + previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right')); + document.body.style.paddingRight = `${previousBodyPadding + measureScrollbar()}px`; } }; - - const fixScrollContainer = (container, scrollbarPadding, initialBodyOverflow) => { - iOSfix(); - - if (scrollbarPadding && initialBodyOverflow !== 'hidden') { - fixScrollbar(); - } // sweetalert2/issues/1247 - - - setTimeout(() => { - container.scrollTop = 0; - }); - }; - - const addClasses$1 = (container, popup, params) => { - addClass(container, params.showClass.backdrop); // this workaround with opacity is needed for https://github.com/sweetalert2/sweetalert2/issues/2059 - - popup.style.setProperty('opacity', '0', 'important'); - show(popup, 'grid'); - setTimeout(() => { - // Animate popup right after showing it - addClass(popup, params.showClass.popup); // and remove the opacity workaround - - popup.style.removeProperty('opacity'); - }, SHOW_CLASS_TIMEOUT); // 10ms in order to fix #2062 - - addClass([document.documentElement, document.body], swalClasses.shown); - - if (params.heightAuto && params.backdrop && !params.toast) { - addClass([document.documentElement, document.body], swalClasses['height-auto']); + const undoReplaceScrollbarWithPadding = () => { + if (previousBodyPadding !== null) { + document.body.style.paddingRight = `${previousBodyPadding}px`; + previousBodyPadding = null; } }; /** - * Shows loader (spinner), this is useful with AJAX requests. - * By default the loader be shown instead of the "Confirm" button. + * @param {SweetAlert} instance + * @param {HTMLElement} container + * @param {boolean} returnFocus + * @param {Function} didClose */ - - const showLoading = buttonToReplace => { - let popup = getPopup(); - - if (!popup) { - new Swal(); // eslint-disable-line no-new - } - - popup = getPopup(); - const loader = getLoader(); - + function removePopupAndResetState(instance, container, returnFocus, didClose) { if (isToast()) { - hide(getIcon()); + triggerDidCloseAndDispose(instance, didClose); } else { - replaceButton(popup, buttonToReplace); + restoreActiveElement(returnFocus).then(() => triggerDidCloseAndDispose(instance, didClose)); + removeKeydownHandler(globalState); } - show(loader); - popup.setAttribute('data-loading', true); - popup.setAttribute('aria-busy', true); - popup.focus(); - }; - - const replaceButton = (popup, buttonToReplace) => { - const actions = getActions(); - const loader = getLoader(); - - if (!buttonToReplace && isVisible(getConfirmButton())) { - buttonToReplace = getConfirmButton(); + // workaround for https://github.com/sweetalert2/sweetalert2/issues/2088 + // for some reason removing the container in Safari will scroll the document to bottom + if (isSafariOrIOS) { + container.setAttribute('style', 'display:none !important'); + container.removeAttribute('class'); + container.innerHTML = ''; + } else { + container.remove(); } - - show(actions); - - if (buttonToReplace) { - hide(buttonToReplace); - loader.setAttribute('data-button-to-replace', buttonToReplace.className); + if (isModal()) { + undoReplaceScrollbarWithPadding(); + undoIOSfix(); + unsetAriaHidden(); } + removeBodyClasses(); + } - loader.parentNode.insertBefore(loader, buttonToReplace); - addClass([popup, actions], swalClasses.loading); - }; + /** + * Remove SweetAlert2 classes from body + */ + function removeBodyClasses() { + removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['height-auto'], swalClasses['no-backdrop'], swalClasses['toast-shown']]); + } - const handleInputOptionsAndValue = (instance, params) => { + /** + * Instance method to close sweetAlert + * + * @param {any} resolveValue + */ + function close(resolveValue) { + resolveValue = prepareResolveValue(resolveValue); + const swalPromiseResolve = privateMethods.swalPromiseResolve.get(this); + const didClose = triggerClosePopup(this); + if (this.isAwaitingPromise) { + // A swal awaiting for a promise (after a click on Confirm or Deny) cannot be dismissed anymore #2335 + if (!resolveValue.isDismissed) { + handleAwaitingPromise(this); + swalPromiseResolve(resolveValue); + } + } else if (didClose) { + // Resolve Swal promise + swalPromiseResolve(resolveValue); + } + } + const triggerClosePopup = instance => { + const popup = getPopup(); + if (!popup) { + return false; + } + const innerParams = privateProps.innerParams.get(instance); + if (!innerParams || hasClass(popup, innerParams.hideClass.popup)) { + return false; + } + removeClass(popup, innerParams.showClass.popup); + addClass(popup, innerParams.hideClass.popup); + const backdrop = getContainer(); + removeClass(backdrop, innerParams.showClass.backdrop); + addClass(backdrop, innerParams.hideClass.backdrop); + handlePopupAnimation(instance, popup, innerParams); + return true; + }; + + /** + * @param {any} error + */ + function rejectPromise(error) { + const rejectPromise = privateMethods.swalPromiseReject.get(this); + handleAwaitingPromise(this); + if (rejectPromise) { + // Reject Swal promise + rejectPromise(error); + } + } + + /** + * @param {SweetAlert} instance + */ + const handleAwaitingPromise = instance => { + if (instance.isAwaitingPromise) { + delete instance.isAwaitingPromise; + // The instance might have been previously partly destroyed, we must resume the destroy process in this case #2335 + if (!privateProps.innerParams.get(instance)) { + instance._destroy(); + } + } + }; + + /** + * @param {any} resolveValue + * @returns {SweetAlertResult} + */ + const prepareResolveValue = resolveValue => { + // When user calls Swal.close() + if (typeof resolveValue === 'undefined') { + return { + isConfirmed: false, + isDenied: false, + isDismissed: true + }; + } + return Object.assign({ + isConfirmed: false, + isDenied: false, + isDismissed: false + }, resolveValue); + }; + + /** + * @param {SweetAlert} instance + * @param {HTMLElement} popup + * @param {SweetAlertOptions} innerParams + */ + const handlePopupAnimation = (instance, popup, innerParams) => { + var _globalState$eventEmi; + const container = getContainer(); + // If animation is supported, animate + const animationIsSupported = hasCssAnimation(popup); + if (typeof innerParams.willClose === 'function') { + innerParams.willClose(popup); + } + (_globalState$eventEmi = globalState.eventEmitter) === null || _globalState$eventEmi === void 0 || _globalState$eventEmi.emit('willClose', popup); + if (animationIsSupported) { + animatePopup(instance, popup, container, innerParams.returnFocus, innerParams.didClose); + } else { + // Otherwise, remove immediately + removePopupAndResetState(instance, container, innerParams.returnFocus, innerParams.didClose); + } + }; + + /** + * @param {SweetAlert} instance + * @param {HTMLElement} popup + * @param {HTMLElement} container + * @param {boolean} returnFocus + * @param {Function} didClose + */ + const animatePopup = (instance, popup, container, returnFocus, didClose) => { + globalState.swalCloseEventFinishedCallback = removePopupAndResetState.bind(null, instance, container, returnFocus, didClose); + /** + * @param {AnimationEvent | TransitionEvent} e + */ + const swalCloseAnimationFinished = function (e) { + if (e.target === popup) { + var _globalState$swalClos; + (_globalState$swalClos = globalState.swalCloseEventFinishedCallback) === null || _globalState$swalClos === void 0 || _globalState$swalClos.call(globalState); + delete globalState.swalCloseEventFinishedCallback; + popup.removeEventListener('animationend', swalCloseAnimationFinished); + popup.removeEventListener('transitionend', swalCloseAnimationFinished); + } + }; + popup.addEventListener('animationend', swalCloseAnimationFinished); + popup.addEventListener('transitionend', swalCloseAnimationFinished); + }; + + /** + * @param {SweetAlert} instance + * @param {Function} didClose + */ + const triggerDidCloseAndDispose = (instance, didClose) => { + setTimeout(() => { + var _globalState$eventEmi2; + if (typeof didClose === 'function') { + didClose.bind(instance.params)(); + } + (_globalState$eventEmi2 = globalState.eventEmitter) === null || _globalState$eventEmi2 === void 0 || _globalState$eventEmi2.emit('didClose'); + // instance might have been destroyed already + if (instance._destroy) { + instance._destroy(); + } + }); + }; + + /** + * Shows loader (spinner), this is useful with AJAX requests. + * By default the loader be shown instead of the "Confirm" button. + * + * @param {HTMLButtonElement | null} [buttonToReplace] + */ + const showLoading = buttonToReplace => { + let popup = getPopup(); + if (!popup) { + new Swal(); + } + popup = getPopup(); + if (!popup) { + return; + } + const loader = getLoader(); + if (isToast()) { + hide(getIcon()); + } else { + replaceButton(popup, buttonToReplace); + } + show(loader); + popup.setAttribute('data-loading', 'true'); + popup.setAttribute('aria-busy', 'true'); + popup.focus(); + }; + + /** + * @param {HTMLElement} popup + * @param {HTMLButtonElement | null} [buttonToReplace] + */ + const replaceButton = (popup, buttonToReplace) => { + const actions = getActions(); + const loader = getLoader(); + if (!actions || !loader) { + return; + } + if (!buttonToReplace && isVisible$1(getConfirmButton())) { + buttonToReplace = getConfirmButton(); + } + show(actions); + if (buttonToReplace) { + hide(buttonToReplace); + loader.setAttribute('data-button-to-replace', buttonToReplace.className); + actions.insertBefore(loader, buttonToReplace); + } + addClass([popup, actions], swalClasses.loading); + }; + + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params + */ + const handleInputOptionsAndValue = (instance, params) => { if (params.input === 'select' || params.input === 'radio') { handleInputOptions(instance, params); - } else if (['text', 'email', 'number', 'tel', 'textarea'].includes(params.input) && (hasToPromiseFn(params.inputValue) || isPromise(params.inputValue))) { + } else if (['text', 'email', 'number', 'tel', 'textarea'].some(i => i === params.input) && (hasToPromiseFn(params.inputValue) || isPromise(params.inputValue))) { showLoading(getConfirmButton()); handleInputValue(instance, params); } }; + + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} innerParams + * @returns {SweetAlertInputValue} + */ const getInputValue = (instance, innerParams) => { const input = instance.getInput(); - if (!input) { return null; } - switch (innerParams.input) { case 'checkbox': return getCheckboxValue(input); - case 'radio': return getRadioValue(input); - case 'file': return getFileValue(input); - default: return innerParams.inputAutoTrim ? input.value.trim() : input.value; } }; + /** + * @param {HTMLInputElement} input + * @returns {number} + */ const getCheckboxValue = input => input.checked ? 1 : 0; + /** + * @param {HTMLInputElement} input + * @returns {string | null} + */ const getRadioValue = input => input.checked ? input.value : null; - const getFileValue = input => input.files.length ? input.getAttribute('multiple') !== null ? input.files : input.files[0] : null; + /** + * @param {HTMLInputElement} input + * @returns {FileList | File | null} + */ + const getFileValue = input => input.files && input.files.length ? input.getAttribute('multiple') !== null ? input.files : input.files[0] : null; + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params + */ const handleInputOptions = (instance, params) => { const popup = getPopup(); - - const processInputOptions = inputOptions => populateInputOptions[params.input](popup, formatInputOptions(inputOptions), params); - + if (!popup) { + return; + } + /** + * @param {Record} inputOptions + */ + const processInputOptions = inputOptions => { + if (params.input === 'select') { + populateSelectOptions(popup, formatInputOptions(inputOptions), params); + } else if (params.input === 'radio') { + populateRadioOptions(popup, formatInputOptions(inputOptions), params); + } + }; if (hasToPromiseFn(params.inputOptions) || isPromise(params.inputOptions)) { showLoading(getConfirmButton()); asPromise(params.inputOptions).then(inputOptions => { @@ -2274,20 +2488,27 @@ } else if (typeof params.inputOptions === 'object') { processInputOptions(params.inputOptions); } else { - error("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(typeof params.inputOptions)); + error(`Unexpected type of inputOptions! Expected object, Map or Promise, got ${typeof params.inputOptions}`); } }; + /** + * @param {SweetAlert} instance + * @param {SweetAlertOptions} params + */ const handleInputValue = (instance, params) => { const input = instance.getInput(); + if (!input) { + return; + } hide(input); asPromise(params.inputValue).then(inputValue => { - input.value = params.input === 'number' ? parseFloat(inputValue) || 0 : "".concat(inputValue); + input.value = params.input === 'number' ? `${parseFloat(inputValue) || 0}` : `${inputValue}`; show(input); input.focus(); instance.hideLoading(); }).catch(err => { - error("Error in inputValue promise: ".concat(err)); + error(`Error in inputValue promise: ${err}`); input.value = ''; show(input); input.focus(); @@ -2295,123 +2516,295 @@ }); }; - const populateInputOptions = { - select: (popup, inputOptions, params) => { - const select = getDirectChildByClass(popup, swalClasses.select); - - const renderOption = (parent, optionLabel, optionValue) => { - const option = document.createElement('option'); - option.value = optionValue; - setInnerHtml(option, optionLabel); - option.selected = isSelected(optionValue, params.inputValue); - parent.appendChild(option); - }; - - inputOptions.forEach(inputOption => { - const optionValue = inputOption[0]; - const optionLabel = inputOption[1]; // spec: - // https://www.w3.org/TR/html401/interact/forms.html#h-17.6 - // "...all OPTGROUP elements must be specified directly within a SELECT element (i.e., groups may not be nested)..." - // check whether this is a - - if (Array.isArray(optionLabel)) { - // if it is an array, then it is an - const optgroup = document.createElement('optgroup'); - optgroup.label = optionValue; - optgroup.disabled = false; // not configurable for now - - select.appendChild(optgroup); - optionLabel.forEach(o => renderOption(optgroup, o[1], o[0])); - } else { - // case of spec: + // https://www.w3.org/TR/html401/interact/forms.html#h-17.6 + // "...all OPTGROUP elements must be specified directly within a SELECT element (i.e., groups may not be nested)..." + // check whether this is a + if (Array.isArray(optionLabel)) { + // if it is an array, then it is an + const optgroup = document.createElement('optgroup'); + optgroup.label = optionValue; + optgroup.disabled = false; // not configurable for now + select.appendChild(optgroup); + optionLabel.forEach(o => renderOption(optgroup, o[1], o[0])); + } else { + // case of